2023-11-18 22:37:26 +01:00

436 lines
6.3 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- Created with https://studio.penguinmod.com/PenguinMod-Packager/ -->
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<!-- We only include this to explicitly loosen the CSP of various packager environments. It does not provide any security. -->
<meta http-equiv="Content-Security-Policy" content="default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: blob:">
<title>Terminal</title>
<style>
body {
color: #000000;
font-family: sans-serif;
overflow: hidden;
margin: 0;
padding: 0;
}
:root, body.is-fullscreen {
background-color: #000000;
}
[hidden] {
display: none !important;
}
h1 {
font-weight: normal;
}
a {
color: inherit;
text-decoration: underline;
cursor: pointer;
}
#app, #loading, #error, #launch {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.screen {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
cursor: default;
user-select: none;
-webkit-user-select: none;
background-color: #000000;
}
#launch {
background-color: rgba(0, 0, 0, 0.7);
cursor: pointer;
}
.green-flag {
width: 80px;
height: 80px;
padding: 16px;
border-radius: 100%;
background: rgba(255, 255, 255, 0.75);
border: 3px solid hsla(0, 100%, 100%, 1);
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
}
#loading {
}
.progress-bar-outer {
border: 1px solid currentColor;
height: 10px;
width: 200px;
max-width: 200px;
}
.progress-bar-inner {
height: 100%;
width: 0;
background-color: currentColor;
}
.loading-text, noscript {
font-weight: normal;
font-size: 36px;
margin: 0 0 16px;
}
.loading-image {
margin: 0 0 16px;
}
#error-message, #error-stack {
font-family: monospace;
max-width: 600px;
white-space: pre-wrap;
user-select: text;
-webkit-user-select: text;
}
#error-stack {
text-align: left;
max-height: 200px;
overflow: auto;
}
.control-button {
width: 2rem;
height: 2rem;
padding: 0.375rem;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
user-select: none;
-webkit-user-select: none;
cursor: pointer;
border: 0;
border-radius: 4px;
}
.control-button:hover {
background: #00000026;
}
.control-button.active {
background: #00000059;
}
.fullscreen-button {
background: white !important;
}
.standalone-fullscreen-button {
position: absolute;
top: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.5);
border-radius: 0 0 0 4px;
padding: 4px;
cursor: pointer;
}
.sc-canvas {
cursor: auto;
}
.sc-monitor-root[data-opcode^="data_"] .sc-monitor-value-color {
background-color: #ff8c1a;
}
.sc-monitor-row-value-outer {
background-color: #fc662c;
}
.sc-monitor-row-value-editing .sc-monitor-row-value-outer {
background-color: #e25b27;
}
</style>
<meta name="theme-color" content="#000000">
</head>
<body>
<div id="app"></div>
<div id="launch" class="screen" hidden title="Click to start">
<div class="green-flag">
<svg viewBox="0 0 16.63 17.5" width="42" height="44">
<defs><style>.cls-1,.cls-2{fill:#007AF4;stroke:#003080;stroke-linecap:round;stroke-linejoin:round;}.cls-2{stroke-width:1.5px;}</style></defs>
<path class="cls-1" d="M.75,2A6.44,6.44,0,0,1,8.44,2h0a6.44,6.44,0,0,0,7.69,0V12.4a6.44,6.44,0,0,1-7.69,0h0a6.44,6.44,0,0,0-7.69,0"/>
<line class="cls-2" x1="0.75" y1="16.75" x2="0.75" y2="0.75"/>
</svg>
</div>
</div>
<div id="loading" class="screen">
<noscript>Enable JavaScript</noscript>
<h1 class="loading-text">LOADING</h1>
</div>
<div id="error" class="screen" hidden>
<h1>Error</h1>
<details>
<summary id="error-message"></summary>
<p id="error-stack"></p>
</details>
</div>
<script>/*!
Parts of this script are from the PenguinMod Packager <https://studio.penguinmod.com/PenguinMod-Packager/>, licensed as follows:
Copyright (C) 2021-2022 Thomas Weber
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Parts of this script are from Scratch <https://scratch.mit.edu/>, licensed as follows:
Copyright (c) 2016, Massachusetts Institute of Technology
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
!function(A){function e(e){for(var t,i,r=e[0],s=e[1],o=0,B=[];o<r.length;o++)i=r[o],Object.prototype.hasOwnProperty.call(n,i)&&n[i]&&B.push(n[i][0]),n[i]=0;for(t in s)Object.prototype.hasOwnProperty.call(s,t)&&(A[t]=s[t]);for(a&&a(e);B.length;)B.shift()()}var t={},n={0:0};function i(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return A[e].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(A){var e=[],t=n[A];if(0!==t)if(t)e.push(t[2]);else{var r=new Promise((function(e,i){t=n[A]=[e,i]}));e.push(t[2]=r);var s,o=document.createElement("script");o.charset="utf-8",o.timeout=120,i.nc&&o.setAttribute("nonce",i.nc),o.src=function(A){return i.p+"scaffolding/"+({1:"vendors~iframe-extension-worker"}[A]||A)+".js"}(A);var a=new Error;s=function(e){o.onerror=o.onload=null,clearTimeout(B);var t=n[A];if(0!==t){if(t){var i=e&&("load"===e.type?"missing":e.type),r=e&&e.target&&e.target.src;a.message="Loading chunk "+A+" failed.\n("+i+": "+r+")",a.name="ChunkLoadError",a.type=i,a.request=r,t[1](a)}n[A]=void 0}};var B=setTimeout((function(){s({type:"timeout",target:o})}),12e4);o.onerror=o.onload=s,document.head.appendChild(o)}return Promise.all(e)},i.m=A,i.c=t,i.d=function(A,e,t){i.o(A,e)||Object.defineProperty(A,e,{enumerable:!0,get:t})},i.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},i.t=function(A,e){if(1&e&&(A=i(A)),8&e)return A;if(4&e&&"object"==typeof A&&A&&A.__esModule)return A;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:A}),2&e&&"string"!=typeof A)for(var n in A)i.d(t,n,function(e){return A[e]}.bind(null,n));return t},i.n=function(A){var e=A&&A.__esModule?function(){return A.default}:function(){return A};return i.d(e,"a",e),e},i.o=function(A,e){return Object.prototype.hasOwnProperty.call(A,e)},i.p="",i.oe=function(A){throw console.error(A),A};var r=window.webpackJsonp=window.webpackJsonp||[],s=r.push.bind(r);r.push=e,r=r.slice();for(var o=0;o<r.length;o++)e(r[o]);var a=s;i(i.s=610)}([function(A,e,t){"use strict";t.r(e),t.d(e,"ACESFilmicToneMapping",(function(){return eA})),t.d(e,"AddEquation",(function(){return F})),t.d(e,"AddOperation",(function(){return Z})),t.d(e,"AdditiveAnimationBlendMode",(function(){return ye})),t.d(e,"AdditiveBlending",(function(){return I})),t.d(e,"AlphaFormat",(function(){return RA})),t.d(e,"AlwaysCompare",(function(){return Et})),t.d(e,"AlwaysDepth",(function(){return z})),t.d(e,"AlwaysStencilFunc",(function(){return rt})),t.d(e,"AmbientLight",(function(){return YQ})),t.d(e,"AmbientLightProbe",(function(){return LQ})),t.d(e,"AnimationAction",(function(){return uE})),t.d(e,"AnimationClip",(function(){return Zg})),t.d(e,"AnimationLoader",(function(){return rQ})),t.d(e,"AnimationMixer",(function(){return hE})),t.d(e,"AnimationObjectGroup",(function(){return lE})),t.d(e,"AnimationUtils",(function(){return bg})),t.d(e,"ArcCurve",(function(){return Ac})),t.d(e,"ArrayCamera",(function(){return ma})),t.d(e,"ArrowHelper",(function(){return ol})),t.d(e,"Audio",(function(){return eE})),t.d(e,"AudioAnalyser",(function(){return oE})),t.d(e,"AudioContext",(function(){return jQ})),t.d(e,"AudioListener",(function(){return AE})),t.d(e,"AudioLoader",(function(){return zQ})),t.d(e,"AxesHelper",(function(){return al})),t.d(e,"BackSide",(function(){return u})),t.d(e,"BasicDepthPacking",(function(){return He})),t.d(e,"BasicShadowMap",(function(){return c})),t.d(e,"Bone",(function(){return uB})),t.d(e,"BooleanKeyframeTrack",(function(){return Lg})),t.d(e,"Box2",(function(){return UE})),t.d(e,"Box3",(function(){return Fn})),t.d(e,"Box3Helper",(function(){return tl})),t.d(e,"BoxBufferGeometry",(function(){return cl})),t.d(e,"BoxGeometry",(function(){return Sr})),t.d(e,"BoxHelper",(function(){return el})),t.d(e,"BufferAttribute",(function(){return _i})),t.d(e,"BufferGeometry",(function(){return ur})),t.d(e,"BufferGeometryLoader",(function(){return RQ})),t.d(e,"ByteType",(function(){return mA})),t.d(e,"Cache",(function(){return qg})),t.d(e,"Camera",(function(){return zr})),t.d(e,"CameraHelper",(function(){return qE})),t.d(e,"CanvasTexture",(function(){return _B})),t.d(e,"CapsuleBufferGeometry",(function(){return gl})),t.d(e,"CapsuleGeometry",(function(){return Mc})),t.d(e,"CatmullRomCurve3",(function(){return sc})),t.d(e,"CineonToneMapping",(function(){return AA})),t.d(e,"CircleBufferGeometry",(function(){return Ql})),t.d(e,"CircleGeometry",(function(){return pc})),t.d(e,"ClampToEdgeWrapping",(function(){return cA})),t.d(e,"Clock",(function(){return KQ})),t.d(e,"Color",(function(){return zi})),t.d(e,"ColorKeyframeTrack",(function(){return Pg})),t.d(e,"ColorManagement",(function(){return rn})),t.d(e,"CompressedArrayTexture",(function(){return ZB})),t.d(e,"CompressedTexture",(function(){return XB})),t.d(e,"CompressedTextureLoader",(function(){return sQ})),t.d(e,"ConeBufferGeometry",(function(){return El})),t.d(e,"ConeGeometry",(function(){return Fc})),t.d(e,"CubeCamera",(function(){return Lr})),t.d(e,"CubeReflectionMapping",(function(){return iA})),t.d(e,"CubeRefractionMapping",(function(){return rA})),t.d(e,"CubeTexture",(function(){return Pr})),t.d(e,"CubeTextureLoader",(function(){return aQ})),t.d(e,"CubeUVReflectionMapping",(function(){return aA})),t.d(e,"CubicBezierCurve",(function(){return cc})),t.d(e,"CubicBezierCurve3",(function(){return gc})),t.d(e,"CubicInterpolant",(function(){return Jg})),t.d(e,"CullFaceBack",(function(){return o})),t.d(e,"CullFaceFront",(function(){return a})),t.d(e,"CullFaceFrontBack",(function(){return B})),t.d(e,"CullFaceNone",(function(){return s})),t.d(e,"Curve",(function(){return qB})),t.d(e,"CurvePath",(function(){return Cc})),t.d(e,"CustomBlending",(function(){return m})),t.d(e,"CustomToneMapping",(function(){return tA})),t.d(e,"CylinderBufferGeometry",(function(){return ll})),t.d(e,"CylinderGeometry",(function(){return mc})),t.d(e,"Cylindrical",(function(){return fE})),t.d(e,"Data3DTexture",(function(){return hn})),t.d(e,"DataArrayTexture",(function(){return un})),t.d(e,"DataTexture",(function(){return wB})),t.d(e,"DataTextureLoader",(function(){return BQ})),t.d(e,"DataUtils",(function(){return Ki})),t.d(e,"DecrementStencilOp",(function(){return Ke})),t.d(e,"DecrementWrapStencilOp",(function(){return Ze})),t.d(e,"DefaultLoadingManager",(function(){return AQ})),t.d(e,"DepthFormat",(function(){return bA})),t.d(e,"DepthStencilFormat",(function(){return kA})),t.d(e,"DepthTexture",(function(){return fa})),t.d(e,"DirectionalLight",(function(){return DQ})),t.d(e,"DirectionalLightHelper",(function(){return XE})),t.d(e,"DiscreteInterpolant",(function(){return zg})),t.d(e,"DisplayP3ColorSpace",(function(){return Le})),t.d(e,"DodecahedronBufferGeometry",(function(){return ul})),t.d(e,"DodecahedronGeometry",(function(){return Yc})),t.d(e,"DoubleSide",(function(){return w})),t.d(e,"DstAlphaFactor",(function(){return S})),t.d(e,"DstColorFactor",(function(){return b})),t.d(e,"DynamicCopyUsage",(function(){return Mt})),t.d(e,"DynamicDrawUsage",(function(){return ut})),t.d(e,"DynamicReadUsage",(function(){return Ct})),t.d(e,"EdgesGeometry",(function(){return xc})),t.d(e,"EllipseCurve",(function(){return $B})),t.d(e,"EqualCompare",(function(){return at})),t.d(e,"EqualDepth",(function(){return P})),t.d(e,"EqualStencilFunc",(function(){return At})),t.d(e,"EquirectangularReflectionMapping",(function(){return sA})),t.d(e,"EquirectangularRefractionMapping",(function(){return oA})),t.d(e,"Euler",(function(){return oi})),t.d(e,"EventDispatcher",(function(){return Nt})),t.d(e,"ExtrudeBufferGeometry",(function(){return wl})),t.d(e,"ExtrudeGeometry",(function(){return og})),t.d(e,"FileLoader",(function(){return iQ})),t.d(e,"Float16BufferAttribute",(function(){return rr})),t.d(e,"Float32BufferAttribute",(function(){return sr})),t.d(e,"Float64BufferAttribute",(function(){return or})),t.d(e,"FloatType",(function(){return NA})),t.d(e,"Fog",(function(){return Sa})),t.d(e,"FogExp2",(function(){return Ga})),t.d(e,"FramebufferTexture",(function(){return KB})),t.d(e,"FrontSide",(function(){return l})),t.d(e,"Frustum",(function(){return qr})),t.d(e,"GLBufferAttribute",(function(){return pE})),t.d(e,"GLSL1",(function(){return mt})),t.d(e,"GLSL3",(function(){return Ft})),t.d(e,"GreaterCompare",(function(){return ct})),t.d(e,"GreaterDepth",(function(){return W})),t.d(e,"GreaterEqualCompare",(function(){return Qt})),t.d(e,"GreaterEqualDepth",(function(){return O})),t.d(e,"GreaterEqualStencilFunc",(function(){return it})),t.d(e,"GreaterStencilFunc",(function(){return tt})),t.d(e,"GridHelper",(function(){return PE})),t.d(e,"Group",(function(){return Fa})),t.d(e,"HalfFloatType",(function(){return UA})),t.d(e,"HemisphereLight",(function(){return QQ})),t.d(e,"HemisphereLightHelper",(function(){return LE})),t.d(e,"HemisphereLightProbe",(function(){return vQ})),t.d(e,"IcosahedronBufferGeometry",(function(){return hl})),t.d(e,"IcosahedronGeometry",(function(){return Bg})),t.d(e,"ImageBitmapLoader",(function(){return kQ})),t.d(e,"ImageLoader",(function(){return oQ})),t.d(e,"ImageUtils",(function(){return on})),t.d(e,"IncrementStencilOp",(function(){return Ve})),t.d(e,"IncrementWrapStencilOp",(function(){return Xe})),t.d(e,"InstancedBufferAttribute",(function(){return IB})),t.d(e,"InstancedBufferGeometry",(function(){return TQ})),t.d(e,"InstancedInterleavedBuffer",(function(){return ME})),t.d(e,"InstancedMesh",(function(){return NB})),t.d(e,"Int16BufferAttribute",(function(){return er})),t.d(e,"Int32BufferAttribute",(function(){return nr})),t.d(e,"Int8BufferAttribute",(function(){return qi})),t.d(e,"IntType",(function(){return YA})),t.d(e,"InterleavedBuffer",(function(){return ba})),t.d(e,"InterleavedBufferAttribute",(function(){return Ja})),t.d(e,"Interpolant",(function(){return kg})),t.d(e,"InterpolateDiscrete",(function(){return me})),t.d(e,"InterpolateLinear",(function(){return Fe})),t.d(e,"InterpolateSmooth",(function(){return De})),t.d(e,"InvertStencilOp",(function(){return _e})),t.d(e,"KeepStencilOp",(function(){return Oe})),t.d(e,"KeyframeTrack",(function(){return vg})),t.d(e,"LOD",(function(){return iB})),t.d(e,"LatheBufferGeometry",(function(){return Cl})),t.d(e,"LatheGeometry",(function(){return Ic})),t.d(e,"Layers",(function(){return ai})),t.d(e,"LessCompare",(function(){return ot})),t.d(e,"LessDepth",(function(){return v})),t.d(e,"LessEqualCompare",(function(){return Bt})),t.d(e,"LessEqualDepth",(function(){return L})),t.d(e,"LessEqualStencilFunc",(function(){return et})),t.d(e,"LessStencilFunc",(function(){return $e})),t.d(e,"Light",(function(){return gQ})),t.d(e,"LightProbe",(function(){return UQ})),t.d(e,"Line",(function(){return SB})),t.d(e,"Line3",(function(){return TE})),t.d(e,"LineBasicMaterial",(function(){return UB})),t.d(e,"LineCurve",(function(){return Qc})),t.d(e,"LineCurve3",(function(){return Ec})),t.d(e,"LineDashedMaterial",(function(){return yg})),t.d(e,"LineLoop",(function(){return JB})),t.d(e,"LineSegments",(function(){return kB})),t.d(e,"LinearEncoding",(function(){return Ge})),t.d(e,"LinearFilter",(function(){return hA})),t.d(e,"LinearInterpolant",(function(){return jg})),t.d(e,"LinearMipMapLinearFilter",(function(){return MA})),t.d(e,"LinearMipMapNearestFilter",(function(){return dA})),t.d(e,"LinearMipmapLinearFilter",(function(){return IA})),t.d(e,"LinearMipmapNearestFilter",(function(){return CA})),t.d(e,"LinearSRGBColorSpace",(function(){return ve})),t.d(e,"LinearToneMapping",(function(){return q})),t.d(e,"Loader",(function(){return eQ})),t.d(e,"LoaderUtils",(function(){return xQ})),t.d(e,"LoadingManager",(function(){return $g})),t.d(e,"LoopOnce",(function(){return Ie})),t.d(e,"LoopPingPong",(function(){return pe})),t.d(e,"LoopRepeat",(function(){return Me})),t.d(e,"LuminanceAlphaFormat",(function(){return HA})),t.d(e,"LuminanceFormat",(function(){return SA})),t.d(e,"MOUSE",(function(){return i})),t.d(e,"Material",(function(){return Hi})),t.d(e,"MaterialLoader",(function(){return yQ})),t.d(e,"MathUtils",(function(){return vt})),t.d(e,"Matrix3",(function(){return Pt})),t.d(e,"Matrix4",(function(){return _n})),t.d(e,"MaxEquation",(function(){return N})),t.d(e,"Mesh",(function(){return Rr})),t.d(e,"MeshBasicMaterial",(function(){return Li})),t.d(e,"MeshDepthMaterial",(function(){return ha})),t.d(e,"MeshDistanceMaterial",(function(){return Ca})),t.d(e,"MeshLambertMaterial",(function(){return Ng})),t.d(e,"MeshMatcapMaterial",(function(){return Ug})),t.d(e,"MeshNormalMaterial",(function(){return fg})),t.d(e,"MeshPhongMaterial",(function(){return Dg})),t.d(e,"MeshPhysicalMaterial",(function(){return Fg})),t.d(e,"MeshStandardMaterial",(function(){return mg})),t.d(e,"MeshToonMaterial",(function(){return Yg})),t.d(e,"MinEquation",(function(){return f})),t.d(e,"MirroredRepeatWrapping",(function(){return gA})),t.d(e,"MixOperation",(function(){return X})),t.d(e,"MultiplyBlending",(function(){return p})),t.d(e,"MultiplyOperation",(function(){return K})),t.d(e,"NearestFilter",(function(){return QA})),t.d(e,"NearestMipMapLinearFilter",(function(){return wA})),t.d(e,"NearestMipMapNearestFilter",(function(){return lA})),t.d(e,"NearestMipmapLinearFilter",(function(){return uA})),t.d(e,"NearestMipmapNearestFilter",(function(){return EA})),t.d(e,"NeverCompare",(function(){return st})),t.d(e,"NeverDepth",(function(){return j})),t.d(e,"NeverStencilFunc",(function(){return qe})),t.d(e,"NoBlending",(function(){return C})),t.d(e,"NoColorSpace",(function(){return je})),t.d(e,"NoToneMapping",(function(){return _})),t.d(e,"NormalAnimationBlendMode",(function(){return Ue})),t.d(e,"NormalBlending",(function(){return d})),t.d(e,"NotEqualCompare",(function(){return gt})),t.d(e,"NotEqualDepth",(function(){return V})),t.d(e,"NotEqualStencilFunc",(function(){return nt})),t.d(e,"NumberKeyframeTrack",(function(){return Og})),t.d(e,"Object3D",(function(){return pi})),t.d(e,"ObjectLoader",(function(){return GQ})),t.d(e,"ObjectSpaceNormalMap",(function(){return Je})),t.d(e,"OctahedronBufferGeometry",(function(){return dl})),t.d(e,"OctahedronGeometry",(function(){return cg})),t.d(e,"OneFactor",(function(){return y})),t.d(e,"OneMinusDstAlphaFactor",(function(){return H})),t.d(e,"OneMinusDstColorFactor",(function(){return k})),t.d(e,"OneMinusSrcAlphaFactor",(function(){return G})),t.d(e,"OneMinusSrcColorFactor",(function(){return T})),t.d(e,"OrthographicCamera",(function(){return Qs})),t.d(e,"PCFShadowMap",(function(){return g})),t.d(e,"PCFSoftShadowMap",(function(){return Q})),t.d(e,"PMREMGenerator",(function(){return Is})),t.d(e,"Path",(function(){return dc})),t.d(e,"PerspectiveCamera",(function(){return vr})),t.d(e,"Plane",(function(){return Xr})),t.d(e,"PlaneBufferGeometry",(function(){return Il})),t.d(e,"PlaneGeometry",(function(){return es})),t.d(e,"PlaneHelper",(function(){return nl})),t.d(e,"PointLight",(function(){return mQ})),t.d(e,"PointLightHelper",(function(){return JE})),t.d(e,"Points",(function(){return OB})),t.d(e,"PointsMaterial",(function(){return jB})),t.d(e,"PolarGridHelper",(function(){return OE})),t.d(e,"PolyhedronBufferGeometry",(function(){return Ml})),t.d(e,"PolyhedronGeometry",(function(){return Dc})),t.d(e,"PositionalAudio",(function(){return sE})),t.d(e,"PropertyBinding",(function(){return EE})),t.d(e,"PropertyMixer",(function(){return aE})),t.d(e,"QuadraticBezierCurve",(function(){return lc})),t.d(e,"QuadraticBezierCurve3",(function(){return uc})),t.d(e,"Quaternion",(function(){return In})),t.d(e,"QuaternionKeyframeTrack",(function(){return Vg})),t.d(e,"QuaternionLinearInterpolant",(function(){return Wg})),t.d(e,"RED_GREEN_RGTC2_Format",(function(){return Ce})),t.d(e,"RED_RGTC1_Format",(function(){return we})),t.d(e,"REVISION",(function(){return n})),t.d(e,"RGBADepthPacking",(function(){return be})),t.d(e,"RGBAFormat",(function(){return GA})),t.d(e,"RGBAIntegerFormat",(function(){return LA})),t.d(e,"RGBA_ASTC_10x10_Format",(function(){return Qe})),t.d(e,"RGBA_ASTC_10x5_Format",(function(){return Be})),t.d(e,"RGBA_ASTC_10x6_Format",(function(){return ce})),t.d(e,"RGBA_ASTC_10x8_Format",(function(){return ge})),t.d(e,"RGBA_ASTC_12x10_Format",(function(){return Ee})),t.d(e,"RGBA_ASTC_12x12_Format",(function(){return le})),t.d(e,"RGBA_ASTC_4x4_Format",(function(){return ee})),t.d(e,"RGBA_ASTC_5x4_Format",(function(){return te})),t.d(e,"RGBA_ASTC_5x5_Format",(function(){return ne})),t.d(e,"RGBA_ASTC_6x5_Format",(function(){return ie})),t.d(e,"RGBA_ASTC_6x6_Format",(function(){return re})),t.d(e,"RGBA_ASTC_8x5_Format",(function(){return se})),t.d(e,"RGBA_ASTC_8x6_Format",(function(){return oe})),t.d(e,"RGBA_ASTC_8x8_Format",(function(){return ae})),t.d(e,"RGBA_BPTC_Format",(function(){return ue})),t.d(e,"RGBA_ETC2_EAC_Format",(function(){return Ae})),t.d(e,"RGBA_PVRTC_2BPPV1_Format",(function(){return _A})),t.d(e,"RGBA_PVRTC_4BPPV1_Format",(function(){return ZA})),t.d(e,"RGBA_S3TC_DXT1_Format",(function(){return OA})),t.d(e,"RGBA_S3TC_DXT3_Format",(function(){return WA})),t.d(e,"RGBA_S3TC_DXT5_Format",(function(){return VA})),t.d(e,"RGB_ETC1_Format",(function(){return qA})),t.d(e,"RGB_ETC2_Format",(function(){return $A})),t.d(e,"RGB_PVRTC_2BPPV1_Format",(function(){return XA})),t.d(e,"RGB_PVRTC_4BPPV1_Format",(function(){return KA})),t.d(e,"RGB_S3TC_DXT1_Format",(function(){return PA})),t.d(e,"RGFormat",(function(){return zA})),t.d(e,"RGIntegerFormat",(function(){return vA})),t.d(e,"RawShaderMaterial",(function(){return pg})),t.d(e,"Ray",(function(){return Zn})),t.d(e,"Raycaster",(function(){return mE})),t.d(e,"RectAreaLight",(function(){return fQ})),t.d(e,"RedFormat",(function(){return JA})),t.d(e,"RedIntegerFormat",(function(){return jA})),t.d(e,"ReinhardToneMapping",(function(){return $})),t.d(e,"RepeatWrapping",(function(){return BA})),t.d(e,"ReplaceStencilOp",(function(){return We})),t.d(e,"ReverseSubtractEquation",(function(){return Y})),t.d(e,"RingBufferGeometry",(function(){return pl})),t.d(e,"RingGeometry",(function(){return gg})),t.d(e,"SIGNED_RED_GREEN_RGTC2_Format",(function(){return de})),t.d(e,"SIGNED_RED_RGTC1_Format",(function(){return he})),t.d(e,"SRGBColorSpace",(function(){return ze})),t.d(e,"Scene",(function(){return Ha})),t.d(e,"ShaderChunk",(function(){return ts})),t.d(e,"ShaderLib",(function(){return is})),t.d(e,"ShaderMaterial",(function(){return jr})),t.d(e,"ShadowMaterial",(function(){return Mg})),t.d(e,"Shape",(function(){return Tc})),t.d(e,"ShapeBufferGeometry",(function(){return ml})),t.d(e,"ShapeGeometry",(function(){return Qg})),t.d(e,"ShapePath",(function(){return Bl})),t.d(e,"ShapeUtils",(function(){return ig})),t.d(e,"ShortType",(function(){return FA})),t.d(e,"Skeleton",(function(){return dB})),t.d(e,"SkeletonHelper",(function(){return kE})),t.d(e,"SkinnedMesh",(function(){return lB})),t.d(e,"Source",(function(){return Bn})),t.d(e,"Sphere",(function(){return vn})),t.d(e,"SphereBufferGeometry",(function(){return Fl})),t.d(e,"SphereGeometry",(function(){return Eg})),t.d(e,"Spherical",(function(){return YE})),t.d(e,"SphericalHarmonics3",(function(){return NQ})),t.d(e,"SplineCurve",(function(){return wc})),t.d(e,"SpotLight",(function(){return CQ})),t.d(e,"SpotLightHelper",(function(){return GE})),t.d(e,"Sprite",(function(){return AB})),t.d(e,"SpriteMaterial",(function(){return ja})),t.d(e,"SrcAlphaFactor",(function(){return R})),t.d(e,"SrcAlphaSaturateFactor",(function(){return J})),t.d(e,"SrcColorFactor",(function(){return x})),t.d(e,"StaticCopyUsage",(function(){return It})),t.d(e,"StaticDrawUsage",(function(){return lt})),t.d(e,"StaticReadUsage",(function(){return ht})),t.d(e,"StereoCamera",(function(){return VQ})),t.d(e,"StreamCopyUsage",(function(){return pt})),t.d(e,"StreamDrawUsage",(function(){return wt})),t.d(e,"StreamReadUsage",(function(){return dt})),t.d(e,"StringKeyframeTrack",(function(){return Kg})),t.d(e,"SubtractEquation",(function(){return D})),t.d(e,"SubtractiveBlending",(function(){return M})),t.d(e,"TOUCH",(function(){return r})),t.d(e,"TangentSpaceNormalMap",(function(){return ke})),t.d(e,"TetrahedronBufferGeometry",(function(){return Dl})),t.d(e,"TetrahedronGeometry",(function(){return lg})),t.d(e,"Texture",(function(){return Qn})),t.d(e,"TextureLoader",(function(){return cQ})),t.d(e,"TorusBufferGeometry",(function(){return Yl})),t.d(e,"TorusGeometry",(function(){return ug})),t.d(e,"TorusKnotBufferGeometry",(function(){return fl})),t.d(e,"TorusKnotGeometry",(function(){return wg})),t.d(e,"Triangle",(function(){return Gi})),t.d(e,"TriangleFanDrawMode",(function(){return Re})),t.d(e,"TriangleStripDrawMode",(function(){return Te})),t.d(e,"TrianglesDrawMode",(function(){return xe})),t.d(e,"TubeBufferGeometry",(function(){return Nl})),t.d(e,"TubeGeometry",(function(){return hg})),t.d(e,"TwoPassDoubleSide",(function(){return h})),t.d(e,"UVMapping",(function(){return nA})),t.d(e,"Uint16BufferAttribute",(function(){return tr})),t.d(e,"Uint32BufferAttribute",(function(){return ir})),t.d(e,"Uint8BufferAttribute",(function(){return $i})),t.d(e,"Uint8ClampedBufferAttribute",(function(){return Ar})),t.d(e,"Uniform",(function(){return CE})),t.d(e,"UniformsGroup",(function(){return IE})),t.d(e,"UniformsLib",(function(){return ns})),t.d(e,"UniformsUtils",(function(){return Jr})),t.d(e,"UnsignedByteType",(function(){return pA})),t.d(e,"UnsignedInt248Type",(function(){return TA})),t.d(e,"UnsignedIntType",(function(){return fA})),t.d(e,"UnsignedShort4444Type",(function(){return yA})),t.d(e,"UnsignedShort5551Type",(function(){return xA})),t.d(e,"UnsignedShortType",(function(){return DA})),t.d(e,"VSMShadowMap",(function(){return E})),t.d(e,"Vector2",(function(){return Lt})),t.d(e,"Vector3",(function(){return Mn})),t.d(e,"Vector4",(function(){return En})),t.d(e,"VectorKeyframeTrack",(function(){return Xg})),t.d(e,"VideoTexture",(function(){return VB})),t.d(e,"WebGL1Renderer",(function(){return Ra})),t.d(e,"WebGL3DRenderTarget",(function(){return Cn})),t.d(e,"WebGLArrayRenderTarget",(function(){return wn})),t.d(e,"WebGLCoordinateSystem",(function(){return Yt})),t.d(e,"WebGLCubeRenderTarget",(function(){return Or})),t.d(e,"WebGLMultipleRenderTargets",(function(){return dn})),t.d(e,"WebGLRenderTarget",(function(){return ln})),t.d(e,"WebGLRenderer",(function(){return Ta})),t.d(e,"WebGLUtils",(function(){return pa})),t.d(e,"WebGPUCoordinateSystem",(function(){return ft})),t.d(e,"WireframeGeometry",(function(){return Cg})),t.d(e,"WrapAroundEnding",(function(){return Ne})),t.d(e,"ZeroCurvatureEnding",(function(){return Ye})),t.d(e,"ZeroFactor",(function(){return U})),t.d(e,"ZeroSlopeEnding",(function(){return fe})),t.d(e,"ZeroStencilOp",(function(){return Pe})),t.d(e,"_SRGBAFormat",(function(){return Dt})),t.d(e,"sRGBEncoding",(function(){return Se}));
/**
* @license
* Copyright 2010-2023 Three.js Authors
* SPDX-License-Identifier: MIT
*/
const n="153",i={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},r={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},s=0,o=1,a=2,B=3,c=0,g=1,Q=2,E=3,l=0,u=1,w=2,h=2,C=0,d=1,I=2,M=3,p=4,m=5,F=100,D=101,Y=102,f=103,N=104,U=200,y=201,x=202,T=203,R=204,G=205,S=206,H=207,b=208,k=209,J=210,j=0,z=1,v=2,L=3,P=4,O=5,W=6,V=7,K=0,X=1,Z=2,_=0,q=1,$=2,AA=3,eA=4,tA=5,nA=300,iA=301,rA=302,sA=303,oA=304,aA=306,BA=1e3,cA=1001,gA=1002,QA=1003,EA=1004,lA=1004,uA=1005,wA=1005,hA=1006,CA=1007,dA=1007,IA=1008,MA=1008,pA=1009,mA=1010,FA=1011,DA=1012,YA=1013,fA=1014,NA=1015,UA=1016,yA=1017,xA=1018,TA=1020,RA=1021,GA=1023,SA=1024,HA=1025,bA=1026,kA=1027,JA=1028,jA=1029,zA=1030,vA=1031,LA=1033,PA=33776,OA=33777,WA=33778,VA=33779,KA=35840,XA=35841,ZA=35842,_A=35843,qA=36196,$A=37492,Ae=37496,ee=37808,te=37809,ne=37810,ie=37811,re=37812,se=37813,oe=37814,ae=37815,Be=37816,ce=37817,ge=37818,Qe=37819,Ee=37820,le=37821,ue=36492,we=36283,he=36284,Ce=36285,de=36286,Ie=2200,Me=2201,pe=2202,me=2300,Fe=2301,De=2302,Ye=2400,fe=2401,Ne=2402,Ue=2500,ye=2501,xe=0,Te=1,Re=2,Ge=3e3,Se=3001,He=3200,be=3201,ke=0,Je=1,je="",ze="srgb",ve="srgb-linear",Le="display-p3",Pe=0,Oe=7680,We=7681,Ve=7682,Ke=7683,Xe=34055,Ze=34056,_e=5386,qe=512,$e=513,At=514,et=515,tt=516,nt=517,it=518,rt=519,st=512,ot=513,at=514,Bt=515,ct=516,gt=517,Qt=518,Et=519,lt=35044,ut=35048,wt=35040,ht=35045,Ct=35049,dt=35041,It=35046,Mt=35050,pt=35042,mt="100",Ft="300 es",Dt=1035,Yt=2e3,ft=2001;class Nt{addEventListener(A,e){void 0===this._listeners&&(this._listeners={});const t=this._listeners;void 0===t[A]&&(t[A]=[]),-1===t[A].indexOf(e)&&t[A].push(e)}hasEventListener(A,e){if(void 0===this._listeners)return!1;const t=this._listeners;return void 0!==t[A]&&-1!==t[A].indexOf(e)}removeEventListener(A,e){if(void 0===this._listeners)return;const t=this._listeners[A];if(void 0!==t){const A=t.indexOf(e);-1!==A&&t.splice(A,1)}}dispatchEvent(A){if(void 0===this._listeners)return;const e=this._listeners[A.type];if(void 0!==e){A.target=this;const t=e.slice(0);for(let e=0,n=t.length;e<n;e++)t[e].call(this,A);A.target=null}}}const Ut=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let yt=1234567;const xt=Math.PI/180,Tt=180/Math.PI;function Rt(){const A=4294967295*Math.random()|0,e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,n=4294967295*Math.random()|0;return(Ut[255&A]+Ut[A>>8&255]+Ut[A>>16&255]+Ut[A>>24&255]+"-"+Ut[255&e]+Ut[e>>8&255]+"-"+Ut[e>>16&15|64]+Ut[e>>24&255]+"-"+Ut[63&t|128]+Ut[t>>8&255]+"-"+Ut[t>>16&255]+Ut[t>>24&255]+Ut[255&n]+Ut[n>>8&255]+Ut[n>>16&255]+Ut[n>>24&255]).toLowerCase()}function Gt(A,e,t){return Math.max(e,Math.min(t,A))}function St(A,e){return(A%e+e)%e}function Ht(A,e,t){return(1-t)*A+t*e}function bt(A){return 0==(A&A-1)&&0!==A}function kt(A){return Math.pow(2,Math.ceil(Math.log(A)/Math.LN2))}function Jt(A){return Math.pow(2,Math.floor(Math.log(A)/Math.LN2))}function jt(A,e){switch(e.constructor){case Float32Array:return A;case Uint32Array:return A/4294967295;case Uint16Array:return A/65535;case Uint8Array:return A/255;case Int32Array:return Math.max(A/2147483647,-1);case Int16Array:return Math.max(A/32767,-1);case Int8Array:return Math.max(A/127,-1);default:throw new Error("Invalid component type.")}}function zt(A,e){switch(e.constructor){case Float32Array:return A;case Uint32Array:return Math.round(4294967295*A);case Uint16Array:return Math.round(65535*A);case Uint8Array:return Math.round(255*A);case Int32Array:return Math.round(2147483647*A);case Int16Array:return Math.round(32767*A);case Int8Array:return Math.round(127*A);default:throw new Error("Invalid component type.")}}const vt={DEG2RAD:xt,RAD2DEG:Tt,generateUUID:Rt,clamp:Gt,euclideanModulo:St,mapLinear:function(A,e,t,n,i){return n+(A-e)*(i-n)/(t-e)},inverseLerp:function(A,e,t){return A!==e?(t-A)/(e-A):0},lerp:Ht,damp:function(A,e,t,n){return Ht(A,e,1-Math.exp(-t*n))},pingpong:function(A,e=1){return e-Math.abs(St(A,2*e)-e)},smoothstep:function(A,e,t){return A<=e?0:A>=t?1:(A=(A-e)/(t-e))*A*(3-2*A)},smootherstep:function(A,e,t){return A<=e?0:A>=t?1:(A=(A-e)/(t-e))*A*A*(A*(6*A-15)+10)},randInt:function(A,e){return A+Math.floor(Math.random()*(e-A+1))},randFloat:function(A,e){return A+Math.random()*(e-A)},randFloatSpread:function(A){return A*(.5-Math.random())},seededRandom:function(A){void 0!==A&&(yt=A);let e=yt+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(A){return A*xt},radToDeg:function(A){return A*Tt},isPowerOfTwo:bt,ceilPowerOfTwo:kt,floorPowerOfTwo:Jt,setQuaternionFromProperEuler:function(A,e,t,n,i){const r=Math.cos,s=Math.sin,o=r(t/2),a=s(t/2),B=r((e+n)/2),c=s((e+n)/2),g=r((e-n)/2),Q=s((e-n)/2),E=r((n-e)/2),l=s((n-e)/2);switch(i){case"XYX":A.set(o*c,a*g,a*Q,o*B);break;case"YZY":A.set(a*Q,o*c,a*g,o*B);break;case"ZXZ":A.set(a*g,a*Q,o*c,o*B);break;case"XZX":A.set(o*c,a*l,a*E,o*B);break;case"YXY":A.set(a*E,o*c,a*l,o*B);break;case"ZYZ":A.set(a*l,a*E,o*c,o*B);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}},normalize:zt,denormalize:jt};class Lt{constructor(A=0,e=0){Lt.prototype.isVector2=!0,this.x=A,this.y=e}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,e){return this.x=A,this.y=e,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,e){switch(A){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A){return this.x+=A.x,this.y+=A.y,this}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this}addScaledVector(A,e){return this.x+=A.x*e,this.y+=A.y*e,this}sub(A){return this.x-=A.x,this.y-=A.y,this}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){const e=this.x,t=this.y,n=A.elements;return this.x=n[0]*e+n[3]*t+n[6],this.y=n[1]*e+n[4]*t+n[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,e){return this.x=Math.max(A.x,Math.min(e.x,this.x)),this.y=Math.max(A.y,Math.min(e.y,this.y)),this}clampScalar(A,e){return this.x=Math.max(A,Math.min(e,this.x)),this.y=Math.max(A,Math.min(e,this.y)),this}clampLength(A,e){const t=this.length();return this.divideScalar(t||1).multiplyScalar(Math.max(A,Math.min(e,t)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(A){const e=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===e)return Math.PI/2;const t=this.dot(A)/e;return Math.acos(Gt(t,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const e=this.x-A.x,t=this.y-A.y;return e*e+t*t}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,e){return this.x+=(A.x-this.x)*e,this.y+=(A.y-this.y)*e,this}lerpVectors(A,e,t){return this.x=A.x+(e.x-A.x)*t,this.y=A.y+(e.y-A.y)*t,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,e=0){return this.x=A[e],this.y=A[e+1],this}toArray(A=[],e=0){return A[e]=this.x,A[e+1]=this.y,A}fromBufferAttribute(A,e){return this.x=A.getX(e),this.y=A.getY(e),this}rotateAround(A,e){const t=Math.cos(e),n=Math.sin(e),i=this.x-A.x,r=this.y-A.y;return this.x=i*t-r*n+A.x,this.y=i*n+r*t+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Pt{constructor(A,e,t,n,i,r,s,o,a){Pt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==A&&this.set(A,e,t,n,i,r,s,o,a)}set(A,e,t,n,i,r,s,o,a){const B=this.elements;return B[0]=A,B[1]=n,B[2]=s,B[3]=e,B[4]=i,B[5]=o,B[6]=t,B[7]=r,B[8]=a,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const e=this.elements,t=A.elements;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this}extractBasis(A,e,t){return A.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),t.setFromMatrix3Column(this,2),this}setFromMatrix4(A){const e=A.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,e){const t=A.elements,n=e.elements,i=this.elements,r=t[0],s=t[3],o=t[6],a=t[1],B=t[4],c=t[7],g=t[2],Q=t[5],E=t[8],l=n[0],u=n[3],w=n[6],h=n[1],C=n[4],d=n[7],I=n[2],M=n[5],p=n[8];return i[0]=r*l+s*h+o*I,i[3]=r*u+s*C+o*M,i[6]=r*w+s*d+o*p,i[1]=a*l+B*h+c*I,i[4]=a*u+B*C+c*M,i[7]=a*w+B*d+c*p,i[2]=g*l+Q*h+E*I,i[5]=g*u+Q*C+E*M,i[8]=g*w+Q*d+E*p,this}multiplyScalar(A){const e=this.elements;return e[0]*=A,e[3]*=A,e[6]*=A,e[1]*=A,e[4]*=A,e[7]*=A,e[2]*=A,e[5]*=A,e[8]*=A,this}determinant(){const A=this.elements,e=A[0],t=A[1],n=A[2],i=A[3],r=A[4],s=A[5],o=A[6],a=A[7],B=A[8];return e*r*B-e*s*a-t*i*B+t*s*o+n*i*a-n*r*o}invert(){const A=this.elements,e=A[0],t=A[1],n=A[2],i=A[3],r=A[4],s=A[5],o=A[6],a=A[7],B=A[8],c=B*r-s*a,g=s*o-B*i,Q=a*i-r*o,E=e*c+t*g+n*Q;if(0===E)return this.set(0,0,0,0,0,0,0,0,0);const l=1/E;return A[0]=c*l,A[1]=(n*a-B*t)*l,A[2]=(s*t-n*r)*l,A[3]=g*l,A[4]=(B*e-n*o)*l,A[5]=(n*i-s*e)*l,A[6]=Q*l,A[7]=(t*o-a*e)*l,A[8]=(r*e-t*i)*l,this}transpose(){let A;const e=this.elements;return A=e[1],e[1]=e[3],e[3]=A,A=e[2],e[2]=e[6],e[6]=A,A=e[5],e[5]=e[7],e[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){const e=this.elements;return A[0]=e[0],A[1]=e[3],A[2]=e[6],A[3]=e[1],A[4]=e[4],A[5]=e[7],A[6]=e[2],A[7]=e[5],A[8]=e[8],this}setUvTransform(A,e,t,n,i,r,s){const o=Math.cos(i),a=Math.sin(i);return this.set(t*o,t*a,-t*(o*r+a*s)+r+A,-n*a,n*o,-n*(-a*r+o*s)+s+e,0,0,1),this}scale(A,e){return this.premultiply(Ot.makeScale(A,e)),this}rotate(A){return this.premultiply(Ot.makeRotation(-A)),this}translate(A,e){return this.premultiply(Ot.makeTranslation(A,e)),this}makeTranslation(A,e){return A.isVector2?this.set(1,0,A.x,0,1,A.y,0,0,1):this.set(1,0,A,0,1,e,0,0,1),this}makeRotation(A){const e=Math.cos(A),t=Math.sin(A);return this.set(e,-t,0,t,e,0,0,0,1),this}makeScale(A,e){return this.set(A,0,0,0,e,0,0,0,1),this}equals(A){const e=this.elements,t=A.elements;for(let A=0;A<9;A++)if(e[A]!==t[A])return!1;return!0}fromArray(A,e=0){for(let t=0;t<9;t++)this.elements[t]=A[t+e];return this}toArray(A=[],e=0){const t=this.elements;return A[e]=t[0],A[e+1]=t[1],A[e+2]=t[2],A[e+3]=t[3],A[e+4]=t[4],A[e+5]=t[5],A[e+6]=t[6],A[e+7]=t[7],A[e+8]=t[8],A}clone(){return(new this.constructor).fromArray(this.elements)}}const Ot=new Pt;function Wt(A){for(let e=A.length-1;e>=0;--e)if(A[e]>=65535)return!0;return!1}const Vt={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Kt(A,e){return new Vt[A](e)}function Xt(A){return document.createElementNS("http://www.w3.org/1999/xhtml",A)}const Zt={};function _t(A){A in Zt||(Zt[A]=!0,console.warn(A))}function qt(A){return A<.04045?.0773993808*A:Math.pow(.9478672986*A+.0521327014,2.4)}function $t(A){return A<.0031308?12.92*A:1.055*Math.pow(A,.41666)-.055}const An=(new Pt).fromArray([.8224621,.0331941,.0170827,.177538,.9668058,.0723974,-1e-7,1e-7,.9105199]),en=(new Pt).fromArray([1.2249401,-.0420569,-.0196376,-.2249404,1.0420571,-.0786361,1e-7,0,1.0982735]);const tn={[ve]:A=>A,[ze]:A=>A.convertSRGBToLinear(),[Le]:function(A){return A.convertSRGBToLinear().applyMatrix3(en)}},nn={[ve]:A=>A,[ze]:A=>A.convertLinearToSRGB(),[Le]:function(A){return A.applyMatrix3(An).convertLinearToSRGB()}},rn={enabled:!0,get legacyMode(){return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),!this.enabled},set legacyMode(A){console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."),this.enabled=!A},get workingColorSpace(){return ve},set workingColorSpace(A){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(A,e,t){if(!1===this.enabled||e===t||!e||!t)return A;const n=tn[e],i=nn[t];if(void 0===n||void 0===i)throw new Error(`Unsupported color space conversion, "${e}" to "${t}".`);return i(n(A))},fromWorkingColorSpace:function(A,e){return this.convert(A,this.workingColorSpace,e)},toWorkingColorSpace:function(A,e){return this.convert(A,e,this.workingColorSpace)}};let sn;class on{static getDataURL(A){if(/^data:/i.test(A.src))return A.src;if("undefined"==typeof HTMLCanvasElement)return A.src;let e;if(A instanceof HTMLCanvasElement)e=A;else{void 0===sn&&(sn=Xt("canvas")),sn.width=A.width,sn.height=A.height;const t=sn.getContext("2d");A instanceof ImageData?t.putImageData(A,0,0):t.drawImage(A,0,0,A.width,A.height),e=sn}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(A){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){const e=Xt("canvas");e.width=A.width,e.height=A.height;const t=e.getContext("2d");t.drawImage(A,0,0,A.width,A.height);const n=t.getImageData(0,0,A.width,A.height),i=n.data;for(let A=0;A<i.length;A++)i[A]=255*qt(i[A]/255);return t.putImageData(n,0,0),e}if(A.data){const e=A.data.slice(0);for(let A=0;A<e.length;A++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[A]=Math.floor(255*qt(e[A]/255)):e[A]=qt(e[A]);return{data:e,width:A.width,height:A.height}}return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),A}}let an=0;class Bn{constructor(A=null){this.isSource=!0,Object.defineProperty(this,"id",{value:an++}),this.uuid=Rt(),this.data=A,this.version=0}set needsUpdate(A){!0===A&&this.version++}toJSON(A){const e=void 0===A||"string"==typeof A;if(!e&&void 0!==A.images[this.uuid])return A.images[this.uuid];const t={uuid:this.uuid,url:""},n=this.data;if(null!==n){let A;if(Array.isArray(n)){A=[];for(let e=0,t=n.length;e<t;e++)n[e].isDataTexture?A.push(cn(n[e].image)):A.push(cn(n[e]))}else A=cn(n);t.url=A}return e||(A.images[this.uuid]=t),t}}function cn(A){return"undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap?on.getDataURL(A):A.data?{data:Array.from(A.data),width:A.width,height:A.height,type:A.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let gn=0;class Qn extends Nt{constructor(A=Qn.DEFAULT_IMAGE,e=Qn.DEFAULT_MAPPING,t=cA,n=cA,i=hA,r=IA,s=GA,o=pA,a=Qn.DEFAULT_ANISOTROPY,B=je){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:gn++}),this.uuid=Rt(),this.name="",this.source=new Bn(A),this.mipmaps=[],this.mapping=e,this.channel=0,this.wrapS=t,this.wrapT=n,this.magFilter=i,this.minFilter=r,this.anisotropy=a,this.format=s,this.internalFormat=null,this.type=o,this.offset=new Lt(0,0),this.repeat=new Lt(1,1),this.center=new Lt(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Pt,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,"string"==typeof B?this.colorSpace=B:(_t("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=B===Se?ze:je),this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(A=null){this.source.data=A}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(A){return this.name=A.name,this.source=A.source,this.mipmaps=A.mipmaps.slice(0),this.mapping=A.mapping,this.channel=A.channel,this.wrapS=A.wrapS,this.wrapT=A.wrapT,this.magFilter=A.magFilter,this.minFilter=A.minFilter,this.anisotropy=A.anisotropy,this.format=A.format,this.internalFormat=A.internalFormat,this.type=A.type,this.offset.copy(A.offset),this.repeat.copy(A.repeat),this.center.copy(A.center),this.rotation=A.rotation,this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrix.copy(A.matrix),this.generateMipmaps=A.generateMipmaps,this.premultiplyAlpha=A.premultiplyAlpha,this.flipY=A.flipY,this.unpackAlignment=A.unpackAlignment,this.colorSpace=A.colorSpace,this.userData=JSON.parse(JSON.stringify(A.userData)),this.needsUpdate=!0,this}toJSON(A){const e=void 0===A||"string"==typeof A;if(!e&&void 0!==A.textures[this.uuid])return A.textures[this.uuid];const t={metadata:{version:4.6,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(A).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(t.userData=this.userData),e||(A.textures[this.uuid]=t),t}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(A){if(this.mapping!==nA)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case BA:A.x=A.x-Math.floor(A.x);break;case cA:A.x=A.x<0?0:1;break;case gA:1===Math.abs(Math.floor(A.x)%2)?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x)}if(A.y<0||A.y>1)switch(this.wrapT){case BA:A.y=A.y-Math.floor(A.y);break;case cA:A.y=A.y<0?0:1;break;case gA:1===Math.abs(Math.floor(A.y)%2)?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y)}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){!0===A&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return _t("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===ze?Se:Ge}set encoding(A){_t("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=A===Se?ze:je}}Qn.DEFAULT_IMAGE=null,Qn.DEFAULT_MAPPING=nA,Qn.DEFAULT_ANISOTROPY=1;class En{constructor(A=0,e=0,t=0,n=1){En.prototype.isVector4=!0,this.x=A,this.y=e,this.z=t,this.w=n}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,e,t,n){return this.x=A,this.y=e,this.z=t,this.w=n,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,e){switch(A){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=void 0!==A.w?A.w:1,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this.z=A.z+e.z,this.w=A.w+e.w,this}addScaledVector(A,e){return this.x+=A.x*e,this.y+=A.y*e,this.z+=A.z*e,this.w+=A.w*e,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this.z=A.z-e.z,this.w=A.w-e.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){const e=this.x,t=this.y,n=this.z,i=this.w,r=A.elements;return this.x=r[0]*e+r[4]*t+r[8]*n+r[12]*i,this.y=r[1]*e+r[5]*t+r[9]*n+r[13]*i,this.z=r[2]*e+r[6]*t+r[10]*n+r[14]*i,this.w=r[3]*e+r[7]*t+r[11]*n+r[15]*i,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);const e=Math.sqrt(1-A.w*A.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/e,this.y=A.y/e,this.z=A.z/e),this}setAxisAngleFromRotationMatrix(A){let e,t,n,i;const r=A.elements,s=r[0],o=r[4],a=r[8],B=r[1],c=r[5],g=r[9],Q=r[2],E=r[6],l=r[10];if(Math.abs(o-B)<.01&&Math.abs(a-Q)<.01&&Math.abs(g-E)<.01){if(Math.abs(o+B)<.1&&Math.abs(a+Q)<.1&&Math.abs(g+E)<.1&&Math.abs(s+c+l-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;const A=(s+1)/2,r=(c+1)/2,u=(l+1)/2,w=(o+B)/4,h=(a+Q)/4,C=(g+E)/4;return A>r&&A>u?A<.01?(t=0,n=.707106781,i=.707106781):(t=Math.sqrt(A),n=w/t,i=h/t):r>u?r<.01?(t=.707106781,n=0,i=.707106781):(n=Math.sqrt(r),t=w/n,i=C/n):u<.01?(t=.707106781,n=.707106781,i=0):(i=Math.sqrt(u),t=h/i,n=C/i),this.set(t,n,i,e),this}let u=Math.sqrt((E-g)*(E-g)+(a-Q)*(a-Q)+(B-o)*(B-o));return Math.abs(u)<.001&&(u=1),this.x=(E-g)/u,this.y=(a-Q)/u,this.z=(B-o)/u,this.w=Math.acos((s+c+l-1)/2),this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this.w=Math.min(this.w,A.w),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this.w=Math.max(this.w,A.w),this}clamp(A,e){return this.x=Math.max(A.x,Math.min(e.x,this.x)),this.y=Math.max(A.y,Math.min(e.y,this.y)),this.z=Math.max(A.z,Math.min(e.z,this.z)),this.w=Math.max(A.w,Math.min(e.w,this.w)),this}clampScalar(A,e){return this.x=Math.max(A,Math.min(e,this.x)),this.y=Math.max(A,Math.min(e,this.y)),this.z=Math.max(A,Math.min(e,this.z)),this.w=Math.max(A,Math.min(e,this.w)),this}clampLength(A,e){const t=this.length();return this.divideScalar(t||1).multiplyScalar(Math.max(A,Math.min(e,t)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.z+this.w*A.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,e){return this.x+=(A.x-this.x)*e,this.y+=(A.y-this.y)*e,this.z+=(A.z-this.z)*e,this.w+=(A.w-this.w)*e,this}lerpVectors(A,e,t){return this.x=A.x+(e.x-A.x)*t,this.y=A.y+(e.y-A.y)*t,this.z=A.z+(e.z-A.z)*t,this.w=A.w+(e.w-A.w)*t,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z&&A.w===this.w}fromArray(A,e=0){return this.x=A[e],this.y=A[e+1],this.z=A[e+2],this.w=A[e+3],this}toArray(A=[],e=0){return A[e]=this.x,A[e+1]=this.y,A[e+2]=this.z,A[e+3]=this.w,A}fromBufferAttribute(A,e){return this.x=A.getX(e),this.y=A.getY(e),this.z=A.getZ(e),this.w=A.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class ln extends Nt{constructor(A=1,e=1,t={}){super(),this.isWebGLRenderTarget=!0,this.width=A,this.height=e,this.depth=1,this.scissor=new En(0,0,A,e),this.scissorTest=!1,this.viewport=new En(0,0,A,e);const n={width:A,height:e,depth:1};void 0!==t.encoding&&(_t("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Se?ze:je),this.texture=new Qn(n,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.internalFormat=void 0!==t.internalFormat?t.internalFormat:null,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:hA,this.depthBuffer=void 0===t.depthBuffer||t.depthBuffer,this.stencilBuffer=void 0!==t.stencilBuffer&&t.stencilBuffer,this.depthTexture=void 0!==t.depthTexture?t.depthTexture:null,this.samples=void 0!==t.samples?t.samples:0}setSize(A,e,t=1){this.width===A&&this.height===e&&this.depth===t||(this.width=A,this.height=e,this.depth=t,this.texture.image.width=A,this.texture.image.height=e,this.texture.image.depth=t,this.dispose()),this.viewport.set(0,0,A,e),this.scissor.set(0,0,A,e)}clone(){return(new this.constructor).copy(this)}copy(A){this.width=A.width,this.height=A.height,this.depth=A.depth,this.scissor.copy(A.scissor),this.scissorTest=A.scissorTest,this.viewport.copy(A.viewport),this.texture=A.texture.clone(),this.texture.isRenderTargetTexture=!0;const e=Object.assign({},A.texture.image);return this.texture.source=new Bn(e),this.depthBuffer=A.depthBuffer,this.stencilBuffer=A.stencilBuffer,null!==A.depthTexture&&(this.depthTexture=A.depthTexture.clone()),this.samples=A.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class un extends Qn{constructor(A=null,e=1,t=1,n=1){super(null),this.isDataArrayTexture=!0,this.image={data:A,width:e,height:t,depth:n},this.magFilter=QA,this.minFilter=QA,this.wrapR=cA,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class wn extends ln{constructor(A=1,e=1,t=1){super(A,e),this.isWebGLArrayRenderTarget=!0,this.depth=t,this.texture=new un(null,A,e,t),this.texture.isRenderTargetTexture=!0}}class hn extends Qn{constructor(A=null,e=1,t=1,n=1){super(null),this.isData3DTexture=!0,this.image={data:A,width:e,height:t,depth:n},this.magFilter=QA,this.minFilter=QA,this.wrapR=cA,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class Cn extends ln{constructor(A=1,e=1,t=1){super(A,e),this.isWebGL3DRenderTarget=!0,this.depth=t,this.texture=new hn(null,A,e,t),this.texture.isRenderTargetTexture=!0}}class dn extends ln{constructor(A=1,e=1,t=1,n={}){super(A,e,n),this.isWebGLMultipleRenderTargets=!0;const i=this.texture;this.texture=[];for(let A=0;A<t;A++)this.texture[A]=i.clone(),this.texture[A].isRenderTargetTexture=!0}setSize(A,e,t=1){if(this.width!==A||this.height!==e||this.depth!==t){this.width=A,this.height=e,this.depth=t;for(let n=0,i=this.texture.length;n<i;n++)this.texture[n].image.width=A,this.texture[n].image.height=e,this.texture[n].image.depth=t;this.dispose()}return this.viewport.set(0,0,A,e),this.scissor.set(0,0,A,e),this}copy(A){this.dispose(),this.width=A.width,this.height=A.height,this.depth=A.depth,this.scissor.copy(A.scissor),this.scissorTest=A.scissorTest,this.viewport.copy(A.viewport),this.depthBuffer=A.depthBuffer,this.stencilBuffer=A.stencilBuffer,null!==A.depthTexture&&(this.depthTexture=A.depthTexture.clone()),this.texture.length=0;for(let e=0,t=A.texture.length;e<t;e++)this.texture[e]=A.texture[e].clone(),this.texture[e].isRenderTargetTexture=!0;return this}}class In{constructor(A=0,e=0,t=0,n=1){this.isQuaternion=!0,this._x=A,this._y=e,this._z=t,this._w=n}static slerpFlat(A,e,t,n,i,r,s){let o=t[n+0],a=t[n+1],B=t[n+2],c=t[n+3];const g=i[r+0],Q=i[r+1],E=i[r+2],l=i[r+3];if(0===s)return A[e+0]=o,A[e+1]=a,A[e+2]=B,void(A[e+3]=c);if(1===s)return A[e+0]=g,A[e+1]=Q,A[e+2]=E,void(A[e+3]=l);if(c!==l||o!==g||a!==Q||B!==E){let A=1-s;const e=o*g+a*Q+B*E+c*l,t=e>=0?1:-1,n=1-e*e;if(n>Number.EPSILON){const i=Math.sqrt(n),r=Math.atan2(i,e*t);A=Math.sin(A*r)/i,s=Math.sin(s*r)/i}const i=s*t;if(o=o*A+g*i,a=a*A+Q*i,B=B*A+E*i,c=c*A+l*i,A===1-s){const A=1/Math.sqrt(o*o+a*a+B*B+c*c);o*=A,a*=A,B*=A,c*=A}}A[e]=o,A[e+1]=a,A[e+2]=B,A[e+3]=c}static multiplyQuaternionsFlat(A,e,t,n,i,r){const s=t[n],o=t[n+1],a=t[n+2],B=t[n+3],c=i[r],g=i[r+1],Q=i[r+2],E=i[r+3];return A[e]=s*E+B*c+o*Q-a*g,A[e+1]=o*E+B*g+a*c-s*Q,A[e+2]=a*E+B*Q+s*g-o*c,A[e+3]=B*E-s*c-o*g-a*Q,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,e,t,n){return this._x=A,this._y=e,this._z=t,this._w=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,e){const t=A._x,n=A._y,i=A._z,r=A._order,s=Math.cos,o=Math.sin,a=s(t/2),B=s(n/2),c=s(i/2),g=o(t/2),Q=o(n/2),E=o(i/2);switch(r){case"XYZ":this._x=g*B*c+a*Q*E,this._y=a*Q*c-g*B*E,this._z=a*B*E+g*Q*c,this._w=a*B*c-g*Q*E;break;case"YXZ":this._x=g*B*c+a*Q*E,this._y=a*Q*c-g*B*E,this._z=a*B*E-g*Q*c,this._w=a*B*c+g*Q*E;break;case"ZXY":this._x=g*B*c-a*Q*E,this._y=a*Q*c+g*B*E,this._z=a*B*E+g*Q*c,this._w=a*B*c-g*Q*E;break;case"ZYX":this._x=g*B*c-a*Q*E,this._y=a*Q*c+g*B*E,this._z=a*B*E-g*Q*c,this._w=a*B*c+g*Q*E;break;case"YZX":this._x=g*B*c+a*Q*E,this._y=a*Q*c+g*B*E,this._z=a*B*E-g*Q*c,this._w=a*B*c-g*Q*E;break;case"XZY":this._x=g*B*c-a*Q*E,this._y=a*Q*c-g*B*E,this._z=a*B*E+g*Q*c,this._w=a*B*c+g*Q*E;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+r)}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(A,e){const t=e/2,n=Math.sin(t);return this._x=A.x*n,this._y=A.y*n,this._z=A.z*n,this._w=Math.cos(t),this._onChangeCallback(),this}setFromRotationMatrix(A){const e=A.elements,t=e[0],n=e[4],i=e[8],r=e[1],s=e[5],o=e[9],a=e[2],B=e[6],c=e[10],g=t+s+c;if(g>0){const A=.5/Math.sqrt(g+1);this._w=.25/A,this._x=(B-o)*A,this._y=(i-a)*A,this._z=(r-n)*A}else if(t>s&&t>c){const A=2*Math.sqrt(1+t-s-c);this._w=(B-o)/A,this._x=.25*A,this._y=(n+r)/A,this._z=(i+a)/A}else if(s>c){const A=2*Math.sqrt(1+s-t-c);this._w=(i-a)/A,this._x=(n+r)/A,this._y=.25*A,this._z=(o+B)/A}else{const A=2*Math.sqrt(1+c-t-s);this._w=(r-n)/A,this._x=(i+a)/A,this._y=(o+B)/A,this._z=.25*A}return this._onChangeCallback(),this}setFromUnitVectors(A,e){let t=A.dot(e)+1;return t<Number.EPSILON?(t=0,Math.abs(A.x)>Math.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=t):(this._x=0,this._y=-A.z,this._z=A.y,this._w=t)):(this._x=A.y*e.z-A.z*e.y,this._y=A.z*e.x-A.x*e.z,this._z=A.x*e.y-A.y*e.x,this._w=t),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(Gt(this.dot(A),-1,1)))}rotateTowards(A,e){const t=this.angleTo(A);if(0===t)return this;const n=Math.min(1,e/t);return this.slerp(A,n),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let A=this.length();return 0===A?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A){return this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,e){const t=A._x,n=A._y,i=A._z,r=A._w,s=e._x,o=e._y,a=e._z,B=e._w;return this._x=t*B+r*s+n*a-i*o,this._y=n*B+r*o+i*s-t*a,this._z=i*B+r*a+t*o-n*s,this._w=r*B-t*s-n*o-i*a,this._onChangeCallback(),this}slerp(A,e){if(0===e)return this;if(1===e)return this.copy(A);const t=this._x,n=this._y,i=this._z,r=this._w;let s=r*A._w+t*A._x+n*A._y+i*A._z;if(s<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,s=-s):this.copy(A),s>=1)return this._w=r,this._x=t,this._y=n,this._z=i,this;const o=1-s*s;if(o<=Number.EPSILON){const A=1-e;return this._w=A*r+e*this._w,this._x=A*t+e*this._x,this._y=A*n+e*this._y,this._z=A*i+e*this._z,this.normalize(),this._onChangeCallback(),this}const a=Math.sqrt(o),B=Math.atan2(a,s),c=Math.sin((1-e)*B)/a,g=Math.sin(e*B)/a;return this._w=r*c+this._w*g,this._x=t*c+this._x*g,this._y=n*c+this._y*g,this._z=i*c+this._z*g,this._onChangeCallback(),this}slerpQuaternions(A,e,t){return this.copy(A).slerp(e,t)}random(){const A=Math.random(),e=Math.sqrt(1-A),t=Math.sqrt(A),n=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(e*Math.cos(n),t*Math.sin(i),t*Math.cos(i),e*Math.sin(n))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,e=0){return this._x=A[e],this._y=A[e+1],this._z=A[e+2],this._w=A[e+3],this._onChangeCallback(),this}toArray(A=[],e=0){return A[e]=this._x,A[e+1]=this._y,A[e+2]=this._z,A[e+3]=this._w,A}fromBufferAttribute(A,e){return this._x=A.getX(e),this._y=A.getY(e),this._z=A.getZ(e),this._w=A.getW(e),this}toJSON(){return this.toArray()}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Mn{constructor(A=0,e=0,t=0){Mn.prototype.isVector3=!0,this.x=A,this.y=e,this.z=t}set(A,e,t){return void 0===t&&(t=this.z),this.x=A,this.y=e,this.z=t,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,e){switch(A){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this.z=A.z+e.z,this}addScaledVector(A,e){return this.x+=A.x*e,this.y+=A.y*e,this.z+=A.z*e,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this.z=A.z-e.z,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,e){return this.x=A.x*e.x,this.y=A.y*e.y,this.z=A.z*e.z,this}applyEuler(A){return this.applyQuaternion(mn.setFromEuler(A))}applyAxisAngle(A,e){return this.applyQuaternion(mn.setFromAxisAngle(A,e))}applyMatrix3(A){const e=this.x,t=this.y,n=this.z,i=A.elements;return this.x=i[0]*e+i[3]*t+i[6]*n,this.y=i[1]*e+i[4]*t+i[7]*n,this.z=i[2]*e+i[5]*t+i[8]*n,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){const e=this.x,t=this.y,n=this.z,i=A.elements,r=1/(i[3]*e+i[7]*t+i[11]*n+i[15]);return this.x=(i[0]*e+i[4]*t+i[8]*n+i[12])*r,this.y=(i[1]*e+i[5]*t+i[9]*n+i[13])*r,this.z=(i[2]*e+i[6]*t+i[10]*n+i[14])*r,this}applyQuaternion(A){const e=this.x,t=this.y,n=this.z,i=A.x,r=A.y,s=A.z,o=A.w,a=o*e+r*n-s*t,B=o*t+s*e-i*n,c=o*n+i*t-r*e,g=-i*e-r*t-s*n;return this.x=a*o+g*-i+B*-s-c*-r,this.y=B*o+g*-r+c*-i-a*-s,this.z=c*o+g*-s+a*-r-B*-i,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){const e=this.x,t=this.y,n=this.z,i=A.elements;return this.x=i[0]*e+i[4]*t+i[8]*n,this.y=i[1]*e+i[5]*t+i[9]*n,this.z=i[2]*e+i[6]*t+i[10]*n,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,e){return this.x=Math.max(A.x,Math.min(e.x,this.x)),this.y=Math.max(A.y,Math.min(e.y,this.y)),this.z=Math.max(A.z,Math.min(e.z,this.z)),this}clampScalar(A,e){return this.x=Math.max(A,Math.min(e,this.x)),this.y=Math.max(A,Math.min(e,this.y)),this.z=Math.max(A,Math.min(e,this.z)),this}clampLength(A,e){const t=this.length();return this.divideScalar(t||1).multiplyScalar(Math.max(A,Math.min(e,t)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,e){return this.x+=(A.x-this.x)*e,this.y+=(A.y-this.y)*e,this.z+=(A.z-this.z)*e,this}lerpVectors(A,e,t){return this.x=A.x+(e.x-A.x)*t,this.y=A.y+(e.y-A.y)*t,this.z=A.z+(e.z-A.z)*t,this}cross(A){return this.crossVectors(this,A)}crossVectors(A,e){const t=A.x,n=A.y,i=A.z,r=e.x,s=e.y,o=e.z;return this.x=n*o-i*s,this.y=i*r-t*o,this.z=t*s-n*r,this}projectOnVector(A){const e=A.lengthSq();if(0===e)return this.set(0,0,0);const t=A.dot(this)/e;return this.copy(A).multiplyScalar(t)}projectOnPlane(A){return pn.copy(this).projectOnVector(A),this.sub(pn)}reflect(A){return this.sub(pn.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){const e=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===e)return Math.PI/2;const t=this.dot(A)/e;return Math.acos(Gt(t,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const e=this.x-A.x,t=this.y-A.y,n=this.z-A.z;return e*e+t*t+n*n}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,e,t){const n=Math.sin(e)*A;return this.x=n*Math.sin(t),this.y=Math.cos(e)*A,this.z=n*Math.cos(t),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,e,t){return this.x=A*Math.sin(e),this.y=t,this.z=A*Math.cos(e),this}setFromMatrixPosition(A){const e=A.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(A){const e=this.setFromMatrixColumn(A,0).length(),t=this.setFromMatrixColumn(A,1).length(),n=this.setFromMatrixColumn(A,2).length();return this.x=e,this.y=t,this.z=n,this}setFromMatrixColumn(A,e){return this.fromArray(A.elements,4*e)}setFromMatrix3Column(A,e){return this.fromArray(A.elements,3*e)}setFromEuler(A){return this.x=A._x,this.y=A._y,this.z=A._z,this}setFromColor(A){return this.x=A.r,this.y=A.g,this.z=A.b,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,e=0){return this.x=A[e],this.y=A[e+1],this.z=A[e+2],this}toArray(A=[],e=0){return A[e]=this.x,A[e+1]=this.y,A[e+2]=this.z,A}fromBufferAttribute(A,e){return this.x=A.getX(e),this.y=A.getY(e),this.z=A.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const A=2*(Math.random()-.5),e=Math.random()*Math.PI*2,t=Math.sqrt(1-A**2);return this.x=t*Math.cos(e),this.y=t*Math.sin(e),this.z=A,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const pn=new Mn,mn=new In;class Fn{constructor(A=new Mn(1/0,1/0,1/0),e=new Mn(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=A,this.max=e}set(A,e){return this.min.copy(A),this.max.copy(e),this}setFromArray(A){this.makeEmpty();for(let e=0,t=A.length;e<t;e+=3)this.expandByPoint(Yn.fromArray(A,e));return this}setFromBufferAttribute(A){this.makeEmpty();for(let e=0,t=A.count;e<t;e++)this.expandByPoint(Yn.fromBufferAttribute(A,e));return this}setFromPoints(A){this.makeEmpty();for(let e=0,t=A.length;e<t;e++)this.expandByPoint(A[e]);return this}setFromCenterAndSize(A,e){const t=Yn.copy(e).multiplyScalar(.5);return this.min.copy(A).sub(t),this.max.copy(A).add(t),this}setFromObject(A,e=!1){return this.makeEmpty(),this.expandByObject(A,e)}clone(){return(new this.constructor).copy(this)}copy(A){return this.min.copy(A.min),this.max.copy(A.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(A){return this.isEmpty()?A.set(0,0,0):A.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(A){return this.isEmpty()?A.set(0,0,0):A.subVectors(this.max,this.min)}expandByPoint(A){return this.min.min(A),this.max.max(A),this}expandByVector(A){return this.min.sub(A),this.max.add(A),this}expandByScalar(A){return this.min.addScalar(-A),this.max.addScalar(A),this}expandByObject(A,e=!1){if(A.updateWorldMatrix(!1,!1),void 0!==A.boundingBox)null===A.boundingBox&&A.computeBoundingBox(),fn.copy(A.boundingBox),fn.applyMatrix4(A.matrixWorld),this.union(fn);else{const t=A.geometry;if(void 0!==t)if(e&&void 0!==t.attributes&&void 0!==t.attributes.position){const e=t.attributes.position;for(let t=0,n=e.count;t<n;t++)Yn.fromBufferAttribute(e,t).applyMatrix4(A.matrixWorld),this.expandByPoint(Yn)}else null===t.boundingBox&&t.computeBoundingBox(),fn.copy(t.boundingBox),fn.applyMatrix4(A.matrixWorld),this.union(fn)}const t=A.children;for(let A=0,n=t.length;A<n;A++)this.expandByObject(t[A],e);return this}containsPoint(A){return!(A.x<this.min.x||A.x>this.max.x||A.y<this.min.y||A.y>this.max.y||A.z<this.min.z||A.z>this.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,e){return e.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.x<this.min.x||A.min.x>this.max.x||A.max.y<this.min.y||A.min.y>this.max.y||A.max.z<this.min.z||A.min.z>this.max.z)}intersectsSphere(A){return this.clampPoint(A.center,Yn),Yn.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let e,t;return A.normal.x>0?(e=A.normal.x*this.min.x,t=A.normal.x*this.max.x):(e=A.normal.x*this.max.x,t=A.normal.x*this.min.x),A.normal.y>0?(e+=A.normal.y*this.min.y,t+=A.normal.y*this.max.y):(e+=A.normal.y*this.max.y,t+=A.normal.y*this.min.y),A.normal.z>0?(e+=A.normal.z*this.min.z,t+=A.normal.z*this.max.z):(e+=A.normal.z*this.max.z,t+=A.normal.z*this.min.z),e<=-A.constant&&t>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(Gn),Sn.subVectors(this.max,Gn),Nn.subVectors(A.a,Gn),Un.subVectors(A.b,Gn),yn.subVectors(A.c,Gn),xn.subVectors(Un,Nn),Tn.subVectors(yn,Un),Rn.subVectors(Nn,yn);let e=[0,-xn.z,xn.y,0,-Tn.z,Tn.y,0,-Rn.z,Rn.y,xn.z,0,-xn.x,Tn.z,0,-Tn.x,Rn.z,0,-Rn.x,-xn.y,xn.x,0,-Tn.y,Tn.x,0,-Rn.y,Rn.x,0];return!!kn(e,Nn,Un,yn,Sn)&&(e=[1,0,0,0,1,0,0,0,1],!!kn(e,Nn,Un,yn,Sn)&&(Hn.crossVectors(xn,Tn),e=[Hn.x,Hn.y,Hn.z],kn(e,Nn,Un,yn,Sn)))}clampPoint(A,e){return e.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,Yn).distanceTo(A)}getBoundingSphere(A){return this.isEmpty()?A.makeEmpty():(this.getCenter(A.center),A.radius=.5*this.getSize(Yn).length()),A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()||(Dn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),Dn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),Dn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),Dn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),Dn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),Dn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),Dn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),Dn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(Dn)),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const Dn=[new Mn,new Mn,new Mn,new Mn,new Mn,new Mn,new Mn,new Mn],Yn=new Mn,fn=new Fn,Nn=new Mn,Un=new Mn,yn=new Mn,xn=new Mn,Tn=new Mn,Rn=new Mn,Gn=new Mn,Sn=new Mn,Hn=new Mn,bn=new Mn;function kn(A,e,t,n,i){for(let r=0,s=A.length-3;r<=s;r+=3){bn.fromArray(A,r);const s=i.x*Math.abs(bn.x)+i.y*Math.abs(bn.y)+i.z*Math.abs(bn.z),o=e.dot(bn),a=t.dot(bn),B=n.dot(bn);if(Math.max(-Math.max(o,a,B),Math.min(o,a,B))>s)return!1}return!0}const Jn=new Fn,jn=new Mn,zn=new Mn;class vn{constructor(A=new Mn,e=-1){this.center=A,this.radius=e}set(A,e){return this.center.copy(A),this.radius=e,this}setFromPoints(A,e){const t=this.center;void 0!==e?t.copy(e):Jn.setFromPoints(A).getCenter(t);let n=0;for(let e=0,i=A.length;e<i;e++)n=Math.max(n,t.distanceToSquared(A[e]));return this.radius=Math.sqrt(n),this}copy(A){return this.center.copy(A.center),this.radius=A.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(A){return A.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(A){return A.distanceTo(this.center)-this.radius}intersectsSphere(A){const e=this.radius+A.radius;return A.center.distanceToSquared(this.center)<=e*e}intersectsBox(A){return A.intersectsSphere(this)}intersectsPlane(A){return Math.abs(A.distanceToPoint(this.center))<=this.radius}clampPoint(A,e){const t=this.center.distanceToSquared(A);return e.copy(A),t>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){if(this.isEmpty())return this.center.copy(A),this.radius=0,this;jn.subVectors(A,this.center);const e=jn.lengthSq();if(e>this.radius*this.radius){const A=Math.sqrt(e),t=.5*(A-this.radius);this.center.addScaledVector(jn,t/A),this.radius+=t}return this}union(A){return A.isEmpty()?this:this.isEmpty()?(this.copy(A),this):(!0===this.center.equals(A.center)?this.radius=Math.max(this.radius,A.radius):(zn.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(jn.copy(A.center).add(zn)),this.expandByPoint(jn.copy(A.center).sub(zn))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Ln=new Mn,Pn=new Mn,On=new Mn,Wn=new Mn,Vn=new Mn,Kn=new Mn,Xn=new Mn;class Zn{constructor(A=new Mn,e=new Mn(0,0,-1)){this.origin=A,this.direction=e}set(A,e){return this.origin.copy(A),this.direction.copy(e),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,e){return e.copy(this.origin).addScaledVector(this.direction,A)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,Ln)),this}closestPointToPoint(A,e){e.subVectors(A,this.origin);const t=e.dot(this.direction);return t<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,t)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){const e=Ln.subVectors(A,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(A):(Ln.copy(this.origin).addScaledVector(this.direction,e),Ln.distanceToSquared(A))}distanceSqToSegment(A,e,t,n){Pn.copy(A).add(e).multiplyScalar(.5),On.copy(e).sub(A).normalize(),Wn.copy(this.origin).sub(Pn);const i=.5*A.distanceTo(e),r=-this.direction.dot(On),s=Wn.dot(this.direction),o=-Wn.dot(On),a=Wn.lengthSq(),B=Math.abs(1-r*r);let c,g,Q,E;if(B>0)if(c=r*o-s,g=r*s-o,E=i*B,c>=0)if(g>=-E)if(g<=E){const A=1/B;c*=A,g*=A,Q=c*(c+r*g+2*s)+g*(r*c+g+2*o)+a}else g=i,c=Math.max(0,-(r*g+s)),Q=-c*c+g*(g+2*o)+a;else g=-i,c=Math.max(0,-(r*g+s)),Q=-c*c+g*(g+2*o)+a;else g<=-E?(c=Math.max(0,-(-r*i+s)),g=c>0?-i:Math.min(Math.max(-i,-o),i),Q=-c*c+g*(g+2*o)+a):g<=E?(c=0,g=Math.min(Math.max(-i,-o),i),Q=g*(g+2*o)+a):(c=Math.max(0,-(r*i+s)),g=c>0?i:Math.min(Math.max(-i,-o),i),Q=-c*c+g*(g+2*o)+a);else g=r>0?-i:i,c=Math.max(0,-(r*g+s)),Q=-c*c+g*(g+2*o)+a;return t&&t.copy(this.origin).addScaledVector(this.direction,c),n&&n.copy(Pn).addScaledVector(On,g),Q}intersectSphere(A,e){Ln.subVectors(A.center,this.origin);const t=Ln.dot(this.direction),n=Ln.dot(Ln)-t*t,i=A.radius*A.radius;if(n>i)return null;const r=Math.sqrt(i-n),s=t-r,o=t+r;return o<0?null:s<0?this.at(o,e):this.at(s,e)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){const e=A.normal.dot(this.direction);if(0===e)return 0===A.distanceToPoint(this.origin)?0:null;const t=-(this.origin.dot(A.normal)+A.constant)/e;return t>=0?t:null}intersectPlane(A,e){const t=this.distanceToPlane(A);return null===t?null:this.at(t,e)}intersectsPlane(A){const e=A.distanceToPoint(this.origin);if(0===e)return!0;return A.normal.dot(this.direction)*e<0}intersectBox(A,e){let t,n,i,r,s,o;const a=1/this.direction.x,B=1/this.direction.y,c=1/this.direction.z,g=this.origin;return a>=0?(t=(A.min.x-g.x)*a,n=(A.max.x-g.x)*a):(t=(A.max.x-g.x)*a,n=(A.min.x-g.x)*a),B>=0?(i=(A.min.y-g.y)*B,r=(A.max.y-g.y)*B):(i=(A.max.y-g.y)*B,r=(A.min.y-g.y)*B),t>r||i>n?null:((i>t||isNaN(t))&&(t=i),(r<n||isNaN(n))&&(n=r),c>=0?(s=(A.min.z-g.z)*c,o=(A.max.z-g.z)*c):(s=(A.max.z-g.z)*c,o=(A.min.z-g.z)*c),t>o||s>n?null:((s>t||t!=t)&&(t=s),(o<n||n!=n)&&(n=o),n<0?null:this.at(t>=0?t:n,e)))}intersectsBox(A){return null!==this.intersectBox(A,Ln)}intersectTriangle(A,e,t,n,i){Vn.subVectors(e,A),Kn.subVectors(t,A),Xn.crossVectors(Vn,Kn);let r,s=this.direction.dot(Xn);if(s>0){if(n)return null;r=1}else{if(!(s<0))return null;r=-1,s=-s}Wn.subVectors(this.origin,A);const o=r*this.direction.dot(Kn.crossVectors(Wn,Kn));if(o<0)return null;const a=r*this.direction.dot(Vn.cross(Wn));if(a<0)return null;if(o+a>s)return null;const B=-r*Wn.dot(Xn);return B<0?null:this.at(B/s,i)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class _n{constructor(A,e,t,n,i,r,s,o,a,B,c,g,Q,E,l,u){_n.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==A&&this.set(A,e,t,n,i,r,s,o,a,B,c,g,Q,E,l,u)}set(A,e,t,n,i,r,s,o,a,B,c,g,Q,E,l,u){const w=this.elements;return w[0]=A,w[4]=e,w[8]=t,w[12]=n,w[1]=i,w[5]=r,w[9]=s,w[13]=o,w[2]=a,w[6]=B,w[10]=c,w[14]=g,w[3]=Q,w[7]=E,w[11]=l,w[15]=u,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new _n).fromArray(this.elements)}copy(A){const e=this.elements,t=A.elements;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this}copyPosition(A){const e=this.elements,t=A.elements;return e[12]=t[12],e[13]=t[13],e[14]=t[14],this}setFromMatrix3(A){const e=A.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(A,e,t){return A.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),t.setFromMatrixColumn(this,2),this}makeBasis(A,e,t){return this.set(A.x,e.x,t.x,0,A.y,e.y,t.y,0,A.z,e.z,t.z,0,0,0,0,1),this}extractRotation(A){const e=this.elements,t=A.elements,n=1/qn.setFromMatrixColumn(A,0).length(),i=1/qn.setFromMatrixColumn(A,1).length(),r=1/qn.setFromMatrixColumn(A,2).length();return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=0,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=0,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(A){const e=this.elements,t=A.x,n=A.y,i=A.z,r=Math.cos(t),s=Math.sin(t),o=Math.cos(n),a=Math.sin(n),B=Math.cos(i),c=Math.sin(i);if("XYZ"===A.order){const A=r*B,t=r*c,n=s*B,i=s*c;e[0]=o*B,e[4]=-o*c,e[8]=a,e[1]=t+n*a,e[5]=A-i*a,e[9]=-s*o,e[2]=i-A*a,e[6]=n+t*a,e[10]=r*o}else if("YXZ"===A.order){const A=o*B,t=o*c,n=a*B,i=a*c;e[0]=A+i*s,e[4]=n*s-t,e[8]=r*a,e[1]=r*c,e[5]=r*B,e[9]=-s,e[2]=t*s-n,e[6]=i+A*s,e[10]=r*o}else if("ZXY"===A.order){const A=o*B,t=o*c,n=a*B,i=a*c;e[0]=A-i*s,e[4]=-r*c,e[8]=n+t*s,e[1]=t+n*s,e[5]=r*B,e[9]=i-A*s,e[2]=-r*a,e[6]=s,e[10]=r*o}else if("ZYX"===A.order){const A=r*B,t=r*c,n=s*B,i=s*c;e[0]=o*B,e[4]=n*a-t,e[8]=A*a+i,e[1]=o*c,e[5]=i*a+A,e[9]=t*a-n,e[2]=-a,e[6]=s*o,e[10]=r*o}else if("YZX"===A.order){const A=r*o,t=r*a,n=s*o,i=s*a;e[0]=o*B,e[4]=i-A*c,e[8]=n*c+t,e[1]=c,e[5]=r*B,e[9]=-s*B,e[2]=-a*B,e[6]=t*c+n,e[10]=A-i*c}else if("XZY"===A.order){const A=r*o,t=r*a,n=s*o,i=s*a;e[0]=o*B,e[4]=-c,e[8]=a*B,e[1]=A*c+i,e[5]=r*B,e[9]=t*c-n,e[2]=n*c-t,e[6]=s*B,e[10]=i*c+A}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(A){return this.compose(Ai,A,ei)}lookAt(A,e,t){const n=this.elements;return ii.subVectors(A,e),0===ii.lengthSq()&&(ii.z=1),ii.normalize(),ti.crossVectors(t,ii),0===ti.lengthSq()&&(1===Math.abs(t.z)?ii.x+=1e-4:ii.z+=1e-4,ii.normalize(),ti.crossVectors(t,ii)),ti.normalize(),ni.crossVectors(ii,ti),n[0]=ti.x,n[4]=ni.x,n[8]=ii.x,n[1]=ti.y,n[5]=ni.y,n[9]=ii.y,n[2]=ti.z,n[6]=ni.z,n[10]=ii.z,this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,e){const t=A.elements,n=e.elements,i=this.elements,r=t[0],s=t[4],o=t[8],a=t[12],B=t[1],c=t[5],g=t[9],Q=t[13],E=t[2],l=t[6],u=t[10],w=t[14],h=t[3],C=t[7],d=t[11],I=t[15],M=n[0],p=n[4],m=n[8],F=n[12],D=n[1],Y=n[5],f=n[9],N=n[13],U=n[2],y=n[6],x=n[10],T=n[14],R=n[3],G=n[7],S=n[11],H=n[15];return i[0]=r*M+s*D+o*U+a*R,i[4]=r*p+s*Y+o*y+a*G,i[8]=r*m+s*f+o*x+a*S,i[12]=r*F+s*N+o*T+a*H,i[1]=B*M+c*D+g*U+Q*R,i[5]=B*p+c*Y+g*y+Q*G,i[9]=B*m+c*f+g*x+Q*S,i[13]=B*F+c*N+g*T+Q*H,i[2]=E*M+l*D+u*U+w*R,i[6]=E*p+l*Y+u*y+w*G,i[10]=E*m+l*f+u*x+w*S,i[14]=E*F+l*N+u*T+w*H,i[3]=h*M+C*D+d*U+I*R,i[7]=h*p+C*Y+d*y+I*G,i[11]=h*m+C*f+d*x+I*S,i[15]=h*F+C*N+d*T+I*H,this}multiplyScalar(A){const e=this.elements;return e[0]*=A,e[4]*=A,e[8]*=A,e[12]*=A,e[1]*=A,e[5]*=A,e[9]*=A,e[13]*=A,e[2]*=A,e[6]*=A,e[10]*=A,e[14]*=A,e[3]*=A,e[7]*=A,e[11]*=A,e[15]*=A,this}determinant(){const A=this.elements,e=A[0],t=A[4],n=A[8],i=A[12],r=A[1],s=A[5],o=A[9],a=A[13],B=A[2],c=A[6],g=A[10],Q=A[14];return A[3]*(+i*o*c-n*a*c-i*s*g+t*a*g+n*s*Q-t*o*Q)+A[7]*(+e*o*Q-e*a*g+i*r*g-n*r*Q+n*a*B-i*o*B)+A[11]*(+e*a*c-e*s*Q-i*r*c+t*r*Q+i*s*B-t*a*B)+A[15]*(-n*s*B-e*o*c+e*s*g+n*r*c-t*r*g+t*o*B)}transpose(){const A=this.elements;let e;return e=A[1],A[1]=A[4],A[4]=e,e=A[2],A[2]=A[8],A[8]=e,e=A[6],A[6]=A[9],A[9]=e,e=A[3],A[3]=A[12],A[12]=e,e=A[7],A[7]=A[13],A[13]=e,e=A[11],A[11]=A[14],A[14]=e,this}setPosition(A,e,t){const n=this.elements;return A.isVector3?(n[12]=A.x,n[13]=A.y,n[14]=A.z):(n[12]=A,n[13]=e,n[14]=t),this}invert(){const A=this.elements,e=A[0],t=A[1],n=A[2],i=A[3],r=A[4],s=A[5],o=A[6],a=A[7],B=A[8],c=A[9],g=A[10],Q=A[11],E=A[12],l=A[13],u=A[14],w=A[15],h=c*u*a-l*g*a+l*o*Q-s*u*Q-c*o*w+s*g*w,C=E*g*a-B*u*a-E*o*Q+r*u*Q+B*o*w-r*g*w,d=B*l*a-E*c*a+E*s*Q-r*l*Q-B*s*w+r*c*w,I=E*c*o-B*l*o-E*s*g+r*l*g+B*s*u-r*c*u,M=e*h+t*C+n*d+i*I;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const p=1/M;return A[0]=h*p,A[1]=(l*g*i-c*u*i-l*n*Q+t*u*Q+c*n*w-t*g*w)*p,A[2]=(s*u*i-l*o*i+l*n*a-t*u*a-s*n*w+t*o*w)*p,A[3]=(c*o*i-s*g*i-c*n*a+t*g*a+s*n*Q-t*o*Q)*p,A[4]=C*p,A[5]=(B*u*i-E*g*i+E*n*Q-e*u*Q-B*n*w+e*g*w)*p,A[6]=(E*o*i-r*u*i-E*n*a+e*u*a+r*n*w-e*o*w)*p,A[7]=(r*g*i-B*o*i+B*n*a-e*g*a-r*n*Q+e*o*Q)*p,A[8]=d*p,A[9]=(E*c*i-B*l*i-E*t*Q+e*l*Q+B*t*w-e*c*w)*p,A[10]=(r*l*i-E*s*i+E*t*a-e*l*a-r*t*w+e*s*w)*p,A[11]=(B*s*i-r*c*i-B*t*a+e*c*a+r*t*Q-e*s*Q)*p,A[12]=I*p,A[13]=(B*l*n-E*c*n+E*t*g-e*l*g-B*t*u+e*c*u)*p,A[14]=(E*s*n-r*l*n-E*t*o+e*l*o+r*t*u-e*s*u)*p,A[15]=(r*c*n-B*s*n+B*t*o-e*c*o-r*t*g+e*s*g)*p,this}scale(A){const e=this.elements,t=A.x,n=A.y,i=A.z;return e[0]*=t,e[4]*=n,e[8]*=i,e[1]*=t,e[5]*=n,e[9]*=i,e[2]*=t,e[6]*=n,e[10]*=i,e[3]*=t,e[7]*=n,e[11]*=i,this}getMaxScaleOnAxis(){const A=this.elements,e=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],t=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],n=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(e,t,n))}makeTranslation(A,e,t){return A.isVector3?this.set(1,0,0,A.x,0,1,0,A.y,0,0,1,A.z,0,0,0,1):this.set(1,0,0,A,0,1,0,e,0,0,1,t,0,0,0,1),this}makeRotationX(A){const e=Math.cos(A),t=Math.sin(A);return this.set(1,0,0,0,0,e,-t,0,0,t,e,0,0,0,0,1),this}makeRotationY(A){const e=Math.cos(A),t=Math.sin(A);return this.set(e,0,t,0,0,1,0,0,-t,0,e,0,0,0,0,1),this}makeRotationZ(A){const e=Math.cos(A),t=Math.sin(A);return this.set(e,-t,0,0,t,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,e){const t=Math.cos(e),n=Math.sin(e),i=1-t,r=A.x,s=A.y,o=A.z,a=i*r,B=i*s;return this.set(a*r+t,a*s-n*o,a*o+n*s,0,a*s+n*o,B*s+t,B*o-n*r,0,a*o-n*s,B*o+n*r,i*o*o+t,0,0,0,0,1),this}makeScale(A,e,t){return this.set(A,0,0,0,0,e,0,0,0,0,t,0,0,0,0,1),this}makeShear(A,e,t,n,i,r){return this.set(1,t,i,0,A,1,r,0,e,n,1,0,0,0,0,1),this}compose(A,e,t){const n=this.elements,i=e._x,r=e._y,s=e._z,o=e._w,a=i+i,B=r+r,c=s+s,g=i*a,Q=i*B,E=i*c,l=r*B,u=r*c,w=s*c,h=o*a,C=o*B,d=o*c,I=t.x,M=t.y,p=t.z;return n[0]=(1-(l+w))*I,n[1]=(Q+d)*I,n[2]=(E-C)*I,n[3]=0,n[4]=(Q-d)*M,n[5]=(1-(g+w))*M,n[6]=(u+h)*M,n[7]=0,n[8]=(E+C)*p,n[9]=(u-h)*p,n[10]=(1-(g+l))*p,n[11]=0,n[12]=A.x,n[13]=A.y,n[14]=A.z,n[15]=1,this}decompose(A,e,t){const n=this.elements;let i=qn.set(n[0],n[1],n[2]).length();const r=qn.set(n[4],n[5],n[6]).length(),s=qn.set(n[8],n[9],n[10]).length();this.determinant()<0&&(i=-i),A.x=n[12],A.y=n[13],A.z=n[14],$n.copy(this);const o=1/i,a=1/r,B=1/s;return $n.elements[0]*=o,$n.elements[1]*=o,$n.elements[2]*=o,$n.elements[4]*=a,$n.elements[5]*=a,$n.elements[6]*=a,$n.elements[8]*=B,$n.elements[9]*=B,$n.elements[10]*=B,e.setFromRotationMatrix($n),t.x=i,t.y=r,t.z=s,this}makePerspective(A,e,t,n,i,r,s=Yt){const o=this.elements,a=2*i/(e-A),B=2*i/(t-n),c=(e+A)/(e-A),g=(t+n)/(t-n);let Q,E;if(s===Yt)Q=-(r+i)/(r-i),E=-2*r*i/(r-i);else{if(s!==ft)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+s);Q=-r/(r-i),E=-r*i/(r-i)}return o[0]=a,o[4]=0,o[8]=c,o[12]=0,o[1]=0,o[5]=B,o[9]=g,o[13]=0,o[2]=0,o[6]=0,o[10]=Q,o[14]=E,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}makeOrthographic(A,e,t,n,i,r,s=Yt){const o=this.elements,a=1/(e-A),B=1/(t-n),c=1/(r-i),g=(e+A)*a,Q=(t+n)*B;let E,l;if(s===Yt)E=(r+i)*c,l=-2*c;else{if(s!==ft)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+s);E=i*c,l=-1*c}return o[0]=2*a,o[4]=0,o[8]=0,o[12]=-g,o[1]=0,o[5]=2*B,o[9]=0,o[13]=-Q,o[2]=0,o[6]=0,o[10]=l,o[14]=-E,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}equals(A){const e=this.elements,t=A.elements;for(let A=0;A<16;A++)if(e[A]!==t[A])return!1;return!0}fromArray(A,e=0){for(let t=0;t<16;t++)this.elements[t]=A[t+e];return this}toArray(A=[],e=0){const t=this.elements;return A[e]=t[0],A[e+1]=t[1],A[e+2]=t[2],A[e+3]=t[3],A[e+4]=t[4],A[e+5]=t[5],A[e+6]=t[6],A[e+7]=t[7],A[e+8]=t[8],A[e+9]=t[9],A[e+10]=t[10],A[e+11]=t[11],A[e+12]=t[12],A[e+13]=t[13],A[e+14]=t[14],A[e+15]=t[15],A}}const qn=new Mn,$n=new _n,Ai=new Mn(0,0,0),ei=new Mn(1,1,1),ti=new Mn,ni=new Mn,ii=new Mn,ri=new _n,si=new In;class oi{constructor(A=0,e=0,t=0,n=oi.DEFAULT_ORDER){this.isEuler=!0,this._x=A,this._y=e,this._z=t,this._order=n}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,e,t,n=this._order){return this._x=A,this._y=e,this._z=t,this._order=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,e=this._order,t=!0){const n=A.elements,i=n[0],r=n[4],s=n[8],o=n[1],a=n[5],B=n[9],c=n[2],g=n[6],Q=n[10];switch(e){case"XYZ":this._y=Math.asin(Gt(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-B,Q),this._z=Math.atan2(-r,i)):(this._x=Math.atan2(g,a),this._z=0);break;case"YXZ":this._x=Math.asin(-Gt(B,-1,1)),Math.abs(B)<.9999999?(this._y=Math.atan2(s,Q),this._z=Math.atan2(o,a)):(this._y=Math.atan2(-c,i),this._z=0);break;case"ZXY":this._x=Math.asin(Gt(g,-1,1)),Math.abs(g)<.9999999?(this._y=Math.atan2(-c,Q),this._z=Math.atan2(-r,a)):(this._y=0,this._z=Math.atan2(o,i));break;case"ZYX":this._y=Math.asin(-Gt(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(g,Q),this._z=Math.atan2(o,i)):(this._x=0,this._z=Math.atan2(-r,a));break;case"YZX":this._z=Math.asin(Gt(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-B,a),this._y=Math.atan2(-c,i)):(this._x=0,this._y=Math.atan2(s,Q));break;case"XZY":this._z=Math.asin(-Gt(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(g,a),this._y=Math.atan2(s,i)):(this._x=Math.atan2(-B,Q),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!0===t&&this._onChangeCallback(),this}setFromQuaternion(A,e,t){return ri.makeRotationFromQuaternion(A),this.setFromRotationMatrix(ri,e,t)}setFromVector3(A,e=this._order){return this.set(A.x,A.y,A.z,e)}reorder(A){return si.setFromEuler(this),this.setFromQuaternion(si,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],void 0!==A[3]&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],e=0){return A[e]=this._x,A[e+1]=this._y,A[e+2]=this._z,A[e+3]=this._order,A}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}oi.DEFAULT_ORDER="XYZ";class ai{constructor(){this.mask=1}set(A){this.mask=(1<<A|0)>>>0}enable(A){this.mask|=1<<A|0}enableAll(){this.mask=-1}toggle(A){this.mask^=1<<A|0}disable(A){this.mask&=~(1<<A|0)}disableAll(){this.mask=0}test(A){return 0!=(this.mask&A.mask)}isEnabled(A){return 0!=(this.mask&(1<<A|0))}}let Bi=0;const ci=new Mn,gi=new In,Qi=new _n,Ei=new Mn,li=new Mn,ui=new Mn,wi=new In,hi=new Mn(1,0,0),Ci=new Mn(0,1,0),di=new Mn(0,0,1),Ii={type:"added"},Mi={type:"removed"};class pi extends Nt{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:Bi++}),this.uuid=Rt(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=pi.DEFAULT_UP.clone();const A=new Mn,e=new oi,t=new In,n=new Mn(1,1,1);e._onChange((function(){t.setFromEuler(e,!1)})),t._onChange((function(){e.setFromQuaternion(t,void 0,!1)})),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:A},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:t},scale:{configurable:!0,enumerable:!0,value:n},modelViewMatrix:{value:new _n},normalMatrix:{value:new Pt}}),this.matrix=new _n,this.matrixWorld=new _n,this.matrixAutoUpdate=pi.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.matrixWorldAutoUpdate=pi.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.layers=new ai,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(A){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(A),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(A){return this.quaternion.premultiply(A),this}setRotationFromAxisAngle(A,e){this.quaternion.setFromAxisAngle(A,e)}setRotationFromEuler(A){this.quaternion.setFromEuler(A,!0)}setRotationFromMatrix(A){this.quaternion.setFromRotationMatrix(A)}setRotationFromQuaternion(A){this.quaternion.copy(A)}rotateOnAxis(A,e){return gi.setFromAxisAngle(A,e),this.quaternion.multiply(gi),this}rotateOnWorldAxis(A,e){return gi.setFromAxisAngle(A,e),this.quaternion.premultiply(gi),this}rotateX(A){return this.rotateOnAxis(hi,A)}rotateY(A){return this.rotateOnAxis(Ci,A)}rotateZ(A){return this.rotateOnAxis(di,A)}translateOnAxis(A,e){return ci.copy(A).applyQuaternion(this.quaternion),this.position.add(ci.multiplyScalar(e)),this}translateX(A){return this.translateOnAxis(hi,A)}translateY(A){return this.translateOnAxis(Ci,A)}translateZ(A){return this.translateOnAxis(di,A)}localToWorld(A){return this.updateWorldMatrix(!0,!1),A.applyMatrix4(this.matrixWorld)}worldToLocal(A){return this.updateWorldMatrix(!0,!1),A.applyMatrix4(Qi.copy(this.matrixWorld).invert())}lookAt(A,e,t){A.isVector3?Ei.copy(A):Ei.set(A,e,t);const n=this.parent;this.updateWorldMatrix(!0,!1),li.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Qi.lookAt(li,Ei,this.up):Qi.lookAt(Ei,li,this.up),this.quaternion.setFromRotationMatrix(Qi),n&&(Qi.extractRotation(n.matrixWorld),gi.setFromRotationMatrix(Qi),this.quaternion.premultiply(gi.invert()))}add(A){if(arguments.length>1){for(let A=0;A<arguments.length;A++)this.add(arguments[A]);return this}return A===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",A),this):(A&&A.isObject3D?(null!==A.parent&&A.parent.remove(A),A.parent=this,this.children.push(A),A.dispatchEvent(Ii)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",A),this)}remove(A){if(arguments.length>1){for(let A=0;A<arguments.length;A++)this.remove(arguments[A]);return this}const e=this.children.indexOf(A);return-1!==e&&(A.parent=null,this.children.splice(e,1),A.dispatchEvent(Mi)),this}removeFromParent(){const A=this.parent;return null!==A&&A.remove(this),this}clear(){for(let A=0;A<this.children.length;A++){const e=this.children[A];e.parent=null,e.dispatchEvent(Mi)}return this.children.length=0,this}attach(A){return this.updateWorldMatrix(!0,!1),Qi.copy(this.matrixWorld).invert(),null!==A.parent&&(A.parent.updateWorldMatrix(!0,!1),Qi.multiply(A.parent.matrixWorld)),A.applyMatrix4(Qi),this.add(A),A.updateWorldMatrix(!1,!0),this}getObjectById(A){return this.getObjectByProperty("id",A)}getObjectByName(A){return this.getObjectByProperty("name",A)}getObjectByProperty(A,e){if(this[A]===e)return this;for(let t=0,n=this.children.length;t<n;t++){const n=this.children[t].getObjectByProperty(A,e);if(void 0!==n)return n}}getObjectsByProperty(A,e){let t=[];this[A]===e&&t.push(this);for(let n=0,i=this.children.length;n<i;n++){const i=this.children[n].getObjectsByProperty(A,e);i.length>0&&(t=t.concat(i))}return t}getWorldPosition(A){return this.updateWorldMatrix(!0,!1),A.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(A){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(li,A,ui),A}getWorldScale(A){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(li,wi,A),A}getWorldDirection(A){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return A.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(A){A(this);const e=this.children;for(let t=0,n=e.length;t<n;t++)e[t].traverse(A)}traverseVisible(A){if(!1===this.visible)return;A(this);const e=this.children;for(let t=0,n=e.length;t<n;t++)e[t].traverseVisible(A)}traverseAncestors(A){const e=this.parent;null!==e&&(A(e),e.traverseAncestors(A))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(A){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||A)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,A=!0);const e=this.children;for(let t=0,n=e.length;t<n;t++){const n=e[t];!0!==n.matrixWorldAutoUpdate&&!0!==A||n.updateMatrixWorld(A)}}updateWorldMatrix(A,e){const t=this.parent;if(!0===A&&null!==t&&!0===t.matrixWorldAutoUpdate&&t.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===e){const A=this.children;for(let e=0,t=A.length;e<t;e++){const t=A[e];!0===t.matrixWorldAutoUpdate&&t.updateWorldMatrix(!1,!0)}}}toJSON(A){const e=void 0===A||"string"==typeof A,t={};e&&(A={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},t.metadata={version:4.6,type:"Object",generator:"Object3D.toJSON"});const n={};function i(e,t){return void 0===e[t.uuid]&&(e[t.uuid]=t.toJSON(A)),t.uuid}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),!0===this.castShadow&&(n.castShadow=!0),!0===this.receiveShadow&&(n.receiveShadow=!0),!1===this.visible&&(n.visible=!1),!1===this.frustumCulled&&(n.frustumCulled=!1),0!==this.renderOrder&&(n.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(n.userData=this.userData),n.layers=this.layers.mask,n.matrix=this.matrix.toArray(),n.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(n.matrixAutoUpdate=!1),this.isInstancedMesh&&(n.type="InstancedMesh",n.count=this.count,n.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(n.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?n.background=this.background.toJSON():this.background.isTexture&&(n.background=this.background.toJSON(A).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(n.environment=this.environment.toJSON(A).uuid);else if(this.isMesh||this.isLine||this.isPoints){n.geometry=i(A.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const t=e.shapes;if(Array.isArray(t))for(let e=0,n=t.length;e<n;e++){const n=t[e];i(A.shapes,n)}else i(A.shapes,t)}}if(this.isSkinnedMesh&&(n.bindMode=this.bindMode,n.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(i(A.skeletons,this.skeleton),n.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){const e=[];for(let t=0,n=this.material.length;t<n;t++)e.push(i(A.materials,this.material[t]));n.material=e}else n.material=i(A.materials,this.material);if(this.children.length>0){n.children=[];for(let e=0;e<this.children.length;e++)n.children.push(this.children[e].toJSON(A).object)}if(this.animations.length>0){n.animations=[];for(let e=0;e<this.animations.length;e++){const t=this.animations[e];n.animations.push(i(A.animations,t))}}if(e){const e=r(A.geometries),n=r(A.materials),i=r(A.textures),s=r(A.images),o=r(A.shapes),a=r(A.skeletons),B=r(A.animations),c=r(A.nodes);e.length>0&&(t.geometries=e),n.length>0&&(t.materials=n),i.length>0&&(t.textures=i),s.length>0&&(t.images=s),o.length>0&&(t.shapes=o),a.length>0&&(t.skeletons=a),B.length>0&&(t.animations=B),c.length>0&&(t.nodes=c)}return t.object=n,t;function r(A){const e=[];for(const t in A){const n=A[t];delete n.metadata,e.push(n)}return e}}clone(A){return(new this.constructor).copy(this,A)}copy(A,e=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=A.matrixWorldAutoUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.animations=A.animations,this.userData=JSON.parse(JSON.stringify(A.userData)),!0===e)for(let e=0;e<A.children.length;e++){const t=A.children[e];this.add(t.clone())}return this}}pi.DEFAULT_UP=new Mn(0,1,0),pi.DEFAULT_MATRIX_AUTO_UPDATE=!0,pi.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const mi=new Mn,Fi=new Mn,Di=new Mn,Yi=new Mn,fi=new Mn,Ni=new Mn,Ui=new Mn,yi=new Mn,xi=new Mn,Ti=new Mn;let Ri=!1;class Gi{constructor(A=new Mn,e=new Mn,t=new Mn){this.a=A,this.b=e,this.c=t}static getNormal(A,e,t,n){n.subVectors(t,e),mi.subVectors(A,e),n.cross(mi);const i=n.lengthSq();return i>0?n.multiplyScalar(1/Math.sqrt(i)):n.set(0,0,0)}static getBarycoord(A,e,t,n,i){mi.subVectors(n,e),Fi.subVectors(t,e),Di.subVectors(A,e);const r=mi.dot(mi),s=mi.dot(Fi),o=mi.dot(Di),a=Fi.dot(Fi),B=Fi.dot(Di),c=r*a-s*s;if(0===c)return i.set(-2,-1,-1);const g=1/c,Q=(a*o-s*B)*g,E=(r*B-s*o)*g;return i.set(1-Q-E,E,Q)}static containsPoint(A,e,t,n){return this.getBarycoord(A,e,t,n,Yi),Yi.x>=0&&Yi.y>=0&&Yi.x+Yi.y<=1}static getUV(A,e,t,n,i,r,s,o){return!1===Ri&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Ri=!0),this.getInterpolation(A,e,t,n,i,r,s,o)}static getInterpolation(A,e,t,n,i,r,s,o){return this.getBarycoord(A,e,t,n,Yi),o.setScalar(0),o.addScaledVector(i,Yi.x),o.addScaledVector(r,Yi.y),o.addScaledVector(s,Yi.z),o}static isFrontFacing(A,e,t,n){return mi.subVectors(t,e),Fi.subVectors(A,e),mi.cross(Fi).dot(n)<0}set(A,e,t){return this.a.copy(A),this.b.copy(e),this.c.copy(t),this}setFromPointsAndIndices(A,e,t,n){return this.a.copy(A[e]),this.b.copy(A[t]),this.c.copy(A[n]),this}setFromAttributeAndIndices(A,e,t,n){return this.a.fromBufferAttribute(A,e),this.b.fromBufferAttribute(A,t),this.c.fromBufferAttribute(A,n),this}clone(){return(new this.constructor).copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return mi.subVectors(this.c,this.b),Fi.subVectors(this.a,this.b),.5*mi.cross(Fi).length()}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return Gi.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,e){return Gi.getBarycoord(A,this.a,this.b,this.c,e)}getUV(A,e,t,n,i){return!1===Ri&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Ri=!0),Gi.getInterpolation(A,this.a,this.b,this.c,e,t,n,i)}getInterpolation(A,e,t,n,i){return Gi.getInterpolation(A,this.a,this.b,this.c,e,t,n,i)}containsPoint(A){return Gi.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return Gi.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,e){const t=this.a,n=this.b,i=this.c;let r,s;fi.subVectors(n,t),Ni.subVectors(i,t),yi.subVectors(A,t);const o=fi.dot(yi),a=Ni.dot(yi);if(o<=0&&a<=0)return e.copy(t);xi.subVectors(A,n);const B=fi.dot(xi),c=Ni.dot(xi);if(B>=0&&c<=B)return e.copy(n);const g=o*c-B*a;if(g<=0&&o>=0&&B<=0)return r=o/(o-B),e.copy(t).addScaledVector(fi,r);Ti.subVectors(A,i);const Q=fi.dot(Ti),E=Ni.dot(Ti);if(E>=0&&Q<=E)return e.copy(i);const l=Q*a-o*E;if(l<=0&&a>=0&&E<=0)return s=a/(a-E),e.copy(t).addScaledVector(Ni,s);const u=B*E-Q*c;if(u<=0&&c-B>=0&&Q-E>=0)return Ui.subVectors(i,n),s=(c-B)/(c-B+(Q-E)),e.copy(n).addScaledVector(Ui,s);const w=1/(u+l+g);return r=l*w,s=g*w,e.copy(t).addScaledVector(fi,r).addScaledVector(Ni,s)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}let Si=0;class Hi extends Nt{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:Si++}),this.uuid=Rt(),this.name="",this.type="Material",this.blending=d,this.side=l,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=R,this.blendDst=G,this.blendEquation=F,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=L,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=rt,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Oe,this.stencilZFail=Oe,this.stencilZPass=Oe,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(A){this._alphaTest>0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(void 0!==A)for(const e in A){const t=A[e];if(void 0===t){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const n=this[e];void 0!==n?n&&n.isColor?n.set(t):n&&n.isVector3&&t&&t.isVector3?n.copy(t):this[e]=t:console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`)}}toJSON(A){const e=void 0===A||"string"==typeof A;e&&(A={textures:{},images:{}});const t={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function n(A){const e=[];for(const t in A){const n=A[t];delete n.metadata,e.push(n)}return e}if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),this.color&&this.color.isColor&&(t.color=this.color.getHex()),void 0!==this.roughness&&(t.roughness=this.roughness),void 0!==this.metalness&&(t.metalness=this.metalness),void 0!==this.sheen&&(t.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(t.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(t.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(t.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(t.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(t.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(t.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(t.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(t.shininess=this.shininess),void 0!==this.clearcoat&&(t.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(t.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(t.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(t.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(t.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,t.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(t.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(t.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(t.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(t.iridescenceMap=this.iridescenceMap.toJSON(A).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(t.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(A).uuid),void 0!==this.anisotropy&&(t.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(t.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(t.anisotropyMap=this.anisotropyMap.toJSON(A).uuid),this.map&&this.map.isTexture&&(t.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(t.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(t.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(t.lightMap=this.lightMap.toJSON(A).uuid,t.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(t.aoMap=this.aoMap.toJSON(A).uuid,t.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(t.bumpMap=this.bumpMap.toJSON(A).uuid,t.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(t.normalMap=this.normalMap.toJSON(A).uuid,t.normalMapType=this.normalMapType,t.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(t.displacementMap=this.displacementMap.toJSON(A).uuid,t.displacementScale=this.displacementScale,t.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(t.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(t.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(t.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(t.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(t.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(t.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(t.envMap=this.envMap.toJSON(A).uuid,void 0!==this.combine&&(t.combine=this.combine)),void 0!==this.envMapIntensity&&(t.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(t.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(t.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(t.gradientMap=this.gradientMap.toJSON(A).uuid),void 0!==this.transmission&&(t.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(t.transmissionMap=this.transmissionMap.toJSON(A).uuid),void 0!==this.thickness&&(t.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(t.thicknessMap=this.thicknessMap.toJSON(A).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(t.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(t.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(t.size=this.size),null!==this.shadowSide&&(t.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(t.sizeAttenuation=this.sizeAttenuation),this.blending!==d&&(t.blending=this.blending),this.side!==l&&(t.side=this.side),this.vertexColors&&(t.vertexColors=!0),this.opacity<1&&(t.opacity=this.opacity),!0===this.transparent&&(t.transparent=this.transparent),t.depthFunc=this.depthFunc,t.depthTest=this.depthTest,t.depthWrite=this.depthWrite,t.colorWrite=this.colorWrite,t.stencilWrite=this.stencilWrite,t.stencilWriteMask=this.stencilWriteMask,t.stencilFunc=this.stencilFunc,t.stencilRef=this.stencilRef,t.stencilFuncMask=this.stencilFuncMask,t.stencilFail=this.stencilFail,t.stencilZFail=this.stencilZFail,t.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(t.rotation=this.rotation),!0===this.polygonOffset&&(t.polygonOffset=!0),0!==this.polygonOffsetFactor&&(t.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(t.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(t.linewidth=this.linewidth),void 0!==this.dashSize&&(t.dashSize=this.dashSize),void 0!==this.gapSize&&(t.gapSize=this.gapSize),void 0!==this.scale&&(t.scale=this.scale),!0===this.dithering&&(t.dithering=!0),this.alphaTest>0&&(t.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(t.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(t.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(t.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(t.wireframe=this.wireframe),this.wireframeLinewidth>1&&(t.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(t.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(t.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(t.flatShading=this.flatShading),!1===this.visible&&(t.visible=!1),!1===this.toneMapped&&(t.toneMapped=!1),!1===this.fog&&(t.fog=!1),Object.keys(this.userData).length>0&&(t.userData=this.userData),e){const e=n(A.textures),i=n(A.images);e.length>0&&(t.textures=e),i.length>0&&(t.images=i)}return t}clone(){return(new this.constructor).copy(this)}copy(A){this.name=A.name,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;const e=A.clippingPlanes;let t=null;if(null!==e){const A=e.length;t=new Array(A);for(let n=0;n!==A;++n)t[n]=e[n].clone()}return this.clippingPlanes=t,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.forceSinglePass=A.forceSinglePass,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){!0===A&&this.version++}}const bi={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},ki={h:0,s:0,l:0},Ji={h:0,s:0,l:0};function ji(A,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?A+6*(e-A)*t:t<.5?e:t<2/3?A+6*(e-A)*(2/3-t):A}class zi{constructor(A,e,t){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(A,e,t)}set(A,e,t){if(void 0===e&&void 0===t){const e=A;e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e)}else this.setRGB(A,e,t);return this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A,e=ze){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(255&A)/255,rn.toWorkingColorSpace(this,e),this}setRGB(A,e,t,n=rn.workingColorSpace){return this.r=A,this.g=e,this.b=t,rn.toWorkingColorSpace(this,n),this}setHSL(A,e,t,n=rn.workingColorSpace){if(A=St(A,1),e=Gt(e,0,1),t=Gt(t,0,1),0===e)this.r=this.g=this.b=t;else{const n=t<=.5?t*(1+e):t+e-t*e,i=2*t-n;this.r=ji(i,n,A+1/3),this.g=ji(i,n,A),this.b=ji(i,n,A-1/3)}return rn.toWorkingColorSpace(this,n),this}setStyle(A,e=ze){function t(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let n;if(n=/^(\w+)\(([^\)]*)\)/.exec(A)){let i;const r=n[1],s=n[2];switch(r){case"rgb":case"rgba":if(i=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return t(i[4]),this.setRGB(Math.min(255,parseInt(i[1],10))/255,Math.min(255,parseInt(i[2],10))/255,Math.min(255,parseInt(i[3],10))/255,e);if(i=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return t(i[4]),this.setRGB(Math.min(100,parseInt(i[1],10))/100,Math.min(100,parseInt(i[2],10))/100,Math.min(100,parseInt(i[3],10))/100,e);break;case"hsl":case"hsla":if(i=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))return t(i[4]),this.setHSL(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+A)}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(A)){const t=n[1],i=t.length;if(3===i)return this.setRGB(parseInt(t.charAt(0),16)/15,parseInt(t.charAt(1),16)/15,parseInt(t.charAt(2),16)/15,e);if(6===i)return this.setHex(parseInt(t,16),e);console.warn("THREE.Color: Invalid hex color "+A)}else if(A&&A.length>0)return this.setColorName(A,e);return this}setColorName(A,e=ze){const t=bi[A.toLowerCase()];return void 0!==t?this.setHex(t,e):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=qt(A.r),this.g=qt(A.g),this.b=qt(A.b),this}copyLinearToSRGB(A){return this.r=$t(A.r),this.g=$t(A.g),this.b=$t(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=ze){return rn.fromWorkingColorSpace(vi.copy(this),A),65536*Math.round(Gt(255*vi.r,0,255))+256*Math.round(Gt(255*vi.g,0,255))+Math.round(Gt(255*vi.b,0,255))}getHexString(A=ze){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,e=rn.workingColorSpace){rn.fromWorkingColorSpace(vi.copy(this),e);const t=vi.r,n=vi.g,i=vi.b,r=Math.max(t,n,i),s=Math.min(t,n,i);let o,a;const B=(s+r)/2;if(s===r)o=0,a=0;else{const A=r-s;switch(a=B<=.5?A/(r+s):A/(2-r-s),r){case t:o=(n-i)/A+(n<i?6:0);break;case n:o=(i-t)/A+2;break;case i:o=(t-n)/A+4}o/=6}return A.h=o,A.s=a,A.l=B,A}getRGB(A,e=rn.workingColorSpace){return rn.fromWorkingColorSpace(vi.copy(this),e),A.r=vi.r,A.g=vi.g,A.b=vi.b,A}getStyle(A=ze){rn.fromWorkingColorSpace(vi.copy(this),A);const e=vi.r,t=vi.g,n=vi.b;return A!==ze?`color(${A} ${e.toFixed(3)} ${t.toFixed(3)} ${n.toFixed(3)})`:`rgb(${Math.round(255*e)},${Math.round(255*t)},${Math.round(255*n)})`}offsetHSL(A,e,t){return this.getHSL(ki),ki.h+=A,ki.s+=e,ki.l+=t,this.setHSL(ki.h,ki.s,ki.l),this}add(A){return this.r+=A.r,this.g+=A.g,this.b+=A.b,this}addColors(A,e){return this.r=A.r+e.r,this.g=A.g+e.g,this.b=A.b+e.b,this}addScalar(A){return this.r+=A,this.g+=A,this.b+=A,this}sub(A){return this.r=Math.max(0,this.r-A.r),this.g=Math.max(0,this.g-A.g),this.b=Math.max(0,this.b-A.b),this}multiply(A){return this.r*=A.r,this.g*=A.g,this.b*=A.b,this}multiplyScalar(A){return this.r*=A,this.g*=A,this.b*=A,this}lerp(A,e){return this.r+=(A.r-this.r)*e,this.g+=(A.g-this.g)*e,this.b+=(A.b-this.b)*e,this}lerpColors(A,e,t){return this.r=A.r+(e.r-A.r)*t,this.g=A.g+(e.g-A.g)*t,this.b=A.b+(e.b-A.b)*t,this}lerpHSL(A,e){this.getHSL(ki),A.getHSL(Ji);const t=Ht(ki.h,Ji.h,e),n=Ht(ki.s,Ji.s,e),i=Ht(ki.l,Ji.l,e);return this.setHSL(t,n,i),this}setFromVector3(A){return this.r=A.x,this.g=A.y,this.b=A.z,this}applyMatrix3(A){const e=this.r,t=this.g,n=this.b,i=A.elements;return this.r=i[0]*e+i[3]*t+i[6]*n,this.g=i[1]*e+i[4]*t+i[7]*n,this.b=i[2]*e+i[5]*t+i[8]*n,this}equals(A){return A.r===this.r&&A.g===this.g&&A.b===this.b}fromArray(A,e=0){return this.r=A[e],this.g=A[e+1],this.b=A[e+2],this}toArray(A=[],e=0){return A[e]=this.r,A[e+1]=this.g,A[e+2]=this.b,A}fromBufferAttribute(A,e){return this.r=A.getX(e),this.g=A.getY(e),this.b=A.getZ(e),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const vi=new zi;zi.NAMES=bi;class Li extends Hi{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new zi(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=K,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}const Pi=Oi();function Oi(){const A=new ArrayBuffer(4),e=new Float32Array(A),t=new Uint32Array(A),n=new Uint32Array(512),i=new Uint32Array(512);for(let A=0;A<256;++A){const e=A-127;e<-27?(n[A]=0,n[256|A]=32768,i[A]=24,i[256|A]=24):e<-14?(n[A]=1024>>-e-14,n[256|A]=1024>>-e-14|32768,i[A]=-e-1,i[256|A]=-e-1):e<=15?(n[A]=e+15<<10,n[256|A]=e+15<<10|32768,i[A]=13,i[256|A]=13):e<128?(n[A]=31744,n[256|A]=64512,i[A]=24,i[256|A]=24):(n[A]=31744,n[256|A]=64512,i[A]=13,i[256|A]=13)}const r=new Uint32Array(2048),s=new Uint32Array(64),o=new Uint32Array(64);for(let A=1;A<1024;++A){let e=A<<13,t=0;for(;0==(8388608&e);)e<<=1,t-=8388608;e&=-8388609,t+=947912704,r[A]=e|t}for(let A=1024;A<2048;++A)r[A]=939524096+(A-1024<<13);for(let A=1;A<31;++A)s[A]=A<<23;s[31]=1199570944,s[32]=2147483648;for(let A=33;A<63;++A)s[A]=2147483648+(A-32<<23);s[63]=3347054592;for(let A=1;A<64;++A)32!==A&&(o[A]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:i,mantissaTable:r,exponentTable:s,offsetTable:o}}function Wi(A){Math.abs(A)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),A=Gt(A,-65504,65504),Pi.floatView[0]=A;const e=Pi.uint32View[0],t=e>>23&511;return Pi.baseTable[t]+((8388607&e)>>Pi.shiftTable[t])}function Vi(A){const e=A>>10;return Pi.uint32View[0]=Pi.mantissaTable[Pi.offsetTable[e]+(1023&A)]+Pi.exponentTable[e],Pi.floatView[0]}const Ki={toHalfFloat:Wi,fromHalfFloat:Vi},Xi=new Mn,Zi=new Lt;class _i{constructor(A,e,t=!1){if(Array.isArray(A))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=A,this.itemSize=e,this.count=void 0!==A?A.length/e:0,this.normalized=t,this.usage=lt,this.updateRange={offset:0,count:-1},this.gpuType=NA,this.version=0}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}setUsage(A){return this.usage=A,this}copy(A){return this.name=A.name,this.array=new A.array.constructor(A.array),this.itemSize=A.itemSize,this.count=A.count,this.normalized=A.normalized,this.usage=A.usage,this.gpuType=A.gpuType,this}copyAt(A,e,t){A*=this.itemSize,t*=e.itemSize;for(let n=0,i=this.itemSize;n<i;n++)this.array[A+n]=e.array[t+n];return this}copyArray(A){return this.array.set(A),this}applyMatrix3(A){if(2===this.itemSize)for(let e=0,t=this.count;e<t;e++)Zi.fromBufferAttribute(this,e),Zi.applyMatrix3(A),this.setXY(e,Zi.x,Zi.y);else if(3===this.itemSize)for(let e=0,t=this.count;e<t;e++)Xi.fromBufferAttribute(this,e),Xi.applyMatrix3(A),this.setXYZ(e,Xi.x,Xi.y,Xi.z);return this}applyMatrix4(A){for(let e=0,t=this.count;e<t;e++)Xi.fromBufferAttribute(this,e),Xi.applyMatrix4(A),this.setXYZ(e,Xi.x,Xi.y,Xi.z);return this}applyNormalMatrix(A){for(let e=0,t=this.count;e<t;e++)Xi.fromBufferAttribute(this,e),Xi.applyNormalMatrix(A),this.setXYZ(e,Xi.x,Xi.y,Xi.z);return this}transformDirection(A){for(let e=0,t=this.count;e<t;e++)Xi.fromBufferAttribute(this,e),Xi.transformDirection(A),this.setXYZ(e,Xi.x,Xi.y,Xi.z);return this}set(A,e=0){return this.array.set(A,e),this}getX(A){let e=this.array[A*this.itemSize];return this.normalized&&(e=jt(e,this.array)),e}setX(A,e){return this.normalized&&(e=zt(e,this.array)),this.array[A*this.itemSize]=e,this}getY(A){let e=this.array[A*this.itemSize+1];return this.normalized&&(e=jt(e,this.array)),e}setY(A,e){return this.normalized&&(e=zt(e,this.array)),this.array[A*this.itemSize+1]=e,this}getZ(A){let e=this.array[A*this.itemSize+2];return this.normalized&&(e=jt(e,this.array)),e}setZ(A,e){return this.normalized&&(e=zt(e,this.array)),this.array[A*this.itemSize+2]=e,this}getW(A){let e=this.array[A*this.itemSize+3];return this.normalized&&(e=jt(e,this.array)),e}setW(A,e){return this.normalized&&(e=zt(e,this.array)),this.array[A*this.itemSize+3]=e,this}setXY(A,e,t){return A*=this.itemSize,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array)),this.array[A+0]=e,this.array[A+1]=t,this}setXYZ(A,e,t,n){return A*=this.itemSize,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array),n=zt(n,this.array)),this.array[A+0]=e,this.array[A+1]=t,this.array[A+2]=n,this}setXYZW(A,e,t,n,i){return A*=this.itemSize,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array),n=zt(n,this.array),i=zt(i,this.array)),this.array[A+0]=e,this.array[A+1]=t,this.array[A+2]=n,this.array[A+3]=i,this}onUpload(A){return this.onUploadCallback=A,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const A={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return""!==this.name&&(A.name=this.name),this.usage!==lt&&(A.usage=this.usage),0===this.updateRange.offset&&-1===this.updateRange.count||(A.updateRange=this.updateRange),A}copyColorsArray(){console.error("THREE.BufferAttribute: copyColorsArray() was removed in r144.")}copyVector2sArray(){console.error("THREE.BufferAttribute: copyVector2sArray() was removed in r144.")}copyVector3sArray(){console.error("THREE.BufferAttribute: copyVector3sArray() was removed in r144.")}copyVector4sArray(){console.error("THREE.BufferAttribute: copyVector4sArray() was removed in r144.")}}class qi extends _i{constructor(A,e,t){super(new Int8Array(A),e,t)}}class $i extends _i{constructor(A,e,t){super(new Uint8Array(A),e,t)}}class Ar extends _i{constructor(A,e,t){super(new Uint8ClampedArray(A),e,t)}}class er extends _i{constructor(A,e,t){super(new Int16Array(A),e,t)}}class tr extends _i{constructor(A,e,t){super(new Uint16Array(A),e,t)}}class nr extends _i{constructor(A,e,t){super(new Int32Array(A),e,t)}}class ir extends _i{constructor(A,e,t){super(new Uint32Array(A),e,t)}}class rr extends _i{constructor(A,e,t){super(new Uint16Array(A),e,t),this.isFloat16BufferAttribute=!0}getX(A){let e=Vi(this.array[A*this.itemSize]);return this.normalized&&(e=jt(e,this.array)),e}setX(A,e){return this.normalized&&(e=zt(e,this.array)),this.array[A*this.itemSize]=Wi(e),this}getY(A){let e=Vi(this.array[A*this.itemSize+1]);return this.normalized&&(e=jt(e,this.array)),e}setY(A,e){return this.normalized&&(e=zt(e,this.array)),this.array[A*this.itemSize+1]=Wi(e),this}getZ(A){let e=Vi(this.array[A*this.itemSize+2]);return this.normalized&&(e=jt(e,this.array)),e}setZ(A,e){return this.normalized&&(e=zt(e,this.array)),this.array[A*this.itemSize+2]=Wi(e),this}getW(A){let e=Vi(this.array[A*this.itemSize+3]);return this.normalized&&(e=jt(e,this.array)),e}setW(A,e){return this.normalized&&(e=zt(e,this.array)),this.array[A*this.itemSize+3]=Wi(e),this}setXY(A,e,t){return A*=this.itemSize,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array)),this.array[A+0]=Wi(e),this.array[A+1]=Wi(t),this}setXYZ(A,e,t,n){return A*=this.itemSize,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array),n=zt(n,this.array)),this.array[A+0]=Wi(e),this.array[A+1]=Wi(t),this.array[A+2]=Wi(n),this}setXYZW(A,e,t,n,i){return A*=this.itemSize,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array),n=zt(n,this.array),i=zt(i,this.array)),this.array[A+0]=Wi(e),this.array[A+1]=Wi(t),this.array[A+2]=Wi(n),this.array[A+3]=Wi(i),this}}class sr extends _i{constructor(A,e,t){super(new Float32Array(A),e,t)}}class or extends _i{constructor(A,e,t){super(new Float64Array(A),e,t)}}let ar=0;const Br=new _n,cr=new pi,gr=new Mn,Qr=new Fn,Er=new Fn,lr=new Mn;class ur extends Nt{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:ar++}),this.uuid=Rt(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(A){return Array.isArray(A)?this.index=new(Wt(A)?ir:tr)(A,1):this.index=A,this}getAttribute(A){return this.attributes[A]}setAttribute(A,e){return this.attributes[A]=e,this}deleteAttribute(A){return delete this.attributes[A],this}hasAttribute(A){return void 0!==this.attributes[A]}addGroup(A,e,t=0){this.groups.push({start:A,count:e,materialIndex:t})}clearGroups(){this.groups=[]}setDrawRange(A,e){this.drawRange.start=A,this.drawRange.count=e}applyMatrix4(A){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(A),e.needsUpdate=!0);const t=this.attributes.normal;if(void 0!==t){const e=(new Pt).getNormalMatrix(A);t.applyNormalMatrix(e),t.needsUpdate=!0}const n=this.attributes.tangent;return void 0!==n&&(n.transformDirection(A),n.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(A){return Br.makeRotationFromQuaternion(A),this.applyMatrix4(Br),this}rotateX(A){return Br.makeRotationX(A),this.applyMatrix4(Br),this}rotateY(A){return Br.makeRotationY(A),this.applyMatrix4(Br),this}rotateZ(A){return Br.makeRotationZ(A),this.applyMatrix4(Br),this}translate(A,e,t){return Br.makeTranslation(A,e,t),this.applyMatrix4(Br),this}scale(A,e,t){return Br.makeScale(A,e,t),this.applyMatrix4(Br),this}lookAt(A){return cr.lookAt(A),cr.updateMatrix(),this.applyMatrix4(cr.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(gr).negate(),this.translate(gr.x,gr.y,gr.z),this}setFromPoints(A){const e=[];for(let t=0,n=A.length;t<n;t++){const n=A[t];e.push(n.x,n.y,n.z||0)}return this.setAttribute("position",new sr(e,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new Fn);const A=this.attributes.position,e=this.morphAttributes.position;if(A&&A.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingBox.set(new Mn(-1/0,-1/0,-1/0),new Mn(1/0,1/0,1/0));if(void 0!==A){if(this.boundingBox.setFromBufferAttribute(A),e)for(let A=0,t=e.length;A<t;A++){const t=e[A];Qr.setFromBufferAttribute(t),this.morphTargetsRelative?(lr.addVectors(this.boundingBox.min,Qr.min),this.boundingBox.expandByPoint(lr),lr.addVectors(this.boundingBox.max,Qr.max),this.boundingBox.expandByPoint(lr)):(this.boundingBox.expandByPoint(Qr.min),this.boundingBox.expandByPoint(Qr.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new vn);const A=this.attributes.position,e=this.morphAttributes.position;if(A&&A.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingSphere.set(new Mn,1/0);if(A){const t=this.boundingSphere.center;if(Qr.setFromBufferAttribute(A),e)for(let A=0,t=e.length;A<t;A++){const t=e[A];Er.setFromBufferAttribute(t),this.morphTargetsRelative?(lr.addVectors(Qr.min,Er.min),Qr.expandByPoint(lr),lr.addVectors(Qr.max,Er.max),Qr.expandByPoint(lr)):(Qr.expandByPoint(Er.min),Qr.expandByPoint(Er.max))}Qr.getCenter(t);let n=0;for(let e=0,i=A.count;e<i;e++)lr.fromBufferAttribute(A,e),n=Math.max(n,t.distanceToSquared(lr));if(e)for(let i=0,r=e.length;i<r;i++){const r=e[i],s=this.morphTargetsRelative;for(let e=0,i=r.count;e<i;e++)lr.fromBufferAttribute(r,e),s&&(gr.fromBufferAttribute(A,e),lr.add(gr)),n=Math.max(n,t.distanceToSquared(lr))}this.boundingSphere.radius=Math.sqrt(n),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){const A=this.index,e=this.attributes;if(null===A||void 0===e.position||void 0===e.normal||void 0===e.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");const t=A.array,n=e.position.array,i=e.normal.array,r=e.uv.array,s=n.length/3;!1===this.hasAttribute("tangent")&&this.setAttribute("tangent",new _i(new Float32Array(4*s),4));const o=this.getAttribute("tangent").array,a=[],B=[];for(let A=0;A<s;A++)a[A]=new Mn,B[A]=new Mn;const c=new Mn,g=new Mn,Q=new Mn,E=new Lt,l=new Lt,u=new Lt,w=new Mn,h=new Mn;function C(A,e,t){c.fromArray(n,3*A),g.fromArray(n,3*e),Q.fromArray(n,3*t),E.fromArray(r,2*A),l.fromArray(r,2*e),u.fromArray(r,2*t),g.sub(c),Q.sub(c),l.sub(E),u.sub(E);const i=1/(l.x*u.y-u.x*l.y);isFinite(i)&&(w.copy(g).multiplyScalar(u.y).addScaledVector(Q,-l.y).multiplyScalar(i),h.copy(Q).multiplyScalar(l.x).addScaledVector(g,-u.x).multiplyScalar(i),a[A].add(w),a[e].add(w),a[t].add(w),B[A].add(h),B[e].add(h),B[t].add(h))}let d=this.groups;0===d.length&&(d=[{start:0,count:t.length}]);for(let A=0,e=d.length;A<e;++A){const e=d[A],n=e.start;for(let A=n,i=n+e.count;A<i;A+=3)C(t[A+0],t[A+1],t[A+2])}const I=new Mn,M=new Mn,p=new Mn,m=new Mn;function F(A){p.fromArray(i,3*A),m.copy(p);const e=a[A];I.copy(e),I.sub(p.multiplyScalar(p.dot(e))).normalize(),M.crossVectors(m,e);const t=M.dot(B[A])<0?-1:1;o[4*A]=I.x,o[4*A+1]=I.y,o[4*A+2]=I.z,o[4*A+3]=t}for(let A=0,e=d.length;A<e;++A){const e=d[A],n=e.start;for(let A=n,i=n+e.count;A<i;A+=3)F(t[A+0]),F(t[A+1]),F(t[A+2])}}computeVertexNormals(){const A=this.index,e=this.getAttribute("position");if(void 0!==e){let t=this.getAttribute("normal");if(void 0===t)t=new _i(new Float32Array(3*e.count),3),this.setAttribute("normal",t);else for(let A=0,e=t.count;A<e;A++)t.setXYZ(A,0,0,0);const n=new Mn,i=new Mn,r=new Mn,s=new Mn,o=new Mn,a=new Mn,B=new Mn,c=new Mn;if(A)for(let g=0,Q=A.count;g<Q;g+=3){const Q=A.getX(g+0),E=A.getX(g+1),l=A.getX(g+2);n.fromBufferAttribute(e,Q),i.fromBufferAttribute(e,E),r.fromBufferAttribute(e,l),B.subVectors(r,i),c.subVectors(n,i),B.cross(c),s.fromBufferAttribute(t,Q),o.fromBufferAttribute(t,E),a.fromBufferAttribute(t,l),s.add(B),o.add(B),a.add(B),t.setXYZ(Q,s.x,s.y,s.z),t.setXYZ(E,o.x,o.y,o.z),t.setXYZ(l,a.x,a.y,a.z)}else for(let A=0,s=e.count;A<s;A+=3)n.fromBufferAttribute(e,A+0),i.fromBufferAttribute(e,A+1),r.fromBufferAttribute(e,A+2),B.subVectors(r,i),c.subVectors(n,i),B.cross(c),t.setXYZ(A+0,B.x,B.y,B.z),t.setXYZ(A+1,B.x,B.y,B.z),t.setXYZ(A+2,B.x,B.y,B.z);this.normalizeNormals(),t.needsUpdate=!0}}merge(){return console.error("THREE.BufferGeometry.merge() has been removed. Use THREE.BufferGeometryUtils.mergeGeometries() instead."),this}normalizeNormals(){const A=this.attributes.normal;for(let e=0,t=A.count;e<t;e++)lr.fromBufferAttribute(A,e),lr.normalize(),A.setXYZ(e,lr.x,lr.y,lr.z)}toNonIndexed(){function A(A,e){const t=A.array,n=A.itemSize,i=A.normalized,r=new t.constructor(e.length*n);let s=0,o=0;for(let i=0,a=e.length;i<a;i++){s=A.isInterleavedBufferAttribute?e[i]*A.data.stride+A.offset:e[i]*n;for(let A=0;A<n;A++)r[o++]=t[s++]}return new _i(r,n,i)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const e=new ur,t=this.index.array,n=this.attributes;for(const i in n){const r=A(n[i],t);e.setAttribute(i,r)}const i=this.morphAttributes;for(const n in i){const r=[],s=i[n];for(let e=0,n=s.length;e<n;e++){const n=A(s[e],t);r.push(n)}e.morphAttributes[n]=r}e.morphTargetsRelative=this.morphTargetsRelative;const r=this.groups;for(let A=0,t=r.length;A<t;A++){const t=r[A];e.addGroup(t.start,t.count,t.materialIndex)}return e}toJSON(){const A={metadata:{version:4.6,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(A.uuid=this.uuid,A.type=this.type,""!==this.name&&(A.name=this.name),Object.keys(this.userData).length>0&&(A.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const t in e)void 0!==e[t]&&(A[t]=e[t]);return A}A.data={attributes:{}};const e=this.index;null!==e&&(A.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const t=this.attributes;for(const e in t){const n=t[e];A.data.attributes[e]=n.toJSON(A.data)}const n={};let i=!1;for(const e in this.morphAttributes){const t=this.morphAttributes[e],r=[];for(let e=0,n=t.length;e<n;e++){const n=t[e];r.push(n.toJSON(A.data))}r.length>0&&(n[e]=r,i=!0)}i&&(A.data.morphAttributes=n,A.data.morphTargetsRelative=this.morphTargetsRelative);const r=this.groups;r.length>0&&(A.data.groups=JSON.parse(JSON.stringify(r)));const s=this.boundingSphere;return null!==s&&(A.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),A}clone(){return(new this.constructor).copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=A.name;const t=A.index;null!==t&&this.setIndex(t.clone(e));const n=A.attributes;for(const A in n){const t=n[A];this.setAttribute(A,t.clone(e))}const i=A.morphAttributes;for(const A in i){const t=[],n=i[A];for(let A=0,i=n.length;A<i;A++)t.push(n[A].clone(e));this.morphAttributes[A]=t}this.morphTargetsRelative=A.morphTargetsRelative;const r=A.groups;for(let A=0,e=r.length;A<e;A++){const e=r[A];this.addGroup(e.start,e.count,e.materialIndex)}const s=A.boundingBox;null!==s&&(this.boundingBox=s.clone());const o=A.boundingSphere;return null!==o&&(this.boundingSphere=o.clone()),this.drawRange.start=A.drawRange.start,this.drawRange.count=A.drawRange.count,this.userData=A.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const wr=new _n,hr=new Zn,Cr=new vn,dr=new Mn,Ir=new Mn,Mr=new Mn,pr=new Mn,mr=new Mn,Fr=new Mn,Dr=new Lt,Yr=new Lt,fr=new Lt,Nr=new Mn,Ur=new Mn,yr=new Mn,xr=new Mn,Tr=new Mn;class Rr extends pi{constructor(A=new ur,e=new Li){super(),this.isMesh=!0,this.type="Mesh",this.geometry=A,this.material=e,this.updateMorphTargets()}copy(A,e){return super.copy(A,e),void 0!==A.morphTargetInfluences&&(this.morphTargetInfluences=A.morphTargetInfluences.slice()),void 0!==A.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},A.morphTargetDictionary)),this.material=A.material,this.geometry=A.geometry,this}updateMorphTargets(){const A=this.geometry.morphAttributes,e=Object.keys(A);if(e.length>0){const t=A[e[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,e=t.length;A<e;A++){const e=t[A].name||String(A);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=A}}}}getVertexPosition(A,e){const t=this.geometry,n=t.attributes.position,i=t.morphAttributes.position,r=t.morphTargetsRelative;e.fromBufferAttribute(n,A);const s=this.morphTargetInfluences;if(i&&s){Fr.set(0,0,0);for(let t=0,n=i.length;t<n;t++){const n=s[t],o=i[t];0!==n&&(mr.fromBufferAttribute(o,A),r?Fr.addScaledVector(mr,n):Fr.addScaledVector(mr.sub(e),n))}e.add(Fr)}return e}raycast(A,e){const t=this.geometry,n=this.material,i=this.matrixWorld;if(void 0!==n){if(null===t.boundingSphere&&t.computeBoundingSphere(),Cr.copy(t.boundingSphere),Cr.applyMatrix4(i),hr.copy(A.ray).recast(A.near),!1===Cr.containsPoint(hr.origin)){if(null===hr.intersectSphere(Cr,dr))return;if(hr.origin.distanceToSquared(dr)>(A.far-A.near)**2)return}wr.copy(i).invert(),hr.copy(A.ray).applyMatrix4(wr),null!==t.boundingBox&&!1===hr.intersectsBox(t.boundingBox)||this._computeIntersections(A,e,hr)}}_computeIntersections(A,e,t){let n;const i=this.geometry,r=this.material,s=i.index,o=i.attributes.position,a=i.attributes.uv,B=i.attributes.uv1,c=i.attributes.normal,g=i.groups,Q=i.drawRange;if(null!==s)if(Array.isArray(r))for(let i=0,o=g.length;i<o;i++){const o=g[i],E=r[o.materialIndex];for(let i=Math.max(o.start,Q.start),r=Math.min(s.count,Math.min(o.start+o.count,Q.start+Q.count));i<r;i+=3){n=Gr(this,E,A,t,a,B,c,s.getX(i),s.getX(i+1),s.getX(i+2)),n&&(n.faceIndex=Math.floor(i/3),n.face.materialIndex=o.materialIndex,e.push(n))}}else{for(let i=Math.max(0,Q.start),o=Math.min(s.count,Q.start+Q.count);i<o;i+=3){n=Gr(this,r,A,t,a,B,c,s.getX(i),s.getX(i+1),s.getX(i+2)),n&&(n.faceIndex=Math.floor(i/3),e.push(n))}}else if(void 0!==o)if(Array.isArray(r))for(let i=0,s=g.length;i<s;i++){const s=g[i],E=r[s.materialIndex];for(let i=Math.max(s.start,Q.start),r=Math.min(o.count,Math.min(s.start+s.count,Q.start+Q.count));i<r;i+=3){n=Gr(this,E,A,t,a,B,c,i,i+1,i+2),n&&(n.faceIndex=Math.floor(i/3),n.face.materialIndex=s.materialIndex,e.push(n))}}else{for(let i=Math.max(0,Q.start),s=Math.min(o.count,Q.start+Q.count);i<s;i+=3){n=Gr(this,r,A,t,a,B,c,i,i+1,i+2),n&&(n.faceIndex=Math.floor(i/3),e.push(n))}}}}function Gr(A,e,t,n,i,r,s,o,a,B){A.getVertexPosition(o,Ir),A.getVertexPosition(a,Mr),A.getVertexPosition(B,pr);const c=function(A,e,t,n,i,r,s,o){let a;if(a=e.side===u?n.intersectTriangle(s,r,i,!0,o):n.intersectTriangle(i,r,s,e.side===l,o),null===a)return null;Tr.copy(o),Tr.applyMatrix4(A.matrixWorld);const B=t.ray.origin.distanceTo(Tr);return B<t.near||B>t.far?null:{distance:B,point:Tr.clone(),object:A}}(A,e,t,n,Ir,Mr,pr,xr);if(c){i&&(Dr.fromBufferAttribute(i,o),Yr.fromBufferAttribute(i,a),fr.fromBufferAttribute(i,B),c.uv=Gi.getInterpolation(xr,Ir,Mr,pr,Dr,Yr,fr,new Lt)),r&&(Dr.fromBufferAttribute(r,o),Yr.fromBufferAttribute(r,a),fr.fromBufferAttribute(r,B),c.uv1=Gi.getInterpolation(xr,Ir,Mr,pr,Dr,Yr,fr,new Lt),c.uv2=c.uv1),s&&(Nr.fromBufferAttribute(s,o),Ur.fromBufferAttribute(s,a),yr.fromBufferAttribute(s,B),c.normal=Gi.getInterpolation(xr,Ir,Mr,pr,Nr,Ur,yr,new Mn),c.normal.dot(n.direction)>0&&c.normal.multiplyScalar(-1));const A={a:o,b:a,c:B,normal:new Mn,materialIndex:0};Gi.getNormal(Ir,Mr,pr,A.normal),c.face=A}return c}class Sr extends ur{constructor(A=1,e=1,t=1,n=1,i=1,r=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:e,depth:t,widthSegments:n,heightSegments:i,depthSegments:r};const s=this;n=Math.floor(n),i=Math.floor(i),r=Math.floor(r);const o=[],a=[],B=[],c=[];let g=0,Q=0;function E(A,e,t,n,i,r,E,l,u,w,h){const C=r/u,d=E/w,I=r/2,M=E/2,p=l/2,m=u+1,F=w+1;let D=0,Y=0;const f=new Mn;for(let r=0;r<F;r++){const s=r*d-M;for(let o=0;o<m;o++){const g=o*C-I;f[A]=g*n,f[e]=s*i,f[t]=p,a.push(f.x,f.y,f.z),f[A]=0,f[e]=0,f[t]=l>0?1:-1,B.push(f.x,f.y,f.z),c.push(o/u),c.push(1-r/w),D+=1}}for(let A=0;A<w;A++)for(let e=0;e<u;e++){const t=g+e+m*A,n=g+e+m*(A+1),i=g+(e+1)+m*(A+1),r=g+(e+1)+m*A;o.push(t,n,r),o.push(n,i,r),Y+=6}s.addGroup(Q,Y,h),Q+=Y,g+=D}E("z","y","x",-1,-1,t,e,A,r,i,0),E("z","y","x",1,-1,t,e,-A,r,i,1),E("x","z","y",1,1,A,t,e,n,r,2),E("x","z","y",1,-1,A,t,-e,n,r,3),E("x","y","z",1,-1,A,e,t,n,i,4),E("x","y","z",-1,-1,A,e,-t,n,i,5),this.setIndex(o),this.setAttribute("position",new sr(a,3)),this.setAttribute("normal",new sr(B,3)),this.setAttribute("uv",new sr(c,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new Sr(A.width,A.height,A.depth,A.widthSegments,A.heightSegments,A.depthSegments)}}function Hr(A){const e={};for(const t in A){e[t]={};for(const n in A[t]){const i=A[t][n];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?i.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][n]=null):e[t][n]=i.clone():Array.isArray(i)?e[t][n]=i.slice():e[t][n]=i}}return e}function br(A){const e={};for(let t=0;t<A.length;t++){const n=Hr(A[t]);for(const A in n)e[A]=n[A]}return e}function kr(A){return null===A.getRenderTarget()?A.outputColorSpace:ve}const Jr={clone:Hr,merge:br};class jr extends Hi{constructor(A){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==A&&this.setValues(A)}copy(A){return super.copy(A),this.fragmentShader=A.fragmentShader,this.vertexShader=A.vertexShader,this.uniforms=Hr(A.uniforms),this.uniformsGroups=function(A){const e=[];for(let t=0;t<A.length;t++)e.push(A[t].clone());return e}(A.uniformsGroups),this.defines=Object.assign({},A.defines),this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.fog=A.fog,this.lights=A.lights,this.clipping=A.clipping,this.extensions=Object.assign({},A.extensions),this.glslVersion=A.glslVersion,this}toJSON(A){const e=super.toJSON(A);e.glslVersion=this.glslVersion,e.uniforms={};for(const t in this.uniforms){const n=this.uniforms[t].value;n&&n.isTexture?e.uniforms[t]={type:"t",value:n.toJSON(A).uuid}:n&&n.isColor?e.uniforms[t]={type:"c",value:n.getHex()}:n&&n.isVector2?e.uniforms[t]={type:"v2",value:n.toArray()}:n&&n.isVector3?e.uniforms[t]={type:"v3",value:n.toArray()}:n&&n.isVector4?e.uniforms[t]={type:"v4",value:n.toArray()}:n&&n.isMatrix3?e.uniforms[t]={type:"m3",value:n.toArray()}:n&&n.isMatrix4?e.uniforms[t]={type:"m4",value:n.toArray()}:e.uniforms[t]={value:n}}Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.lights=this.lights,e.clipping=this.clipping;const t={};for(const A in this.extensions)!0===this.extensions[A]&&(t[A]=!0);return Object.keys(t).length>0&&(e.extensions=t),e}}class zr extends pi{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new _n,this.projectionMatrix=new _n,this.projectionMatrixInverse=new _n,this.coordinateSystem=Yt}copy(A,e){return super.copy(A,e),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this.coordinateSystem=A.coordinateSystem,this}getWorldDirection(A){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return A.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,e){super.updateWorldMatrix(A,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}class vr extends zr{constructor(A=50,e=1,t=.1,n=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=t,this.far=n,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,e){return super.copy(A,e),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=null===A.view?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){const e=.5*this.getFilmHeight()/A;this.fov=2*Tt*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(.5*xt*this.fov);return.5*this.getFilmHeight()/A}getEffectiveFOV(){return 2*Tt*Math.atan(Math.tan(.5*xt*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(A,e,t,n,i,r){this.aspect=A/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=e,this.view.offsetX=t,this.view.offsetY=n,this.view.width=i,this.view.height=r,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=this.near;let e=A*Math.tan(.5*xt*this.fov)/this.zoom,t=2*e,n=this.aspect*t,i=-.5*n;const r=this.view;if(null!==this.view&&this.view.enabled){const A=r.fullWidth,s=r.fullHeight;i+=r.offsetX*n/A,e-=r.offsetY*t/s,n*=r.width/A,t*=r.height/s}const s=this.filmOffset;0!==s&&(i+=A*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+n,e,e-t,A,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const e=super.toJSON(A);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}class Lr extends pi{constructor(A,e,t){super(),this.type="CubeCamera",this.renderTarget=t,this.coordinateSystem=null;const n=new vr(-90,1,A,e);n.layers=this.layers,this.add(n);const i=new vr(-90,1,A,e);i.layers=this.layers,this.add(i);const r=new vr(-90,1,A,e);r.layers=this.layers,this.add(r);const s=new vr(-90,1,A,e);s.layers=this.layers,this.add(s);const o=new vr(-90,1,A,e);o.layers=this.layers,this.add(o);const a=new vr(-90,1,A,e);a.layers=this.layers,this.add(a)}updateCoordinateSystem(){const A=this.coordinateSystem,e=this.children.concat(),[t,n,i,r,s,o]=e;for(const A of e)this.remove(A);if(A===Yt)t.up.set(0,1,0),t.lookAt(1,0,0),n.up.set(0,1,0),n.lookAt(-1,0,0),i.up.set(0,0,-1),i.lookAt(0,1,0),r.up.set(0,0,1),r.lookAt(0,-1,0),s.up.set(0,1,0),s.lookAt(0,0,1),o.up.set(0,1,0),o.lookAt(0,0,-1);else{if(A!==ft)throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+A);t.up.set(0,-1,0),t.lookAt(-1,0,0),n.up.set(0,-1,0),n.lookAt(1,0,0),i.up.set(0,0,1),i.lookAt(0,1,0),r.up.set(0,0,-1),r.lookAt(0,-1,0),s.up.set(0,-1,0),s.lookAt(0,0,1),o.up.set(0,-1,0),o.lookAt(0,0,-1)}for(const A of e)this.add(A),A.updateMatrixWorld()}update(A,e){null===this.parent&&this.updateMatrixWorld();const t=this.renderTarget;this.coordinateSystem!==A.coordinateSystem&&(this.coordinateSystem=A.coordinateSystem,this.updateCoordinateSystem());const[n,i,r,s,o,a]=this.children,B=A.getRenderTarget(),c=A.toneMapping,g=A.xr.enabled;A.toneMapping=_,A.xr.enabled=!1;const Q=t.texture.generateMipmaps;t.texture.generateMipmaps=!1,A.setRenderTarget(t,0),A.render(e,n),A.setRenderTarget(t,1),A.render(e,i),A.setRenderTarget(t,2),A.render(e,r),A.setRenderTarget(t,3),A.render(e,s),A.setRenderTarget(t,4),A.render(e,o),t.texture.generateMipmaps=Q,A.setRenderTarget(t,5),A.render(e,a),A.setRenderTarget(B),A.toneMapping=c,A.xr.enabled=g,t.texture.needsPMREMUpdate=!0}}class Pr extends Qn{constructor(A,e,t,n,i,r,s,o,a,B){super(A=void 0!==A?A:[],e=void 0!==e?e:iA,t,n,i,r,s,o,a,B),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}class Or extends ln{constructor(A=1,e={}){super(A,A,e),this.isWebGLCubeRenderTarget=!0;const t={width:A,height:A,depth:1},n=[t,t,t,t,t,t];void 0!==e.encoding&&(_t("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),e.colorSpace=e.encoding===Se?ze:je),this.texture=new Pr(n,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:hA}fromEquirectangularTexture(A,e){this.texture.type=e.type,this.texture.colorSpace=e.colorSpace,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const t={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},n=new Sr(5,5,5),i=new jr({name:"CubemapFromEquirect",uniforms:Hr(t.uniforms),vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,side:u,blending:C});i.uniforms.tEquirect.value=e;const r=new Rr(n,i),s=e.minFilter;e.minFilter===IA&&(e.minFilter=hA);return new Lr(1,10,this).update(A,r),e.minFilter=s,r.geometry.dispose(),r.material.dispose(),this}clear(A,e,t,n){const i=A.getRenderTarget();for(let i=0;i<6;i++)A.setRenderTarget(this,i),A.clear(e,t,n);A.setRenderTarget(i)}}const Wr=new Mn,Vr=new Mn,Kr=new Pt;class Xr{constructor(A=new Mn(1,0,0),e=0){this.isPlane=!0,this.normal=A,this.constant=e}set(A,e){return this.normal.copy(A),this.constant=e,this}setComponents(A,e,t,n){return this.normal.set(A,e,t),this.constant=n,this}setFromNormalAndCoplanarPoint(A,e){return this.normal.copy(A),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(A,e,t){const n=Wr.subVectors(t,e).cross(Vr.subVectors(A,e)).normalize();return this.setFromNormalAndCoplanarPoint(n,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){const A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,e){return e.copy(A).addScaledVector(this.normal,-this.distanceToPoint(A))}intersectLine(A,e){const t=A.delta(Wr),n=this.normal.dot(t);if(0===n)return 0===this.distanceToPoint(A.start)?e.copy(A.start):null;const i=-(A.start.dot(this.normal)+this.constant)/n;return i<0||i>1?null:e.copy(A.start).addScaledVector(t,i)}intersectsLine(A){const e=this.distanceToPoint(A.start),t=this.distanceToPoint(A.end);return e<0&&t>0||t<0&&e>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,e){const t=e||Kr.getNormalMatrix(A),n=this.coplanarPoint(Wr).applyMatrix4(A),i=this.normal.applyMatrix3(t).normalize();return this.constant=-n.dot(i),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const Zr=new vn,_r=new Mn;class qr{constructor(A=new Xr,e=new Xr,t=new Xr,n=new Xr,i=new Xr,r=new Xr){this.planes=[A,e,t,n,i,r]}set(A,e,t,n,i,r){const s=this.planes;return s[0].copy(A),s[1].copy(e),s[2].copy(t),s[3].copy(n),s[4].copy(i),s[5].copy(r),this}copy(A){const e=this.planes;for(let t=0;t<6;t++)e[t].copy(A.planes[t]);return this}setFromProjectionMatrix(A,e=Yt){const t=this.planes,n=A.elements,i=n[0],r=n[1],s=n[2],o=n[3],a=n[4],B=n[5],c=n[6],g=n[7],Q=n[8],E=n[9],l=n[10],u=n[11],w=n[12],h=n[13],C=n[14],d=n[15];if(t[0].setComponents(o-i,g-a,u-Q,d-w).normalize(),t[1].setComponents(o+i,g+a,u+Q,d+w).normalize(),t[2].setComponents(o+r,g+B,u+E,d+h).normalize(),t[3].setComponents(o-r,g-B,u-E,d-h).normalize(),t[4].setComponents(o-s,g-c,u-l,d-C).normalize(),e===Yt)t[5].setComponents(o+s,g+c,u+l,d+C).normalize();else{if(e!==ft)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+e);t[5].setComponents(s,c,l,C).normalize()}return this}intersectsObject(A){if(void 0!==A.boundingSphere)null===A.boundingSphere&&A.computeBoundingSphere(),Zr.copy(A.boundingSphere).applyMatrix4(A.matrixWorld);else{const e=A.geometry;null===e.boundingSphere&&e.computeBoundingSphere(),Zr.copy(e.boundingSphere).applyMatrix4(A.matrixWorld)}return this.intersectsSphere(Zr)}intersectsSprite(A){return Zr.center.set(0,0,0),Zr.radius=.7071067811865476,Zr.applyMatrix4(A.matrixWorld),this.intersectsSphere(Zr)}intersectsSphere(A){const e=this.planes,t=A.center,n=-A.radius;for(let A=0;A<6;A++){if(e[A].distanceToPoint(t)<n)return!1}return!0}intersectsBox(A){const e=this.planes;for(let t=0;t<6;t++){const n=e[t];if(_r.x=n.normal.x>0?A.max.x:A.min.x,_r.y=n.normal.y>0?A.max.y:A.min.y,_r.z=n.normal.z>0?A.max.z:A.min.z,n.distanceToPoint(_r)<0)return!1}return!0}containsPoint(A){const e=this.planes;for(let t=0;t<6;t++)if(e[t].distanceToPoint(A)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function $r(){let A=null,e=!1,t=null,n=null;function i(e,r){t(e,r),n=A.requestAnimationFrame(i)}return{start:function(){!0!==e&&null!==t&&(n=A.requestAnimationFrame(i),e=!0)},stop:function(){A.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(A){t=A},setContext:function(e){A=e}}}function As(A,e){const t=e.isWebGL2,n=new WeakMap;return{get:function(A){return A.isInterleavedBufferAttribute&&(A=A.data),n.get(A)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const t=n.get(e);t&&(A.deleteBuffer(t.buffer),n.delete(e))},update:function(e,i){if(e.isGLBufferAttribute){const A=n.get(e);return void((!A||A.version<e.version)&&n.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version}))}e.isInterleavedBufferAttribute&&(e=e.data);const r=n.get(e);void 0===r?n.set(e,function(e,n){const i=e.array,r=e.usage,s=A.createBuffer();let o;if(A.bindBuffer(n,s),A.bufferData(n,i,r),e.onUploadCallback(),i instanceof Float32Array)o=A.FLOAT;else if(i instanceof Uint16Array)if(e.isFloat16BufferAttribute){if(!t)throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");o=A.HALF_FLOAT}else o=A.UNSIGNED_SHORT;else if(i instanceof Int16Array)o=A.SHORT;else if(i instanceof Uint32Array)o=A.UNSIGNED_INT;else if(i instanceof Int32Array)o=A.INT;else if(i instanceof Int8Array)o=A.BYTE;else if(i instanceof Uint8Array)o=A.UNSIGNED_BYTE;else{if(!(i instanceof Uint8ClampedArray))throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+i);o=A.UNSIGNED_BYTE}return{buffer:s,type:o,bytesPerElement:i.BYTES_PER_ELEMENT,version:e.version}}(e,i)):r.version<e.version&&(!function(e,n,i){const r=n.array,s=n.updateRange;A.bindBuffer(i,e),-1===s.count?A.bufferSubData(i,0,r):(t?A.bufferSubData(i,s.offset*r.BYTES_PER_ELEMENT,r,s.offset,s.count):A.bufferSubData(i,s.offset*r.BYTES_PER_ELEMENT,r.subarray(s.offset,s.offset+s.count)),s.count=-1),n.onUploadCallback()}(r.buffer,e,i),r.version=e.version)}}}class es extends ur{constructor(A=1,e=1,t=1,n=1){super(),this.type="PlaneGeometry",this.parameters={width:A,height:e,widthSegments:t,heightSegments:n};const i=A/2,r=e/2,s=Math.floor(t),o=Math.floor(n),a=s+1,B=o+1,c=A/s,g=e/o,Q=[],E=[],l=[],u=[];for(let A=0;A<B;A++){const e=A*g-r;for(let t=0;t<a;t++){const n=t*c-i;E.push(n,-e,0),l.push(0,0,1),u.push(t/s),u.push(1-A/o)}}for(let A=0;A<o;A++)for(let e=0;e<s;e++){const t=e+a*A,n=e+a*(A+1),i=e+1+a*(A+1),r=e+1+a*A;Q.push(t,n,r),Q.push(n,i,r)}this.setIndex(Q),this.setAttribute("position",new sr(E,3)),this.setAttribute("normal",new sr(l,3)),this.setAttribute("uv",new sr(u,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new es(A.width,A.height,A.widthSegments,A.heightSegments)}}const ts={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif",alphatest_pars_fragment:"#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"float G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n} // validated",iridescence_fragment:"#ifdef USE_IRIDESCENCE\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t 3.2404542, -0.9692660, 0.0556434,\n\t\t-1.5371385, 1.8760108, -0.2040259,\n\t\t-0.4985314, 0.0415560, 1.0572252\n\t);\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n\t}\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n\t}\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n\t}\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n\t\txyz /= 1.0685e-7;\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\n\t\treturn rgb;\n\t}\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t\tvec3 I;\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t\tif ( cosTheta2Sq < 0.0 ) {\n\t\t\t return vec3( 1.0 );\n\t\t}\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t\tfloat R21 = R12;\n\t\tfloat T121 = 1.0 - R12;\n\t\tfloat phi12 = 0.0;\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t\tfloat phi21 = PI - phi12;\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t\tvec3 phi23 = vec3( 0.0 );\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t\tvec3 phi = vec3( phi21 ) + phi23;\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t\tvec3 r123 = sqrt( R123 );\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t\tvec3 C0 = R12 + Rs;\n\t\tI = C0;\n\t\tvec3 Cm = Rs - T121;\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\n\t\t\tCm *= r123;\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\tI += Cm * Sm;\n\t\t}\n\t\treturn max( I, vec3( 0.0 ) );\n\t}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vBumpMapUv );\n\t\tvec2 dSTdy = dFdy( vBumpMapUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos.xyz );\n\t\tvec3 vSigmaY = dFdy( surf_pos.xyz );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( LEGACY_LIGHTS )\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#else\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tanisotropyV /= material.anisotropy;\n\tmaterial.anisotropy = saturate( material.anisotropy );\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x - tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x + tbn[ 0 ] * anisotropyV.y;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\tfloat v = 0.5 / ( gv + gl );\n\t\treturn saturate(v);\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometry.viewDir, geometry.normal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, vMapUv );\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal, vNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn saturate( toneMappingExposure * color );\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif",uv_pars_fragment:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinbase_vertex>\n\t\t#include <skinnormal_vertex>\n\t\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_lambert_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_lambert_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <logdepthbuf_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\t#include <logdepthbuf_fragment>\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}"},ns={common:{diffuse:{value:new zi(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Pt},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Pt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Pt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Pt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Pt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Pt},normalScale:{value:new Lt(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Pt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Pt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Pt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Pt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new zi(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new zi(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0},uvTransform:{value:new Pt}},sprite:{diffuse:{value:new zi(16777215)},opacity:{value:1},center:{value:new Lt(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Pt},alphaMap:{value:null},alphaMapTransform:{value:new Pt},alphaTest:{value:0}}},is={basic:{uniforms:br([ns.common,ns.specularmap,ns.envmap,ns.aomap,ns.lightmap,ns.fog]),vertexShader:ts.meshbasic_vert,fragmentShader:ts.meshbasic_frag},lambert:{uniforms:br([ns.common,ns.specularmap,ns.envmap,ns.aomap,ns.lightmap,ns.emissivemap,ns.bumpmap,ns.normalmap,ns.displacementmap,ns.fog,ns.lights,{emissive:{value:new zi(0)}}]),vertexShader:ts.meshlambert_vert,fragmentShader:ts.meshlambert_frag},phong:{uniforms:br([ns.common,ns.specularmap,ns.envmap,ns.aomap,ns.lightmap,ns.emissivemap,ns.bumpmap,ns.normalmap,ns.displacementmap,ns.fog,ns.lights,{emissive:{value:new zi(0)},specular:{value:new zi(1118481)},shininess:{value:30}}]),vertexShader:ts.meshphong_vert,fragmentShader:ts.meshphong_frag},standard:{uniforms:br([ns.common,ns.envmap,ns.aomap,ns.lightmap,ns.emissivemap,ns.bumpmap,ns.normalmap,ns.displacementmap,ns.roughnessmap,ns.metalnessmap,ns.fog,ns.lights,{emissive:{value:new zi(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ts.meshphysical_vert,fragmentShader:ts.meshphysical_frag},toon:{uniforms:br([ns.common,ns.aomap,ns.lightmap,ns.emissivemap,ns.bumpmap,ns.normalmap,ns.displacementmap,ns.gradientmap,ns.fog,ns.lights,{emissive:{value:new zi(0)}}]),vertexShader:ts.meshtoon_vert,fragmentShader:ts.meshtoon_frag},matcap:{uniforms:br([ns.common,ns.bumpmap,ns.normalmap,ns.displacementmap,ns.fog,{matcap:{value:null}}]),vertexShader:ts.meshmatcap_vert,fragmentShader:ts.meshmatcap_frag},points:{uniforms:br([ns.points,ns.fog]),vertexShader:ts.points_vert,fragmentShader:ts.points_frag},dashed:{uniforms:br([ns.common,ns.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ts.linedashed_vert,fragmentShader:ts.linedashed_frag},depth:{uniforms:br([ns.common,ns.displacementmap]),vertexShader:ts.depth_vert,fragmentShader:ts.depth_frag},normal:{uniforms:br([ns.common,ns.bumpmap,ns.normalmap,ns.displacementmap,{opacity:{value:1}}]),vertexShader:ts.meshnormal_vert,fragmentShader:ts.meshnormal_frag},sprite:{uniforms:br([ns.sprite,ns.fog]),vertexShader:ts.sprite_vert,fragmentShader:ts.sprite_frag},background:{uniforms:{uvTransform:{value:new Pt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ts.background_vert,fragmentShader:ts.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:ts.backgroundCube_vert,fragmentShader:ts.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ts.cube_vert,fragmentShader:ts.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ts.equirect_vert,fragmentShader:ts.equirect_frag},distanceRGBA:{uniforms:br([ns.common,ns.displacementmap,{referencePosition:{value:new Mn},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ts.distanceRGBA_vert,fragmentShader:ts.distanceRGBA_frag},shadow:{uniforms:br([ns.lights,ns.fog,{color:{value:new zi(0)},opacity:{value:1}}]),vertexShader:ts.shadow_vert,fragmentShader:ts.shadow_frag}};is.physical={uniforms:br([is.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Pt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Pt},clearcoatNormalScale:{value:new Lt(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Pt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Pt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Pt},sheen:{value:0},sheenColor:{value:new zi(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Pt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Pt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Pt},transmissionSamplerSize:{value:new Lt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Pt},attenuationDistance:{value:0},attenuationColor:{value:new zi(0)},specularColor:{value:new zi(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Pt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Pt},anisotropyVector:{value:new Lt},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Pt}}]),vertexShader:ts.meshphysical_vert,fragmentShader:ts.meshphysical_frag};const rs={r:0,b:0,g:0};function ss(A,e,t,n,i,r,s){const o=new zi(0);let a,B,c=!0===r?0:1,g=null,Q=0,E=null;function w(e,t){e.getRGB(rs,kr(A)),n.buffers.color.setClear(rs.r,rs.g,rs.b,t,s)}return{getClearColor:function(){return o},setClearColor:function(A,e=1){o.set(A),c=e,w(o,c)},getClearAlpha:function(){return c},setClearAlpha:function(A){c=A,w(o,c)},render:function(r,h){let C=!1,d=!0===h.isScene?h.background:null;if(d&&d.isTexture){d=(h.backgroundBlurriness>0?t:e).get(d)}switch(null===d?w(o,c):d&&d.isColor&&(w(d,1),C=!0),A.xr.getEnvironmentBlendMode()){case"opaque":C=!0;break;case"additive":n.buffers.color.setClear(0,0,0,1,s),C=!0;break;case"alpha-blend":n.buffers.color.setClear(0,0,0,0,s),C=!0}(A.autoClear||C)&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),d&&(d.isCubeTexture||d.mapping===aA)?(void 0===B&&(B=new Rr(new Sr(1,1,1),new jr({name:"BackgroundCubeMaterial",uniforms:Hr(is.backgroundCube.uniforms),vertexShader:is.backgroundCube.vertexShader,fragmentShader:is.backgroundCube.fragmentShader,side:u,depthTest:!1,depthWrite:!1,fog:!1})),B.geometry.deleteAttribute("normal"),B.geometry.deleteAttribute("uv"),B.onBeforeRender=function(A,e,t){this.matrixWorld.copyPosition(t.matrixWorld)},Object.defineProperty(B.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(B)),B.material.uniforms.envMap.value=d,B.material.uniforms.flipEnvMap.value=d.isCubeTexture&&!1===d.isRenderTargetTexture?-1:1,B.material.uniforms.backgroundBlurriness.value=h.backgroundBlurriness,B.material.uniforms.backgroundIntensity.value=h.backgroundIntensity,B.material.toneMapped=d.colorSpace!==ze,g===d&&Q===d.version&&E===A.toneMapping||(B.material.needsUpdate=!0,g=d,Q=d.version,E=A.toneMapping),B.layers.enableAll(),r.unshift(B,B.geometry,B.material,0,0,null)):d&&d.isTexture&&(void 0===a&&(a=new Rr(new es(2,2),new jr({name:"BackgroundMaterial",uniforms:Hr(is.background.uniforms),vertexShader:is.background.vertexShader,fragmentShader:is.background.fragmentShader,side:l,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(a)),a.material.uniforms.t2D.value=d,a.material.uniforms.backgroundIntensity.value=h.backgroundIntensity,a.material.toneMapped=d.colorSpace!==ze,!0===d.matrixAutoUpdate&&d.updateMatrix(),a.material.uniforms.uvTransform.value.copy(d.matrix),g===d&&Q===d.version&&E===A.toneMapping||(a.material.needsUpdate=!0,g=d,Q=d.version,E=A.toneMapping),a.layers.enableAll(),r.unshift(a,a.geometry,a.material,0,0,null))}}}function os(A,e,t,n){const i=A.getParameter(A.MAX_VERTEX_ATTRIBS),r=n.isWebGL2?null:e.get("OES_vertex_array_object"),s=n.isWebGL2||null!==r,o={},a=E(null);let B=a,c=!1;function g(e){return n.isWebGL2?A.bindVertexArray(e):r.bindVertexArrayOES(e)}function Q(e){return n.isWebGL2?A.deleteVertexArray(e):r.deleteVertexArrayOES(e)}function E(A){const e=[],t=[],n=[];for(let A=0;A<i;A++)e[A]=0,t[A]=0,n[A]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:e,enabledAttributes:t,attributeDivisors:n,object:A,attributes:{},index:null}}function l(){const A=B.newAttributes;for(let e=0,t=A.length;e<t;e++)A[e]=0}function u(A){w(A,0)}function w(t,i){const r=B.newAttributes,s=B.enabledAttributes,o=B.attributeDivisors;if(r[t]=1,0===s[t]&&(A.enableVertexAttribArray(t),s[t]=1),o[t]!==i){(n.isWebGL2?A:e.get("ANGLE_instanced_arrays"))[n.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](t,i),o[t]=i}}function h(){const e=B.newAttributes,t=B.enabledAttributes;for(let n=0,i=t.length;n<i;n++)t[n]!==e[n]&&(A.disableVertexAttribArray(n),t[n]=0)}function C(e,t,n,i,r,s,o){!0===o?A.vertexAttribIPointer(e,t,n,r,s):A.vertexAttribPointer(e,t,n,i,r,s)}function d(){I(),c=!0,B!==a&&(B=a,g(B.object))}function I(){a.geometry=null,a.program=null,a.wireframe=!1}return{setup:function(i,a,Q,d,I){let M=!1;if(s){const e=function(e,t,i){const s=!0===i.wireframe;let a=o[e.id];void 0===a&&(a={},o[e.id]=a);let B=a[t.id];void 0===B&&(B={},a[t.id]=B);let c=B[s];void 0===c&&(c=E(n.isWebGL2?A.createVertexArray():r.createVertexArrayOES()),B[s]=c);return c}(d,Q,a);B!==e&&(B=e,g(B.object)),M=function(A,e,t,n){const i=B.attributes,r=e.attributes;let s=0;const o=t.getAttributes();for(const e in o){if(o[e].location>=0){const t=i[e];let n=r[e];if(void 0===n&&("instanceMatrix"===e&&A.instanceMatrix&&(n=A.instanceMatrix),"instanceColor"===e&&A.instanceColor&&(n=A.instanceColor)),void 0===t)return!0;if(t.attribute!==n)return!0;if(n&&t.data!==n.data)return!0;s++}}return B.attributesNum!==s||B.index!==n}(i,d,Q,I),M&&function(A,e,t,n){const i={},r=e.attributes;let s=0;const o=t.getAttributes();for(const e in o){if(o[e].location>=0){let t=r[e];void 0===t&&("instanceMatrix"===e&&A.instanceMatrix&&(t=A.instanceMatrix),"instanceColor"===e&&A.instanceColor&&(t=A.instanceColor));const n={};n.attribute=t,t&&t.data&&(n.data=t.data),i[e]=n,s++}}B.attributes=i,B.attributesNum=s,B.index=n}(i,d,Q,I)}else{const A=!0===a.wireframe;B.geometry===d.id&&B.program===Q.id&&B.wireframe===A||(B.geometry=d.id,B.program=Q.id,B.wireframe=A,M=!0)}null!==I&&t.update(I,A.ELEMENT_ARRAY_BUFFER),(M||c)&&(c=!1,function(i,r,s,o){if(!1===n.isWebGL2&&(i.isInstancedMesh||o.isInstancedBufferGeometry)&&null===e.get("ANGLE_instanced_arrays"))return;l();const a=o.attributes,B=s.getAttributes(),c=r.defaultAttributeValues;for(const e in B){const r=B[e];if(r.location>=0){let s=a[e];if(void 0===s&&("instanceMatrix"===e&&i.instanceMatrix&&(s=i.instanceMatrix),"instanceColor"===e&&i.instanceColor&&(s=i.instanceColor)),void 0!==s){const e=s.normalized,a=s.itemSize,B=t.get(s);if(void 0===B)continue;const c=B.buffer,g=B.type,Q=B.bytesPerElement,E=!0===n.isWebGL2&&(g===A.INT||g===A.UNSIGNED_INT||s.gpuType===YA);if(s.isInterleavedBufferAttribute){const t=s.data,n=t.stride,B=s.offset;if(t.isInstancedInterleavedBuffer){for(let A=0;A<r.locationSize;A++)w(r.location+A,t.meshPerAttribute);!0!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=t.meshPerAttribute*t.count)}else for(let A=0;A<r.locationSize;A++)u(r.location+A);A.bindBuffer(A.ARRAY_BUFFER,c);for(let A=0;A<r.locationSize;A++)C(r.location+A,a/r.locationSize,g,e,n*Q,(B+a/r.locationSize*A)*Q,E)}else{if(s.isInstancedBufferAttribute){for(let A=0;A<r.locationSize;A++)w(r.location+A,s.meshPerAttribute);!0!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)}else for(let A=0;A<r.locationSize;A++)u(r.location+A);A.bindBuffer(A.ARRAY_BUFFER,c);for(let A=0;A<r.locationSize;A++)C(r.location+A,a/r.locationSize,g,e,a*Q,a/r.locationSize*A*Q,E)}}else if(void 0!==c){const t=c[e];if(void 0!==t)switch(t.length){case 2:A.vertexAttrib2fv(r.location,t);break;case 3:A.vertexAttrib3fv(r.location,t);break;case 4:A.vertexAttrib4fv(r.location,t);break;default:A.vertexAttrib1fv(r.location,t)}}}}h()}(i,a,Q,d),null!==I&&A.bindBuffer(A.ELEMENT_ARRAY_BUFFER,t.get(I).buffer))},reset:d,resetDefaultState:I,dispose:function(){d();for(const A in o){const e=o[A];for(const A in e){const t=e[A];for(const A in t)Q(t[A].object),delete t[A];delete e[A]}delete o[A]}},releaseStatesOfGeometry:function(A){if(void 0===o[A.id])return;const e=o[A.id];for(const A in e){const t=e[A];for(const A in t)Q(t[A].object),delete t[A];delete e[A]}delete o[A.id]},releaseStatesOfProgram:function(A){for(const e in o){const t=o[e];if(void 0===t[A.id])continue;const n=t[A.id];for(const A in n)Q(n[A].object),delete n[A];delete t[A.id]}},initAttributes:l,enableAttribute:u,disableUnusedAttributes:h}}function as(A,e,t,n){const i=n.isWebGL2;let r;this.setMode=function(A){r=A},this.render=function(e,n){A.drawArrays(r,e,n),t.update(n,r,1)},this.renderInstances=function(n,s,o){if(0===o)return;let a,B;if(i)a=A,B="drawArraysInstanced";else if(a=e.get("ANGLE_instanced_arrays"),B="drawArraysInstancedANGLE",null===a)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");a[B](r,n,s,o),t.update(s,r,o)}}function Bs(A,e,t){let n;function i(e){if("highp"===e){if(A.getShaderPrecisionFormat(A.VERTEX_SHADER,A.HIGH_FLOAT).precision>0&&A.getShaderPrecisionFormat(A.FRAGMENT_SHADER,A.HIGH_FLOAT).precision>0)return"highp";e="mediump"}return"mediump"===e&&A.getShaderPrecisionFormat(A.VERTEX_SHADER,A.MEDIUM_FLOAT).precision>0&&A.getShaderPrecisionFormat(A.FRAGMENT_SHADER,A.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const r="undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===A.constructor.name;let s=void 0!==t.precision?t.precision:"highp";const o=i(s);o!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",o,"instead."),s=o);const a=r||e.has("WEBGL_draw_buffers"),B=!0===t.logarithmicDepthBuffer,c=A.getParameter(A.MAX_TEXTURE_IMAGE_UNITS),g=A.getParameter(A.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Q=A.getParameter(A.MAX_TEXTURE_SIZE),E=A.getParameter(A.MAX_CUBE_MAP_TEXTURE_SIZE),l=A.getParameter(A.MAX_VERTEX_ATTRIBS),u=A.getParameter(A.MAX_VERTEX_UNIFORM_VECTORS),w=A.getParameter(A.MAX_VARYING_VECTORS),h=A.getParameter(A.MAX_FRAGMENT_UNIFORM_VECTORS),C=g>0,d=r||e.has("OES_texture_float");return{isWebGL2:r,drawBuffers:a,getMaxAnisotropy:function(){if(void 0!==n)return n;if(!0===e.has("EXT_texture_filter_anisotropic")){const t=e.get("EXT_texture_filter_anisotropic");n=A.getParameter(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else n=0;return n},getMaxPrecision:i,precision:s,logarithmicDepthBuffer:B,maxTextures:c,maxVertexTextures:g,maxTextureSize:Q,maxCubemapSize:E,maxAttributes:l,maxVertexUniforms:u,maxVaryings:w,maxFragmentUniforms:h,vertexTextures:C,floatFragmentTextures:d,floatVertexTextures:C&&d,maxSamples:r?A.getParameter(A.MAX_SAMPLES):0}}function cs(A){const e=this;let t=null,n=0,i=!1,r=!1;const s=new Xr,o=new Pt,a={value:null,needsUpdate:!1};function B(A,t,n,i){const r=null!==A?A.length:0;let B=null;if(0!==r){if(B=a.value,!0!==i||null===B){const e=n+4*r,i=t.matrixWorldInverse;o.getNormalMatrix(i),(null===B||B.length<e)&&(B=new Float32Array(e));for(let e=0,t=n;e!==r;++e,t+=4)s.copy(A[e]).applyMatrix4(i,o),s.normal.toArray(B,t),B[t+3]=s.constant}a.value=B,a.needsUpdate=!0}return e.numPlanes=r,e.numIntersection=0,B}this.uniform=a,this.numPlanes=0,this.numIntersection=0,this.init=function(A,e){const t=0!==A.length||e||0!==n||i;return i=e,n=A.length,t},this.beginShadows=function(){r=!0,B(null)},this.endShadows=function(){r=!1},this.setGlobalState=function(A,e){t=B(A,e,0)},this.setState=function(s,o,c){const g=s.clippingPlanes,Q=s.clipIntersection,E=s.clipShadows,l=A.get(s);if(!i||null===g||0===g.length||r&&!E)r?B(null):function(){a.value!==t&&(a.value=t,a.needsUpdate=n>0);e.numPlanes=n,e.numIntersection=0}();else{const A=r?0:n,e=4*A;let i=l.clippingState||null;a.value=i,i=B(g,o,e,c);for(let A=0;A!==e;++A)i[A]=t[A];l.clippingState=i,this.numIntersection=Q?this.numPlanes:0,this.numPlanes+=A}}}function gs(A){let e=new WeakMap;function t(A,e){return e===sA?A.mapping=iA:e===oA&&(A.mapping=rA),A}function n(A){const t=A.target;t.removeEventListener("dispose",n);const i=e.get(t);void 0!==i&&(e.delete(t),i.dispose())}return{get:function(i){if(i&&i.isTexture&&!1===i.isRenderTargetTexture){const r=i.mapping;if(r===sA||r===oA){if(e.has(i)){return t(e.get(i).texture,i.mapping)}{const r=i.image;if(r&&r.height>0){const s=new Or(r.height/2);return s.fromEquirectangularTexture(A,i),e.set(i,s),i.addEventListener("dispose",n),t(s.texture,i.mapping)}return null}}}return i},dispose:function(){e=new WeakMap}}}class Qs extends zr{constructor(A=-1,e=1,t=1,n=-1,i=.1,r=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=e,this.top=t,this.bottom=n,this.near=i,this.far=r,this.updateProjectionMatrix()}copy(A,e){return super.copy(A,e),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=null===A.view?null:Object.assign({},A.view),this}setViewOffset(A,e,t,n,i,r){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=e,this.view.offsetX=t,this.view.offsetY=n,this.view.width=i,this.view.height=r,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),t=(this.right+this.left)/2,n=(this.top+this.bottom)/2;let i=t-A,r=t+A,s=n+e,o=n-e;if(null!==this.view&&this.view.enabled){const A=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=A*this.view.offsetX,r=i+A*this.view.width,s-=e*this.view.offsetY,o=s-e*this.view.height}this.projectionMatrix.makeOrthographic(i,r,s,o,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const e=super.toJSON(A);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}const Es=[.125,.215,.35,.446,.526,.582],ls=new Qs,us=new zi;let ws=null;const hs=(1+Math.sqrt(5))/2,Cs=1/hs,ds=[new Mn(1,1,1),new Mn(-1,1,1),new Mn(1,1,-1),new Mn(-1,1,-1),new Mn(0,hs,Cs),new Mn(0,hs,-Cs),new Mn(Cs,0,hs),new Mn(-Cs,0,hs),new Mn(hs,Cs,0),new Mn(-hs,Cs,0)];class Is{constructor(A){this._renderer=A,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(A,e=0,t=.1,n=100){ws=this._renderer.getRenderTarget(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(A,t,n,i),e>0&&this._blur(i,0,0,e),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(A,e=null){return this._fromTexture(A,e)}fromCubemap(A,e=null){return this._fromTexture(A,e)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=Fs(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=ms(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(A){this._lodMax=Math.floor(Math.log2(A)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let A=0;A<this._lodPlanes.length;A++)this._lodPlanes[A].dispose()}_cleanup(A){this._renderer.setRenderTarget(ws),A.scissorTest=!1,ps(A,0,0,A.width,A.height)}_fromTexture(A,e){A.mapping===iA||A.mapping===rA?this._setSize(0===A.image.length?16:A.image[0].width||A.image[0].image.width):this._setSize(A.image.width/4),ws=this._renderer.getRenderTarget();const t=e||this._allocateTargets();return this._textureToCubeUV(A,t),this._applyPMREM(t),this._cleanup(t),t}_allocateTargets(){const A=3*Math.max(this._cubeSize,112),e=4*this._cubeSize,t={magFilter:hA,minFilter:hA,generateMipmaps:!1,type:UA,format:GA,colorSpace:ve,depthBuffer:!1},n=Ms(A,e,t);if(null===this._pingPongRenderTarget||this._pingPongRenderTarget.width!==A||this._pingPongRenderTarget.height!==e){null!==this._pingPongRenderTarget&&this._dispose(),this._pingPongRenderTarget=Ms(A,e,t);const{_lodMax:n}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=function(A){const e=[],t=[],n=[];let i=A;const r=A-4+1+Es.length;for(let s=0;s<r;s++){const r=Math.pow(2,i);t.push(r);let o=1/r;s>A-4?o=Es[s-A+4-1]:0===s&&(o=0),n.push(o);const a=1/(r-2),B=-a,c=1+a,g=[B,B,c,B,c,c,B,B,c,c,B,c],Q=6,E=6,l=3,u=2,w=1,h=new Float32Array(l*E*Q),C=new Float32Array(u*E*Q),d=new Float32Array(w*E*Q);for(let A=0;A<Q;A++){const e=A%3*2/3-1,t=A>2?0:-1,n=[e,t,0,e+2/3,t,0,e+2/3,t+1,0,e,t,0,e+2/3,t+1,0,e,t+1,0];h.set(n,l*E*A),C.set(g,u*E*A);const i=[A,A,A,A,A,A];d.set(i,w*E*A)}const I=new ur;I.setAttribute("position",new _i(h,l)),I.setAttribute("uv",new _i(C,u)),I.setAttribute("faceIndex",new _i(d,w)),e.push(I),i>4&&i--}return{lodPlanes:e,sizeLods:t,sigmas:n}}(n)),this._blurMaterial=function(A,e,t){const n=new Float32Array(20),i=new Mn(0,1,0);return new jr({name:"SphericalGaussianBlur",defines:{n:20,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:A+".0"},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:Ds(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:C,depthTest:!1,depthWrite:!1})}(n,A,e)}return n}_compileMaterial(A){const e=new Rr(this._lodPlanes[0],A);this._renderer.compile(e,ls)}_sceneToCubeUV(A,e,t,n){const i=new vr(90,1,e,t),r=[1,-1,1,1,1,1],s=[1,1,1,-1,-1,-1],o=this._renderer,a=o.autoClear,B=o.toneMapping;o.getClearColor(us),o.toneMapping=_,o.autoClear=!1;const c=new Li({name:"PMREM.Background",side:u,depthWrite:!1,depthTest:!1}),g=new Rr(new Sr,c);let Q=!1;const E=A.background;E?E.isColor&&(c.color.copy(E),A.background=null,Q=!0):(c.color.copy(us),Q=!0);for(let e=0;e<6;e++){const t=e%3;0===t?(i.up.set(0,r[e],0),i.lookAt(s[e],0,0)):1===t?(i.up.set(0,0,r[e]),i.lookAt(0,s[e],0)):(i.up.set(0,r[e],0),i.lookAt(0,0,s[e]));const a=this._cubeSize;ps(n,t*a,e>2?a:0,a,a),o.setRenderTarget(n),Q&&o.render(g,i),o.render(A,i)}g.geometry.dispose(),g.material.dispose(),o.toneMapping=B,o.autoClear=a,A.background=E}_textureToCubeUV(A,e){const t=this._renderer,n=A.mapping===iA||A.mapping===rA;n?(null===this._cubemapMaterial&&(this._cubemapMaterial=Fs()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===A.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=ms());const i=n?this._cubemapMaterial:this._equirectMaterial,r=new Rr(this._lodPlanes[0],i);i.uniforms.envMap.value=A;const s=this._cubeSize;ps(e,0,0,3*s,2*s),t.setRenderTarget(e),t.render(r,ls)}_applyPMREM(A){const e=this._renderer,t=e.autoClear;e.autoClear=!1;for(let e=1;e<this._lodPlanes.length;e++){const t=Math.sqrt(this._sigmas[e]*this._sigmas[e]-this._sigmas[e-1]*this._sigmas[e-1]),n=ds[(e-1)%ds.length];this._blur(A,e-1,e,t,n)}e.autoClear=t}_blur(A,e,t,n,i){const r=this._pingPongRenderTarget;this._halfBlur(A,r,e,t,n,"latitudinal",i),this._halfBlur(r,A,t,t,n,"longitudinal",i)}_halfBlur(A,e,t,n,i,r,s){const o=this._renderer,a=this._blurMaterial;"latitudinal"!==r&&"longitudinal"!==r&&console.error("blur direction must be either latitudinal or longitudinal!");const B=new Rr(this._lodPlanes[n],a),c=a.uniforms,g=this._sizeLods[t]-1,Q=isFinite(i)?Math.PI/(2*g):2*Math.PI/39,E=i/Q,l=isFinite(i)?1+Math.floor(3*E):20;l>20&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${l} samples when the maximum is set to 20`);const u=[];let w=0;for(let A=0;A<20;++A){const e=A/E,t=Math.exp(-e*e/2);u.push(t),0===A?w+=t:A<l&&(w+=2*t)}for(let A=0;A<u.length;A++)u[A]=u[A]/w;c.envMap.value=A.texture,c.samples.value=l,c.weights.value=u,c.latitudinal.value="latitudinal"===r,s&&(c.poleAxis.value=s);const{_lodMax:h}=this;c.dTheta.value=Q,c.mipInt.value=h-t;const C=this._sizeLods[n];ps(e,3*C*(n>h-4?n-h+4:0),4*(this._cubeSize-C),3*C,2*C),o.setRenderTarget(e),o.render(B,ls)}}function Ms(A,e,t){const n=new ln(A,e,t);return n.texture.mapping=aA,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function ps(A,e,t,n,i){A.viewport.set(e,t,n,i),A.scissor.set(e,t,n,i)}function ms(){return new jr({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Ds(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:C,depthTest:!1,depthWrite:!1})}function Fs(){return new jr({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Ds(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:C,depthTest:!1,depthWrite:!1})}function Ds(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function Ys(A){let e=new WeakMap,t=null;function n(A){const t=A.target;t.removeEventListener("dispose",n);const i=e.get(t);void 0!==i&&(e.delete(t),i.dispose())}return{get:function(i){if(i&&i.isTexture){const r=i.mapping,s=r===sA||r===oA,o=r===iA||r===rA;if(s||o){if(i.isRenderTargetTexture&&!0===i.needsPMREMUpdate){i.needsPMREMUpdate=!1;let n=e.get(i);return null===t&&(t=new Is(A)),n=s?t.fromEquirectangular(i,n):t.fromCubemap(i,n),e.set(i,n),n.texture}if(e.has(i))return e.get(i).texture;{const r=i.image;if(s&&r&&r.height>0||o&&r&&function(A){let e=0;for(let t=0;t<6;t++)void 0!==A[t]&&e++;return 6===e}(r)){null===t&&(t=new Is(A));const r=s?t.fromEquirectangular(i):t.fromCubemap(i);return e.set(i,r),i.addEventListener("dispose",n),r.texture}return null}}}return i},dispose:function(){e=new WeakMap,null!==t&&(t.dispose(),t=null)}}}function fs(A){const e={};function t(t){if(void 0!==e[t])return e[t];let n;switch(t){case"WEBGL_depth_texture":n=A.getExtension("WEBGL_depth_texture")||A.getExtension("MOZ_WEBGL_depth_texture")||A.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=A.getExtension("EXT_texture_filter_anisotropic")||A.getExtension("MOZ_EXT_texture_filter_anisotropic")||A.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":n=A.getExtension("WEBGL_compressed_texture_s3tc")||A.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":n=A.getExtension("WEBGL_compressed_texture_pvrtc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=A.getExtension(t)}return e[t]=n,n}return{has:function(A){return null!==t(A)},init:function(A){A.isWebGL2?t("EXT_color_buffer_float"):(t("WEBGL_depth_texture"),t("OES_texture_float"),t("OES_texture_half_float"),t("OES_texture_half_float_linear"),t("OES_standard_derivatives"),t("OES_element_index_uint"),t("OES_vertex_array_object"),t("ANGLE_instanced_arrays")),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float"),t("WEBGL_multisampled_render_to_texture")},get:function(A){const e=t(A);return null===e&&console.warn("THREE.WebGLRenderer: "+A+" extension not supported."),e}}}function Ns(A,e,t,n){const i={},r=new WeakMap;function s(A){const o=A.target;null!==o.index&&e.remove(o.index);for(const A in o.attributes)e.remove(o.attributes[A]);for(const A in o.morphAttributes){const t=o.morphAttributes[A];for(let A=0,n=t.length;A<n;A++)e.remove(t[A])}o.removeEventListener("dispose",s),delete i[o.id];const a=r.get(o);a&&(e.remove(a),r.delete(o)),n.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,t.memory.geometries--}function o(A){const t=[],n=A.index,i=A.attributes.position;let s=0;if(null!==n){const A=n.array;s=n.version;for(let e=0,n=A.length;e<n;e+=3){const n=A[e+0],i=A[e+1],r=A[e+2];t.push(n,i,i,r,r,n)}}else{const A=i.array;s=i.version;for(let e=0,n=A.length/3-1;e<n;e+=3){const A=e+0,n=e+1,i=e+2;t.push(A,n,n,i,i,A)}}const o=new(Wt(t)?ir:tr)(t,1);o.version=s;const a=r.get(A);a&&e.remove(a),r.set(A,o)}return{get:function(A,e){return!0===i[e.id]||(e.addEventListener("dispose",s),i[e.id]=!0,t.memory.geometries++),e},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],A.ARRAY_BUFFER);const i=t.morphAttributes;for(const t in i){const n=i[t];for(let t=0,i=n.length;t<i;t++)e.update(n[t],A.ARRAY_BUFFER)}},getWireframeAttribute:function(A){const e=r.get(A);if(e){const t=A.index;null!==t&&e.version<t.version&&o(A)}else o(A);return r.get(A)}}}function Us(A,e,t,n){const i=n.isWebGL2;let r,s,o;this.setMode=function(A){r=A},this.setIndex=function(A){s=A.type,o=A.bytesPerElement},this.render=function(e,n){A.drawElements(r,n,s,e*o),t.update(n,r,1)},this.renderInstances=function(n,a,B){if(0===B)return;let c,g;if(i)c=A,g="drawElementsInstanced";else if(c=e.get("ANGLE_instanced_arrays"),g="drawElementsInstancedANGLE",null===c)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");c[g](r,a,s,n*o,B),t.update(a,r,B)}}function ys(A){const e={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:e,programs:null,autoReset:!0,reset:function(){e.calls=0,e.triangles=0,e.points=0,e.lines=0},update:function(t,n,i){switch(e.calls++,n){case A.TRIANGLES:e.triangles+=i*(t/3);break;case A.LINES:e.lines+=i*(t/2);break;case A.LINE_STRIP:e.lines+=i*(t-1);break;case A.LINE_LOOP:e.lines+=i*t;break;case A.POINTS:e.points+=i*t;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n)}}}}function xs(A,e){return A[0]-e[0]}function Ts(A,e){return Math.abs(e[1])-Math.abs(A[1])}function Rs(A,e,t){const n={},i=new Float32Array(8),r=new WeakMap,s=new En,o=[];for(let A=0;A<8;A++)o[A]=[A,0];return{update:function(a,B,c){const g=a.morphTargetInfluences;if(!0===e.isWebGL2){const n=B.morphAttributes.position||B.morphAttributes.normal||B.morphAttributes.color,i=void 0!==n?n.length:0;let o=r.get(B);if(void 0===o||o.count!==i){void 0!==o&&o.texture.dispose();const A=void 0!==B.morphAttributes.position,t=void 0!==B.morphAttributes.normal,n=void 0!==B.morphAttributes.color,a=B.morphAttributes.position||[],c=B.morphAttributes.normal||[],g=B.morphAttributes.color||[];let Q=0;!0===A&&(Q=1),!0===t&&(Q=2),!0===n&&(Q=3);let E=B.attributes.position.count*Q,l=1;E>e.maxTextureSize&&(l=Math.ceil(E/e.maxTextureSize),E=e.maxTextureSize);const u=new Float32Array(E*l*4*i),w=new un(u,E,l,i);w.type=NA,w.needsUpdate=!0;const h=4*Q;for(let e=0;e<i;e++){const i=a[e],r=c[e],o=g[e],B=E*l*4*e;for(let e=0;e<i.count;e++){const a=e*h;!0===A&&(s.fromBufferAttribute(i,e),u[B+a+0]=s.x,u[B+a+1]=s.y,u[B+a+2]=s.z,u[B+a+3]=0),!0===t&&(s.fromBufferAttribute(r,e),u[B+a+4]=s.x,u[B+a+5]=s.y,u[B+a+6]=s.z,u[B+a+7]=0),!0===n&&(s.fromBufferAttribute(o,e),u[B+a+8]=s.x,u[B+a+9]=s.y,u[B+a+10]=s.z,u[B+a+11]=4===o.itemSize?s.w:1)}}o={count:i,texture:w,size:new Lt(E,l)},r.set(B,o),B.addEventListener("dispose",(function A(){w.dispose(),r.delete(B),B.removeEventListener("dispose",A)}))}let a=0;for(let A=0;A<g.length;A++)a+=g[A];const Q=B.morphTargetsRelative?1:1-a;c.getUniforms().setValue(A,"morphTargetBaseInfluence",Q),c.getUniforms().setValue(A,"morphTargetInfluences",g),c.getUniforms().setValue(A,"morphTargetsTexture",o.texture,t),c.getUniforms().setValue(A,"morphTargetsTextureSize",o.size)}else{const e=void 0===g?0:g.length;let t=n[B.id];if(void 0===t||t.length!==e){t=[];for(let A=0;A<e;A++)t[A]=[A,0];n[B.id]=t}for(let A=0;A<e;A++){const e=t[A];e[0]=A,e[1]=g[A]}t.sort(Ts);for(let A=0;A<8;A++)A<e&&t[A][1]?(o[A][0]=t[A][0],o[A][1]=t[A][1]):(o[A][0]=Number.MAX_SAFE_INTEGER,o[A][1]=0);o.sort(xs);const r=B.morphAttributes.position,s=B.morphAttributes.normal;let a=0;for(let A=0;A<8;A++){const e=o[A],t=e[0],n=e[1];t!==Number.MAX_SAFE_INTEGER&&n?(r&&B.getAttribute("morphTarget"+A)!==r[t]&&B.setAttribute("morphTarget"+A,r[t]),s&&B.getAttribute("morphNormal"+A)!==s[t]&&B.setAttribute("morphNormal"+A,s[t]),i[A]=n,a+=n):(r&&!0===B.hasAttribute("morphTarget"+A)&&B.deleteAttribute("morphTarget"+A),s&&!0===B.hasAttribute("morphNormal"+A)&&B.deleteAttribute("morphNormal"+A),i[A]=0)}const Q=B.morphTargetsRelative?1:1-a;c.getUniforms().setValue(A,"morphTargetBaseInfluence",Q),c.getUniforms().setValue(A,"morphTargetInfluences",i)}}}}function Gs(A,e,t,n){let i=new WeakMap;function r(A){const e=A.target;e.removeEventListener("dispose",r),t.remove(e.instanceMatrix),null!==e.instanceColor&&t.remove(e.instanceColor)}return{update:function(s){const o=n.render.frame,a=s.geometry,B=e.get(s,a);return i.get(B)!==o&&(e.update(B),i.set(B,o)),s.isInstancedMesh&&(!1===s.hasEventListener("dispose",r)&&s.addEventListener("dispose",r),t.update(s.instanceMatrix,A.ARRAY_BUFFER),null!==s.instanceColor&&t.update(s.instanceColor,A.ARRAY_BUFFER)),B},dispose:function(){i=new WeakMap}}}const Ss=new Qn,Hs=new un,bs=new hn,ks=new Pr,Js=[],js=[],zs=new Float32Array(16),vs=new Float32Array(9),Ls=new Float32Array(4);function Ps(A,e,t){const n=A[0];if(n<=0||n>0)return A;const i=e*t;let r=Js[i];if(void 0===r&&(r=new Float32Array(i),Js[i]=r),0!==e){n.toArray(r,0);for(let n=1,i=0;n!==e;++n)i+=t,A[n].toArray(r,i)}return r}function Os(A,e){if(A.length!==e.length)return!1;for(let t=0,n=A.length;t<n;t++)if(A[t]!==e[t])return!1;return!0}function Ws(A,e){for(let t=0,n=e.length;t<n;t++)A[t]=e[t]}function Vs(A,e){let t=js[e];void 0===t&&(t=new Int32Array(e),js[e]=t);for(let n=0;n!==e;++n)t[n]=A.allocateTextureUnit();return t}function Ks(A,e){const t=this.cache;t[0]!==e&&(A.uniform1f(this.addr,e),t[0]=e)}function Xs(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y||(A.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Os(t,e))return;A.uniform2fv(this.addr,e),Ws(t,e)}}function Zs(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y&&t[2]===e.z||(A.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(void 0!==e.r)t[0]===e.r&&t[1]===e.g&&t[2]===e.b||(A.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(Os(t,e))return;A.uniform3fv(this.addr,e),Ws(t,e)}}function _s(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y&&t[2]===e.z&&t[3]===e.w||(A.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Os(t,e))return;A.uniform4fv(this.addr,e),Ws(t,e)}}function qs(A,e){const t=this.cache,n=e.elements;if(void 0===n){if(Os(t,e))return;A.uniformMatrix2fv(this.addr,!1,e),Ws(t,e)}else{if(Os(t,n))return;Ls.set(n),A.uniformMatrix2fv(this.addr,!1,Ls),Ws(t,n)}}function $s(A,e){const t=this.cache,n=e.elements;if(void 0===n){if(Os(t,e))return;A.uniformMatrix3fv(this.addr,!1,e),Ws(t,e)}else{if(Os(t,n))return;vs.set(n),A.uniformMatrix3fv(this.addr,!1,vs),Ws(t,n)}}function Ao(A,e){const t=this.cache,n=e.elements;if(void 0===n){if(Os(t,e))return;A.uniformMatrix4fv(this.addr,!1,e),Ws(t,e)}else{if(Os(t,n))return;zs.set(n),A.uniformMatrix4fv(this.addr,!1,zs),Ws(t,n)}}function eo(A,e){const t=this.cache;t[0]!==e&&(A.uniform1i(this.addr,e),t[0]=e)}function to(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y||(A.uniform2i(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Os(t,e))return;A.uniform2iv(this.addr,e),Ws(t,e)}}function no(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y&&t[2]===e.z||(A.uniform3i(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Os(t,e))return;A.uniform3iv(this.addr,e),Ws(t,e)}}function io(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y&&t[2]===e.z&&t[3]===e.w||(A.uniform4i(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Os(t,e))return;A.uniform4iv(this.addr,e),Ws(t,e)}}function ro(A,e){const t=this.cache;t[0]!==e&&(A.uniform1ui(this.addr,e),t[0]=e)}function so(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y||(A.uniform2ui(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Os(t,e))return;A.uniform2uiv(this.addr,e),Ws(t,e)}}function oo(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y&&t[2]===e.z||(A.uniform3ui(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Os(t,e))return;A.uniform3uiv(this.addr,e),Ws(t,e)}}function ao(A,e){const t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y&&t[2]===e.z&&t[3]===e.w||(A.uniform4ui(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Os(t,e))return;A.uniform4uiv(this.addr,e),Ws(t,e)}}function Bo(A,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(A.uniform1i(this.addr,i),n[0]=i),t.setTexture2D(e||Ss,i)}function co(A,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(A.uniform1i(this.addr,i),n[0]=i),t.setTexture3D(e||bs,i)}function go(A,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(A.uniform1i(this.addr,i),n[0]=i),t.setTextureCube(e||ks,i)}function Qo(A,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(A.uniform1i(this.addr,i),n[0]=i),t.setTexture2DArray(e||Hs,i)}function Eo(A,e){A.uniform1fv(this.addr,e)}function lo(A,e){const t=Ps(e,this.size,2);A.uniform2fv(this.addr,t)}function uo(A,e){const t=Ps(e,this.size,3);A.uniform3fv(this.addr,t)}function wo(A,e){const t=Ps(e,this.size,4);A.uniform4fv(this.addr,t)}function ho(A,e){const t=Ps(e,this.size,4);A.uniformMatrix2fv(this.addr,!1,t)}function Co(A,e){const t=Ps(e,this.size,9);A.uniformMatrix3fv(this.addr,!1,t)}function Io(A,e){const t=Ps(e,this.size,16);A.uniformMatrix4fv(this.addr,!1,t)}function Mo(A,e){A.uniform1iv(this.addr,e)}function po(A,e){A.uniform2iv(this.addr,e)}function mo(A,e){A.uniform3iv(this.addr,e)}function Fo(A,e){A.uniform4iv(this.addr,e)}function Do(A,e){A.uniform1uiv(this.addr,e)}function Yo(A,e){A.uniform2uiv(this.addr,e)}function fo(A,e){A.uniform3uiv(this.addr,e)}function No(A,e){A.uniform4uiv(this.addr,e)}function Uo(A,e,t){const n=this.cache,i=e.length,r=Vs(t,i);Os(n,r)||(A.uniform1iv(this.addr,r),Ws(n,r));for(let A=0;A!==i;++A)t.setTexture2D(e[A]||Ss,r[A])}function yo(A,e,t){const n=this.cache,i=e.length,r=Vs(t,i);Os(n,r)||(A.uniform1iv(this.addr,r),Ws(n,r));for(let A=0;A!==i;++A)t.setTexture3D(e[A]||bs,r[A])}function xo(A,e,t){const n=this.cache,i=e.length,r=Vs(t,i);Os(n,r)||(A.uniform1iv(this.addr,r),Ws(n,r));for(let A=0;A!==i;++A)t.setTextureCube(e[A]||ks,r[A])}function To(A,e,t){const n=this.cache,i=e.length,r=Vs(t,i);Os(n,r)||(A.uniform1iv(this.addr,r),Ws(n,r));for(let A=0;A!==i;++A)t.setTexture2DArray(e[A]||Hs,r[A])}class Ro{constructor(A,e,t){this.id=A,this.addr=t,this.cache=[],this.setValue=function(A){switch(A){case 5126:return Ks;case 35664:return Xs;case 35665:return Zs;case 35666:return _s;case 35674:return qs;case 35675:return $s;case 35676:return Ao;case 5124:case 35670:return eo;case 35667:case 35671:return to;case 35668:case 35672:return no;case 35669:case 35673:return io;case 5125:return ro;case 36294:return so;case 36295:return oo;case 36296:return ao;case 35678:case 36198:case 36298:case 36306:case 35682:return Bo;case 35679:case 36299:case 36307:return co;case 35680:case 36300:case 36308:case 36293:return go;case 36289:case 36303:case 36311:case 36292:return Qo}}(e.type)}}class Go{constructor(A,e,t){this.id=A,this.addr=t,this.cache=[],this.size=e.size,this.setValue=function(A){switch(A){case 5126:return Eo;case 35664:return lo;case 35665:return uo;case 35666:return wo;case 35674:return ho;case 35675:return Co;case 35676:return Io;case 5124:case 35670:return Mo;case 35667:case 35671:return po;case 35668:case 35672:return mo;case 35669:case 35673:return Fo;case 5125:return Do;case 36294:return Yo;case 36295:return fo;case 36296:return No;case 35678:case 36198:case 36298:case 36306:case 35682:return Uo;case 35679:case 36299:case 36307:return yo;case 35680:case 36300:case 36308:case 36293:return xo;case 36289:case 36303:case 36311:case 36292:return To}}(e.type)}}class So{constructor(A){this.id=A,this.seq=[],this.map={}}setValue(A,e,t){const n=this.seq;for(let i=0,r=n.length;i!==r;++i){const r=n[i];r.setValue(A,e[r.id],t)}}}const Ho=/(\w+)(\])?(\[|\.)?/g;function bo(A,e){A.seq.push(e),A.map[e.id]=e}function ko(A,e,t){const n=A.name,i=n.length;for(Ho.lastIndex=0;;){const r=Ho.exec(n),s=Ho.lastIndex;let o=r[1];const a="]"===r[2],B=r[3];if(a&&(o|=0),void 0===B||"["===B&&s+2===i){bo(t,void 0===B?new Ro(o,A,e):new Go(o,A,e));break}{let A=t.map[o];void 0===A&&(A=new So(o),bo(t,A)),t=A}}}class Jo{constructor(A,e){this.seq=[],this.map={};const t=A.getProgramParameter(e,A.ACTIVE_UNIFORMS);for(let n=0;n<t;++n){const t=A.getActiveUniform(e,n);ko(t,A.getUniformLocation(e,t.name),this)}}setValue(A,e,t,n){const i=this.map[e];void 0!==i&&i.setValue(A,t,n)}setOptional(A,e,t){const n=e[t];void 0!==n&&this.setValue(A,t,n)}static upload(A,e,t,n){for(let i=0,r=e.length;i!==r;++i){const r=e[i],s=t[r.id];!1!==s.needsUpdate&&r.setValue(A,s.value,n)}}static seqWithValue(A,e){const t=[];for(let n=0,i=A.length;n!==i;++n){const i=A[n];i.id in e&&t.push(i)}return t}}function jo(A,e,t){const n=A.createShader(e);return A.shaderSource(n,t),A.compileShader(n),n}let zo=0;function vo(A,e,t){const n=A.getShaderParameter(e,A.COMPILE_STATUS),i=A.getShaderInfoLog(e).trim();if(n&&""===i)return"";const r=/ERROR: 0:(\d+)/.exec(i);if(r){const n=parseInt(r[1]);return t.toUpperCase()+"\n\n"+i+"\n\n"+function(A,e){const t=A.split("\n"),n=[],i=Math.max(e-6,0),r=Math.min(e+6,t.length);for(let A=i;A<r;A++){const i=A+1;n.push(`${i===e?">":" "} ${i}: ${t[A]}`)}return n.join("\n")}(A.getShaderSource(e),n)}return i}function Lo(A,e){const t=function(A){switch(A){case ve:return["Linear","( value )"];case ze:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",A),["Linear","( value )"]}}(e);return"vec4 "+A+"( vec4 value ) { return LinearTo"+t[0]+t[1]+"; }"}function Po(A,e){let t;switch(e){case q:t="Linear";break;case $:t="Reinhard";break;case AA:t="OptimizedCineon";break;case eA:t="ACESFilmic";break;case tA:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+A+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function Oo(A){return""!==A}function Wo(A,e){const t=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return A.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,t).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function Vo(A,e){return A.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const Ko=/^[ \t]*#include +<([\w\d./]+)>/gm;function Xo(A){return A.replace(Ko,Zo)}function Zo(A,e){const t=ts[e];if(void 0===t)throw new Error("Can not resolve #include <"+e+">");return Xo(t)}const _o=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function qo(A){return A.replace(_o,$o)}function $o(A,e,t,n){let i="";for(let A=parseInt(e);A<parseInt(t);A++)i+=n.replace(/\[\s*i\s*\]/g,"[ "+A+" ]").replace(/UNROLLED_LOOP_INDEX/g,A);return i}function Aa(A){let e="precision "+A.precision+" float;\nprecision "+A.precision+" int;";return"highp"===A.precision?e+="\n#define HIGH_PRECISION":"mediump"===A.precision?e+="\n#define MEDIUM_PRECISION":"lowp"===A.precision&&(e+="\n#define LOW_PRECISION"),e}function ea(A,e,t,n){const i=A.getContext(),r=t.defines;let s=t.vertexShader,o=t.fragmentShader;const a=function(A){let e="SHADOWMAP_TYPE_BASIC";return A.shadowMapType===g?e="SHADOWMAP_TYPE_PCF":A.shadowMapType===Q?e="SHADOWMAP_TYPE_PCF_SOFT":A.shadowMapType===E&&(e="SHADOWMAP_TYPE_VSM"),e}(t),B=function(A){let e="ENVMAP_TYPE_CUBE";if(A.envMap)switch(A.envMapMode){case iA:case rA:e="ENVMAP_TYPE_CUBE";break;case aA:e="ENVMAP_TYPE_CUBE_UV"}return e}(t),c=function(A){let e="ENVMAP_MODE_REFLECTION";if(A.envMap)switch(A.envMapMode){case rA:e="ENVMAP_MODE_REFRACTION"}return e}(t),l=function(A){let e="ENVMAP_BLENDING_NONE";if(A.envMap)switch(A.combine){case K:e="ENVMAP_BLENDING_MULTIPLY";break;case X:e="ENVMAP_BLENDING_MIX";break;case Z:e="ENVMAP_BLENDING_ADD"}return e}(t),u=function(A){const e=A.envMapCubeUVHeight;if(null===e)return null;const t=Math.log2(e)-2,n=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,t),112)),texelHeight:n,maxMip:t}}(t),w=t.isWebGL2?"":function(A){return[A.extensionDerivatives||A.envMapCubeUVHeight||A.bumpMap||A.normalMapTangentSpace||A.clearcoatNormalMap||A.flatShading||"physical"===A.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(A.extensionFragDepth||A.logarithmicDepthBuffer)&&A.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",A.extensionDrawBuffers&&A.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(A.extensionShaderTextureLOD||A.envMap||A.transmission)&&A.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Oo).join("\n")}(t),h=function(A){const e=[];for(const t in A){const n=A[t];!1!==n&&e.push("#define "+t+" "+n)}return e.join("\n")}(r),C=i.createProgram();let d,I,M=t.glslVersion?"#version "+t.glslVersion+"\n":"";t.isRawShaderMaterial?(d=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,h].filter(Oo).join("\n"),d.length>0&&(d+="\n"),I=[w,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,h].filter(Oo).join("\n"),I.length>0&&(I+="\n")):(d=[Aa(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,h,t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&!1===t.flatShading?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+a:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Oo).join("\n"),I=[w,Aa(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,h,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+B:"",t.envMap?"#define "+c:"",t.envMap?"#define "+l:"",u?"#define CUBEUV_TEXEL_WIDTH "+u.texelWidth:"",u?"#define CUBEUV_TEXEL_HEIGHT "+u.texelHeight:"",u?"#define CUBEUV_MAX_MIP "+u.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+a:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==_?"#define TONE_MAPPING":"",t.toneMapping!==_?ts.tonemapping_pars_fragment:"",t.toneMapping!==_?Po("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",ts.encodings_pars_fragment,Lo("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"","\n"].filter(Oo).join("\n")),s=Xo(s),s=Wo(s,t),s=Vo(s,t),o=Xo(o),o=Wo(o,t),o=Vo(o,t),s=qo(s),o=qo(o),t.isWebGL2&&!0!==t.isRawShaderMaterial&&(M="#version 300 es\n",d=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+d,I=["#define varying in",t.glslVersion===Ft?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===Ft?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+I);const p=M+d+s,m=M+I+o,F=jo(i,i.VERTEX_SHADER,p),D=jo(i,i.FRAGMENT_SHADER,m);if(i.attachShader(C,F),i.attachShader(C,D),void 0!==t.index0AttributeName?i.bindAttribLocation(C,0,t.index0AttributeName):!0===t.morphTargets&&i.bindAttribLocation(C,0,"position"),i.linkProgram(C),A.debug.checkShaderErrors){const e=i.getProgramInfoLog(C).trim(),t=i.getShaderInfoLog(F).trim(),n=i.getShaderInfoLog(D).trim();let r=!0,s=!0;if(!1===i.getProgramParameter(C,i.LINK_STATUS))if(r=!1,"function"==typeof A.debug.onShaderError)A.debug.onShaderError(i,C,F,D);else{const A=vo(i,F,"vertex"),t=vo(i,D,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(C,i.VALIDATE_STATUS)+"\n\nProgram Info Log: "+e+"\n"+A+"\n"+t)}else""!==e?console.warn("THREE.WebGLProgram: Program Info Log:",e):""!==t&&""!==n||(s=!1);s&&(this.diagnostics={runnable:r,programLog:e,vertexShader:{log:t,prefix:d},fragmentShader:{log:n,prefix:I}})}let Y,f;return i.deleteShader(F),i.deleteShader(D),this.getUniforms=function(){return void 0===Y&&(Y=new Jo(i,C)),Y},this.getAttributes=function(){return void 0===f&&(f=function(A,e){const t={},n=A.getProgramParameter(e,A.ACTIVE_ATTRIBUTES);for(let i=0;i<n;i++){const n=A.getActiveAttrib(e,i),r=n.name;let s=1;n.type===A.FLOAT_MAT2&&(s=2),n.type===A.FLOAT_MAT3&&(s=3),n.type===A.FLOAT_MAT4&&(s=4),t[r]={type:n.type,location:A.getAttribLocation(e,r),locationSize:s}}return t}(i,C)),f},this.destroy=function(){n.releaseStatesOfProgram(this),i.deleteProgram(C),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=zo++,this.cacheKey=e,this.usedTimes=1,this.program=C,this.vertexShader=F,this.fragmentShader=D,this}let ta=0;class na{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(A){const e=A.vertexShader,t=A.fragmentShader,n=this._getShaderStage(e),i=this._getShaderStage(t),r=this._getShaderCacheForMaterial(A);return!1===r.has(n)&&(r.add(n),n.usedTimes++),!1===r.has(i)&&(r.add(i),i.usedTimes++),this}remove(A){const e=this.materialCache.get(A);for(const A of e)A.usedTimes--,0===A.usedTimes&&this.shaderCache.delete(A.code);return this.materialCache.delete(A),this}getVertexShaderID(A){return this._getShaderStage(A.vertexShader).id}getFragmentShaderID(A){return this._getShaderStage(A.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(A){const e=this.materialCache;let t=e.get(A);return void 0===t&&(t=new Set,e.set(A,t)),t}_getShaderStage(A){const e=this.shaderCache;let t=e.get(A);return void 0===t&&(t=new ia(A),e.set(A,t)),t}}class ia{constructor(A){this.id=ta++,this.code=A,this.usedTimes=0}}function ra(A,e,t,n,i,r,s){const o=new ai,a=new na,B=[],c=i.isWebGL2,g=i.logarithmicDepthBuffer,Q=i.vertexTextures;let E=i.precision;const l={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function h(A){return 0===A?"uv":"uv"+A}return{getParameters:function(r,o,B,C,I){const M=C.fog,p=I.geometry,m=r.isMeshStandardMaterial?C.environment:null,F=(r.isMeshStandardMaterial?t:e).get(r.envMap||m),D=F&&F.mapping===aA?F.image.height:null,Y=l[r.type];null!==r.precision&&(E=i.getMaxPrecision(r.precision),E!==r.precision&&console.warn("THREE.WebGLProgram.getParameters:",r.precision,"not supported, using",E,"instead."));const f=p.morphAttributes.position||p.morphAttributes.normal||p.morphAttributes.color,N=void 0!==f?f.length:0;let U,y,x,T,R=0;if(void 0!==p.morphAttributes.position&&(R=1),void 0!==p.morphAttributes.normal&&(R=2),void 0!==p.morphAttributes.color&&(R=3),Y){const A=is[Y];U=A.vertexShader,y=A.fragmentShader}else U=r.vertexShader,y=r.fragmentShader,a.update(r),x=a.getVertexShaderID(r),T=a.getFragmentShaderID(r);const G=A.getRenderTarget(),S=!0===I.isInstancedMesh,H=!!r.map,b=!!r.matcap,k=!!F,J=!!r.aoMap,j=!!r.lightMap,z=!!r.bumpMap,v=!!r.normalMap,L=!!r.displacementMap,P=!!r.emissiveMap,O=!!r.metalnessMap,W=!!r.roughnessMap,V=r.anisotropy>0,K=r.clearcoat>0,X=r.iridescence>0,Z=r.sheen>0,q=r.transmission>0,$=V&&!!r.anisotropyMap,AA=K&&!!r.clearcoatMap,eA=K&&!!r.clearcoatNormalMap,tA=K&&!!r.clearcoatRoughnessMap,nA=X&&!!r.iridescenceMap,iA=X&&!!r.iridescenceThicknessMap,rA=Z&&!!r.sheenColorMap,sA=Z&&!!r.sheenRoughnessMap,oA=!!r.specularMap,BA=!!r.specularColorMap,cA=!!r.specularIntensityMap,gA=q&&!!r.transmissionMap,QA=q&&!!r.thicknessMap,EA=!!r.gradientMap,lA=!!r.alphaMap,uA=r.alphaTest>0,wA=!!r.extensions,hA=!!p.attributes.uv1,CA=!!p.attributes.uv2,dA=!!p.attributes.uv3;return{isWebGL2:c,shaderID:Y,shaderType:r.type,shaderName:r.name,vertexShader:U,fragmentShader:y,defines:r.defines,customVertexShaderID:x,customFragmentShaderID:T,isRawShaderMaterial:!0===r.isRawShaderMaterial,glslVersion:r.glslVersion,precision:E,instancing:S,instancingColor:S&&null!==I.instanceColor,supportsVertexTextures:Q,outputColorSpace:null===G?A.outputColorSpace:!0===G.isXRRenderTarget?G.texture.colorSpace:ve,map:H,matcap:b,envMap:k,envMapMode:k&&F.mapping,envMapCubeUVHeight:D,aoMap:J,lightMap:j,bumpMap:z,normalMap:v,displacementMap:Q&&L,emissiveMap:P,normalMapObjectSpace:v&&r.normalMapType===Je,normalMapTangentSpace:v&&r.normalMapType===ke,metalnessMap:O,roughnessMap:W,anisotropy:V,anisotropyMap:$,clearcoat:K,clearcoatMap:AA,clearcoatNormalMap:eA,clearcoatRoughnessMap:tA,iridescence:X,iridescenceMap:nA,iridescenceThicknessMap:iA,sheen:Z,sheenColorMap:rA,sheenRoughnessMap:sA,specularMap:oA,specularColorMap:BA,specularIntensityMap:cA,transmission:q,transmissionMap:gA,thicknessMap:QA,gradientMap:EA,opaque:!1===r.transparent&&r.blending===d,alphaMap:lA,alphaTest:uA,combine:r.combine,mapUv:H&&h(r.map.channel),aoMapUv:J&&h(r.aoMap.channel),lightMapUv:j&&h(r.lightMap.channel),bumpMapUv:z&&h(r.bumpMap.channel),normalMapUv:v&&h(r.normalMap.channel),displacementMapUv:L&&h(r.displacementMap.channel),emissiveMapUv:P&&h(r.emissiveMap.channel),metalnessMapUv:O&&h(r.metalnessMap.channel),roughnessMapUv:W&&h(r.roughnessMap.channel),anisotropyMapUv:$&&h(r.anisotropyMap.channel),clearcoatMapUv:AA&&h(r.clearcoatMap.channel),clearcoatNormalMapUv:eA&&h(r.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:tA&&h(r.clearcoatRoughnessMap.channel),iridescenceMapUv:nA&&h(r.iridescenceMap.channel),iridescenceThicknessMapUv:iA&&h(r.iridescenceThicknessMap.channel),sheenColorMapUv:rA&&h(r.sheenColorMap.channel),sheenRoughnessMapUv:sA&&h(r.sheenRoughnessMap.channel),specularMapUv:oA&&h(r.specularMap.channel),specularColorMapUv:BA&&h(r.specularColorMap.channel),specularIntensityMapUv:cA&&h(r.specularIntensityMap.channel),transmissionMapUv:gA&&h(r.transmissionMap.channel),thicknessMapUv:QA&&h(r.thicknessMap.channel),alphaMapUv:lA&&h(r.alphaMap.channel),vertexTangents:!!p.attributes.tangent&&(v||V),vertexColors:r.vertexColors,vertexAlphas:!0===r.vertexColors&&!!p.attributes.color&&4===p.attributes.color.itemSize,vertexUv1s:hA,vertexUv2s:CA,vertexUv3s:dA,pointsUvs:!0===I.isPoints&&!!p.attributes.uv&&(H||lA),fog:!!M,useFog:!0===r.fog,fogExp2:M&&M.isFogExp2,flatShading:!0===r.flatShading,sizeAttenuation:!0===r.sizeAttenuation,logarithmicDepthBuffer:g,skinning:!0===I.isSkinnedMesh,morphTargets:void 0!==p.morphAttributes.position,morphNormals:void 0!==p.morphAttributes.normal,morphColors:void 0!==p.morphAttributes.color,morphTargetsCount:N,morphTextureStride:R,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numSpotLightMaps:o.spotLightMap.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numSpotLightShadowsWithMaps:o.numSpotLightShadowsWithMaps,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,dithering:r.dithering,shadowMapEnabled:A.shadowMap.enabled&&B.length>0,shadowMapType:A.shadowMap.type,toneMapping:r.toneMapped?A.toneMapping:_,useLegacyLights:A.useLegacyLights,premultipliedAlpha:r.premultipliedAlpha,doubleSided:r.side===w,flipSided:r.side===u,useDepthPacking:r.depthPacking>=0,depthPacking:r.depthPacking||0,index0AttributeName:r.index0AttributeName,extensionDerivatives:wA&&!0===r.extensions.derivatives,extensionFragDepth:wA&&!0===r.extensions.fragDepth,extensionDrawBuffers:wA&&!0===r.extensions.drawBuffers,extensionShaderTextureLOD:wA&&!0===r.extensions.shaderTextureLOD,rendererExtensionFragDepth:c||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:c||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:c||n.has("EXT_shader_texture_lod"),customProgramCacheKey:r.customProgramCacheKey()}},getProgramCacheKey:function(e){const t=[];if(e.shaderID?t.push(e.shaderID):(t.push(e.customVertexShaderID),t.push(e.customFragmentShaderID)),void 0!==e.defines)for(const A in e.defines)t.push(A),t.push(e.defines[A]);return!1===e.isRawShaderMaterial&&(!function(A,e){A.push(e.precision),A.push(e.outputColorSpace),A.push(e.envMapMode),A.push(e.envMapCubeUVHeight),A.push(e.mapUv),A.push(e.alphaMapUv),A.push(e.lightMapUv),A.push(e.aoMapUv),A.push(e.bumpMapUv),A.push(e.normalMapUv),A.push(e.displacementMapUv),A.push(e.emissiveMapUv),A.push(e.metalnessMapUv),A.push(e.roughnessMapUv),A.push(e.anisotropyMapUv),A.push(e.clearcoatMapUv),A.push(e.clearcoatNormalMapUv),A.push(e.clearcoatRoughnessMapUv),A.push(e.iridescenceMapUv),A.push(e.iridescenceThicknessMapUv),A.push(e.sheenColorMapUv),A.push(e.sheenRoughnessMapUv),A.push(e.specularMapUv),A.push(e.specularColorMapUv),A.push(e.specularIntensityMapUv),A.push(e.transmissionMapUv),A.push(e.thicknessMapUv),A.push(e.combine),A.push(e.fogExp2),A.push(e.sizeAttenuation),A.push(e.morphTargetsCount),A.push(e.morphAttributeCount),A.push(e.numDirLights),A.push(e.numPointLights),A.push(e.numSpotLights),A.push(e.numSpotLightMaps),A.push(e.numHemiLights),A.push(e.numRectAreaLights),A.push(e.numDirLightShadows),A.push(e.numPointLightShadows),A.push(e.numSpotLightShadows),A.push(e.numSpotLightShadowsWithMaps),A.push(e.shadowMapType),A.push(e.toneMapping),A.push(e.numClippingPlanes),A.push(e.numClipIntersection),A.push(e.depthPacking)}(t,e),function(A,e){o.disableAll(),e.isWebGL2&&o.enable(0);e.supportsVertexTextures&&o.enable(1);e.instancing&&o.enable(2);e.instancingColor&&o.enable(3);e.matcap&&o.enable(4);e.envMap&&o.enable(5);e.normalMapObjectSpace&&o.enable(6);e.normalMapTangentSpace&&o.enable(7);e.clearcoat&&o.enable(8);e.iridescence&&o.enable(9);e.alphaTest&&o.enable(10);e.vertexColors&&o.enable(11);e.vertexAlphas&&o.enable(12);e.vertexUv1s&&o.enable(13);e.vertexUv2s&&o.enable(14);e.vertexUv3s&&o.enable(15);e.vertexTangents&&o.enable(16);e.anisotropy&&o.enable(17);A.push(o.mask),o.disableAll(),e.fog&&o.enable(0);e.useFog&&o.enable(1);e.flatShading&&o.enable(2);e.logarithmicDepthBuffer&&o.enable(3);e.skinning&&o.enable(4);e.morphTargets&&o.enable(5);e.morphNormals&&o.enable(6);e.morphColors&&o.enable(7);e.premultipliedAlpha&&o.enable(8);e.shadowMapEnabled&&o.enable(9);e.useLegacyLights&&o.enable(10);e.doubleSided&&o.enable(11);e.flipSided&&o.enable(12);e.useDepthPacking&&o.enable(13);e.dithering&&o.enable(14);e.transmission&&o.enable(15);e.sheen&&o.enable(16);e.opaque&&o.enable(17);e.pointsUvs&&o.enable(18);A.push(o.mask)}(t,e),t.push(A.outputColorSpace)),t.push(e.customProgramCacheKey),t.join()},getUniforms:function(A){const e=l[A.type];let t;if(e){const A=is[e];t=Jr.clone(A.uniforms)}else t=A.uniforms;return t},acquireProgram:function(e,t){let n;for(let A=0,e=B.length;A<e;A++){const e=B[A];if(e.cacheKey===t){n=e,++n.usedTimes;break}}return void 0===n&&(n=new ea(A,t,e,r),B.push(n)),n},releaseProgram:function(A){if(0==--A.usedTimes){const e=B.indexOf(A);B[e]=B[B.length-1],B.pop(),A.destroy()}},releaseShaderCache:function(A){a.remove(A)},programs:B,dispose:function(){a.dispose()}}}function sa(){let A=new WeakMap;return{get:function(e){let t=A.get(e);return void 0===t&&(t={},A.set(e,t)),t},remove:function(e){A.delete(e)},update:function(e,t,n){A.get(e)[t]=n},dispose:function(){A=new WeakMap}}}function oa(A,e){return A.groupOrder!==e.groupOrder?A.groupOrder-e.groupOrder:A.renderOrder!==e.renderOrder?A.renderOrder-e.renderOrder:A.material.id!==e.material.id?A.material.id-e.material.id:A.z!==e.z?A.z-e.z:A.id-e.id}function aa(A,e){return A.groupOrder!==e.groupOrder?A.groupOrder-e.groupOrder:A.renderOrder!==e.renderOrder?A.renderOrder-e.renderOrder:A.z!==e.z?e.z-A.z:A.id-e.id}function Ba(){const A=[];let e=0;const t=[],n=[],i=[];function r(t,n,i,r,s,o){let a=A[e];return void 0===a?(a={id:t.id,object:t,geometry:n,material:i,groupOrder:r,renderOrder:t.renderOrder,z:s,group:o},A[e]=a):(a.id=t.id,a.object=t,a.geometry=n,a.material=i,a.groupOrder=r,a.renderOrder=t.renderOrder,a.z=s,a.group=o),e++,a}return{opaque:t,transmissive:n,transparent:i,init:function(){e=0,t.length=0,n.length=0,i.length=0},push:function(A,e,s,o,a,B){const c=r(A,e,s,o,a,B);s.transmission>0?n.push(c):!0===s.transparent?i.push(c):t.push(c)},unshift:function(A,e,s,o,a,B){const c=r(A,e,s,o,a,B);s.transmission>0?n.unshift(c):!0===s.transparent?i.unshift(c):t.unshift(c)},finish:function(){for(let t=e,n=A.length;t<n;t++){const e=A[t];if(null===e.id)break;e.id=null,e.object=null,e.geometry=null,e.material=null,e.group=null}},sort:function(A,e){t.length>1&&t.sort(A||oa),n.length>1&&n.sort(e||aa),i.length>1&&i.sort(e||aa)}}}function ca(){let A=new WeakMap;return{get:function(e,t){const n=A.get(e);let i;return void 0===n?(i=new Ba,A.set(e,[i])):t>=n.length?(i=new Ba,n.push(i)):i=n[t],i},dispose:function(){A=new WeakMap}}}function ga(){const A={};return{get:function(e){if(void 0!==A[e.id])return A[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new Mn,color:new zi};break;case"SpotLight":t={position:new Mn,direction:new Mn,color:new zi,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new Mn,color:new zi,distance:0,decay:0};break;case"HemisphereLight":t={direction:new Mn,skyColor:new zi,groundColor:new zi};break;case"RectAreaLight":t={color:new zi,position:new Mn,halfWidth:new Mn,halfHeight:new Mn}}return A[e.id]=t,t}}}let Qa=0;function Ea(A,e){return(e.castShadow?2:0)-(A.castShadow?2:0)+(e.map?1:0)-(A.map?1:0)}function la(A,e){const t=new ga,n=function(){const A={};return{get:function(e){if(void 0!==A[e.id])return A[e.id];let t;switch(e.type){case"DirectionalLight":case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Lt};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Lt,shadowCameraNear:1,shadowCameraFar:1e3}}return A[e.id]=t,t}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0};for(let A=0;A<9;A++)i.probe.push(new Mn);const r=new Mn,s=new _n,o=new _n;return{setup:function(r,s){let o=0,a=0,B=0;for(let A=0;A<9;A++)i.probe[A].set(0,0,0);let c=0,g=0,Q=0,E=0,l=0,u=0,w=0,h=0,C=0,d=0;r.sort(Ea);const I=!0===s?Math.PI:1;for(let A=0,e=r.length;A<e;A++){const e=r[A],s=e.color,M=e.intensity,p=e.distance,m=e.shadow&&e.shadow.map?e.shadow.map.texture:null;if(e.isAmbientLight)o+=s.r*M*I,a+=s.g*M*I,B+=s.b*M*I;else if(e.isLightProbe)for(let A=0;A<9;A++)i.probe[A].addScaledVector(e.sh.coefficients[A],M);else if(e.isDirectionalLight){const A=t.get(e);if(A.color.copy(e.color).multiplyScalar(e.intensity*I),e.castShadow){const A=e.shadow,t=n.get(e);t.shadowBias=A.bias,t.shadowNormalBias=A.normalBias,t.shadowRadius=A.radius,t.shadowMapSize=A.mapSize,i.directionalShadow[c]=t,i.directionalShadowMap[c]=m,i.directionalShadowMatrix[c]=e.shadow.matrix,u++}i.directional[c]=A,c++}else if(e.isSpotLight){const A=t.get(e);A.position.setFromMatrixPosition(e.matrixWorld),A.color.copy(s).multiplyScalar(M*I),A.distance=p,A.coneCos=Math.cos(e.angle),A.penumbraCos=Math.cos(e.angle*(1-e.penumbra)),A.decay=e.decay,i.spot[Q]=A;const r=e.shadow;if(e.map&&(i.spotLightMap[C]=e.map,C++,r.updateMatrices(e),e.castShadow&&d++),i.spotLightMatrix[Q]=r.matrix,e.castShadow){const A=n.get(e);A.shadowBias=r.bias,A.shadowNormalBias=r.normalBias,A.shadowRadius=r.radius,A.shadowMapSize=r.mapSize,i.spotShadow[Q]=A,i.spotShadowMap[Q]=m,h++}Q++}else if(e.isRectAreaLight){const A=t.get(e);A.color.copy(s).multiplyScalar(M),A.halfWidth.set(.5*e.width,0,0),A.halfHeight.set(0,.5*e.height,0),i.rectArea[E]=A,E++}else if(e.isPointLight){const A=t.get(e);if(A.color.copy(e.color).multiplyScalar(e.intensity*I),A.distance=e.distance,A.decay=e.decay,e.castShadow){const A=e.shadow,t=n.get(e);t.shadowBias=A.bias,t.shadowNormalBias=A.normalBias,t.shadowRadius=A.radius,t.shadowMapSize=A.mapSize,t.shadowCameraNear=A.camera.near,t.shadowCameraFar=A.camera.far,i.pointShadow[g]=t,i.pointShadowMap[g]=m,i.pointShadowMatrix[g]=e.shadow.matrix,w++}i.point[g]=A,g++}else if(e.isHemisphereLight){const A=t.get(e);A.skyColor.copy(e.color).multiplyScalar(M*I),A.groundColor.copy(e.groundColor).multiplyScalar(M*I),i.hemi[l]=A,l++}}E>0&&(e.isWebGL2||!0===A.has("OES_texture_float_linear")?(i.rectAreaLTC1=ns.LTC_FLOAT_1,i.rectAreaLTC2=ns.LTC_FLOAT_2):!0===A.has("OES_texture_half_float_linear")?(i.rectAreaLTC1=ns.LTC_HALF_1,i.rectAreaLTC2=ns.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=o,i.ambient[1]=a,i.ambient[2]=B;const M=i.hash;M.directionalLength===c&&M.pointLength===g&&M.spotLength===Q&&M.rectAreaLength===E&&M.hemiLength===l&&M.numDirectionalShadows===u&&M.numPointShadows===w&&M.numSpotShadows===h&&M.numSpotMaps===C||(i.directional.length=c,i.spot.length=Q,i.rectArea.length=E,i.point.length=g,i.hemi.length=l,i.directionalShadow.length=u,i.directionalShadowMap.length=u,i.pointShadow.length=w,i.pointShadowMap.length=w,i.spotShadow.length=h,i.spotShadowMap.length=h,i.directionalShadowMatrix.length=u,i.pointShadowMatrix.length=w,i.spotLightMatrix.length=h+C-d,i.spotLightMap.length=C,i.numSpotLightShadowsWithMaps=d,M.directionalLength=c,M.pointLength=g,M.spotLength=Q,M.rectAreaLength=E,M.hemiLength=l,M.numDirectionalShadows=u,M.numPointShadows=w,M.numSpotShadows=h,M.numSpotMaps=C,i.version=Qa++)},setupView:function(A,e){let t=0,n=0,a=0,B=0,c=0;const g=e.matrixWorldInverse;for(let e=0,Q=A.length;e<Q;e++){const Q=A[e];if(Q.isDirectionalLight){const A=i.directional[t];A.direction.setFromMatrixPosition(Q.matrixWorld),r.setFromMatrixPosition(Q.target.matrixWorld),A.direction.sub(r),A.direction.transformDirection(g),t++}else if(Q.isSpotLight){const A=i.spot[a];A.position.setFromMatrixPosition(Q.matrixWorld),A.position.applyMatrix4(g),A.direction.setFromMatrixPosition(Q.matrixWorld),r.setFromMatrixPosition(Q.target.matrixWorld),A.direction.sub(r),A.direction.transformDirection(g),a++}else if(Q.isRectAreaLight){const A=i.rectArea[B];A.position.setFromMatrixPosition(Q.matrixWorld),A.position.applyMatrix4(g),o.identity(),s.copy(Q.matrixWorld),s.premultiply(g),o.extractRotation(s),A.halfWidth.set(.5*Q.width,0,0),A.halfHeight.set(0,.5*Q.height,0),A.halfWidth.applyMatrix4(o),A.halfHeight.applyMatrix4(o),B++}else if(Q.isPointLight){const A=i.point[n];A.position.setFromMatrixPosition(Q.matrixWorld),A.position.applyMatrix4(g),n++}else if(Q.isHemisphereLight){const A=i.hemi[c];A.direction.setFromMatrixPosition(Q.matrixWorld),A.direction.transformDirection(g),c++}}},state:i}}function ua(A,e){const t=new la(A,e),n=[],i=[];return{init:function(){n.length=0,i.length=0},state:{lightsArray:n,shadowsArray:i,lights:t},setupLights:function(A){t.setup(n,A)},setupLightsView:function(A){t.setupView(n,A)},pushLight:function(A){n.push(A)},pushShadow:function(A){i.push(A)}}}function wa(A,e){let t=new WeakMap;return{get:function(n,i=0){const r=t.get(n);let s;return void 0===r?(s=new ua(A,e),t.set(n,[s])):i>=r.length?(s=new ua(A,e),r.push(s)):s=r[i],s},dispose:function(){t=new WeakMap}}}class ha extends Hi{constructor(A){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=He,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}}class Ca extends Hi{constructor(A){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(A)}copy(A){return super.copy(A),this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}}function da(A,e,t){let n=new qr;const i=new Lt,r=new Lt,s=new En,o=new ha({depthPacking:be}),a=new Ca,B={},c=t.maxTextureSize,Q={[l]:u,[u]:l,[w]:w},h=new jr({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Lt},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),d=h.clone();d.defines.HORIZONTAL_PASS=1;const I=new ur;I.setAttribute("position",new _i(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const M=new Rr(I,h),p=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=g;let m=this.type;function F(t,n){const r=e.update(M);h.defines.VSM_SAMPLES!==t.blurSamples&&(h.defines.VSM_SAMPLES=t.blurSamples,d.defines.VSM_SAMPLES=t.blurSamples,h.needsUpdate=!0,d.needsUpdate=!0),null===t.mapPass&&(t.mapPass=new ln(i.x,i.y)),h.uniforms.shadow_pass.value=t.map.texture,h.uniforms.resolution.value=t.mapSize,h.uniforms.radius.value=t.radius,A.setRenderTarget(t.mapPass),A.clear(),A.renderBufferDirect(n,null,r,h,M,null),d.uniforms.shadow_pass.value=t.mapPass.texture,d.uniforms.resolution.value=t.mapSize,d.uniforms.radius.value=t.radius,A.setRenderTarget(t.map),A.clear(),A.renderBufferDirect(n,null,r,d,M,null)}function D(e,t,n,i){let r=null;const s=!0===n.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(void 0!==s)r=s;else if(r=!0===n.isPointLight?a:o,A.localClippingEnabled&&!0===t.clipShadows&&Array.isArray(t.clippingPlanes)&&0!==t.clippingPlanes.length||t.displacementMap&&0!==t.displacementScale||t.alphaMap&&t.alphaTest>0||t.map&&t.alphaTest>0){const A=r.uuid,e=t.uuid;let n=B[A];void 0===n&&(n={},B[A]=n);let i=n[e];void 0===i&&(i=r.clone(),n[e]=i),r=i}if(r.visible=t.visible,r.wireframe=t.wireframe,r.side=i===E?null!==t.shadowSide?t.shadowSide:t.side:null!==t.shadowSide?t.shadowSide:Q[t.side],r.alphaMap=t.alphaMap,r.alphaTest=t.alphaTest,r.map=t.map,r.clipShadows=t.clipShadows,r.clippingPlanes=t.clippingPlanes,r.clipIntersection=t.clipIntersection,r.displacementMap=t.displacementMap,r.displacementScale=t.displacementScale,r.displacementBias=t.displacementBias,r.wireframeLinewidth=t.wireframeLinewidth,r.linewidth=t.linewidth,!0===n.isPointLight&&!0===r.isMeshDistanceMaterial){A.properties.get(r).light=n}return r}function Y(t,i,r,s,o){if(!1===t.visible)return;if(t.layers.test(i.layers)&&(t.isMesh||t.isLine||t.isPoints)&&(t.castShadow||t.receiveShadow&&o===E)&&(!t.frustumCulled||n.intersectsObject(t))){t.modelViewMatrix.multiplyMatrices(r.matrixWorldInverse,t.matrixWorld);const n=e.update(t),i=t.material;if(Array.isArray(i)){const e=n.groups;for(let a=0,B=e.length;a<B;a++){const B=e[a],c=i[B.materialIndex];if(c&&c.visible){const e=D(t,c,s,o);A.renderBufferDirect(r,null,n,e,t,B)}}}else if(i.visible){const e=D(t,i,s,o);A.renderBufferDirect(r,null,n,e,t,null)}}const a=t.children;for(let A=0,e=a.length;A<e;A++)Y(a[A],i,r,s,o)}this.render=function(e,t,o){if(!1===p.enabled)return;if(!1===p.autoUpdate&&!1===p.needsUpdate)return;if(0===e.length)return;const a=A.getRenderTarget(),B=A.getActiveCubeFace(),g=A.getActiveMipmapLevel(),Q=A.state;Q.setBlending(C),Q.buffers.color.setClear(1,1,1,1),Q.buffers.depth.setTest(!0),Q.setScissorTest(!1);const l=m!==E&&this.type===E,u=m===E&&this.type!==E;for(let a=0,B=e.length;a<B;a++){const B=e[a],g=B.shadow;if(void 0===g){console.warn("THREE.WebGLShadowMap:",B,"has no shadow.");continue}if(!1===g.autoUpdate&&!1===g.needsUpdate)continue;i.copy(g.mapSize);const w=g.getFrameExtents();if(i.multiply(w),r.copy(g.mapSize),(i.x>c||i.y>c)&&(i.x>c&&(r.x=Math.floor(c/w.x),i.x=r.x*w.x,g.mapSize.x=r.x),i.y>c&&(r.y=Math.floor(c/w.y),i.y=r.y*w.y,g.mapSize.y=r.y)),null===g.map||!0===l||!0===u){const A=this.type!==E?{minFilter:QA,magFilter:QA}:{};null!==g.map&&g.map.dispose(),g.map=new ln(i.x,i.y,A),g.map.texture.name=B.name+".shadowMap",g.camera.updateProjectionMatrix()}A.setRenderTarget(g.map),A.clear();const h=g.getViewportCount();for(let A=0;A<h;A++){const e=g.getViewport(A);s.set(r.x*e.x,r.y*e.y,r.x*e.z,r.y*e.w),Q.viewport(s),g.updateMatrices(B,A),n=g.getFrustum(),Y(t,o,g.camera,B,this.type)}!0!==g.isPointLightShadow&&this.type===E&&F(g,o),g.needsUpdate=!1}m=this.type,p.needsUpdate=!1,A.setRenderTarget(a,B,g)}}function Ia(A,e,t){const n=t.isWebGL2;const i=new function(){let e=!1;const t=new En;let n=null;const i=new En(0,0,0,0);return{setMask:function(t){n===t||e||(A.colorMask(t,t,t,t),n=t)},setLocked:function(A){e=A},setClear:function(e,n,r,s,o){!0===o&&(e*=s,n*=s,r*=s),t.set(e,n,r,s),!1===i.equals(t)&&(A.clearColor(e,n,r,s),i.copy(t))},reset:function(){e=!1,n=null,i.set(-1,0,0,0)}}},r=new function(){let e=!1,t=null,n=null,i=null;return{setTest:function(e){e?MA(A.DEPTH_TEST):pA(A.DEPTH_TEST)},setMask:function(n){t===n||e||(A.depthMask(n),t=n)},setFunc:function(e){if(n!==e){switch(e){case j:A.depthFunc(A.NEVER);break;case z:A.depthFunc(A.ALWAYS);break;case v:A.depthFunc(A.LESS);break;case L:A.depthFunc(A.LEQUAL);break;case P:A.depthFunc(A.EQUAL);break;case O:A.depthFunc(A.GEQUAL);break;case W:A.depthFunc(A.GREATER);break;case V:A.depthFunc(A.NOTEQUAL);break;default:A.depthFunc(A.LEQUAL)}n=e}},setLocked:function(A){e=A},setClear:function(e){i!==e&&(A.clearDepth(e),i=e)},reset:function(){e=!1,t=null,n=null,i=null}}},B=new function(){let e=!1,t=null,n=null,i=null,r=null,s=null,o=null,a=null,B=null;return{setTest:function(t){e||(t?MA(A.STENCIL_TEST):pA(A.STENCIL_TEST))},setMask:function(n){t===n||e||(A.stencilMask(n),t=n)},setFunc:function(e,t,s){n===e&&i===t&&r===s||(A.stencilFunc(e,t,s),n=e,i=t,r=s)},setOp:function(e,t,n){s===e&&o===t&&a===n||(A.stencilOp(e,t,n),s=e,o=t,a=n)},setLocked:function(A){e=A},setClear:function(e){B!==e&&(A.clearStencil(e),B=e)},reset:function(){e=!1,t=null,n=null,i=null,r=null,s=null,o=null,a=null,B=null}}},c=new WeakMap,g=new WeakMap;let Q={},E={},l=new WeakMap,h=[],K=null,X=!1,Z=null,_=null,q=null,$=null,AA=null,eA=null,tA=null,nA=!1,iA=null,rA=null,sA=null,oA=null,aA=null;const BA=A.getParameter(A.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let cA=!1,gA=0;const QA=A.getParameter(A.VERSION);-1!==QA.indexOf("WebGL")?(gA=parseFloat(/^WebGL (\d)/.exec(QA)[1]),cA=gA>=1):-1!==QA.indexOf("OpenGL ES")&&(gA=parseFloat(/^OpenGL ES (\d)/.exec(QA)[1]),cA=gA>=2);let EA=null,lA={};const uA=A.getParameter(A.SCISSOR_BOX),wA=A.getParameter(A.VIEWPORT),hA=(new En).fromArray(uA),CA=(new En).fromArray(wA);function dA(e,t,i,r){const s=new Uint8Array(4),o=A.createTexture();A.bindTexture(e,o),A.texParameteri(e,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(e,A.TEXTURE_MAG_FILTER,A.NEAREST);for(let o=0;o<i;o++)!n||e!==A.TEXTURE_3D&&e!==A.TEXTURE_2D_ARRAY?A.texImage2D(t+o,0,A.RGBA,1,1,0,A.RGBA,A.UNSIGNED_BYTE,s):A.texImage3D(t,0,A.RGBA,1,1,r,0,A.RGBA,A.UNSIGNED_BYTE,s);return o}const IA={};function MA(e){!0!==Q[e]&&(A.enable(e),Q[e]=!0)}function pA(e){!1!==Q[e]&&(A.disable(e),Q[e]=!1)}IA[A.TEXTURE_2D]=dA(A.TEXTURE_2D,A.TEXTURE_2D,1),IA[A.TEXTURE_CUBE_MAP]=dA(A.TEXTURE_CUBE_MAP,A.TEXTURE_CUBE_MAP_POSITIVE_X,6),n&&(IA[A.TEXTURE_2D_ARRAY]=dA(A.TEXTURE_2D_ARRAY,A.TEXTURE_2D_ARRAY,1,1),IA[A.TEXTURE_3D]=dA(A.TEXTURE_3D,A.TEXTURE_3D,1,1)),i.setClear(0,0,0,1),r.setClear(1),B.setClear(0),MA(A.DEPTH_TEST),r.setFunc(L),YA(!1),fA(o),MA(A.CULL_FACE),DA(C);const mA={[F]:A.FUNC_ADD,[D]:A.FUNC_SUBTRACT,[Y]:A.FUNC_REVERSE_SUBTRACT};if(n)mA[f]=A.MIN,mA[N]=A.MAX;else{const A=e.get("EXT_blend_minmax");null!==A&&(mA[f]=A.MIN_EXT,mA[N]=A.MAX_EXT)}const FA={[U]:A.ZERO,[y]:A.ONE,[x]:A.SRC_COLOR,[R]:A.SRC_ALPHA,[J]:A.SRC_ALPHA_SATURATE,[b]:A.DST_COLOR,[S]:A.DST_ALPHA,[T]:A.ONE_MINUS_SRC_COLOR,[G]:A.ONE_MINUS_SRC_ALPHA,[k]:A.ONE_MINUS_DST_COLOR,[H]:A.ONE_MINUS_DST_ALPHA};function DA(e,t,n,i,r,s,o,a){if(e!==C){if(!1===X&&(MA(A.BLEND),X=!0),e===m)r=r||t,s=s||n,o=o||i,t===_&&r===AA||(A.blendEquationSeparate(mA[t],mA[r]),_=t,AA=r),n===q&&i===$&&s===eA&&o===tA||(A.blendFuncSeparate(FA[n],FA[i],FA[s],FA[o]),q=n,$=i,eA=s,tA=o),Z=e,nA=!1;else if(e!==Z||a!==nA){if(_===F&&AA===F||(A.blendEquation(A.FUNC_ADD),_=F,AA=F),a)switch(e){case d:A.blendFuncSeparate(A.ONE,A.ONE_MINUS_SRC_ALPHA,A.ONE,A.ONE_MINUS_SRC_ALPHA);break;case I:A.blendFunc(A.ONE,A.ONE);break;case M:A.blendFuncSeparate(A.ZERO,A.ONE_MINUS_SRC_COLOR,A.ZERO,A.ONE);break;case p:A.blendFuncSeparate(A.ZERO,A.SRC_COLOR,A.ZERO,A.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}else switch(e){case d:A.blendFuncSeparate(A.SRC_ALPHA,A.ONE_MINUS_SRC_ALPHA,A.ONE,A.ONE_MINUS_SRC_ALPHA);break;case I:A.blendFunc(A.SRC_ALPHA,A.ONE);break;case M:A.blendFuncSeparate(A.ZERO,A.ONE_MINUS_SRC_COLOR,A.ZERO,A.ONE);break;case p:A.blendFunc(A.ZERO,A.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}q=null,$=null,eA=null,tA=null,Z=e,nA=a}}else!0===X&&(pA(A.BLEND),X=!1)}function YA(e){iA!==e&&(e?A.frontFace(A.CW):A.frontFace(A.CCW),iA=e)}function fA(e){e!==s?(MA(A.CULL_FACE),e!==rA&&(e===o?A.cullFace(A.BACK):e===a?A.cullFace(A.FRONT):A.cullFace(A.FRONT_AND_BACK))):pA(A.CULL_FACE),rA=e}function NA(e,t,n){e?(MA(A.POLYGON_OFFSET_FILL),oA===t&&aA===n||(A.polygonOffset(t,n),oA=t,aA=n)):pA(A.POLYGON_OFFSET_FILL)}return{buffers:{color:i,depth:r,stencil:B},enable:MA,disable:pA,bindFramebuffer:function(e,t){return E[e]!==t&&(A.bindFramebuffer(e,t),E[e]=t,n&&(e===A.DRAW_FRAMEBUFFER&&(E[A.FRAMEBUFFER]=t),e===A.FRAMEBUFFER&&(E[A.DRAW_FRAMEBUFFER]=t)),!0)},drawBuffers:function(n,i){let r=h,s=!1;if(n)if(r=l.get(i),void 0===r&&(r=[],l.set(i,r)),n.isWebGLMultipleRenderTargets){const e=n.texture;if(r.length!==e.length||r[0]!==A.COLOR_ATTACHMENT0){for(let t=0,n=e.length;t<n;t++)r[t]=A.COLOR_ATTACHMENT0+t;r.length=e.length,s=!0}}else r[0]!==A.COLOR_ATTACHMENT0&&(r[0]=A.COLOR_ATTACHMENT0,s=!0);else r[0]!==A.BACK&&(r[0]=A.BACK,s=!0);s&&(t.isWebGL2?A.drawBuffers(r):e.get("WEBGL_draw_buffers").drawBuffersWEBGL(r))},useProgram:function(e){return K!==e&&(A.useProgram(e),K=e,!0)},setBlending:DA,setMaterial:function(e,t){e.side===w?pA(A.CULL_FACE):MA(A.CULL_FACE);let n=e.side===u;t&&(n=!n),YA(n),e.blending===d&&!1===e.transparent?DA(C):DA(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha),r.setFunc(e.depthFunc),r.setTest(e.depthTest),r.setMask(e.depthWrite),i.setMask(e.colorWrite);const s=e.stencilWrite;B.setTest(s),s&&(B.setMask(e.stencilWriteMask),B.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask),B.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)),NA(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits),!0===e.alphaToCoverage?MA(A.SAMPLE_ALPHA_TO_COVERAGE):pA(A.SAMPLE_ALPHA_TO_COVERAGE)},setFlipSided:YA,setCullFace:fA,setLineWidth:function(e){e!==sA&&(cA&&A.lineWidth(e),sA=e)},setPolygonOffset:NA,setScissorTest:function(e){e?MA(A.SCISSOR_TEST):pA(A.SCISSOR_TEST)},activeTexture:function(e){void 0===e&&(e=A.TEXTURE0+BA-1),EA!==e&&(A.activeTexture(e),EA=e)},bindTexture:function(e,t,n){void 0===n&&(n=null===EA?A.TEXTURE0+BA-1:EA);let i=lA[n];void 0===i&&(i={type:void 0,texture:void 0},lA[n]=i),i.type===e&&i.texture===t||(EA!==n&&(A.activeTexture(n),EA=n),A.bindTexture(e,t||IA[e]),i.type=e,i.texture=t)},unbindTexture:function(){const e=lA[EA];void 0!==e&&void 0!==e.type&&(A.bindTexture(e.type,null),e.type=void 0,e.texture=void 0)},compressedTexImage2D:function(){try{A.compressedTexImage2D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},compressedTexImage3D:function(){try{A.compressedTexImage3D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},texImage2D:function(){try{A.texImage2D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},texImage3D:function(){try{A.texImage3D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},updateUBOMapping:function(e,t){let n=g.get(t);void 0===n&&(n=new WeakMap,g.set(t,n));let i=n.get(e);void 0===i&&(i=A.getUniformBlockIndex(t,e.name),n.set(e,i))},uniformBlockBinding:function(e,t){const n=g.get(t).get(e);c.get(t)!==n&&(A.uniformBlockBinding(t,n,e.__bindingPointIndex),c.set(t,n))},texStorage2D:function(){try{A.texStorage2D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},texStorage3D:function(){try{A.texStorage3D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},texSubImage2D:function(){try{A.texSubImage2D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},texSubImage3D:function(){try{A.texSubImage3D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},compressedTexSubImage2D:function(){try{A.compressedTexSubImage2D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},compressedTexSubImage3D:function(){try{A.compressedTexSubImage3D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},scissor:function(e){!1===hA.equals(e)&&(A.scissor(e.x,e.y,e.z,e.w),hA.copy(e))},viewport:function(e){!1===CA.equals(e)&&(A.viewport(e.x,e.y,e.z,e.w),CA.copy(e))},reset:function(){A.disable(A.BLEND),A.disable(A.CULL_FACE),A.disable(A.DEPTH_TEST),A.disable(A.POLYGON_OFFSET_FILL),A.disable(A.SCISSOR_TEST),A.disable(A.STENCIL_TEST),A.disable(A.SAMPLE_ALPHA_TO_COVERAGE),A.blendEquation(A.FUNC_ADD),A.blendFunc(A.ONE,A.ZERO),A.blendFuncSeparate(A.ONE,A.ZERO,A.ONE,A.ZERO),A.colorMask(!0,!0,!0,!0),A.clearColor(0,0,0,0),A.depthMask(!0),A.depthFunc(A.LESS),A.clearDepth(1),A.stencilMask(4294967295),A.stencilFunc(A.ALWAYS,0,4294967295),A.stencilOp(A.KEEP,A.KEEP,A.KEEP),A.clearStencil(0),A.cullFace(A.BACK),A.frontFace(A.CCW),A.polygonOffset(0,0),A.activeTexture(A.TEXTURE0),A.bindFramebuffer(A.FRAMEBUFFER,null),!0===n&&(A.bindFramebuffer(A.DRAW_FRAMEBUFFER,null),A.bindFramebuffer(A.READ_FRAMEBUFFER,null)),A.useProgram(null),A.lineWidth(1),A.scissor(0,0,A.canvas.width,A.canvas.height),A.viewport(0,0,A.canvas.width,A.canvas.height),Q={},EA=null,lA={},E={},l=new WeakMap,h=[],K=null,X=!1,Z=null,_=null,q=null,$=null,AA=null,eA=null,tA=null,nA=!1,iA=null,rA=null,sA=null,oA=null,aA=null,hA.set(0,0,A.canvas.width,A.canvas.height),CA.set(0,0,A.canvas.width,A.canvas.height),i.reset(),r.reset(),B.reset()}}}function Ma(A,e,t,n,i,r,s){const o=i.isWebGL2,a=i.maxTextures,B=i.maxCubemapSize,c=i.maxTextureSize,g=i.maxSamples,Q=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,E="undefined"!=typeof navigator&&/OculusBrowser/g.test(navigator.userAgent),l=new WeakMap;let u;const w=new WeakMap;let h=!1;try{h="undefined"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(A){}function C(A,e){return h?new OffscreenCanvas(A,e):Xt("canvas")}function d(A,e,t,n){let i=1;if((A.width>n||A.height>n)&&(i=n/Math.max(A.width,A.height)),i<1||!0===e){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){const n=e?Jt:Math.floor,r=n(i*A.width),s=n(i*A.height);void 0===u&&(u=C(r,s));const o=t?C(r,s):u;o.width=r,o.height=s;return o.getContext("2d").drawImage(A,0,0,r,s),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+A.width+"x"+A.height+") to ("+r+"x"+s+")."),o}return"data"in A&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+A.width+"x"+A.height+")."),A}return A}function I(A){return bt(A.width)&&bt(A.height)}function M(A,e){return A.generateMipmaps&&e&&A.minFilter!==QA&&A.minFilter!==hA}function p(e){A.generateMipmap(e)}function m(t,n,i,r,s=!1){if(!1===o)return n;if(null!==t){if(void 0!==A[t])return A[t];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+t+"'")}let a=n;return n===A.RED&&(i===A.FLOAT&&(a=A.R32F),i===A.HALF_FLOAT&&(a=A.R16F),i===A.UNSIGNED_BYTE&&(a=A.R8)),n===A.RG&&(i===A.FLOAT&&(a=A.RG32F),i===A.HALF_FLOAT&&(a=A.RG16F),i===A.UNSIGNED_BYTE&&(a=A.RG8)),n===A.RGBA&&(i===A.FLOAT&&(a=A.RGBA32F),i===A.HALF_FLOAT&&(a=A.RGBA16F),i===A.UNSIGNED_BYTE&&(a=r===ze&&!1===s?A.SRGB8_ALPHA8:A.RGBA8),i===A.UNSIGNED_SHORT_4_4_4_4&&(a=A.RGBA4),i===A.UNSIGNED_SHORT_5_5_5_1&&(a=A.RGB5_A1)),a!==A.R16F&&a!==A.R32F&&a!==A.RG16F&&a!==A.RG32F&&a!==A.RGBA16F&&a!==A.RGBA32F||e.get("EXT_color_buffer_float"),a}function F(A,e,t){return!0===M(A,t)||A.isFramebufferTexture&&A.minFilter!==QA&&A.minFilter!==hA?Math.log2(Math.max(e.width,e.height))+1:void 0!==A.mipmaps&&A.mipmaps.length>0?A.mipmaps.length:A.isCompressedTexture&&Array.isArray(A.image)?e.mipmaps.length:1}function D(e){return e===QA||e===EA||e===uA?A.NEAREST:A.LINEAR}function Y(A){const e=A.target;e.removeEventListener("dispose",Y),function(A){const e=n.get(A);if(void 0===e.__webglInit)return;const t=A.source,i=w.get(t);if(i){const n=i[e.__cacheKey];n.usedTimes--,0===n.usedTimes&&N(A),0===Object.keys(i).length&&w.delete(t)}n.remove(A)}(e),e.isVideoTexture&&l.delete(e)}function f(e){const t=e.target;t.removeEventListener("dispose",f),function(e){const t=e.texture,i=n.get(e),r=n.get(t);void 0!==r.__webglTexture&&(A.deleteTexture(r.__webglTexture),s.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)A.deleteFramebuffer(i.__webglFramebuffer[e]),i.__webglDepthbuffer&&A.deleteRenderbuffer(i.__webglDepthbuffer[e]);else{if(A.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&A.deleteRenderbuffer(i.__webglDepthbuffer),i.__webglMultisampledFramebuffer&&A.deleteFramebuffer(i.__webglMultisampledFramebuffer),i.__webglColorRenderbuffer)for(let e=0;e<i.__webglColorRenderbuffer.length;e++)i.__webglColorRenderbuffer[e]&&A.deleteRenderbuffer(i.__webglColorRenderbuffer[e]);i.__webglDepthRenderbuffer&&A.deleteRenderbuffer(i.__webglDepthRenderbuffer)}if(e.isWebGLMultipleRenderTargets)for(let e=0,i=t.length;e<i;e++){const i=n.get(t[e]);i.__webglTexture&&(A.deleteTexture(i.__webglTexture),s.memory.textures--),n.remove(t[e])}n.remove(t),n.remove(e)}(t)}function N(e){const t=n.get(e);A.deleteTexture(t.__webglTexture);const i=e.source;delete w.get(i)[t.__cacheKey],s.memory.textures--}let U=0;function y(e,i){const r=n.get(e);if(e.isVideoTexture&&function(A){const e=s.render.frame;l.get(A)!==e&&(l.set(A,e),A.update())}(e),!1===e.isRenderTargetTexture&&e.version>0&&r.__version!==e.version){const A=e.image;if(null===A)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==A.complete)return void H(r,e,i);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}t.bindTexture(A.TEXTURE_2D,r.__webglTexture,A.TEXTURE0+i)}const x={[BA]:A.REPEAT,[cA]:A.CLAMP_TO_EDGE,[gA]:A.MIRRORED_REPEAT},T={[QA]:A.NEAREST,[EA]:A.NEAREST_MIPMAP_NEAREST,[uA]:A.NEAREST_MIPMAP_LINEAR,[hA]:A.LINEAR,[CA]:A.LINEAR_MIPMAP_NEAREST,[IA]:A.LINEAR_MIPMAP_LINEAR},R={[st]:A.NEVER,[Et]:A.ALWAYS,[ot]:A.LESS,[Bt]:A.LEQUAL,[at]:A.EQUAL,[Qt]:A.GEQUAL,[ct]:A.GREATER,[gt]:A.NOTEQUAL};function G(t,r,s){if(s?(A.texParameteri(t,A.TEXTURE_WRAP_S,x[r.wrapS]),A.texParameteri(t,A.TEXTURE_WRAP_T,x[r.wrapT]),t!==A.TEXTURE_3D&&t!==A.TEXTURE_2D_ARRAY||A.texParameteri(t,A.TEXTURE_WRAP_R,x[r.wrapR]),A.texParameteri(t,A.TEXTURE_MAG_FILTER,T[r.magFilter]),A.texParameteri(t,A.TEXTURE_MIN_FILTER,T[r.minFilter])):(A.texParameteri(t,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(t,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),t!==A.TEXTURE_3D&&t!==A.TEXTURE_2D_ARRAY||A.texParameteri(t,A.TEXTURE_WRAP_R,A.CLAMP_TO_EDGE),r.wrapS===cA&&r.wrapT===cA||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),A.texParameteri(t,A.TEXTURE_MAG_FILTER,D(r.magFilter)),A.texParameteri(t,A.TEXTURE_MIN_FILTER,D(r.minFilter)),r.minFilter!==QA&&r.minFilter!==hA&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),r.compareFunction&&(A.texParameteri(t,A.TEXTURE_COMPARE_MODE,A.COMPARE_REF_TO_TEXTURE),A.texParameteri(t,A.TEXTURE_COMPARE_FUNC,R[r.compareFunction])),!0===e.has("EXT_texture_filter_anisotropic")){const s=e.get("EXT_texture_filter_anisotropic");if(r.magFilter===QA)return;if(r.minFilter!==uA&&r.minFilter!==IA)return;if(r.type===NA&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&r.type===UA&&!1===e.has("OES_texture_half_float_linear"))return;(r.anisotropy>1||n.get(r).__currentAnisotropy)&&(A.texParameterf(t,s.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(r.anisotropy,i.getMaxAnisotropy())),n.get(r).__currentAnisotropy=r.anisotropy)}}function S(e,t){let n=!1;void 0===e.__webglInit&&(e.__webglInit=!0,t.addEventListener("dispose",Y));const i=t.source;let r=w.get(i);void 0===r&&(r={},w.set(i,r));const o=function(A){const e=[];return e.push(A.wrapS),e.push(A.wrapT),e.push(A.wrapR||0),e.push(A.magFilter),e.push(A.minFilter),e.push(A.anisotropy),e.push(A.internalFormat),e.push(A.format),e.push(A.type),e.push(A.generateMipmaps),e.push(A.premultiplyAlpha),e.push(A.flipY),e.push(A.unpackAlignment),e.push(A.colorSpace),e.join()}(t);if(o!==e.__cacheKey){void 0===r[o]&&(r[o]={texture:A.createTexture(),usedTimes:0},s.memory.textures++,n=!0),r[o].usedTimes++;const i=r[e.__cacheKey];void 0!==i&&(r[e.__cacheKey].usedTimes--,0===i.usedTimes&&N(t)),e.__cacheKey=o,e.__webglTexture=r[o].texture}return n}function H(e,i,s){let a=A.TEXTURE_2D;(i.isDataArrayTexture||i.isCompressedArrayTexture)&&(a=A.TEXTURE_2D_ARRAY),i.isData3DTexture&&(a=A.TEXTURE_3D);const B=S(e,i),g=i.source;t.bindTexture(a,e.__webglTexture,A.TEXTURE0+s);const Q=n.get(g);if(g.version!==Q.__version||!0===B){t.activeTexture(A.TEXTURE0+s),A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,i.flipY),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),A.pixelStorei(A.UNPACK_ALIGNMENT,i.unpackAlignment),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,A.NONE);const e=function(A){return!o&&(A.wrapS!==cA||A.wrapT!==cA||A.minFilter!==QA&&A.minFilter!==hA)}(i)&&!1===I(i.image);let n=d(i.image,e,!1,c);n=v(i,n);const E=I(n)||o,l=r.convert(i.format,i.colorSpace);let u,w=r.convert(i.type),h=m(i.internalFormat,l,w,i.colorSpace);G(a,i,E);const C=i.mipmaps,D=o&&!0!==i.isVideoTexture,Y=void 0===Q.__version||!0===B,f=F(i,n,E);if(i.isDepthTexture)h=A.DEPTH_COMPONENT,o?h=i.type===NA?A.DEPTH_COMPONENT32F:i.type===fA?A.DEPTH_COMPONENT24:i.type===TA?A.DEPTH24_STENCIL8:A.DEPTH_COMPONENT16:i.type===NA&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===bA&&h===A.DEPTH_COMPONENT&&i.type!==DA&&i.type!==fA&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=fA,w=r.convert(i.type)),i.format===kA&&h===A.DEPTH_COMPONENT&&(h=A.DEPTH_STENCIL,i.type!==TA&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=TA,w=r.convert(i.type))),Y&&(D?t.texStorage2D(A.TEXTURE_2D,1,h,n.width,n.height):t.texImage2D(A.TEXTURE_2D,0,h,n.width,n.height,0,l,w,null));else if(i.isDataTexture)if(C.length>0&&E){D&&Y&&t.texStorage2D(A.TEXTURE_2D,f,h,C[0].width,C[0].height);for(let e=0,n=C.length;e<n;e++)u=C[e],D?t.texSubImage2D(A.TEXTURE_2D,e,0,0,u.width,u.height,l,w,u.data):t.texImage2D(A.TEXTURE_2D,e,h,u.width,u.height,0,l,w,u.data);i.generateMipmaps=!1}else D?(Y&&t.texStorage2D(A.TEXTURE_2D,f,h,n.width,n.height),t.texSubImage2D(A.TEXTURE_2D,0,0,0,n.width,n.height,l,w,n.data)):t.texImage2D(A.TEXTURE_2D,0,h,n.width,n.height,0,l,w,n.data);else if(i.isCompressedTexture)if(i.isCompressedArrayTexture){D&&Y&&t.texStorage3D(A.TEXTURE_2D_ARRAY,f,h,C[0].width,C[0].height,n.depth);for(let e=0,r=C.length;e<r;e++)u=C[e],i.format!==GA?null!==l?D?t.compressedTexSubImage3D(A.TEXTURE_2D_ARRAY,e,0,0,0,u.width,u.height,n.depth,l,u.data,0,0):t.compressedTexImage3D(A.TEXTURE_2D_ARRAY,e,h,u.width,u.height,n.depth,0,u.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):D?t.texSubImage3D(A.TEXTURE_2D_ARRAY,e,0,0,0,u.width,u.height,n.depth,l,w,u.data):t.texImage3D(A.TEXTURE_2D_ARRAY,e,h,u.width,u.height,n.depth,0,l,w,u.data)}else{D&&Y&&t.texStorage2D(A.TEXTURE_2D,f,h,C[0].width,C[0].height);for(let e=0,n=C.length;e<n;e++)u=C[e],i.format!==GA?null!==l?D?t.compressedTexSubImage2D(A.TEXTURE_2D,e,0,0,u.width,u.height,l,u.data):t.compressedTexImage2D(A.TEXTURE_2D,e,h,u.width,u.height,0,u.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):D?t.texSubImage2D(A.TEXTURE_2D,e,0,0,u.width,u.height,l,w,u.data):t.texImage2D(A.TEXTURE_2D,e,h,u.width,u.height,0,l,w,u.data)}else if(i.isDataArrayTexture)D?(Y&&t.texStorage3D(A.TEXTURE_2D_ARRAY,f,h,n.width,n.height,n.depth),t.texSubImage3D(A.TEXTURE_2D_ARRAY,0,0,0,0,n.width,n.height,n.depth,l,w,n.data)):t.texImage3D(A.TEXTURE_2D_ARRAY,0,h,n.width,n.height,n.depth,0,l,w,n.data);else if(i.isData3DTexture)D?(Y&&t.texStorage3D(A.TEXTURE_3D,f,h,n.width,n.height,n.depth),t.texSubImage3D(A.TEXTURE_3D,0,0,0,0,n.width,n.height,n.depth,l,w,n.data)):t.texImage3D(A.TEXTURE_3D,0,h,n.width,n.height,n.depth,0,l,w,n.data);else if(i.isFramebufferTexture){if(Y)if(D)t.texStorage2D(A.TEXTURE_2D,f,h,n.width,n.height);else{let e=n.width,i=n.height;for(let n=0;n<f;n++)t.texImage2D(A.TEXTURE_2D,n,h,e,i,0,l,w,null),e>>=1,i>>=1}}else if(C.length>0&&E){D&&Y&&t.texStorage2D(A.TEXTURE_2D,f,h,C[0].width,C[0].height);for(let e=0,n=C.length;e<n;e++)u=C[e],D?t.texSubImage2D(A.TEXTURE_2D,e,0,0,l,w,u):t.texImage2D(A.TEXTURE_2D,e,h,l,w,u);i.generateMipmaps=!1}else D?(Y&&t.texStorage2D(A.TEXTURE_2D,f,h,n.width,n.height),t.texSubImage2D(A.TEXTURE_2D,0,0,0,l,w,n)):t.texImage2D(A.TEXTURE_2D,0,h,l,w,n);M(i,E)&&p(a),Q.__version=g.version,i.onUpdate&&i.onUpdate(i)}e.__version=i.version}function b(e,i,s,o,a){const B=r.convert(s.format,s.colorSpace),c=r.convert(s.type),g=m(s.internalFormat,B,c,s.colorSpace);n.get(i).__hasExternalTextures||(a===A.TEXTURE_3D||a===A.TEXTURE_2D_ARRAY?t.texImage3D(a,0,g,i.width,i.height,i.depth,0,B,c,null):t.texImage2D(a,0,g,i.width,i.height,0,B,c,null)),t.bindFramebuffer(A.FRAMEBUFFER,e),z(i)?Q.framebufferTexture2DMultisampleEXT(A.FRAMEBUFFER,o,a,n.get(s).__webglTexture,0,j(i)):(a===A.TEXTURE_2D||a>=A.TEXTURE_CUBE_MAP_POSITIVE_X&&a<=A.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&A.framebufferTexture2D(A.FRAMEBUFFER,o,a,n.get(s).__webglTexture,0),t.bindFramebuffer(A.FRAMEBUFFER,null)}function k(e,t,n){if(A.bindRenderbuffer(A.RENDERBUFFER,e),t.depthBuffer&&!t.stencilBuffer){let i=A.DEPTH_COMPONENT16;if(n||z(t)){const e=t.depthTexture;e&&e.isDepthTexture&&(e.type===NA?i=A.DEPTH_COMPONENT32F:e.type===fA&&(i=A.DEPTH_COMPONENT24));const n=j(t);z(t)?Q.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,n,i,t.width,t.height):A.renderbufferStorageMultisample(A.RENDERBUFFER,n,i,t.width,t.height)}else A.renderbufferStorage(A.RENDERBUFFER,i,t.width,t.height);A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.RENDERBUFFER,e)}else if(t.depthBuffer&&t.stencilBuffer){const i=j(t);n&&!1===z(t)?A.renderbufferStorageMultisample(A.RENDERBUFFER,i,A.DEPTH24_STENCIL8,t.width,t.height):z(t)?Q.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,i,A.DEPTH24_STENCIL8,t.width,t.height):A.renderbufferStorage(A.RENDERBUFFER,A.DEPTH_STENCIL,t.width,t.height),A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_STENCIL_ATTACHMENT,A.RENDERBUFFER,e)}else{const e=!0===t.isWebGLMultipleRenderTargets?t.texture:[t.texture];for(let i=0;i<e.length;i++){const s=e[i],o=r.convert(s.format,s.colorSpace),a=r.convert(s.type),B=m(s.internalFormat,o,a,s.colorSpace),c=j(t);n&&!1===z(t)?A.renderbufferStorageMultisample(A.RENDERBUFFER,c,B,t.width,t.height):z(t)?Q.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,c,B,t.width,t.height):A.renderbufferStorage(A.RENDERBUFFER,B,t.width,t.height)}}A.bindRenderbuffer(A.RENDERBUFFER,null)}function J(e){const i=n.get(e),r=!0===e.isWebGLCubeRenderTarget;if(e.depthTexture&&!i.__autoAllocateDepthBuffer){if(r)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,i){if(i&&i.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(A.FRAMEBUFFER,e),!i.depthTexture||!i.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");n.get(i.depthTexture).__webglTexture&&i.depthTexture.image.width===i.width&&i.depthTexture.image.height===i.height||(i.depthTexture.image.width=i.width,i.depthTexture.image.height=i.height,i.depthTexture.needsUpdate=!0),y(i.depthTexture,0);const r=n.get(i.depthTexture).__webglTexture,s=j(i);if(i.depthTexture.format===bA)z(i)?Q.framebufferTexture2DMultisampleEXT(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.TEXTURE_2D,r,0,s):A.framebufferTexture2D(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.TEXTURE_2D,r,0);else{if(i.depthTexture.format!==kA)throw new Error("Unknown depthTexture format");z(i)?Q.framebufferTexture2DMultisampleEXT(A.FRAMEBUFFER,A.DEPTH_STENCIL_ATTACHMENT,A.TEXTURE_2D,r,0,s):A.framebufferTexture2D(A.FRAMEBUFFER,A.DEPTH_STENCIL_ATTACHMENT,A.TEXTURE_2D,r,0)}}(i.__webglFramebuffer,e)}else if(r){i.__webglDepthbuffer=[];for(let n=0;n<6;n++)t.bindFramebuffer(A.FRAMEBUFFER,i.__webglFramebuffer[n]),i.__webglDepthbuffer[n]=A.createRenderbuffer(),k(i.__webglDepthbuffer[n],e,!1)}else t.bindFramebuffer(A.FRAMEBUFFER,i.__webglFramebuffer),i.__webglDepthbuffer=A.createRenderbuffer(),k(i.__webglDepthbuffer,e,!1);t.bindFramebuffer(A.FRAMEBUFFER,null)}function j(A){return Math.min(g,A.samples)}function z(A){const t=n.get(A);return o&&A.samples>0&&!0===e.has("WEBGL_multisampled_render_to_texture")&&!1!==t.__useRenderToTexture}function v(A,t){const n=A.colorSpace,i=A.format,r=A.type;return!0===A.isCompressedTexture||A.format===Dt||n!==ve&&n!==je&&(n===ze?!1===o?!0===e.has("EXT_sRGB")&&i===GA?(A.format=Dt,A.minFilter=hA,A.generateMipmaps=!1):t=on.sRGBToLinear(t):i===GA&&r===pA||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",n)),t}this.allocateTextureUnit=function(){const A=U;return A>=a&&console.warn("THREE.WebGLTextures: Trying to use "+A+" texture units while this GPU supports only "+a),U+=1,A},this.resetTextureUnits=function(){U=0},this.setTexture2D=y,this.setTexture2DArray=function(e,i){const r=n.get(e);e.version>0&&r.__version!==e.version?H(r,e,i):t.bindTexture(A.TEXTURE_2D_ARRAY,r.__webglTexture,A.TEXTURE0+i)},this.setTexture3D=function(e,i){const r=n.get(e);e.version>0&&r.__version!==e.version?H(r,e,i):t.bindTexture(A.TEXTURE_3D,r.__webglTexture,A.TEXTURE0+i)},this.setTextureCube=function(e,i){const s=n.get(e);e.version>0&&s.__version!==e.version?function(e,i,s){if(6!==i.image.length)return;const a=S(e,i),c=i.source;t.bindTexture(A.TEXTURE_CUBE_MAP,e.__webglTexture,A.TEXTURE0+s);const g=n.get(c);if(c.version!==g.__version||!0===a){t.activeTexture(A.TEXTURE0+s),A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,i.flipY),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),A.pixelStorei(A.UNPACK_ALIGNMENT,i.unpackAlignment),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,A.NONE);const e=i.isCompressedTexture||i.image[0].isCompressedTexture,n=i.image[0]&&i.image[0].isDataTexture,Q=[];for(let A=0;A<6;A++)Q[A]=e||n?n?i.image[A].image:i.image[A]:d(i.image[A],!1,!0,B),Q[A]=v(i,Q[A]);const E=Q[0],l=I(E)||o,u=r.convert(i.format,i.colorSpace),w=r.convert(i.type),h=m(i.internalFormat,u,w,i.colorSpace),C=o&&!0!==i.isVideoTexture,D=void 0===g.__version||!0===a;let Y,f=F(i,E,l);if(G(A.TEXTURE_CUBE_MAP,i,l),e){C&&D&&t.texStorage2D(A.TEXTURE_CUBE_MAP,f,h,E.width,E.height);for(let e=0;e<6;e++){Y=Q[e].mipmaps;for(let n=0;n<Y.length;n++){const r=Y[n];i.format!==GA?null!==u?C?t.compressedTexSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,n,0,0,r.width,r.height,u,r.data):t.compressedTexImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,n,h,r.width,r.height,0,r.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):C?t.texSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,n,0,0,r.width,r.height,u,w,r.data):t.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,n,h,r.width,r.height,0,u,w,r.data)}}}else{Y=i.mipmaps,C&&D&&(Y.length>0&&f++,t.texStorage2D(A.TEXTURE_CUBE_MAP,f,h,Q[0].width,Q[0].height));for(let e=0;e<6;e++)if(n){C?t.texSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,0,0,Q[e].width,Q[e].height,u,w,Q[e].data):t.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,h,Q[e].width,Q[e].height,0,u,w,Q[e].data);for(let n=0;n<Y.length;n++){const i=Y[n].image[e].image;C?t.texSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,n+1,0,0,i.width,i.height,u,w,i.data):t.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,n+1,h,i.width,i.height,0,u,w,i.data)}}else{C?t.texSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,0,0,u,w,Q[e]):t.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,h,u,w,Q[e]);for(let n=0;n<Y.length;n++){const i=Y[n];C?t.texSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,n+1,0,0,u,w,i.image[e]):t.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+e,n+1,h,u,w,i.image[e])}}}M(i,l)&&p(A.TEXTURE_CUBE_MAP),g.__version=c.version,i.onUpdate&&i.onUpdate(i)}e.__version=i.version}(s,e,i):t.bindTexture(A.TEXTURE_CUBE_MAP,s.__webglTexture,A.TEXTURE0+i)},this.rebindTextures=function(e,t,i){const r=n.get(e);void 0!==t&&b(r.__webglFramebuffer,e,e.texture,A.COLOR_ATTACHMENT0,A.TEXTURE_2D),void 0!==i&&J(e)},this.setupRenderTarget=function(e){const a=e.texture,B=n.get(e),c=n.get(a);e.addEventListener("dispose",f),!0!==e.isWebGLMultipleRenderTargets&&(void 0===c.__webglTexture&&(c.__webglTexture=A.createTexture()),c.__version=a.version,s.memory.textures++);const g=!0===e.isWebGLCubeRenderTarget,Q=!0===e.isWebGLMultipleRenderTargets,E=I(e)||o;if(g){B.__webglFramebuffer=[];for(let e=0;e<6;e++)B.__webglFramebuffer[e]=A.createFramebuffer()}else{if(B.__webglFramebuffer=A.createFramebuffer(),Q)if(i.drawBuffers){const t=e.texture;for(let e=0,i=t.length;e<i;e++){const i=n.get(t[e]);void 0===i.__webglTexture&&(i.__webglTexture=A.createTexture(),s.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(o&&e.samples>0&&!1===z(e)){const n=Q?a:[a];B.__webglMultisampledFramebuffer=A.createFramebuffer(),B.__webglColorRenderbuffer=[],t.bindFramebuffer(A.FRAMEBUFFER,B.__webglMultisampledFramebuffer);for(let t=0;t<n.length;t++){const i=n[t];B.__webglColorRenderbuffer[t]=A.createRenderbuffer(),A.bindRenderbuffer(A.RENDERBUFFER,B.__webglColorRenderbuffer[t]);const s=r.convert(i.format,i.colorSpace),o=r.convert(i.type),a=m(i.internalFormat,s,o,i.colorSpace,!0===e.isXRRenderTarget),c=j(e);A.renderbufferStorageMultisample(A.RENDERBUFFER,c,a,e.width,e.height),A.framebufferRenderbuffer(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0+t,A.RENDERBUFFER,B.__webglColorRenderbuffer[t])}A.bindRenderbuffer(A.RENDERBUFFER,null),e.depthBuffer&&(B.__webglDepthRenderbuffer=A.createRenderbuffer(),k(B.__webglDepthRenderbuffer,e,!0)),t.bindFramebuffer(A.FRAMEBUFFER,null)}}if(g){t.bindTexture(A.TEXTURE_CUBE_MAP,c.__webglTexture),G(A.TEXTURE_CUBE_MAP,a,E);for(let t=0;t<6;t++)b(B.__webglFramebuffer[t],e,a,A.COLOR_ATTACHMENT0,A.TEXTURE_CUBE_MAP_POSITIVE_X+t);M(a,E)&&p(A.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(Q){const i=e.texture;for(let r=0,s=i.length;r<s;r++){const s=i[r],o=n.get(s);t.bindTexture(A.TEXTURE_2D,o.__webglTexture),G(A.TEXTURE_2D,s,E),b(B.__webglFramebuffer,e,s,A.COLOR_ATTACHMENT0+r,A.TEXTURE_2D),M(s,E)&&p(A.TEXTURE_2D)}t.unbindTexture()}else{let n=A.TEXTURE_2D;(e.isWebGL3DRenderTarget||e.isWebGLArrayRenderTarget)&&(o?n=e.isWebGL3DRenderTarget?A.TEXTURE_3D:A.TEXTURE_2D_ARRAY:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),t.bindTexture(n,c.__webglTexture),G(n,a,E),b(B.__webglFramebuffer,e,a,A.COLOR_ATTACHMENT0,n),M(a,E)&&p(n),t.unbindTexture()}e.depthBuffer&&J(e)},this.updateRenderTargetMipmap=function(e){const i=I(e)||o,r=!0===e.isWebGLMultipleRenderTargets?e.texture:[e.texture];for(let s=0,o=r.length;s<o;s++){const o=r[s];if(M(o,i)){const i=e.isWebGLCubeRenderTarget?A.TEXTURE_CUBE_MAP:A.TEXTURE_2D,r=n.get(o).__webglTexture;t.bindTexture(i,r),p(i),t.unbindTexture()}}},this.updateMultisampleRenderTarget=function(e){if(o&&e.samples>0&&!1===z(e)){const i=e.isWebGLMultipleRenderTargets?e.texture:[e.texture],r=e.width,s=e.height;let o=A.COLOR_BUFFER_BIT;const a=[],B=e.stencilBuffer?A.DEPTH_STENCIL_ATTACHMENT:A.DEPTH_ATTACHMENT,c=n.get(e),g=!0===e.isWebGLMultipleRenderTargets;if(g)for(let e=0;e<i.length;e++)t.bindFramebuffer(A.FRAMEBUFFER,c.__webglMultisampledFramebuffer),A.framebufferRenderbuffer(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0+e,A.RENDERBUFFER,null),t.bindFramebuffer(A.FRAMEBUFFER,c.__webglFramebuffer),A.framebufferTexture2D(A.DRAW_FRAMEBUFFER,A.COLOR_ATTACHMENT0+e,A.TEXTURE_2D,null,0);t.bindFramebuffer(A.READ_FRAMEBUFFER,c.__webglMultisampledFramebuffer),t.bindFramebuffer(A.DRAW_FRAMEBUFFER,c.__webglFramebuffer);for(let t=0;t<i.length;t++){a.push(A.COLOR_ATTACHMENT0+t),e.depthBuffer&&a.push(B);const Q=void 0!==c.__ignoreDepthValues&&c.__ignoreDepthValues;if(!1===Q&&(e.depthBuffer&&(o|=A.DEPTH_BUFFER_BIT),e.stencilBuffer&&(o|=A.STENCIL_BUFFER_BIT)),g&&A.framebufferRenderbuffer(A.READ_FRAMEBUFFER,A.COLOR_ATTACHMENT0,A.RENDERBUFFER,c.__webglColorRenderbuffer[t]),!0===Q&&(A.invalidateFramebuffer(A.READ_FRAMEBUFFER,[B]),A.invalidateFramebuffer(A.DRAW_FRAMEBUFFER,[B])),g){const e=n.get(i[t]).__webglTexture;A.framebufferTexture2D(A.DRAW_FRAMEBUFFER,A.COLOR_ATTACHMENT0,A.TEXTURE_2D,e,0)}A.blitFramebuffer(0,0,r,s,0,0,r,s,o,A.NEAREST),E&&A.invalidateFramebuffer(A.READ_FRAMEBUFFER,a)}if(t.bindFramebuffer(A.READ_FRAMEBUFFER,null),t.bindFramebuffer(A.DRAW_FRAMEBUFFER,null),g)for(let e=0;e<i.length;e++){t.bindFramebuffer(A.FRAMEBUFFER,c.__webglMultisampledFramebuffer),A.framebufferRenderbuffer(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0+e,A.RENDERBUFFER,c.__webglColorRenderbuffer[e]);const r=n.get(i[e]).__webglTexture;t.bindFramebuffer(A.FRAMEBUFFER,c.__webglFramebuffer),A.framebufferTexture2D(A.DRAW_FRAMEBUFFER,A.COLOR_ATTACHMENT0+e,A.TEXTURE_2D,r,0)}t.bindFramebuffer(A.DRAW_FRAMEBUFFER,c.__webglMultisampledFramebuffer)}},this.setupDepthRenderbuffer=J,this.setupFrameBufferTexture=b,this.useMultisampledRTT=z}function pa(A,e,t){const n=t.isWebGL2;return{convert:function(t,i=je){let r;if(t===pA)return A.UNSIGNED_BYTE;if(t===yA)return A.UNSIGNED_SHORT_4_4_4_4;if(t===xA)return A.UNSIGNED_SHORT_5_5_5_1;if(t===mA)return A.BYTE;if(t===FA)return A.SHORT;if(t===DA)return A.UNSIGNED_SHORT;if(t===YA)return A.INT;if(t===fA)return A.UNSIGNED_INT;if(t===NA)return A.FLOAT;if(t===UA)return n?A.HALF_FLOAT:(r=e.get("OES_texture_half_float"),null!==r?r.HALF_FLOAT_OES:null);if(t===RA)return A.ALPHA;if(t===GA)return A.RGBA;if(t===SA)return A.LUMINANCE;if(t===HA)return A.LUMINANCE_ALPHA;if(t===bA)return A.DEPTH_COMPONENT;if(t===kA)return A.DEPTH_STENCIL;if(t===Dt)return r=e.get("EXT_sRGB"),null!==r?r.SRGB_ALPHA_EXT:null;if(t===JA)return A.RED;if(t===jA)return A.RED_INTEGER;if(t===zA)return A.RG;if(t===vA)return A.RG_INTEGER;if(t===LA)return A.RGBA_INTEGER;if(t===PA||t===OA||t===WA||t===VA)if(i===ze){if(r=e.get("WEBGL_compressed_texture_s3tc_srgb"),null===r)return null;if(t===PA)return r.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(t===OA)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(t===WA)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(t===VA)return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(r=e.get("WEBGL_compressed_texture_s3tc"),null===r)return null;if(t===PA)return r.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===OA)return r.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===WA)return r.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===VA)return r.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(t===KA||t===XA||t===ZA||t===_A){if(r=e.get("WEBGL_compressed_texture_pvrtc"),null===r)return null;if(t===KA)return r.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===XA)return r.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===ZA)return r.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===_A)return r.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(t===qA)return r=e.get("WEBGL_compressed_texture_etc1"),null!==r?r.COMPRESSED_RGB_ETC1_WEBGL:null;if(t===$A||t===Ae){if(r=e.get("WEBGL_compressed_texture_etc"),null===r)return null;if(t===$A)return i===ze?r.COMPRESSED_SRGB8_ETC2:r.COMPRESSED_RGB8_ETC2;if(t===Ae)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:r.COMPRESSED_RGBA8_ETC2_EAC}if(t===ee||t===te||t===ne||t===ie||t===re||t===se||t===oe||t===ae||t===Be||t===ce||t===ge||t===Qe||t===Ee||t===le){if(r=e.get("WEBGL_compressed_texture_astc"),null===r)return null;if(t===ee)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:r.COMPRESSED_RGBA_ASTC_4x4_KHR;if(t===te)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:r.COMPRESSED_RGBA_ASTC_5x4_KHR;if(t===ne)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:r.COMPRESSED_RGBA_ASTC_5x5_KHR;if(t===ie)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:r.COMPRESSED_RGBA_ASTC_6x5_KHR;if(t===re)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:r.COMPRESSED_RGBA_ASTC_6x6_KHR;if(t===se)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:r.COMPRESSED_RGBA_ASTC_8x5_KHR;if(t===oe)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:r.COMPRESSED_RGBA_ASTC_8x6_KHR;if(t===ae)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:r.COMPRESSED_RGBA_ASTC_8x8_KHR;if(t===Be)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:r.COMPRESSED_RGBA_ASTC_10x5_KHR;if(t===ce)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:r.COMPRESSED_RGBA_ASTC_10x6_KHR;if(t===ge)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:r.COMPRESSED_RGBA_ASTC_10x8_KHR;if(t===Qe)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:r.COMPRESSED_RGBA_ASTC_10x10_KHR;if(t===Ee)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:r.COMPRESSED_RGBA_ASTC_12x10_KHR;if(t===le)return i===ze?r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:r.COMPRESSED_RGBA_ASTC_12x12_KHR}if(t===ue){if(r=e.get("EXT_texture_compression_bptc"),null===r)return null;if(t===ue)return i===ze?r.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:r.COMPRESSED_RGBA_BPTC_UNORM_EXT}if(t===we||t===he||t===Ce||t===de){if(r=e.get("EXT_texture_compression_rgtc"),null===r)return null;if(t===ue)return r.COMPRESSED_RED_RGTC1_EXT;if(t===he)return r.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(t===Ce)return r.COMPRESSED_RED_GREEN_RGTC2_EXT;if(t===de)return r.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}return t===TA?n?A.UNSIGNED_INT_24_8:(r=e.get("WEBGL_depth_texture"),null!==r?r.UNSIGNED_INT_24_8_WEBGL:null):void 0!==A[t]?A[t]:null}}}class ma extends vr{constructor(A=[]){super(),this.isArrayCamera=!0,this.cameras=A}}class Fa extends pi{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Da={type:"move"};class Ya{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new Fa,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new Fa,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Mn,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Mn),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new Fa,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Mn,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Mn),this._grip}dispatchEvent(A){return null!==this._targetRay&&this._targetRay.dispatchEvent(A),null!==this._grip&&this._grip.dispatchEvent(A),null!==this._hand&&this._hand.dispatchEvent(A),this}connect(A){if(A&&A.hand){const e=this._hand;if(e)for(const t of A.hand.values())this._getHandJoint(e,t)}return this.dispatchEvent({type:"connected",data:A}),this}disconnect(A){return this.dispatchEvent({type:"disconnected",data:A}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(A,e,t){let n=null,i=null,r=null;const s=this._targetRay,o=this._grip,a=this._hand;if(A&&"visible-blurred"!==e.session.visibilityState){if(a&&A.hand){r=!0;for(const n of A.hand.values()){const A=e.getJointPose(n,t),i=this._getHandJoint(a,n);null!==A&&(i.matrix.fromArray(A.transform.matrix),i.matrix.decompose(i.position,i.rotation,i.scale),i.matrixWorldNeedsUpdate=!0,i.jointRadius=A.radius),i.visible=null!==A}const n=a.joints["index-finger-tip"],i=a.joints["thumb-tip"],s=n.position.distanceTo(i.position),o=.02,B=.005;a.inputState.pinching&&s>o+B?(a.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!a.inputState.pinching&&s<=o-B&&(a.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else null!==o&&A.gripSpace&&(i=e.getPose(A.gripSpace,t),null!==i&&(o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,i.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(i.linearVelocity)):o.hasLinearVelocity=!1,i.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(i.angularVelocity)):o.hasAngularVelocity=!1));null!==s&&(n=e.getPose(A.targetRaySpace,t),null===n&&null!==i&&(n=i),null!==n&&(s.matrix.fromArray(n.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,n.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(n.linearVelocity)):s.hasLinearVelocity=!1,n.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(n.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(Da)))}return null!==s&&(s.visible=null!==n),null!==o&&(o.visible=null!==i),null!==a&&(a.visible=null!==r),this}_getHandJoint(A,e){if(void 0===A.joints[e.jointName]){const t=new Fa;t.matrixAutoUpdate=!1,t.visible=!1,A.joints[e.jointName]=t,A.add(t)}return A.joints[e.jointName]}}class fa extends Qn{constructor(A,e,t,n,i,r,s,o,a,B){if((B=void 0!==B?B:bA)!==bA&&B!==kA)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===t&&B===bA&&(t=fA),void 0===t&&B===kA&&(t=TA),super(null,n,i,r,s,o,B,t,a),this.isDepthTexture=!0,this.image={width:A,height:e},this.magFilter=void 0!==s?s:QA,this.minFilter=void 0!==o?o:QA,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(A){return super.copy(A),this.compareFunction=A.compareFunction,this}toJSON(A){const e=super.toJSON(A);return null!==this.compareFunction&&(e.compareFunction=this.compareFunction),e}}class Na extends Nt{constructor(A,e){super();const t=this;let n=null,i=1,r=null,s="local-floor",o=1,a=null,B=null,c=null,g=null,Q=null,E=null;const l=e.getContextAttributes();let u=null,w=null;const h=[],C=[];let d=null;const I=new vr;I.layers.enable(1),I.viewport=new En;const M=new vr;M.layers.enable(2),M.viewport=new En;const p=[I,M],m=new ma;m.layers.enable(1),m.layers.enable(2);let F=null,D=null;function Y(A){const e=C.indexOf(A.inputSource);if(-1===e)return;const t=h[e];void 0!==t&&(t.update(A.inputSource,A.frame,a||r),t.dispatchEvent({type:A.type,data:A.inputSource}))}function f(){n.removeEventListener("select",Y),n.removeEventListener("selectstart",Y),n.removeEventListener("selectend",Y),n.removeEventListener("squeeze",Y),n.removeEventListener("squeezestart",Y),n.removeEventListener("squeezeend",Y),n.removeEventListener("end",f),n.removeEventListener("inputsourceschange",N);for(let A=0;A<h.length;A++){const e=C[A];null!==e&&(C[A]=null,h[A].disconnect(e))}F=null,D=null,A.setRenderTarget(u),Q=null,g=null,c=null,n=null,w=null,R.stop(),t.isPresenting=!1,t.dispatchEvent({type:"sessionend"})}function N(A){for(let e=0;e<A.removed.length;e++){const t=A.removed[e],n=C.indexOf(t);n>=0&&(C[n]=null,h[n].disconnect(t))}for(let e=0;e<A.added.length;e++){const t=A.added[e];let n=C.indexOf(t);if(-1===n){for(let A=0;A<h.length;A++){if(A>=C.length){C.push(t),n=A;break}if(null===C[A]){C[A]=t,n=A;break}}if(-1===n)break}const i=h[n];i&&i.connect(t)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getCamera=function(){},this.setUserCamera=function(A){d=A},this.getController=function(A){let e=h[A];return void 0===e&&(e=new Ya,h[A]=e),e.getTargetRaySpace()},this.getControllerGrip=function(A){let e=h[A];return void 0===e&&(e=new Ya,h[A]=e),e.getGripSpace()},this.getHand=function(A){let e=h[A];return void 0===e&&(e=new Ya,h[A]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(A){i=A,!0===t.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(A){s=A,!0===t.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a||r},this.setReferenceSpace=function(A){a=A},this.getBaseLayer=function(){return null!==g?g:Q},this.getBinding=function(){return c},this.getFrame=function(){return E},this.getSession=function(){return n},this.setSession=async function(B){if(n=B,null!==n){if(u=A.getRenderTarget(),n.addEventListener("select",Y),n.addEventListener("selectstart",Y),n.addEventListener("selectend",Y),n.addEventListener("squeeze",Y),n.addEventListener("squeezestart",Y),n.addEventListener("squeezeend",Y),n.addEventListener("end",f),n.addEventListener("inputsourceschange",N),!0!==l.xrCompatible&&await e.makeXRCompatible(),void 0===n.renderState.layers||!1===A.capabilities.isWebGL2){const t={antialias:void 0!==n.renderState.layers||l.antialias,alpha:!0,depth:l.depth,stencil:l.stencil,framebufferScaleFactor:i};Q=new XRWebGLLayer(n,e,t),n.updateRenderState({baseLayer:Q}),w=new ln(Q.framebufferWidth,Q.framebufferHeight,{format:GA,type:pA,colorSpace:A.outputColorSpace,stencilBuffer:l.stencil})}else{let t=null,r=null,s=null;l.depth&&(s=l.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,t=l.stencil?kA:bA,r=l.stencil?TA:fA);const o={colorFormat:e.RGBA8,depthFormat:s,scaleFactor:i};c=new XRWebGLBinding(n,e),g=c.createProjectionLayer(o),n.updateRenderState({layers:[g]}),w=new ln(g.textureWidth,g.textureHeight,{format:GA,type:pA,depthTexture:new fa(g.textureWidth,g.textureHeight,r,void 0,void 0,void 0,void 0,void 0,void 0,t),stencilBuffer:l.stencil,colorSpace:A.outputColorSpace,samples:l.antialias?4:0});A.properties.get(w).__ignoreDepthValues=g.ignoreDepthValues}w.isXRRenderTarget=!0,this.setFoveation(o),a=null,r=await n.requestReferenceSpace(s),R.setContext(n),R.start(),t.isPresenting=!0,t.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==n)return n.environmentBlendMode};const U=new Mn,y=new Mn;function x(A,e){null===e?A.matrixWorld.copy(A.matrix):A.matrixWorld.multiplyMatrices(e.matrixWorld,A.matrix),A.matrixWorldInverse.copy(A.matrixWorld).invert()}this.updateCameraXR=function(A){if(null===n)return A;d&&(A=d),m.near=M.near=I.near=A.near,m.far=M.far=I.far=A.far,F===m.near&&D===m.far||(n.updateRenderState({depthNear:m.near,depthFar:m.far}),F=m.near,D=m.far);const e=A.parent,t=m.cameras;x(m,e);for(let A=0;A<t.length;A++)x(t[A],e);return 2===t.length?function(A,e,t){U.setFromMatrixPosition(e.matrixWorld),y.setFromMatrixPosition(t.matrixWorld);const n=U.distanceTo(y),i=e.projectionMatrix.elements,r=t.projectionMatrix.elements,s=i[14]/(i[10]-1),o=i[14]/(i[10]+1),a=(i[9]+1)/i[5],B=(i[9]-1)/i[5],c=(i[8]-1)/i[0],g=(r[8]+1)/r[0],Q=s*c,E=s*g,l=n/(-c+g),u=l*-c;e.matrixWorld.decompose(A.position,A.quaternion,A.scale),A.translateX(u),A.translateZ(l),A.matrixWorld.compose(A.position,A.quaternion,A.scale),A.matrixWorldInverse.copy(A.matrixWorld).invert();const w=s+l,h=o+l,C=Q-u,d=E+(n-u),I=a*o/h*w,M=B*o/h*w;A.projectionMatrix.makePerspective(C,d,I,M,w,h),A.projectionMatrixInverse.copy(A.projectionMatrix).invert()}(m,I,M):m.projectionMatrix.copy(I.projectionMatrix),d&&function(A,e){const t=d;null===e?t.matrix.copy(A.matrixWorld):(t.matrix.copy(e.matrixWorld),t.matrix.invert(),t.matrix.multiply(A.matrixWorld));t.matrix.decompose(t.position,t.quaternion,t.scale),t.updateMatrixWorld(!0);const n=t.children;for(let A=0,e=n.length;A<e;A++)n[A].updateMatrixWorld(!0);t.projectionMatrix.copy(A.projectionMatrix),t.projectionMatrixInverse.copy(A.projectionMatrixInverse),t.isPerspectiveCamera&&(t.fov=2*Tt*Math.atan(1/t.projectionMatrix.elements[5]),t.zoom=1)}(m,e),m},this.getFoveation=function(){if(null!==g||null!==Q)return o},this.setFoveation=function(A){o=A,null!==g&&(g.fixedFoveation=A),null!==Q&&void 0!==Q.fixedFoveation&&(Q.fixedFoveation=A)};let T=null;const R=new $r;R.setAnimationLoop((function(e,n){if(B=n.getViewerPose(a||r),E=n,null!==B){const e=B.views;null!==Q&&(A.setRenderTargetFramebuffer(w,Q.framebuffer),A.setRenderTarget(w));let t=!1;e.length!==m.cameras.length&&(m.cameras.length=0,t=!0);for(let n=0;n<e.length;n++){const i=e[n];let r=null;if(null!==Q)r=Q.getViewport(i);else{const e=c.getViewSubImage(g,i);r=e.viewport,0===n&&(A.setRenderTargetTextures(w,e.colorTexture,g.ignoreDepthValues?void 0:e.depthStencilTexture),A.setRenderTarget(w))}let s=p[n];void 0===s&&(s=new vr,s.layers.enable(n),s.viewport=new En,p[n]=s),s.matrix.fromArray(i.transform.matrix),s.matrix.decompose(s.position,s.quaternion,s.scale),s.projectionMatrix.fromArray(i.projectionMatrix),s.projectionMatrixInverse.copy(s.projectionMatrix).invert(),s.viewport.set(r.x,r.y,r.width,r.height),0===n&&(m.matrix.copy(s.matrix),m.matrix.decompose(m.position,m.quaternion,m.scale)),!0===t&&m.cameras.push(s)}}for(let A=0;A<h.length;A++){const e=C[A],t=h[A];null!==e&&void 0!==t&&t.update(e,n,a||r)}T&&T(e,n),n.detectedPlanes&&t.dispatchEvent({type:"planesdetected",data:n}),E=null})),this.setAnimationLoop=function(A){T=A},this.dispose=function(){}}}function Ua(A,e){function t(A,e){!0===A.matrixAutoUpdate&&A.updateMatrix(),e.value.copy(A.matrix)}function n(n,i){n.opacity.value=i.opacity,i.color&&n.diffuse.value.copy(i.color),i.emissive&&n.emissive.value.copy(i.emissive).multiplyScalar(i.emissiveIntensity),i.map&&(n.map.value=i.map,t(i.map,n.mapTransform)),i.alphaMap&&(n.alphaMap.value=i.alphaMap,t(i.alphaMap,n.alphaMapTransform)),i.bumpMap&&(n.bumpMap.value=i.bumpMap,t(i.bumpMap,n.bumpMapTransform),n.bumpScale.value=i.bumpScale,i.side===u&&(n.bumpScale.value*=-1)),i.normalMap&&(n.normalMap.value=i.normalMap,t(i.normalMap,n.normalMapTransform),n.normalScale.value.copy(i.normalScale),i.side===u&&n.normalScale.value.negate()),i.displacementMap&&(n.displacementMap.value=i.displacementMap,t(i.displacementMap,n.displacementMapTransform),n.displacementScale.value=i.displacementScale,n.displacementBias.value=i.displacementBias),i.emissiveMap&&(n.emissiveMap.value=i.emissiveMap,t(i.emissiveMap,n.emissiveMapTransform)),i.specularMap&&(n.specularMap.value=i.specularMap,t(i.specularMap,n.specularMapTransform)),i.alphaTest>0&&(n.alphaTest.value=i.alphaTest);const r=e.get(i).envMap;if(r&&(n.envMap.value=r,n.flipEnvMap.value=r.isCubeTexture&&!1===r.isRenderTargetTexture?-1:1,n.reflectivity.value=i.reflectivity,n.ior.value=i.ior,n.refractionRatio.value=i.refractionRatio),i.lightMap){n.lightMap.value=i.lightMap;const e=!0===A.useLegacyLights?Math.PI:1;n.lightMapIntensity.value=i.lightMapIntensity*e,t(i.lightMap,n.lightMapTransform)}i.aoMap&&(n.aoMap.value=i.aoMap,n.aoMapIntensity.value=i.aoMapIntensity,t(i.aoMap,n.aoMapTransform))}return{refreshFogUniforms:function(e,t){t.color.getRGB(e.fogColor.value,kr(A)),t.isFog?(e.fogNear.value=t.near,e.fogFar.value=t.far):t.isFogExp2&&(e.fogDensity.value=t.density)},refreshMaterialUniforms:function(A,i,r,s,o){i.isMeshBasicMaterial||i.isMeshLambertMaterial?n(A,i):i.isMeshToonMaterial?(n(A,i),function(A,e){e.gradientMap&&(A.gradientMap.value=e.gradientMap)}(A,i)):i.isMeshPhongMaterial?(n(A,i),function(A,e){A.specular.value.copy(e.specular),A.shininess.value=Math.max(e.shininess,1e-4)}(A,i)):i.isMeshStandardMaterial?(n(A,i),function(A,n){A.metalness.value=n.metalness,n.metalnessMap&&(A.metalnessMap.value=n.metalnessMap,t(n.metalnessMap,A.metalnessMapTransform));A.roughness.value=n.roughness,n.roughnessMap&&(A.roughnessMap.value=n.roughnessMap,t(n.roughnessMap,A.roughnessMapTransform));e.get(n).envMap&&(A.envMapIntensity.value=n.envMapIntensity)}(A,i),i.isMeshPhysicalMaterial&&function(A,e,n){A.ior.value=e.ior,e.sheen>0&&(A.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),A.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(A.sheenColorMap.value=e.sheenColorMap,t(e.sheenColorMap,A.sheenColorMapTransform)),e.sheenRoughnessMap&&(A.sheenRoughnessMap.value=e.sheenRoughnessMap,t(e.sheenRoughnessMap,A.sheenRoughnessMapTransform)));e.clearcoat>0&&(A.clearcoat.value=e.clearcoat,A.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(A.clearcoatMap.value=e.clearcoatMap,t(e.clearcoatMap,A.clearcoatMapTransform)),e.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap,t(e.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),e.clearcoatNormalMap&&(A.clearcoatNormalMap.value=e.clearcoatNormalMap,t(e.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),e.side===u&&A.clearcoatNormalScale.value.negate()));e.iridescence>0&&(A.iridescence.value=e.iridescence,A.iridescenceIOR.value=e.iridescenceIOR,A.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1],e.iridescenceMap&&(A.iridescenceMap.value=e.iridescenceMap,t(e.iridescenceMap,A.iridescenceMapTransform)),e.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=e.iridescenceThicknessMap,t(e.iridescenceThicknessMap,A.iridescenceThicknessMapTransform)));e.transmission>0&&(A.transmission.value=e.transmission,A.transmissionSamplerMap.value=n.texture,A.transmissionSamplerSize.value.set(n.width,n.height),e.transmissionMap&&(A.transmissionMap.value=e.transmissionMap,t(e.transmissionMap,A.transmissionMapTransform)),A.thickness.value=e.thickness,e.thicknessMap&&(A.thicknessMap.value=e.thicknessMap,t(e.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=e.attenuationDistance,A.attenuationColor.value.copy(e.attenuationColor));e.anisotropy>0&&(A.anisotropyVector.value.set(e.anisotropy*Math.cos(e.anisotropyRotation),e.anisotropy*Math.sin(e.anisotropyRotation)),e.anisotropyMap&&(A.anisotropyMap.value=e.anisotropyMap,t(e.anisotropyMap,A.anisotropyMapTransform)));A.specularIntensity.value=e.specularIntensity,A.specularColor.value.copy(e.specularColor),e.specularColorMap&&(A.specularColorMap.value=e.specularColorMap,t(e.specularColorMap,A.specularColorMapTransform));e.specularIntensityMap&&(A.specularIntensityMap.value=e.specularIntensityMap,t(e.specularIntensityMap,A.specularIntensityMapTransform))}(A,i,o)):i.isMeshMatcapMaterial?(n(A,i),function(A,e){e.matcap&&(A.matcap.value=e.matcap)}(A,i)):i.isMeshDepthMaterial?n(A,i):i.isMeshDistanceMaterial?(n(A,i),function(A,t){const n=e.get(t).light;A.referencePosition.value.setFromMatrixPosition(n.matrixWorld),A.nearDistance.value=n.shadow.camera.near,A.farDistance.value=n.shadow.camera.far}(A,i)):i.isMeshNormalMaterial?n(A,i):i.isLineBasicMaterial?(function(A,e){A.diffuse.value.copy(e.color),A.opacity.value=e.opacity,e.map&&(A.map.value=e.map,t(e.map,A.mapTransform))}(A,i),i.isLineDashedMaterial&&function(A,e){A.dashSize.value=e.dashSize,A.totalSize.value=e.dashSize+e.gapSize,A.scale.value=e.scale}(A,i)):i.isPointsMaterial?function(A,e,n,i){A.diffuse.value.copy(e.color),A.opacity.value=e.opacity,A.size.value=e.size*n,A.scale.value=.5*i,e.map&&(A.map.value=e.map,t(e.map,A.uvTransform));e.alphaMap&&(A.alphaMap.value=e.alphaMap,t(e.alphaMap,A.alphaMapTransform));e.alphaTest>0&&(A.alphaTest.value=e.alphaTest)}(A,i,r,s):i.isSpriteMaterial?function(A,e){A.diffuse.value.copy(e.color),A.opacity.value=e.opacity,A.rotation.value=e.rotation,e.map&&(A.map.value=e.map,t(e.map,A.mapTransform));e.alphaMap&&(A.alphaMap.value=e.alphaMap,t(e.alphaMap,A.alphaMapTransform));e.alphaTest>0&&(A.alphaTest.value=e.alphaTest)}(A,i):i.isShadowMaterial?(A.color.value.copy(i.color),A.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function ya(A,e,t,n){let i={},r={},s=[];const o=t.isWebGL2?A.getParameter(A.MAX_UNIFORM_BUFFER_BINDINGS):0;function a(A,e,t){const n=A.value;if(void 0===t[e]){if("number"==typeof n)t[e]=n;else{const A=Array.isArray(n)?n:[n],i=[];for(let e=0;e<A.length;e++)i.push(A[e].clone());t[e]=i}return!0}if("number"==typeof n){if(t[e]!==n)return t[e]=n,!0}else{const A=Array.isArray(t[e])?t[e]:[t[e]],i=Array.isArray(n)?n:[n];for(let e=0;e<A.length;e++){const t=A[e];if(!1===t.equals(i[e]))return t.copy(i[e]),!0}}return!1}function B(A){const e={boundary:0,storage:0};return"number"==typeof A?(e.boundary=4,e.storage=4):A.isVector2?(e.boundary=8,e.storage=8):A.isVector3||A.isColor?(e.boundary=16,e.storage=12):A.isVector4?(e.boundary=16,e.storage=16):A.isMatrix3?(e.boundary=48,e.storage=48):A.isMatrix4?(e.boundary=64,e.storage=64):A.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",A),e}function c(e){const t=e.target;t.removeEventListener("dispose",c);const n=s.indexOf(t.__bindingPointIndex);s.splice(n,1),A.deleteBuffer(i[t.id]),delete i[t.id],delete r[t.id]}return{bind:function(A,e){const t=e.program;n.uniformBlockBinding(A,t)},update:function(t,g){let Q=i[t.id];void 0===Q&&(!function(A){const e=A.uniforms;let t=0;let n=0;for(let A=0,i=e.length;A<i;A++){const i=e[A],r={boundary:0,storage:0},s=Array.isArray(i.value)?i.value:[i.value];for(let A=0,e=s.length;A<e;A++){const e=B(s[A]);r.boundary+=e.boundary,r.storage+=e.storage}if(i.__data=new Float32Array(r.storage/Float32Array.BYTES_PER_ELEMENT),i.__offset=t,A>0){n=t%16;const A=16-n;0!==n&&A-r.boundary<0&&(t+=16-n,i.__offset=t)}t+=r.storage}n=t%16,n>0&&(t+=16-n);A.__size=t,A.__cache={}}(t),Q=function(e){const t=function(){for(let A=0;A<o;A++)if(-1===s.indexOf(A))return s.push(A),A;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}();e.__bindingPointIndex=t;const n=A.createBuffer(),i=e.__size,r=e.usage;return A.bindBuffer(A.UNIFORM_BUFFER,n),A.bufferData(A.UNIFORM_BUFFER,i,r),A.bindBuffer(A.UNIFORM_BUFFER,null),A.bindBufferBase(A.UNIFORM_BUFFER,t,n),n}(t),i[t.id]=Q,t.addEventListener("dispose",c));const E=g.program;n.updateUBOMapping(t,E);const l=e.render.frame;r[t.id]!==l&&(!function(e){const t=i[e.id],n=e.uniforms,r=e.__cache;A.bindBuffer(A.UNIFORM_BUFFER,t);for(let e=0,t=n.length;e<t;e++){const t=n[e];if(!0===a(t,e,r)){const e=t.__offset,n=Array.isArray(t.value)?t.value:[t.value];let i=0;for(let r=0;r<n.length;r++){const s=n[r],o=B(s);"number"==typeof s?(t.__data[0]=s,A.bufferSubData(A.UNIFORM_BUFFER,e+i,t.__data)):s.isMatrix3?(t.__data[0]=s.elements[0],t.__data[1]=s.elements[1],t.__data[2]=s.elements[2],t.__data[3]=s.elements[0],t.__data[4]=s.elements[3],t.__data[5]=s.elements[4],t.__data[6]=s.elements[5],t.__data[7]=s.elements[0],t.__data[8]=s.elements[6],t.__data[9]=s.elements[7],t.__data[10]=s.elements[8],t.__data[11]=s.elements[0]):(s.toArray(t.__data,i),i+=o.storage/Float32Array.BYTES_PER_ELEMENT)}A.bufferSubData(A.UNIFORM_BUFFER,e,t.__data)}}A.bindBuffer(A.UNIFORM_BUFFER,null)}(t),r[t.id]=l)},dispose:function(){for(const e in i)A.deleteBuffer(i[e]);s=[],i={},r={}}}}function xa(){const A=Xt("canvas");return A.style.display="block",A}class Ta{constructor(A={}){const{canvas:e=xa(),context:t=null,depth:i=!0,stencil:r=!0,alpha:s=!1,antialias:o=!1,premultipliedAlpha:a=!0,preserveDrawingBuffer:B=!1,powerPreference:c="default",failIfMajorPerformanceCaveat:g=!1}=A;let Q;this.isWebGLRenderer=!0,Q=null!==t?t.getContextAttributes().alpha:s;const E=new Uint32Array(4),h=new Int32Array(4);let C=null,d=null;const I=[],M=[];this.domElement=e,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=ze,this.useLegacyLights=!0,this.toneMapping=_,this.toneMappingExposure=1;const p=this;let m=!1,F=0,D=0,Y=null,f=-1,N=null;const U=new En,y=new En;let x=null;const T=new zi(0);let R=0,G=e.width,S=e.height,H=1,b=null,k=null;const J=new En(0,0,G,S),j=new En(0,0,G,S);let z=!1;const v=new qr;let L=!1,P=!1,O=null;const W=new _n,V=new Lt,K=new Mn,X={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Z(){return null===Y?H:1}let q,$,AA,eA,tA,nA,iA,rA,sA,oA,aA,BA,cA,gA,QA,EA,lA,uA,wA,hA,CA,dA,MA,mA,FA=t;function YA(A,t){for(let n=0;n<A.length;n++){const i=A[n],r=e.getContext(i,t);if(null!==r)return r}return null}try{const A={alpha:!0,depth:i,stencil:r,antialias:o,premultipliedAlpha:a,preserveDrawingBuffer:B,powerPreference:c,failIfMajorPerformanceCaveat:g};if("setAttribute"in e&&e.setAttribute("data-engine","three.js r"+n),e.addEventListener("webglcontextlost",HA,!1),e.addEventListener("webglcontextrestored",bA,!1),e.addEventListener("webglcontextcreationerror",kA,!1),null===FA){const e=["webgl2","webgl","experimental-webgl"];if(!0===p.isWebGL1Renderer&&e.shift(),FA=YA(e,A),null===FA)throw YA(e)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}FA instanceof WebGLRenderingContext&&console.warn("THREE.WebGLRenderer: WebGL 1 support was deprecated in r153 and will be removed in r163."),void 0===FA.getShaderPrecisionFormat&&(FA.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(A){throw console.error("THREE.WebGLRenderer: "+A.message),A}function RA(){q=new fs(FA),$=new Bs(FA,q,A),q.init($),dA=new pa(FA,q,$),AA=new Ia(FA,q,$),eA=new ys(FA),tA=new sa,nA=new Ma(FA,q,AA,tA,$,dA,eA),iA=new gs(p),rA=new Ys(p),sA=new As(FA,$),MA=new os(FA,q,sA,$),oA=new Ns(FA,sA,eA,MA),aA=new Gs(FA,oA,sA,eA),wA=new Rs(FA,$,nA),EA=new cs(tA),BA=new ra(p,iA,rA,q,$,MA,EA),cA=new Ua(p,tA),gA=new ca,QA=new wa(q,$),uA=new ss(p,iA,rA,AA,aA,Q,a),lA=new da(p,aA,$),mA=new ya(FA,eA,$,AA),hA=new as(FA,q,eA,$),CA=new Us(FA,q,eA,$),eA.programs=BA.programs,p.capabilities=$,p.extensions=q,p.properties=tA,p.renderLists=gA,p.shadowMap=lA,p.state=AA,p.info=eA}RA();const SA=new Na(p,FA);function HA(A){A.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),m=!0}function bA(){console.log("THREE.WebGLRenderer: Context Restored."),m=!1;const A=eA.autoReset,e=lA.enabled,t=lA.autoUpdate,n=lA.needsUpdate,i=lA.type;RA(),eA.autoReset=A,lA.enabled=e,lA.autoUpdate=t,lA.needsUpdate=n,lA.type=i}function kA(A){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",A.statusMessage)}function JA(A){const e=A.target;e.removeEventListener("dispose",JA),function(A){(function(A){const e=tA.get(A).programs;void 0!==e&&(e.forEach((function(A){BA.releaseProgram(A)})),A.isShaderMaterial&&BA.releaseShaderCache(A))})(A),tA.remove(A)}(e)}this.xr=SA,this.getContext=function(){return FA},this.getContextAttributes=function(){return FA.getContextAttributes()},this.forceContextLoss=function(){const A=q.get("WEBGL_lose_context");A&&A.loseContext()},this.forceContextRestore=function(){const A=q.get("WEBGL_lose_context");A&&A.restoreContext()},this.getPixelRatio=function(){return H},this.setPixelRatio=function(A){void 0!==A&&(H=A,this.setSize(G,S,!1))},this.getSize=function(A){return A.set(G,S)},this.setSize=function(A,t,n=!0){SA.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(G=A,S=t,e.width=Math.floor(A*H),e.height=Math.floor(t*H),!0===n&&(e.style.width=A+"px",e.style.height=t+"px"),this.setViewport(0,0,A,t))},this.getDrawingBufferSize=function(A){return A.set(G*H,S*H).floor()},this.setDrawingBufferSize=function(A,t,n){G=A,S=t,H=n,e.width=Math.floor(A*n),e.height=Math.floor(t*n),this.setViewport(0,0,A,t)},this.getCurrentViewport=function(A){return A.copy(U)},this.getViewport=function(A){return A.copy(J)},this.setViewport=function(A,e,t,n){A.isVector4?J.set(A.x,A.y,A.z,A.w):J.set(A,e,t,n),AA.viewport(U.copy(J).multiplyScalar(H).floor())},this.getScissor=function(A){return A.copy(j)},this.setScissor=function(A,e,t,n){A.isVector4?j.set(A.x,A.y,A.z,A.w):j.set(A,e,t,n),AA.scissor(y.copy(j).multiplyScalar(H).floor())},this.getScissorTest=function(){return z},this.setScissorTest=function(A){AA.setScissorTest(z=A)},this.setOpaqueSort=function(A){b=A},this.setTransparentSort=function(A){k=A},this.getClearColor=function(A){return A.copy(uA.getClearColor())},this.setClearColor=function(){uA.setClearColor.apply(uA,arguments)},this.getClearAlpha=function(){return uA.getClearAlpha()},this.setClearAlpha=function(){uA.setClearAlpha.apply(uA,arguments)},this.clear=function(A=!0,e=!0,t=!0){let n=0;if(A){let A=!1;if(null!==Y){const e=Y.texture.format;A=e===LA||e===vA||e===jA}if(A){const A=Y.texture.type,e=A===pA||A===fA||A===DA||A===TA||A===yA||A===xA,t=uA.getClearColor(),n=uA.getClearAlpha(),i=t.r,r=t.g,s=t.b,o=tA.get(Y).__webglFramebuffer;e?(E[0]=i,E[1]=r,E[2]=s,E[3]=n,FA.clearBufferuiv(FA.COLOR,o,E)):(h[0]=i,h[1]=r,h[2]=s,h[3]=n,FA.clearBufferiv(FA.COLOR,o,h))}else n|=FA.COLOR_BUFFER_BIT}e&&(n|=FA.DEPTH_BUFFER_BIT),t&&(n|=FA.STENCIL_BUFFER_BIT),FA.clear(n)},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(){e.removeEventListener("webglcontextlost",HA,!1),e.removeEventListener("webglcontextrestored",bA,!1),e.removeEventListener("webglcontextcreationerror",kA,!1),gA.dispose(),QA.dispose(),tA.dispose(),iA.dispose(),rA.dispose(),aA.dispose(),MA.dispose(),mA.dispose(),BA.dispose(),SA.dispose(),SA.removeEventListener("sessionstart",PA),SA.removeEventListener("sessionend",OA),O&&(O.dispose(),O=null),WA.stop()},this.renderBufferDirect=function(A,e,t,n,i,r){null===e&&(e=X);const s=i.isMesh&&i.matrixWorld.determinant()<0,o=function(A,e,t,n,i){!0!==e.isScene&&(e=X);nA.resetTextureUnits();const r=e.fog,s=n.isMeshStandardMaterial?e.environment:null,o=null===Y?p.outputColorSpace:!0===Y.isXRRenderTarget?Y.texture.colorSpace:ve,a=(n.isMeshStandardMaterial?rA:iA).get(n.envMap||s),B=!0===n.vertexColors&&!!t.attributes.color&&4===t.attributes.color.itemSize,c=!!t.attributes.tangent&&(!!n.normalMap||n.anisotropy>0),g=!!t.morphAttributes.position,Q=!!t.morphAttributes.normal,E=!!t.morphAttributes.color,l=n.toneMapped?p.toneMapping:_,u=t.morphAttributes.position||t.morphAttributes.normal||t.morphAttributes.color,w=void 0!==u?u.length:0,h=tA.get(n),C=d.state.lights;if(!0===L&&(!0===P||A!==N)){const e=A===N&&n.id===f;EA.setState(n,A,e)}let I=!1;n.version===h.__version?h.needsLights&&h.lightsStateVersion!==C.state.version||h.outputColorSpace!==o||i.isInstancedMesh&&!1===h.instancing?I=!0:i.isInstancedMesh||!0!==h.instancing?i.isSkinnedMesh&&!1===h.skinning?I=!0:i.isSkinnedMesh||!0!==h.skinning?h.envMap!==a||!0===n.fog&&h.fog!==r?I=!0:void 0===h.numClippingPlanes||h.numClippingPlanes===EA.numPlanes&&h.numIntersection===EA.numIntersection?(h.vertexAlphas!==B||h.vertexTangents!==c||h.morphTargets!==g||h.morphNormals!==Q||h.morphColors!==E||h.toneMapping!==l||!0===$.isWebGL2&&h.morphTargetsCount!==w)&&(I=!0):I=!0:I=!0:I=!0:(I=!0,h.__version=n.version);let M=h.currentProgram;!0===I&&(M=ZA(n,e,i));let m=!1,F=!1,D=!1;const U=M.getUniforms(),y=h.uniforms;AA.useProgram(M.program)&&(m=!0,F=!0,D=!0);n.id!==f&&(f=n.id,F=!0);if(m||N!==A){if(U.setValue(FA,"projectionMatrix",A.projectionMatrix),$.logarithmicDepthBuffer&&U.setValue(FA,"logDepthBufFC",2/(Math.log(A.far+1)/Math.LN2)),N!==A&&(N=A,F=!0,D=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshStandardMaterial||n.envMap){const e=U.map.cameraPosition;void 0!==e&&e.setValue(FA,K.setFromMatrixPosition(A.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial)&&U.setValue(FA,"isOrthographic",!0===A.isOrthographicCamera),(n.isMeshPhongMaterial||n.isMeshToonMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.isShadowMaterial||i.isSkinnedMesh)&&U.setValue(FA,"viewMatrix",A.matrixWorldInverse)}if(i.isSkinnedMesh){U.setOptional(FA,i,"bindMatrix"),U.setOptional(FA,i,"bindMatrixInverse");const A=i.skeleton;A&&($.floatVertexTextures?(null===A.boneTexture&&A.computeBoneTexture(),U.setValue(FA,"boneTexture",A.boneTexture,nA),U.setValue(FA,"boneTextureSize",A.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const x=t.morphAttributes;(void 0!==x.position||void 0!==x.normal||void 0!==x.color&&!0===$.isWebGL2)&&wA.update(i,t,M);(F||h.receiveShadow!==i.receiveShadow)&&(h.receiveShadow=i.receiveShadow,U.setValue(FA,"receiveShadow",i.receiveShadow));n.isMeshGouraudMaterial&&null!==n.envMap&&(y.envMap.value=a,y.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1);F&&(U.setValue(FA,"toneMappingExposure",p.toneMappingExposure),h.needsLights&&(R=D,(T=y).ambientLightColor.needsUpdate=R,T.lightProbe.needsUpdate=R,T.directionalLights.needsUpdate=R,T.directionalLightShadows.needsUpdate=R,T.pointLights.needsUpdate=R,T.pointLightShadows.needsUpdate=R,T.spotLights.needsUpdate=R,T.spotLightShadows.needsUpdate=R,T.rectAreaLights.needsUpdate=R,T.hemisphereLights.needsUpdate=R),r&&!0===n.fog&&cA.refreshFogUniforms(y,r),cA.refreshMaterialUniforms(y,n,H,S,O),Jo.upload(FA,h.uniformsList,y,nA));var T,R;n.isShaderMaterial&&!0===n.uniformsNeedUpdate&&(Jo.upload(FA,h.uniformsList,y,nA),n.uniformsNeedUpdate=!1);n.isSpriteMaterial&&U.setValue(FA,"center",i.center);if(U.setValue(FA,"modelViewMatrix",i.modelViewMatrix),U.setValue(FA,"normalMatrix",i.normalMatrix),U.setValue(FA,"modelMatrix",i.matrixWorld),n.isShaderMaterial||n.isRawShaderMaterial){const A=n.uniformsGroups;for(let e=0,t=A.length;e<t;e++)if($.isWebGL2){const t=A[e];mA.update(t,M),mA.bind(t,M)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return M}(A,e,t,n,i);AA.setMaterial(n,s);let a=t.index,B=1;!0===n.wireframe&&(a=oA.getWireframeAttribute(t),B=2);const c=t.drawRange,g=t.attributes.position;let Q=c.start*B,E=(c.start+c.count)*B;null!==r&&(Q=Math.max(Q,r.start*B),E=Math.min(E,(r.start+r.count)*B)),null!==a?(Q=Math.max(Q,0),E=Math.min(E,a.count)):null!=g&&(Q=Math.max(Q,0),E=Math.min(E,g.count));const l=E-Q;if(l<0||l===1/0)return;let u;MA.setup(i,n,o,t,a);let w=hA;if(null!==a&&(u=sA.get(a),w=CA,w.setIndex(u)),i.isMesh)!0===n.wireframe?(AA.setLineWidth(n.wireframeLinewidth*Z()),w.setMode(FA.LINES)):w.setMode(FA.TRIANGLES);else if(i.isLine){let A=n.linewidth;void 0===A&&(A=1),AA.setLineWidth(A*Z()),i.isLineSegments?w.setMode(FA.LINES):i.isLineLoop?w.setMode(FA.LINE_LOOP):w.setMode(FA.LINE_STRIP)}else i.isPoints?w.setMode(FA.POINTS):i.isSprite&&w.setMode(FA.TRIANGLES);if(i.isInstancedMesh)w.renderInstances(Q,l,i.count);else if(t.isInstancedBufferGeometry){const A=void 0!==t._maxInstanceCount?t._maxInstanceCount:1/0,e=Math.min(t.instanceCount,A);w.renderInstances(Q,l,e)}else w.render(Q,l)},this.compile=function(A,e){function t(A,e,t){!0===A.transparent&&A.side===w&&!1===A.forceSinglePass?(A.side=u,A.needsUpdate=!0,ZA(A,e,t),A.side=l,A.needsUpdate=!0,ZA(A,e,t),A.side=w):ZA(A,e,t)}d=QA.get(A),d.init(),M.push(d),A.traverseVisible((function(A){A.isLight&&A.layers.test(e.layers)&&(d.pushLight(A),A.castShadow&&d.pushShadow(A))})),d.setupLights(p.useLegacyLights),A.traverse((function(e){const n=e.material;if(n)if(Array.isArray(n))for(let i=0;i<n.length;i++){t(n[i],A,e)}else t(n,A,e)})),M.pop(),d=null};let zA=null;function PA(){WA.stop()}function OA(){WA.start()}const WA=new $r;function VA(A,e,t,n){const i=A.opaque,r=A.transmissive,s=A.transparent;d.setupLightsView(t),!0===L&&EA.setGlobalState(p.clippingPlanes,t),r.length>0&&function(A,e,t,n){const i=$.isWebGL2;null===O&&(O=new ln(1,1,{generateMipmaps:!0,type:q.has("EXT_color_buffer_half_float")?UA:pA,minFilter:IA,samples:i&&!0===o?4:0}));p.getDrawingBufferSize(V),i?O.setSize(V.x,V.y):O.setSize(Jt(V.x),Jt(V.y));const r=p.getRenderTarget();p.setRenderTarget(O),p.getClearColor(T),R=p.getClearAlpha(),R<1&&p.setClearColor(16777215,.5);p.clear();const s=p.toneMapping;p.toneMapping=_,KA(A,t,n),nA.updateMultisampleRenderTarget(O),nA.updateRenderTargetMipmap(O);let a=!1;for(let A=0,i=e.length;A<i;A++){const i=e[A],r=i.object,s=i.geometry,o=i.material,B=i.group;if(o.side===w&&r.layers.test(n.layers)){const A=o.side;o.side=u,o.needsUpdate=!0,XA(r,t,n,s,o,B),o.side=A,o.needsUpdate=!0,a=!0}}!0===a&&(nA.updateMultisampleRenderTarget(O),nA.updateRenderTargetMipmap(O));p.setRenderTarget(r),p.setClearColor(T,R),p.toneMapping=s}(i,r,e,t),n&&AA.viewport(U.copy(n)),i.length>0&&KA(i,e,t),r.length>0&&KA(r,e,t),s.length>0&&KA(s,e,t),AA.buffers.depth.setTest(!0),AA.buffers.depth.setMask(!0),AA.buffers.color.setMask(!0),AA.setPolygonOffset(!1)}function KA(A,e,t){const n=!0===e.isScene?e.overrideMaterial:null;for(let i=0,r=A.length;i<r;i++){const r=A[i],s=r.object,o=r.geometry,a=null===n?r.material:n,B=r.group;s.layers.test(t.layers)&&XA(s,e,t,o,a,B)}}function XA(A,e,t,n,i,r){A.onBeforeRender(p,e,t,n,i,r),A.modelViewMatrix.multiplyMatrices(t.matrixWorldInverse,A.matrixWorld),A.normalMatrix.getNormalMatrix(A.modelViewMatrix),i.onBeforeRender(p,e,t,n,A,r),!0===i.transparent&&i.side===w&&!1===i.forceSinglePass?(i.side=u,i.needsUpdate=!0,p.renderBufferDirect(t,e,n,i,A,r),i.side=l,i.needsUpdate=!0,p.renderBufferDirect(t,e,n,i,A,r),i.side=w):p.renderBufferDirect(t,e,n,i,A,r),A.onAfterRender(p,e,t,n,i,r)}function ZA(A,e,t){!0!==e.isScene&&(e=X);const n=tA.get(A),i=d.state.lights,r=d.state.shadowsArray,s=i.state.version,o=BA.getParameters(A,i.state,r,e,t),a=BA.getProgramCacheKey(o);let B=n.programs;n.environment=A.isMeshStandardMaterial?e.environment:null,n.fog=e.fog,n.envMap=(A.isMeshStandardMaterial?rA:iA).get(A.envMap||n.environment),void 0===B&&(A.addEventListener("dispose",JA),B=new Map,n.programs=B);let c=B.get(a);if(void 0!==c){if(n.currentProgram===c&&n.lightsStateVersion===s)return _A(A,o),c}else o.uniforms=BA.getUniforms(A),A.onBuild(t,o,p),A.onBeforeCompile(o,p),c=BA.acquireProgram(o,a),B.set(a,c),n.uniforms=o.uniforms;const g=n.uniforms;(A.isShaderMaterial||A.isRawShaderMaterial)&&!0!==A.clipping||(g.clippingPlanes=EA.uniform),_A(A,o),n.needsLights=function(A){return A.isMeshLambertMaterial||A.isMeshToonMaterial||A.isMeshPhongMaterial||A.isMeshStandardMaterial||A.isShadowMaterial||A.isShaderMaterial&&!0===A.lights}(A),n.lightsStateVersion=s,n.needsLights&&(g.ambientLightColor.value=i.state.ambient,g.lightProbe.value=i.state.probe,g.directionalLights.value=i.state.directional,g.directionalLightShadows.value=i.state.directionalShadow,g.spotLights.value=i.state.spot,g.spotLightShadows.value=i.state.spotShadow,g.rectAreaLights.value=i.state.rectArea,g.ltc_1.value=i.state.rectAreaLTC1,g.ltc_2.value=i.state.rectAreaLTC2,g.pointLights.value=i.state.point,g.pointLightShadows.value=i.state.pointShadow,g.hemisphereLights.value=i.state.hemi,g.directionalShadowMap.value=i.state.directionalShadowMap,g.directionalShadowMatrix.value=i.state.directionalShadowMatrix,g.spotShadowMap.value=i.state.spotShadowMap,g.spotLightMatrix.value=i.state.spotLightMatrix,g.spotLightMap.value=i.state.spotLightMap,g.pointShadowMap.value=i.state.pointShadowMap,g.pointShadowMatrix.value=i.state.pointShadowMatrix);const Q=c.getUniforms(),E=Jo.seqWithValue(Q.seq,g);return n.currentProgram=c,n.uniformsList=E,c}function _A(A,e){const t=tA.get(A);t.outputColorSpace=e.outputColorSpace,t.instancing=e.instancing,t.skinning=e.skinning,t.morphTargets=e.morphTargets,t.morphNormals=e.morphNormals,t.morphColors=e.morphColors,t.morphTargetsCount=e.morphTargetsCount,t.numClippingPlanes=e.numClippingPlanes,t.numIntersection=e.numClipIntersection,t.vertexAlphas=e.vertexAlphas,t.vertexTangents=e.vertexTangents,t.toneMapping=e.toneMapping}WA.setAnimationLoop((function(A){zA&&zA(A)})),"undefined"!=typeof self&&WA.setContext(self),this.setAnimationLoop=function(A){zA=A,SA.setAnimationLoop(A),null===A?WA.stop():WA.start()},SA.addEventListener("sessionstart",PA),SA.addEventListener("sessionend",OA),this.render=function(A,e){if(void 0!==e&&!0!==e.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===m)return;!0===A.matrixWorldAutoUpdate&&A.updateMatrixWorld(),null===e.parent&&!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),!0===SA.enabled&&!0===SA.isPresenting&&(e=SA.updateCameraXR(e)),!0===A.isScene&&A.onBeforeRender(p,A,e,Y),d=QA.get(A,M.length),d.init(),M.push(d),W.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),v.setFromProjectionMatrix(W),P=this.localClippingEnabled,L=EA.init(this.clippingPlanes,P),C=gA.get(A,I.length),C.init(),I.push(C),function A(e,t,n,i){if(!1===e.visible)return;if(e.layers.test(t.layers))if(e.isGroup)n=e.renderOrder;else if(e.isLOD)!0===e.autoUpdate&&e.update(t);else if(e.isLight)d.pushLight(e),e.castShadow&&d.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||v.intersectsSprite(e)){i&&K.setFromMatrixPosition(e.matrixWorld).applyMatrix4(W);const A=aA.update(e),t=e.material;t.visible&&C.push(e,A,t,n,K.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(!e.frustumCulled||v.intersectsObject(e))){e.isSkinnedMesh&&e.skeleton.frame!==eA.render.frame&&(e.skeleton.update(),e.skeleton.frame=eA.render.frame);const A=aA.update(e),t=e.material;if(i&&(void 0!==e.boundingSphere?(null===e.boundingSphere&&e.computeBoundingSphere(),K.copy(e.boundingSphere.center)):(null===A.boundingSphere&&A.computeBoundingSphere(),K.copy(A.boundingSphere.center)),K.applyMatrix4(e.matrixWorld).applyMatrix4(W)),Array.isArray(t)){const i=A.groups;for(let r=0,s=i.length;r<s;r++){const s=i[r],o=t[s.materialIndex];o&&o.visible&&C.push(e,A,o,n,K.z,s)}}else t.visible&&C.push(e,A,t,n,K.z,null)}const r=e.children;for(let e=0,s=r.length;e<s;e++)A(r[e],t,n,i)}(A,e,0,p.sortObjects),C.finish(),!0===p.sortObjects&&C.sort(b,k),!0===L&&EA.beginShadows();const t=d.state.shadowsArray;if(lA.render(t,A,e),!0===L&&EA.endShadows(),!0===this.info.autoReset&&this.info.reset(),this.info.render.frame++,uA.render(C,A),d.setupLights(p.useLegacyLights),e.isArrayCamera){const t=e.cameras;for(let e=0,n=t.length;e<n;e++){const n=t[e];VA(C,A,n,n.viewport)}}else VA(C,A,e);null!==Y&&(nA.updateMultisampleRenderTarget(Y),nA.updateRenderTargetMipmap(Y)),!0===A.isScene&&A.onAfterRender(p,A,e),MA.resetDefaultState(),f=-1,N=null,M.pop(),d=M.length>0?M[M.length-1]:null,I.pop(),C=I.length>0?I[I.length-1]:null},this.getActiveCubeFace=function(){return F},this.getActiveMipmapLevel=function(){return D},this.getRenderTarget=function(){return Y},this.setRenderTargetTextures=function(A,e,t){tA.get(A.texture).__webglTexture=e,tA.get(A.depthTexture).__webglTexture=t;const n=tA.get(A);n.__hasExternalTextures=!0,n.__hasExternalTextures&&(n.__autoAllocateDepthBuffer=void 0===t,n.__autoAllocateDepthBuffer||!0===q.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),n.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(A,e){const t=tA.get(A);t.__webglFramebuffer=e,t.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(A,e=0,t=0){Y=A,F=e,D=t;let n=!0,i=null,r=!1,s=!1;if(A){const t=tA.get(A);void 0!==t.__useDefaultFramebuffer?(AA.bindFramebuffer(FA.FRAMEBUFFER,null),n=!1):void 0===t.__webglFramebuffer?nA.setupRenderTarget(A):t.__hasExternalTextures&&nA.rebindTextures(A,tA.get(A.texture).__webglTexture,tA.get(A.depthTexture).__webglTexture);const o=A.texture;(o.isData3DTexture||o.isDataArrayTexture||o.isCompressedArrayTexture)&&(s=!0);const a=tA.get(A).__webglFramebuffer;A.isWebGLCubeRenderTarget?(i=a[e],r=!0):i=$.isWebGL2&&A.samples>0&&!1===nA.useMultisampledRTT(A)?tA.get(A).__webglMultisampledFramebuffer:a,U.copy(A.viewport),y.copy(A.scissor),x=A.scissorTest}else U.copy(J).multiplyScalar(H).floor(),y.copy(j).multiplyScalar(H).floor(),x=z;if(AA.bindFramebuffer(FA.FRAMEBUFFER,i)&&$.drawBuffers&&n&&AA.drawBuffers(A,i),AA.viewport(U),AA.scissor(y),AA.setScissorTest(x),r){const n=tA.get(A.texture);FA.framebufferTexture2D(FA.FRAMEBUFFER,FA.COLOR_ATTACHMENT0,FA.TEXTURE_CUBE_MAP_POSITIVE_X+e,n.__webglTexture,t)}else if(s){const n=tA.get(A.texture),i=e||0;FA.framebufferTextureLayer(FA.FRAMEBUFFER,FA.COLOR_ATTACHMENT0,n.__webglTexture,t||0,i)}f=-1},this.readRenderTargetPixels=function(A,e,t,n,i,r,s){if(!A||!A.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=tA.get(A).__webglFramebuffer;if(A.isWebGLCubeRenderTarget&&void 0!==s&&(o=o[s]),o){AA.bindFramebuffer(FA.FRAMEBUFFER,o);try{const s=A.texture,o=s.format,a=s.type;if(o!==GA&&dA.convert(o)!==FA.getParameter(FA.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const B=a===UA&&(q.has("EXT_color_buffer_half_float")||$.isWebGL2&&q.has("EXT_color_buffer_float"));if(!(a===pA||dA.convert(a)===FA.getParameter(FA.IMPLEMENTATION_COLOR_READ_TYPE)||a===NA&&($.isWebGL2||q.has("OES_texture_float")||q.has("WEBGL_color_buffer_float"))||B))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");e>=0&&e<=A.width-n&&t>=0&&t<=A.height-i&&FA.readPixels(e,t,n,i,dA.convert(o),dA.convert(a),r)}finally{const A=null!==Y?tA.get(Y).__webglFramebuffer:null;AA.bindFramebuffer(FA.FRAMEBUFFER,A)}}},this.copyFramebufferToTexture=function(A,e,t=0){const n=Math.pow(2,-t),i=Math.floor(e.image.width*n),r=Math.floor(e.image.height*n);nA.setTexture2D(e,0),FA.copyTexSubImage2D(FA.TEXTURE_2D,t,0,0,A.x,A.y,i,r),AA.unbindTexture()},this.copyTextureToTexture=function(A,e,t,n=0){const i=e.image.width,r=e.image.height,s=dA.convert(t.format),o=dA.convert(t.type);nA.setTexture2D(t,0),FA.pixelStorei(FA.UNPACK_FLIP_Y_WEBGL,t.flipY),FA.pixelStorei(FA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),FA.pixelStorei(FA.UNPACK_ALIGNMENT,t.unpackAlignment),e.isDataTexture?FA.texSubImage2D(FA.TEXTURE_2D,n,A.x,A.y,i,r,s,o,e.image.data):e.isCompressedTexture?FA.compressedTexSubImage2D(FA.TEXTURE_2D,n,A.x,A.y,e.mipmaps[0].width,e.mipmaps[0].height,s,e.mipmaps[0].data):FA.texSubImage2D(FA.TEXTURE_2D,n,A.x,A.y,s,o,e.image),0===n&&t.generateMipmaps&&FA.generateMipmap(FA.TEXTURE_2D),AA.unbindTexture()},this.copyTextureToTexture3D=function(A,e,t,n,i=0){if(p.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const r=A.max.x-A.min.x+1,s=A.max.y-A.min.y+1,o=A.max.z-A.min.z+1,a=dA.convert(n.format),B=dA.convert(n.type);let c;if(n.isData3DTexture)nA.setTexture3D(n,0),c=FA.TEXTURE_3D;else{if(!n.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");nA.setTexture2DArray(n,0),c=FA.TEXTURE_2D_ARRAY}FA.pixelStorei(FA.UNPACK_FLIP_Y_WEBGL,n.flipY),FA.pixelStorei(FA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),FA.pixelStorei(FA.UNPACK_ALIGNMENT,n.unpackAlignment);const g=FA.getParameter(FA.UNPACK_ROW_LENGTH),Q=FA.getParameter(FA.UNPACK_IMAGE_HEIGHT),E=FA.getParameter(FA.UNPACK_SKIP_PIXELS),l=FA.getParameter(FA.UNPACK_SKIP_ROWS),u=FA.getParameter(FA.UNPACK_SKIP_IMAGES),w=t.isCompressedTexture?t.mipmaps[0]:t.image;FA.pixelStorei(FA.UNPACK_ROW_LENGTH,w.width),FA.pixelStorei(FA.UNPACK_IMAGE_HEIGHT,w.height),FA.pixelStorei(FA.UNPACK_SKIP_PIXELS,A.min.x),FA.pixelStorei(FA.UNPACK_SKIP_ROWS,A.min.y),FA.pixelStorei(FA.UNPACK_SKIP_IMAGES,A.min.z),t.isDataTexture||t.isData3DTexture?FA.texSubImage3D(c,i,e.x,e.y,e.z,r,s,o,a,B,w.data):t.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),FA.compressedTexSubImage3D(c,i,e.x,e.y,e.z,r,s,o,a,w.data)):FA.texSubImage3D(c,i,e.x,e.y,e.z,r,s,o,a,B,w),FA.pixelStorei(FA.UNPACK_ROW_LENGTH,g),FA.pixelStorei(FA.UNPACK_IMAGE_HEIGHT,Q),FA.pixelStorei(FA.UNPACK_SKIP_PIXELS,E),FA.pixelStorei(FA.UNPACK_SKIP_ROWS,l),FA.pixelStorei(FA.UNPACK_SKIP_IMAGES,u),0===i&&n.generateMipmaps&&FA.generateMipmap(c),AA.unbindTexture()},this.initTexture=function(A){A.isCubeTexture?nA.setTextureCube(A,0):A.isData3DTexture?nA.setTexture3D(A,0):A.isDataArrayTexture||A.isCompressedArrayTexture?nA.setTexture2DArray(A,0):nA.setTexture2D(A,0),AA.unbindTexture()},this.resetState=function(){F=0,D=0,Y=null,AA.reset(),MA.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Yt}get physicallyCorrectLights(){return console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),!this.useLegacyLights}set physicallyCorrectLights(A){console.warn("THREE.WebGLRenderer: the property .physicallyCorrectLights has been removed. Set renderer.useLegacyLights instead."),this.useLegacyLights=!A}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===ze?Se:Ge}set outputEncoding(A){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=A===Se?ze:ve}}class Ra extends Ta{}Ra.prototype.isWebGL1Renderer=!0;class Ga{constructor(A,e=25e-5){this.isFogExp2=!0,this.name="",this.color=new zi(A),this.density=e}clone(){return new Ga(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class Sa{constructor(A,e=1,t=1e3){this.isFog=!0,this.name="",this.color=new zi(A),this.near=e,this.far=t}clone(){return new Sa(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class Ha extends pi{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(A,e){return super.copy(A,e),null!==A.background&&(this.background=A.background.clone()),null!==A.environment&&(this.environment=A.environment.clone()),null!==A.fog&&(this.fog=A.fog.clone()),this.backgroundBlurriness=A.backgroundBlurriness,this.backgroundIntensity=A.backgroundIntensity,null!==A.overrideMaterial&&(this.overrideMaterial=A.overrideMaterial.clone()),this.matrixAutoUpdate=A.matrixAutoUpdate,this}toJSON(A){const e=super.toJSON(A);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(e.object.backgroundIntensity=this.backgroundIntensity),e}get autoUpdate(){return console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate}set autoUpdate(A){console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate=A}}class ba{constructor(A,e){this.isInterleavedBuffer=!0,this.array=A,this.stride=e,this.count=void 0!==A?A.length/e:0,this.usage=lt,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Rt()}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}setUsage(A){return this.usage=A,this}copy(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this}copyAt(A,e,t){A*=this.stride,t*=e.stride;for(let n=0,i=this.stride;n<i;n++)this.array[A+n]=e.array[t+n];return this}set(A,e=0){return this.array.set(A,e),this}clone(A){void 0===A.arrayBuffers&&(A.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Rt()),void 0===A.arrayBuffers[this.array.buffer._uuid]&&(A.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const e=new this.array.constructor(A.arrayBuffers[this.array.buffer._uuid]),t=new this.constructor(e,this.stride);return t.setUsage(this.usage),t}onUpload(A){return this.onUploadCallback=A,this}toJSON(A){return void 0===A.arrayBuffers&&(A.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Rt()),void 0===A.arrayBuffers[this.array.buffer._uuid]&&(A.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}}}const ka=new Mn;class Ja{constructor(A,e,t,n=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=A,this.itemSize=e,this.offset=t,this.normalized=n}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(A){this.data.needsUpdate=A}applyMatrix4(A){for(let e=0,t=this.data.count;e<t;e++)ka.fromBufferAttribute(this,e),ka.applyMatrix4(A),this.setXYZ(e,ka.x,ka.y,ka.z);return this}applyNormalMatrix(A){for(let e=0,t=this.count;e<t;e++)ka.fromBufferAttribute(this,e),ka.applyNormalMatrix(A),this.setXYZ(e,ka.x,ka.y,ka.z);return this}transformDirection(A){for(let e=0,t=this.count;e<t;e++)ka.fromBufferAttribute(this,e),ka.transformDirection(A),this.setXYZ(e,ka.x,ka.y,ka.z);return this}setX(A,e){return this.normalized&&(e=zt(e,this.array)),this.data.array[A*this.data.stride+this.offset]=e,this}setY(A,e){return this.normalized&&(e=zt(e,this.array)),this.data.array[A*this.data.stride+this.offset+1]=e,this}setZ(A,e){return this.normalized&&(e=zt(e,this.array)),this.data.array[A*this.data.stride+this.offset+2]=e,this}setW(A,e){return this.normalized&&(e=zt(e,this.array)),this.data.array[A*this.data.stride+this.offset+3]=e,this}getX(A){let e=this.data.array[A*this.data.stride+this.offset];return this.normalized&&(e=jt(e,this.array)),e}getY(A){let e=this.data.array[A*this.data.stride+this.offset+1];return this.normalized&&(e=jt(e,this.array)),e}getZ(A){let e=this.data.array[A*this.data.stride+this.offset+2];return this.normalized&&(e=jt(e,this.array)),e}getW(A){let e=this.data.array[A*this.data.stride+this.offset+3];return this.normalized&&(e=jt(e,this.array)),e}setXY(A,e,t){return A=A*this.data.stride+this.offset,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array)),this.data.array[A+0]=e,this.data.array[A+1]=t,this}setXYZ(A,e,t,n){return A=A*this.data.stride+this.offset,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array),n=zt(n,this.array)),this.data.array[A+0]=e,this.data.array[A+1]=t,this.data.array[A+2]=n,this}setXYZW(A,e,t,n,i){return A=A*this.data.stride+this.offset,this.normalized&&(e=zt(e,this.array),t=zt(t,this.array),n=zt(n,this.array),i=zt(i,this.array)),this.data.array[A+0]=e,this.data.array[A+1]=t,this.data.array[A+2]=n,this.data.array[A+3]=i,this}clone(A){if(void 0===A){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const A=[];for(let e=0;e<this.count;e++){const t=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)A.push(this.data.array[t+e])}return new _i(new this.array.constructor(A),this.itemSize,this.normalized)}return void 0===A.interleavedBuffers&&(A.interleavedBuffers={}),void 0===A.interleavedBuffers[this.data.uuid]&&(A.interleavedBuffers[this.data.uuid]=this.data.clone(A)),new Ja(A.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(A){if(void 0===A){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const A=[];for(let e=0;e<this.count;e++){const t=e*this.data.stride+this.offset;for(let e=0;e<this.itemSize;e++)A.push(this.data.array[t+e])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:A,normalized:this.normalized}}return void 0===A.interleavedBuffers&&(A.interleavedBuffers={}),void 0===A.interleavedBuffers[this.data.uuid]&&(A.interleavedBuffers[this.data.uuid]=this.data.toJSON(A)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class ja extends Hi{constructor(A){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new zi(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.alphaMap=A.alphaMap,this.rotation=A.rotation,this.sizeAttenuation=A.sizeAttenuation,this.fog=A.fog,this}}let za;const va=new Mn,La=new Mn,Pa=new Mn,Oa=new Lt,Wa=new Lt,Va=new _n,Ka=new Mn,Xa=new Mn,Za=new Mn,_a=new Lt,qa=new Lt,$a=new Lt;class AB extends pi{constructor(A){if(super(),this.isSprite=!0,this.type="Sprite",void 0===za){za=new ur;const A=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),e=new ba(A,5);za.setIndex([0,1,2,0,2,3]),za.setAttribute("position",new Ja(e,3,0,!1)),za.setAttribute("uv",new Ja(e,2,3,!1))}this.geometry=za,this.material=void 0!==A?A:new ja,this.center=new Lt(.5,.5)}raycast(A,e){null===A.camera&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),La.setFromMatrixScale(this.matrixWorld),Va.copy(A.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(A.camera.matrixWorldInverse,this.matrixWorld),Pa.setFromMatrixPosition(this.modelViewMatrix),A.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&La.multiplyScalar(-Pa.z);const t=this.material.rotation;let n,i;0!==t&&(i=Math.cos(t),n=Math.sin(t));const r=this.center;eB(Ka.set(-.5,-.5,0),Pa,r,La,n,i),eB(Xa.set(.5,-.5,0),Pa,r,La,n,i),eB(Za.set(.5,.5,0),Pa,r,La,n,i),_a.set(0,0),qa.set(1,0),$a.set(1,1);let s=A.ray.intersectTriangle(Ka,Xa,Za,!1,va);if(null===s&&(eB(Xa.set(-.5,.5,0),Pa,r,La,n,i),qa.set(0,1),s=A.ray.intersectTriangle(Ka,Za,Xa,!1,va),null===s))return;const o=A.ray.origin.distanceTo(va);o<A.near||o>A.far||e.push({distance:o,point:va.clone(),uv:Gi.getInterpolation(va,Ka,Xa,Za,_a,qa,$a,new Lt),face:null,object:this})}copy(A,e){return super.copy(A,e),void 0!==A.center&&this.center.copy(A.center),this.material=A.material,this}}function eB(A,e,t,n,i,r){Oa.subVectors(A,t).addScalar(.5).multiply(n),void 0!==i?(Wa.x=r*Oa.x-i*Oa.y,Wa.y=i*Oa.x+r*Oa.y):Wa.copy(Oa),A.copy(e),A.x+=Wa.x,A.y+=Wa.y,A.applyMatrix4(Va)}const tB=new Mn,nB=new Mn;class iB extends pi{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(A){super.copy(A,!1);const e=A.levels;for(let A=0,t=e.length;A<t;A++){const t=e[A];this.addLevel(t.object.clone(),t.distance,t.hysteresis)}return this.autoUpdate=A.autoUpdate,this}addLevel(A,e=0,t=0){e=Math.abs(e);const n=this.levels;let i;for(i=0;i<n.length&&!(e<n[i].distance);i++);return n.splice(i,0,{distance:e,hysteresis:t,object:A}),this.add(A),this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(A){const e=this.levels;if(e.length>0){let t,n;for(t=1,n=e.length;t<n;t++){let n=e[t].distance;if(e[t].object.visible&&(n-=n*e[t].hysteresis),A<n)break}return e[t-1].object}return null}raycast(A,e){if(this.levels.length>0){tB.setFromMatrixPosition(this.matrixWorld);const t=A.ray.origin.distanceTo(tB);this.getObjectForDistance(t).raycast(A,e)}}update(A){const e=this.levels;if(e.length>1){tB.setFromMatrixPosition(A.matrixWorld),nB.setFromMatrixPosition(this.matrixWorld);const t=tB.distanceTo(nB)/A.zoom;let n,i;for(e[0].object.visible=!0,n=1,i=e.length;n<i;n++){let A=e[n].distance;if(e[n].object.visible&&(A-=A*e[n].hysteresis),!(t>=A))break;e[n-1].object.visible=!1,e[n].object.visible=!0}for(this._currentLevel=n-1;n<i;n++)e[n].object.visible=!1}}toJSON(A){const e=super.toJSON(A);!1===this.autoUpdate&&(e.object.autoUpdate=!1),e.object.levels=[];const t=this.levels;for(let A=0,n=t.length;A<n;A++){const n=t[A];e.object.levels.push({object:n.object.uuid,distance:n.distance,hysteresis:n.hysteresis})}return e}}const rB=new Mn,sB=new En,oB=new En,aB=new Mn,BB=new _n,cB=new Mn,gB=new vn,QB=new _n,EB=new Zn;class lB extends Rr{constructor(A,e){super(A,e),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new _n,this.bindMatrixInverse=new _n,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const A=this.geometry;null===this.boundingBox&&(this.boundingBox=new Fn),this.boundingBox.makeEmpty();const e=A.getAttribute("position");for(let A=0;A<e.count;A++)cB.fromBufferAttribute(e,A),this.applyBoneTransform(A,cB),this.boundingBox.expandByPoint(cB)}computeBoundingSphere(){const A=this.geometry;null===this.boundingSphere&&(this.boundingSphere=new vn),this.boundingSphere.makeEmpty();const e=A.getAttribute("position");for(let A=0;A<e.count;A++)cB.fromBufferAttribute(e,A),this.applyBoneTransform(A,cB),this.boundingSphere.expandByPoint(cB)}copy(A,e){return super.copy(A,e),this.bindMode=A.bindMode,this.bindMatrix.copy(A.bindMatrix),this.bindMatrixInverse.copy(A.bindMatrixInverse),this.skeleton=A.skeleton,null!==A.boundingBox&&(this.boundingBox=A.boundingBox.clone()),null!==A.boundingSphere&&(this.boundingSphere=A.boundingSphere.clone()),this}raycast(A,e){const t=this.material,n=this.matrixWorld;void 0!==t&&(null===this.boundingSphere&&this.computeBoundingSphere(),gB.copy(this.boundingSphere),gB.applyMatrix4(n),!1!==A.ray.intersectsSphere(gB)&&(QB.copy(n).invert(),EB.copy(A.ray).applyMatrix4(QB),null!==this.boundingBox&&!1===EB.intersectsBox(this.boundingBox)||this._computeIntersections(A,e,EB)))}getVertexPosition(A,e){return super.getVertexPosition(A,e),this.applyBoneTransform(A,e),e}bind(A,e){this.skeleton=A,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.copy(e).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const A=new En,e=this.geometry.attributes.skinWeight;for(let t=0,n=e.count;t<n;t++){A.fromBufferAttribute(e,t);const n=1/A.manhattanLength();n!==1/0?A.multiplyScalar(n):A.set(1,0,0,0),e.setXYZW(t,A.x,A.y,A.z,A.w)}}updateMatrixWorld(A){super.updateMatrixWorld(A),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(A,e){const t=this.skeleton,n=this.geometry;sB.fromBufferAttribute(n.attributes.skinIndex,A),oB.fromBufferAttribute(n.attributes.skinWeight,A),rB.copy(e).applyMatrix4(this.bindMatrix),e.set(0,0,0);for(let A=0;A<4;A++){const n=oB.getComponent(A);if(0!==n){const i=sB.getComponent(A);BB.multiplyMatrices(t.bones[i].matrixWorld,t.boneInverses[i]),e.addScaledVector(aB.copy(rB).applyMatrix4(BB),n)}}return e.applyMatrix4(this.bindMatrixInverse)}boneTransform(A,e){return console.warn("THREE.SkinnedMesh: .boneTransform() was renamed to .applyBoneTransform() in r151."),this.applyBoneTransform(A,e)}}class uB extends pi{constructor(){super(),this.isBone=!0,this.type="Bone"}}class wB extends Qn{constructor(A=null,e=1,t=1,n,i,r,s,o,a=QA,B=QA,c,g){super(null,r,s,o,a,B,n,i,c,g),this.isDataTexture=!0,this.image={data:A,width:e,height:t},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const hB=new _n,CB=new _n;class dB{constructor(A=[],e=[]){this.uuid=Rt(),this.bones=A.slice(0),this.boneInverses=e,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){const A=this.bones,e=this.boneInverses;if(this.boneMatrices=new Float32Array(16*A.length),0===e.length)this.calculateInverses();else if(A.length!==e.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let A=0,e=this.bones.length;A<e;A++)this.boneInverses.push(new _n)}}calculateInverses(){this.boneInverses.length=0;for(let A=0,e=this.bones.length;A<e;A++){const e=new _n;this.bones[A]&&e.copy(this.bones[A].matrixWorld).invert(),this.boneInverses.push(e)}}pose(){for(let A=0,e=this.bones.length;A<e;A++){const e=this.bones[A];e&&e.matrixWorld.copy(this.boneInverses[A]).invert()}for(let A=0,e=this.bones.length;A<e;A++){const e=this.bones[A];e&&(e.parent&&e.parent.isBone?(e.matrix.copy(e.parent.matrixWorld).invert(),e.matrix.multiply(e.matrixWorld)):e.matrix.copy(e.matrixWorld),e.matrix.decompose(e.position,e.quaternion,e.scale))}}update(){const A=this.bones,e=this.boneInverses,t=this.boneMatrices,n=this.boneTexture;for(let n=0,i=A.length;n<i;n++){const i=A[n]?A[n].matrixWorld:CB;hB.multiplyMatrices(i,e[n]),hB.toArray(t,16*n)}null!==n&&(n.needsUpdate=!0)}clone(){return new dB(this.bones,this.boneInverses)}computeBoneTexture(){let A=Math.sqrt(4*this.bones.length);A=kt(A),A=Math.max(A,4);const e=new Float32Array(A*A*4);e.set(this.boneMatrices);const t=new wB(e,A,A,GA,NA);return t.needsUpdate=!0,this.boneMatrices=e,this.boneTexture=t,this.boneTextureSize=A,this}getBoneByName(A){for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];if(t.name===A)return t}}dispose(){null!==this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(A,e){this.uuid=A.uuid;for(let t=0,n=A.bones.length;t<n;t++){const n=A.bones[t];let i=e[n];void 0===i&&(console.warn("THREE.Skeleton: No bone found with UUID:",n),i=new uB),this.bones.push(i),this.boneInverses.push((new _n).fromArray(A.boneInverses[t]))}return this.init(),this}toJSON(){const A={metadata:{version:4.6,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};A.uuid=this.uuid;const e=this.bones,t=this.boneInverses;for(let n=0,i=e.length;n<i;n++){const i=e[n];A.bones.push(i.uuid);const r=t[n];A.boneInverses.push(r.toArray())}return A}}class IB extends _i{constructor(A,e,t,n=1){super(A,e,t),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=n}copy(A){return super.copy(A),this.meshPerAttribute=A.meshPerAttribute,this}toJSON(){const A=super.toJSON();return A.meshPerAttribute=this.meshPerAttribute,A.isInstancedBufferAttribute=!0,A}}const MB=new _n,pB=new _n,mB=[],FB=new Fn,DB=new _n,YB=new Rr,fB=new vn;class NB extends Rr{constructor(A,e,t){super(A,e),this.isInstancedMesh=!0,this.instanceMatrix=new IB(new Float32Array(16*t),16),this.instanceColor=null,this.count=t,this.boundingBox=null,this.boundingSphere=null;for(let A=0;A<t;A++)this.setMatrixAt(A,DB)}computeBoundingBox(){const A=this.geometry,e=this.count;null===this.boundingBox&&(this.boundingBox=new Fn),null===A.boundingBox&&A.computeBoundingBox(),this.boundingBox.makeEmpty();for(let t=0;t<e;t++)this.getMatrixAt(t,MB),FB.copy(A.boundingBox).applyMatrix4(MB),this.boundingBox.union(FB)}computeBoundingSphere(){const A=this.geometry,e=this.count;null===this.boundingSphere&&(this.boundingSphere=new vn),null===A.boundingSphere&&A.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let t=0;t<e;t++)this.getMatrixAt(t,MB),fB.copy(A.boundingSphere).applyMatrix4(MB),this.boundingSphere.union(fB)}copy(A,e){return super.copy(A,e),this.instanceMatrix.copy(A.instanceMatrix),null!==A.instanceColor&&(this.instanceColor=A.instanceColor.clone()),this.count=A.count,null!==A.boundingBox&&(this.boundingBox=A.boundingBox.clone()),null!==A.boundingSphere&&(this.boundingSphere=A.boundingSphere.clone()),this}getColorAt(A,e){e.fromArray(this.instanceColor.array,3*A)}getMatrixAt(A,e){e.fromArray(this.instanceMatrix.array,16*A)}raycast(A,e){const t=this.matrixWorld,n=this.count;if(YB.geometry=this.geometry,YB.material=this.material,void 0!==YB.material&&(null===this.boundingSphere&&this.computeBoundingSphere(),fB.copy(this.boundingSphere),fB.applyMatrix4(t),!1!==A.ray.intersectsSphere(fB)))for(let i=0;i<n;i++){this.getMatrixAt(i,MB),pB.multiplyMatrices(t,MB),YB.matrixWorld=pB,YB.raycast(A,mB);for(let A=0,t=mB.length;A<t;A++){const t=mB[A];t.instanceId=i,t.object=this,e.push(t)}mB.length=0}}setColorAt(A,e){null===this.instanceColor&&(this.instanceColor=new IB(new Float32Array(3*this.instanceMatrix.count),3)),e.toArray(this.instanceColor.array,3*A)}setMatrixAt(A,e){e.toArray(this.instanceMatrix.array,16*A)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}class UB extends Hi{constructor(A){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new zi(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.linewidth=A.linewidth,this.linecap=A.linecap,this.linejoin=A.linejoin,this.fog=A.fog,this}}const yB=new Mn,xB=new Mn,TB=new _n,RB=new Zn,GB=new vn;class SB extends pi{constructor(A=new ur,e=new UB){super(),this.isLine=!0,this.type="Line",this.geometry=A,this.material=e,this.updateMorphTargets()}copy(A,e){return super.copy(A,e),this.material=A.material,this.geometry=A.geometry,this}computeLineDistances(){const A=this.geometry;if(null===A.index){const e=A.attributes.position,t=[0];for(let A=1,n=e.count;A<n;A++)yB.fromBufferAttribute(e,A-1),xB.fromBufferAttribute(e,A),t[A]=t[A-1],t[A]+=yB.distanceTo(xB);A.setAttribute("lineDistance",new sr(t,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(A,e){const t=this.geometry,n=this.matrixWorld,i=A.params.Line.threshold,r=t.drawRange;if(null===t.boundingSphere&&t.computeBoundingSphere(),GB.copy(t.boundingSphere),GB.applyMatrix4(n),GB.radius+=i,!1===A.ray.intersectsSphere(GB))return;TB.copy(n).invert(),RB.copy(A.ray).applyMatrix4(TB);const s=i/((this.scale.x+this.scale.y+this.scale.z)/3),o=s*s,a=new Mn,B=new Mn,c=new Mn,g=new Mn,Q=this.isLineSegments?2:1,E=t.index,l=t.attributes.position;if(null!==E){for(let t=Math.max(0,r.start),n=Math.min(E.count,r.start+r.count)-1;t<n;t+=Q){const n=E.getX(t),i=E.getX(t+1);a.fromBufferAttribute(l,n),B.fromBufferAttribute(l,i);if(RB.distanceSqToSegment(a,B,g,c)>o)continue;g.applyMatrix4(this.matrixWorld);const r=A.ray.origin.distanceTo(g);r<A.near||r>A.far||e.push({distance:r,point:c.clone().applyMatrix4(this.matrixWorld),index:t,face:null,faceIndex:null,object:this})}}else{for(let t=Math.max(0,r.start),n=Math.min(l.count,r.start+r.count)-1;t<n;t+=Q){a.fromBufferAttribute(l,t),B.fromBufferAttribute(l,t+1);if(RB.distanceSqToSegment(a,B,g,c)>o)continue;g.applyMatrix4(this.matrixWorld);const n=A.ray.origin.distanceTo(g);n<A.near||n>A.far||e.push({distance:n,point:c.clone().applyMatrix4(this.matrixWorld),index:t,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const A=this.geometry.morphAttributes,e=Object.keys(A);if(e.length>0){const t=A[e[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,e=t.length;A<e;A++){const e=t[A].name||String(A);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=A}}}}}const HB=new Mn,bB=new Mn;class kB extends SB{constructor(A,e){super(A,e),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const A=this.geometry;if(null===A.index){const e=A.attributes.position,t=[];for(let A=0,n=e.count;A<n;A+=2)HB.fromBufferAttribute(e,A),bB.fromBufferAttribute(e,A+1),t[A]=0===A?0:t[A-1],t[A+1]=t[A]+HB.distanceTo(bB);A.setAttribute("lineDistance",new sr(t,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class JB extends SB{constructor(A,e){super(A,e),this.isLineLoop=!0,this.type="LineLoop"}}class jB extends Hi{constructor(A){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new zi(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.alphaMap=A.alphaMap,this.size=A.size,this.sizeAttenuation=A.sizeAttenuation,this.fog=A.fog,this}}const zB=new _n,vB=new Zn,LB=new vn,PB=new Mn;class OB extends pi{constructor(A=new ur,e=new jB){super(),this.isPoints=!0,this.type="Points",this.geometry=A,this.material=e,this.updateMorphTargets()}copy(A,e){return super.copy(A,e),this.material=A.material,this.geometry=A.geometry,this}raycast(A,e){const t=this.geometry,n=this.matrixWorld,i=A.params.Points.threshold,r=t.drawRange;if(null===t.boundingSphere&&t.computeBoundingSphere(),LB.copy(t.boundingSphere),LB.applyMatrix4(n),LB.radius+=i,!1===A.ray.intersectsSphere(LB))return;zB.copy(n).invert(),vB.copy(A.ray).applyMatrix4(zB);const s=i/((this.scale.x+this.scale.y+this.scale.z)/3),o=s*s,a=t.index,B=t.attributes.position;if(null!==a){for(let t=Math.max(0,r.start),i=Math.min(a.count,r.start+r.count);t<i;t++){const i=a.getX(t);PB.fromBufferAttribute(B,i),WB(PB,i,o,n,A,e,this)}}else{for(let t=Math.max(0,r.start),i=Math.min(B.count,r.start+r.count);t<i;t++)PB.fromBufferAttribute(B,t),WB(PB,t,o,n,A,e,this)}}updateMorphTargets(){const A=this.geometry.morphAttributes,e=Object.keys(A);if(e.length>0){const t=A[e[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,e=t.length;A<e;A++){const e=t[A].name||String(A);this.morphTargetInfluences.push(0),this.morphTargetDictionary[e]=A}}}}}function WB(A,e,t,n,i,r,s){const o=vB.distanceSqToPoint(A);if(o<t){const t=new Mn;vB.closestPointToPoint(A,t),t.applyMatrix4(n);const a=i.ray.origin.distanceTo(t);if(a<i.near||a>i.far)return;r.push({distance:a,distanceToRay:Math.sqrt(o),point:t,index:e,face:null,object:s})}}class VB extends Qn{constructor(A,e,t,n,i,r,s,o,a){super(A,e,t,n,i,r,s,o,a),this.isVideoTexture=!0,this.minFilter=void 0!==r?r:hA,this.magFilter=void 0!==i?i:hA,this.generateMipmaps=!1;const B=this;"requestVideoFrameCallback"in A&&A.requestVideoFrameCallback((function e(){B.needsUpdate=!0,A.requestVideoFrameCallback(e)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const A=this.image;!1==="requestVideoFrameCallback"in A&&A.readyState>=A.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class KB extends Qn{constructor(A,e){super({width:A,height:e}),this.isFramebufferTexture=!0,this.magFilter=QA,this.minFilter=QA,this.generateMipmaps=!1,this.needsUpdate=!0}}class XB extends Qn{constructor(A,e,t,n,i,r,s,o,a,B,c,g){super(null,r,s,o,a,B,n,i,c,g),this.isCompressedTexture=!0,this.image={width:e,height:t},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}class ZB extends XB{constructor(A,e,t,n,i,r){super(A,e,t,i,r),this.isCompressedArrayTexture=!0,this.image.depth=n,this.wrapR=cA}}class _B extends Qn{constructor(A,e,t,n,i,r,s,o,a){super(A,e,t,n,i,r,s,o,a),this.isCanvasTexture=!0,this.needsUpdate=!0}}class qB{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(A,e){const t=this.getUtoTmapping(A);return this.getPoint(t,e)}getPoints(A=5){const e=[];for(let t=0;t<=A;t++)e.push(this.getPoint(t/A));return e}getSpacedPoints(A=5){const e=[];for(let t=0;t<=A;t++)e.push(this.getPointAt(t/A));return e}getLength(){const A=this.getLengths();return A[A.length-1]}getLengths(A=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===A+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let t,n=this.getPoint(0),i=0;e.push(0);for(let r=1;r<=A;r++)t=this.getPoint(r/A),i+=t.distanceTo(n),e.push(i),n=t;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(A,e){const t=this.getLengths();let n=0;const i=t.length;let r;r=e||A*t[i-1];let s,o=0,a=i-1;for(;o<=a;)if(n=Math.floor(o+(a-o)/2),s=t[n]-r,s<0)o=n+1;else{if(!(s>0)){a=n;break}a=n-1}if(n=a,t[n]===r)return n/(i-1);const B=t[n];return(n+(r-B)/(t[n+1]-B))/(i-1)}getTangent(A,e){let t=A-1e-4,n=A+1e-4;t<0&&(t=0),n>1&&(n=1);const i=this.getPoint(t),r=this.getPoint(n),s=e||(i.isVector2?new Lt:new Mn);return s.copy(r).sub(i).normalize(),s}getTangentAt(A,e){const t=this.getUtoTmapping(A);return this.getTangent(t,e)}computeFrenetFrames(A,e){const t=new Mn,n=[],i=[],r=[],s=new Mn,o=new _n;for(let e=0;e<=A;e++){const t=e/A;n[e]=this.getTangentAt(t,new Mn)}i[0]=new Mn,r[0]=new Mn;let a=Number.MAX_VALUE;const B=Math.abs(n[0].x),c=Math.abs(n[0].y),g=Math.abs(n[0].z);B<=a&&(a=B,t.set(1,0,0)),c<=a&&(a=c,t.set(0,1,0)),g<=a&&t.set(0,0,1),s.crossVectors(n[0],t).normalize(),i[0].crossVectors(n[0],s),r[0].crossVectors(n[0],i[0]);for(let e=1;e<=A;e++){if(i[e]=i[e-1].clone(),r[e]=r[e-1].clone(),s.crossVectors(n[e-1],n[e]),s.length()>Number.EPSILON){s.normalize();const A=Math.acos(Gt(n[e-1].dot(n[e]),-1,1));i[e].applyMatrix4(o.makeRotationAxis(s,A))}r[e].crossVectors(n[e],i[e])}if(!0===e){let e=Math.acos(Gt(i[0].dot(i[A]),-1,1));e/=A,n[0].dot(s.crossVectors(i[0],i[A]))>0&&(e=-e);for(let t=1;t<=A;t++)i[t].applyMatrix4(o.makeRotationAxis(n[t],e*t)),r[t].crossVectors(n[t],i[t])}return{tangents:n,normals:i,binormals:r}}clone(){return(new this.constructor).copy(this)}copy(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}toJSON(){const A={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A}fromJSON(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}}class $B extends qB{constructor(A=0,e=0,t=1,n=1,i=0,r=2*Math.PI,s=!1,o=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=A,this.aY=e,this.xRadius=t,this.yRadius=n,this.aStartAngle=i,this.aEndAngle=r,this.aClockwise=s,this.aRotation=o}getPoint(A,e){const t=e||new Lt,n=2*Math.PI;let i=this.aEndAngle-this.aStartAngle;const r=Math.abs(i)<Number.EPSILON;for(;i<0;)i+=n;for(;i>n;)i-=n;i<Number.EPSILON&&(i=r?0:n),!0!==this.aClockwise||r||(i===n?i=-n:i-=n);const s=this.aStartAngle+A*i;let o=this.aX+this.xRadius*Math.cos(s),a=this.aY+this.yRadius*Math.sin(s);if(0!==this.aRotation){const A=Math.cos(this.aRotation),e=Math.sin(this.aRotation),t=o-this.aX,n=a-this.aY;o=t*A-n*e+this.aX,a=t*e+n*A+this.aY}return t.set(o,a)}copy(A){return super.copy(A),this.aX=A.aX,this.aY=A.aY,this.xRadius=A.xRadius,this.yRadius=A.yRadius,this.aStartAngle=A.aStartAngle,this.aEndAngle=A.aEndAngle,this.aClockwise=A.aClockwise,this.aRotation=A.aRotation,this}toJSON(){const A=super.toJSON();return A.aX=this.aX,A.aY=this.aY,A.xRadius=this.xRadius,A.yRadius=this.yRadius,A.aStartAngle=this.aStartAngle,A.aEndAngle=this.aEndAngle,A.aClockwise=this.aClockwise,A.aRotation=this.aRotation,A}fromJSON(A){return super.fromJSON(A),this.aX=A.aX,this.aY=A.aY,this.xRadius=A.xRadius,this.yRadius=A.yRadius,this.aStartAngle=A.aStartAngle,this.aEndAngle=A.aEndAngle,this.aClockwise=A.aClockwise,this.aRotation=A.aRotation,this}}class Ac extends $B{constructor(A,e,t,n,i,r){super(A,e,t,t,n,i,r),this.isArcCurve=!0,this.type="ArcCurve"}}function ec(){let A=0,e=0,t=0,n=0;function i(i,r,s,o){A=i,e=s,t=-3*i+3*r-2*s-o,n=2*i-2*r+s+o}return{initCatmullRom:function(A,e,t,n,r){i(e,t,r*(t-A),r*(n-e))},initNonuniformCatmullRom:function(A,e,t,n,r,s,o){let a=(e-A)/r-(t-A)/(r+s)+(t-e)/s,B=(t-e)/s-(n-e)/(s+o)+(n-t)/o;a*=s,B*=s,i(e,t,a,B)},calc:function(i){const r=i*i;return A+e*i+t*r+n*(r*i)}}}const tc=new Mn,nc=new ec,ic=new ec,rc=new ec;class sc extends qB{constructor(A=[],e=!1,t="centripetal",n=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=A,this.closed=e,this.curveType=t,this.tension=n}getPoint(A,e=new Mn){const t=e,n=this.points,i=n.length,r=(i-(this.closed?0:1))*A;let s,o,a=Math.floor(r),B=r-a;this.closed?a+=a>0?0:(Math.floor(Math.abs(a)/i)+1)*i:0===B&&a===i-1&&(a=i-2,B=1),this.closed||a>0?s=n[(a-1)%i]:(tc.subVectors(n[0],n[1]).add(n[0]),s=tc);const c=n[a%i],g=n[(a+1)%i];if(this.closed||a+2<i?o=n[(a+2)%i]:(tc.subVectors(n[i-1],n[i-2]).add(n[i-1]),o=tc),"centripetal"===this.curveType||"chordal"===this.curveType){const A="chordal"===this.curveType?.5:.25;let e=Math.pow(s.distanceToSquared(c),A),t=Math.pow(c.distanceToSquared(g),A),n=Math.pow(g.distanceToSquared(o),A);t<1e-4&&(t=1),e<1e-4&&(e=t),n<1e-4&&(n=t),nc.initNonuniformCatmullRom(s.x,c.x,g.x,o.x,e,t,n),ic.initNonuniformCatmullRom(s.y,c.y,g.y,o.y,e,t,n),rc.initNonuniformCatmullRom(s.z,c.z,g.z,o.z,e,t,n)}else"catmullrom"===this.curveType&&(nc.initCatmullRom(s.x,c.x,g.x,o.x,this.tension),ic.initCatmullRom(s.y,c.y,g.y,o.y,this.tension),rc.initCatmullRom(s.z,c.z,g.z,o.z,this.tension));return t.set(nc.calc(B),ic.calc(B),rc.calc(B)),t}copy(A){super.copy(A),this.points=[];for(let e=0,t=A.points.length;e<t;e++){const t=A.points[e];this.points.push(t.clone())}return this.closed=A.closed,this.curveType=A.curveType,this.tension=A.tension,this}toJSON(){const A=super.toJSON();A.points=[];for(let e=0,t=this.points.length;e<t;e++){const t=this.points[e];A.points.push(t.toArray())}return A.closed=this.closed,A.curveType=this.curveType,A.tension=this.tension,A}fromJSON(A){super.fromJSON(A),this.points=[];for(let e=0,t=A.points.length;e<t;e++){const t=A.points[e];this.points.push((new Mn).fromArray(t))}return this.closed=A.closed,this.curveType=A.curveType,this.tension=A.tension,this}}function oc(A,e,t,n,i){const r=.5*(n-e),s=.5*(i-t),o=A*A;return(2*t-2*n+r+s)*(A*o)+(-3*t+3*n-2*r-s)*o+r*A+t}function ac(A,e,t,n){return function(A,e){const t=1-A;return t*t*e}(A,e)+function(A,e){return 2*(1-A)*A*e}(A,t)+function(A,e){return A*A*e}(A,n)}function Bc(A,e,t,n,i){return function(A,e){const t=1-A;return t*t*t*e}(A,e)+function(A,e){const t=1-A;return 3*t*t*A*e}(A,t)+function(A,e){return 3*(1-A)*A*A*e}(A,n)+function(A,e){return A*A*A*e}(A,i)}class cc extends qB{constructor(A=new Lt,e=new Lt,t=new Lt,n=new Lt){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=A,this.v1=e,this.v2=t,this.v3=n}getPoint(A,e=new Lt){const t=e,n=this.v0,i=this.v1,r=this.v2,s=this.v3;return t.set(Bc(A,n.x,i.x,r.x,s.x),Bc(A,n.y,i.y,r.y,s.y)),t}copy(A){return super.copy(A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this.v3.copy(A.v3),this}toJSON(){const A=super.toJSON();return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A.v3=this.v3.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this.v3.fromArray(A.v3),this}}class gc extends qB{constructor(A=new Mn,e=new Mn,t=new Mn,n=new Mn){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=A,this.v1=e,this.v2=t,this.v3=n}getPoint(A,e=new Mn){const t=e,n=this.v0,i=this.v1,r=this.v2,s=this.v3;return t.set(Bc(A,n.x,i.x,r.x,s.x),Bc(A,n.y,i.y,r.y,s.y),Bc(A,n.z,i.z,r.z,s.z)),t}copy(A){return super.copy(A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this.v3.copy(A.v3),this}toJSON(){const A=super.toJSON();return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A.v3=this.v3.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this.v3.fromArray(A.v3),this}}class Qc extends qB{constructor(A=new Lt,e=new Lt){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=A,this.v2=e}getPoint(A,e=new Lt){const t=e;return 1===A?t.copy(this.v2):(t.copy(this.v2).sub(this.v1),t.multiplyScalar(A).add(this.v1)),t}getPointAt(A,e){return this.getPoint(A,e)}getTangent(A,e=new Lt){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(A,e){return this.getTangent(A,e)}copy(A){return super.copy(A),this.v1.copy(A.v1),this.v2.copy(A.v2),this}toJSON(){const A=super.toJSON();return A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this}}class Ec extends qB{constructor(A=new Mn,e=new Mn){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=A,this.v2=e}getPoint(A,e=new Mn){const t=e;return 1===A?t.copy(this.v2):(t.copy(this.v2).sub(this.v1),t.multiplyScalar(A).add(this.v1)),t}getPointAt(A,e){return this.getPoint(A,e)}getTangent(A,e=new Mn){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(A,e){return this.getTangent(A,e)}copy(A){return super.copy(A),this.v1.copy(A.v1),this.v2.copy(A.v2),this}toJSON(){const A=super.toJSON();return A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this}}class lc extends qB{constructor(A=new Lt,e=new Lt,t=new Lt){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=A,this.v1=e,this.v2=t}getPoint(A,e=new Lt){const t=e,n=this.v0,i=this.v1,r=this.v2;return t.set(ac(A,n.x,i.x,r.x),ac(A,n.y,i.y,r.y)),t}copy(A){return super.copy(A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this}toJSON(){const A=super.toJSON();return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this}}class uc extends qB{constructor(A=new Mn,e=new Mn,t=new Mn){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=A,this.v1=e,this.v2=t}getPoint(A,e=new Mn){const t=e,n=this.v0,i=this.v1,r=this.v2;return t.set(ac(A,n.x,i.x,r.x),ac(A,n.y,i.y,r.y),ac(A,n.z,i.z,r.z)),t}copy(A){return super.copy(A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this}toJSON(){const A=super.toJSON();return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A}fromJSON(A){return super.fromJSON(A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this}}class wc extends qB{constructor(A=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=A}getPoint(A,e=new Lt){const t=e,n=this.points,i=(n.length-1)*A,r=Math.floor(i),s=i-r,o=n[0===r?r:r-1],a=n[r],B=n[r>n.length-2?n.length-1:r+1],c=n[r>n.length-3?n.length-1:r+2];return t.set(oc(s,o.x,a.x,B.x,c.x),oc(s,o.y,a.y,B.y,c.y)),t}copy(A){super.copy(A),this.points=[];for(let e=0,t=A.points.length;e<t;e++){const t=A.points[e];this.points.push(t.clone())}return this}toJSON(){const A=super.toJSON();A.points=[];for(let e=0,t=this.points.length;e<t;e++){const t=this.points[e];A.points.push(t.toArray())}return A}fromJSON(A){super.fromJSON(A),this.points=[];for(let e=0,t=A.points.length;e<t;e++){const t=A.points[e];this.points.push((new Lt).fromArray(t))}return this}}var hc=Object.freeze({__proto__:null,ArcCurve:Ac,CatmullRomCurve3:sc,CubicBezierCurve:cc,CubicBezierCurve3:gc,EllipseCurve:$B,LineCurve:Qc,LineCurve3:Ec,QuadraticBezierCurve:lc,QuadraticBezierCurve3:uc,SplineCurve:wc});class Cc extends qB{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(A){this.curves.push(A)}closePath(){const A=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);A.equals(e)||this.curves.push(new Qc(e,A))}getPoint(A,e){const t=A*this.getLength(),n=this.getCurveLengths();let i=0;for(;i<n.length;){if(n[i]>=t){const A=n[i]-t,r=this.curves[i],s=r.getLength(),o=0===s?0:1-A/s;return r.getPointAt(o,e)}i++}return null}getLength(){const A=this.getCurveLengths();return A[A.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const A=[];let e=0;for(let t=0,n=this.curves.length;t<n;t++)e+=this.curves[t].getLength(),A.push(e);return this.cacheLengths=A,A}getSpacedPoints(A=40){const e=[];for(let t=0;t<=A;t++)e.push(this.getPoint(t/A));return this.autoClose&&e.push(e[0]),e}getPoints(A=12){const e=[];let t;for(let n=0,i=this.curves;n<i.length;n++){const r=i[n],s=r.isEllipseCurve?2*A:r.isLineCurve||r.isLineCurve3?1:r.isSplineCurve?A*r.points.length:A,o=r.getPoints(s);for(let A=0;A<o.length;A++){const n=o[A];t&&t.equals(n)||(e.push(n),t=n)}}return this.autoClose&&e.length>1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(A){super.copy(A),this.curves=[];for(let e=0,t=A.curves.length;e<t;e++){const t=A.curves[e];this.curves.push(t.clone())}return this.autoClose=A.autoClose,this}toJSON(){const A=super.toJSON();A.autoClose=this.autoClose,A.curves=[];for(let e=0,t=this.curves.length;e<t;e++){const t=this.curves[e];A.curves.push(t.toJSON())}return A}fromJSON(A){super.fromJSON(A),this.autoClose=A.autoClose,this.curves=[];for(let e=0,t=A.curves.length;e<t;e++){const t=A.curves[e];this.curves.push((new hc[t.type]).fromJSON(t))}return this}}class dc extends Cc{constructor(A){super(),this.type="Path",this.currentPoint=new Lt,A&&this.setFromPoints(A)}setFromPoints(A){this.moveTo(A[0].x,A[0].y);for(let e=1,t=A.length;e<t;e++)this.lineTo(A[e].x,A[e].y);return this}moveTo(A,e){return this.currentPoint.set(A,e),this}lineTo(A,e){const t=new Qc(this.currentPoint.clone(),new Lt(A,e));return this.curves.push(t),this.currentPoint.set(A,e),this}quadraticCurveTo(A,e,t,n){const i=new lc(this.currentPoint.clone(),new Lt(A,e),new Lt(t,n));return this.curves.push(i),this.currentPoint.set(t,n),this}bezierCurveTo(A,e,t,n,i,r){const s=new cc(this.currentPoint.clone(),new Lt(A,e),new Lt(t,n),new Lt(i,r));return this.curves.push(s),this.currentPoint.set(i,r),this}splineThru(A){const e=[this.currentPoint.clone()].concat(A),t=new wc(e);return this.curves.push(t),this.currentPoint.copy(A[A.length-1]),this}arc(A,e,t,n,i,r){const s=this.currentPoint.x,o=this.currentPoint.y;return this.absarc(A+s,e+o,t,n,i,r),this}absarc(A,e,t,n,i,r){return this.absellipse(A,e,t,t,n,i,r),this}ellipse(A,e,t,n,i,r,s,o){const a=this.currentPoint.x,B=this.currentPoint.y;return this.absellipse(A+a,e+B,t,n,i,r,s,o),this}absellipse(A,e,t,n,i,r,s,o){const a=new $B(A,e,t,n,i,r,s,o);if(this.curves.length>0){const A=a.getPoint(0);A.equals(this.currentPoint)||this.lineTo(A.x,A.y)}this.curves.push(a);const B=a.getPoint(1);return this.currentPoint.copy(B),this}copy(A){return super.copy(A),this.currentPoint.copy(A.currentPoint),this}toJSON(){const A=super.toJSON();return A.currentPoint=this.currentPoint.toArray(),A}fromJSON(A){return super.fromJSON(A),this.currentPoint.fromArray(A.currentPoint),this}}class Ic extends ur{constructor(A=[new Lt(0,-.5),new Lt(.5,0),new Lt(0,.5)],e=12,t=0,n=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:A,segments:e,phiStart:t,phiLength:n},e=Math.floor(e),n=Gt(n,0,2*Math.PI);const i=[],r=[],s=[],o=[],a=[],B=1/e,c=new Mn,g=new Lt,Q=new Mn,E=new Mn,l=new Mn;let u=0,w=0;for(let e=0;e<=A.length-1;e++)switch(e){case 0:u=A[e+1].x-A[e].x,w=A[e+1].y-A[e].y,Q.x=1*w,Q.y=-u,Q.z=0*w,l.copy(Q),Q.normalize(),o.push(Q.x,Q.y,Q.z);break;case A.length-1:o.push(l.x,l.y,l.z);break;default:u=A[e+1].x-A[e].x,w=A[e+1].y-A[e].y,Q.x=1*w,Q.y=-u,Q.z=0*w,E.copy(Q),Q.x+=l.x,Q.y+=l.y,Q.z+=l.z,Q.normalize(),o.push(Q.x,Q.y,Q.z),l.copy(E)}for(let i=0;i<=e;i++){const Q=t+i*B*n,E=Math.sin(Q),l=Math.cos(Q);for(let t=0;t<=A.length-1;t++){c.x=A[t].x*E,c.y=A[t].y,c.z=A[t].x*l,r.push(c.x,c.y,c.z),g.x=i/e,g.y=t/(A.length-1),s.push(g.x,g.y);const n=o[3*t+0]*E,B=o[3*t+1],Q=o[3*t+0]*l;a.push(n,B,Q)}}for(let t=0;t<e;t++)for(let e=0;e<A.length-1;e++){const n=e+t*A.length,r=n,s=n+A.length,o=n+A.length+1,a=n+1;i.push(r,s,a),i.push(o,a,s)}this.setIndex(i),this.setAttribute("position",new sr(r,3)),this.setAttribute("uv",new sr(s,2)),this.setAttribute("normal",new sr(a,3))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new Ic(A.points,A.segments,A.phiStart,A.phiLength)}}class Mc extends Ic{constructor(A=1,e=1,t=4,n=8){const i=new dc;i.absarc(0,-e/2,A,1.5*Math.PI,0),i.absarc(0,e/2,A,0,.5*Math.PI),super(i.getPoints(t),n),this.type="CapsuleGeometry",this.parameters={radius:A,height:e,capSegments:t,radialSegments:n}}static fromJSON(A){return new Mc(A.radius,A.length,A.capSegments,A.radialSegments)}}class pc extends ur{constructor(A=1,e=32,t=0,n=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:A,segments:e,thetaStart:t,thetaLength:n},e=Math.max(3,e);const i=[],r=[],s=[],o=[],a=new Mn,B=new Lt;r.push(0,0,0),s.push(0,0,1),o.push(.5,.5);for(let i=0,c=3;i<=e;i++,c+=3){const g=t+i/e*n;a.x=A*Math.cos(g),a.y=A*Math.sin(g),r.push(a.x,a.y,a.z),s.push(0,0,1),B.x=(r[c]/A+1)/2,B.y=(r[c+1]/A+1)/2,o.push(B.x,B.y)}for(let A=1;A<=e;A++)i.push(A,A+1,0);this.setIndex(i),this.setAttribute("position",new sr(r,3)),this.setAttribute("normal",new sr(s,3)),this.setAttribute("uv",new sr(o,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new pc(A.radius,A.segments,A.thetaStart,A.thetaLength)}}class mc extends ur{constructor(A=1,e=1,t=1,n=32,i=1,r=!1,s=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:A,radiusBottom:e,height:t,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:s,thetaLength:o};const a=this;n=Math.floor(n),i=Math.floor(i);const B=[],c=[],g=[],Q=[];let E=0;const l=[],u=t/2;let w=0;function h(t){const i=E,r=new Lt,l=new Mn;let h=0;const C=!0===t?A:e,d=!0===t?1:-1;for(let A=1;A<=n;A++)c.push(0,u*d,0),g.push(0,d,0),Q.push(.5,.5),E++;const I=E;for(let A=0;A<=n;A++){const e=A/n*o+s,t=Math.cos(e),i=Math.sin(e);l.x=C*i,l.y=u*d,l.z=C*t,c.push(l.x,l.y,l.z),g.push(0,d,0),r.x=.5*t+.5,r.y=.5*i*d+.5,Q.push(r.x,r.y),E++}for(let A=0;A<n;A++){const e=i+A,n=I+A;!0===t?B.push(n,n+1,e):B.push(n+1,n,e),h+=3}a.addGroup(w,h,!0===t?1:2),w+=h}!function(){const r=new Mn,h=new Mn;let C=0;const d=(e-A)/t;for(let a=0;a<=i;a++){const B=[],w=a/i,C=w*(e-A)+A;for(let A=0;A<=n;A++){const e=A/n,i=e*o+s,a=Math.sin(i),l=Math.cos(i);h.x=C*a,h.y=-w*t+u,h.z=C*l,c.push(h.x,h.y,h.z),r.set(a,d,l).normalize(),g.push(r.x,r.y,r.z),Q.push(e,1-w),B.push(E++)}l.push(B)}for(let A=0;A<n;A++)for(let e=0;e<i;e++){const t=l[e][A],n=l[e+1][A],i=l[e+1][A+1],r=l[e][A+1];B.push(t,n,r),B.push(n,i,r),C+=6}a.addGroup(w,C,0),w+=C}(),!1===r&&(A>0&&h(!0),e>0&&h(!1)),this.setIndex(B),this.setAttribute("position",new sr(c,3)),this.setAttribute("normal",new sr(g,3)),this.setAttribute("uv",new sr(Q,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new mc(A.radiusTop,A.radiusBottom,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class Fc extends mc{constructor(A=1,e=1,t=32,n=1,i=!1,r=0,s=2*Math.PI){super(0,A,e,t,n,i,r,s),this.type="ConeGeometry",this.parameters={radius:A,height:e,radialSegments:t,heightSegments:n,openEnded:i,thetaStart:r,thetaLength:s}}static fromJSON(A){return new Fc(A.radius,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class Dc extends ur{constructor(A=[],e=[],t=1,n=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:A,indices:e,radius:t,detail:n};const i=[],r=[];function s(A,e,t,n){const i=n+1,r=[];for(let n=0;n<=i;n++){r[n]=[];const s=A.clone().lerp(t,n/i),o=e.clone().lerp(t,n/i),a=i-n;for(let A=0;A<=a;A++)r[n][A]=0===A&&n===i?s:s.clone().lerp(o,A/a)}for(let A=0;A<i;A++)for(let e=0;e<2*(i-A)-1;e++){const t=Math.floor(e/2);e%2==0?(o(r[A][t+1]),o(r[A+1][t]),o(r[A][t])):(o(r[A][t+1]),o(r[A+1][t+1]),o(r[A+1][t]))}}function o(A){i.push(A.x,A.y,A.z)}function a(e,t){const n=3*e;t.x=A[n+0],t.y=A[n+1],t.z=A[n+2]}function B(A,e,t,n){n<0&&1===A.x&&(r[e]=A.x-1),0===t.x&&0===t.z&&(r[e]=n/2/Math.PI+.5)}function c(A){return Math.atan2(A.z,-A.x)}!function(A){const t=new Mn,n=new Mn,i=new Mn;for(let r=0;r<e.length;r+=3)a(e[r+0],t),a(e[r+1],n),a(e[r+2],i),s(t,n,i,A)}(n),function(A){const e=new Mn;for(let t=0;t<i.length;t+=3)e.x=i[t+0],e.y=i[t+1],e.z=i[t+2],e.normalize().multiplyScalar(A),i[t+0]=e.x,i[t+1]=e.y,i[t+2]=e.z}(t),function(){const A=new Mn;for(let t=0;t<i.length;t+=3){A.x=i[t+0],A.y=i[t+1],A.z=i[t+2];const n=c(A)/2/Math.PI+.5,s=(e=A,Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))/Math.PI+.5);r.push(n,1-s)}var e;(function(){const A=new Mn,e=new Mn,t=new Mn,n=new Mn,s=new Lt,o=new Lt,a=new Lt;for(let g=0,Q=0;g<i.length;g+=9,Q+=6){A.set(i[g+0],i[g+1],i[g+2]),e.set(i[g+3],i[g+4],i[g+5]),t.set(i[g+6],i[g+7],i[g+8]),s.set(r[Q+0],r[Q+1]),o.set(r[Q+2],r[Q+3]),a.set(r[Q+4],r[Q+5]),n.copy(A).add(e).add(t).divideScalar(3);const E=c(n);B(s,Q+0,A,E),B(o,Q+2,e,E),B(a,Q+4,t,E)}})(),function(){for(let A=0;A<r.length;A+=6){const e=r[A+0],t=r[A+2],n=r[A+4],i=Math.max(e,t,n),s=Math.min(e,t,n);i>.9&&s<.1&&(e<.2&&(r[A+0]+=1),t<.2&&(r[A+2]+=1),n<.2&&(r[A+4]+=1))}}()}(),this.setAttribute("position",new sr(i,3)),this.setAttribute("normal",new sr(i.slice(),3)),this.setAttribute("uv",new sr(r,2)),0===n?this.computeVertexNormals():this.normalizeNormals()}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new Dc(A.vertices,A.indices,A.radius,A.details)}}class Yc extends Dc{constructor(A=1,e=0){const t=(1+Math.sqrt(5))/2,n=1/t;super([-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,-n,-t,0,-n,t,0,n,-t,0,n,t,-n,-t,0,-n,t,0,n,-t,0,n,t,0,-t,0,-n,t,0,-n,-t,0,n,t,0,n],[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],A,e),this.type="DodecahedronGeometry",this.parameters={radius:A,detail:e}}static fromJSON(A){return new Yc(A.radius,A.detail)}}const fc=new Mn,Nc=new Mn,Uc=new Mn,yc=new Gi;class xc extends ur{constructor(A=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:A,thresholdAngle:e},null!==A){const t=4,n=Math.pow(10,t),i=Math.cos(xt*e),r=A.getIndex(),s=A.getAttribute("position"),o=r?r.count:s.count,a=[0,0,0],B=["a","b","c"],c=new Array(3),g={},Q=[];for(let A=0;A<o;A+=3){r?(a[0]=r.getX(A),a[1]=r.getX(A+1),a[2]=r.getX(A+2)):(a[0]=A,a[1]=A+1,a[2]=A+2);const{a:e,b:t,c:o}=yc;if(e.fromBufferAttribute(s,a[0]),t.fromBufferAttribute(s,a[1]),o.fromBufferAttribute(s,a[2]),yc.getNormal(Uc),c[0]=`${Math.round(e.x*n)},${Math.round(e.y*n)},${Math.round(e.z*n)}`,c[1]=`${Math.round(t.x*n)},${Math.round(t.y*n)},${Math.round(t.z*n)}`,c[2]=`${Math.round(o.x*n)},${Math.round(o.y*n)},${Math.round(o.z*n)}`,c[0]!==c[1]&&c[1]!==c[2]&&c[2]!==c[0])for(let A=0;A<3;A++){const e=(A+1)%3,t=c[A],n=c[e],r=yc[B[A]],s=yc[B[e]],o=`${t}_${n}`,E=`${n}_${t}`;E in g&&g[E]?(Uc.dot(g[E].normal)<=i&&(Q.push(r.x,r.y,r.z),Q.push(s.x,s.y,s.z)),g[E]=null):o in g||(g[o]={index0:a[A],index1:a[e],normal:Uc.clone()})}}for(const A in g)if(g[A]){const{index0:e,index1:t}=g[A];fc.fromBufferAttribute(s,e),Nc.fromBufferAttribute(s,t),Q.push(fc.x,fc.y,fc.z),Q.push(Nc.x,Nc.y,Nc.z)}this.setAttribute("position",new sr(Q,3))}}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}}class Tc extends dc{constructor(A){super(A),this.uuid=Rt(),this.type="Shape",this.holes=[]}getPointsHoles(A){const e=[];for(let t=0,n=this.holes.length;t<n;t++)e[t]=this.holes[t].getPoints(A);return e}extractPoints(A){return{shape:this.getPoints(A),holes:this.getPointsHoles(A)}}copy(A){super.copy(A),this.holes=[];for(let e=0,t=A.holes.length;e<t;e++){const t=A.holes[e];this.holes.push(t.clone())}return this}toJSON(){const A=super.toJSON();A.uuid=this.uuid,A.holes=[];for(let e=0,t=this.holes.length;e<t;e++){const t=this.holes[e];A.holes.push(t.toJSON())}return A}fromJSON(A){super.fromJSON(A),this.uuid=A.uuid,this.holes=[];for(let e=0,t=A.holes.length;e<t;e++){const t=A.holes[e];this.holes.push((new dc).fromJSON(t))}return this}}const Rc=function(A,e,t=2){const n=e&&e.length,i=n?e[0]*t:A.length;let r=Gc(A,0,i,t,!0);const s=[];if(!r||r.next===r.prev)return s;let o,a,B,c,g,Q,E;if(n&&(r=function(A,e,t,n){const i=[];let r,s,o,a,B;for(r=0,s=e.length;r<s;r++)o=e[r]*n,a=r<s-1?e[r+1]*n:A.length,B=Gc(A,o,a,n,!1),B===B.next&&(B.steiner=!0),i.push(Oc(B));for(i.sort(zc),r=0;r<i.length;r++)t=vc(i[r],t);return t}(A,e,r,t)),A.length>80*t){o=B=A[0],a=c=A[1];for(let e=t;e<i;e+=t)g=A[e],Q=A[e+1],g<o&&(o=g),Q<a&&(a=Q),g>B&&(B=g),Q>c&&(c=Q);E=Math.max(B-o,c-a),E=0!==E?32767/E:0}return Hc(r,s,t,o,a,E,0),s};function Gc(A,e,t,n,i){let r,s;if(i===function(A,e,t,n){let i=0;for(let r=e,s=t-n;r<t;r+=n)i+=(A[s]-A[r])*(A[r+1]+A[s+1]),s=r;return i}(A,e,t,n)>0)for(r=e;r<t;r+=n)s=eg(r,A[r],A[r+1],s);else for(r=t-n;r>=e;r-=n)s=eg(r,A[r],A[r+1],s);return s&&Xc(s,s.next)&&(tg(s),s=s.next),s}function Sc(A,e){if(!A)return A;e||(e=A);let t,n=A;do{if(t=!1,n.steiner||!Xc(n,n.next)&&0!==Kc(n.prev,n,n.next))n=n.next;else{if(tg(n),n=e=n.prev,n===n.next)break;t=!0}}while(t||n!==e);return e}function Hc(A,e,t,n,i,r,s){if(!A)return;!s&&r&&function(A,e,t,n){let i=A;do{0===i.z&&(i.z=Pc(i.x,i.y,e,t,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==A);i.prevZ.nextZ=null,i.prevZ=null,function(A){let e,t,n,i,r,s,o,a,B=1;do{for(t=A,A=null,r=null,s=0;t;){for(s++,n=t,o=0,e=0;e<B&&(o++,n=n.nextZ,n);e++);for(a=B;o>0||a>0&&n;)0!==o&&(0===a||!n||t.z<=n.z)?(i=t,t=t.nextZ,o--):(i=n,n=n.nextZ,a--),r?r.nextZ=i:A=i,i.prevZ=r,r=i;t=n}r.nextZ=null,B*=2}while(s>1)}(i)}(A,n,i,r);let o,a,B=A;for(;A.prev!==A.next;)if(o=A.prev,a=A.next,r?kc(A,n,i,r):bc(A))e.push(o.i/t|0),e.push(A.i/t|0),e.push(a.i/t|0),tg(A),A=a.next,B=a.next;else if((A=a)===B){s?1===s?Hc(A=Jc(Sc(A),e,t),e,t,n,i,r,2):2===s&&jc(A,e,t,n,i,r):Hc(Sc(A),e,t,n,i,r,1);break}}function bc(A){const e=A.prev,t=A,n=A.next;if(Kc(e,t,n)>=0)return!1;const i=e.x,r=t.x,s=n.x,o=e.y,a=t.y,B=n.y,c=i<r?i<s?i:s:r<s?r:s,g=o<a?o<B?o:B:a<B?a:B,Q=i>r?i>s?i:s:r>s?r:s,E=o>a?o>B?o:B:a>B?a:B;let l=n.next;for(;l!==e;){if(l.x>=c&&l.x<=Q&&l.y>=g&&l.y<=E&&Wc(i,o,r,a,s,B,l.x,l.y)&&Kc(l.prev,l,l.next)>=0)return!1;l=l.next}return!0}function kc(A,e,t,n){const i=A.prev,r=A,s=A.next;if(Kc(i,r,s)>=0)return!1;const o=i.x,a=r.x,B=s.x,c=i.y,g=r.y,Q=s.y,E=o<a?o<B?o:B:a<B?a:B,l=c<g?c<Q?c:Q:g<Q?g:Q,u=o>a?o>B?o:B:a>B?a:B,w=c>g?c>Q?c:Q:g>Q?g:Q,h=Pc(E,l,e,t,n),C=Pc(u,w,e,t,n);let d=A.prevZ,I=A.nextZ;for(;d&&d.z>=h&&I&&I.z<=C;){if(d.x>=E&&d.x<=u&&d.y>=l&&d.y<=w&&d!==i&&d!==s&&Wc(o,c,a,g,B,Q,d.x,d.y)&&Kc(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,I.x>=E&&I.x<=u&&I.y>=l&&I.y<=w&&I!==i&&I!==s&&Wc(o,c,a,g,B,Q,I.x,I.y)&&Kc(I.prev,I,I.next)>=0)return!1;I=I.nextZ}for(;d&&d.z>=h;){if(d.x>=E&&d.x<=u&&d.y>=l&&d.y<=w&&d!==i&&d!==s&&Wc(o,c,a,g,B,Q,d.x,d.y)&&Kc(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;I&&I.z<=C;){if(I.x>=E&&I.x<=u&&I.y>=l&&I.y<=w&&I!==i&&I!==s&&Wc(o,c,a,g,B,Q,I.x,I.y)&&Kc(I.prev,I,I.next)>=0)return!1;I=I.nextZ}return!0}function Jc(A,e,t){let n=A;do{const i=n.prev,r=n.next.next;!Xc(i,r)&&Zc(i,n,n.next,r)&&$c(i,r)&&$c(r,i)&&(e.push(i.i/t|0),e.push(n.i/t|0),e.push(r.i/t|0),tg(n),tg(n.next),n=A=r),n=n.next}while(n!==A);return Sc(n)}function jc(A,e,t,n,i,r){let s=A;do{let A=s.next.next;for(;A!==s.prev;){if(s.i!==A.i&&Vc(s,A)){let o=Ag(s,A);return s=Sc(s,s.next),o=Sc(o,o.next),Hc(s,e,t,n,i,r,0),void Hc(o,e,t,n,i,r,0)}A=A.next}s=s.next}while(s!==A)}function zc(A,e){return A.x-e.x}function vc(A,e){const t=function(A,e){let t,n=e,i=-1/0;const r=A.x,s=A.y;do{if(s<=n.y&&s>=n.next.y&&n.next.y!==n.y){const A=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(A<=r&&A>i&&(i=A,t=n.x<n.next.x?n:n.next,A===r))return t}n=n.next}while(n!==e);if(!t)return null;const o=t,a=t.x,B=t.y;let c,g=1/0;n=t;do{r>=n.x&&n.x>=a&&r!==n.x&&Wc(s<B?r:i,s,a,B,s<B?i:r,s,n.x,n.y)&&(c=Math.abs(s-n.y)/(r-n.x),$c(n,A)&&(c<g||c===g&&(n.x>t.x||n.x===t.x&&Lc(t,n)))&&(t=n,g=c)),n=n.next}while(n!==o);return t}(A,e);if(!t)return e;const n=Ag(t,A);return Sc(n,n.next),Sc(t,t.next)}function Lc(A,e){return Kc(A.prev,A,e.prev)<0&&Kc(e.next,A,A.next)<0}function Pc(A,e,t,n,i){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=(A-t)*i|0)|A<<8))|A<<4))|A<<2))|A<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Oc(A){let e=A,t=A;do{(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next}while(e!==A);return t}function Wc(A,e,t,n,i,r,s,o){return(i-s)*(e-o)>=(A-s)*(r-o)&&(A-s)*(n-o)>=(t-s)*(e-o)&&(t-s)*(r-o)>=(i-s)*(n-o)}function Vc(A,e){return A.next.i!==e.i&&A.prev.i!==e.i&&!function(A,e){let t=A;do{if(t.i!==A.i&&t.next.i!==A.i&&t.i!==e.i&&t.next.i!==e.i&&Zc(t,t.next,A,e))return!0;t=t.next}while(t!==A);return!1}(A,e)&&($c(A,e)&&$c(e,A)&&function(A,e){let t=A,n=!1;const i=(A.x+e.x)/2,r=(A.y+e.y)/2;do{t.y>r!=t.next.y>r&&t.next.y!==t.y&&i<(t.next.x-t.x)*(r-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next}while(t!==A);return n}(A,e)&&(Kc(A.prev,A,e.prev)||Kc(A,e.prev,e))||Xc(A,e)&&Kc(A.prev,A,A.next)>0&&Kc(e.prev,e,e.next)>0)}function Kc(A,e,t){return(e.y-A.y)*(t.x-e.x)-(e.x-A.x)*(t.y-e.y)}function Xc(A,e){return A.x===e.x&&A.y===e.y}function Zc(A,e,t,n){const i=qc(Kc(A,e,t)),r=qc(Kc(A,e,n)),s=qc(Kc(t,n,A)),o=qc(Kc(t,n,e));return i!==r&&s!==o||(!(0!==i||!_c(A,t,e))||(!(0!==r||!_c(A,n,e))||(!(0!==s||!_c(t,A,n))||!(0!==o||!_c(t,e,n)))))}function _c(A,e,t){return e.x<=Math.max(A.x,t.x)&&e.x>=Math.min(A.x,t.x)&&e.y<=Math.max(A.y,t.y)&&e.y>=Math.min(A.y,t.y)}function qc(A){return A>0?1:A<0?-1:0}function $c(A,e){return Kc(A.prev,A,A.next)<0?Kc(A,e,A.next)>=0&&Kc(A,A.prev,e)>=0:Kc(A,e,A.prev)<0||Kc(A,A.next,e)<0}function Ag(A,e){const t=new ng(A.i,A.x,A.y),n=new ng(e.i,e.x,e.y),i=A.next,r=e.prev;return A.next=e,e.prev=A,t.next=i,i.prev=t,n.next=t,t.prev=n,r.next=n,n.prev=r,n}function eg(A,e,t,n){const i=new ng(A,e,t);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function tg(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function ng(A,e,t){this.i=A,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class ig{static area(A){const e=A.length;let t=0;for(let n=e-1,i=0;i<e;n=i++)t+=A[n].x*A[i].y-A[i].x*A[n].y;return.5*t}static isClockWise(A){return ig.area(A)<0}static triangulateShape(A,e){const t=[],n=[],i=[];rg(A),sg(t,A);let r=A.length;e.forEach(rg);for(let A=0;A<e.length;A++)n.push(r),r+=e[A].length,sg(t,e[A]);const s=Rc(t,n);for(let A=0;A<s.length;A+=3)i.push(s.slice(A,A+3));return i}}function rg(A){const e=A.length;e>2&&A[e-1].equals(A[0])&&A.pop()}function sg(A,e){for(let t=0;t<e.length;t++)A.push(e[t].x),A.push(e[t].y)}class og extends ur{constructor(A=new Tc([new Lt(.5,.5),new Lt(-.5,.5),new Lt(-.5,-.5),new Lt(.5,-.5)]),e={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:A,options:e},A=Array.isArray(A)?A:[A];const t=this,n=[],i=[];for(let e=0,t=A.length;e<t;e++){r(A[e])}function r(A){const r=[],s=void 0!==e.curveSegments?e.curveSegments:12,o=void 0!==e.steps?e.steps:1,a=void 0!==e.depth?e.depth:1;let B=void 0===e.bevelEnabled||e.bevelEnabled,c=void 0!==e.bevelThickness?e.bevelThickness:.2,g=void 0!==e.bevelSize?e.bevelSize:c-.1,Q=void 0!==e.bevelOffset?e.bevelOffset:0,E=void 0!==e.bevelSegments?e.bevelSegments:3;const l=e.extrudePath,u=void 0!==e.UVGenerator?e.UVGenerator:ag;let w,h,C,d,I,M=!1;l&&(w=l.getSpacedPoints(o),M=!0,B=!1,h=l.computeFrenetFrames(o,!1),C=new Mn,d=new Mn,I=new Mn),B||(E=0,c=0,g=0,Q=0);const p=A.extractPoints(s);let m=p.shape;const F=p.holes;if(!ig.isClockWise(m)){m=m.reverse();for(let A=0,e=F.length;A<e;A++){const e=F[A];ig.isClockWise(e)&&(F[A]=e.reverse())}}const D=ig.triangulateShape(m,F),Y=m;for(let A=0,e=F.length;A<e;A++){const e=F[A];m=m.concat(e)}function f(A,e,t){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),A.clone().addScaledVector(e,t)}const N=m.length,U=D.length;function y(A,e,t){let n,i,r;const s=A.x-e.x,o=A.y-e.y,a=t.x-A.x,B=t.y-A.y,c=s*s+o*o,g=s*B-o*a;if(Math.abs(g)>Number.EPSILON){const g=Math.sqrt(c),Q=Math.sqrt(a*a+B*B),E=e.x-o/g,l=e.y+s/g,u=((t.x-B/Q-E)*B-(t.y+a/Q-l)*a)/(s*B-o*a);n=E+s*u-A.x,i=l+o*u-A.y;const w=n*n+i*i;if(w<=2)return new Lt(n,i);r=Math.sqrt(w/2)}else{let A=!1;s>Number.EPSILON?a>Number.EPSILON&&(A=!0):s<-Number.EPSILON?a<-Number.EPSILON&&(A=!0):Math.sign(o)===Math.sign(B)&&(A=!0),A?(n=-o,i=s,r=Math.sqrt(c)):(n=s,i=o,r=Math.sqrt(c/2))}return new Lt(n/r,i/r)}const x=[];for(let A=0,e=Y.length,t=e-1,n=A+1;A<e;A++,t++,n++)t===e&&(t=0),n===e&&(n=0),x[A]=y(Y[A],Y[t],Y[n]);const T=[];let R,G=x.concat();for(let A=0,e=F.length;A<e;A++){const e=F[A];R=[];for(let A=0,t=e.length,n=t-1,i=A+1;A<t;A++,n++,i++)n===t&&(n=0),i===t&&(i=0),R[A]=y(e[A],e[n],e[i]);T.push(R),G=G.concat(R)}for(let A=0;A<E;A++){const e=A/E,t=c*Math.cos(e*Math.PI/2),n=g*Math.sin(e*Math.PI/2)+Q;for(let A=0,e=Y.length;A<e;A++){const e=f(Y[A],x[A],n);b(e.x,e.y,-t)}for(let A=0,e=F.length;A<e;A++){const e=F[A];R=T[A];for(let A=0,i=e.length;A<i;A++){const i=f(e[A],R[A],n);b(i.x,i.y,-t)}}}const S=g+Q;for(let A=0;A<N;A++){const e=B?f(m[A],G[A],S):m[A];M?(d.copy(h.normals[0]).multiplyScalar(e.x),C.copy(h.binormals[0]).multiplyScalar(e.y),I.copy(w[0]).add(d).add(C),b(I.x,I.y,I.z)):b(e.x,e.y,0)}for(let A=1;A<=o;A++)for(let e=0;e<N;e++){const t=B?f(m[e],G[e],S):m[e];M?(d.copy(h.normals[A]).multiplyScalar(t.x),C.copy(h.binormals[A]).multiplyScalar(t.y),I.copy(w[A]).add(d).add(C),b(I.x,I.y,I.z)):b(t.x,t.y,a/o*A)}for(let A=E-1;A>=0;A--){const e=A/E,t=c*Math.cos(e*Math.PI/2),n=g*Math.sin(e*Math.PI/2)+Q;for(let A=0,e=Y.length;A<e;A++){const e=f(Y[A],x[A],n);b(e.x,e.y,a+t)}for(let A=0,e=F.length;A<e;A++){const e=F[A];R=T[A];for(let A=0,i=e.length;A<i;A++){const i=f(e[A],R[A],n);M?b(i.x,i.y+w[o-1].y,w[o-1].x+t):b(i.x,i.y,a+t)}}}function H(A,e){let t=A.length;for(;--t>=0;){const n=t;let i=t-1;i<0&&(i=A.length-1);for(let A=0,t=o+2*E;A<t;A++){const t=N*A,r=N*(A+1);J(e+n+t,e+i+t,e+i+r,e+n+r)}}}function b(A,e,t){r.push(A),r.push(e),r.push(t)}function k(A,e,i){j(A),j(e),j(i);const r=n.length/3,s=u.generateTopUV(t,n,r-3,r-2,r-1);z(s[0]),z(s[1]),z(s[2])}function J(A,e,i,r){j(A),j(e),j(r),j(e),j(i),j(r);const s=n.length/3,o=u.generateSideWallUV(t,n,s-6,s-3,s-2,s-1);z(o[0]),z(o[1]),z(o[3]),z(o[1]),z(o[2]),z(o[3])}function j(A){n.push(r[3*A+0]),n.push(r[3*A+1]),n.push(r[3*A+2])}function z(A){i.push(A.x),i.push(A.y)}!function(){const A=n.length/3;if(B){let A=0,e=N*A;for(let A=0;A<U;A++){const t=D[A];k(t[2]+e,t[1]+e,t[0]+e)}A=o+2*E,e=N*A;for(let A=0;A<U;A++){const t=D[A];k(t[0]+e,t[1]+e,t[2]+e)}}else{for(let A=0;A<U;A++){const e=D[A];k(e[2],e[1],e[0])}for(let A=0;A<U;A++){const e=D[A];k(e[0]+N*o,e[1]+N*o,e[2]+N*o)}}t.addGroup(A,n.length/3-A,0)}(),function(){const A=n.length/3;let e=0;H(Y,e),e+=Y.length;for(let A=0,t=F.length;A<t;A++){const t=F[A];H(t,e),e+=t.length}t.addGroup(A,n.length/3-A,1)}()}this.setAttribute("position",new sr(n,3)),this.setAttribute("uv",new sr(i,2)),this.computeVertexNormals()}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}toJSON(){const A=super.toJSON();return function(A,e,t){if(t.shapes=[],Array.isArray(A))for(let e=0,n=A.length;e<n;e++){const n=A[e];t.shapes.push(n.uuid)}else t.shapes.push(A.uuid);t.options=Object.assign({},e),void 0!==e.extrudePath&&(t.options.extrudePath=e.extrudePath.toJSON());return t}(this.parameters.shapes,this.parameters.options,A)}static fromJSON(A,e){const t=[];for(let n=0,i=A.shapes.length;n<i;n++){const i=e[A.shapes[n]];t.push(i)}const n=A.options.extrudePath;return void 0!==n&&(A.options.extrudePath=(new hc[n.type]).fromJSON(n)),new og(t,A.options)}}const ag={generateTopUV:function(A,e,t,n,i){const r=e[3*t],s=e[3*t+1],o=e[3*n],a=e[3*n+1],B=e[3*i],c=e[3*i+1];return[new Lt(r,s),new Lt(o,a),new Lt(B,c)]},generateSideWallUV:function(A,e,t,n,i,r){const s=e[3*t],o=e[3*t+1],a=e[3*t+2],B=e[3*n],c=e[3*n+1],g=e[3*n+2],Q=e[3*i],E=e[3*i+1],l=e[3*i+2],u=e[3*r],w=e[3*r+1],h=e[3*r+2];return Math.abs(o-c)<Math.abs(s-B)?[new Lt(s,1-a),new Lt(B,1-g),new Lt(Q,1-l),new Lt(u,1-h)]:[new Lt(o,1-a),new Lt(c,1-g),new Lt(E,1-l),new Lt(w,1-h)]}};class Bg extends Dc{constructor(A=1,e=0){const t=(1+Math.sqrt(5))/2;super([-1,t,0,1,t,0,-1,-t,0,1,-t,0,0,-1,t,0,1,t,0,-1,-t,0,1,-t,t,0,-1,t,0,1,-t,0,-1,-t,0,1],[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],A,e),this.type="IcosahedronGeometry",this.parameters={radius:A,detail:e}}static fromJSON(A){return new Bg(A.radius,A.detail)}}class cg extends Dc{constructor(A=1,e=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],A,e),this.type="OctahedronGeometry",this.parameters={radius:A,detail:e}}static fromJSON(A){return new cg(A.radius,A.detail)}}class gg extends ur{constructor(A=.5,e=1,t=32,n=1,i=0,r=2*Math.PI){super(),this.type="RingGeometry",this.parameters={innerRadius:A,outerRadius:e,thetaSegments:t,phiSegments:n,thetaStart:i,thetaLength:r},t=Math.max(3,t);const s=[],o=[],a=[],B=[];let c=A;const g=(e-A)/(n=Math.max(1,n)),Q=new Mn,E=new Lt;for(let A=0;A<=n;A++){for(let A=0;A<=t;A++){const n=i+A/t*r;Q.x=c*Math.cos(n),Q.y=c*Math.sin(n),o.push(Q.x,Q.y,Q.z),a.push(0,0,1),E.x=(Q.x/e+1)/2,E.y=(Q.y/e+1)/2,B.push(E.x,E.y)}c+=g}for(let A=0;A<n;A++){const e=A*(t+1);for(let A=0;A<t;A++){const n=A+e,i=n,r=n+t+1,o=n+t+2,a=n+1;s.push(i,r,a),s.push(r,o,a)}}this.setIndex(s),this.setAttribute("position",new sr(o,3)),this.setAttribute("normal",new sr(a,3)),this.setAttribute("uv",new sr(B,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new gg(A.innerRadius,A.outerRadius,A.thetaSegments,A.phiSegments,A.thetaStart,A.thetaLength)}}class Qg extends ur{constructor(A=new Tc([new Lt(0,.5),new Lt(-.5,-.5),new Lt(.5,-.5)]),e=12){super(),this.type="ShapeGeometry",this.parameters={shapes:A,curveSegments:e};const t=[],n=[],i=[],r=[];let s=0,o=0;if(!1===Array.isArray(A))a(A);else for(let e=0;e<A.length;e++)a(A[e]),this.addGroup(s,o,e),s+=o,o=0;function a(A){const s=n.length/3,a=A.extractPoints(e);let B=a.shape;const c=a.holes;!1===ig.isClockWise(B)&&(B=B.reverse());for(let A=0,e=c.length;A<e;A++){const e=c[A];!0===ig.isClockWise(e)&&(c[A]=e.reverse())}const g=ig.triangulateShape(B,c);for(let A=0,e=c.length;A<e;A++){const e=c[A];B=B.concat(e)}for(let A=0,e=B.length;A<e;A++){const e=B[A];n.push(e.x,e.y,0),i.push(0,0,1),r.push(e.x,e.y)}for(let A=0,e=g.length;A<e;A++){const e=g[A],n=e[0]+s,i=e[1]+s,r=e[2]+s;t.push(n,i,r),o+=3}}this.setIndex(t),this.setAttribute("position",new sr(n,3)),this.setAttribute("normal",new sr(i,3)),this.setAttribute("uv",new sr(r,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}toJSON(){const A=super.toJSON();return function(A,e){if(e.shapes=[],Array.isArray(A))for(let t=0,n=A.length;t<n;t++){const n=A[t];e.shapes.push(n.uuid)}else e.shapes.push(A.uuid);return e}(this.parameters.shapes,A)}static fromJSON(A,e){const t=[];for(let n=0,i=A.shapes.length;n<i;n++){const i=e[A.shapes[n]];t.push(i)}return new Qg(t,A.curveSegments)}}class Eg extends ur{constructor(A=1,e=32,t=16,n=0,i=2*Math.PI,r=0,s=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:A,widthSegments:e,heightSegments:t,phiStart:n,phiLength:i,thetaStart:r,thetaLength:s},e=Math.max(3,Math.floor(e)),t=Math.max(2,Math.floor(t));const o=Math.min(r+s,Math.PI);let a=0;const B=[],c=new Mn,g=new Mn,Q=[],E=[],l=[],u=[];for(let Q=0;Q<=t;Q++){const w=[],h=Q/t;let C=0;0===Q&&0===r?C=.5/e:Q===t&&o===Math.PI&&(C=-.5/e);for(let t=0;t<=e;t++){const o=t/e;c.x=-A*Math.cos(n+o*i)*Math.sin(r+h*s),c.y=A*Math.cos(r+h*s),c.z=A*Math.sin(n+o*i)*Math.sin(r+h*s),E.push(c.x,c.y,c.z),g.copy(c).normalize(),l.push(g.x,g.y,g.z),u.push(o+C,1-h),w.push(a++)}B.push(w)}for(let A=0;A<t;A++)for(let n=0;n<e;n++){const e=B[A][n+1],i=B[A][n],s=B[A+1][n],a=B[A+1][n+1];(0!==A||r>0)&&Q.push(e,i,a),(A!==t-1||o<Math.PI)&&Q.push(i,s,a)}this.setIndex(Q),this.setAttribute("position",new sr(E,3)),this.setAttribute("normal",new sr(l,3)),this.setAttribute("uv",new sr(u,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new Eg(A.radius,A.widthSegments,A.heightSegments,A.phiStart,A.phiLength,A.thetaStart,A.thetaLength)}}class lg extends Dc{constructor(A=1,e=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],A,e),this.type="TetrahedronGeometry",this.parameters={radius:A,detail:e}}static fromJSON(A){return new lg(A.radius,A.detail)}}class ug extends ur{constructor(A=1,e=.4,t=12,n=48,i=2*Math.PI){super(),this.type="TorusGeometry",this.parameters={radius:A,tube:e,radialSegments:t,tubularSegments:n,arc:i},t=Math.floor(t),n=Math.floor(n);const r=[],s=[],o=[],a=[],B=new Mn,c=new Mn,g=new Mn;for(let r=0;r<=t;r++)for(let Q=0;Q<=n;Q++){const E=Q/n*i,l=r/t*Math.PI*2;c.x=(A+e*Math.cos(l))*Math.cos(E),c.y=(A+e*Math.cos(l))*Math.sin(E),c.z=e*Math.sin(l),s.push(c.x,c.y,c.z),B.x=A*Math.cos(E),B.y=A*Math.sin(E),g.subVectors(c,B).normalize(),o.push(g.x,g.y,g.z),a.push(Q/n),a.push(r/t)}for(let A=1;A<=t;A++)for(let e=1;e<=n;e++){const t=(n+1)*A+e-1,i=(n+1)*(A-1)+e-1,s=(n+1)*(A-1)+e,o=(n+1)*A+e;r.push(t,i,o),r.push(i,s,o)}this.setIndex(r),this.setAttribute("position",new sr(s,3)),this.setAttribute("normal",new sr(o,3)),this.setAttribute("uv",new sr(a,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new ug(A.radius,A.tube,A.radialSegments,A.tubularSegments,A.arc)}}class wg extends ur{constructor(A=1,e=.4,t=64,n=8,i=2,r=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:A,tube:e,tubularSegments:t,radialSegments:n,p:i,q:r},t=Math.floor(t),n=Math.floor(n);const s=[],o=[],a=[],B=[],c=new Mn,g=new Mn,Q=new Mn,E=new Mn,l=new Mn,u=new Mn,w=new Mn;for(let s=0;s<=t;++s){const C=s/t*i*Math.PI*2;h(C,i,r,A,Q),h(C+.01,i,r,A,E),u.subVectors(E,Q),w.addVectors(E,Q),l.crossVectors(u,w),w.crossVectors(l,u),l.normalize(),w.normalize();for(let A=0;A<=n;++A){const i=A/n*Math.PI*2,r=-e*Math.cos(i),E=e*Math.sin(i);c.x=Q.x+(r*w.x+E*l.x),c.y=Q.y+(r*w.y+E*l.y),c.z=Q.z+(r*w.z+E*l.z),o.push(c.x,c.y,c.z),g.subVectors(c,Q).normalize(),a.push(g.x,g.y,g.z),B.push(s/t),B.push(A/n)}}for(let A=1;A<=t;A++)for(let e=1;e<=n;e++){const t=(n+1)*(A-1)+(e-1),i=(n+1)*A+(e-1),r=(n+1)*A+e,o=(n+1)*(A-1)+e;s.push(t,i,o),s.push(i,r,o)}function h(A,e,t,n,i){const r=Math.cos(A),s=Math.sin(A),o=t/e*A,a=Math.cos(o);i.x=n*(2+a)*.5*r,i.y=n*(2+a)*s*.5,i.z=n*Math.sin(o)*.5}this.setIndex(s),this.setAttribute("position",new sr(o,3)),this.setAttribute("normal",new sr(a,3)),this.setAttribute("uv",new sr(B,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new wg(A.radius,A.tube,A.tubularSegments,A.radialSegments,A.p,A.q)}}class hg extends ur{constructor(A=new uc(new Mn(-1,-1,0),new Mn(-1,1,0),new Mn(1,1,0)),e=64,t=1,n=8,i=!1){super(),this.type="TubeGeometry",this.parameters={path:A,tubularSegments:e,radius:t,radialSegments:n,closed:i};const r=A.computeFrenetFrames(e,i);this.tangents=r.tangents,this.normals=r.normals,this.binormals=r.binormals;const s=new Mn,o=new Mn,a=new Lt;let B=new Mn;const c=[],g=[],Q=[],E=[];function l(i){B=A.getPointAt(i/e,B);const a=r.normals[i],Q=r.binormals[i];for(let A=0;A<=n;A++){const e=A/n*Math.PI*2,i=Math.sin(e),r=-Math.cos(e);o.x=r*a.x+i*Q.x,o.y=r*a.y+i*Q.y,o.z=r*a.z+i*Q.z,o.normalize(),g.push(o.x,o.y,o.z),s.x=B.x+t*o.x,s.y=B.y+t*o.y,s.z=B.z+t*o.z,c.push(s.x,s.y,s.z)}}!function(){for(let A=0;A<e;A++)l(A);l(!1===i?e:0),function(){for(let A=0;A<=e;A++)for(let t=0;t<=n;t++)a.x=A/e,a.y=t/n,Q.push(a.x,a.y)}(),function(){for(let A=1;A<=e;A++)for(let e=1;e<=n;e++){const t=(n+1)*(A-1)+(e-1),i=(n+1)*A+(e-1),r=(n+1)*A+e,s=(n+1)*(A-1)+e;E.push(t,i,s),E.push(i,r,s)}}()}(),this.setIndex(E),this.setAttribute("position",new sr(c,3)),this.setAttribute("normal",new sr(g,3)),this.setAttribute("uv",new sr(Q,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}toJSON(){const A=super.toJSON();return A.path=this.parameters.path.toJSON(),A}static fromJSON(A){return new hg((new hc[A.path.type]).fromJSON(A.path),A.tubularSegments,A.radius,A.radialSegments,A.closed)}}class Cg extends ur{constructor(A=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:A},null!==A){const e=[],t=new Set,n=new Mn,i=new Mn;if(null!==A.index){const r=A.attributes.position,s=A.index;let o=A.groups;0===o.length&&(o=[{start:0,count:s.count,materialIndex:0}]);for(let A=0,a=o.length;A<a;++A){const a=o[A],B=a.start;for(let A=B,o=B+a.count;A<o;A+=3)for(let o=0;o<3;o++){const a=s.getX(A+o),B=s.getX(A+(o+1)%3);n.fromBufferAttribute(r,a),i.fromBufferAttribute(r,B),!0===dg(n,i,t)&&(e.push(n.x,n.y,n.z),e.push(i.x,i.y,i.z))}}}else{const r=A.attributes.position;for(let A=0,s=r.count/3;A<s;A++)for(let s=0;s<3;s++){const o=3*A+s,a=3*A+(s+1)%3;n.fromBufferAttribute(r,o),i.fromBufferAttribute(r,a),!0===dg(n,i,t)&&(e.push(n.x,n.y,n.z),e.push(i.x,i.y,i.z))}}this.setAttribute("position",new sr(e,3))}}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}}function dg(A,e,t){const n=`${A.x},${A.y},${A.z}-${e.x},${e.y},${e.z}`,i=`${e.x},${e.y},${e.z}-${A.x},${A.y},${A.z}`;return!0!==t.has(n)&&!0!==t.has(i)&&(t.add(n),t.add(i),!0)}var Ig=Object.freeze({__proto__:null,BoxGeometry:Sr,CapsuleGeometry:Mc,CircleGeometry:pc,ConeGeometry:Fc,CylinderGeometry:mc,DodecahedronGeometry:Yc,EdgesGeometry:xc,ExtrudeGeometry:og,IcosahedronGeometry:Bg,LatheGeometry:Ic,OctahedronGeometry:cg,PlaneGeometry:es,PolyhedronGeometry:Dc,RingGeometry:gg,ShapeGeometry:Qg,SphereGeometry:Eg,TetrahedronGeometry:lg,TorusGeometry:ug,TorusKnotGeometry:wg,TubeGeometry:hg,WireframeGeometry:Cg});class Mg extends Hi{constructor(A){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new zi(0),this.transparent=!0,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.fog=A.fog,this}}class pg extends jr{constructor(A){super(A),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class mg extends Hi{constructor(A){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new zi(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 zi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ke,this.normalScale=new Lt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.defines={STANDARD:""},this.color.copy(A.color),this.roughness=A.roughness,this.metalness=A.metalness,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.roughnessMap=A.roughnessMap,this.metalnessMap=A.metalnessMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapIntensity=A.envMapIntensity,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class Fg extends mg{constructor(A){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 Lt(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Gt(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(A){this.ior=(1+.4*A)/(1-.4*A)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new zi(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 zi(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new zi(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(A)}get anisotropy(){return this._anisotropy}set anisotropy(A){this._anisotropy>0!=A>0&&this.version++,this._anisotropy=A}get clearcoat(){return this._clearcoat}set clearcoat(A){this._clearcoat>0!=A>0&&this.version++,this._clearcoat=A}get iridescence(){return this._iridescence}set iridescence(A){this._iridescence>0!=A>0&&this.version++,this._iridescence=A}get sheen(){return this._sheen}set sheen(A){this._sheen>0!=A>0&&this.version++,this._sheen=A}get transmission(){return this._transmission}set transmission(A){this._transmission>0!=A>0&&this.version++,this._transmission=A}copy(A){return super.copy(A),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=A.anisotropy,this.anisotropyRotation=A.anisotropyRotation,this.anisotropyMap=A.anisotropyMap,this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.ior=A.ior,this.iridescence=A.iridescence,this.iridescenceMap=A.iridescenceMap,this.iridescenceIOR=A.iridescenceIOR,this.iridescenceThicknessRange=[...A.iridescenceThicknessRange],this.iridescenceThicknessMap=A.iridescenceThicknessMap,this.sheen=A.sheen,this.sheenColor.copy(A.sheenColor),this.sheenColorMap=A.sheenColorMap,this.sheenRoughness=A.sheenRoughness,this.sheenRoughnessMap=A.sheenRoughnessMap,this.transmission=A.transmission,this.transmissionMap=A.transmissionMap,this.thickness=A.thickness,this.thicknessMap=A.thicknessMap,this.attenuationDistance=A.attenuationDistance,this.attenuationColor.copy(A.attenuationColor),this.specularIntensity=A.specularIntensity,this.specularIntensityMap=A.specularIntensityMap,this.specularColor.copy(A.specularColor),this.specularColorMap=A.specularColorMap,this}}class Dg extends Hi{constructor(A){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new zi(16777215),this.specular=new zi(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new zi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ke,this.normalScale=new Lt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=K,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class Yg extends Hi{constructor(A){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new zi(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new zi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ke,this.normalScale=new Lt(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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}class fg extends Hi{constructor(A){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ke,this.normalScale=new Lt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.flatShading=A.flatShading,this}}class Ng extends Hi{constructor(A){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new zi(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new zi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ke,this.normalScale=new Lt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=K,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class Ug extends Hi{constructor(A){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new zi(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ke,this.normalScale=new Lt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.flatShading=A.flatShading,this.fog=A.fog,this}}class yg extends UB{constructor(A){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}copy(A){return super.copy(A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this}}function xg(A,e,t){return Rg(A)?new A.constructor(A.subarray(e,void 0!==t?t:A.length)):A.slice(e,t)}function Tg(A,e,t){return!A||!t&&A.constructor===e?A:"number"==typeof e.BYTES_PER_ELEMENT?new e(A):Array.prototype.slice.call(A)}function Rg(A){return ArrayBuffer.isView(A)&&!(A instanceof DataView)}function Gg(A){const e=A.length,t=new Array(e);for(let A=0;A!==e;++A)t[A]=A;return t.sort((function(e,t){return A[e]-A[t]})),t}function Sg(A,e,t){const n=A.length,i=new A.constructor(n);for(let r=0,s=0;s!==n;++r){const n=t[r]*e;for(let t=0;t!==e;++t)i[s++]=A[n+t]}return i}function Hg(A,e,t,n){let i=1,r=A[0];for(;void 0!==r&&void 0===r[n];)r=A[i++];if(void 0===r)return;let s=r[n];if(void 0!==s)if(Array.isArray(s))do{s=r[n],void 0!==s&&(e.push(r.time),t.push.apply(t,s)),r=A[i++]}while(void 0!==r);else if(void 0!==s.toArray)do{s=r[n],void 0!==s&&(e.push(r.time),s.toArray(t,t.length)),r=A[i++]}while(void 0!==r);else do{s=r[n],void 0!==s&&(e.push(r.time),t.push(s)),r=A[i++]}while(void 0!==r)}const bg={arraySlice:xg,convertArray:Tg,isTypedArray:Rg,getKeyframeOrder:Gg,sortedArray:Sg,flattenJSON:Hg,subclip:function(A,e,t,n,i=30){const r=A.clone();r.name=e;const s=[];for(let A=0;A<r.tracks.length;++A){const e=r.tracks[A],o=e.getValueSize(),a=[],B=[];for(let A=0;A<e.times.length;++A){const r=e.times[A]*i;if(!(r<t||r>=n)){a.push(e.times[A]);for(let t=0;t<o;++t)B.push(e.values[A*o+t])}}0!==a.length&&(e.times=Tg(a,e.times.constructor),e.values=Tg(B,e.values.constructor),s.push(e))}r.tracks=s;let o=1/0;for(let A=0;A<r.tracks.length;++A)o>r.tracks[A].times[0]&&(o=r.tracks[A].times[0]);for(let A=0;A<r.tracks.length;++A)r.tracks[A].shift(-1*o);return r.resetDuration(),r},makeClipAdditive:function(A,e=0,t=A,n=30){n<=0&&(n=30);const i=t.tracks.length,r=e/n;for(let e=0;e<i;++e){const n=t.tracks[e],i=n.ValueTypeName;if("bool"===i||"string"===i)continue;const s=A.tracks.find((function(A){return A.name===n.name&&A.ValueTypeName===i}));if(void 0===s)continue;let o=0;const a=n.getValueSize();n.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=a/3);let B=0;const c=s.getValueSize();s.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(B=c/3);const g=n.times.length-1;let Q;if(r<=n.times[0]){const A=o,e=a-o;Q=xg(n.values,A,e)}else if(r>=n.times[g]){const A=g*a+o,e=A+a-o;Q=xg(n.values,A,e)}else{const A=n.createInterpolant(),e=o,t=a-o;A.evaluate(r),Q=xg(A.resultBuffer,e,t)}if("quaternion"===i){(new In).fromArray(Q).normalize().conjugate().toArray(Q)}const E=s.times.length;for(let A=0;A<E;++A){const e=A*c+B;if("quaternion"===i)In.multiplyQuaternionsFlat(s.values,e,Q,0,s.values,e);else{const A=c-2*B;for(let t=0;t<A;++t)s.values[e+t]-=Q[t]}}}return A.blendMode=ye,A}};class kg{constructor(A,e,t,n){this.parameterPositions=A,this._cachedIndex=0,this.resultBuffer=void 0!==n?n:new e.constructor(t),this.sampleValues=e,this.valueSize=t,this.settings=null,this.DefaultSettings_={}}evaluate(A){const e=this.parameterPositions;let t=this._cachedIndex,n=e[t],i=e[t-1];A:{e:{let r;t:{n:if(!(A<n)){for(let r=t+2;;){if(void 0===n){if(A<i)break n;return t=e.length,this._cachedIndex=t,this.copySampleValue_(t-1)}if(t===r)break;if(i=n,n=e[++t],A<n)break e}r=e.length;break t}if(A>=i)break A;{const s=e[1];A<s&&(t=2,i=s);for(let r=t-2;;){if(void 0===i)return this._cachedIndex=0,this.copySampleValue_(0);if(t===r)break;if(n=i,i=e[--t-1],A>=i)break e}r=t,t=0}}for(;t<r;){const n=t+r>>>1;A<e[n]?r=n:t=n+1}if(n=e[t],i=e[t-1],void 0===i)return this._cachedIndex=0,this.copySampleValue_(0);if(void 0===n)return t=e.length,this._cachedIndex=t,this.copySampleValue_(t-1)}this._cachedIndex=t,this.intervalChanged_(t,i,n)}return this.interpolate_(t,i,A,n)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(A){const e=this.resultBuffer,t=this.sampleValues,n=this.valueSize,i=A*n;for(let A=0;A!==n;++A)e[A]=t[i+A];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class Jg extends kg{constructor(A,e,t,n){super(A,e,t,n),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:Ye,endingEnd:Ye}}intervalChanged_(A,e,t){const n=this.parameterPositions;let i=A-2,r=A+1,s=n[i],o=n[r];if(void 0===s)switch(this.getSettings_().endingStart){case fe:i=A,s=2*e-t;break;case Ne:i=n.length-2,s=e+n[i]-n[i+1];break;default:i=A,s=t}if(void 0===o)switch(this.getSettings_().endingEnd){case fe:r=A,o=2*t-e;break;case Ne:r=1,o=t+n[1]-n[0];break;default:r=A-1,o=e}const a=.5*(t-e),B=this.valueSize;this._weightPrev=a/(e-s),this._weightNext=a/(o-t),this._offsetPrev=i*B,this._offsetNext=r*B}interpolate_(A,e,t,n){const i=this.resultBuffer,r=this.sampleValues,s=this.valueSize,o=A*s,a=o-s,B=this._offsetPrev,c=this._offsetNext,g=this._weightPrev,Q=this._weightNext,E=(t-e)/(n-e),l=E*E,u=l*E,w=-g*u+2*g*l-g*E,h=(1+g)*u+(-1.5-2*g)*l+(-.5+g)*E+1,C=(-1-Q)*u+(1.5+Q)*l+.5*E,d=Q*u-Q*l;for(let A=0;A!==s;++A)i[A]=w*r[B+A]+h*r[a+A]+C*r[o+A]+d*r[c+A];return i}}class jg extends kg{constructor(A,e,t,n){super(A,e,t,n)}interpolate_(A,e,t,n){const i=this.resultBuffer,r=this.sampleValues,s=this.valueSize,o=A*s,a=o-s,B=(t-e)/(n-e),c=1-B;for(let A=0;A!==s;++A)i[A]=r[a+A]*c+r[o+A]*B;return i}}class zg extends kg{constructor(A,e,t,n){super(A,e,t,n)}interpolate_(A){return this.copySampleValue_(A-1)}}class vg{constructor(A,e,t,n){if(void 0===A)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===e||0===e.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+A);this.name=A,this.times=Tg(e,this.TimeBufferType),this.values=Tg(t,this.ValueBufferType),this.setInterpolation(n||this.DefaultInterpolation)}static toJSON(A){const e=A.constructor;let t;if(e.toJSON!==this.toJSON)t=e.toJSON(A);else{t={name:A.name,times:Tg(A.times,Array),values:Tg(A.values,Array)};const e=A.getInterpolation();e!==A.DefaultInterpolation&&(t.interpolation=e)}return t.type=A.ValueTypeName,t}InterpolantFactoryMethodDiscrete(A){return new zg(this.times,this.values,this.getValueSize(),A)}InterpolantFactoryMethodLinear(A){return new jg(this.times,this.values,this.getValueSize(),A)}InterpolantFactoryMethodSmooth(A){return new Jg(this.times,this.values,this.getValueSize(),A)}setInterpolation(A){let e;switch(A){case me:e=this.InterpolantFactoryMethodDiscrete;break;case Fe:e=this.InterpolantFactoryMethodLinear;break;case De:e=this.InterpolantFactoryMethodSmooth}if(void 0===e){const e="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(A===this.DefaultInterpolation)throw new Error(e);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",e),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return me;case this.InterpolantFactoryMethodLinear:return Fe;case this.InterpolantFactoryMethodSmooth:return De}}getValueSize(){return this.values.length/this.times.length}shift(A){if(0!==A){const e=this.times;for(let t=0,n=e.length;t!==n;++t)e[t]+=A}return this}scale(A){if(1!==A){const e=this.times;for(let t=0,n=e.length;t!==n;++t)e[t]*=A}return this}trim(A,e){const t=this.times,n=t.length;let i=0,r=n-1;for(;i!==n&&t[i]<A;)++i;for(;-1!==r&&t[r]>e;)--r;if(++r,0!==i||r!==n){i>=r&&(r=Math.max(r,1),i=r-1);const A=this.getValueSize();this.times=xg(t,i,r),this.values=xg(this.values,i*A,r*A)}return this}validate(){let A=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);const t=this.times,n=this.values,i=t.length;0===i&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let r=null;for(let e=0;e!==i;e++){const n=t[e];if("number"==typeof n&&isNaN(n)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,n),A=!1;break}if(null!==r&&r>n){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,n,r),A=!1;break}r=n}if(void 0!==n&&Rg(n))for(let e=0,t=n.length;e!==t;++e){const t=n[e];if(isNaN(t)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,t),A=!1;break}}return A}optimize(){const A=xg(this.times),e=xg(this.values),t=this.getValueSize(),n=this.getInterpolation()===De,i=A.length-1;let r=1;for(let s=1;s<i;++s){let i=!1;const o=A[s];if(o!==A[s+1]&&(1!==s||o!==A[0]))if(n)i=!0;else{const A=s*t,n=A-t,r=A+t;for(let s=0;s!==t;++s){const t=e[A+s];if(t!==e[n+s]||t!==e[r+s]){i=!0;break}}}if(i){if(s!==r){A[r]=A[s];const n=s*t,i=r*t;for(let A=0;A!==t;++A)e[i+A]=e[n+A]}++r}}if(i>0){A[r]=A[i];for(let A=i*t,n=r*t,s=0;s!==t;++s)e[n+s]=e[A+s];++r}return r!==A.length?(this.times=xg(A,0,r),this.values=xg(e,0,r*t)):(this.times=A,this.values=e),this}clone(){const A=xg(this.times,0),e=xg(this.values,0),t=new(0,this.constructor)(this.name,A,e);return t.createInterpolant=this.createInterpolant,t}}vg.prototype.TimeBufferType=Float32Array,vg.prototype.ValueBufferType=Float32Array,vg.prototype.DefaultInterpolation=Fe;class Lg extends vg{}Lg.prototype.ValueTypeName="bool",Lg.prototype.ValueBufferType=Array,Lg.prototype.DefaultInterpolation=me,Lg.prototype.InterpolantFactoryMethodLinear=void 0,Lg.prototype.InterpolantFactoryMethodSmooth=void 0;class Pg extends vg{}Pg.prototype.ValueTypeName="color";class Og extends vg{}Og.prototype.ValueTypeName="number";class Wg extends kg{constructor(A,e,t,n){super(A,e,t,n)}interpolate_(A,e,t,n){const i=this.resultBuffer,r=this.sampleValues,s=this.valueSize,o=(t-e)/(n-e);let a=A*s;for(let A=a+s;a!==A;a+=4)In.slerpFlat(i,0,r,a-s,r,a,o);return i}}class Vg extends vg{InterpolantFactoryMethodLinear(A){return new Wg(this.times,this.values,this.getValueSize(),A)}}Vg.prototype.ValueTypeName="quaternion",Vg.prototype.DefaultInterpolation=Fe,Vg.prototype.InterpolantFactoryMethodSmooth=void 0;class Kg extends vg{}Kg.prototype.ValueTypeName="string",Kg.prototype.ValueBufferType=Array,Kg.prototype.DefaultInterpolation=me,Kg.prototype.InterpolantFactoryMethodLinear=void 0,Kg.prototype.InterpolantFactoryMethodSmooth=void 0;class Xg extends vg{}Xg.prototype.ValueTypeName="vector";class Zg{constructor(A,e=-1,t,n=Ue){this.name=A,this.tracks=t,this.duration=e,this.blendMode=n,this.uuid=Rt(),this.duration<0&&this.resetDuration()}static parse(A){const e=[],t=A.tracks,n=1/(A.fps||1);for(let A=0,i=t.length;A!==i;++A)e.push(_g(t[A]).scale(n));const i=new this(A.name,A.duration,e,A.blendMode);return i.uuid=A.uuid,i}static toJSON(A){const e=[],t=A.tracks,n={name:A.name,duration:A.duration,tracks:e,uuid:A.uuid,blendMode:A.blendMode};for(let A=0,n=t.length;A!==n;++A)e.push(vg.toJSON(t[A]));return n}static CreateFromMorphTargetSequence(A,e,t,n){const i=e.length,r=[];for(let A=0;A<i;A++){let s=[],o=[];s.push((A+i-1)%i,A,(A+1)%i),o.push(0,1,0);const a=Gg(s);s=Sg(s,1,a),o=Sg(o,1,a),n||0!==s[0]||(s.push(i),o.push(o[0])),r.push(new Og(".morphTargetInfluences["+e[A].name+"]",s,o).scale(1/t))}return new this(A,-1,r)}static findByName(A,e){let t=A;if(!Array.isArray(A)){const e=A;t=e.geometry&&e.geometry.animations||e.animations}for(let A=0;A<t.length;A++)if(t[A].name===e)return t[A];return null}static CreateClipsFromMorphTargetSequences(A,e,t){const n={},i=/^([\w-]*?)([\d]+)$/;for(let e=0,t=A.length;e<t;e++){const t=A[e],r=t.name.match(i);if(r&&r.length>1){const A=r[1];let e=n[A];e||(n[A]=e=[]),e.push(t)}}const r=[];for(const A in n)r.push(this.CreateFromMorphTargetSequence(A,n[A],e,t));return r}static parseAnimation(A,e){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const t=function(A,e,t,n,i){if(0!==t.length){const r=[],s=[];Hg(t,r,s,n),0!==r.length&&i.push(new A(e,r,s))}},n=[],i=A.name||"default",r=A.fps||30,s=A.blendMode;let o=A.length||-1;const a=A.hierarchy||[];for(let A=0;A<a.length;A++){const i=a[A].keys;if(i&&0!==i.length)if(i[0].morphTargets){const A={};let e;for(e=0;e<i.length;e++)if(i[e].morphTargets)for(let t=0;t<i[e].morphTargets.length;t++)A[i[e].morphTargets[t]]=-1;for(const t in A){const A=[],r=[];for(let n=0;n!==i[e].morphTargets.length;++n){const n=i[e];A.push(n.time),r.push(n.morphTarget===t?1:0)}n.push(new Og(".morphTargetInfluence["+t+"]",A,r))}o=A.length*r}else{const r=".bones["+e[A].name+"]";t(Xg,r+".position",i,"pos",n),t(Vg,r+".quaternion",i,"rot",n),t(Xg,r+".scale",i,"scl",n)}}if(0===n.length)return null;return new this(i,o,n,s)}resetDuration(){let A=0;for(let e=0,t=this.tracks.length;e!==t;++e){const t=this.tracks[e];A=Math.max(A,t.times[t.times.length-1])}return this.duration=A,this}trim(){for(let A=0;A<this.tracks.length;A++)this.tracks[A].trim(0,this.duration);return this}validate(){let A=!0;for(let e=0;e<this.tracks.length;e++)A=A&&this.tracks[e].validate();return A}optimize(){for(let A=0;A<this.tracks.length;A++)this.tracks[A].optimize();return this}clone(){const A=[];for(let e=0;e<this.tracks.length;e++)A.push(this.tracks[e].clone());return new this.constructor(this.name,this.duration,A,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function _g(A){if(void 0===A.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=function(A){switch(A.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Og;case"vector":case"vector2":case"vector3":case"vector4":return Xg;case"color":return Pg;case"quaternion":return Vg;case"bool":case"boolean":return Lg;case"string":return Kg}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+A)}(A.type);if(void 0===A.times){const e=[],t=[];Hg(A.keys,e,t,"value"),A.times=e,A.values=t}return void 0!==e.parse?e.parse(A):new e(A.name,A.times,A.values,A.interpolation)}const qg={enabled:!1,files:{},add:function(A,e){!1!==this.enabled&&(this.files[A]=e)},get:function(A){if(!1!==this.enabled)return this.files[A]},remove:function(A){delete this.files[A]},clear:function(){this.files={}}};class $g{constructor(A,e,t){const n=this;let i=!1,r=0,s=0,o=void 0;const a=[];this.onStart=void 0,this.onLoad=A,this.onProgress=e,this.onError=t,this.itemStart=function(A){s++,!1===i&&void 0!==n.onStart&&n.onStart(A,r,s),i=!0},this.itemEnd=function(A){r++,void 0!==n.onProgress&&n.onProgress(A,r,s),r===s&&(i=!1,void 0!==n.onLoad&&n.onLoad())},this.itemError=function(A){void 0!==n.onError&&n.onError(A)},this.resolveURL=function(A){return o?o(A):A},this.setURLModifier=function(A){return o=A,this},this.addHandler=function(A,e){return a.push(A,e),this},this.removeHandler=function(A){const e=a.indexOf(A);return-1!==e&&a.splice(e,2),this},this.getHandler=function(A){for(let e=0,t=a.length;e<t;e+=2){const t=a[e],n=a[e+1];if(t.global&&(t.lastIndex=0),t.test(A))return n}return null}}}const AQ=new $g;class eQ{constructor(A){this.manager=void 0!==A?A:AQ,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(A,e){const t=this;return new Promise((function(n,i){t.load(A,n,e,i)}))}parse(){}setCrossOrigin(A){return this.crossOrigin=A,this}setWithCredentials(A){return this.withCredentials=A,this}setPath(A){return this.path=A,this}setResourcePath(A){return this.resourcePath=A,this}setRequestHeader(A){return this.requestHeader=A,this}}const tQ={};class nQ extends Error{constructor(A,e){super(A),this.response=e}}class iQ extends eQ{constructor(A){super(A)}load(A,e,t,n){void 0===A&&(A=""),void 0!==this.path&&(A=this.path+A),A=this.manager.resolveURL(A);const i=qg.get(A);if(void 0!==i)return this.manager.itemStart(A),setTimeout(()=>{e&&e(i),this.manager.itemEnd(A)},0),i;if(void 0!==tQ[A])return void tQ[A].push({onLoad:e,onProgress:t,onError:n});tQ[A]=[],tQ[A].push({onLoad:e,onProgress:t,onError:n});const r=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),s=this.mimeType,o=this.responseType;fetch(r).then(e=>{if(200===e.status||0===e.status){if(0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===e.body||void 0===e.body.getReader)return e;const t=tQ[A],n=e.body.getReader(),i=e.headers.get("Content-Length")||e.headers.get("X-File-Size"),r=i?parseInt(i):0,s=0!==r;let o=0;const a=new ReadableStream({start(A){!function e(){n.read().then(({done:n,value:i})=>{if(n)A.close();else{o+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:s,loaded:o,total:r});for(let A=0,e=t.length;A<e;A++){const e=t[A];e.onProgress&&e.onProgress(n)}A.enqueue(i),e()}})}()}});return new Response(a)}throw new nQ(`fetch for "${e.url}" responded with ${e.status}: ${e.statusText}`,e)}).then(A=>{switch(o){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then(A=>(new DOMParser).parseFromString(A,s));case"json":return A.json();default:if(void 0===s)return A.text();{const e=/charset="?([^;"\s]*)"?/i.exec(s),t=e&&e[1]?e[1].toLowerCase():void 0,n=new TextDecoder(t);return A.arrayBuffer().then(A=>n.decode(A))}}}).then(e=>{qg.add(A,e);const t=tQ[A];delete tQ[A];for(let A=0,n=t.length;A<n;A++){const n=t[A];n.onLoad&&n.onLoad(e)}}).catch(e=>{const t=tQ[A];if(void 0===t)throw this.manager.itemError(A),e;delete tQ[A];for(let A=0,n=t.length;A<n;A++){const n=t[A];n.onError&&n.onError(e)}this.manager.itemError(A)}).finally(()=>{this.manager.itemEnd(A)}),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}}class rQ extends eQ{constructor(A){super(A)}load(A,e,t,n){const i=this,r=new iQ(this.manager);r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(A,(function(t){try{e(i.parse(JSON.parse(t)))}catch(e){n?n(e):console.error(e),i.manager.itemError(A)}}),t,n)}parse(A){const e=[];for(let t=0;t<A.length;t++){const n=Zg.parse(A[t]);e.push(n)}return e}}class sQ extends eQ{constructor(A){super(A)}load(A,e,t,n){const i=this,r=[],s=new XB,o=new iQ(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(i.withCredentials);let a=0;function B(B){o.load(A[B],(function(A){const t=i.parse(A,!0);r[B]={width:t.width,height:t.height,format:t.format,mipmaps:t.mipmaps},a+=1,6===a&&(1===t.mipmapCount&&(s.minFilter=hA),s.image=r,s.format=t.format,s.needsUpdate=!0,e&&e(s))}),t,n)}if(Array.isArray(A))for(let e=0,t=A.length;e<t;++e)B(e);else o.load(A,(function(A){const t=i.parse(A,!0);if(t.isCubemap){const A=t.mipmaps.length/t.mipmapCount;for(let e=0;e<A;e++){r[e]={mipmaps:[]};for(let A=0;A<t.mipmapCount;A++)r[e].mipmaps.push(t.mipmaps[e*t.mipmapCount+A]),r[e].format=t.format,r[e].width=t.width,r[e].height=t.height}s.image=r}else s.image.width=t.width,s.image.height=t.height,s.mipmaps=t.mipmaps;1===t.mipmapCount&&(s.minFilter=hA),s.format=t.format,s.needsUpdate=!0,e&&e(s)}),t,n);return s}}class oQ extends eQ{constructor(A){super(A)}load(A,e,t,n){void 0!==this.path&&(A=this.path+A),A=this.manager.resolveURL(A);const i=this,r=qg.get(A);if(void 0!==r)return i.manager.itemStart(A),setTimeout((function(){e&&e(r),i.manager.itemEnd(A)}),0),r;const s=Xt("img");function o(){B(),qg.add(A,this),e&&e(this),i.manager.itemEnd(A)}function a(e){B(),n&&n(e),i.manager.itemError(A),i.manager.itemEnd(A)}function B(){s.removeEventListener("load",o,!1),s.removeEventListener("error",a,!1)}return s.addEventListener("load",o,!1),s.addEventListener("error",a,!1),"data:"!==A.slice(0,5)&&void 0!==this.crossOrigin&&(s.crossOrigin=this.crossOrigin),i.manager.itemStart(A),s.src=A,s}}class aQ extends eQ{constructor(A){super(A)}load(A,e,t,n){const i=new Pr;i.colorSpace=ze;const r=new oQ(this.manager);r.setCrossOrigin(this.crossOrigin),r.setPath(this.path);let s=0;function o(t){r.load(A[t],(function(A){i.images[t]=A,s++,6===s&&(i.needsUpdate=!0,e&&e(i))}),void 0,n)}for(let e=0;e<A.length;++e)o(e);return i}}class BQ extends eQ{constructor(A){super(A)}load(A,e,t,n){const i=this,r=new wB,s=new iQ(this.manager);return s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setPath(this.path),s.setWithCredentials(i.withCredentials),s.load(A,(function(A){const t=i.parse(A);t&&(void 0!==t.image?r.image=t.image:void 0!==t.data&&(r.image.width=t.width,r.image.height=t.height,r.image.data=t.data),r.wrapS=void 0!==t.wrapS?t.wrapS:cA,r.wrapT=void 0!==t.wrapT?t.wrapT:cA,r.magFilter=void 0!==t.magFilter?t.magFilter:hA,r.minFilter=void 0!==t.minFilter?t.minFilter:hA,r.anisotropy=void 0!==t.anisotropy?t.anisotropy:1,void 0!==t.colorSpace?r.colorSpace=t.colorSpace:void 0!==t.encoding&&(r.encoding=t.encoding),void 0!==t.flipY&&(r.flipY=t.flipY),void 0!==t.format&&(r.format=t.format),void 0!==t.type&&(r.type=t.type),void 0!==t.mipmaps&&(r.mipmaps=t.mipmaps,r.minFilter=IA),1===t.mipmapCount&&(r.minFilter=hA),void 0!==t.generateMipmaps&&(r.generateMipmaps=t.generateMipmaps),r.needsUpdate=!0,e&&e(r,t))}),t,n),r}}class cQ extends eQ{constructor(A){super(A)}load(A,e,t,n){const i=new Qn,r=new oQ(this.manager);return r.setCrossOrigin(this.crossOrigin),r.setPath(this.path),r.load(A,(function(A){i.image=A,i.needsUpdate=!0,void 0!==e&&e(i)}),t,n),i}}class gQ extends pi{constructor(A,e=1){super(),this.isLight=!0,this.type="Light",this.color=new zi(A),this.intensity=e}dispose(){}copy(A,e){return super.copy(A,e),this.color.copy(A.color),this.intensity=A.intensity,this}toJSON(A){const e=super.toJSON(A);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}class QQ extends gQ{constructor(A,e,t){super(A,t),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(pi.DEFAULT_UP),this.updateMatrix(),this.groundColor=new zi(e)}copy(A,e){return super.copy(A,e),this.groundColor.copy(A.groundColor),this}}const EQ=new _n,lQ=new Mn,uQ=new Mn;class wQ{constructor(A){this.camera=A,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Lt(512,512),this.map=null,this.mapPass=null,this.matrix=new _n,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new qr,this._frameExtents=new Lt(1,1),this._viewportCount=1,this._viewports=[new En(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(A){const e=this.camera,t=this.matrix;lQ.setFromMatrixPosition(A.matrixWorld),e.position.copy(lQ),uQ.setFromMatrixPosition(A.target.matrixWorld),e.lookAt(uQ),e.updateMatrixWorld(),EQ.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(EQ),t.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),t.multiply(EQ)}getViewport(A){return this._viewports[A]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(A){return this.camera=A.camera.clone(),this.bias=A.bias,this.radius=A.radius,this.mapSize.copy(A.mapSize),this}clone(){return(new this.constructor).copy(this)}toJSON(){const A={};return 0!==this.bias&&(A.bias=this.bias),0!==this.normalBias&&(A.normalBias=this.normalBias),1!==this.radius&&(A.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(A.mapSize=this.mapSize.toArray()),A.camera=this.camera.toJSON(!1).object,delete A.camera.matrix,A}}class hQ extends wQ{constructor(){super(new vr(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(A){const e=this.camera,t=2*Tt*A.angle*this.focus,n=this.mapSize.width/this.mapSize.height,i=A.distance||e.far;t===e.fov&&n===e.aspect&&i===e.far||(e.fov=t,e.aspect=n,e.far=i,e.updateProjectionMatrix()),super.updateMatrices(A)}copy(A){return super.copy(A),this.focus=A.focus,this}}class CQ extends gQ{constructor(A,e,t=0,n=Math.PI/3,i=0,r=2){super(A,e),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(pi.DEFAULT_UP),this.updateMatrix(),this.target=new pi,this.distance=t,this.angle=n,this.penumbra=i,this.decay=r,this.map=null,this.shadow=new hQ}get power(){return this.intensity*Math.PI}set power(A){this.intensity=A/Math.PI}dispose(){this.shadow.dispose()}copy(A,e){return super.copy(A,e),this.distance=A.distance,this.angle=A.angle,this.penumbra=A.penumbra,this.decay=A.decay,this.target=A.target.clone(),this.shadow=A.shadow.clone(),this}}const dQ=new _n,IQ=new Mn,MQ=new Mn;class pQ extends wQ{constructor(){super(new vr(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Lt(4,2),this._viewportCount=6,this._viewports=[new En(2,1,1,1),new En(0,1,1,1),new En(3,1,1,1),new En(1,1,1,1),new En(3,0,1,1),new En(1,0,1,1)],this._cubeDirections=[new Mn(1,0,0),new Mn(-1,0,0),new Mn(0,0,1),new Mn(0,0,-1),new Mn(0,1,0),new Mn(0,-1,0)],this._cubeUps=[new Mn(0,1,0),new Mn(0,1,0),new Mn(0,1,0),new Mn(0,1,0),new Mn(0,0,1),new Mn(0,0,-1)]}updateMatrices(A,e=0){const t=this.camera,n=this.matrix,i=A.distance||t.far;i!==t.far&&(t.far=i,t.updateProjectionMatrix()),IQ.setFromMatrixPosition(A.matrixWorld),t.position.copy(IQ),MQ.copy(t.position),MQ.add(this._cubeDirections[e]),t.up.copy(this._cubeUps[e]),t.lookAt(MQ),t.updateMatrixWorld(),n.makeTranslation(-IQ.x,-IQ.y,-IQ.z),dQ.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(dQ)}}class mQ extends gQ{constructor(A,e,t=0,n=2){super(A,e),this.isPointLight=!0,this.type="PointLight",this.distance=t,this.decay=n,this.shadow=new pQ}get power(){return 4*this.intensity*Math.PI}set power(A){this.intensity=A/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(A,e){return super.copy(A,e),this.distance=A.distance,this.decay=A.decay,this.shadow=A.shadow.clone(),this}}class FQ extends wQ{constructor(){super(new Qs(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class DQ extends gQ{constructor(A,e){super(A,e),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(pi.DEFAULT_UP),this.updateMatrix(),this.target=new pi,this.shadow=new FQ}dispose(){this.shadow.dispose()}copy(A){return super.copy(A),this.target=A.target.clone(),this.shadow=A.shadow.clone(),this}}class YQ extends gQ{constructor(A,e){super(A,e),this.isAmbientLight=!0,this.type="AmbientLight"}}class fQ extends gQ{constructor(A,e,t=10,n=10){super(A,e),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=t,this.height=n}get power(){return this.intensity*this.width*this.height*Math.PI}set power(A){this.intensity=A/(this.width*this.height*Math.PI)}copy(A){return super.copy(A),this.width=A.width,this.height=A.height,this}toJSON(A){const e=super.toJSON(A);return e.object.width=this.width,e.object.height=this.height,e}}class NQ{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let A=0;A<9;A++)this.coefficients.push(new Mn)}set(A){for(let e=0;e<9;e++)this.coefficients[e].copy(A[e]);return this}zero(){for(let A=0;A<9;A++)this.coefficients[A].set(0,0,0);return this}getAt(A,e){const t=A.x,n=A.y,i=A.z,r=this.coefficients;return e.copy(r[0]).multiplyScalar(.282095),e.addScaledVector(r[1],.488603*n),e.addScaledVector(r[2],.488603*i),e.addScaledVector(r[3],.488603*t),e.addScaledVector(r[4],t*n*1.092548),e.addScaledVector(r[5],n*i*1.092548),e.addScaledVector(r[6],.315392*(3*i*i-1)),e.addScaledVector(r[7],t*i*1.092548),e.addScaledVector(r[8],.546274*(t*t-n*n)),e}getIrradianceAt(A,e){const t=A.x,n=A.y,i=A.z,r=this.coefficients;return e.copy(r[0]).multiplyScalar(.886227),e.addScaledVector(r[1],1.023328*n),e.addScaledVector(r[2],1.023328*i),e.addScaledVector(r[3],1.023328*t),e.addScaledVector(r[4],.858086*t*n),e.addScaledVector(r[5],.858086*n*i),e.addScaledVector(r[6],.743125*i*i-.247708),e.addScaledVector(r[7],.858086*t*i),e.addScaledVector(r[8],.429043*(t*t-n*n)),e}add(A){for(let e=0;e<9;e++)this.coefficients[e].add(A.coefficients[e]);return this}addScaledSH(A,e){for(let t=0;t<9;t++)this.coefficients[t].addScaledVector(A.coefficients[t],e);return this}scale(A){for(let e=0;e<9;e++)this.coefficients[e].multiplyScalar(A);return this}lerp(A,e){for(let t=0;t<9;t++)this.coefficients[t].lerp(A.coefficients[t],e);return this}equals(A){for(let e=0;e<9;e++)if(!this.coefficients[e].equals(A.coefficients[e]))return!1;return!0}copy(A){return this.set(A.coefficients)}clone(){return(new this.constructor).copy(this)}fromArray(A,e=0){const t=this.coefficients;for(let n=0;n<9;n++)t[n].fromArray(A,e+3*n);return this}toArray(A=[],e=0){const t=this.coefficients;for(let n=0;n<9;n++)t[n].toArray(A,e+3*n);return A}static getBasisAt(A,e){const t=A.x,n=A.y,i=A.z;e[0]=.282095,e[1]=.488603*n,e[2]=.488603*i,e[3]=.488603*t,e[4]=1.092548*t*n,e[5]=1.092548*n*i,e[6]=.315392*(3*i*i-1),e[7]=1.092548*t*i,e[8]=.546274*(t*t-n*n)}}class UQ extends gQ{constructor(A=new NQ,e=1){super(void 0,e),this.isLightProbe=!0,this.sh=A}copy(A){return super.copy(A),this.sh.copy(A.sh),this}fromJSON(A){return this.intensity=A.intensity,this.sh.fromArray(A.sh),this}toJSON(A){const e=super.toJSON(A);return e.object.sh=this.sh.toArray(),e}}class yQ extends eQ{constructor(A){super(A),this.textures={}}load(A,e,t,n){const i=this,r=new iQ(i.manager);r.setPath(i.path),r.setRequestHeader(i.requestHeader),r.setWithCredentials(i.withCredentials),r.load(A,(function(t){try{e(i.parse(JSON.parse(t)))}catch(e){n?n(e):console.error(e),i.manager.itemError(A)}}),t,n)}parse(A){const e=this.textures;function t(A){return void 0===e[A]&&console.warn("THREE.MaterialLoader: Undefined texture",A),e[A]}const n=yQ.createMaterialFromType(A.type);if(void 0!==A.uuid&&(n.uuid=A.uuid),void 0!==A.name&&(n.name=A.name),void 0!==A.color&&void 0!==n.color&&n.color.setHex(A.color),void 0!==A.roughness&&(n.roughness=A.roughness),void 0!==A.metalness&&(n.metalness=A.metalness),void 0!==A.sheen&&(n.sheen=A.sheen),void 0!==A.sheenColor&&(n.sheenColor=(new zi).setHex(A.sheenColor)),void 0!==A.sheenRoughness&&(n.sheenRoughness=A.sheenRoughness),void 0!==A.emissive&&void 0!==n.emissive&&n.emissive.setHex(A.emissive),void 0!==A.specular&&void 0!==n.specular&&n.specular.setHex(A.specular),void 0!==A.specularIntensity&&(n.specularIntensity=A.specularIntensity),void 0!==A.specularColor&&void 0!==n.specularColor&&n.specularColor.setHex(A.specularColor),void 0!==A.shininess&&(n.shininess=A.shininess),void 0!==A.clearcoat&&(n.clearcoat=A.clearcoat),void 0!==A.clearcoatRoughness&&(n.clearcoatRoughness=A.clearcoatRoughness),void 0!==A.iridescence&&(n.iridescence=A.iridescence),void 0!==A.iridescenceIOR&&(n.iridescenceIOR=A.iridescenceIOR),void 0!==A.iridescenceThicknessRange&&(n.iridescenceThicknessRange=A.iridescenceThicknessRange),void 0!==A.transmission&&(n.transmission=A.transmission),void 0!==A.thickness&&(n.thickness=A.thickness),void 0!==A.attenuationDistance&&(n.attenuationDistance=A.attenuationDistance),void 0!==A.attenuationColor&&void 0!==n.attenuationColor&&n.attenuationColor.setHex(A.attenuationColor),void 0!==A.anisotropy&&(n.anisotropy=A.anisotropy),void 0!==A.anisotropyRotation&&(n.anisotropyRotation=A.anisotropyRotation),void 0!==A.fog&&(n.fog=A.fog),void 0!==A.flatShading&&(n.flatShading=A.flatShading),void 0!==A.blending&&(n.blending=A.blending),void 0!==A.combine&&(n.combine=A.combine),void 0!==A.side&&(n.side=A.side),void 0!==A.shadowSide&&(n.shadowSide=A.shadowSide),void 0!==A.opacity&&(n.opacity=A.opacity),void 0!==A.transparent&&(n.transparent=A.transparent),void 0!==A.alphaTest&&(n.alphaTest=A.alphaTest),void 0!==A.depthTest&&(n.depthTest=A.depthTest),void 0!==A.depthWrite&&(n.depthWrite=A.depthWrite),void 0!==A.colorWrite&&(n.colorWrite=A.colorWrite),void 0!==A.stencilWrite&&(n.stencilWrite=A.stencilWrite),void 0!==A.stencilWriteMask&&(n.stencilWriteMask=A.stencilWriteMask),void 0!==A.stencilFunc&&(n.stencilFunc=A.stencilFunc),void 0!==A.stencilRef&&(n.stencilRef=A.stencilRef),void 0!==A.stencilFuncMask&&(n.stencilFuncMask=A.stencilFuncMask),void 0!==A.stencilFail&&(n.stencilFail=A.stencilFail),void 0!==A.stencilZFail&&(n.stencilZFail=A.stencilZFail),void 0!==A.stencilZPass&&(n.stencilZPass=A.stencilZPass),void 0!==A.wireframe&&(n.wireframe=A.wireframe),void 0!==A.wireframeLinewidth&&(n.wireframeLinewidth=A.wireframeLinewidth),void 0!==A.wireframeLinecap&&(n.wireframeLinecap=A.wireframeLinecap),void 0!==A.wireframeLinejoin&&(n.wireframeLinejoin=A.wireframeLinejoin),void 0!==A.rotation&&(n.rotation=A.rotation),1!==A.linewidth&&(n.linewidth=A.linewidth),void 0!==A.dashSize&&(n.dashSize=A.dashSize),void 0!==A.gapSize&&(n.gapSize=A.gapSize),void 0!==A.scale&&(n.scale=A.scale),void 0!==A.polygonOffset&&(n.polygonOffset=A.polygonOffset),void 0!==A.polygonOffsetFactor&&(n.polygonOffsetFactor=A.polygonOffsetFactor),void 0!==A.polygonOffsetUnits&&(n.polygonOffsetUnits=A.polygonOffsetUnits),void 0!==A.dithering&&(n.dithering=A.dithering),void 0!==A.alphaToCoverage&&(n.alphaToCoverage=A.alphaToCoverage),void 0!==A.premultipliedAlpha&&(n.premultipliedAlpha=A.premultipliedAlpha),void 0!==A.forceSinglePass&&(n.forceSinglePass=A.forceSinglePass),void 0!==A.visible&&(n.visible=A.visible),void 0!==A.toneMapped&&(n.toneMapped=A.toneMapped),void 0!==A.userData&&(n.userData=A.userData),void 0!==A.vertexColors&&("number"==typeof A.vertexColors?n.vertexColors=A.vertexColors>0:n.vertexColors=A.vertexColors),void 0!==A.uniforms)for(const e in A.uniforms){const i=A.uniforms[e];switch(n.uniforms[e]={},i.type){case"t":n.uniforms[e].value=t(i.value);break;case"c":n.uniforms[e].value=(new zi).setHex(i.value);break;case"v2":n.uniforms[e].value=(new Lt).fromArray(i.value);break;case"v3":n.uniforms[e].value=(new Mn).fromArray(i.value);break;case"v4":n.uniforms[e].value=(new En).fromArray(i.value);break;case"m3":n.uniforms[e].value=(new Pt).fromArray(i.value);break;case"m4":n.uniforms[e].value=(new _n).fromArray(i.value);break;default:n.uniforms[e].value=i.value}}if(void 0!==A.defines&&(n.defines=A.defines),void 0!==A.vertexShader&&(n.vertexShader=A.vertexShader),void 0!==A.fragmentShader&&(n.fragmentShader=A.fragmentShader),void 0!==A.glslVersion&&(n.glslVersion=A.glslVersion),void 0!==A.extensions)for(const e in A.extensions)n.extensions[e]=A.extensions[e];if(void 0!==A.lights&&(n.lights=A.lights),void 0!==A.clipping&&(n.clipping=A.clipping),void 0!==A.size&&(n.size=A.size),void 0!==A.sizeAttenuation&&(n.sizeAttenuation=A.sizeAttenuation),void 0!==A.map&&(n.map=t(A.map)),void 0!==A.matcap&&(n.matcap=t(A.matcap)),void 0!==A.alphaMap&&(n.alphaMap=t(A.alphaMap)),void 0!==A.bumpMap&&(n.bumpMap=t(A.bumpMap)),void 0!==A.bumpScale&&(n.bumpScale=A.bumpScale),void 0!==A.normalMap&&(n.normalMap=t(A.normalMap)),void 0!==A.normalMapType&&(n.normalMapType=A.normalMapType),void 0!==A.normalScale){let e=A.normalScale;!1===Array.isArray(e)&&(e=[e,e]),n.normalScale=(new Lt).fromArray(e)}return void 0!==A.displacementMap&&(n.displacementMap=t(A.displacementMap)),void 0!==A.displacementScale&&(n.displacementScale=A.displacementScale),void 0!==A.displacementBias&&(n.displacementBias=A.displacementBias),void 0!==A.roughnessMap&&(n.roughnessMap=t(A.roughnessMap)),void 0!==A.metalnessMap&&(n.metalnessMap=t(A.metalnessMap)),void 0!==A.emissiveMap&&(n.emissiveMap=t(A.emissiveMap)),void 0!==A.emissiveIntensity&&(n.emissiveIntensity=A.emissiveIntensity),void 0!==A.specularMap&&(n.specularMap=t(A.specularMap)),void 0!==A.specularIntensityMap&&(n.specularIntensityMap=t(A.specularIntensityMap)),void 0!==A.specularColorMap&&(n.specularColorMap=t(A.specularColorMap)),void 0!==A.envMap&&(n.envMap=t(A.envMap)),void 0!==A.envMapIntensity&&(n.envMapIntensity=A.envMapIntensity),void 0!==A.reflectivity&&(n.reflectivity=A.reflectivity),void 0!==A.refractionRatio&&(n.refractionRatio=A.refractionRatio),void 0!==A.lightMap&&(n.lightMap=t(A.lightMap)),void 0!==A.lightMapIntensity&&(n.lightMapIntensity=A.lightMapIntensity),void 0!==A.aoMap&&(n.aoMap=t(A.aoMap)),void 0!==A.aoMapIntensity&&(n.aoMapIntensity=A.aoMapIntensity),void 0!==A.gradientMap&&(n.gradientMap=t(A.gradientMap)),void 0!==A.clearcoatMap&&(n.clearcoatMap=t(A.clearcoatMap)),void 0!==A.clearcoatRoughnessMap&&(n.clearcoatRoughnessMap=t(A.clearcoatRoughnessMap)),void 0!==A.clearcoatNormalMap&&(n.clearcoatNormalMap=t(A.clearcoatNormalMap)),void 0!==A.clearcoatNormalScale&&(n.clearcoatNormalScale=(new Lt).fromArray(A.clearcoatNormalScale)),void 0!==A.iridescenceMap&&(n.iridescenceMap=t(A.iridescenceMap)),void 0!==A.iridescenceThicknessMap&&(n.iridescenceThicknessMap=t(A.iridescenceThicknessMap)),void 0!==A.transmissionMap&&(n.transmissionMap=t(A.transmissionMap)),void 0!==A.thicknessMap&&(n.thicknessMap=t(A.thicknessMap)),void 0!==A.anisotropyMap&&(n.anisotropyMap=t(A.anisotropyMap)),void 0!==A.sheenColorMap&&(n.sheenColorMap=t(A.sheenColorMap)),void 0!==A.sheenRoughnessMap&&(n.sheenRoughnessMap=t(A.sheenRoughnessMap)),n}setTextures(A){return this.textures=A,this}static createMaterialFromType(A){return new{ShadowMaterial:Mg,SpriteMaterial:ja,RawShaderMaterial:pg,ShaderMaterial:jr,PointsMaterial:jB,MeshPhysicalMaterial:Fg,MeshStandardMaterial:mg,MeshPhongMaterial:Dg,MeshToonMaterial:Yg,MeshNormalMaterial:fg,MeshLambertMaterial:Ng,MeshDepthMaterial:ha,MeshDistanceMaterial:Ca,MeshBasicMaterial:Li,MeshMatcapMaterial:Ug,LineDashedMaterial:yg,LineBasicMaterial:UB,Material:Hi}[A]}}class xQ{static decodeText(A){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(A);let e="";for(let t=0,n=A.length;t<n;t++)e+=String.fromCharCode(A[t]);try{return decodeURIComponent(escape(e))}catch(A){return e}}static extractUrlBase(A){const e=A.lastIndexOf("/");return-1===e?"./":A.slice(0,e+1)}static resolveURL(A,e){return"string"!=typeof A||""===A?"":(/^https?:\/\//i.test(e)&&/^\//.test(A)&&(e=e.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(A)||/^data:.*,.*$/i.test(A)||/^blob:.*$/i.test(A)?A:e+A)}}class TQ extends ur{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(A){return super.copy(A),this.instanceCount=A.instanceCount,this}toJSON(){const A=super.toJSON();return A.instanceCount=this.instanceCount,A.isInstancedBufferGeometry=!0,A}}class RQ extends eQ{constructor(A){super(A)}load(A,e,t,n){const i=this,r=new iQ(i.manager);r.setPath(i.path),r.setRequestHeader(i.requestHeader),r.setWithCredentials(i.withCredentials),r.load(A,(function(t){try{e(i.parse(JSON.parse(t)))}catch(e){n?n(e):console.error(e),i.manager.itemError(A)}}),t,n)}parse(A){const e={},t={};function n(A,n){if(void 0!==e[n])return e[n];const i=A.interleavedBuffers[n],r=function(A,e){if(void 0!==t[e])return t[e];const n=A.arrayBuffers[e],i=new Uint32Array(n).buffer;return t[e]=i,i}(A,i.buffer),s=Kt(i.type,r),o=new ba(s,i.stride);return o.uuid=i.uuid,e[n]=o,o}const i=A.isInstancedBufferGeometry?new TQ:new ur,r=A.data.index;if(void 0!==r){const A=Kt(r.type,r.array);i.setIndex(new _i(A,1))}const s=A.data.attributes;for(const e in s){const t=s[e];let r;if(t.isInterleavedBufferAttribute){const e=n(A.data,t.data);r=new Ja(e,t.itemSize,t.offset,t.normalized)}else{const A=Kt(t.type,t.array);r=new(t.isInstancedBufferAttribute?IB:_i)(A,t.itemSize,t.normalized)}void 0!==t.name&&(r.name=t.name),void 0!==t.usage&&r.setUsage(t.usage),void 0!==t.updateRange&&(r.updateRange.offset=t.updateRange.offset,r.updateRange.count=t.updateRange.count),i.setAttribute(e,r)}const o=A.data.morphAttributes;if(o)for(const e in o){const t=o[e],r=[];for(let e=0,i=t.length;e<i;e++){const i=t[e];let s;if(i.isInterleavedBufferAttribute){const e=n(A.data,i.data);s=new Ja(e,i.itemSize,i.offset,i.normalized)}else{const A=Kt(i.type,i.array);s=new _i(A,i.itemSize,i.normalized)}void 0!==i.name&&(s.name=i.name),r.push(s)}i.morphAttributes[e]=r}A.data.morphTargetsRelative&&(i.morphTargetsRelative=!0);const a=A.data.groups||A.data.drawcalls||A.data.offsets;if(void 0!==a)for(let A=0,e=a.length;A!==e;++A){const e=a[A];i.addGroup(e.start,e.count,e.materialIndex)}const B=A.data.boundingSphere;if(void 0!==B){const A=new Mn;void 0!==B.center&&A.fromArray(B.center),i.boundingSphere=new vn(A,B.radius)}return A.name&&(i.name=A.name),A.userData&&(i.userData=A.userData),i}}class GQ extends eQ{constructor(A){super(A)}load(A,e,t,n){const i=this,r=""===this.path?xQ.extractUrlBase(A):this.path;this.resourcePath=this.resourcePath||r;const s=new iQ(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(A,(function(t){let r=null;try{r=JSON.parse(t)}catch(e){return void 0!==n&&n(e),void console.error("THREE:ObjectLoader: Can't parse "+A+".",e.message)}const s=r.metadata;if(void 0===s||void 0===s.type||"geometry"===s.type.toLowerCase())return void 0!==n&&n(new Error("THREE.ObjectLoader: Can't load "+A)),void console.error("THREE.ObjectLoader: Can't load "+A);i.parse(r,e)}),t,n)}async loadAsync(A,e){const t=""===this.path?xQ.extractUrlBase(A):this.path;this.resourcePath=this.resourcePath||t;const n=new iQ(this.manager);n.setPath(this.path),n.setRequestHeader(this.requestHeader),n.setWithCredentials(this.withCredentials);const i=await n.loadAsync(A,e),r=JSON.parse(i),s=r.metadata;if(void 0===s||void 0===s.type||"geometry"===s.type.toLowerCase())throw new Error("THREE.ObjectLoader: Can't load "+A);return await this.parseAsync(r)}parse(A,e){const t=this.parseAnimations(A.animations),n=this.parseShapes(A.shapes),i=this.parseGeometries(A.geometries,n),r=this.parseImages(A.images,(function(){void 0!==e&&e(a)})),s=this.parseTextures(A.textures,r),o=this.parseMaterials(A.materials,s),a=this.parseObject(A.object,i,o,s,t),B=this.parseSkeletons(A.skeletons,a);if(this.bindSkeletons(a,B),void 0!==e){let A=!1;for(const e in r)if(r[e].data instanceof HTMLImageElement){A=!0;break}!1===A&&e(a)}return a}async parseAsync(A){const e=this.parseAnimations(A.animations),t=this.parseShapes(A.shapes),n=this.parseGeometries(A.geometries,t),i=await this.parseImagesAsync(A.images),r=this.parseTextures(A.textures,i),s=this.parseMaterials(A.materials,r),o=this.parseObject(A.object,n,s,r,e),a=this.parseSkeletons(A.skeletons,o);return this.bindSkeletons(o,a),o}parseShapes(A){const e={};if(void 0!==A)for(let t=0,n=A.length;t<n;t++){const n=(new Tc).fromJSON(A[t]);e[n.uuid]=n}return e}parseSkeletons(A,e){const t={},n={};if(e.traverse((function(A){A.isBone&&(n[A.uuid]=A)})),void 0!==A)for(let e=0,i=A.length;e<i;e++){const i=(new dB).fromJSON(A[e],n);t[i.uuid]=i}return t}parseGeometries(A,e){const t={};if(void 0!==A){const n=new RQ;for(let i=0,r=A.length;i<r;i++){let r;const s=A[i];switch(s.type){case"BufferGeometry":case"InstancedBufferGeometry":r=n.parse(s);break;default:s.type in Ig?r=Ig[s.type].fromJSON(s,e):console.warn(`THREE.ObjectLoader: Unsupported geometry type "${s.type}"`)}r.uuid=s.uuid,void 0!==s.name&&(r.name=s.name),void 0!==s.userData&&(r.userData=s.userData),t[s.uuid]=r}}return t}parseMaterials(A,e){const t={},n={};if(void 0!==A){const i=new yQ;i.setTextures(e);for(let e=0,r=A.length;e<r;e++){const r=A[e];void 0===t[r.uuid]&&(t[r.uuid]=i.parse(r)),n[r.uuid]=t[r.uuid]}}return n}parseAnimations(A){const e={};if(void 0!==A)for(let t=0;t<A.length;t++){const n=A[t],i=Zg.parse(n);e[i.uuid]=i}return e}parseImages(A,e){const t=this,n={};let i;function r(A){if("string"==typeof A){const e=A;return function(A){return t.manager.itemStart(A),i.load(A,(function(){t.manager.itemEnd(A)}),void 0,(function(){t.manager.itemError(A),t.manager.itemEnd(A)}))}(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(e)?e:t.resourcePath+e)}return A.data?{data:Kt(A.type,A.data),width:A.width,height:A.height}:null}if(void 0!==A&&A.length>0){const t=new $g(e);i=new oQ(t),i.setCrossOrigin(this.crossOrigin);for(let e=0,t=A.length;e<t;e++){const t=A[e],i=t.url;if(Array.isArray(i)){const A=[];for(let e=0,t=i.length;e<t;e++){const t=r(i[e]);null!==t&&(t instanceof HTMLImageElement?A.push(t):A.push(new wB(t.data,t.width,t.height)))}n[t.uuid]=new Bn(A)}else{const A=r(t.url);n[t.uuid]=new Bn(A)}}}return n}async parseImagesAsync(A){const e=this,t={};let n;async function i(A){if("string"==typeof A){const t=A,i=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(t)?t:e.resourcePath+t;return await n.loadAsync(i)}return A.data?{data:Kt(A.type,A.data),width:A.width,height:A.height}:null}if(void 0!==A&&A.length>0){n=new oQ(this.manager),n.setCrossOrigin(this.crossOrigin);for(let e=0,n=A.length;e<n;e++){const n=A[e],r=n.url;if(Array.isArray(r)){const A=[];for(let e=0,t=r.length;e<t;e++){const t=r[e],n=await i(t);null!==n&&(n instanceof HTMLImageElement?A.push(n):A.push(new wB(n.data,n.width,n.height)))}t[n.uuid]=new Bn(A)}else{const A=await i(n.url);t[n.uuid]=new Bn(A)}}}return t}parseTextures(A,e){function t(A,e){return"number"==typeof A?A:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",A),e[A])}const n={};if(void 0!==A)for(let i=0,r=A.length;i<r;i++){const r=A[i];void 0===r.image&&console.warn('THREE.ObjectLoader: No "image" specified for',r.uuid),void 0===e[r.image]&&console.warn("THREE.ObjectLoader: Undefined image",r.image);const s=e[r.image],o=s.data;let a;Array.isArray(o)?(a=new Pr,6===o.length&&(a.needsUpdate=!0)):(a=o&&o.data?new wB:new Qn,o&&(a.needsUpdate=!0)),a.source=s,a.uuid=r.uuid,void 0!==r.name&&(a.name=r.name),void 0!==r.mapping&&(a.mapping=t(r.mapping,SQ)),void 0!==r.channel&&(a.channel=r.channel),void 0!==r.offset&&a.offset.fromArray(r.offset),void 0!==r.repeat&&a.repeat.fromArray(r.repeat),void 0!==r.center&&a.center.fromArray(r.center),void 0!==r.rotation&&(a.rotation=r.rotation),void 0!==r.wrap&&(a.wrapS=t(r.wrap[0],HQ),a.wrapT=t(r.wrap[1],HQ)),void 0!==r.format&&(a.format=r.format),void 0!==r.internalFormat&&(a.internalFormat=r.internalFormat),void 0!==r.type&&(a.type=r.type),void 0!==r.colorSpace&&(a.colorSpace=r.colorSpace),void 0!==r.encoding&&(a.encoding=r.encoding),void 0!==r.minFilter&&(a.minFilter=t(r.minFilter,bQ)),void 0!==r.magFilter&&(a.magFilter=t(r.magFilter,bQ)),void 0!==r.anisotropy&&(a.anisotropy=r.anisotropy),void 0!==r.flipY&&(a.flipY=r.flipY),void 0!==r.generateMipmaps&&(a.generateMipmaps=r.generateMipmaps),void 0!==r.premultiplyAlpha&&(a.premultiplyAlpha=r.premultiplyAlpha),void 0!==r.unpackAlignment&&(a.unpackAlignment=r.unpackAlignment),void 0!==r.compareFunction&&(a.compareFunction=r.compareFunction),void 0!==r.userData&&(a.userData=r.userData),n[r.uuid]=a}return n}parseObject(A,e,t,n,i){let r,s,o;function a(A){return void 0===e[A]&&console.warn("THREE.ObjectLoader: Undefined geometry",A),e[A]}function B(A){if(void 0!==A){if(Array.isArray(A)){const e=[];for(let n=0,i=A.length;n<i;n++){const i=A[n];void 0===t[i]&&console.warn("THREE.ObjectLoader: Undefined material",i),e.push(t[i])}return e}return void 0===t[A]&&console.warn("THREE.ObjectLoader: Undefined material",A),t[A]}}function c(A){return void 0===n[A]&&console.warn("THREE.ObjectLoader: Undefined texture",A),n[A]}switch(A.type){case"Scene":r=new Ha,void 0!==A.background&&(Number.isInteger(A.background)?r.background=new zi(A.background):r.background=c(A.background)),void 0!==A.environment&&(r.environment=c(A.environment)),void 0!==A.fog&&("Fog"===A.fog.type?r.fog=new Sa(A.fog.color,A.fog.near,A.fog.far):"FogExp2"===A.fog.type&&(r.fog=new Ga(A.fog.color,A.fog.density))),void 0!==A.backgroundBlurriness&&(r.backgroundBlurriness=A.backgroundBlurriness),void 0!==A.backgroundIntensity&&(r.backgroundIntensity=A.backgroundIntensity);break;case"PerspectiveCamera":r=new vr(A.fov,A.aspect,A.near,A.far),void 0!==A.focus&&(r.focus=A.focus),void 0!==A.zoom&&(r.zoom=A.zoom),void 0!==A.filmGauge&&(r.filmGauge=A.filmGauge),void 0!==A.filmOffset&&(r.filmOffset=A.filmOffset),void 0!==A.view&&(r.view=Object.assign({},A.view));break;case"OrthographicCamera":r=new Qs(A.left,A.right,A.top,A.bottom,A.near,A.far),void 0!==A.zoom&&(r.zoom=A.zoom),void 0!==A.view&&(r.view=Object.assign({},A.view));break;case"AmbientLight":r=new YQ(A.color,A.intensity);break;case"DirectionalLight":r=new DQ(A.color,A.intensity);break;case"PointLight":r=new mQ(A.color,A.intensity,A.distance,A.decay);break;case"RectAreaLight":r=new fQ(A.color,A.intensity,A.width,A.height);break;case"SpotLight":r=new CQ(A.color,A.intensity,A.distance,A.angle,A.penumbra,A.decay);break;case"HemisphereLight":r=new QQ(A.color,A.groundColor,A.intensity);break;case"LightProbe":r=(new UQ).fromJSON(A);break;case"SkinnedMesh":s=a(A.geometry),o=B(A.material),r=new lB(s,o),void 0!==A.bindMode&&(r.bindMode=A.bindMode),void 0!==A.bindMatrix&&r.bindMatrix.fromArray(A.bindMatrix),void 0!==A.skeleton&&(r.skeleton=A.skeleton);break;case"Mesh":s=a(A.geometry),o=B(A.material),r=new Rr(s,o);break;case"InstancedMesh":s=a(A.geometry),o=B(A.material);const e=A.count,t=A.instanceMatrix,n=A.instanceColor;r=new NB(s,o,e),r.instanceMatrix=new IB(new Float32Array(t.array),16),void 0!==n&&(r.instanceColor=new IB(new Float32Array(n.array),n.itemSize));break;case"LOD":r=new iB;break;case"Line":r=new SB(a(A.geometry),B(A.material));break;case"LineLoop":r=new JB(a(A.geometry),B(A.material));break;case"LineSegments":r=new kB(a(A.geometry),B(A.material));break;case"PointCloud":case"Points":r=new OB(a(A.geometry),B(A.material));break;case"Sprite":r=new AB(B(A.material));break;case"Group":r=new Fa;break;case"Bone":r=new uB;break;default:r=new pi}if(r.uuid=A.uuid,void 0!==A.name&&(r.name=A.name),void 0!==A.matrix?(r.matrix.fromArray(A.matrix),void 0!==A.matrixAutoUpdate&&(r.matrixAutoUpdate=A.matrixAutoUpdate),r.matrixAutoUpdate&&r.matrix.decompose(r.position,r.quaternion,r.scale)):(void 0!==A.position&&r.position.fromArray(A.position),void 0!==A.rotation&&r.rotation.fromArray(A.rotation),void 0!==A.quaternion&&r.quaternion.fromArray(A.quaternion),void 0!==A.scale&&r.scale.fromArray(A.scale)),void 0!==A.up&&r.up.fromArray(A.up),void 0!==A.castShadow&&(r.castShadow=A.castShadow),void 0!==A.receiveShadow&&(r.receiveShadow=A.receiveShadow),A.shadow&&(void 0!==A.shadow.bias&&(r.shadow.bias=A.shadow.bias),void 0!==A.shadow.normalBias&&(r.shadow.normalBias=A.shadow.normalBias),void 0!==A.shadow.radius&&(r.shadow.radius=A.shadow.radius),void 0!==A.shadow.mapSize&&r.shadow.mapSize.fromArray(A.shadow.mapSize),void 0!==A.shadow.camera&&(r.shadow.camera=this.parseObject(A.shadow.camera))),void 0!==A.visible&&(r.visible=A.visible),void 0!==A.frustumCulled&&(r.frustumCulled=A.frustumCulled),void 0!==A.renderOrder&&(r.renderOrder=A.renderOrder),void 0!==A.userData&&(r.userData=A.userData),void 0!==A.layers&&(r.layers.mask=A.layers),void 0!==A.children){const s=A.children;for(let A=0;A<s.length;A++)r.add(this.parseObject(s[A],e,t,n,i))}if(void 0!==A.animations){const e=A.animations;for(let A=0;A<e.length;A++){const t=e[A];r.animations.push(i[t])}}if("LOD"===A.type){void 0!==A.autoUpdate&&(r.autoUpdate=A.autoUpdate);const e=A.levels;for(let A=0;A<e.length;A++){const t=e[A],n=r.getObjectByProperty("uuid",t.object);void 0!==n&&r.addLevel(n,t.distance,t.hysteresis)}}return r}bindSkeletons(A,e){0!==Object.keys(e).length&&A.traverse((function(A){if(!0===A.isSkinnedMesh&&void 0!==A.skeleton){const t=e[A.skeleton];void 0===t?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",A.skeleton):A.bind(t,A.bindMatrix)}}))}}const SQ={UVMapping:nA,CubeReflectionMapping:iA,CubeRefractionMapping:rA,EquirectangularReflectionMapping:sA,EquirectangularRefractionMapping:oA,CubeUVReflectionMapping:aA},HQ={RepeatWrapping:BA,ClampToEdgeWrapping:cA,MirroredRepeatWrapping:gA},bQ={NearestFilter:QA,NearestMipmapNearestFilter:EA,NearestMipmapLinearFilter:uA,LinearFilter:hA,LinearMipmapNearestFilter:CA,LinearMipmapLinearFilter:IA};class kQ extends eQ{constructor(A){super(A),this.isImageBitmapLoader=!0,"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(A){return this.options=A,this}load(A,e,t,n){void 0===A&&(A=""),void 0!==this.path&&(A=this.path+A),A=this.manager.resolveURL(A);const i=this,r=qg.get(A);if(void 0!==r)return i.manager.itemStart(A),setTimeout((function(){e&&e(r),i.manager.itemEnd(A)}),0),r;const s={};s.credentials="anonymous"===this.crossOrigin?"same-origin":"include",s.headers=this.requestHeader,fetch(A,s).then((function(A){return A.blob()})).then((function(A){return createImageBitmap(A,Object.assign(i.options,{colorSpaceConversion:"none"}))})).then((function(t){qg.add(A,t),e&&e(t),i.manager.itemEnd(A)})).catch((function(e){n&&n(e),i.manager.itemError(A),i.manager.itemEnd(A)})),i.manager.itemStart(A)}}let JQ;class jQ{static getContext(){return void 0===JQ&&(JQ=new(window.AudioContext||window.webkitAudioContext)),JQ}static setContext(A){JQ=A}}class zQ extends eQ{constructor(A){super(A)}load(A,e,t,n){const i=this,r=new iQ(this.manager);function s(e){n?n(e):console.error(e),i.manager.itemError(A)}r.setResponseType("arraybuffer"),r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(A,(function(A){try{const t=A.slice(0);jQ.getContext().decodeAudioData(t,(function(A){e(A)}),s)}catch(A){s(A)}}),t,n)}}class vQ extends UQ{constructor(A,e,t=1){super(void 0,t),this.isHemisphereLightProbe=!0;const n=(new zi).set(A),i=(new zi).set(e),r=new Mn(n.r,n.g,n.b),s=new Mn(i.r,i.g,i.b),o=Math.sqrt(Math.PI),a=o*Math.sqrt(.75);this.sh.coefficients[0].copy(r).add(s).multiplyScalar(o),this.sh.coefficients[1].copy(r).sub(s).multiplyScalar(a)}}class LQ extends UQ{constructor(A,e=1){super(void 0,e),this.isAmbientLightProbe=!0;const t=(new zi).set(A);this.sh.coefficients[0].set(t.r,t.g,t.b).multiplyScalar(2*Math.sqrt(Math.PI))}}const PQ=new _n,OQ=new _n,WQ=new _n;class VQ{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new vr,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new vr,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(A){const e=this._cache;if(e.focus!==A.focus||e.fov!==A.fov||e.aspect!==A.aspect*this.aspect||e.near!==A.near||e.far!==A.far||e.zoom!==A.zoom||e.eyeSep!==this.eyeSep){e.focus=A.focus,e.fov=A.fov,e.aspect=A.aspect*this.aspect,e.near=A.near,e.far=A.far,e.zoom=A.zoom,e.eyeSep=this.eyeSep,WQ.copy(A.projectionMatrix);const t=e.eyeSep/2,n=t*e.near/e.focus,i=e.near*Math.tan(xt*e.fov*.5)/e.zoom;let r,s;OQ.elements[12]=-t,PQ.elements[12]=t,r=-i*e.aspect+n,s=i*e.aspect+n,WQ.elements[0]=2*e.near/(s-r),WQ.elements[8]=(s+r)/(s-r),this.cameraL.projectionMatrix.copy(WQ),r=-i*e.aspect-n,s=i*e.aspect-n,WQ.elements[0]=2*e.near/(s-r),WQ.elements[8]=(s+r)/(s-r),this.cameraR.projectionMatrix.copy(WQ)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(OQ),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(PQ)}}class KQ{constructor(A=!0){this.autoStart=A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=XQ(),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 A=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=XQ();A=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=A}return A}}function XQ(){return("undefined"==typeof performance?Date:performance).now()}const ZQ=new Mn,_Q=new In,qQ=new Mn,$Q=new Mn;class AE extends pi{constructor(){super(),this.type="AudioListener",this.context=jQ.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new KQ}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(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(A){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=A,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(A){return this.gain.gain.setTargetAtTime(A,this.context.currentTime,.01),this}updateMatrixWorld(A){super.updateMatrixWorld(A);const e=this.context.listener,t=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(ZQ,_Q,qQ),$Q.set(0,0,-1).applyQuaternion(_Q),e.positionX){const A=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(ZQ.x,A),e.positionY.linearRampToValueAtTime(ZQ.y,A),e.positionZ.linearRampToValueAtTime(ZQ.z,A),e.forwardX.linearRampToValueAtTime($Q.x,A),e.forwardY.linearRampToValueAtTime($Q.y,A),e.forwardZ.linearRampToValueAtTime($Q.z,A),e.upX.linearRampToValueAtTime(t.x,A),e.upY.linearRampToValueAtTime(t.y,A),e.upZ.linearRampToValueAtTime(t.z,A)}else e.setPosition(ZQ.x,ZQ.y,ZQ.z),e.setOrientation($Q.x,$Q.y,$Q.z,t.x,t.y,t.z)}}class eE extends pi{constructor(A){super(),this.type="Audio",this.listener=A,this.context=A.context,this.gain=this.context.createGain(),this.gain.connect(A.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(A){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=A,this.connect(),this}setMediaElementSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(A),this.connect(),this}setMediaStreamSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(A),this.connect(),this}setBuffer(A){return this.buffer=A,this.sourceType="buffer",this.autoplay&&this.play(),this}play(A=0){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");this._startedAt=this.context.currentTime+A;const e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,null!==this.source&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let A=1,e=this.filters.length;A<e;A++)this.filters[A-1].connect(this.filters[A]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let A=1,e=this.filters.length;A<e;A++)this.filters[A-1].disconnect(this.filters[A]);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(A){return A||(A=[]),!0===this._connected?(this.disconnect(),this.filters=A.slice(),this.connect()):this.filters=A.slice(),this}setDetune(A){if(this.detune=A,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(A){return this.setFilters(A?[A]:[])}setPlaybackRate(A){if(!1!==this.hasPlaybackControl)return this.playbackRate=A,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this;console.warn("THREE.Audio: this Audio has no playback control.")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(A){if(!1!==this.hasPlaybackControl)return this.loop=A,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")}setLoopStart(A){return this.loopStart=A,this}setLoopEnd(A){return this.loopEnd=A,this}getVolume(){return this.gain.gain.value}setVolume(A){return this.gain.gain.setTargetAtTime(A,this.context.currentTime,.01),this}}const tE=new Mn,nE=new In,iE=new Mn,rE=new Mn;class sE extends eE{constructor(A){super(A),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(A){return this.panner.refDistance=A,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(A){return this.panner.rolloffFactor=A,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(A){return this.panner.distanceModel=A,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(A){return this.panner.maxDistance=A,this}setDirectionalCone(A,e,t){return this.panner.coneInnerAngle=A,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=t,this}updateMatrixWorld(A){if(super.updateMatrixWorld(A),!0===this.hasPlaybackControl&&!1===this.isPlaying)return;this.matrixWorld.decompose(tE,nE,iE),rE.set(0,0,1).applyQuaternion(nE);const e=this.panner;if(e.positionX){const A=this.context.currentTime+this.listener.timeDelta;e.positionX.linearRampToValueAtTime(tE.x,A),e.positionY.linearRampToValueAtTime(tE.y,A),e.positionZ.linearRampToValueAtTime(tE.z,A),e.orientationX.linearRampToValueAtTime(rE.x,A),e.orientationY.linearRampToValueAtTime(rE.y,A),e.orientationZ.linearRampToValueAtTime(rE.z,A)}else e.setPosition(tE.x,tE.y,tE.z),e.setOrientation(rE.x,rE.y,rE.z)}}class oE{constructor(A,e=2048){this.analyser=A.context.createAnalyser(),this.analyser.fftSize=e,this.data=new Uint8Array(this.analyser.frequencyBinCount),A.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let A=0;const e=this.getFrequencyData();for(let t=0;t<e.length;t++)A+=e[t];return A/e.length}}class aE{constructor(A,e,t){let n,i,r;switch(this.binding=A,this.valueSize=t,e){case"quaternion":n=this._slerp,i=this._slerpAdditive,r=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*t),this._workIndex=5;break;case"string":case"bool":n=this._select,i=this._select,r=this._setAdditiveIdentityOther,this.buffer=new Array(5*t);break;default:n=this._lerp,i=this._lerpAdditive,r=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*t)}this._mixBufferRegion=n,this._mixBufferRegionAdditive=i,this._setIdentity=r,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(A,e){const t=this.buffer,n=this.valueSize,i=A*n+n;let r=this.cumulativeWeight;if(0===r){for(let A=0;A!==n;++A)t[i+A]=t[A];r=e}else{r+=e;const A=e/r;this._mixBufferRegion(t,i,0,A,n)}this.cumulativeWeight=r}accumulateAdditive(A){const e=this.buffer,t=this.valueSize,n=t*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(e,n,0,A,t),this.cumulativeWeightAdditive+=A}apply(A){const e=this.valueSize,t=this.buffer,n=A*e+e,i=this.cumulativeWeight,r=this.cumulativeWeightAdditive,s=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,i<1){const A=e*this._origIndex;this._mixBufferRegion(t,n,A,1-i,e)}r>0&&this._mixBufferRegionAdditive(t,n,this._addIndex*e,1,e);for(let A=e,i=e+e;A!==i;++A)if(t[A]!==t[A+e]){s.setValue(t,n);break}}saveOriginalState(){const A=this.binding,e=this.buffer,t=this.valueSize,n=t*this._origIndex;A.getValue(e,n);for(let A=t,i=n;A!==i;++A)e[A]=e[n+A%t];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const A=3*this.valueSize;this.binding.setValue(this.buffer,A)}_setAdditiveIdentityNumeric(){const A=this._addIndex*this.valueSize,e=A+this.valueSize;for(let t=A;t<e;t++)this.buffer[t]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const A=this._origIndex*this.valueSize,e=this._addIndex*this.valueSize;for(let t=0;t<this.valueSize;t++)this.buffer[e+t]=this.buffer[A+t]}_select(A,e,t,n,i){if(n>=.5)for(let n=0;n!==i;++n)A[e+n]=A[t+n]}_slerp(A,e,t,n){In.slerpFlat(A,e,A,e,A,t,n)}_slerpAdditive(A,e,t,n,i){const r=this._workIndex*i;In.multiplyQuaternionsFlat(A,r,A,e,A,t),In.slerpFlat(A,e,A,e,A,r,n)}_lerp(A,e,t,n,i){const r=1-n;for(let s=0;s!==i;++s){const i=e+s;A[i]=A[i]*r+A[t+s]*n}}_lerpAdditive(A,e,t,n,i){for(let r=0;r!==i;++r){const i=e+r;A[i]=A[i]+A[t+r]*n}}}const BE=new RegExp("[\\[\\]\\.:\\/]","g"),cE="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",gE=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]")+/(WCOD+)?/.source.replace("WCOD",cE)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]")+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]")+"$"),QE=["material","materials","bones","map"];class EE{constructor(A,e,t){this.path=e,this.parsedPath=t||EE.parseTrackName(e),this.node=EE.findNode(A,this.parsedPath.nodeName),this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,e,t){return A&&A.isAnimationObjectGroup?new EE.Composite(A,e,t):new EE(A,e,t)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(BE,"")}static parseTrackName(A){const e=gE.exec(A);if(null===e)throw new Error("PropertyBinding: Cannot parse trackName: "+A);const t={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},n=t.nodeName&&t.nodeName.lastIndexOf(".");if(void 0!==n&&-1!==n){const A=t.nodeName.substring(n+1);-1!==QE.indexOf(A)&&(t.nodeName=t.nodeName.substring(0,n),t.objectName=A)}if(null===t.propertyName||0===t.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return t}static findNode(A,e){if(void 0===e||""===e||"."===e||-1===e||e===A.name||e===A.uuid)return A;if(A.skeleton){const t=A.skeleton.getBoneByName(e);if(void 0!==t)return t}if(A.children){const t=function(A){for(let n=0;n<A.length;n++){const i=A[n];if(i.name===e||i.uuid===e)return i;const r=t(i.children);if(r)return r}return null},n=t(A.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(A,e){A[e]=this.targetObject[this.propertyName]}_getValue_array(A,e){const t=this.resolvedProperty;for(let n=0,i=t.length;n!==i;++n)A[e++]=t[n]}_getValue_arrayElement(A,e){A[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(A,e){this.resolvedProperty.toArray(A,e)}_setValue_direct(A,e){this.targetObject[this.propertyName]=A[e]}_setValue_direct_setNeedsUpdate(A,e){this.targetObject[this.propertyName]=A[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(A,e){this.targetObject[this.propertyName]=A[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(A,e){const t=this.resolvedProperty;for(let n=0,i=t.length;n!==i;++n)t[n]=A[e++]}_setValue_array_setNeedsUpdate(A,e){const t=this.resolvedProperty;for(let n=0,i=t.length;n!==i;++n)t[n]=A[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(A,e){const t=this.resolvedProperty;for(let n=0,i=t.length;n!==i;++n)t[n]=A[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(A,e){this.resolvedProperty[this.propertyIndex]=A[e]}_setValue_arrayElement_setNeedsUpdate(A,e){this.resolvedProperty[this.propertyIndex]=A[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(A,e){this.resolvedProperty[this.propertyIndex]=A[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(A,e){this.resolvedProperty.fromArray(A,e)}_setValue_fromArray_setNeedsUpdate(A,e){this.resolvedProperty.fromArray(A,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(A,e){this.resolvedProperty.fromArray(A,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(A,e){this.bind(),this.getValue(A,e)}_setValue_unbound(A,e){this.bind(),this.setValue(A,e)}bind(){let A=this.node;const e=this.parsedPath,t=e.objectName,n=e.propertyName;let i=e.propertyIndex;if(A||(A=EE.findNode(this.rootNode,e.nodeName),this.node=A),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!A)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(t){let n=e.objectIndex;switch(t){case"materials":if(!A.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!A.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);A=A.material.materials;break;case"bones":if(!A.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);A=A.skeleton.bones;for(let e=0;e<A.length;e++)if(A[e].name===n){n=e;break}break;case"map":if("map"in A){A=A.map;break}if(!A.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!A.material.map)return void console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);A=A.material.map;break;default:if(void 0===A[t])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);A=A[t]}if(void 0!==n){if(void 0===A[n])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,A);A=A[n]}}const r=A[n];if(void 0===r){const t=e.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+t+"."+n+" but it wasn't found.",A)}let s=this.Versioning.None;this.targetObject=A,void 0!==A.needsUpdate?s=this.Versioning.NeedsUpdate:void 0!==A.matrixWorldNeedsUpdate&&(s=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==i){if("morphTargetInfluences"===n){if(!A.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!A.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==A.morphTargetDictionary[i]&&(i=A.morphTargetDictionary[i])}o=this.BindingType.ArrayElement,this.resolvedProperty=r,this.propertyIndex=i}else void 0!==r.fromArray&&void 0!==r.toArray?(o=this.BindingType.HasFromToArray,this.resolvedProperty=r):Array.isArray(r)?(o=this.BindingType.EntireArray,this.resolvedProperty=r):this.propertyName=n;this.getValue=this.GetterByBindingType[o],this.setValue=this.SetterByBindingTypeAndVersioning[o][s]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}EE.Composite=class{constructor(A,e,t){const n=t||EE.parseTrackName(e);this._targetGroup=A,this._bindings=A.subscribe_(e,n)}getValue(A,e){this.bind();const t=this._targetGroup.nCachedObjects_,n=this._bindings[t];void 0!==n&&n.getValue(A,e)}setValue(A,e){const t=this._bindings;for(let n=this._targetGroup.nCachedObjects_,i=t.length;n!==i;++n)t[n].setValue(A,e)}bind(){const A=this._bindings;for(let e=this._targetGroup.nCachedObjects_,t=A.length;e!==t;++e)A[e].bind()}unbind(){const A=this._bindings;for(let e=this._targetGroup.nCachedObjects_,t=A.length;e!==t;++e)A[e].unbind()}},EE.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},EE.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},EE.prototype.GetterByBindingType=[EE.prototype._getValue_direct,EE.prototype._getValue_array,EE.prototype._getValue_arrayElement,EE.prototype._getValue_toArray],EE.prototype.SetterByBindingTypeAndVersioning=[[EE.prototype._setValue_direct,EE.prototype._setValue_direct_setNeedsUpdate,EE.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[EE.prototype._setValue_array,EE.prototype._setValue_array_setNeedsUpdate,EE.prototype._setValue_array_setMatrixWorldNeedsUpdate],[EE.prototype._setValue_arrayElement,EE.prototype._setValue_arrayElement_setNeedsUpdate,EE.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[EE.prototype._setValue_fromArray,EE.prototype._setValue_fromArray_setNeedsUpdate,EE.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class lE{constructor(){this.isAnimationObjectGroup=!0,this.uuid=Rt(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const A={};this._indicesByUUID=A;for(let e=0,t=arguments.length;e!==t;++e)A[arguments[e].uuid]=e;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}add(){const A=this._objects,e=this._indicesByUUID,t=this._paths,n=this._parsedPaths,i=this._bindings,r=i.length;let s=void 0,o=A.length,a=this.nCachedObjects_;for(let B=0,c=arguments.length;B!==c;++B){const c=arguments[B],g=c.uuid;let Q=e[g];if(void 0===Q){Q=o++,e[g]=Q,A.push(c);for(let A=0,e=r;A!==e;++A)i[A].push(new EE(c,t[A],n[A]))}else if(Q<a){s=A[Q];const o=--a,B=A[o];e[B.uuid]=Q,A[Q]=B,e[g]=o,A[o]=c;for(let A=0,e=r;A!==e;++A){const e=i[A],r=e[o];let s=e[Q];e[Q]=r,void 0===s&&(s=new EE(c,t[A],n[A])),e[o]=s}}else A[Q]!==s&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=a}remove(){const A=this._objects,e=this._indicesByUUID,t=this._bindings,n=t.length;let i=this.nCachedObjects_;for(let r=0,s=arguments.length;r!==s;++r){const s=arguments[r],o=s.uuid,a=e[o];if(void 0!==a&&a>=i){const r=i++,B=A[r];e[B.uuid]=a,A[a]=B,e[o]=r,A[r]=s;for(let A=0,e=n;A!==e;++A){const e=t[A],n=e[r],i=e[a];e[a]=n,e[r]=i}}}this.nCachedObjects_=i}uncache(){const A=this._objects,e=this._indicesByUUID,t=this._bindings,n=t.length;let i=this.nCachedObjects_,r=A.length;for(let s=0,o=arguments.length;s!==o;++s){const o=arguments[s].uuid,a=e[o];if(void 0!==a)if(delete e[o],a<i){const s=--i,o=A[s],B=--r,c=A[B];e[o.uuid]=a,A[a]=o,e[c.uuid]=s,A[s]=c,A.pop();for(let A=0,e=n;A!==e;++A){const e=t[A],n=e[s],i=e[B];e[a]=n,e[s]=i,e.pop()}}else{const i=--r,s=A[i];i>0&&(e[s.uuid]=a),A[a]=s,A.pop();for(let A=0,e=n;A!==e;++A){const e=t[A];e[a]=e[i],e.pop()}}}this.nCachedObjects_=i}subscribe_(A,e){const t=this._bindingsIndicesByPath;let n=t[A];const i=this._bindings;if(void 0!==n)return i[n];const r=this._paths,s=this._parsedPaths,o=this._objects,a=o.length,B=this.nCachedObjects_,c=new Array(a);n=i.length,t[A]=n,r.push(A),s.push(e),i.push(c);for(let t=B,n=o.length;t!==n;++t){const n=o[t];c[t]=new EE(n,A,e)}return c}unsubscribe_(A){const e=this._bindingsIndicesByPath,t=e[A];if(void 0!==t){const n=this._paths,i=this._parsedPaths,r=this._bindings,s=r.length-1,o=r[s];e[A[s]]=t,r[t]=o,r.pop(),i[t]=i[s],i.pop(),n[t]=n[s],n.pop()}}}class uE{constructor(A,e,t=null,n=e.blendMode){this._mixer=A,this._clip=e,this._localRoot=t,this.blendMode=n;const i=e.tracks,r=i.length,s=new Array(r),o={endingStart:Ye,endingEnd:Ye};for(let A=0;A!==r;++A){const e=i[A].createInterpolant(null);s[A]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=s,this._propertyBindings=new Array(r),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Me,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&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(A){return this._startTime=A,this}setLoop(A,e){return this.loop=A,this.repetitions=e,this}setEffectiveWeight(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(A){return this._scheduleFading(A,0,1)}fadeOut(A){return this._scheduleFading(A,1,0)}crossFadeFrom(A,e,t){if(A.fadeOut(e),this.fadeIn(e),t){const t=this._clip.duration,n=A._clip.duration,i=n/t,r=t/n;A.warp(1,i,e),this.warp(r,1,e)}return this}crossFadeTo(A,e,t){return A.crossFadeFrom(this,e,t)}stopFading(){const A=this._weightInterpolant;return null!==A&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}setEffectiveTimeScale(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(A){return this.timeScale=this._clip.duration/A,this.stopWarping()}syncWith(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()}halt(A){return this.warp(this._effectiveTimeScale,0,A)}warp(A,e,t){const n=this._mixer,i=n.time,r=this.timeScale;let s=this._timeScaleInterpolant;null===s&&(s=n._lendControlInterpolant(),this._timeScaleInterpolant=s);const o=s.parameterPositions,a=s.sampleValues;return o[0]=i,o[1]=i+t,a[0]=A/r,a[1]=e/r,this}stopWarping(){const A=this._timeScaleInterpolant;return null!==A&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(A,e,t,n){if(!this.enabled)return void this._updateWeight(A);const i=this._startTime;if(null!==i){const n=(A-i)*t;n<0||0===t?e=0:(this._startTime=null,e=t*n)}e*=this._updateTimeScale(A);const r=this._updateTime(e),s=this._updateWeight(A);if(s>0){const A=this._interpolants,e=this._propertyBindings;switch(this.blendMode){case ye:for(let t=0,n=A.length;t!==n;++t)A[t].evaluate(r),e[t].accumulateAdditive(s);break;case Ue:default:for(let t=0,i=A.length;t!==i;++t)A[t].evaluate(r),e[t].accumulate(n,s)}}}_updateWeight(A){let e=0;if(this.enabled){e=this.weight;const t=this._weightInterpolant;if(null!==t){const n=t.evaluate(A)[0];e*=n,A>t.parameterPositions[1]&&(this.stopFading(),0===n&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(A){let e=0;if(!this.paused){e=this.timeScale;const t=this._timeScaleInterpolant;if(null!==t){e*=t.evaluate(A)[0],A>t.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(A){const e=this._clip.duration,t=this.loop;let n=this.time+A,i=this._loopCount;const r=t===pe;if(0===A)return-1===i?n:r&&1==(1&i)?e-n:n;if(t===Ie){-1===i&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(n>=e)n=e;else{if(!(n<0)){this.time=n;break A}n=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=n,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(-1===i&&(A>=0?(i=0,this._setEndings(!0,0===this.repetitions,r)):this._setEndings(0===this.repetitions,!0,r)),n>=e||n<0){const t=Math.floor(n/e);n-=e*t,i+=Math.abs(t);const s=this.repetitions-i;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,n=A>0?e:0,this.time=n,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(1===s){const e=A<0;this._setEndings(e,!e,r)}else this._setEndings(!1,!1,r);this._loopCount=i,this.time=n,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:t})}}else this.time=n;if(r&&1==(1&i))return e-n}return n}_setEndings(A,e,t){const n=this._interpolantSettings;t?(n.endingStart=fe,n.endingEnd=fe):(n.endingStart=A?this.zeroSlopeAtStart?fe:Ye:Ne,n.endingEnd=e?this.zeroSlopeAtEnd?fe:Ye:Ne)}_scheduleFading(A,e,t){const n=this._mixer,i=n.time;let r=this._weightInterpolant;null===r&&(r=n._lendControlInterpolant(),this._weightInterpolant=r);const s=r.parameterPositions,o=r.sampleValues;return s[0]=i,o[0]=e,s[1]=i+A,o[1]=t,this}}const wE=new Float32Array(1);class hE extends Nt{constructor(A){super(),this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(A,e){const t=A._localRoot||this._root,n=A._clip.tracks,i=n.length,r=A._propertyBindings,s=A._interpolants,o=t.uuid,a=this._bindingsByRootAndName;let B=a[o];void 0===B&&(B={},a[o]=B);for(let A=0;A!==i;++A){const i=n[A],a=i.name;let c=B[a];if(void 0!==c)++c.referenceCount,r[A]=c;else{if(c=r[A],void 0!==c){null===c._cacheIndex&&(++c.referenceCount,this._addInactiveBinding(c,o,a));continue}const n=e&&e._propertyBindings[A].binding.parsedPath;c=new aE(EE.create(t,a,n),i.ValueTypeName,i.getValueSize()),++c.referenceCount,this._addInactiveBinding(c,o,a),r[A]=c}s[A].resultBuffer=c.buffer}}_activateAction(A){if(!this._isActiveAction(A)){if(null===A._cacheIndex){const e=(A._localRoot||this._root).uuid,t=A._clip.uuid,n=this._actionsByClip[t];this._bindAction(A,n&&n.knownActions[0]),this._addInactiveAction(A,t,e)}const e=A._propertyBindings;for(let A=0,t=e.length;A!==t;++A){const t=e[A];0==t.useCount++&&(this._lendBinding(t),t.saveOriginalState())}this._lendAction(A)}}_deactivateAction(A){if(this._isActiveAction(A)){const e=A._propertyBindings;for(let A=0,t=e.length;A!==t;++A){const t=e[A];0==--t.useCount&&(t.restoreOriginalState(),this._takeBackBinding(t))}this._takeBackAction(A)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}}_isActiveAction(A){const e=A._cacheIndex;return null!==e&&e<this._nActiveActions}_addInactiveAction(A,e,t){const n=this._actions,i=this._actionsByClip;let r=i[e];if(void 0===r)r={knownActions:[A],actionByRoot:{}},A._byClipCacheIndex=0,i[e]=r;else{const e=r.knownActions;A._byClipCacheIndex=e.length,e.push(A)}A._cacheIndex=n.length,n.push(A),r.actionByRoot[t]=A}_removeInactiveAction(A){const e=this._actions,t=e[e.length-1],n=A._cacheIndex;t._cacheIndex=n,e[n]=t,e.pop(),A._cacheIndex=null;const i=A._clip.uuid,r=this._actionsByClip,s=r[i],o=s.knownActions,a=o[o.length-1],B=A._byClipCacheIndex;a._byClipCacheIndex=B,o[B]=a,o.pop(),A._byClipCacheIndex=null;delete s.actionByRoot[(A._localRoot||this._root).uuid],0===o.length&&delete r[i],this._removeInactiveBindingsForAction(A)}_removeInactiveBindingsForAction(A){const e=A._propertyBindings;for(let A=0,t=e.length;A!==t;++A){const t=e[A];0==--t.referenceCount&&this._removeInactiveBinding(t)}}_lendAction(A){const e=this._actions,t=A._cacheIndex,n=this._nActiveActions++,i=e[n];A._cacheIndex=n,e[n]=A,i._cacheIndex=t,e[t]=i}_takeBackAction(A){const e=this._actions,t=A._cacheIndex,n=--this._nActiveActions,i=e[n];A._cacheIndex=n,e[n]=A,i._cacheIndex=t,e[t]=i}_addInactiveBinding(A,e,t){const n=this._bindingsByRootAndName,i=this._bindings;let r=n[e];void 0===r&&(r={},n[e]=r),r[t]=A,A._cacheIndex=i.length,i.push(A)}_removeInactiveBinding(A){const e=this._bindings,t=A.binding,n=t.rootNode.uuid,i=t.path,r=this._bindingsByRootAndName,s=r[n],o=e[e.length-1],a=A._cacheIndex;o._cacheIndex=a,e[a]=o,e.pop(),delete s[i],0===Object.keys(s).length&&delete r[n]}_lendBinding(A){const e=this._bindings,t=A._cacheIndex,n=this._nActiveBindings++,i=e[n];A._cacheIndex=n,e[n]=A,i._cacheIndex=t,e[t]=i}_takeBackBinding(A){const e=this._bindings,t=A._cacheIndex,n=--this._nActiveBindings,i=e[n];A._cacheIndex=n,e[n]=A,i._cacheIndex=t,e[t]=i}_lendControlInterpolant(){const A=this._controlInterpolants,e=this._nActiveControlInterpolants++;let t=A[e];return void 0===t&&(t=new jg(new Float32Array(2),new Float32Array(2),1,wE),t.__cacheIndex=e,A[e]=t),t}_takeBackControlInterpolant(A){const e=this._controlInterpolants,t=A.__cacheIndex,n=--this._nActiveControlInterpolants,i=e[n];A.__cacheIndex=n,e[n]=A,i.__cacheIndex=t,e[t]=i}clipAction(A,e,t){const n=e||this._root,i=n.uuid;let r="string"==typeof A?Zg.findByName(n,A):A;const s=null!==r?r.uuid:A,o=this._actionsByClip[s];let a=null;if(void 0===t&&(t=null!==r?r.blendMode:Ue),void 0!==o){const A=o.actionByRoot[i];if(void 0!==A&&A.blendMode===t)return A;a=o.knownActions[0],null===r&&(r=a._clip)}if(null===r)return null;const B=new uE(this,r,e,t);return this._bindAction(B,a),this._addInactiveAction(B,s,i),B}existingAction(A,e){const t=e||this._root,n=t.uuid,i="string"==typeof A?Zg.findByName(t,A):A,r=i?i.uuid:A,s=this._actionsByClip[r];return void 0!==s&&s.actionByRoot[n]||null}stopAllAction(){const A=this._actions;for(let e=this._nActiveActions-1;e>=0;--e)A[e].stop();return this}update(A){A*=this.timeScale;const e=this._actions,t=this._nActiveActions,n=this.time+=A,i=Math.sign(A),r=this._accuIndex^=1;for(let s=0;s!==t;++s){e[s]._update(n,A,i,r)}const s=this._bindings,o=this._nActiveBindings;for(let A=0;A!==o;++A)s[A].apply(r);return this}setTime(A){this.time=0;for(let A=0;A<this._actions.length;A++)this._actions[A].time=0;return this.update(A)}getRoot(){return this._root}uncacheClip(A){const e=this._actions,t=A.uuid,n=this._actionsByClip,i=n[t];if(void 0!==i){const A=i.knownActions;for(let t=0,n=A.length;t!==n;++t){const n=A[t];this._deactivateAction(n);const i=n._cacheIndex,r=e[e.length-1];n._cacheIndex=null,n._byClipCacheIndex=null,r._cacheIndex=i,e[i]=r,e.pop(),this._removeInactiveBindingsForAction(n)}delete n[t]}}uncacheRoot(A){const e=A.uuid,t=this._actionsByClip;for(const A in t){const n=t[A].actionByRoot[e];void 0!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}const n=this._bindingsByRootAndName[e];if(void 0!==n)for(const A in n){const e=n[A];e.restoreOriginalState(),this._removeInactiveBinding(e)}}uncacheAction(A,e){const t=this.existingAction(A,e);null!==t&&(this._deactivateAction(t),this._removeInactiveAction(t))}}class CE{constructor(A){this.value=A}clone(){return new CE(void 0===this.value.clone?this.value:this.value.clone())}}let dE=0;class IE extends Nt{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,"id",{value:dE++}),this.name="",this.usage=lt,this.uniforms=[]}add(A){return this.uniforms.push(A),this}remove(A){const e=this.uniforms.indexOf(A);return-1!==e&&this.uniforms.splice(e,1),this}setName(A){return this.name=A,this}setUsage(A){return this.usage=A,this}dispose(){return this.dispatchEvent({type:"dispose"}),this}copy(A){this.name=A.name,this.usage=A.usage;const e=A.uniforms;this.uniforms.length=0;for(let A=0,t=e.length;A<t;A++)this.uniforms.push(e[A].clone());return this}clone(){return(new this.constructor).copy(this)}}class ME extends ba{constructor(A,e,t=1){super(A,e),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=t}copy(A){return super.copy(A),this.meshPerAttribute=A.meshPerAttribute,this}clone(A){const e=super.clone(A);return e.meshPerAttribute=this.meshPerAttribute,e}toJSON(A){const e=super.toJSON(A);return e.isInstancedInterleavedBuffer=!0,e.meshPerAttribute=this.meshPerAttribute,e}}class pE{constructor(A,e,t,n,i){this.isGLBufferAttribute=!0,this.name="",this.buffer=A,this.type=e,this.itemSize=t,this.elementSize=n,this.count=i,this.version=0}set needsUpdate(A){!0===A&&this.version++}setBuffer(A){return this.buffer=A,this}setType(A,e){return this.type=A,this.elementSize=e,this}setItemSize(A){return this.itemSize=A,this}setCount(A){return this.count=A,this}}class mE{constructor(A,e,t=0,n=1/0){this.ray=new Zn(A,e),this.near=t,this.far=n,this.camera=null,this.layers=new ai,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(A,e){this.ray.set(A,e)}setFromCamera(A,e){e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(A.x,A.y,.5).unproject(e).sub(this.ray.origin).normalize(),this.camera=e):e.isOrthographicCamera?(this.ray.origin.set(A.x,A.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld),this.camera=e):console.error("THREE.Raycaster: Unsupported camera type: "+e.type)}intersectObject(A,e=!0,t=[]){return DE(A,this,t,e),t.sort(FE),t}intersectObjects(A,e=!0,t=[]){for(let n=0,i=A.length;n<i;n++)DE(A[n],this,t,e);return t.sort(FE),t}}function FE(A,e){return A.distance-e.distance}function DE(A,e,t,n){if(A.layers.test(e.layers)&&A.raycast(e,t),!0===n){const n=A.children;for(let A=0,i=n.length;A<i;A++)DE(n[A],e,t,!0)}}class YE{constructor(A=1,e=0,t=0){return this.radius=A,this.phi=e,this.theta=t,this}set(A,e,t){return this.radius=A,this.phi=e,this.theta=t,this}copy(A){return this.radius=A.radius,this.phi=A.phi,this.theta=A.theta,this}makeSafe(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}setFromVector3(A){return this.setFromCartesianCoords(A.x,A.y,A.z)}setFromCartesianCoords(A,e,t){return this.radius=Math.sqrt(A*A+e*e+t*t),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(A,t),this.phi=Math.acos(Gt(e/this.radius,-1,1))),this}clone(){return(new this.constructor).copy(this)}}class fE{constructor(A=1,e=0,t=0){return this.radius=A,this.theta=e,this.y=t,this}set(A,e,t){return this.radius=A,this.theta=e,this.y=t,this}copy(A){return this.radius=A.radius,this.theta=A.theta,this.y=A.y,this}setFromVector3(A){return this.setFromCartesianCoords(A.x,A.y,A.z)}setFromCartesianCoords(A,e,t){return this.radius=Math.sqrt(A*A+t*t),this.theta=Math.atan2(A,t),this.y=e,this}clone(){return(new this.constructor).copy(this)}}const NE=new Lt;class UE{constructor(A=new Lt(1/0,1/0),e=new Lt(-1/0,-1/0)){this.isBox2=!0,this.min=A,this.max=e}set(A,e){return this.min.copy(A),this.max.copy(e),this}setFromPoints(A){this.makeEmpty();for(let e=0,t=A.length;e<t;e++)this.expandByPoint(A[e]);return this}setFromCenterAndSize(A,e){const t=NE.copy(e).multiplyScalar(.5);return this.min.copy(A).sub(t),this.max.copy(A).add(t),this}clone(){return(new this.constructor).copy(this)}copy(A){return this.min.copy(A.min),this.max.copy(A.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(A){return this.isEmpty()?A.set(0,0):A.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(A){return this.isEmpty()?A.set(0,0):A.subVectors(this.max,this.min)}expandByPoint(A){return this.min.min(A),this.max.max(A),this}expandByVector(A){return this.min.sub(A),this.max.add(A),this}expandByScalar(A){return this.min.addScalar(-A),this.max.addScalar(A),this}containsPoint(A){return!(A.x<this.min.x||A.x>this.max.x||A.y<this.min.y||A.y>this.max.y)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y}getParameter(A,e){return e.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(A){return!(A.max.x<this.min.x||A.min.x>this.max.x||A.max.y<this.min.y||A.min.y>this.max.y)}clampPoint(A,e){return e.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,NE).distanceTo(A)}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const yE=new Mn,xE=new Mn;class TE{constructor(A=new Mn,e=new Mn){this.start=A,this.end=e}set(A,e){return this.start.copy(A),this.end.copy(e),this}copy(A){return this.start.copy(A.start),this.end.copy(A.end),this}getCenter(A){return A.addVectors(this.start,this.end).multiplyScalar(.5)}delta(A){return A.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(A,e){return this.delta(e).multiplyScalar(A).add(this.start)}closestPointToPointParameter(A,e){yE.subVectors(A,this.start),xE.subVectors(this.end,this.start);const t=xE.dot(xE);let n=xE.dot(yE)/t;return e&&(n=Gt(n,0,1)),n}closestPointToPoint(A,e,t){const n=this.closestPointToPointParameter(A,e);return this.delta(t).multiplyScalar(n).add(this.start)}applyMatrix4(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this}equals(A){return A.start.equals(this.start)&&A.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const RE=new Mn;class GE extends pi{constructor(A,e){super(),this.light=A,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=e,this.type="SpotLightHelper";const t=new ur,n=[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 A=0,e=1,t=32;A<t;A++,e++){const i=A/t*Math.PI*2,r=e/t*Math.PI*2;n.push(Math.cos(i),Math.sin(i),1,Math.cos(r),Math.sin(r),1)}t.setAttribute("position",new sr(n,3));const i=new UB({fog:!1,toneMapped:!1});this.cone=new kB(t,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);const A=this.light.distance?this.light.distance:1e3,e=A*Math.tan(this.light.angle);this.cone.scale.set(e,e,A),RE.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(RE),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}const SE=new Mn,HE=new _n,bE=new _n;class kE extends kB{constructor(A){const e=function A(e){const t=[];!0===e.isBone&&t.push(e);for(let n=0;n<e.children.length;n++)t.push.apply(t,A(e.children[n]));return t}(A),t=new ur,n=[],i=[],r=new zi(0,0,1),s=new zi(0,1,0);for(let A=0;A<e.length;A++){const t=e[A];t.parent&&t.parent.isBone&&(n.push(0,0,0),n.push(0,0,0),i.push(r.r,r.g,r.b),i.push(s.r,s.g,s.b))}t.setAttribute("position",new sr(n,3)),t.setAttribute("color",new sr(i,3));super(t,new UB({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0})),this.isSkeletonHelper=!0,this.type="SkeletonHelper",this.root=A,this.bones=e,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(A){const e=this.bones,t=this.geometry,n=t.getAttribute("position");bE.copy(this.root.matrixWorld).invert();for(let A=0,t=0;A<e.length;A++){const i=e[A];i.parent&&i.parent.isBone&&(HE.multiplyMatrices(bE,i.matrixWorld),SE.setFromMatrixPosition(HE),n.setXYZ(t,SE.x,SE.y,SE.z),HE.multiplyMatrices(bE,i.parent.matrixWorld),SE.setFromMatrixPosition(HE),n.setXYZ(t+1,SE.x,SE.y,SE.z),t+=2)}t.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(A)}dispose(){this.geometry.dispose(),this.material.dispose()}}class JE extends Rr{constructor(A,e,t){super(new Eg(e,4,2),new Li({wireframe:!0,fog:!1,toneMapped:!1})),this.light=A,this.color=t,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),void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}const jE=new Mn,zE=new zi,vE=new zi;class LE extends pi{constructor(A,e,t){super(),this.light=A,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="HemisphereLightHelper";const n=new cg(e);n.rotateY(.5*Math.PI),this.material=new Li({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);const i=n.getAttribute("position"),r=new Float32Array(3*i.count);n.setAttribute("color",new _i(r,3)),this.add(new Rr(n,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const A=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const e=A.geometry.getAttribute("color");zE.copy(this.light.color),vE.copy(this.light.groundColor);for(let A=0,t=e.count;A<t;A++){const n=A<t/2?zE:vE;e.setXYZ(A,n.r,n.g,n.b)}e.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),A.lookAt(jE.setFromMatrixPosition(this.light.matrixWorld).negate())}}class PE extends kB{constructor(A=10,e=10,t=4473924,n=8947848){t=new zi(t),n=new zi(n);const i=e/2,r=A/e,s=A/2,o=[],a=[];for(let A=0,B=0,c=-s;A<=e;A++,c+=r){o.push(-s,0,c,s,0,c),o.push(c,0,-s,c,0,s);const e=A===i?t:n;e.toArray(a,B),B+=3,e.toArray(a,B),B+=3,e.toArray(a,B),B+=3,e.toArray(a,B),B+=3}const B=new ur;B.setAttribute("position",new sr(o,3)),B.setAttribute("color",new sr(a,3));super(B,new UB({vertexColors:!0,toneMapped:!1})),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}class OE extends kB{constructor(A=10,e=16,t=8,n=64,i=4473924,r=8947848){i=new zi(i),r=new zi(r);const s=[],o=[];if(e>1)for(let t=0;t<e;t++){const n=t/e*(2*Math.PI),a=Math.sin(n)*A,B=Math.cos(n)*A;s.push(0,0,0),s.push(a,0,B);const c=1&t?i:r;o.push(c.r,c.g,c.b),o.push(c.r,c.g,c.b)}for(let e=0;e<t;e++){const a=1&e?i:r,B=A-A/t*e;for(let A=0;A<n;A++){let e=A/n*(2*Math.PI),t=Math.sin(e)*B,i=Math.cos(e)*B;s.push(t,0,i),o.push(a.r,a.g,a.b),e=(A+1)/n*(2*Math.PI),t=Math.sin(e)*B,i=Math.cos(e)*B,s.push(t,0,i),o.push(a.r,a.g,a.b)}}const a=new ur;a.setAttribute("position",new sr(s,3)),a.setAttribute("color",new sr(o,3));super(a,new UB({vertexColors:!0,toneMapped:!1})),this.type="PolarGridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}const WE=new Mn,VE=new Mn,KE=new Mn;class XE extends pi{constructor(A,e,t){super(),this.light=A,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="DirectionalLightHelper",void 0===e&&(e=1);let n=new ur;n.setAttribute("position",new sr([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));const i=new UB({fog:!1,toneMapped:!1});this.lightPlane=new SB(n,i),this.add(this.lightPlane),n=new ur,n.setAttribute("position",new sr([0,0,0,0,0,1],3)),this.targetLine=new SB(n,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),WE.setFromMatrixPosition(this.light.matrixWorld),VE.setFromMatrixPosition(this.light.target.matrixWorld),KE.subVectors(VE,WE),this.lightPlane.lookAt(VE),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(VE),this.targetLine.scale.z=KE.length()}}const ZE=new Mn,_E=new zr;class qE extends kB{constructor(A){const e=new ur,t=new UB({color:16777215,vertexColors:!0,toneMapped:!1}),n=[],i=[],r={};function s(A,e){o(A),o(e)}function o(A){n.push(0,0,0),i.push(0,0,0),void 0===r[A]&&(r[A]=[]),r[A].push(n.length/3-1)}s("n1","n2"),s("n2","n4"),s("n4","n3"),s("n3","n1"),s("f1","f2"),s("f2","f4"),s("f4","f3"),s("f3","f1"),s("n1","f1"),s("n2","f2"),s("n3","f3"),s("n4","f4"),s("p","n1"),s("p","n2"),s("p","n3"),s("p","n4"),s("u1","u2"),s("u2","u3"),s("u3","u1"),s("c","t"),s("p","c"),s("cn1","cn2"),s("cn3","cn4"),s("cf1","cf2"),s("cf3","cf4"),e.setAttribute("position",new sr(n,3)),e.setAttribute("color",new sr(i,3)),super(e,t),this.type="CameraHelper",this.camera=A,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=r,this.update();const a=new zi(16755200),B=new zi(16711680),c=new zi(43775),g=new zi(16777215),Q=new zi(3355443);this.setColors(a,B,c,g,Q)}setColors(A,e,t,n,i){const r=this.geometry.getAttribute("color");r.setXYZ(0,A.r,A.g,A.b),r.setXYZ(1,A.r,A.g,A.b),r.setXYZ(2,A.r,A.g,A.b),r.setXYZ(3,A.r,A.g,A.b),r.setXYZ(4,A.r,A.g,A.b),r.setXYZ(5,A.r,A.g,A.b),r.setXYZ(6,A.r,A.g,A.b),r.setXYZ(7,A.r,A.g,A.b),r.setXYZ(8,A.r,A.g,A.b),r.setXYZ(9,A.r,A.g,A.b),r.setXYZ(10,A.r,A.g,A.b),r.setXYZ(11,A.r,A.g,A.b),r.setXYZ(12,A.r,A.g,A.b),r.setXYZ(13,A.r,A.g,A.b),r.setXYZ(14,A.r,A.g,A.b),r.setXYZ(15,A.r,A.g,A.b),r.setXYZ(16,A.r,A.g,A.b),r.setXYZ(17,A.r,A.g,A.b),r.setXYZ(18,A.r,A.g,A.b),r.setXYZ(19,A.r,A.g,A.b),r.setXYZ(20,A.r,A.g,A.b),r.setXYZ(21,A.r,A.g,A.b),r.setXYZ(22,A.r,A.g,A.b),r.setXYZ(23,A.r,A.g,A.b),r.setXYZ(24,e.r,e.g,e.b),r.setXYZ(25,e.r,e.g,e.b),r.setXYZ(26,e.r,e.g,e.b),r.setXYZ(27,e.r,e.g,e.b),r.setXYZ(28,e.r,e.g,e.b),r.setXYZ(29,e.r,e.g,e.b),r.setXYZ(30,e.r,e.g,e.b),r.setXYZ(31,e.r,e.g,e.b),r.setXYZ(32,t.r,t.g,t.b),r.setXYZ(33,t.r,t.g,t.b),r.setXYZ(34,t.r,t.g,t.b),r.setXYZ(35,t.r,t.g,t.b),r.setXYZ(36,t.r,t.g,t.b),r.setXYZ(37,t.r,t.g,t.b),r.setXYZ(38,n.r,n.g,n.b),r.setXYZ(39,n.r,n.g,n.b),r.setXYZ(40,i.r,i.g,i.b),r.setXYZ(41,i.r,i.g,i.b),r.setXYZ(42,i.r,i.g,i.b),r.setXYZ(43,i.r,i.g,i.b),r.setXYZ(44,i.r,i.g,i.b),r.setXYZ(45,i.r,i.g,i.b),r.setXYZ(46,i.r,i.g,i.b),r.setXYZ(47,i.r,i.g,i.b),r.setXYZ(48,i.r,i.g,i.b),r.setXYZ(49,i.r,i.g,i.b),r.needsUpdate=!0}update(){const A=this.geometry,e=this.pointMap;_E.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),$E("c",e,A,_E,0,0,-1),$E("t",e,A,_E,0,0,1),$E("n1",e,A,_E,-1,-1,-1),$E("n2",e,A,_E,1,-1,-1),$E("n3",e,A,_E,-1,1,-1),$E("n4",e,A,_E,1,1,-1),$E("f1",e,A,_E,-1,-1,1),$E("f2",e,A,_E,1,-1,1),$E("f3",e,A,_E,-1,1,1),$E("f4",e,A,_E,1,1,1),$E("u1",e,A,_E,.7,1.1,-1),$E("u2",e,A,_E,-.7,1.1,-1),$E("u3",e,A,_E,0,2,-1),$E("cf1",e,A,_E,-1,0,1),$E("cf2",e,A,_E,1,0,1),$E("cf3",e,A,_E,0,-1,1),$E("cf4",e,A,_E,0,1,1),$E("cn1",e,A,_E,-1,0,-1),$E("cn2",e,A,_E,1,0,-1),$E("cn3",e,A,_E,0,-1,-1),$E("cn4",e,A,_E,0,1,-1),A.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}}function $E(A,e,t,n,i,r,s){ZE.set(i,r,s).unproject(n);const o=e[A];if(void 0!==o){const A=t.getAttribute("position");for(let e=0,t=o.length;e<t;e++)A.setXYZ(o[e],ZE.x,ZE.y,ZE.z)}}const Al=new Fn;class el extends kB{constructor(A,e=16776960){const t=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]),n=new Float32Array(24),i=new ur;i.setIndex(new _i(t,1)),i.setAttribute("position",new _i(n,3)),super(i,new UB({color:e,toneMapped:!1})),this.object=A,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(A){if(void 0!==A&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&Al.setFromObject(this.object),Al.isEmpty())return;const e=Al.min,t=Al.max,n=this.geometry.attributes.position,i=n.array;i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=e.x,i[4]=t.y,i[5]=t.z,i[6]=e.x,i[7]=e.y,i[8]=t.z,i[9]=t.x,i[10]=e.y,i[11]=t.z,i[12]=t.x,i[13]=t.y,i[14]=e.z,i[15]=e.x,i[16]=t.y,i[17]=e.z,i[18]=e.x,i[19]=e.y,i[20]=e.z,i[21]=t.x,i[22]=e.y,i[23]=e.z,n.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(A){return this.object=A,this.update(),this}copy(A,e){return super.copy(A,e),this.object=A.object,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class tl extends kB{constructor(A,e=16776960){const t=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]),n=new ur;n.setIndex(new _i(t,1)),n.setAttribute("position",new sr([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),super(n,new UB({color:e,toneMapped:!1})),this.box=A,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(A){const e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(A))}dispose(){this.geometry.dispose(),this.material.dispose()}}class nl extends SB{constructor(A,e=1,t=16776960){const n=t,i=new ur;i.setAttribute("position",new sr([1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],3)),i.computeBoundingSphere(),super(i,new UB({color:n,toneMapped:!1})),this.type="PlaneHelper",this.plane=A,this.size=e;const r=new ur;r.setAttribute("position",new sr([1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],3)),r.computeBoundingSphere(),this.add(new Rr(r,new Li({color:n,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(A){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(A)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}}const il=new Mn;let rl,sl;class ol extends pi{constructor(A=new Mn(0,0,1),e=new Mn(0,0,0),t=1,n=16776960,i=.2*t,r=.2*i){super(),this.type="ArrowHelper",void 0===rl&&(rl=new ur,rl.setAttribute("position",new sr([0,0,0,0,1,0],3)),sl=new mc(0,.5,1,5,1),sl.translate(0,-.5,0)),this.position.copy(e),this.line=new SB(rl,new UB({color:n,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Rr(sl,new Li({color:n,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(A),this.setLength(t,i,r)}setDirection(A){if(A.y>.99999)this.quaternion.set(0,0,0,1);else if(A.y<-.99999)this.quaternion.set(1,0,0,0);else{il.set(A.z,0,-A.x).normalize();const e=Math.acos(A.y);this.quaternion.setFromAxisAngle(il,e)}}setLength(A,e=.2*A,t=.2*e){this.line.scale.set(1,Math.max(1e-4,A-e),1),this.line.updateMatrix(),this.cone.scale.set(t,e,t),this.cone.position.y=A,this.cone.updateMatrix()}setColor(A){this.line.material.color.set(A),this.cone.material.color.set(A)}copy(A){return super.copy(A,!1),this.line.copy(A.line),this.cone.copy(A.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class al extends kB{constructor(A=1){const e=[0,0,0,A,0,0,0,0,0,0,A,0,0,0,0,0,0,A],t=new ur;t.setAttribute("position",new sr(e,3)),t.setAttribute("color",new sr([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));super(t,new UB({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(A,e,t){const n=new zi,i=this.geometry.attributes.color.array;return n.set(A),n.toArray(i,0),n.toArray(i,3),n.set(e),n.toArray(i,6),n.toArray(i,9),n.set(t),n.toArray(i,12),n.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Bl{constructor(){this.type="ShapePath",this.color=new zi,this.subPaths=[],this.currentPath=null}moveTo(A,e){return this.currentPath=new dc,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,e),this}lineTo(A,e){return this.currentPath.lineTo(A,e),this}quadraticCurveTo(A,e,t,n){return this.currentPath.quadraticCurveTo(A,e,t,n),this}bezierCurveTo(A,e,t,n,i,r){return this.currentPath.bezierCurveTo(A,e,t,n,i,r),this}splineThru(A){return this.currentPath.splineThru(A),this}toShapes(A){function e(A,e){const t=e.length;let n=!1;for(let i=t-1,r=0;r<t;i=r++){let t=e[i],s=e[r],o=s.x-t.x,a=s.y-t.y;if(Math.abs(a)>Number.EPSILON){if(a<0&&(t=e[r],o=-o,s=e[i],a=-a),A.y<t.y||A.y>s.y)continue;if(A.y===t.y){if(A.x===t.x)return!0}else{const e=a*(A.x-t.x)-o*(A.y-t.y);if(0===e)return!0;if(e<0)continue;n=!n}}else{if(A.y!==t.y)continue;if(s.x<=A.x&&A.x<=t.x||t.x<=A.x&&A.x<=s.x)return!0}}return n}const t=ig.isClockWise,n=this.subPaths;if(0===n.length)return[];let i,r,s;const o=[];if(1===n.length)return r=n[0],s=new Tc,s.curves=r.curves,o.push(s),o;let a=!t(n[0].getPoints());a=A?!a:a;const B=[],c=[];let g,Q,E=[],l=0;c[l]=void 0,E[l]=[];for(let e=0,s=n.length;e<s;e++)r=n[e],g=r.getPoints(),i=t(g),i=A?!i:i,i?(!a&&c[l]&&l++,c[l]={s:new Tc,p:g},c[l].s.curves=r.curves,a&&l++,E[l]=[]):E[l].push({h:r,p:g[0]});if(!c[0])return function(A){const e=[];for(let t=0,n=A.length;t<n;t++){const n=A[t],i=new Tc;i.curves=n.curves,e.push(i)}return e}(n);if(c.length>1){let A=!1,t=0;for(let A=0,e=c.length;A<e;A++)B[A]=[];for(let n=0,i=c.length;n<i;n++){const i=E[n];for(let r=0;r<i.length;r++){const s=i[r];let o=!0;for(let i=0;i<c.length;i++)e(s.p,c[i].p)&&(n!==i&&t++,o?(o=!1,B[i].push(s)):A=!0);o&&B[n].push(s)}}t>0&&!1===A&&(E=B)}for(let A=0,e=c.length;A<e;A++){s=c[A].s,o.push(s),Q=E[A];for(let A=0,e=Q.length;A<e;A++)s.holes.push(Q[A].h)}return o}}class cl extends Sr{constructor(A,e,t,n,i,r){console.warn("THREE.BoxBufferGeometry has been renamed to THREE.BoxGeometry."),super(A,e,t,n,i,r)}}class gl extends Mc{constructor(A,e,t,n){console.warn("THREE.CapsuleBufferGeometry has been renamed to THREE.CapsuleGeometry."),super(A,e,t,n)}}class Ql extends pc{constructor(A,e,t,n){console.warn("THREE.CircleBufferGeometry has been renamed to THREE.CircleGeometry."),super(A,e,t,n)}}class El extends Fc{constructor(A,e,t,n,i,r,s){console.warn("THREE.ConeBufferGeometry has been renamed to THREE.ConeGeometry."),super(A,e,t,n,i,r,s)}}class ll extends mc{constructor(A,e,t,n,i,r,s,o){console.warn("THREE.CylinderBufferGeometry has been renamed to THREE.CylinderGeometry."),super(A,e,t,n,i,r,s,o)}}class ul extends Yc{constructor(A,e){console.warn("THREE.DodecahedronBufferGeometry has been renamed to THREE.DodecahedronGeometry."),super(A,e)}}class wl extends og{constructor(A,e){console.warn("THREE.ExtrudeBufferGeometry has been renamed to THREE.ExtrudeGeometry."),super(A,e)}}class hl extends Bg{constructor(A,e){console.warn("THREE.IcosahedronBufferGeometry has been renamed to THREE.IcosahedronGeometry."),super(A,e)}}class Cl extends Ic{constructor(A,e,t,n){console.warn("THREE.LatheBufferGeometry has been renamed to THREE.LatheGeometry."),super(A,e,t,n)}}class dl extends cg{constructor(A,e){console.warn("THREE.OctahedronBufferGeometry has been renamed to THREE.OctahedronGeometry."),super(A,e)}}class Il extends es{constructor(A,e,t,n){console.warn("THREE.PlaneBufferGeometry has been renamed to THREE.PlaneGeometry."),super(A,e,t,n)}}class Ml extends Dc{constructor(A,e,t,n){console.warn("THREE.PolyhedronBufferGeometry has been renamed to THREE.PolyhedronGeometry."),super(A,e,t,n)}}class pl extends gg{constructor(A,e,t,n,i,r){console.warn("THREE.RingBufferGeometry has been renamed to THREE.RingGeometry."),super(A,e,t,n,i,r)}}class ml extends Qg{constructor(A,e){console.warn("THREE.ShapeBufferGeometry has been renamed to THREE.ShapeGeometry."),super(A,e)}}class Fl extends Eg{constructor(A,e,t,n,i,r,s){console.warn("THREE.SphereBufferGeometry has been renamed to THREE.SphereGeometry."),super(A,e,t,n,i,r,s)}}class Dl extends lg{constructor(A,e){console.warn("THREE.TetrahedronBufferGeometry has been renamed to THREE.TetrahedronGeometry."),super(A,e)}}class Yl extends ug{constructor(A,e,t,n,i){console.warn("THREE.TorusBufferGeometry has been renamed to THREE.TorusGeometry."),super(A,e,t,n,i)}}class fl extends wg{constructor(A,e,t,n,i,r){console.warn("THREE.TorusKnotBufferGeometry has been renamed to THREE.TorusKnotGeometry."),super(A,e,t,n,i,r)}}class Nl extends hg{constructor(A,e,t,n,i){console.warn("THREE.TubeBufferGeometry has been renamed to THREE.TubeGeometry."),super(A,e,t,n,i)}}"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:n}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=n)},function(A,e){A.exports={BOOLEAN:"Boolean",BUTTON:"button",LABEL:"label",COMMAND:"command",CONDITIONAL:"conditional",EVENT:"event",HAT:"hat",LOOP:"loop",REPORTER:"reporter",XML:"xml"}},function(A,e,t){const n=t(13),i=A=>{if("string"!=typeof A)return!1;for(let e=0;e<A.length;e++){const t=A.charCodeAt(e);if(48===t||9===t)return!1}return!0};class r{static toNumber(A){if("number"==typeof A)return Number.isNaN(A)?0:A;const e=Number(A);return Number.isNaN(e)?0:e}static toBoolean(A){return"boolean"==typeof A?A:"string"==typeof A?""!==A&&"0"!==A&&"false"!==A.toLowerCase():Boolean(A)}static toString(A){return String(A)}static toRgbColorList(A){const e=r.toRgbColorObject(A);return[e.r,e.g,e.b]}static toRgbColorObject(A){let e;return"string"==typeof A&&"#"===A.substring(0,1)?(e=n.hexToRgb(A),e||(e={r:0,g:0,b:0,a:255})):e=n.decimalToRgb(r.toNumber(A)),e}static isWhiteSpace(A){return null===A||"string"==typeof A&&0===A.trim().length}static compare(A,e){let t=Number(A),n=Number(e);if(0===t&&i(A)?t=NaN:0===n&&i(e)&&(n=NaN),isNaN(t)||isNaN(n)){const t=String(A).toLowerCase(),n=String(e).toLowerCase();return t<n?-1:t>n?1:0}return t===1/0&&n===1/0||t===-1/0&&n===-1/0?0:t-n}static isInt(A){return"number"==typeof A?!!isNaN(A)||A===Math.floor(A):"boolean"==typeof A||"string"==typeof A&&A.indexOf(".")<0}static get LIST_INVALID(){return"INVALID"}static get LIST_ALL(){return"ALL"}static toListIndex(A,e,t){if("number"!=typeof A){if("all"===A)return t?r.LIST_ALL:r.LIST_INVALID;if("last"===A)return e>0?e:r.LIST_INVALID;if("random"===A||"any"===A)return e>0?1+Math.floor(Math.random()*e):r.LIST_INVALID}return(A=Math.floor(r.toNumber(A)))<1||A>e?r.LIST_INVALID:A}}A.exports=r},function(A,e){A.exports={ANGLE:"angle",BOOLEAN:"Boolean",COLOR:"color",NUMBER:"number",STRING:"string",MATRIX:"matrix",NOTE:"note",IMAGE:"image",POLYGON:"polygon",COSTUME:"costume",SOUND:"sound",VARIABLE:"variable",LIST:"list",BROADCAST:"broadcast"}},function(A,e,t){var n=t(62),i=t(131),r=t(63),s=r.TYPE,o=t(129),a=o.isNewline,B=o.isName,c=o.isValidEscape,g=o.isNumberStart,Q=o.isIdentifierStart,E=o.charCodeCategory,l=o.isBOM,u=t(48),w=u.cmpStr,h=u.getNewlineLength,C=u.findWhiteSpaceEnd,d=u.consumeEscaped,I=u.consumeName,M=u.consumeNumber,p=u.consumeBadUrlRemnants;function m(A,e){function t(e){return e<m?A.charCodeAt(e):0}function r(){return N=M(A,N),Q(t(N),t(N+1),t(N+2))?(R=s.Dimension,void(N=I(A,N))):37===t(N)?(R=s.Percentage,void N++):void(R=s.Number)}function o(){const e=N;return N=I(A,N),w(A,e,N,"url")&&40===t(N)?34===t(N=C(A,N+1))||39===t(N)?(R=s.Function,void(N=e+4)):void function(){for(R=s.Url,N=C(A,N);N<A.length;N++){var e=A.charCodeAt(N);switch(E(e)){case 41:return void N++;case E.Eof:return;case E.WhiteSpace:return 41===t(N=C(A,N))||N>=A.length?void(N<A.length&&N++):(N=p(A,N),void(R=s.BadUrl));case 34:case 39:case 40:case E.NonPrintable:return N=p(A,N),void(R=s.BadUrl);case 92:if(c(e,t(N+1))){N=d(A,N)-1;break}return N=p(A,N),void(R=s.BadUrl)}}}():40===t(N)?(R=s.Function,void N++):void(R=s.Ident)}function u(e){for(e||(e=t(N++)),R=s.String;N<A.length;N++){var n=A.charCodeAt(N);switch(E(n)){case e:return void N++;case E.Eof:return;case E.WhiteSpace:if(a(n))return N+=h(A,N,n),void(R=s.BadString);break;case 92:if(N===A.length-1)break;var i=t(N+1);a(i)?N+=h(A,N+1,i):c(n,i)&&(N=d(A,N)-1)}}}e||(e=new n);for(var m=(A=String(A||"")).length,F=i(e.offsetAndType,m+1),D=i(e.balance,m+1),Y=0,f=l(t(0)),N=f,U=0,y=0,x=0;N<m;){var T=A.charCodeAt(N),R=0;switch(D[Y]=m,E(T)){case E.WhiteSpace:R=s.WhiteSpace,N=C(A,N+1);break;case 34:u();break;case 35:B(t(N+1))||c(t(N+1),t(N+2))?(R=s.Hash,N=I(A,N+1)):(R=s.Delim,N++);break;case 39:u();break;case 40:R=s.LeftParenthesis,N++;break;case 41:R=s.RightParenthesis,N++;break;case 43:g(T,t(N+1),t(N+2))?r():(R=s.Delim,N++);break;case 44:R=s.Comma,N++;break;case 45:g(T,t(N+1),t(N+2))?r():45===t(N+1)&&62===t(N+2)?(R=s.CDC,N+=3):Q(T,t(N+1),t(N+2))?o():(R=s.Delim,N++);break;case 46:g(T,t(N+1),t(N+2))?r():(R=s.Delim,N++);break;case 47:42===t(N+1)?(R=s.Comment,1===(N=A.indexOf("*/",N+2)+2)&&(N=A.length)):(R=s.Delim,N++);break;case 58:R=s.Colon,N++;break;case 59:R=s.Semicolon,N++;break;case 60:33===t(N+1)&&45===t(N+2)&&45===t(N+3)?(R=s.CDO,N+=4):(R=s.Delim,N++);break;case 64:Q(t(N+1),t(N+2),t(N+3))?(R=s.AtKeyword,N=I(A,N+1)):(R=s.Delim,N++);break;case 91:R=s.LeftSquareBracket,N++;break;case 92:c(T,t(N+1))?o():(R=s.Delim,N++);break;case 93:R=s.RightSquareBracket,N++;break;case 123:R=s.LeftCurlyBracket,N++;break;case 125:R=s.RightCurlyBracket,N++;break;case E.Digit:r();break;case E.NameStart:o();break;case E.Eof:break;default:R=s.Delim,N++}switch(R){case U:for(U=(y=D[x=16777215&y])>>24,D[Y]=x,D[x++]=Y;x<Y;x++)D[x]===m&&(D[x]=Y);break;case s.LeftParenthesis:case s.Function:D[Y]=y,y=(U=s.RightParenthesis)<<24|Y;break;case s.LeftSquareBracket:D[Y]=y,y=(U=s.RightSquareBracket)<<24|Y;break;case s.LeftCurlyBracket:D[Y]=y,y=(U=s.RightCurlyBracket)<<24|Y}F[Y++]=R<<24|N}for(F[Y]=s.EOF<<24|N,D[Y]=m,D[m]=m;0!==y;)y=D[x=16777215&y],D[x]=m;return e.source=A,e.firstCharOffset=f,e.offsetAndType=F,e.tokenCount=Y,e.balance=D,e.reset(),e.next(),e}Object.keys(r).forEach((function(A){m[A]=r[A]})),Object.keys(o).forEach((function(A){m[A]=o[A]})),Object.keys(u).forEach((function(A){m[A]=u[A]})),A.exports=m},,function(A,e,t){var n=t(309);A.exports=function(A,e,t){return(e=n(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A},A.exports.__esModule=!0,A.exports.default=A.exports},function(A,e,t){"use strict";var n=t(177),i=t(178),r=t(104),s=t(103),o=t(102);function a(A,e){return Object.keys(e).forEach((function(t){A[t]=e[t]})),A}A.exports=function A(){var e=a({},o),t="en",B={},c=function(A){return A},g=null,Q="warning",E={};function l(A,e,r){var s="string"==typeof A?A:A.default,o=h(s,"object"==typeof A&&A.id||c(s),r||t);return(o.format||(o.format=i(n(o.message),r||t,E)))(e)}l.rich=function(A,e,r){var s="string"==typeof A?A:A.default,o=h(s,"object"==typeof A&&A.id||c(s),r||t);return(o.toParts||(o.toParts=i.toParts(n(o.message,{tagsType:u}),r||t,E)))(e)};var u="<>";function w(A,e){var t=A[2];return function(A,e){var n="object"==typeof t?function(A,e){return Object.keys(A).reduce((function(t,n){return t[n]=A[n](e),t}),{})}(t,e):t;return"function"==typeof A?A(n):A}}function h(A,e,t){var n=s(t,B)||"en",i=B[n]||(B[n]={}),r=i[e];if("string"==typeof r&&(r=i[e]={message:r}),!r){var o='Translation for "'+e+'" in "'+n+'" is missing';if("warning"===Q)"undefined"!=typeof console&&console.warn(o);else if("ignore"!==Q)throw new Error(o);var a="function"==typeof g?g(A,e,n)||A:g||A;r=i[e]={message:a}}return r}function C(A,e,n,i,o){"object"==typeof n&&"object"!=typeof i&&(o=i,i=n,n=0);var a=s(o||t,r),B=a&&r[a][A]||d;return i["="+ +e]||i[B(e-n)]||i.other}function d(){return"other"}return E[u]=w,l.setup=function(A){return(A=A||{}).locale&&(t=A.locale),"translations"in A&&(B=A.translations||{}),A.generateId&&(c=A.generateId),"missingReplacement"in A&&(g=A.missingReplacement),A.missingTranslation&&(Q=A.missingTranslation),A.formats&&(A.formats.number&&a(e.number,A.formats.number),A.formats.date&&a(e.date,A.formats.date),A.formats.time&&a(e.time,A.formats.time)),A.types&&((E=A.types)[u]=w),{locale:t,translations:B,generateId:c,missingReplacement:g,missingTranslation:Q,formats:e,types:E}},l.number=function(A,n,i){var r=n&&e.number[n]||e.parseNumberPattern(n)||e.number.default;return new Intl.NumberFormat(i||t,r).format(A)},l.date=function(A,n,i){var r=n&&e.date[n]||e.parseDatePattern(n)||e.date.default;return new Intl.DateTimeFormat(i||t,r).format(A)},l.time=function(A,n,i){var r=n&&e.time[n]||e.parseDatePattern(n)||e.time.default;return new Intl.DateTimeFormat(i||t,r).format(A)},l.select=function(A,e){return e[A]||e.other},l.custom=function(A,e,t,n){return A[1]in E?E[A[1]](A,e)(t,n):t},l.plural=C.bind(null,"cardinal"),l.selectordinal=C.bind(null,"ordinal"),l.namespace=A,l}()},function(A,e,t){const n=t(51);n.enable(),A.exports=n("vm")},function(A,e){function t(){return A.exports=t=Object.assign?Object.assign.bind():function(A){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(A[n]=t[n])}return A},A.exports.__esModule=!0,A.exports.default=A.exports,t.apply(this,arguments)}A.exports=t,A.exports.__esModule=!0,A.exports.default=A.exports},function(A,e){A.exports=class{static simple(A){return JSON.parse(JSON.stringify(A))}}},function(A,e){A.exports=class{static degToRad(A){return A*Math.PI/180}static radToDeg(A){return 180*A/Math.PI}static clamp(A,e,t){return Math.min(Math.max(A,e),t)}static wrapClamp(A,e,t){const n=t-e+1;return A-Math.floor((A-e)/n)*n}static tan(A){switch(A%=360){case-270:case 90:return 1/0;case-90:case 270:return-1/0;default:return Math.round(1e10*Math.tan(Math.PI*A/180))/1e10}}static reducedSortOrdering(A){const e=A.slice(0).sort((A,e)=>A-e);return A.map(A=>e.indexOf(A))}static inclusiveRandIntWithout(A,e,t){const n=e-A,i=A+Math.floor(Math.random()*n);return i>=t?i+1:i}static scale(A,e,t,n,i){return(A-e)/(t-e)*(i-n)+n}}},function(A,e,t){var n;
/**
* @license Complex.js v2.1.1 12/05/2020
*
* Copyright (c) 2020, Robert Eisele (robert@xarg.org)
* Dual licensed under the MIT or GPL Version 2 licenses.
**/!function(t){"use strict";var i=Math.cosh||function(A){return Math.abs(A)<1e-9?1-A:.5*(Math.exp(A)+Math.exp(-A))},r=Math.sinh||function(A){return Math.abs(A)<1e-9?A:.5*(Math.exp(A)-Math.exp(-A))},s=function(){throw SyntaxError("Invalid Param")};function o(A,e){var t=Math.abs(A),n=Math.abs(e);return 0===A?Math.log(n):0===e?Math.log(t):t<3e3&&n<3e3?.5*Math.log(A*A+e*e):(A/=2,e/=2,.5*Math.log(A*A+e*e)+Math.LN2)}function a(A,e){if(!(this instanceof a))return new a(A,e);var t=function(A,e){var t={re:0,im:0};if(null==A)t.re=t.im=0;else if(void 0!==e)t.re=A,t.im=e;else switch(typeof A){case"object":if("im"in A&&"re"in A)t.re=A.re,t.im=A.im;else if("abs"in A&&"arg"in A){if(!Number.isFinite(A.abs)&&Number.isFinite(A.arg))return a.INFINITY;t.re=A.abs*Math.cos(A.arg),t.im=A.abs*Math.sin(A.arg)}else if("r"in A&&"phi"in A){if(!Number.isFinite(A.r)&&Number.isFinite(A.phi))return a.INFINITY;t.re=A.r*Math.cos(A.phi),t.im=A.r*Math.sin(A.phi)}else 2===A.length?(t.re=A[0],t.im=A[1]):s();break;case"string":t.im=t.re=0;var n=A.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),i=1,r=0;null===n&&s();for(var o=0;o<n.length;o++){var B=n[o];" "===B||"\t"===B||"\n"===B||("+"===B?i++:"-"===B?r++:"i"===B||"I"===B?(i+r===0&&s()," "===n[o+1]||isNaN(n[o+1])?t.im+=parseFloat((r%2?"-":"")+"1"):(t.im+=parseFloat((r%2?"-":"")+n[o+1]),o++),i=r=0):((i+r===0||isNaN(B))&&s(),"i"===n[o+1]||"I"===n[o+1]?(t.im+=parseFloat((r%2?"-":"")+B),o++):t.re+=parseFloat((r%2?"-":"")+B),i=r=0))}i+r>0&&s();break;case"number":t.im=0,t.re=A;break;default:s()}return isNaN(t.re)||isNaN(t.im),t}(A,e);this.re=t.re,this.im=t.im}a.prototype={re:0,im:0,sign:function(){var A=this.abs();return new a(this.re/A,this.im/A)},add:function(A,e){var t=new a(A,e);return this.isInfinite()&&t.isInfinite()?a.NAN:this.isInfinite()||t.isInfinite()?a.INFINITY:new a(this.re+t.re,this.im+t.im)},sub:function(A,e){var t=new a(A,e);return this.isInfinite()&&t.isInfinite()?a.NAN:this.isInfinite()||t.isInfinite()?a.INFINITY:new a(this.re-t.re,this.im-t.im)},mul:function(A,e){var t=new a(A,e);return this.isInfinite()&&t.isZero()||this.isZero()&&t.isInfinite()?a.NAN:this.isInfinite()||t.isInfinite()?a.INFINITY:0===t.im&&0===this.im?new a(this.re*t.re,0):new a(this.re*t.re-this.im*t.im,this.re*t.im+this.im*t.re)},div:function(A,e){var t=new a(A,e);if(this.isZero()&&t.isZero()||this.isInfinite()&&t.isInfinite())return a.NAN;if(this.isInfinite()||t.isZero())return a.INFINITY;if(this.isZero()||t.isInfinite())return a.ZERO;A=this.re,e=this.im;var n,i,r=t.re,s=t.im;return 0===s?new a(A/r,e/r):Math.abs(r)<Math.abs(s)?new a((A*(i=r/s)+e)/(n=r*i+s),(e*i-A)/n):new a((A+e*(i=s/r))/(n=s*i+r),(e-A*i)/n)},pow:function(A,e){var t=new a(A,e);if(A=this.re,e=this.im,t.isZero())return a.ONE;if(0===t.im){if(0===e&&A>0)return new a(Math.pow(A,t.re),0);if(0===A)switch((t.re%4+4)%4){case 0:return new a(Math.pow(e,t.re),0);case 1:return new a(0,Math.pow(e,t.re));case 2:return new a(-Math.pow(e,t.re),0);case 3:return new a(0,-Math.pow(e,t.re))}}if(0===A&&0===e&&t.re>0&&t.im>=0)return a.ZERO;var n=Math.atan2(e,A),i=o(A,e);return A=Math.exp(t.re*i-t.im*n),e=t.im*i+t.re*n,new a(A*Math.cos(e),A*Math.sin(e))},sqrt:function(){var A,e,t=this.re,n=this.im,i=this.abs();if(t>=0){if(0===n)return new a(Math.sqrt(t),0);A=.5*Math.sqrt(2*(i+t))}else A=Math.abs(n)/Math.sqrt(2*(i-t));return e=t<=0?.5*Math.sqrt(2*(i-t)):Math.abs(n)/Math.sqrt(2*(i+t)),new a(A,n<0?-e:e)},exp:function(){var A=Math.exp(this.re);return this.im,new a(A*Math.cos(this.im),A*Math.sin(this.im))},expm1:function(){var A=this.re,e=this.im;return new a(Math.expm1(A)*Math.cos(e)+function(A){var e=Math.PI/4;if(-e>A||A>e)return Math.cos(A)-1;var t=A*A;return t*(t*(t*(t*(t*(t*(t*(t/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(e),Math.exp(A)*Math.sin(e))},log:function(){var A=this.re,e=this.im;return new a(o(A,e),Math.atan2(e,A))},abs:function(){return A=this.re,e=this.im,t=Math.abs(A),n=Math.abs(e),t<3e3&&n<3e3?Math.sqrt(t*t+n*n):(t<n?(t=n,n=A/e):n=e/A,t*Math.sqrt(1+n*n));var A,e,t,n},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){var A=this.re,e=this.im;return new a(Math.sin(A)*i(e),Math.cos(A)*r(e))},cos:function(){var A=this.re,e=this.im;return new a(Math.cos(A)*i(e),-Math.sin(A)*r(e))},tan:function(){var A=2*this.re,e=2*this.im,t=Math.cos(A)+i(e);return new a(Math.sin(A)/t,r(e)/t)},cot:function(){var A=2*this.re,e=2*this.im,t=Math.cos(A)-i(e);return new a(-Math.sin(A)/t,r(e)/t)},sec:function(){var A=this.re,e=this.im,t=.5*i(2*e)+.5*Math.cos(2*A);return new a(Math.cos(A)*i(e)/t,Math.sin(A)*r(e)/t)},csc:function(){var A=this.re,e=this.im,t=.5*i(2*e)-.5*Math.cos(2*A);return new a(Math.sin(A)*i(e)/t,-Math.cos(A)*r(e)/t)},asin:function(){var A=this.re,e=this.im,t=new a(e*e-A*A+1,-2*A*e).sqrt(),n=new a(t.re-e,t.im+A).log();return new a(n.im,-n.re)},acos:function(){var A=this.re,e=this.im,t=new a(e*e-A*A+1,-2*A*e).sqrt(),n=new a(t.re-e,t.im+A).log();return new a(Math.PI/2-n.im,n.re)},atan:function(){var A=this.re,e=this.im;if(0===A){if(1===e)return new a(0,1/0);if(-1===e)return new a(0,-1/0)}var t=A*A+(1-e)*(1-e),n=new a((1-e*e-A*A)/t,-2*A/t).log();return new a(-.5*n.im,.5*n.re)},acot:function(){var A=this.re,e=this.im;if(0===e)return new a(Math.atan2(1,A),0);var t=A*A+e*e;return 0!==t?new a(A/t,-e/t).atan():new a(0!==A?A/0:0,0!==e?-e/0:0).atan()},asec:function(){var A=this.re,e=this.im;if(0===A&&0===e)return new a(0,1/0);var t=A*A+e*e;return 0!==t?new a(A/t,-e/t).acos():new a(0!==A?A/0:0,0!==e?-e/0:0).acos()},acsc:function(){var A=this.re,e=this.im;if(0===A&&0===e)return new a(Math.PI/2,1/0);var t=A*A+e*e;return 0!==t?new a(A/t,-e/t).asin():new a(0!==A?A/0:0,0!==e?-e/0:0).asin()},sinh:function(){var A=this.re,e=this.im;return new a(r(A)*Math.cos(e),i(A)*Math.sin(e))},cosh:function(){var A=this.re,e=this.im;return new a(i(A)*Math.cos(e),r(A)*Math.sin(e))},tanh:function(){var A=2*this.re,e=2*this.im,t=i(A)+Math.cos(e);return new a(r(A)/t,Math.sin(e)/t)},coth:function(){var A=2*this.re,e=2*this.im,t=i(A)-Math.cos(e);return new a(r(A)/t,-Math.sin(e)/t)},csch:function(){var A=this.re,e=this.im,t=Math.cos(2*e)-i(2*A);return new a(-2*r(A)*Math.cos(e)/t,2*i(A)*Math.sin(e)/t)},sech:function(){var A=this.re,e=this.im,t=Math.cos(2*e)+i(2*A);return new a(2*i(A)*Math.cos(e)/t,-2*r(A)*Math.sin(e)/t)},asinh:function(){var A=this.im;this.im=-this.re,this.re=A;var e=this.asin();return this.re=-this.im,this.im=A,A=e.re,e.re=-e.im,e.im=A,e},acosh:function(){var A=this.acos();if(A.im<=0){var e=A.re;A.re=-A.im,A.im=e}else{e=A.im;A.im=-A.re,A.re=e}return A},atanh:function(){var A=this.re,e=this.im,t=A>1&&0===e,n=1-A,i=1+A,r=n*n+e*e,s=0!==r?new a((i*n-e*e)/r,(e*n+i*e)/r):new a(-1!==A?A/0:0,0!==e?e/0:0),B=s.re;return s.re=o(s.re,s.im)/2,s.im=Math.atan2(s.im,B)/2,t&&(s.im=-s.im),s},acoth:function(){var A=this.re,e=this.im;if(0===A&&0===e)return new a(0,Math.PI/2);var t=A*A+e*e;return 0!==t?new a(A/t,-e/t).atanh():new a(0!==A?A/0:0,0!==e?-e/0:0).atanh()},acsch:function(){var A=this.re,e=this.im;if(0===e)return new a(0!==A?Math.log(A+Math.sqrt(A*A+1)):1/0,0);var t=A*A+e*e;return 0!==t?new a(A/t,-e/t).asinh():new a(0!==A?A/0:0,0!==e?-e/0:0).asinh()},asech:function(){var A=this.re,e=this.im;if(this.isZero())return a.INFINITY;var t=A*A+e*e;return 0!==t?new a(A/t,-e/t).acosh():new a(0!==A?A/0:0,0!==e?-e/0:0).acosh()},inverse:function(){if(this.isZero())return a.INFINITY;if(this.isInfinite())return a.ZERO;var A=this.re,e=this.im,t=A*A+e*e;return new a(A/t,-e/t)},conjugate:function(){return new a(this.re,-this.im)},neg:function(){return new a(-this.re,-this.im)},ceil:function(A){return A=Math.pow(10,A||0),new a(Math.ceil(this.re*A)/A,Math.ceil(this.im*A)/A)},floor:function(A){return A=Math.pow(10,A||0),new a(Math.floor(this.re*A)/A,Math.floor(this.im*A)/A)},round:function(A){return A=Math.pow(10,A||0),new a(Math.round(this.re*A)/A,Math.round(this.im*A)/A)},equals:function(A,e){var t=new a(A,e);return Math.abs(t.re-this.re)<=a.EPSILON&&Math.abs(t.im-this.im)<=a.EPSILON},clone:function(){return new a(this.re,this.im)},toString:function(){var A=this.re,e=this.im,t="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(A)<a.EPSILON&&(A=0),Math.abs(e)<a.EPSILON&&(e=0),0===e?t+A:(0!==A?(t+=A,t+=" ",e<0?(e=-e,t+="-"):t+="+",t+=" "):e<0&&(e=-e,t+="-"),1!==e&&(t+=e),t+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return 0===this.im?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return 0===this.im&&0===this.re},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!(this.isNaN()||this.isFinite())}},a.ZERO=new a(0,0),a.ONE=new a(1,0),a.I=new a(0,1),a.PI=new a(Math.PI,0),a.E=new a(Math.E,0),a.INFINITY=new a(1/0,1/0),a.NAN=new a(NaN,NaN),a.EPSILON=1e-15,void 0===(n=function(){return a}.apply(e,[]))||(A.exports=n)}()},function(A,e){class t{static get RGB_BLACK(){return{r:0,g:0,b:0}}static get RGB_WHITE(){return{r:255,g:255,b:255}}static decimalToHex(A){A<0&&(A+=16777216);let e=Math.round(Number(A)).toString(16);return e="#".concat("000000".substr(0,6-e.length)).concat(e),e}static decimalToRgb(A){const e=A>>24&255;return{r:A>>16&255,g:A>>8&255,b:255&A,a:e>0?e:255}}static hexToRgb(A){A.startsWith("#")&&(A=A.substring(1)),8===A.length&&(A=A.slice(0,6));const e=parseInt(A,16);if(isNaN(e))return null;if(6===A.length)return{r:e>>16&255,g:e>>8&255,b:255&e};if(3===A.length){const A=e>>8&15,t=e>>4&15,n=15&e;return{r:A<<4|A,g:t<<4|t,b:n<<4|n}}return null}static rgbToHex(A){return t.decimalToHex(t.rgbToDecimal(A))}static rgbToDecimal(A){return(A.r<<16)+(A.g<<8)+A.b}static hexToDecimal(A){return t.rgbToDecimal(t.hexToRgb(A))}static hsvToRgb(A){let e=A.h%360;e<0&&(e+=360);const t=Math.max(0,Math.min(A.s,1)),n=Math.max(0,Math.min(A.v,1)),i=Math.floor(e/60),r=e/60-i,s=n*(1-t),o=n*(1-t*r),a=n*(1-t*(1-r));let B,c,g;switch(i){default:case 0:B=n,c=a,g=s;break;case 1:B=o,c=n,g=s;break;case 2:B=s,c=n,g=a;break;case 3:B=s,c=o,g=n;break;case 4:B=a,c=s,g=n;break;case 5:B=n,c=s,g=o}return{r:Math.floor(255*B),g:Math.floor(255*c),b:Math.floor(255*g)}}static rgbToHsv(A){const e=A.r/255,t=A.g/255,n=A.b/255,i=Math.min(Math.min(e,t),n),r=Math.max(Math.max(e,t),n);let s=0,o=0;if(i!==r){s=60*((e===i?3:t===i?5:1)-(e===i?t-n:t===i?n-e:e-t)/(r-i))%360,o=(r-i)/r}return{h:s,s:o,v:r}}static mixRgb(A,e,t){if(t<=0)return A;if(t>=1)return e;const n=1-t;return{r:n*A.r+t*e.r,g:n*A.g+t*e.g,b:n*A.b+t*e.b}}}A.exports=t},function(A,e){const t="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";A.exports=function(){const A=t.length,e=[];for(let n=0;n<20;n++)e[n]=t.charAt(Math.random()*A);return e.join("")}},function(A,e){A.exports={Always:1,Never:2,IfAtMostOneObstacle:3,OnlyWhenNoObstacles:4}},function(A,e,t){const n=t(8);class i{static withoutTrailingDigits(A){let e=A.length-1;for(;e>=0&&"0123456789".indexOf(A.charAt(e))>-1;)e--;return A.slice(0,e+1)}static unusedName(A,e){if(e.indexOf(A)<0)return A;A=i.withoutTrailingDigits(A);let t=2;for(;e.indexOf(A+t)>=0;)t++;return A+t}static splitFirst(A,e){const t=A.indexOf(e);return t>=0?[A.substring(0,t),A.substring(t+1)]:[A,null]}static stringify(A){return JSON.stringify(A,(A,e)=>"number"!=typeof e||e!==1/0&&e!==-1/0&&!isNaN(e)?e:0)}static replaceUnsafeChars(A){if("string"!=typeof A){if(!Array.isArray(A))return n.error("Unexpected input recieved in replaceUnsafeChars"),A;A=String(A)}return A.replace(/[<>&'"]/g,A=>{switch(A){case"<":return"lt";case">":return"gt";case"&":return"amp";case"'":return"apos";case'"':return"quot"}})}}A.exports=i},function(A,e){A.exports={validateJSON:A=>{let e=!1,t={};try{if(!A.startsWith("{"))throw new Error("error lol");t=JSON.parse(A),e=!0}catch(A){}return{object:t,json:A,isValid:e}},validateArray:A=>{let e=!1,t=[];try{if(!A.startsWith("["))throw new Error("error lol");t=JSON.parse(A),e=!0}catch(A){}return{array:t,json:A,isValid:e}},stringToEqivalint:A=>{try{if(!A.startsWith("{")&&!A.startsWith("["))throw new Error("not actualy a json!!!!!!!!!!");A=JSON.parse(A)}catch(e){String(Number(A))===A?A=Number(A):"true"===A.toLowerCase()?A=!0:"false"===A.toLowerCase()?A=!1:"undefined"===A?A=void 0:"null"===A&&(A=null)}return A},valueToString:A=>A="object"==typeof A?JSON.stringify(A):String(A),validateRegex:(A,e)=>{let t=!1;try{new RegExp(A,e),t=!0}catch(A){}return t}}},function(A,e){A.exports=function(){throw new Error("define cannot be used indirect")}},function(A,e){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(A){"object"==typeof window&&(t=window)}A.exports=t},function(A,e,t){"use strict";t.r(e),t.d(e,"addExtensionsToContext",(function(){return mn})),t.d(e,"attributes",(function(){return eA})),t.d(e,"bindFramebufferInfo",(function(){return Qn})),t.d(e,"bindTransformFeedbackInfo",(function(){return Rt})),t.d(e,"bindUniformBlock",(function(){return Jt})),t.d(e,"canFilter",(function(){return we})),t.d(e,"canGenerateMipmap",(function(){return ue})),t.d(e,"createAttribsFromArrays",(function(){return X})),t.d(e,"createAttributeSetters",(function(){return Ot})),t.d(e,"createBufferFromArray",(function(){return $})),t.d(e,"createBufferFromTypedArray",(function(){return k})),t.d(e,"createBufferInfoFromArrays",(function(){return q})),t.d(e,"createBuffersFromArrays",(function(){return AA})),t.d(e,"createFramebufferInfo",(function(){return cn})),t.d(e,"createProgram",(function(){return It})),t.d(e,"createProgramAsync",(function(){return pt})),t.d(e,"createProgramFromScripts",(function(){return Yt})),t.d(e,"createProgramFromSources",(function(){return ft})),t.d(e,"createProgramInfo",(function(){return Zt})),t.d(e,"createProgramInfoAsync",(function(){return mt})),t.d(e,"createProgramInfoFromProgram",(function(){return Kt})),t.d(e,"createProgramInfos",(function(){return $t})),t.d(e,"createProgramInfosAsync",(function(){return en})),t.d(e,"createPrograms",(function(){return qt})),t.d(e,"createProgramsAsync",(function(){return An})),t.d(e,"createSampler",(function(){return fe})),t.d(e,"createSamplers",(function(){return Ne})),t.d(e,"createTexture",(function(){return Pe})),t.d(e,"createTextures",(function(){return We})),t.d(e,"createTransformFeedback",(function(){return Gt})),t.d(e,"createTransformFeedbackInfo",(function(){return Tt})),t.d(e,"createUniformBlockInfo",(function(){return kt})),t.d(e,"createUniformBlockInfoFromProgram",(function(){return bt})),t.d(e,"createUniformBlockSpecFromProgram",(function(){return St})),t.d(e,"createUniformSetters",(function(){return xt})),t.d(e,"createVAOAndSetAttributes",(function(){return un})),t.d(e,"createVAOFromBufferInfo",(function(){return wn})),t.d(e,"createVertexArrayInfo",(function(){return ln})),t.d(e,"draw",(function(){return sn})),t.d(e,"drawBufferInfo",(function(){return nn})),t.d(e,"drawObjectList",(function(){return rn})),t.d(e,"framebuffers",(function(){return En})),t.d(e,"getArray_",(function(){return j})),t.d(e,"getBytesPerElementForInternalFormat",(function(){return Qe})),t.d(e,"getContext",(function(){return Dn})),t.d(e,"getFormatAndTypeForInternalFormat",(function(){return Ee})),t.d(e,"getGLTypeForTypedArray",(function(){return p})),t.d(e,"getGLTypeForTypedArrayType",(function(){return m})),t.d(e,"getNumComponentsForFormat",(function(){return he})),t.d(e,"getNumComponents_",(function(){return L})),t.d(e,"getTypedArrayTypeForGLType",(function(){return F})),t.d(e,"getWebGLContext",(function(){return Fn})),t.d(e,"glEnumToString",(function(){return te})),t.d(e,"isArrayBuffer",(function(){return D})),t.d(e,"isWebGL1",(function(){return ee})),t.d(e,"isWebGL2",(function(){return Ae})),t.d(e,"loadTextureFromUrl",(function(){return Je})),t.d(e,"m4",(function(){return I})),t.d(e,"primitives",(function(){return $A})),t.d(e,"programs",(function(){return tn})),t.d(e,"resizeCanvasToDisplaySize",(function(){return Yn})),t.d(e,"resizeFramebufferInfo",(function(){return gn})),t.d(e,"resizeTexture",(function(){return Oe})),t.d(e,"setAttribInfoBufferFromArray",(function(){return Z})),t.d(e,"setAttributeDefaults_",(function(){return H})),t.d(e,"setAttributePrefix",(function(){return S})),t.d(e,"setAttributes",(function(){return Wt})),t.d(e,"setBlockUniforms",(function(){return zt})),t.d(e,"setBuffersAndAttributes",(function(){return Vt})),t.d(e,"setDefaultTextureColor",(function(){return Ie})),t.d(e,"setDefaults",(function(){return dn})),t.d(e,"setEmptyTexture",(function(){return Le})),t.d(e,"setSamplerParameters",(function(){return Ye})),t.d(e,"setTextureDefaults_",(function(){return Me})),t.d(e,"setTextureFilteringForSize",(function(){return Ue})),t.d(e,"setTextureFromArray",(function(){return ve})),t.d(e,"setTextureFromElement",(function(){return Re})),t.d(e,"setTextureParameters",(function(){return De})),t.d(e,"setUniformBlock",(function(){return jt})),t.d(e,"setUniforms",(function(){return Lt})),t.d(e,"setUniformsAndBindTextures",(function(){return Pt})),t.d(e,"textures",(function(){return Ve})),t.d(e,"typedarrays",(function(){return Y})),t.d(e,"utils",(function(){return ne})),t.d(e,"v3",(function(){return c})),t.d(e,"vertexArrays",(function(){return hn}));
/* @license twgl.js 5.5.3 Copyright (c) 2015, Gregg Tavares All Rights Reserved.
Available via the MIT license.
see: http://github.com/greggman/twgl.js for details */
let n=Float32Array;function i(A,e,t){const i=new n(3);return A&&(i[0]=A),e&&(i[1]=e),t&&(i[2]=t),i}function r(A,e,t){return(t=t||new n(3))[0]=A[0]+e[0],t[1]=A[1]+e[1],t[2]=A[2]+e[2],t}function s(A,e,t){return(t=t||new n(3))[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t}function o(A,e,t){t=t||new n(3);const i=A[2]*e[0]-A[0]*e[2],r=A[0]*e[1]-A[1]*e[0];return t[0]=A[1]*e[2]-A[2]*e[1],t[1]=i,t[2]=r,t}function a(A,e){e=e||new n(3);const t=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],i=Math.sqrt(t);return i>1e-5?(e[0]=A[0]/i,e[1]=A[1]/i,e[2]=A[2]/i):(e[0]=0,e[1]=0,e[2]=0),e}function B(A,e,t){return(t=t||new n(3))[0]=A[0]*e[0],t[1]=A[1]*e[1],t[2]=A[2]*e[2],t}var c=Object.freeze({__proto__:null,add:r,copy:function(A,e){return(e=e||new n(3))[0]=A[0],e[1]=A[1],e[2]=A[2],e},create:i,cross:o,distance:function(A,e){const t=A[0]-e[0],n=A[1]-e[1],i=A[2]-e[2];return Math.sqrt(t*t+n*n+i*i)},distanceSq:function(A,e){const t=A[0]-e[0],n=A[1]-e[1],i=A[2]-e[2];return t*t+n*n+i*i},divide:function(A,e,t){return(t=t||new n(3))[0]=A[0]/e[0],t[1]=A[1]/e[1],t[2]=A[2]/e[2],t},divScalar:function(A,e,t){return(t=t||new n(3))[0]=A[0]/e,t[1]=A[1]/e,t[2]=A[2]/e,t},dot:function(A,e){return A[0]*e[0]+A[1]*e[1]+A[2]*e[2]},lerp:function(A,e,t,i){return(i=i||new n(3))[0]=A[0]+t*(e[0]-A[0]),i[1]=A[1]+t*(e[1]-A[1]),i[2]=A[2]+t*(e[2]-A[2]),i},lerpV:function(A,e,t,i){return(i=i||new n(3))[0]=A[0]+t[0]*(e[0]-A[0]),i[1]=A[1]+t[1]*(e[1]-A[1]),i[2]=A[2]+t[2]*(e[2]-A[2]),i},length:function(A){return Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2])},lengthSq:function(A){return A[0]*A[0]+A[1]*A[1]+A[2]*A[2]},max:function(A,e,t){return(t=t||new n(3))[0]=Math.max(A[0],e[0]),t[1]=Math.max(A[1],e[1]),t[2]=Math.max(A[2],e[2]),t},min:function(A,e,t){return(t=t||new n(3))[0]=Math.min(A[0],e[0]),t[1]=Math.min(A[1],e[1]),t[2]=Math.min(A[2],e[2]),t},mulScalar:function(A,e,t){return(t=t||new n(3))[0]=A[0]*e,t[1]=A[1]*e,t[2]=A[2]*e,t},multiply:B,negate:function(A,e){return(e=e||new n(3))[0]=-A[0],e[1]=-A[1],e[2]=-A[2],e},normalize:a,setDefaultType:function(A){const e=n;return n=A,e},subtract:s});let g,Q,E,l=Float32Array;function u(A,e){return(e=e||new l(16))[0]=A[0],e[1]=A[1],e[2]=A[2],e[3]=A[3],e[4]=A[4],e[5]=A[5],e[6]=A[6],e[7]=A[7],e[8]=A[8],e[9]=A[9],e[10]=A[10],e[11]=A[11],e[12]=A[12],e[13]=A[13],e[14]=A[14],e[15]=A[15],e}function w(A){return(A=A||new l(16))[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function h(A,e){e=e||new l(16);const t=A[0],n=A[1],i=A[2],r=A[3],s=A[4],o=A[5],a=A[6],B=A[7],c=A[8],g=A[9],Q=A[10],E=A[11],u=A[12],w=A[13],h=A[14],C=A[15],d=Q*C,I=h*E,M=a*C,p=h*B,m=a*E,F=Q*B,D=i*C,Y=h*r,f=i*E,N=Q*r,U=i*B,y=a*r,x=c*w,T=u*g,R=s*w,G=u*o,S=s*g,H=c*o,b=t*w,k=u*n,J=t*g,j=c*n,z=t*o,v=s*n,L=d*o+p*g+m*w-(I*o+M*g+F*w),P=I*n+D*g+N*w-(d*n+Y*g+f*w),O=M*n+Y*o+U*w-(p*n+D*o+y*w),W=F*n+f*o+y*g-(m*n+N*o+U*g),V=1/(t*L+s*P+c*O+u*W);return e[0]=V*L,e[1]=V*P,e[2]=V*O,e[3]=V*W,e[4]=V*(I*s+M*c+F*u-(d*s+p*c+m*u)),e[5]=V*(d*t+Y*c+f*u-(I*t+D*c+N*u)),e[6]=V*(p*t+D*s+y*u-(M*t+Y*s+U*u)),e[7]=V*(m*t+N*s+U*c-(F*t+f*s+y*c)),e[8]=V*(x*B+G*E+S*C-(T*B+R*E+H*C)),e[9]=V*(T*r+b*E+j*C-(x*r+k*E+J*C)),e[10]=V*(R*r+k*B+z*C-(G*r+b*B+v*C)),e[11]=V*(H*r+J*B+v*E-(S*r+j*B+z*E)),e[12]=V*(R*Q+H*h+T*a-(S*h+x*a+G*Q)),e[13]=V*(J*h+x*i+k*Q-(b*Q+j*h+T*i)),e[14]=V*(b*a+v*h+G*i-(z*h+R*i+k*a)),e[15]=V*(z*Q+S*i+j*a-(J*a+v*Q+H*i)),e}function C(A,e,t){t=t||i();const n=e[0],r=e[1],s=e[2],o=n*A[3]+r*A[7]+s*A[11]+A[15];return t[0]=(n*A[0]+r*A[4]+s*A[8]+A[12])/o,t[1]=(n*A[1]+r*A[5]+s*A[9]+A[13])/o,t[2]=(n*A[2]+r*A[6]+s*A[10]+A[14])/o,t}function d(A,e,t){t=t||i();const n=e[0],r=e[1],s=e[2];return t[0]=n*A[0]+r*A[4]+s*A[8],t[1]=n*A[1]+r*A[5]+s*A[9],t[2]=n*A[2]+r*A[6]+s*A[10],t}var I=Object.freeze({__proto__:null,axisRotate:function(A,e,t,n){n=n||new l(16);let i=e[0],r=e[1],s=e[2];const o=Math.sqrt(i*i+r*r+s*s);i/=o,r/=o,s/=o;const a=i*i,B=r*r,c=s*s,g=Math.cos(t),Q=Math.sin(t),E=1-g,u=a+(1-a)*g,w=i*r*E+s*Q,h=i*s*E-r*Q,C=i*r*E-s*Q,d=B+(1-B)*g,I=r*s*E+i*Q,M=i*s*E+r*Q,p=r*s*E-i*Q,m=c+(1-c)*g,F=A[0],D=A[1],Y=A[2],f=A[3],N=A[4],U=A[5],y=A[6],x=A[7],T=A[8],R=A[9],G=A[10],S=A[11];return n[0]=u*F+w*N+h*T,n[1]=u*D+w*U+h*R,n[2]=u*Y+w*y+h*G,n[3]=u*f+w*x+h*S,n[4]=C*F+d*N+I*T,n[5]=C*D+d*U+I*R,n[6]=C*Y+d*y+I*G,n[7]=C*f+d*x+I*S,n[8]=M*F+p*N+m*T,n[9]=M*D+p*U+m*R,n[10]=M*Y+p*y+m*G,n[11]=M*f+p*x+m*S,A!==n&&(n[12]=A[12],n[13]=A[13],n[14]=A[14],n[15]=A[15]),n},axisRotation:function(A,e,t){t=t||new l(16);let n=A[0],i=A[1],r=A[2];const s=Math.sqrt(n*n+i*i+r*r);n/=s,i/=s,r/=s;const o=n*n,a=i*i,B=r*r,c=Math.cos(e),g=Math.sin(e),Q=1-c;return t[0]=o+(1-o)*c,t[1]=n*i*Q+r*g,t[2]=n*r*Q-i*g,t[3]=0,t[4]=n*i*Q-r*g,t[5]=a+(1-a)*c,t[6]=i*r*Q+n*g,t[7]=0,t[8]=n*r*Q+i*g,t[9]=i*r*Q-n*g,t[10]=B+(1-B)*c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},copy:u,create:function(){return new l(16).fill(0)},frustum:function(A,e,t,n,i,r,s){const o=e-A,a=n-t,B=i-r;return(s=s||new l(16))[0]=2*i/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2*i/a,s[6]=0,s[7]=0,s[8]=(A+e)/o,s[9]=(n+t)/a,s[10]=r/B,s[11]=-1,s[12]=0,s[13]=0,s[14]=i*r/B,s[15]=0,s},getAxis:function(A,e,t){const n=4*e;return(t=t||i())[0]=A[n+0],t[1]=A[n+1],t[2]=A[n+2],t},getTranslation:function(A,e){return(e=e||i())[0]=A[12],e[1]=A[13],e[2]=A[14],e},identity:w,inverse:h,lookAt:function(A,e,t,n){return n=n||new l(16),g=g||i(),Q=Q||i(),E=E||i(),a(s(A,e,E),E),a(o(t,E,g),g),a(o(E,g,Q),Q),n[0]=g[0],n[1]=g[1],n[2]=g[2],n[3]=0,n[4]=Q[0],n[5]=Q[1],n[6]=Q[2],n[7]=0,n[8]=E[0],n[9]=E[1],n[10]=E[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},multiply:function(A,e,t){t=t||new l(16);const n=A[0],i=A[1],r=A[2],s=A[3],o=A[4],a=A[5],B=A[6],c=A[7],g=A[8],Q=A[9],E=A[10],u=A[11],w=A[12],h=A[13],C=A[14],d=A[15],I=e[0],M=e[1],p=e[2],m=e[3],F=e[4],D=e[5],Y=e[6],f=e[7],N=e[8],U=e[9],y=e[10],x=e[11],T=e[12],R=e[13],G=e[14],S=e[15];return t[0]=n*I+o*M+g*p+w*m,t[1]=i*I+a*M+Q*p+h*m,t[2]=r*I+B*M+E*p+C*m,t[3]=s*I+c*M+u*p+d*m,t[4]=n*F+o*D+g*Y+w*f,t[5]=i*F+a*D+Q*Y+h*f,t[6]=r*F+B*D+E*Y+C*f,t[7]=s*F+c*D+u*Y+d*f,t[8]=n*N+o*U+g*y+w*x,t[9]=i*N+a*U+Q*y+h*x,t[10]=r*N+B*U+E*y+C*x,t[11]=s*N+c*U+u*y+d*x,t[12]=n*T+o*R+g*G+w*S,t[13]=i*T+a*R+Q*G+h*S,t[14]=r*T+B*R+E*G+C*S,t[15]=s*T+c*R+u*G+d*S,t},negate:function(A,e){return(e=e||new l(16))[0]=-A[0],e[1]=-A[1],e[2]=-A[2],e[3]=-A[3],e[4]=-A[4],e[5]=-A[5],e[6]=-A[6],e[7]=-A[7],e[8]=-A[8],e[9]=-A[9],e[10]=-A[10],e[11]=-A[11],e[12]=-A[12],e[13]=-A[13],e[14]=-A[14],e[15]=-A[15],e},ortho:function(A,e,t,n,i,r,s){return(s=s||new l(16))[0]=2/(e-A),s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/(n-t),s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=2/(i-r),s[11]=0,s[12]=(e+A)/(A-e),s[13]=(n+t)/(t-n),s[14]=(r+i)/(i-r),s[15]=1,s},perspective:function(A,e,t,n,i){i=i||new l(16);const r=Math.tan(.5*Math.PI-.5*A),s=1/(t-n);return i[0]=r/e,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=r,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=(t+n)*s,i[11]=-1,i[12]=0,i[13]=0,i[14]=t*n*s*2,i[15]=0,i},rotateX:function(A,e,t){t=t||new l(16);const n=A[4],i=A[5],r=A[6],s=A[7],o=A[8],a=A[9],B=A[10],c=A[11],g=Math.cos(e),Q=Math.sin(e);return t[4]=g*n+Q*o,t[5]=g*i+Q*a,t[6]=g*r+Q*B,t[7]=g*s+Q*c,t[8]=g*o-Q*n,t[9]=g*a-Q*i,t[10]=g*B-Q*r,t[11]=g*c-Q*s,A!==t&&(t[0]=A[0],t[1]=A[1],t[2]=A[2],t[3]=A[3],t[12]=A[12],t[13]=A[13],t[14]=A[14],t[15]=A[15]),t},rotateY:function(A,e,t){t=t||new l(16);const n=A[0],i=A[1],r=A[2],s=A[3],o=A[8],a=A[9],B=A[10],c=A[11],g=Math.cos(e),Q=Math.sin(e);return t[0]=g*n-Q*o,t[1]=g*i-Q*a,t[2]=g*r-Q*B,t[3]=g*s-Q*c,t[8]=g*o+Q*n,t[9]=g*a+Q*i,t[10]=g*B+Q*r,t[11]=g*c+Q*s,A!==t&&(t[4]=A[4],t[5]=A[5],t[6]=A[6],t[7]=A[7],t[12]=A[12],t[13]=A[13],t[14]=A[14],t[15]=A[15]),t},rotateZ:function(A,e,t){t=t||new l(16);const n=A[0],i=A[1],r=A[2],s=A[3],o=A[4],a=A[5],B=A[6],c=A[7],g=Math.cos(e),Q=Math.sin(e);return t[0]=g*n+Q*o,t[1]=g*i+Q*a,t[2]=g*r+Q*B,t[3]=g*s+Q*c,t[4]=g*o-Q*n,t[5]=g*a-Q*i,t[6]=g*B-Q*r,t[7]=g*c-Q*s,A!==t&&(t[8]=A[8],t[9]=A[9],t[10]=A[10],t[11]=A[11],t[12]=A[12],t[13]=A[13],t[14]=A[14],t[15]=A[15]),t},rotationX:function(A,e){e=e||new l(16);const t=Math.cos(A),n=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=n,e[7]=0,e[8]=0,e[9]=-n,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY:function(A,e){e=e||new l(16);const t=Math.cos(A),n=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-n,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=n,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ:function(A,e){e=e||new l(16);const t=Math.cos(A),n=Math.sin(A);return e[0]=t,e[1]=n,e[2]=0,e[3]=0,e[4]=-n,e[5]=t,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,e},scale:function(A,e,t){t=t||new l(16);const n=e[0],i=e[1],r=e[2];return t[0]=n*A[0],t[1]=n*A[1],t[2]=n*A[2],t[3]=n*A[3],t[4]=i*A[4],t[5]=i*A[5],t[6]=i*A[6],t[7]=i*A[7],t[8]=r*A[8],t[9]=r*A[9],t[10]=r*A[10],t[11]=r*A[11],A!==t&&(t[12]=A[12],t[13]=A[13],t[14]=A[14],t[15]=A[15]),t},scaling:function(A,e){return(e=e||new l(16))[0]=A[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=A[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=A[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},setAxis:function(A,e,t,n){n!==A&&(n=u(A,n));const i=4*t;return n[i+0]=e[0],n[i+1]=e[1],n[i+2]=e[2],n},setDefaultType:function(A){const e=l;return l=A,e},setTranslation:function(A,e,t){return A!==(t=t||w())&&(t[0]=A[0],t[1]=A[1],t[2]=A[2],t[3]=A[3],t[4]=A[4],t[5]=A[5],t[6]=A[6],t[7]=A[7],t[8]=A[8],t[9]=A[9],t[10]=A[10],t[11]=A[11]),t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},transformDirection:d,transformNormal:function(A,e,t){t=t||i();const n=h(A),r=e[0],s=e[1],o=e[2];return t[0]=r*n[0]+s*n[1]+o*n[2],t[1]=r*n[4]+s*n[5]+o*n[6],t[2]=r*n[8]+s*n[9]+o*n[10],t},transformPoint:C,translate:function(A,e,t){t=t||new l(16);const n=e[0],i=e[1],r=e[2],s=A[0],o=A[1],a=A[2],B=A[3],c=A[4],g=A[5],Q=A[6],E=A[7],u=A[8],w=A[9],h=A[10],C=A[11],d=A[12],I=A[13],M=A[14],p=A[15];return A!==t&&(t[0]=s,t[1]=o,t[2]=a,t[3]=B,t[4]=c,t[5]=g,t[6]=Q,t[7]=E,t[8]=u,t[9]=w,t[10]=h,t[11]=C),t[12]=s*n+c*i+u*r+d,t[13]=o*n+g*i+w*r+I,t[14]=a*n+Q*i+h*r+M,t[15]=B*n+E*i+C*r+p,t},translation:function(A,e){return(e=e||new l(16))[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]=A[0],e[13]=A[1],e[14]=A[2],e[15]=1,e},transpose:function(A,e){if((e=e||new l(16))===A){let t;return t=A[1],A[1]=A[4],A[4]=t,t=A[2],A[2]=A[8],A[8]=t,t=A[3],A[3]=A[12],A[12]=t,t=A[6],A[6]=A[9],A[9]=t,t=A[7],A[7]=A[13],A[13]=t,t=A[11],A[11]=A[14],A[14]=t,e}const t=A[0],n=A[1],i=A[2],r=A[3],s=A[4],o=A[5],a=A[6],B=A[7],c=A[8],g=A[9],Q=A[10],E=A[11],u=A[12],w=A[13],h=A[14],C=A[15];return e[0]=t,e[1]=s,e[2]=c,e[3]=u,e[4]=n,e[5]=o,e[6]=g,e[7]=w,e[8]=i,e[9]=a,e[10]=Q,e[11]=h,e[12]=r,e[13]=B,e[14]=E,e[15]=C,e}});const M={};{const A=M;A[5120]=Int8Array,A[5121]=Uint8Array,A[5122]=Int16Array,A[5123]=Uint16Array,A[5124]=Int32Array,A[5125]=Uint32Array,A[5126]=Float32Array,A[32819]=Uint16Array,A[32820]=Uint16Array,A[33635]=Uint16Array,A[5131]=Uint16Array,A[33640]=Uint32Array,A[35899]=Uint32Array,A[35902]=Uint32Array,A[36269]=Uint32Array,A[34042]=Uint32Array}function p(A){if(A instanceof Int8Array)return 5120;if(A instanceof Uint8Array)return 5121;if(A instanceof Uint8ClampedArray)return 5121;if(A instanceof Int16Array)return 5122;if(A instanceof Uint16Array)return 5123;if(A instanceof Int32Array)return 5124;if(A instanceof Uint32Array)return 5125;if(A instanceof Float32Array)return 5126;throw new Error("unsupported typed array type")}function m(A){if(A===Int8Array)return 5120;if(A===Uint8Array)return 5121;if(A===Uint8ClampedArray)return 5121;if(A===Int16Array)return 5122;if(A===Uint16Array)return 5123;if(A===Int32Array)return 5124;if(A===Uint32Array)return 5125;if(A===Float32Array)return 5126;throw new Error("unsupported typed array type")}function F(A){const e=M[A];if(!e)throw new Error("unknown gl type");return e}const D="undefined"!=typeof SharedArrayBuffer?function(A){return A&&A.buffer&&(A.buffer instanceof ArrayBuffer||A.buffer instanceof SharedArrayBuffer)}:function(A){return A&&A.buffer&&A.buffer instanceof ArrayBuffer};var Y=Object.freeze({__proto__:null,getGLTypeForTypedArray:p,getGLTypeForTypedArrayType:m,getTypedArrayTypeForGLType:F,isArrayBuffer:D});function f(A,e){Object.keys(e).forEach((function(t){e.hasOwnProperty(t)&&A.hasOwnProperty(t)&&(e[t]=A[t])}))}function N(...A){console.error(...A)}function U(...A){console.warn(...A)}const y=new Map;function x(A,e){if(!A||"object"!=typeof A)return!1;let t=y.get(e);t||(t=new WeakMap,y.set(e,t));let n=t.get(A);if(void 0===n){const i=Object.prototype.toString.call(A);n=i.substring(8,i.length-1)===e,t.set(A,n)}return n}function T(A,e){return"undefined"!=typeof WebGLRenderbuffer&&x(e,"WebGLRenderbuffer")}function R(A,e){return"undefined"!=typeof WebGLTexture&&x(e,"WebGLTexture")}const G={attribPrefix:""};function S(A){G.attribPrefix=A}function H(A){f(A,G)}function b(A,e,t,n,i){A.bindBuffer(e,t),A.bufferData(e,n,i||35044)}function k(A,e,t,n){if(i=e,"undefined"!=typeof WebGLBuffer&&x(i,"WebGLBuffer"))return e;var i;t=t||34962;const r=A.createBuffer();return b(A,t,r,e,n),r}function J(A){return"indices"===A}function j(A){return A.length?A:A.data}const z=/coord|texture/i,v=/color|colour/i;function L(A,e,t){return A.numComponents||A.size||function(A,e){let t;if(t=z.test(A)?2:v.test(A)?4:3,e%t>0)throw new Error(`Can not guess numComponents for attribute '${A}'. Tried ${t} but ${e} values is not evenly divisible by ${t}. You should specify it.`);return t}(e,t||j(A).length)}function P(A,e){if(D(A))return A;if(D(A.data))return A.data;Array.isArray(A)&&(A={data:A});let t=A.type?O(A.type):void 0;return t||(t=J(e)?Uint16Array:Float32Array),new t(A.data)}function O(A){return"number"==typeof A?F(A):A||Float32Array}function W(A,e){return{buffer:e.buffer,numValues:24,type:(t=e.type,"number"==typeof t?t:t?m(t):5126),arrayType:O(e.type)};var t}function V(A,e){const t=e.data||e,n=O(e.type),i=t*n.BYTES_PER_ELEMENT,r=A.createBuffer();return A.bindBuffer(34962,r),A.bufferData(34962,i,e.drawType||35044),{buffer:r,numValues:t,type:m(n),arrayType:n}}function K(A,e,t){const n=P(e,t);return{arrayType:n.constructor,buffer:k(A,n,void 0,e.drawType),type:p(n),numValues:0}}function X(A,e){const t={};return Object.keys(e).forEach((function(n){if(!J(n)){const r=e[n],s=r.attrib||r.name||r.attribName||G.attribPrefix+n;if(r.value){if(!Array.isArray(r.value)&&!D(r.value))throw new Error("array.value is not array or typedarray");t[s]={value:r.value}}else{let e;e=r.buffer&&r.buffer instanceof WebGLBuffer?W:"number"==typeof r||"number"==typeof r.data?V:K;const{buffer:o,type:a,numValues:B,arrayType:c}=e(A,r,n),g=void 0!==r.normalize?r.normalize:(i=c)===Int8Array||i===Uint8Array,Q=L(r,n,B);t[s]={buffer:o,numComponents:Q,type:a,normalize:g,stride:r.stride||0,offset:r.offset||0,divisor:void 0===r.divisor?void 0:r.divisor,drawType:r.drawType}}}var i})),A.bindBuffer(34962,null),t}function Z(A,e,t,n){t=P(t),void 0!==n?(A.bindBuffer(34962,e.buffer),A.bufferSubData(34962,n,t)):b(A,34962,e.buffer,t,e.drawType)}const _=["position","positions","a_position"];function q(A,e,t){const n=X(A,e),i=Object.assign({},t||{});i.attribs=Object.assign({},t?t.attribs:{},n);const r=e.indices;if(r){const e=P(r,"indices");i.indices=k(A,e,34963),i.numElements=e.length,i.elementType=p(e)}else i.numElements||(i.numElements=function(A,e){let t,n;for(n=0;n<_.length&&(t=_[n],!(t in e))&&(t=G.attribPrefix+t,!(t in e));++n);n===_.length&&(t=Object.keys(e)[0]);const i=e[t];if(!i.buffer)return 1;A.bindBuffer(34962,i.buffer);const r=A.getBufferParameter(34962,34660);var s;A.bindBuffer(34962,null);const o=r/(5120===(s=i.type)||5121===s?1:5122===s||5123===s?2:5124===s||5125===s||5126===s?4:0),a=i.numComponents||i.size,B=o/a;if(B%1!=0)throw new Error(`numComponents ${a} not correct for length ${length}`);return B}(A,i.attribs));return i}function $(A,e,t){const n="indices"===t?34963:34962;return k(A,P(e,t),n)}function AA(A,e){const t={};return Object.keys(e).forEach((function(n){t[n]=$(A,e[n],n)})),e.indices?(t.numElements=e.indices.length,t.elementType=p(P(e.indices))):t.numElements=function(A){let e,t;for(t=0;t<_.length&&(e=_[t],!(e in A));++t);t===_.length&&(e=Object.keys(A)[0]);const n=A[e],i=j(n).length;if(void 0===i)return 1;const r=L(n,e),s=i/r;if(i%r>0)throw new Error(`numComponents ${r} not correct for length ${i}`);return s}(e),t}var eA=Object.freeze({__proto__:null,createAttribsFromArrays:X,createBuffersFromArrays:AA,createBufferFromArray:$,createBufferFromTypedArray:k,createBufferInfoFromArrays:q,setAttribInfoBufferFromArray:Z,setAttributePrefix:S,setAttributeDefaults_:H,getNumComponents_:L,getArray_:j});const tA=j,nA=L;function iA(A,e){let t=0;return A.push=function(){for(let e=0;e<arguments.length;++e){const n=arguments[e];if(n instanceof Array||D(n))for(let e=0;e<n.length;++e)A[t++]=n[e];else A[t++]=n}},A.reset=function(A){t=A||0},A.numComponents=e,Object.defineProperty(A,"numElements",{get:function(){return this.length/this.numComponents|0}}),A}function rA(A,e,t){return iA(new(t||Float32Array)(A*e),A)}function sA(A){return"indices"!==A}function oA(A,e,t){const n=A.length,i=new Float32Array(3);for(let r=0;r<n;r+=3)t(e,[A[r],A[r+1],A[r+2]],i),A[r]=i[0],A[r+1]=i[1],A[r+2]=i[2]}function aA(A,e,t){t=t||i();const n=e[0],r=e[1],s=e[2];return t[0]=n*A[0]+r*A[1]+s*A[2],t[1]=n*A[4]+r*A[5]+s*A[6],t[2]=n*A[8]+r*A[9]+s*A[10],t}function BA(A,e){return oA(A,e,d),A}function cA(A,e){return oA(A,h(e),aA),A}function gA(A,e){return oA(A,e,C),A}function QA(A,e){return Object.keys(A).forEach((function(t){const n=A[t];t.indexOf("pos")>=0?gA(n,e):t.indexOf("tan")>=0||t.indexOf("binorm")>=0?BA(n,e):t.indexOf("norm")>=0&&cA(n,e)})),A}function EA(A,e,t){return A=A||2,{position:{numComponents:2,data:[(e=e||0)+-1*(A*=.5),(t=t||0)+-1*A,e+1*A,t+-1*A,e+-1*A,t+1*A,e+1*A,t+1*A]},normal:[0,0,1,0,0,1,0,0,1,0,0,1],texcoord:[0,0,1,0,0,1,1,1],indices:[0,1,2,2,1,3]}}function lA(A,e,t,n,i){A=A||1,e=e||1,t=t||1,n=n||1,i=i||w();const r=(t+1)*(n+1),s=rA(3,r),o=rA(3,r),a=rA(2,r);for(let i=0;i<=n;i++)for(let r=0;r<=t;r++){const B=r/t,c=i/n;s.push(A*B-.5*A,0,e*c-.5*e),o.push(0,1,0),a.push(B,c)}const B=t+1,c=rA(3,t*n*2,Uint16Array);for(let A=0;A<n;A++)for(let e=0;e<t;e++)c.push((A+0)*B+e,(A+1)*B+e,(A+0)*B+e+1),c.push((A+1)*B+e,(A+1)*B+e+1,(A+0)*B+e+1);return QA({position:s,normal:o,texcoord:a,indices:c},i)}function uA(A,e,t,n,i,r,s){if(e<=0||t<=0)throw new Error("subdivisionAxis and subdivisionHeight must be > 0");n=n||0,r=r||0;const o=(i=i||Math.PI)-n,a=(s=s||2*Math.PI)-r,B=(e+1)*(t+1),c=rA(3,B),g=rA(3,B),Q=rA(2,B);for(let i=0;i<=t;i++)for(let s=0;s<=e;s++){const B=s/e,E=i/t,l=a*B+r,u=o*E+n,w=Math.sin(l),h=Math.cos(l),C=Math.sin(u),d=h*C,I=Math.cos(u),M=w*C;c.push(A*d,A*I,A*M),g.push(d,I,M),Q.push(1-B,E)}const E=e+1,l=rA(3,e*t*2,Uint16Array);for(let A=0;A<e;A++)for(let e=0;e<t;e++)l.push((e+0)*E+A,(e+0)*E+A+1,(e+1)*E+A),l.push((e+1)*E+A,(e+0)*E+A+1,(e+1)*E+A+1);return{position:c,normal:g,texcoord:Q,indices:l}}const wA=[[3,7,5,1],[6,2,0,4],[6,7,3,2],[0,1,5,4],[7,6,4,5],[2,3,1,0]];function hA(A){const e=(A=A||1)/2,t=[[-e,-e,-e],[+e,-e,-e],[-e,+e,-e],[+e,+e,-e],[-e,-e,+e],[+e,-e,+e],[-e,+e,+e],[+e,+e,+e]],n=[[1,0,0],[-1,0,0],[0,1,0],[0,-1,0],[0,0,1],[0,0,-1]],i=[[1,0],[0,0],[0,1],[1,1]],r=rA(3,24),s=rA(3,24),o=rA(2,24),a=rA(3,12,Uint16Array);for(let A=0;A<6;++A){const e=wA[A];for(let a=0;a<4;++a){const B=t[e[a]],c=n[A],g=i[a];r.push(B),s.push(c),o.push(g)}const B=4*A;a.push(B+0,B+1,B+2),a.push(B+0,B+2,B+3)}return{position:r,normal:s,texcoord:o,indices:a}}function CA(A,e,t,n,i,r,s){if(n<3)throw new Error("radialSubdivisions must be 3 or greater");if(i<1)throw new Error("verticalSubdivisions must be 1 or greater");const o=void 0===r||r,a=void 0===s||s,B=(o?2:0)+(a?2:0),c=(n+1)*(i+1+B),g=rA(3,c),Q=rA(3,c),E=rA(2,c),l=rA(3,n*(i+B/2)*2,Uint16Array),u=n+1,w=Math.atan2(A-e,t),h=Math.cos(w),C=Math.sin(w),d=i+(a?2:0);for(let r=o?-2:0;r<=d;++r){let s,o=r/i,a=t*o;r<0?(a=0,o=1,s=A):r>i?(a=t,o=1,s=e):s=A+r/i*(e-A),-2!==r&&r!==i+2||(s=0,o=0),a-=t/2;for(let A=0;A<u;++A){const e=Math.sin(A*Math.PI*2/n),t=Math.cos(A*Math.PI*2/n);g.push(e*s,a,t*s),r<0?Q.push(0,-1,0):r>i?Q.push(0,1,0):0===s?Q.push(0,0,0):Q.push(e*h,C,t*h),E.push(A/n,1-o)}}for(let A=0;A<i+B;++A)if(!(1===A&&o||A===i+B-2&&a))for(let e=0;e<n;++e)l.push(u*(A+0)+0+e,u*(A+0)+1+e,u*(A+1)+1+e),l.push(u*(A+0)+0+e,u*(A+1)+1+e,u*(A+1)+0+e);return{position:g,normal:Q,texcoord:E,indices:l}}function dA(A,e){e=e||[];const t=[];for(let n=0;n<A.length;n+=4){const i=A[n],r=A.slice(n+1,n+4);r.push.apply(r,e);for(let A=0;A<i;++A)t.push.apply(t,r)}return t}function IA(){const A=[0,0,0,0,150,0,30,0,0,0,150,0,30,150,0,30,0,0,30,0,0,30,30,0,100,0,0,30,30,0,100,30,0,100,0,0,30,60,0,30,90,0,67,60,0,30,90,0,67,90,0,67,60,0,0,0,30,30,0,30,0,150,30,0,150,30,30,0,30,30,150,30,30,0,30,100,0,30,30,30,30,30,30,30,100,0,30,100,30,30,30,60,30,67,60,30,30,90,30,30,90,30,67,60,30,67,90,30,0,0,0,100,0,0,100,0,30,0,0,0,100,0,30,0,0,30,100,0,0,100,30,0,100,30,30,100,0,0,100,30,30,100,0,30,30,30,0,30,30,30,100,30,30,30,30,0,100,30,30,100,30,0,30,30,0,30,60,30,30,30,30,30,30,0,30,60,0,30,60,30,30,60,0,67,60,30,30,60,30,30,60,0,67,60,0,67,60,30,67,60,0,67,90,30,67,60,30,67,60,0,67,90,0,67,90,30,30,90,0,30,90,30,67,90,30,30,90,0,67,90,30,67,90,0,30,90,0,30,150,30,30,90,30,30,90,0,30,150,0,30,150,30,0,150,0,0,150,30,30,150,30,0,150,0,30,150,30,30,150,0,0,0,0,0,0,30,0,150,30,0,0,0,0,150,30,0,150,0],e=dA([18,0,0,1,18,0,0,-1,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,-1,0,6,-1,0,0]),t=dA([18,200,70,120,18,80,70,200,6,70,200,210,6,200,200,70,6,210,100,70,6,210,160,70,6,70,180,210,6,100,70,210,6,76,210,100,6,140,210,80,6,90,130,110,6,160,160,220],[255]),n=A.length/3,i={position:rA(3,n),texcoord:rA(2,n),normal:rA(3,n),color:rA(4,n,Uint8Array),indices:rA(3,n/3,Uint16Array)};i.position.push(A),i.texcoord.push([.22,.19,.22,.79,.34,.19,.22,.79,.34,.79,.34,.19,.34,.19,.34,.31,.62,.19,.34,.31,.62,.31,.62,.19,.34,.43,.34,.55,.49,.43,.34,.55,.49,.55,.49,.43,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0]),i.normal.push(e),i.color.push(t);for(let A=0;A<n;++A)i.indices.push(A);return i}function MA(A,e,t,n,i,s,o){if(i<=0)throw new Error("subdivisionDown must be > 0");const a=(o=o||1)-(s=s||0),c=2*(i+1)*4,g=rA(3,c),Q=rA(3,c),E=rA(2,c);function l(A,e,t){return A+(e-A)*t}function u(e,t,o,c,u,w){for(let h=0;h<=i;h++){const C=t/1,d=h/i,I=2*(C-.5),M=(s+d*a)*Math.PI,p=Math.sin(M),m=Math.cos(M),F=l(A,e,p),D=I*n,Y=m*A,f=p*F;g.push(D,Y,f);const N=r(B([0,p,m],o),c);Q.push(N),E.push(C*u+w,d)}}for(let A=0;A<2;A++){const n=2*(A/1-.5);u(e,A,[1,1,1],[0,0,0],1,0),u(e,A,[0,0,0],[n,0,0],0,0),u(t,A,[1,1,1],[0,0,0],1,0),u(t,A,[0,0,0],[n,0,0],0,1)}const w=rA(3,2*i*4,Uint16Array);function h(A,e){for(let t=0;t<i;++t)w.push(A+t+0,A+t+1,e+t+0),w.push(A+t+1,e+t+1,e+t+0)}const C=i+1;return h(0*C,4*C),h(5*C,7*C),h(6*C,2*C),h(3*C,1*C),{position:g,normal:Q,texcoord:E,indices:w}}function pA(A,e,t,n,i,r){return CA(A,A,e,t,n,i,r)}function mA(A,e,t,n,i,r){if(t<3)throw new Error("radialSubdivisions must be 3 or greater");if(n<3)throw new Error("verticalSubdivisions must be 3 or greater");i=i||0;const s=(r=r||2*Math.PI)-i,o=t+1,a=n+1,B=o*a,c=rA(3,B),g=rA(3,B),Q=rA(2,B),E=rA(3,t*n*2,Uint16Array);for(let r=0;r<a;++r){const a=r/n,B=a*Math.PI*2,E=Math.sin(B),l=A+E*e,u=Math.cos(B),w=u*e;for(let A=0;A<o;++A){const e=A/t,n=i+e*s,r=Math.sin(n),o=Math.cos(n),B=r*l,h=o*l,C=r*E,d=o*E;c.push(B,w,h),g.push(C,u,d),Q.push(e,1-a)}}for(let A=0;A<n;++A)for(let e=0;e<t;++e){const t=1+e,n=1+A;E.push(o*A+e,o*n+e,o*A+t),E.push(o*n+e,o*n+t,o*A+t)}return{position:c,normal:g,texcoord:Q,indices:E}}function FA(A,e,t,n,i){if(e<3)throw new Error("divisions must be at least 3");i=i||1,n=n||0;const r=(e+1)*((t=t||1)+1),s=rA(3,r),o=rA(3,r),a=rA(2,r),B=rA(3,t*e*2,Uint16Array);let c=0;const g=A-n,Q=e+1;for(let A=0;A<=t;++A){const r=n+g*Math.pow(A/t,i);for(let n=0;n<=e;++n){const i=2*Math.PI*n/e,g=r*Math.cos(i),E=r*Math.sin(i);if(s.push(g,0,E),o.push(0,1,0),a.push(1-n/e,A/t),A>0&&n!==e){const A=c+(n+1),e=c+n,t=c+n-Q,i=c+(n+1)-Q;B.push(A,e,t),B.push(A,t,i)}}c+=e+1}return{position:s,normal:o,texcoord:a,indices:B}}function DA(A){return function(e){const t=A.apply(this,Array.prototype.slice.call(arguments,1));return AA(e,t)}}function YA(A){return function(e){const t=A.apply(null,Array.prototype.slice.call(arguments,1));return q(e,t)}}const fA=["numComponents","size","type","normalize","stride","offset","attrib","name","attribName"];function NA(A,e,t,n){n=n||0;const i=A.length;for(let r=0;r<i;++r)e[t+r]=A[r]+n}function UA(A,e){const t=tA(A),n=new t.constructor(e);let i=n;var r,s;return t.numComponents&&t.numElements&&iA(n,t.numComponents),A.data&&(i={data:n},r=A,s=i,fA.forEach((function(A){const e=r[A];void 0!==e&&(s[A]=e)}))),i}const yA=YA(IA),xA=DA(IA),TA=YA(hA),RA=DA(hA),GA=YA(lA),SA=DA(lA),HA=YA(uA),bA=DA(uA),kA=YA(CA),JA=DA(CA),jA=YA(EA),zA=DA(EA),vA=YA(MA),LA=DA(MA),PA=YA(pA),OA=DA(pA),WA=YA(mA),VA=DA(mA),KA=YA(FA),XA=DA(FA),ZA=vA,_A=LA,qA=MA;var $A=Object.freeze({__proto__:null,create3DFBufferInfo:yA,create3DFBuffers:xA,create3DFVertices:IA,createAugmentedTypedArray:rA,createCubeBufferInfo:TA,createCubeBuffers:RA,createCubeVertices:hA,createPlaneBufferInfo:GA,createPlaneBuffers:SA,createPlaneVertices:lA,createSphereBufferInfo:HA,createSphereBuffers:bA,createSphereVertices:uA,createTruncatedConeBufferInfo:kA,createTruncatedConeBuffers:JA,createTruncatedConeVertices:CA,createXYQuadBufferInfo:jA,createXYQuadBuffers:zA,createXYQuadVertices:EA,createCresentBufferInfo:ZA,createCresentBuffers:_A,createCresentVertices:qA,createCrescentBufferInfo:vA,createCrescentBuffers:LA,createCrescentVertices:MA,createCylinderBufferInfo:PA,createCylinderBuffers:OA,createCylinderVertices:pA,createTorusBufferInfo:WA,createTorusBuffers:VA,createTorusVertices:mA,createDiscBufferInfo:KA,createDiscBuffers:XA,createDiscVertices:FA,deindexVertices:function(A){const e=A.indices,t={},n=e.length;return Object.keys(A).filter(sA).forEach((function(i){const r=A[i],s=r.numComponents,o=rA(s,n,r.constructor);for(let A=0;A<n;++A){const t=e[A]*s;for(let A=0;A<s;++A)o.push(r[t+A])}t[i]=o})),t},flattenNormals:function(A){if(A.indices)throw new Error("can not flatten normals of indexed vertices. deindex them first");const e=A.normal,t=e.length;for(let A=0;A<t;A+=9){const t=e[A+0],n=e[A+1],i=e[A+2],r=e[A+3],s=e[A+4],o=e[A+5];let a=t+r+e[A+6],B=n+s+e[A+7],c=i+o+e[A+8];const g=Math.sqrt(a*a+B*B+c*c);a/=g,B/=g,c/=g,e[A+0]=a,e[A+1]=B,e[A+2]=c,e[A+3]=a,e[A+4]=B,e[A+5]=c,e[A+6]=a,e[A+7]=B,e[A+8]=c}return A},makeRandomVertexColors:function(A,e){e=e||{};const t=A.position.numElements,n=rA(4,t,Uint8Array),i=e.rand||function(A,e){return e<3?(t=256,Math.random()*t|0):255;var t};if(A.color=n,A.indices)for(let A=0;A<t;++A)n.push(i(A,0),i(A,1),i(A,2),i(A,3));else{const A=e.vertsPerColor||3,r=t/A;for(let e=0;e<r;++e){const t=[i(e,0),i(e,1),i(e,2),i(e,3)];for(let e=0;e<A;++e)n.push(t)}}return A},reorientDirections:BA,reorientNormals:cA,reorientPositions:gA,reorientVertices:QA,concatVertices:function(A){const e={};let t;for(let n=0;n<A.length;++n){const i=A[n];Object.keys(i).forEach((function(A){e[A]||(e[A]=[]),t||"indices"===A||(t=A);const n=i[A],r=nA(n,A),s=tA(n).length/r;e[A].push(s)}))}const n=e[t],i={};return Object.keys(e).forEach((function(e){const t=function(e){let t,n=0;for(let i=0;i<A.length;++i){const r=A[i][e];n+=tA(r).length,t&&!r.data||(t=r)}return{length:n,spec:t}}(e),r=UA(t.spec,t.length);!function(e,t,n){let i=0,r=0;for(let s=0;s<A.length;++s){const o=A[s][e],a=tA(o);"indices"===e?(NA(a,n,r,i),i+=t[s]):NA(a,n,r),r+=a.length}}(e,n,tA(r)),i[e]=r})),i},duplicateVertices:function(A){const e={};return Object.keys(A).forEach((function(t){const n=A[t],i=tA(n),r=UA(n,i.length);NA(i,tA(r),0),e[t]=r})),e}});function Ae(A){return!!A.texStorage2D}function ee(A){return!A.texStorage2D}const te=function(){const A={},e={};return function(t,n){return function(t){const n=t.constructor.name;if(!A[n]){for(const A in t)if("number"==typeof t[A]){const n=e[t[A]];e[t[A]]=n?`${n} | ${A}`:A}A[n]=!0}}(t),e[n]||("number"==typeof n?"0x"+n.toString(16):n)}}();var ne=Object.freeze({__proto__:null,glEnumToString:te,isWebGL1:ee,isWebGL2:Ae});const ie={textureColor:new Uint8Array([128,192,255,255]),textureOptions:{},crossOrigin:void 0},re=D,se=function(){let A;return function(){return A=A||("undefined"!=typeof document&&document.createElement?document.createElement("canvas").getContext("2d"):null),A}}(),oe=6407,ae=33319,Be={};{const A=Be;A[6406]={numColorComponents:1},A[6409]={numColorComponents:1},A[6410]={numColorComponents:2},A[oe]={numColorComponents:3},A[6408]={numColorComponents:4},A[6403]={numColorComponents:1},A[36244]={numColorComponents:1},A[ae]={numColorComponents:2},A[33320]={numColorComponents:2},A[oe]={numColorComponents:3},A[36248]={numColorComponents:3},A[6408]={numColorComponents:4},A[36249]={numColorComponents:4},A[6402]={numColorComponents:1},A[34041]={numColorComponents:2}}let ce;function ge(A){if(!ce){const A={6406:{textureFormat:6406,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[5121,5131,36193,5126]},6409:{textureFormat:6409,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[5121,5131,36193,5126]},6410:{textureFormat:6410,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[2,4,4,8],type:[5121,5131,36193,5126]}};A[oe]={textureFormat:oe,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,6,6,12,2],type:[5121,5131,36193,5126,33635]},A[6408]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,8,8,16,2,2],type:[5121,5131,36193,5126,32819,32820]},A[6402]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2,4],type:[5125,5123]},A[33321]={textureFormat:6403,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1],type:[5121]},A[36756]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[1],type:[5120]},A[33325]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[4,2],type:[5126,5131]},A[33326]={textureFormat:6403,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[4],type:[5126]},A[33330]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[1],type:[5121]},A[33329]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[1],type:[5120]},A[33332]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2],type:[5123]},A[33331]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2],type:[5122]},A[33334]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5125]},A[33333]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5124]},A[33323]={textureFormat:ae,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[2],type:[5121]},A[36757]={textureFormat:ae,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[2],type:[5120]},A[33327]={textureFormat:ae,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[8,4],type:[5126,5131]},A[33328]={textureFormat:ae,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[8],type:[5126]},A[33336]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2],type:[5121]},A[33335]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2],type:[5120]},A[33338]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5123]},A[33337]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5122]},A[33340]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[8],type:[5125]},A[33339]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[8],type:[5124]},A[32849]={textureFormat:oe,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3],type:[5121]},A[35905]={textureFormat:oe,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[3],type:[5121]},A[36194]={textureFormat:oe,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,2],type:[5121,33635]},A[36758]={textureFormat:oe,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[3],type:[5120]},A[35898]={textureFormat:oe,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[5126,5131,35899]},A[35901]={textureFormat:oe,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[5126,5131,35902]},A[34843]={textureFormat:oe,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6],type:[5126,5131]},A[34837]={textureFormat:oe,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[12],type:[5126]},A[36221]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[3],type:[5121]},A[36239]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[3],type:[5120]},A[36215]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[6],type:[5123]},A[36233]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[6],type:[5122]},A[36209]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[12],type:[5125]},A[36227]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[12],type:[5124]},A[32856]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4],type:[5121]},A[35907]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4],type:[5121]},A[36759]={textureFormat:6408,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[4],type:[5120]},A[32855]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2,4],type:[5121,32820,33640]},A[32854]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2],type:[5121,32819]},A[32857]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4],type:[33640]},A[34842]={textureFormat:6408,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[16,8],type:[5126,5131]},A[34836]={textureFormat:6408,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[16],type:[5126]},A[36220]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5121]},A[36238]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5120]},A[36975]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[33640]},A[36214]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[8],type:[5123]},A[36232]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[8],type:[5122]},A[36226]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[16],type:[5124]},A[36208]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[16],type:[5125]},A[33189]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2,4],type:[5123,5125]},A[33190]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5125]},A[36012]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5126]},A[35056]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[34042]},A[36013]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[36269]},Object.keys(A).forEach((function(e){const t=A[e];t.bytesPerElementMap={},t.bytesPerElement.forEach((function(A,e){const n=t.type[e];t.bytesPerElementMap[n]=A}))})),ce=A}return ce[A]}function Qe(A,e){const t=ge(A);if(!t)throw"unknown internal format";const n=t.bytesPerElementMap[e];if(void 0===n)throw"unknown internal format";return n}function Ee(A){const e=ge(A);if(!e)throw"unknown internal format";return{format:e.textureFormat,type:e.type[0]}}function le(A){return 0==(A&A-1)}function ue(A,e,t,n){if(!Ae(A))return le(e)&&le(t);const i=ge(n);if(!i)throw"unknown internal format";return i.colorRenderable&&i.textureFilterable}function we(A){const e=ge(A);if(!e)throw"unknown internal format";return e.textureFilterable}function he(A){const e=Be[A];if(!e)throw"unknown format: "+A;return e.numColorComponents}function Ce(A,e,t){return re(e)?p(e):t||5121}function de(A,e,t,n,i){if(i%1!=0)throw"can't guess dimensions";if(t||n){if(n){if(!t&&(t=i/n)%1)throw"can't guess dimensions"}else if((n=i/t)%1)throw"can't guess dimensions"}else{const A=Math.sqrt(i/(34067===e?6:1));A%1==0?(t=A,n=A):(t=i,n=1)}return{width:t,height:n}}function Ie(A){ie.textureColor=new Uint8Array([255*A[0],255*A[1],255*A[2],255*A[3]])}function Me(A){f(A,ie),A.textureColor&&Ie(A.textureColor)}function pe(A,e){void 0!==e.colorspaceConversion&&A.pixelStorei(37443,e.colorspaceConversion),void 0!==e.premultiplyAlpha&&A.pixelStorei(37441,e.premultiplyAlpha),void 0!==e.flipY&&A.pixelStorei(37440,e.flipY)}function me(A){A.pixelStorei(3317,4),Ae(A)&&(A.pixelStorei(3314,0),A.pixelStorei(32878,0),A.pixelStorei(3316,0),A.pixelStorei(3315,0),A.pixelStorei(32877,0))}function Fe(A,e,t,n){var i;n.minMag&&(t.call(A,e,10241,n.minMag),t.call(A,e,10240,n.minMag)),n.min&&t.call(A,e,10241,n.min),n.mag&&t.call(A,e,10240,n.mag),n.wrap&&(t.call(A,e,10242,n.wrap),t.call(A,e,10243,n.wrap),(32879===e||(i=e,"undefined"!=typeof WebGLSampler&&x(i,"WebGLSampler")))&&t.call(A,e,32882,n.wrap)),n.wrapR&&t.call(A,e,32882,n.wrapR),n.wrapS&&t.call(A,e,10242,n.wrapS),n.wrapT&&t.call(A,e,10243,n.wrapT),void 0!==n.minLod&&t.call(A,e,33082,n.minLod),void 0!==n.maxLod&&t.call(A,e,33083,n.maxLod),void 0!==n.baseLevel&&t.call(A,e,33084,n.baseLevel),void 0!==n.maxLevel&&t.call(A,e,33085,n.maxLevel),void 0!==n.compareFunc&&t.call(A,e,34893,n.compareFunc),void 0!==n.compareMode&&t.call(A,e,34892,n.compareMode)}function De(A,e,t){const n=t.target||3553;A.bindTexture(n,e),Fe(A,n,A.texParameteri,t)}function Ye(A,e,t){Fe(A,e,A.samplerParameteri,t)}function fe(A,e){const t=A.createSampler();return Ye(A,t,e),t}function Ne(A,e){const t={};return Object.keys(e).forEach((function(n){t[n]=fe(A,e[n])})),t}function Ue(A,e,t,n,i,r){r=r||6408;const s=(t=t||ie.textureOptions).target||3553;if(n=n||t.width,i=i||t.height,A.bindTexture(s,e),ue(A,n,i,r))A.generateMipmap(s);else{const e=we(r)?9729:9728;A.texParameteri(s,10241,e),A.texParameteri(s,10240,e),A.texParameteri(s,10242,33071),A.texParameteri(s,10243,33071)}}function ye(A){return!0===A.auto||void 0===A.auto&&void 0===A.level}function xe(A,e){return(e=e||{}).cubeFaceOrder||[34069,34070,34071,34072,34073,34074]}function Te(A,e){const t=xe(0,e).map((function(A,e){return{face:A,ndx:e}}));return t.sort((function(A,e){return A.face-e.face})),t}function Re(A,e,t,n){const i=(n=n||ie.textureOptions).target||3553,r=n.level||0;let s=t.width,o=t.height;const a=n.internalFormat||n.format||6408,B=Ee(a),c=n.format||B.format,g=n.type||B.type;if(pe(A,n),A.bindTexture(i,e),34067===i){const B=t.width,Q=t.height;let E,l;if(B/6===Q)E=Q,l=[0,0,1,0,2,0,3,0,4,0,5,0];else if(Q/6===B)E=B,l=[0,0,0,1,0,2,0,3,0,4,0,5];else if(B/3==Q/2)E=B/3,l=[0,0,1,0,2,0,0,1,1,1,2,1];else{if(B/2!=Q/3)throw"can't figure out cube map from element: "+(t.src?t.src:t.nodeName);E=B/2,l=[0,0,1,0,0,1,1,1,0,2,1,2]}const u=se();u?(u.canvas.width=E,u.canvas.height=E,s=E,o=E,Te(0,n).forEach((function(e){const n=l[2*e.ndx+0]*E,i=l[2*e.ndx+1]*E;u.drawImage(t,n,i,E,E,0,0,E,E),A.texImage2D(e.face,r,a,c,g,u.canvas)})),u.canvas.width=1,u.canvas.height=1):"undefined"!=typeof createImageBitmap&&(s=E,o=E,Te(0,n).forEach((function(B){const Q=l[2*B.ndx+0]*E,u=l[2*B.ndx+1]*E;A.texImage2D(B.face,r,a,E,E,0,c,g,null),createImageBitmap(t,Q,u,E,E,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(t){pe(A,n),A.bindTexture(i,e),A.texImage2D(B.face,r,a,c,g,t),ye(n)&&Ue(A,e,n,s,o,a)}))})))}else if(32879===i||35866===i){const e=Math.min(t.width,t.height),n=Math.max(t.width,t.height),s=n/e;if(s%1!=0)throw"can not compute 3D dimensions of element";const o=t.width===n?1:0,B=t.height===n?1:0;A.pixelStorei(3317,1),A.pixelStorei(3314,t.width),A.pixelStorei(32878,0),A.pixelStorei(32877,0),A.texImage3D(i,r,a,e,e,e,0,c,g,null);for(let n=0;n<s;++n){const s=n*e*o,a=n*e*B;A.pixelStorei(3316,s),A.pixelStorei(3315,a),A.texSubImage3D(i,r,0,0,n,e,e,1,c,g,t)}me(A)}else A.texImage2D(i,r,a,c,g,t);ye(n)&&Ue(A,e,n,s,o,a),De(A,e,n)}function Ge(){}function Se(A,e){return void 0!==e||function(A){if("undefined"!=typeof document){const e=document.createElement("a");return e.href=A,e.hostname===location.hostname&&e.port===location.port&&e.protocol===location.protocol}{const e=new URL(location.href).origin;return new URL(A,location.href).origin===e}}(A)?e:"anonymous"}function He(A){return"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap||"undefined"!=typeof ImageData&&A instanceof ImageData||"undefined"!=typeof HTMLElement&&A instanceof HTMLElement}function be(A,e,t){return He(A)?(setTimeout((function(){t(null,A)})),A):function(A,e,t){let n;if(t=t||Ge,e=void 0!==e?e:ie.crossOrigin,e=Se(A,e),"undefined"!=typeof Image){n=new Image,void 0!==e&&(n.crossOrigin=e);const i=function(){n.removeEventListener("error",r),n.removeEventListener("load",s),n=null},r=function(){const e="couldn't load image: "+A;N(e),t(e,n),i()},s=function(){t(null,n),i()};return n.addEventListener("error",r),n.addEventListener("load",s),n.src=A,n}if("undefined"!=typeof ImageBitmap){let i,r;const s=function(){t(i,r)},o={};e&&(o.mode="cors"),fetch(A,o).then((function(A){if(!A.ok)throw A;return A.blob()})).then((function(A){return createImageBitmap(A,{premultiplyAlpha:"none",colorSpaceConversion:"none"})})).then((function(A){r=A,setTimeout(s)})).catch((function(A){i=A,setTimeout(s)})),n=null}return n}(A,e,t)}function ke(A,e,t){const n=(t=t||ie.textureOptions).target||3553;if(A.bindTexture(n,e),!1===t.color)return;const i=function(A){return A=A||ie.textureColor,re(A)?A:new Uint8Array([255*A[0],255*A[1],255*A[2],255*A[3]])}(t.color);if(34067===n)for(let e=0;e<6;++e)A.texImage2D(34069+e,0,6408,1,1,0,6408,5121,i);else 32879===n||35866===n?A.texImage3D(n,0,6408,1,1,1,0,6408,5121,i):A.texImage2D(n,0,6408,1,1,0,6408,5121,i)}function Je(A,e,t,n){n=n||Ge,t=t||ie.textureOptions,ke(A,e,t);return be((t=Object.assign({},t)).src,t.crossOrigin,(function(i,r){i?n(i,e,r):(Re(A,e,r,t),n(null,e,r))}))}function je(A,e,t,n){n=n||Ge;const i=t.src;if(6!==i.length)throw"there must be 6 urls for a cubemap";const r=t.level||0,s=t.internalFormat||t.format||6408,o=Ee(s),a=t.format||o.format,B=t.type||5121,c=t.target||3553;if(34067!==c)throw"target must be TEXTURE_CUBE_MAP";ke(A,e,t),t=Object.assign({},t);let g=6;const Q=[],E=xe(0,t);let l;l=i.map((function(i,o){return be(i,t.crossOrigin,(u=E[o],function(i,o){--g,i?Q.push(i):o.width!==o.height?Q.push("cubemap face img is not a square: "+o.src):(pe(A,t),A.bindTexture(c,e),5===g?xe().forEach((function(e){A.texImage2D(e,r,s,a,B,o)})):A.texImage2D(u,r,s,a,B,o),ye(t)&&A.generateMipmap(c)),0===g&&n(Q.length?Q:void 0,e,l)}));var u}))}function ze(A,e,t,n){n=n||Ge;const i=t.src,r=t.internalFormat||t.format||6408,s=Ee(r),o=t.format||s.format,a=t.type||5121,B=t.target||35866;if(32879!==B&&35866!==B)throw"target must be TEXTURE_3D or TEXTURE_2D_ARRAY";ke(A,e,t),t=Object.assign({},t);let c=i.length;const g=[];let Q;const E=t.level||0;let l=t.width,u=t.height;const w=i.length;let h=!0;Q=i.map((function(i,s){return be(i,t.crossOrigin,(C=s,function(i,s){if(--c,i)g.push(i);else{if(pe(A,t),A.bindTexture(B,e),h){h=!1,l=t.width||s.width,u=t.height||s.height,A.texImage3D(B,E,r,l,u,w,0,o,a,null);for(let e=0;e<w;++e)A.texSubImage3D(B,E,0,0,e,l,u,1,o,a,s)}else{let e,t=s;s.width===l&&s.height===u||(e=se(),t=e.canvas,e.canvas.width=l,e.canvas.height=u,e.drawImage(s,0,0,l,u)),A.texSubImage3D(B,E,0,0,C,l,u,1,o,a,t),e&&t===e.canvas&&(e.canvas.width=0,e.canvas.height=0)}ye(t)&&A.generateMipmap(B)}0===c&&n(g.length?g:void 0,e,Q)}));var C}))}function ve(A,e,t,n){const i=(n=n||ie.textureOptions).target||3553;A.bindTexture(i,e);let r=n.width,s=n.height,o=n.depth;const a=n.level||0,B=n.internalFormat||n.format||6408,c=Ee(B),g=n.format||c.format,Q=n.type||Ce(0,t,c.type);if(re(t))t instanceof Uint8ClampedArray&&(t=new Uint8Array(t.buffer));else{const A=F(Q);t=new A(t)}const E=Qe(B,Q),l=t.byteLength/E;if(l%1)throw"length wrong size for format: "+te(A,g);let u;if(32879===i||35866===i)if(r||s||o)!r||s&&o?!s||r&&o?(u=de(0,i,r,s,l/o),r=u.width,s=u.height):(u=de(0,i,r,o,l/s),r=u.width,o=u.height):(u=de(0,i,s,o,l/r),s=u.width,o=u.height);else{const A=Math.cbrt(l);if(A%1!=0)throw"can't guess cube size of array of numElements: "+l;r=A,s=A,o=A}else u=de(0,i,r,s,l),r=u.width,s=u.height;if(me(A),A.pixelStorei(3317,n.unpackAlignment||1),pe(A,n),34067===i){const e=l/6*(E/t.BYTES_PER_ELEMENT);Te(0,n).forEach(n=>{const i=e*n.ndx,o=t.subarray(i,i+e);A.texImage2D(n.face,a,B,r,s,0,g,Q,o)})}else 32879===i||35866===i?A.texImage3D(i,a,B,r,s,o,0,g,Q,t):A.texImage2D(i,a,B,r,s,0,g,Q,t);return{width:r,height:s,depth:o,type:Q}}function Le(A,e,t){const n=t.target||3553;A.bindTexture(n,e);const i=t.level||0,r=t.internalFormat||t.format||6408,s=Ee(r),o=t.format||s.format,a=t.type||s.type;if(pe(A,t),34067===n)for(let e=0;e<6;++e)A.texImage2D(34069+e,i,r,t.width,t.height,0,o,a,null);else 32879===n||35866===n?A.texImage3D(n,i,r,t.width,t.height,t.depth,0,o,a,null):A.texImage2D(n,i,r,t.width,t.height,0,o,a,null)}function Pe(A,e,t){t=t||Ge,e=e||ie.textureOptions;const n=A.createTexture(),i=e.target||3553;let r=e.width||1,s=e.height||1;const o=e.internalFormat||6408;A.bindTexture(i,n),34067===i&&(A.texParameteri(i,10242,33071),A.texParameteri(i,10243,33071));let a=e.src;if(a)if("function"==typeof a&&(a=a(A,e)),"string"==typeof a)Je(A,n,e,t);else if(re(a)||Array.isArray(a)&&("number"==typeof a[0]||Array.isArray(a[0])||re(a[0]))){const t=ve(A,n,a,e);r=t.width,s=t.height}else Array.isArray(a)&&("string"==typeof a[0]||He(a[0]))?34067===i?je(A,n,e,t):ze(A,n,e,t):(Re(A,n,a,e),r=a.width,s=a.height);else Le(A,n,e);return ye(e)&&Ue(A,n,e,r,s,o),De(A,n,e),n}function Oe(A,e,t,n,i,r){n=n||t.width,i=i||t.height,r=r||t.depth;const s=t.target||3553;A.bindTexture(s,e);const o=t.level||0,a=t.internalFormat||t.format||6408,B=Ee(a),c=t.format||B.format;let g;const Q=t.src;if(g=Q&&(re(Q)||Array.isArray(Q)&&"number"==typeof Q[0])?t.type||Ce(0,Q,B.type):t.type||B.type,34067===s)for(let e=0;e<6;++e)A.texImage2D(34069+e,o,a,n,i,0,c,g,null);else 32879===s||35866===s?A.texImage3D(s,o,a,n,i,r,0,c,g,null):A.texImage2D(s,o,a,n,i,0,c,g,null)}function We(A,e,t){t=t||Ge;let n=0;const i=[],r={},s={};function o(){0===n&&setTimeout((function(){t(i.length?i:void 0,r,s)}),0)}return Object.keys(e).forEach((function(t){const a=e[t];let B;var c;("string"==typeof(c=a.src)||Array.isArray(c)&&"string"==typeof c[0])&&(B=function(A,e,r){s[t]=r,--n,A&&i.push(A),o()},++n),r[t]=Pe(A,a,B)})),o(),r}var Ve=Object.freeze({__proto__:null,setTextureDefaults_:Me,createSampler:fe,createSamplers:Ne,setSamplerParameters:Ye,createTexture:Pe,setEmptyTexture:Le,setTextureFromArray:ve,loadTextureFromUrl:Je,setTextureFromElement:Re,setTextureFilteringForSize:Ue,setTextureParameters:De,setDefaultTextureColor:Ie,createTextures:We,resizeTexture:Oe,canGenerateMipmap:ue,canFilter:we,getNumComponentsForFormat:he,getBytesPerElementForInternalFormat:Qe,getFormatAndTypeForInternalFormat:Ee});const Ke=N,Xe=U;function Ze(A){return"undefined"!=typeof document&&document.getElementById?document.getElementById(A):null}const _e={};function qe(A,e){return _e[e].bindPoint}function $e(A,e){return function(t){A.uniform1i(e,t)}}function At(A,e){return function(t){A.uniform1iv(e,t)}}function et(A,e){return function(t){A.uniform2iv(e,t)}}function tt(A,e){return function(t){A.uniform3iv(e,t)}}function nt(A,e){return function(t){A.uniform4iv(e,t)}}function it(A,e,t,n){const i=qe(0,e);return Ae(A)?function(e){let r,s;!e||R(0,e)?(r=e,s=null):(r=e.texture,s=e.sampler),A.uniform1i(n,t),A.activeTexture(33984+t),A.bindTexture(i,r),A.bindSampler(t,s)}:function(e){A.uniform1i(n,t),A.activeTexture(33984+t),A.bindTexture(i,e)}}function rt(A,e,t,n,i){const r=qe(0,e),s=new Int32Array(i);for(let A=0;A<i;++A)s[A]=t+A;return Ae(A)?function(e){A.uniform1iv(n,s),e.forEach((function(e,n){let i,o;A.activeTexture(33984+s[n]),!e||R(0,e)?(i=e,o=null):(i=e.texture,o=e.sampler),A.bindSampler(t,o),A.bindTexture(r,i)}))}:function(e){A.uniform1iv(n,s),e.forEach((function(e,t){A.activeTexture(33984+s[t]),A.bindTexture(r,e)}))}}function st(A,e){return function(t){if(t.value)switch(A.disableVertexAttribArray(e),t.value.length){case 4:A.vertexAttrib4fv(e,t.value);break;case 3:A.vertexAttrib3fv(e,t.value);break;case 2:A.vertexAttrib2fv(e,t.value);break;case 1:A.vertexAttrib1fv(e,t.value);break;default:throw new Error("the length of a float constant value must be between 1 and 4!")}else A.bindBuffer(34962,t.buffer),A.enableVertexAttribArray(e),A.vertexAttribPointer(e,t.numComponents||t.size,t.type||5126,t.normalize||!1,t.stride||0,t.offset||0),A.vertexAttribDivisor&&A.vertexAttribDivisor(e,t.divisor||0)}}function ot(A,e){return function(t){if(t.value){if(A.disableVertexAttribArray(e),4!==t.value.length)throw new Error("The length of an integer constant value must be 4!");A.vertexAttrib4iv(e,t.value)}else A.bindBuffer(34962,t.buffer),A.enableVertexAttribArray(e),A.vertexAttribIPointer(e,t.numComponents||t.size,t.type||5124,t.stride||0,t.offset||0),A.vertexAttribDivisor&&A.vertexAttribDivisor(e,t.divisor||0)}}function at(A,e){return function(t){if(t.value){if(A.disableVertexAttribArray(e),4!==t.value.length)throw new Error("The length of an unsigned integer constant value must be 4!");A.vertexAttrib4uiv(e,t.value)}else A.bindBuffer(34962,t.buffer),A.enableVertexAttribArray(e),A.vertexAttribIPointer(e,t.numComponents||t.size,t.type||5125,t.stride||0,t.offset||0),A.vertexAttribDivisor&&A.vertexAttribDivisor(e,t.divisor||0)}}function Bt(A,e,t){const n=t.size,i=t.count;return function(t){A.bindBuffer(34962,t.buffer);const r=t.size||t.numComponents||n,s=r/i,o=t.type||5126,a=_e[o].size*r,B=t.normalize||!1,c=t.offset||0,g=a/i;for(let n=0;n<i;++n)A.enableVertexAttribArray(e+n),A.vertexAttribPointer(e+n,s,o,B,a,c+g*n),A.vertexAttribDivisor&&A.vertexAttribDivisor(e+n,t.divisor||0)}}_e[5126]={Type:Float32Array,size:4,setter:function(A,e){return function(t){A.uniform1f(e,t)}},arraySetter:function(A,e){return function(t){A.uniform1fv(e,t)}}},_e[35664]={Type:Float32Array,size:8,setter:function(A,e){return function(t){A.uniform2fv(e,t)}},cols:2},_e[35665]={Type:Float32Array,size:12,setter:function(A,e){return function(t){A.uniform3fv(e,t)}},cols:3},_e[35666]={Type:Float32Array,size:16,setter:function(A,e){return function(t){A.uniform4fv(e,t)}},cols:4},_e[5124]={Type:Int32Array,size:4,setter:$e,arraySetter:At},_e[35667]={Type:Int32Array,size:8,setter:et,cols:2},_e[35668]={Type:Int32Array,size:12,setter:tt,cols:3},_e[35669]={Type:Int32Array,size:16,setter:nt,cols:4},_e[5125]={Type:Uint32Array,size:4,setter:function(A,e){return function(t){A.uniform1ui(e,t)}},arraySetter:function(A,e){return function(t){A.uniform1uiv(e,t)}}},_e[36294]={Type:Uint32Array,size:8,setter:function(A,e){return function(t){A.uniform2uiv(e,t)}},cols:2},_e[36295]={Type:Uint32Array,size:12,setter:function(A,e){return function(t){A.uniform3uiv(e,t)}},cols:3},_e[36296]={Type:Uint32Array,size:16,setter:function(A,e){return function(t){A.uniform4uiv(e,t)}},cols:4},_e[35670]={Type:Uint32Array,size:4,setter:$e,arraySetter:At},_e[35671]={Type:Uint32Array,size:8,setter:et,cols:2},_e[35672]={Type:Uint32Array,size:12,setter:tt,cols:3},_e[35673]={Type:Uint32Array,size:16,setter:nt,cols:4},_e[35674]={Type:Float32Array,size:32,setter:function(A,e){return function(t){A.uniformMatrix2fv(e,!1,t)}},rows:2,cols:2},_e[35675]={Type:Float32Array,size:48,setter:function(A,e){return function(t){A.uniformMatrix3fv(e,!1,t)}},rows:3,cols:3},_e[35676]={Type:Float32Array,size:64,setter:function(A,e){return function(t){A.uniformMatrix4fv(e,!1,t)}},rows:4,cols:4},_e[35685]={Type:Float32Array,size:32,setter:function(A,e){return function(t){A.uniformMatrix2x3fv(e,!1,t)}},rows:2,cols:3},_e[35686]={Type:Float32Array,size:32,setter:function(A,e){return function(t){A.uniformMatrix2x4fv(e,!1,t)}},rows:2,cols:4},_e[35687]={Type:Float32Array,size:48,setter:function(A,e){return function(t){A.uniformMatrix3x2fv(e,!1,t)}},rows:3,cols:2},_e[35688]={Type:Float32Array,size:48,setter:function(A,e){return function(t){A.uniformMatrix3x4fv(e,!1,t)}},rows:3,cols:4},_e[35689]={Type:Float32Array,size:64,setter:function(A,e){return function(t){A.uniformMatrix4x2fv(e,!1,t)}},rows:4,cols:2},_e[35690]={Type:Float32Array,size:64,setter:function(A,e){return function(t){A.uniformMatrix4x3fv(e,!1,t)}},rows:4,cols:3},_e[35678]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:3553},_e[35680]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:34067},_e[35679]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:32879},_e[35682]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:3553},_e[36289]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:35866},_e[36292]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:35866},_e[36293]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:34067},_e[36298]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:3553},_e[36299]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:32879},_e[36300]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:34067},_e[36303]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:35866},_e[36306]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:3553},_e[36307]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:32879},_e[36308]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:34067},_e[36311]={Type:null,size:0,setter:it,arraySetter:rt,bindPoint:35866};const ct={};ct[5126]={size:4,setter:st},ct[35664]={size:8,setter:st},ct[35665]={size:12,setter:st},ct[35666]={size:16,setter:st},ct[5124]={size:4,setter:ot},ct[35667]={size:8,setter:ot},ct[35668]={size:12,setter:ot},ct[35669]={size:16,setter:ot},ct[5125]={size:4,setter:at},ct[36294]={size:8,setter:at},ct[36295]={size:12,setter:at},ct[36296]={size:16,setter:at},ct[35670]={size:4,setter:ot},ct[35671]={size:8,setter:ot},ct[35672]={size:12,setter:ot},ct[35673]={size:16,setter:ot},ct[35674]={size:4,setter:Bt,count:2},ct[35675]={size:9,setter:Bt,count:3},ct[35676]={size:16,setter:Bt,count:4};const gt=/ERROR:\s*\d+:(\d+)/gi;const Qt=/^[ \t]*\n/;function Et(A){let e=0;return Qt.test(A)&&(e=1,A=A.replace(Qt,"")),{lineOffset:e,shaderSource:A}}function lt(A,e){return A.errorCallback(e),A.callback&&setTimeout(()=>{A.callback(`${e}\n${A.errors.join("\n")}`)}),null}function ut(A,e,t,n){n=n||Ke;if(!A.getShaderParameter(t,35713)){const i=A.getShaderInfoLog(t),{lineOffset:r,shaderSource:s}=Et(A.getShaderSource(t)),o=`${function(A,e="",t=0){const n=[...e.matchAll(gt)],i=new Map(n.map((A,t)=>{const i=parseInt(A[1]),r=n[t+1],s=r?r.index:e.length;return[i-1,e.substring(A.index,s)]}));return A.split("\n").map((A,e)=>{const n=i.get(e);return`${e+1+t}: ${A}${n?"\n\n^^^ "+n:""}`}).join("\n")}(s,i,r)}\nError compiling ${te(A,e)}: ${i}`;return n(o),o}return""}function wt(A,e,t){let n,i,r;if("function"==typeof e&&(t=e,e=void 0),"function"==typeof A)t=A,A=void 0;else if(A&&!Array.isArray(A)){const e=A;t=e.errorCallback,A=e.attribLocations,n=e.transformFeedbackVaryings,i=e.transformFeedbackMode,r=e.callback}const s=t||Ke,o=[],a={errorCallback(A,...e){o.push(A),s(A,...e)},transformFeedbackVaryings:n,transformFeedbackMode:i,callback:r,errors:o};{let t={};Array.isArray(A)?A.forEach((function(A,n){t[A]=e?e[n]:n})):t=A||{},a.attribLocations=t}return a}const ht=["VERTEX_SHADER","FRAGMENT_SHADER"];const Ct=(A=0)=>new Promise(e=>setTimeout(e,A));function dt(A,e,t){const n=A.createProgram(),{attribLocations:i,transformFeedbackVaryings:r,transformFeedbackMode:s}=wt(t);for(let t=0;t<e.length;++t){let i=e[t];if("string"==typeof i){const e=Ze(i),r=e?e.text:i;let s=A[ht[t]];e&&e.type&&(s=((o=e.type).indexOf("frag")>=0?35632:o.indexOf("vert")>=0?35633:void 0)||s),i=A.createShader(s),A.shaderSource(i,Et(r).shaderSource),A.compileShader(i),A.attachShader(n,i)}}var o;Object.entries(i).forEach(([e,t])=>A.bindAttribLocation(n,t,e));{let e=r;e&&(e.attribs&&(e=e.attribs),Array.isArray(e)||(e=Object.keys(e)),A.transformFeedbackVaryings(n,e,s||35981))}return A.linkProgram(n),n}function It(A,e,t,n,i){const r=wt(t,n,i),s=new Set(e),o=dt(A,e,r);function a(A,e){const t=Dt(A,e,r.errorCallback);return t&&function(A,e,t){const n=A.getAttachedShaders(e);for(const e of n)t.has(e)&&A.deleteShader(e);A.deleteProgram(e)}(A,e,s),t}if(!r.callback)return a(A,o)?void 0:o;Ft(A,o).then(()=>{const e=a(A,o);r.callback(e,e?void 0:o)})}function Mt(A){return function(e,t,...n){return new Promise((i,r)=>{const s=wt(...n);s.callback=(A,e)=>{A?r(A):i(e)},A(e,t,s)})}}const pt=Mt(It),mt=Mt(Zt);async function Ft(A,e){const t=A.getExtension("KHR_parallel_shader_compile"),n=t?(A,e)=>A.getProgramParameter(e,t.COMPLETION_STATUS_KHR):()=>!0;let i=0;do{await Ct(i),i=1e3/60}while(!n(A,e))}function Dt(A,e,t){t=t||Ke;if(!A.getProgramParameter(e,35714)){const n=A.getProgramInfoLog(e);t("Error in program linking: "+n);return`${n}\n${A.getAttachedShaders(e).map(e=>ut(A,A.getShaderParameter(e,A.SHADER_TYPE),e,t)).filter(A=>A).join("\n")}`}}function Yt(A,e,t,n,i){const r=wt(t,n,i),s=[];for(const A of e){const e=Ze(A);if(!e)return lt(r,"unknown script element: "+A);s.push(e.text)}return It(A,s,r)}function ft(A,e,t,n,i){return It(A,e,t,n,i)}function Nt(A){const e=A.name;return e.startsWith("gl_")||e.startsWith("webgl_")}const Ut=/(\.|\[|]|\w+)/g;function yt(A,e,t,n){const i=A.split(Ut).filter(A=>""!==A);let r=0,s="";for(;;){const A=i[r++];s+=A;const a=(o=A[0])>="0"&&o<="9",B=a?parseInt(A):A;a&&(s+=i[r++]);if(r===i.length){t[B]=e;break}{const A=i[r++],e="["===A,o=t[B]||(e?[]:{});t[B]=o,t=o,n[s]=n[s]||function(A){return function(e){vt(A,e)}}(o),s+=A}}var o}function xt(A,e){let t=0;function n(e,n,i){const r=n.name.endsWith("[0]"),s=n.type,o=_e[s];if(!o)throw new Error("unknown type: 0x"+s.toString(16));let a;if(o.bindPoint){const e=t;t+=n.size,a=r?o.arraySetter(A,s,e,i,n.size):o.setter(A,s,e,i,n.size)}else a=o.arraySetter&&r?o.arraySetter(A,i):o.setter(A,i);return a.location=i,a}const i={},r={},s=A.getProgramParameter(e,35718);for(let t=0;t<s;++t){const s=A.getActiveUniform(e,t);if(Nt(s))continue;let o=s.name;o.endsWith("[0]")&&(o=o.substr(0,o.length-3));const a=A.getUniformLocation(e,s.name);if(a){const A=n(0,s,a);i[o]=A,yt(o,A,r,i)}}return i}function Tt(A,e){const t={},n=A.getProgramParameter(e,35971);for(let i=0;i<n;++i){const n=A.getTransformFeedbackVarying(e,i);t[n.name]={index:i,type:n.type,size:n.size}}return t}function Rt(A,e,t){e.transformFeedbackInfo&&(e=e.transformFeedbackInfo),t.attribs&&(t=t.attribs);for(const n in t){const i=e[n];if(i){const e=t[n];e.offset?A.bindBufferRange(35982,i.index,e.buffer,e.offset,e.size):A.bindBufferBase(35982,i.index,e.buffer)}}}function Gt(A,e,t){const n=A.createTransformFeedback();return A.bindTransformFeedback(36386,n),A.useProgram(e.program),Rt(A,e,t),A.bindTransformFeedback(36386,null),n}function St(A,e){const t=A.getProgramParameter(e,35718),n=[],i=[];for(let r=0;r<t;++r){i.push(r),n.push({});const t=A.getActiveUniform(e,r);n[r].name=t.name}[["UNIFORM_TYPE","type"],["UNIFORM_SIZE","size"],["UNIFORM_BLOCK_INDEX","blockNdx"],["UNIFORM_OFFSET","offset"]].forEach((function(t){const r=t[0],s=t[1];A.getActiveUniforms(e,i,A[r]).forEach((function(A,e){n[e][s]=A}))}));const r={},s=A.getProgramParameter(e,35382);for(let t=0;t<s;++t){const n=A.getActiveUniformBlockName(e,t),i={index:A.getUniformBlockIndex(e,n),usedByVertexShader:A.getActiveUniformBlockParameter(e,t,35396),usedByFragmentShader:A.getActiveUniformBlockParameter(e,t,35398),size:A.getActiveUniformBlockParameter(e,t,35392),uniformIndices:A.getActiveUniformBlockParameter(e,t,35395)};i.used=i.usedByVertexShader||i.usedByFragmentShader,r[n]=i}return{blockSpecs:r,uniformData:n}}const Ht=/\[\d+\]\.$/;function bt(A,e,t,n){const i=t.blockSpecs,r=t.uniformData,s=i[n];if(!s)return Xe("no uniform block object named:",n),{name:n,uniforms:{}};const o=new ArrayBuffer(s.size),a=A.createBuffer(),B=s.index;A.bindBuffer(35345,a),A.uniformBlockBinding(e,s.index,B);let c=n+".";Ht.test(c)&&(c=c.replace(Ht,"."));const g={},Q={},E={};return s.uniformIndices.forEach((function(A){const e=r[A];let t=e.name;t.startsWith(c)&&(t=t.substr(c.length));const n=t.endsWith("[0]");n&&(t=t.substr(0,t.length-3));const i=_e[e.type],s=i.Type,a=n?((i.size+((B=16)-1))/B|0)*B*e.size:i.size*e.size;var B;const l=new s(o,e.offset,a/s.BYTES_PER_ELEMENT);g[t]=l;const u=function(A,e,t,n){if(e||t){n=n||1;const e=A.length/4;return function(t){let i=0,r=0;for(let s=0;s<e;++s){for(let e=0;e<n;++e)A[i++]=t[r++];i+=4-n}}}return function(e){e.length?A.set(e):A[0]=e}}(l,n,i.rows,i.cols);Q[t]=u,yt(t,u,E,Q)})),{name:n,array:o,asFloat:new Float32Array(o),buffer:a,uniforms:g,setters:Q}}function kt(A,e,t){return bt(A,e.program,e.uniformBlockSpec,t)}function Jt(A,e,t){const n=(e.uniformBlockSpec||e).blockSpecs[t.name];if(n){const e=n.index;return A.bindBufferRange(35345,e,t.buffer,t.offset||0,t.array.byteLength),!0}return!1}function jt(A,e,t){Jt(A,e,t)&&A.bufferData(35345,t.array,35048)}function zt(A,e){const t=A.setters;for(const A in e){const n=t[A];if(n){n(e[A])}}}function vt(A,e){for(const t in e){const n=A[t];"function"==typeof n?n(e[t]):vt(A[t],e[t])}}function Lt(A,...e){const t=A.uniformSetters||A,n=e.length;for(let A=0;A<n;++A){const n=e[A];if(Array.isArray(n)){const A=n.length;for(let e=0;e<A;++e)Lt(t,n[e])}else for(const A in n){const e=t[A];e&&e(n[A])}}}const Pt=Lt;function Ot(A,e){const t={},n=A.getProgramParameter(e,35721);for(let i=0;i<n;++i){const n=A.getActiveAttrib(e,i);if(Nt(n))continue;const r=A.getAttribLocation(e,n.name),s=ct[n.type],o=s.setter(A,r,s);o.location=r,t[n.name]=o}return t}function Wt(A,e){for(const t in e){const n=A[t];n&&n(e[t])}}function Vt(A,e,t){t.vertexArrayObject?A.bindVertexArray(t.vertexArrayObject):(Wt(e.attribSetters||e,t.attribs),t.indices&&A.bindBuffer(34963,t.indices))}function Kt(A,e){const t={program:e,uniformSetters:xt(A,e),attribSetters:Ot(A,e)};return Ae(A)&&(t.uniformBlockSpec=St(A,e),t.transformFeedbackInfo=Tt(A,e)),t}const Xt=/\s|{|}|;/;function Zt(A,e,t,n,i){const r=wt(t,n,i),s=[];if(e=e.map((function(A){if(!Xt.test(A)){const e=Ze(A);if(e)A=e.text;else{const e="no element with id: "+A;r.errorCallback(e),s.push(e)}}return A})),s.length)return lt(r,"");const o=r.callback;o&&(r.callback=(e,t)=>{o(e,e?void 0:Kt(A,t))});const a=ft(A,e,r);return a?Kt(A,a):null}function _t(A,e,t,n,i){for(const[r,s]of Object.entries(e)){const o={...i},a=t[r];Array.isArray(a)||Object.assign(o,a);const B=Dt(A,s,o.errorCallback);if(B){for(const t of Object.values(e)){const e=A.getAttachedShaders(t);A.deleteProgram(t);for(const t of e)n.has(t)||A.deleteShader(t)}return B}}}function qt(A,e,t={}){const n=new Set,i=Object.fromEntries(Object.entries(e).map(([e,i])=>{const r={...t},s=Array.isArray(i)?i:i.shaders;return Array.isArray(i)||Object.assign(r,i),s.forEach(n.add,n),[e,dt(A,s,r)]}));if(t.callback)return void async function(A,e){for(const t of Object.values(e))await Ft(A,t)}(A,i).then(()=>{const r=_t(A,i,e,n,t);t.callback(r,r?void 0:i)});return _t(A,i,e,n,t)?void 0:i}function $t(A,e,t){function n(A,e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Kt(A,t)]))}const i=(t=wt(t)).callback;i&&(t.callback=(e,t)=>{i(e,e?void 0:n(A,t))});const r=qt(A,e,t);if(!i&&r)return n(A,r)}const An=Mt(qt),en=Mt($t);var tn=Object.freeze({__proto__:null,createAttributeSetters:Ot,createProgram:It,createProgramAsync:pt,createPrograms:qt,createProgramsAsync:An,createProgramFromScripts:Yt,createProgramFromSources:ft,createProgramInfo:Zt,createProgramInfoAsync:mt,createProgramInfos:$t,createProgramInfosAsync:en,createProgramInfoFromProgram:Kt,createUniformSetters:xt,createUniformBlockSpecFromProgram:St,createUniformBlockInfoFromProgram:bt,createUniformBlockInfo:kt,createTransformFeedback:Gt,createTransformFeedbackInfo:Tt,bindTransformFeedbackInfo:Rt,setAttributes:Wt,setBuffersAndAttributes:Vt,setUniforms:Lt,setUniformsAndBindTextures:Pt,setUniformBlock:jt,setBlockUniforms:zt,bindUniformBlock:Jt});function nn(A,e,t,n,i,r){t=void 0===t?4:t;const s=e.indices,o=e.elementType,a=void 0===n?e.numElements:n;i=void 0===i?0:i,o||s?void 0!==r?A.drawElementsInstanced(t,a,void 0===o?5123:e.elementType,i,r):A.drawElements(t,a,void 0===o?5123:e.elementType,i):void 0!==r?A.drawArraysInstanced(t,i,a,r):A.drawArrays(t,i,a)}function rn(A,e){let t=null,n=null;e.forEach((function(e){if(!1===e.active)return;const i=e.programInfo,r=e.vertexArrayInfo||e.bufferInfo;let s=!1;const o=void 0===e.type?4:e.type;i!==t&&(t=i,A.useProgram(i.program),s=!0),(s||r!==n)&&(n&&n.vertexArrayObject&&!r.vertexArrayObject&&A.bindVertexArray(null),n=r,Vt(A,i,r)),Lt(i,e.uniforms),nn(A,r,o,e.count,e.offset,e.instanceCount)})),n&&n.vertexArrayObject&&A.bindVertexArray(null)}var sn=Object.freeze({__proto__:null,drawBufferInfo:nn,drawObjectList:rn});const on=[{format:6408,type:5121,min:9729,wrap:33071},{format:34041}],an={};an[34041]=33306,an[6401]=36128,an[36168]=36128,an[6402]=36096,an[33189]=36096,an[33190]=36096,an[36012]=36096,an[35056]=33306,an[36013]=33306;const Bn={};Bn[32854]=!0,Bn[32855]=!0,Bn[36194]=!0,Bn[34041]=!0,Bn[33189]=!0,Bn[6401]=!0,Bn[36168]=!0;function cn(A,e,t,n){const i=A.createFramebuffer();A.bindFramebuffer(36160,i),t=t||A.drawingBufferWidth,n=n||A.drawingBufferHeight;const r=[],s={framebuffer:i,attachments:[],width:t,height:n};return(e=e||on).forEach((function(e,i){let o=e.attachment;const a=e.samples,B=e.format;let c=e.attachmentPoint||function(A,e){return an[A]||an[e]}(B,e.internalFormat);if(c||(c=36064+i),function(A){return A>=36064&&A<36096}(c)&&r.push(c),!o)if(void 0!==a||function(A){return Bn[A]}(B))o=A.createRenderbuffer(),A.bindRenderbuffer(36161,o),a>1?A.renderbufferStorageMultisample(36161,a,B,t,n):A.renderbufferStorage(36161,B,t,n);else{const i=Object.assign({},e);i.width=t,i.height=n,void 0===i.auto&&(i.auto=!1,i.min=i.min||i.minMag||9729,i.mag=i.mag||i.minMag||9729,i.wrapS=i.wrapS||i.wrap||33071,i.wrapT=i.wrapT||i.wrap||33071),o=Pe(A,i)}if(T(0,o))A.framebufferRenderbuffer(36160,c,36161,o);else{if(!R(0,o))throw new Error("unknown attachment type");void 0!==e.layer?A.framebufferTextureLayer(36160,c,o,e.level||0,e.layer):A.framebufferTexture2D(36160,c,e.target||3553,o,e.level||0)}s.attachments.push(o)})),A.drawBuffers&&A.drawBuffers(r),s}function gn(A,e,t,n,i){n=n||A.drawingBufferWidth,i=i||A.drawingBufferHeight,e.width=n,e.height=i,(t=t||on).forEach((function(t,r){const s=e.attachments[r],o=t.format,a=t.samples;if(void 0!==a||T(0,s))A.bindRenderbuffer(36161,s),a>1?A.renderbufferStorageMultisample(36161,a,o,n,i):A.renderbufferStorage(36161,o,n,i);else{if(!R(0,s))throw new Error("unknown attachment type");Oe(A,s,t,n,i)}}))}function Qn(A,e,t){t=t||36160,e?(A.bindFramebuffer(t,e.framebuffer),A.viewport(0,0,e.width,e.height)):(A.bindFramebuffer(t,null),A.viewport(0,0,A.drawingBufferWidth,A.drawingBufferHeight))}var En=Object.freeze({__proto__:null,bindFramebufferInfo:Qn,createFramebufferInfo:cn,resizeFramebufferInfo:gn});function ln(A,e,t){const n=A.createVertexArray();return A.bindVertexArray(n),e.length||(e=[e]),e.forEach((function(e){Vt(A,e,t)})),A.bindVertexArray(null),{numElements:t.numElements,elementType:t.elementType,vertexArrayObject:n}}function un(A,e,t,n){const i=A.createVertexArray();return A.bindVertexArray(i),Wt(e,t),n&&A.bindBuffer(34963,n),A.bindVertexArray(null),i}function wn(A,e,t){return un(A,e.attribSetters||e,t.attribs,t.indices)}var hn=Object.freeze({__proto__:null,createVertexArrayInfo:ln,createVAOAndSetAttributes:un,createVAOFromBufferInfo:wn});const Cn={addExtensionsToContext:!0};function dn(A){f(A,Cn),H(A),Me(A)}const In=/^(.*?)_/;function Mn(A,e){te(A,0);const t=A.getExtension(e);if(t){const n={},i=In.exec(e)[1],r="_"+i;for(const e in t){const s=t[e],o="function"==typeof s,a=o?i:r;let B=e;e.endsWith(a)&&(B=e.substring(0,e.length-a.length)),void 0!==A[B]?o||A[B]===s||U(B,A[B],s,e):o?A[B]=function(A){return function(){return A.apply(t,arguments)}}(s):(A[B]=s,n[B]=s)}n.constructor={name:t.constructor.name},te(n,0)}return t}const pn=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_color_buffer_float","EXT_color_buffer_half_float","EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2","EXT_frag_depth","EXT_sRGB","EXT_shader_texture_lod","EXT_texture_filter_anisotropic","OES_element_index_uint","OES_standard_derivatives","OES_texture_float","OES_texture_float_linear","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_depth_texture","WEBGL_draw_buffers"];function mn(A){for(let e=0;e<pn.length;++e)Mn(A,pn[e])}function Fn(A,e){return function(A,e){const t=["webgl","experimental-webgl"];let n=null;for(let i=0;i<t.length;++i)if(n=A.getContext(t[i],e),n){Cn.addExtensionsToContext&&mn(n);break}return n}(A,e)}function Dn(A,e){return function(A,e){const t=["webgl2","webgl","experimental-webgl"];let n=null;for(let i=0;i<t.length;++i)if(n=A.getContext(t[i],e),n){Cn.addExtensionsToContext&&mn(n);break}return n}(A,e)}function Yn(A,e){e=e||1,e=Math.max(0,e);const t=A.clientWidth*e|0,n=A.clientHeight*e|0;return(A.width!==t||A.height!==n)&&(A.width=t,A.height=n,!0)}},function(A,e,t){A.exports=function(){"use strict";function A(){return!0}function e(){return!1}function t(){}return function n(){function i(A){return"object"==typeof A&&null!==A&&A.constructor===Object}const r=[{name:"number",test:function(A){return"number"==typeof A}},{name:"string",test:function(A){return"string"==typeof A}},{name:"boolean",test:function(A){return"boolean"==typeof A}},{name:"Function",test:function(A){return"function"==typeof A}},{name:"Array",test:Array.isArray},{name:"Date",test:function(A){return A instanceof Date}},{name:"RegExp",test:function(A){return A instanceof RegExp}},{name:"Object",test:i},{name:"null",test:function(A){return null===A}},{name:"undefined",test:function(A){return void 0===A}}],s={name:"any",test:A,isAny:!0};let o,a,B=0,c={createCount:0};function g(A){const e=o.get(A);if(e)return e;let t='Unknown type "'+A+'"';const n=A.toLowerCase();let i;for(i of a)if(i.toLowerCase()===n){t+='. Did you mean "'+i+'" ?';break}throw new TypeError(t)}function Q(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"any";const t=e?g(e).index:a.length,n=[];for(let e=0;e<A.length;++e){if(!A[e]||"string"!=typeof A[e].name||"function"!=typeof A[e].test)throw new TypeError("Object with properties {name: string, test: function} expected");const i=A[e].name;if(o.has(i))throw new TypeError('Duplicate type name "'+i+'"');n.push(i),o.set(i,{name:i,test:A[e].test,isAny:A[e].isAny,index:t+e,conversionsTo:[]})}const i=a.slice(t);a=a.slice(0,t).concat(n).concat(i);for(let A=t+n.length;A<a.length;++A)o.get(a[A]).index=A}function E(){o=new Map,a=[],B=0,Q([s],!1)}function l(A){const e=a.filter(e=>{const t=o.get(e);return!t.isAny&&t.test(A)});return e.length?e:["any"]}function u(A){return A&&"function"==typeof A&&"_typedFunctionData"in A}function w(A,e,t){if(!u(A))throw new TypeError("Argument is not a typed-function.");const n=t&&t.exact,i=M(Array.isArray(e)?e.join(","):e),r=h(i);if(!n||r in A.signatures){const e=A._typedFunctionData.signatureMap.get(r);if(e)return e}const s=i.length;let o,a;if(n){let e;for(e in o=[],A.signatures)o.push(A._typedFunctionData.signatureMap.get(e))}else o=A._typedFunctionData.signatures;for(let A=0;A<s;++A){const e=i[A],t=[];let n;for(n of o){const i=D(n.params,A);if(i&&(!e.restParam||i.restParam)){if(!i.hasAny){const A=I(i);if(e.types.some(e=>!A.has(e.name)))continue}t.push(n)}}if(o=t,0===o.length)break}for(a of o)if(a.params.length<=s)return a;throw new TypeError("Signature not found (signature: "+(A.name||"unnamed")+"("+h(i,", ")+"))")}function h(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:",";return A.map(A=>A.name).join(e)}function C(A){const e=0===A.indexOf("..."),t=(e?A.length>3?A.slice(3):"any":A).split("|").map(A=>g(A.trim()));let n=!1,i=e?"...":"";return{types:t.map((function(A){return n=A.isAny||n,i+=A.name+"|",{name:A.name,typeIndex:A.index,test:A.test,isAny:A.isAny,conversion:null,conversionIndex:-1}})),name:i.slice(0,-1),hasAny:n,hasConversion:!1,restParam:e}}function d(A){const e=function(A){if(0===A.length)return[];const e=A.map(g);A.length>1&&e.sort((A,e)=>A.index-e.index);let t=e[0].conversionsTo;if(1===A.length)return t;t=t.concat([]);const n=new Set(A);for(let A=1;A<e.length;++A){let i;for(i of e[A].conversionsTo)n.has(i.from)||(t.push(i),n.add(i.from))}return t}(A.types.map(A=>A.name));let t=A.hasAny,n=A.name;const i=e.map((function(A){const e=g(A.from);return t=e.isAny||t,n+="|"+A.from,{name:A.from,typeIndex:e.index,test:e.test,isAny:e.isAny,conversion:A,conversionIndex:A.index}}));return{types:A.types.concat(i),name:n,hasAny:t,hasConversion:i.length>0,restParam:A.restParam}}function I(A){return A.typeSet||(A.typeSet=new Set,A.types.forEach(e=>A.typeSet.add(e.name))),A.typeSet}function M(A){const e=[];if("string"!=typeof A)throw new TypeError("Signatures must be strings");const t=A.trim();if(""===t)return e;const n=t.split(",");for(let A=0;A<n.length;++A){const t=C(n[A].trim());if(t.restParam&&A!==n.length-1)throw new SyntaxError('Unexpected rest parameter "'+n[A]+'": only allowed for the last parameter');if(0===t.types.length)return null;e.push(t)}return e}function p(A){const e=L(A);return!!e&&e.restParam}function m(e){if(e&&0!==e.types.length){if(1===e.types.length)return g(e.types[0].name).test;if(2===e.types.length){const A=g(e.types[0].name).test,t=g(e.types[1].name).test;return function(e){return A(e)||t(e)}}{const A=e.types.map((function(A){return g(A.name).test}));return function(e){for(let t=0;t<A.length;t++)if(A[t](e))return!0;return!1}}}return A}function F(A){let e,t,n;if(p(A)){e=v(A).map(m);const t=e.length,n=m(L(A)),i=function(A){for(let e=t;e<A.length;e++)if(!n(A[e]))return!1;return!0};return function(A){for(let t=0;t<e.length;t++)if(!e[t](A[t]))return!1;return i(A)&&A.length>=t+1}}return 0===A.length?function(A){return 0===A.length}:1===A.length?(t=m(A[0]),function(A){return t(A[0])&&1===A.length}):2===A.length?(t=m(A[0]),n=m(A[1]),function(A){return t(A[0])&&n(A[1])&&2===A.length}):(e=A.map(m),function(A){for(let t=0;t<e.length;t++)if(!e[t](A[t]))return!1;return A.length===e.length})}function D(A,e){return e<A.length?A[e]:p(A)?L(A):null}function Y(A,e){const t=D(A,e);return t?I(t):new Set}function f(A){return null===A.conversion||void 0===A.conversion}function N(A,e){const t=new Set;return A.forEach(A=>{const n=Y(A.params,e);let i;for(i of n)t.add(i)}),t.has("any")?["any"]:Array.from(t)}function U(A,e,t){let n,i;const r=A||"unnamed";let s,o=t;for(s=0;s<e.length;s++){const A=[];if(o.forEach(t=>{const n=m(D(t.params,s));(s<t.params.length||p(t.params))&&n(e[s])&&A.push(t)}),0===A.length){if(i=N(o,s),i.length>0){const A=l(e[s]);return n=new TypeError("Unexpected type of argument in function "+r+" (expected: "+i.join(" or ")+", actual: "+A.join(" | ")+", index: "+s+")"),n.data={category:"wrongType",fn:r,index:s,actual:A,expected:i},n}}else o=A}const a=o.map((function(A){return p(A.params)?1/0:A.params.length}));if(e.length<Math.min.apply(null,a))return i=N(o,s),n=new TypeError("Too few arguments in function "+r+" (expected: "+i.join(" or ")+", index: "+e.length+")"),n.data={category:"tooFewArgs",fn:r,index:e.length,expected:i},n;const B=Math.max.apply(null,a);if(e.length>B)return n=new TypeError("Too many arguments in function "+r+" (expected: "+B+", actual: "+e.length+")"),n.data={category:"tooManyArgs",fn:r,index:e.length,expectedLength:B},n;const c=[];for(let A=0;A<e.length;++A)c.push(l(e[A]).join("|"));return n=new TypeError('Arguments of type "'+c.join(", ")+'" do not match any of the defined signatures of function '+r+"."),n.data={category:"mismatch",actual:c},n}function y(A){let e=a.length+1;for(let t=0;t<A.types.length;t++)f(A.types[t])&&(e=Math.min(e,A.types[t].typeIndex));return e}function x(A){let e=B+1;for(let t=0;t<A.types.length;t++)f(A.types[t])||(e=Math.min(e,A.types[t].conversionIndex));return e}function T(A,e){if(A.hasAny){if(!e.hasAny)return 1}else if(e.hasAny)return-1;if(A.restParam){if(!e.restParam)return 1}else if(e.restParam)return-1;if(A.hasConversion){if(!e.hasConversion)return 1}else if(e.hasConversion)return-1;const t=y(A)-y(e);if(t<0)return-1;if(t>0)return 1;const n=x(A)-x(e);return n<0?-1:n>0?1:0}function R(A,e){const t=A.params,n=e.params,i=L(t),r=L(n),s=p(t),o=p(n);if(s&&i.hasAny){if(!o||!r.hasAny)return 1}else if(o&&r.hasAny)return-1;let a,B=0,c=0;for(a of t)a.hasAny&&++B,a.hasConversion&&++c;let g=0,Q=0;for(a of n)a.hasAny&&++g,a.hasConversion&&++Q;if(B!==g)return B-g;if(s&&i.hasConversion){if(!o||!r.hasConversion)return 1}else if(o&&r.hasConversion)return-1;if(c!==Q)return c-Q;if(s){if(!o)return 1}else if(o)return-1;const E=(t.length-n.length)*(s?-1:1);if(0!==E)return E;const l=[];let u,w=0;for(let A=0;A<t.length;++A){const e=T(t[A],n[A]);l.push(e),w+=e}if(0!==w)return w;for(u of l)if(0!==u)return u;return 0}function G(A,e){let t=e;if(A.some(A=>A.hasConversion)){const n=p(A),i=A.map(S);t=function(){const A=[],t=n?arguments.length-1:arguments.length;for(let e=0;e<t;e++)A[e]=i[e](arguments[e]);return n&&(A[t]=arguments[t].map(i[t])),e.apply(this,A)}}let n=t;if(p(A)){const e=A.length-1;n=function(){return t.apply(this,P(arguments,0,e).concat([P(arguments,e)]))}}return n}function S(A){let e,t,n,i;const r=[],s=[];switch(A.types.forEach((function(A){A.conversion&&(r.push(g(A.conversion.from).test),s.push(A.conversion.convert))})),s.length){case 0:return function(A){return A};case 1:return e=r[0],n=s[0],function(A){return e(A)?n(A):A};case 2:return e=r[0],t=r[1],n=s[0],i=s[1],function(A){return e(A)?n(A):t(A)?i(A):A};default:return function(A){for(let e=0;e<s.length;e++)if(r[e](A))return s[e](A);return A}}}function H(A){return function A(e,t,n){if(t<e.length){const s=e[t];let o=[];if(s.restParam){const A=s.types.filter(f);A.length<s.types.length&&o.push({types:A,name:"..."+A.map(A=>A.name).join("|"),hasAny:A.some(A=>A.isAny),hasConversion:!1,restParam:!0}),o.push(s)}else o=s.types.map((function(A){return{types:[A],name:A.name,hasAny:A.isAny,hasConversion:A.conversion,restParam:!1}}));return i=o,r=function(i){return A(e,t+1,n.concat([i]))},Array.prototype.concat.apply([],i.map(r))}return[n];var i,r}(A,0,[])}function b(A,e){const t=Math.max(A.length,e.length);for(let n=0;n<t;n++){const t=Y(A,n),i=Y(e,n);let r,s=!1;for(r of i)if(t.has(r)){s=!0;break}if(!s)return!1}const n=A.length,i=e.length,r=p(A),s=p(e);return r?s?n===i:i>=n:s?n>=i:n===i}function k(A,e,t){const n=[];let i;for(i of A){let A=t[i];if("number"!=typeof A)throw new TypeError('No definition for referenced signature "'+i+'"');if(A=e[A],"function"!=typeof A)return!1;n.push(A)}return n}function J(A,e,t){const n=function(A){return A.map(A=>K(A)?W(A.referToSelf.callback):V(A)?O(A.referTo.references,A.referTo.callback):A)}(A),i=new Array(n.length).fill(!1);let r=!0;for(;r;){r=!1;let A=!0;for(let s=0;s<n.length;++s){if(i[s])continue;const o=n[s];if(K(o))n[s]=o.referToSelf.callback(t),n[s].referToSelf=o.referToSelf,i[s]=!0,A=!1;else if(V(o)){const t=k(o.referTo.references,n,e);t?(n[s]=o.referTo.callback.apply(this,t),n[s].referTo=o.referTo,i[s]=!0,A=!1):r=!0}}if(A&&r)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return n}function j(A,n){if(c.createCount++,0===Object.keys(n).length)throw new SyntaxError("No signatures provided");c.warnAgainstDeprecatedThis&&function(A){const e=/\bthis(\(|\.signatures\b)/;Object.keys(A).forEach(t=>{const n=A[t];if(e.test(n.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}(n);const i=[],r=[],s={},o=[];let a;for(a in n){if(!Object.prototype.hasOwnProperty.call(n,a))continue;const A=M(a);if(!A)continue;i.forEach((function(e){if(b(e,A))throw new TypeError('Conflicting signatures "'+h(e)+'" and "'+h(A)+'".')})),i.push(A);const e=r.length;r.push(n[a]);const t=A.map(d);let B;for(B of H(t)){const A=h(B);o.push({params:B,name:A,fn:e}),B.every(A=>!A.hasConversion)&&(s[A]=e)}}o.sort(R);const B=J(r,s,oA);let g;for(g in s)Object.prototype.hasOwnProperty.call(s,g)&&(s[g]=B[s[g]]);const Q=[],E=new Map;for(g of o)E.has(g.name)||(g.fn=B[g.fn],Q.push(g),E.set(g.name,g));const l=Q[0]&&Q[0].params.length<=2&&!p(Q[0].params),u=Q[1]&&Q[1].params.length<=2&&!p(Q[1].params),w=Q[2]&&Q[2].params.length<=2&&!p(Q[2].params),C=Q[3]&&Q[3].params.length<=2&&!p(Q[3].params),I=Q[4]&&Q[4].params.length<=2&&!p(Q[4].params),D=Q[5]&&Q[5].params.length<=2&&!p(Q[5].params),Y=l&&u&&w&&C&&I&&D;for(let A=0;A<Q.length;++A)Q[A].test=F(Q[A].params);const f=l?m(Q[0].params[0]):e,N=u?m(Q[1].params[0]):e,U=w?m(Q[2].params[0]):e,y=C?m(Q[3].params[0]):e,x=I?m(Q[4].params[0]):e,T=D?m(Q[5].params[0]):e,S=l?m(Q[0].params[1]):e,k=u?m(Q[1].params[1]):e,j=w?m(Q[2].params[1]):e,z=C?m(Q[3].params[1]):e,v=I?m(Q[4].params[1]):e,L=D?m(Q[5].params[1]):e;for(let A=0;A<Q.length;++A)Q[A].implementation=G(Q[A].params,Q[A].fn);const P=l?Q[0].implementation:t,O=u?Q[1].implementation:t,W=w?Q[2].implementation:t,V=C?Q[3].implementation:t,K=I?Q[4].implementation:t,X=D?Q[5].implementation:t,Z=l?Q[0].params.length:-1,_=u?Q[1].params.length:-1,q=w?Q[2].params.length:-1,$=C?Q[3].params.length:-1,AA=I?Q[4].params.length:-1,eA=D?Q[5].params.length:-1,tA=Y?6:0,nA=Q.length,iA=Q.map(A=>A.test),rA=Q.map(A=>A.implementation),sA=function(){for(let A=tA;A<nA;A++)if(iA[A](arguments))return rA[A].apply(this,arguments);return c.onMismatch(A,arguments,Q)};function oA(A,e){return arguments.length===Z&&f(A)&&S(e)?P.apply(this,arguments):arguments.length===_&&N(A)&&k(e)?O.apply(this,arguments):arguments.length===q&&U(A)&&j(e)?W.apply(this,arguments):arguments.length===$&&y(A)&&z(e)?V.apply(this,arguments):arguments.length===AA&&x(A)&&v(e)?K.apply(this,arguments):arguments.length===eA&&T(A)&&L(e)?X.apply(this,arguments):sA.apply(this,arguments)}try{Object.defineProperty(oA,"name",{value:A})}catch(A){}return oA.signatures=s,oA._typedFunctionData={signatures:Q,signatureMap:E},oA}function z(A,e,t){throw U(A,e,t)}function v(A){return P(A,0,A.length-1)}function L(A){return A[A.length-1]}function P(A,e,t){return Array.prototype.slice.call(A,e,t)}function O(A,e){return{referTo:{references:A,callback:e}}}function W(A){if("function"!=typeof A)throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:A}}}function V(A){return A&&"object"==typeof A.referTo&&Array.isArray(A.referTo.references)&&"function"==typeof A.referTo.callback}function K(A){return A&&"object"==typeof A.referToSelf&&"function"==typeof A.referToSelf.callback}function X(A,e){if(!A)return e;if(e&&e!==A){const t=new Error("Function names do not match (expected: "+A+", actual: "+e+")");throw t.data={actual:e,expected:A},t}return A}function Z(A){let e;for(const t in A)Object.prototype.hasOwnProperty.call(A,t)&&(u(A[t])||"string"==typeof A[t].signature)&&(e=X(e,A[t].name));return e}function _(A,e){let t;for(t in e)if(Object.prototype.hasOwnProperty.call(e,t)){if(t in A&&e[t]!==A[t]){const n=new Error('Signature "'+t+'" is defined twice');throw n.data={signature:t,sourceFunction:e[t],destFunction:A[t]},n}A[t]=e[t]}}E(),Q(r);const q=c;function $(A){if(!A||"string"!=typeof A.from||"string"!=typeof A.to||"function"!=typeof A.convert)throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if(A.to===A.from)throw new SyntaxError('Illegal to define conversion from "'+A.from+'" to itself.')}return c=function(A){const e="string"==typeof A,t=e?1:0;let n=e?A:"";const r={};for(let A=t;A<arguments.length;++A){const t=arguments[A];let s,o={};if("function"==typeof t?(s=t.name,"string"==typeof t.signature?o[t.signature]=t:u(t)&&(o=t.signatures)):i(t)&&(o=t,e||(s=Z(t))),0===Object.keys(o).length){const e=new TypeError("Argument to 'typed' at index "+A+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw e.data={index:A,argument:t},e}e||(n=X(n,s)),_(r,o)}return j(n||"",r)},c.create=n,c.createCount=q.createCount,c.onMismatch=z,c.throwMismatchError=z,c.createError=U,c.clear=E,c.clearConversions=function(){let A;for(A of a)o.get(A).conversionsTo=[];B=0},c.addTypes=Q,c._findType=g,c.referTo=function(){const A=v(arguments).map(A=>h(M(A))),e=L(arguments);if("function"!=typeof e)throw new TypeError("Callback function expected as last argument");return O(A,e)},c.referToSelf=W,c.convert=function(A,e){const t=g(e);if(t.test(A))return A;const n=t.conversionsTo;if(0===n.length)throw new Error("There are no conversions to "+e+" defined.");for(let e=0;e<n.length;e++)if(g(n[e].from).test(A))return n[e].convert(A);throw new Error("Cannot convert "+A+" to "+e)},c.findSignature=w,c.find=function(A,e,t){return w(A,e,t).implementation},c.isTypedFunction=u,c.warnAgainstDeprecatedThis=!0,c.addType=function(A,e){let t="any";!1!==e&&o.has("Object")&&(t="Object"),c.addTypes([A],t)},c.addConversion=function(A){$(A);const e=g(A.to);if(!e.conversionsTo.every((function(e){return e.from!==A.from})))throw new Error('There is already a conversion from "'+A.from+'" to "'+e.name+'"');e.conversionsTo.push({from:A.from,convert:A.convert,index:B++})},c.addConversions=function(A){A.forEach(c.addConversion)},c.removeConversion=function(A){$(A);const e=g(A.to),t=function(A,e){for(let t=0;t<A.length;t++)if(e(A[t]))return A[t]}(e.conversionsTo,e=>e.from===A.from);if(!t)throw new Error("Attempt to remove nonexistent conversion from "+A.from+" to "+A.to);if(t.convert!==A.convert)throw new Error("Conversion to remove does not match existing conversion");const n=e.conversionsTo.indexOf(t);e.conversionsTo.splice(n,1)},c.resolve=function(A,e){if(!u(A))throw new TypeError("Argument is not a typed-function.");const t=A._typedFunctionData.signatures;for(let A=0;A<t.length;++A)if(t[A].test(e))return t[A];return null},c}()}()},function(A,e,t){
/**
* @license Fraction.js v4.3.0 20/08/2023
* https://www.xarg.org/2014/03/rational-numbers-in-javascript/
*
* Copyright (c) 2023, Robert Eisele (robert@raw.org)
* Dual licensed under the MIT or GPL Version 2 licenses.
**/
!function(e){"use strict";var t={s:1,n:0,d:1};function n(A,e){if(isNaN(A=parseInt(A,10)))throw c();return A*e}function i(A,e){if(0===e)throw B();var t=Object.create(a.prototype);t.s=A<0?-1:1;var n=o(A=A<0?-A:A,e);return t.n=A/n,t.d=e/n,t}function r(A){for(var e={},t=A,n=2,i=4;i<=t;){for(;t%n==0;)t/=n,e[n]=(e[n]||0)+1;i+=1+2*n++}return t!==A?t>1&&(e[t]=(e[t]||0)+1):e[A]=(e[A]||0)+1,e}var s=function(A,e){var i,r=0,s=1,o=1,a=0,Q=0,E=0,l=1,u=1,w=0,h=1,C=1,d=1,I=1e7;if(null==A);else if(void 0!==e){if(o=(r=A)*(s=e),r%1!=0||s%1!=0)throw g()}else switch(typeof A){case"object":if("d"in A&&"n"in A)r=A.n,s=A.d,"s"in A&&(r*=A.s);else{if(!(0 in A))throw c();r=A[0],1 in A&&(s=A[1])}o=r*s;break;case"number":if(A<0&&(o=A,A=-A),A%1==0)r=A;else if(A>0){for(A>=1&&(A/=u=Math.pow(10,Math.floor(1+Math.log(A)/Math.LN10)));h<=I&&d<=I;){if(A===(i=(w+C)/(h+d))){h+d<=I?(r=w+C,s=h+d):d>h?(r=C,s=d):(r=w,s=h);break}A>i?(w+=C,h+=d):(C+=w,d+=h),h>I?(r=C,s=d):(r=w,s=h)}r*=u}else(isNaN(A)||isNaN(e))&&(s=r=NaN);break;case"string":if(null===(h=A.match(/\d+|./g)))throw c();if("-"===h[w]?(o=-1,w++):"+"===h[w]&&w++,h.length===w+1?Q=n(h[w++],o):"."===h[w+1]||"."===h[w]?("."!==h[w]&&(a=n(h[w++],o)),(++w+1===h.length||"("===h[w+1]&&")"===h[w+3]||"'"===h[w+1]&&"'"===h[w+3])&&(Q=n(h[w],o),l=Math.pow(10,h[w].length),w++),("("===h[w]&&")"===h[w+2]||"'"===h[w]&&"'"===h[w+2])&&(E=n(h[w+1],o),u=Math.pow(10,h[w+1].length)-1,w+=3)):"/"===h[w+1]||":"===h[w+1]?(Q=n(h[w],o),l=n(h[w+2],1),w+=3):"/"===h[w+3]&&" "===h[w+1]&&(a=n(h[w],o),Q=n(h[w+2],o),l=n(h[w+4],1),w+=5),h.length<=w){o=r=E+(s=l*u)*a+u*Q;break}default:throw c()}if(0===s)throw B();t.s=o<0?-1:1,t.n=Math.abs(r),t.d=Math.abs(s)};function o(A,e){if(!A)return e;if(!e)return A;for(;;){if(!(A%=e))return e;if(!(e%=A))return A}}function a(A,e){if(s(A,e),!(this instanceof a))return i(t.s*t.n,t.d);A=o(t.d,t.n),this.s=t.s,this.n=t.n/A,this.d=t.d/A}var B=function(){return new Error("Division by Zero")},c=function(){return new Error("Invalid argument")},g=function(){return new Error("Parameters must be integer")};a.prototype={s:1,n:0,d:1,abs:function(){return i(this.n,this.d)},neg:function(){return i(-this.s*this.n,this.d)},add:function(A,e){return s(A,e),i(this.s*this.n*t.d+t.s*this.d*t.n,this.d*t.d)},sub:function(A,e){return s(A,e),i(this.s*this.n*t.d-t.s*this.d*t.n,this.d*t.d)},mul:function(A,e){return s(A,e),i(this.s*t.s*this.n*t.n,this.d*t.d)},div:function(A,e){return s(A,e),i(this.s*t.s*this.n*t.d,this.d*t.n)},clone:function(){return i(this.s*this.n,this.d)},mod:function(A,e){if(isNaN(this.n)||isNaN(this.d))return new a(NaN);if(void 0===A)return i(this.s*this.n%this.d,1);if(s(A,e),0===t.n&&0===this.d)throw B();return i(this.s*(t.d*this.n)%(t.n*this.d),t.d*this.d)},gcd:function(A,e){return s(A,e),i(o(t.n,this.n)*o(t.d,this.d),t.d*this.d)},lcm:function(A,e){return s(A,e),0===t.n&&0===this.n?i(0,1):i(t.n*this.n,o(t.n,this.n)*o(t.d,this.d))},ceil:function(A){return A=Math.pow(10,A||0),isNaN(this.n)||isNaN(this.d)?new a(NaN):i(Math.ceil(A*this.s*this.n/this.d),A)},floor:function(A){return A=Math.pow(10,A||0),isNaN(this.n)||isNaN(this.d)?new a(NaN):i(Math.floor(A*this.s*this.n/this.d),A)},round:function(A){return A=Math.pow(10,A||0),isNaN(this.n)||isNaN(this.d)?new a(NaN):i(Math.round(A*this.s*this.n/this.d),A)},inverse:function(){return i(this.s*this.d,this.n)},pow:function(A,e){if(s(A,e),1===t.d)return t.s<0?i(Math.pow(this.s*this.d,t.n),Math.pow(this.n,t.n)):i(Math.pow(this.s*this.n,t.n),Math.pow(this.d,t.n));if(this.s<0)return null;var n=r(this.n),o=r(this.d),a=1,B=1;for(var c in n)if("1"!==c){if("0"===c){a=0;break}if(n[c]*=t.n,n[c]%t.d!=0)return null;n[c]/=t.d,a*=Math.pow(c,n[c])}for(var c in o)if("1"!==c){if(o[c]*=t.n,o[c]%t.d!=0)return null;o[c]/=t.d,B*=Math.pow(c,o[c])}return t.s<0?i(B,a):i(a,B)},equals:function(A,e){return s(A,e),this.s*this.n*t.d==t.s*t.n*this.d},compare:function(A,e){s(A,e);var n=this.s*this.n*t.d-t.s*t.n*this.d;return(0<n)-(n<0)},simplify:function(A){if(isNaN(this.n)||isNaN(this.d))return this;A=A||.001;for(var e=this.abs(),t=e.toContinued(),n=1;n<t.length;n++){for(var r=i(t[n-1],1),s=n-2;s>=0;s--)r=r.inverse().add(t[s]);if(Math.abs(r.sub(e).valueOf())<A)return r.mul(this.s)}return this},divisible:function(A,e){return s(A,e),!(!(t.n*this.d)||this.n*t.d%(t.n*this.d))},valueOf:function(){return this.s*this.n/this.d},toFraction:function(A){var e,t="",n=this.n,i=this.d;return this.s<0&&(t+="-"),1===i?t+=n:(A&&(e=Math.floor(n/i))>0&&(t+=e,t+=" ",n%=i),t+=n,t+="/",t+=i),t},toLatex:function(A){var e,t="",n=this.n,i=this.d;return this.s<0&&(t+="-"),1===i?t+=n:(A&&(e=Math.floor(n/i))>0&&(t+=e,n%=i),t+="\\frac{",t+=n,t+="}{",t+=i,t+="}"),t},toContinued:function(){var A,e=this.n,t=this.d,n=[];if(isNaN(e)||isNaN(t))return n;do{n.push(Math.floor(e/t)),A=e%t,e=t,t=A}while(1!==e);return n},toString:function(A){var e=this.n,t=this.d;if(isNaN(e)||isNaN(t))return"NaN";A=A||15;var n=function(A,e){for(;e%2==0;e/=2);for(;e%5==0;e/=5);if(1===e)return 0;for(var t=10%e,n=1;1!==t;n++)if(t=10*t%e,n>2e3)return 0;return n}(0,t),i=function(A,e,t){for(var n=1,i=function(A,e,t){for(var n=1;e>0;A=A*A%t,e>>=1)1&e&&(n=n*A%t);return n}(10,t,e),r=0;r<300;r++){if(n===i)return r;n=10*n%e,i=10*i%e}return 0}(0,t,n),r=this.s<0?"-":"";if(r+=e/t|0,e%=t,(e*=10)&&(r+="."),n){for(var s=i;s--;)r+=e/t|0,e%=t,e*=10;r+="(";for(s=n;s--;)r+=e/t|0,e%=t,e*=10;r+=")"}else for(s=A;e&&s--;)r+=e/t|0,e%=t,e*=10;return r}},Object.defineProperty(a,"__esModule",{value:!0}),a.default=a,a.Fraction=a,A.exports=a}()},function(A,e,t){(function(e){class t{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.nowObj;this.startTime=0,this.nowObj=A,this._pausedTime=null}static get USE_PERFORMANCE(){return!1}static get legacyDateCode(){return{now:function(){return(new Date).getTime()}}}static get nowObj(){return t.USE_PERFORMANCE&&"undefined"!=typeof self&&self.performance&&"now"in self.performance?self.performance:Date.now?Date:t.legacyDateCode}time(){return this.nowObj.now()}relativeTime(){return this.nowObj.now()}start(){this.startTime=this.nowObj.now()}pause(){this._pausedTime||(this._pausedTime=this.nowObj.now())}play(){this._pausedTime&&(this.startTime+=this.nowObj.now()-this._pausedTime,this._pausedTime=null)}timeElapsed(){if(this._pausedTime)return this._pausedTime;return this.nowObj.now()-this.startTime}setTimeout(A,t){return e.setTimeout(A,t)}clearTimeout(A){e.clearTimeout(A)}}A.exports=t}).call(this,t(19))},function(A,e,t){const n=t(14),i=t(45);class r{constructor(A,e,t,i){switch(this.id=A||n(),this.name=e,this.type=t,this.isCloud=i,this.type){case r.SCALAR_TYPE:this.value=0;break;case r.LIST_TYPE:this.value=[];break;case r.BROADCAST_MESSAGE_TYPE:this.value=this.name;break;default:throw new Error("Invalid variable type: ".concat(this.type))}}toXML(A){return A=!0===A,'<variable type="'.concat(this.type,'" id="').concat(this.id,'" islocal="').concat(A,'" iscloud="').concat(this.isCloud,'">').concat(i(this.name),"</variable>")}static get SCALAR_TYPE(){return""}static get LIST_TYPE(){return"list"}static get BROADCAST_MESSAGE_TYPE(){return"broadcast_msg"}}A.exports=r},function(A,e,t){"use strict";(function(A){
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
var n=t(161),i=t(162),r=t(163);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(A,e){if(s()<e)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(A=new Uint8Array(e)).__proto__=a.prototype:(null===A&&(A=new a(e)),A.length=e),A}function a(A,e,t){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(A,e,t);if("number"==typeof A){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return g(this,A)}return B(this,A,e,t)}function B(A,e,t,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(A,e,t,n){if(e.byteLength,t<0||e.byteLength<t)throw new RangeError("'offset' is out of bounds");if(e.byteLength<t+(n||0))throw new RangeError("'length' is out of bounds");e=void 0===t&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,t):new Uint8Array(e,t,n);a.TYPED_ARRAY_SUPPORT?(A=e).__proto__=a.prototype:A=Q(A,e);return A}(A,e,t,n):"string"==typeof e?function(A,e,t){"string"==typeof t&&""!==t||(t="utf8");if(!a.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');var n=0|l(e,t),i=(A=o(A,n)).write(e,t);i!==n&&(A=A.slice(0,i));return A}(A,e,t):function(A,e){if(a.isBuffer(e)){var t=0|E(e.length);return 0===(A=o(A,t)).length||e.copy(A,0,0,t),A}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(n=e.length)!=n?o(A,0):Q(A,e);if("Buffer"===e.type&&r(e.data))return Q(A,e.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(A,e)}function c(A){if("number"!=typeof A)throw new TypeError('"size" argument must be a number');if(A<0)throw new RangeError('"size" argument must not be negative')}function g(A,e){if(c(e),A=o(A,e<0?0:0|E(e)),!a.TYPED_ARRAY_SUPPORT)for(var t=0;t<e;++t)A[t]=0;return A}function Q(A,e){var t=e.length<0?0:0|E(e.length);A=o(A,t);for(var n=0;n<t;n+=1)A[n]=255&e[n];return A}function E(A){if(A>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|A}function l(A,e){if(a.isBuffer(A))return A.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(A)||A instanceof ArrayBuffer))return A.byteLength;"string"!=typeof A&&(A=""+A);var t=A.length;if(0===t)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":case void 0:return j(A).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*t;case"hex":return t>>>1;case"base64":return z(A).length;default:if(n)return j(A).length;e=(""+e).toLowerCase(),n=!0}}function u(A,e,t){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===t||t>this.length)&&(t=this.length),t<=0)return"";if((t>>>=0)<=(e>>>=0))return"";for(A||(A="utf8");;)switch(A){case"hex":return U(this,e,t);case"utf8":case"utf-8":return Y(this,e,t);case"ascii":return f(this,e,t);case"latin1":case"binary":return N(this,e,t);case"base64":return D(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y(this,e,t);default:if(n)throw new TypeError("Unknown encoding: "+A);A=(A+"").toLowerCase(),n=!0}}function w(A,e,t){var n=A[e];A[e]=A[t],A[t]=n}function h(A,e,t,n,i){if(0===A.length)return-1;if("string"==typeof t?(n=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,isNaN(t)&&(t=i?0:A.length-1),t<0&&(t=A.length+t),t>=A.length){if(i)return-1;t=A.length-1}else if(t<0){if(!i)return-1;t=0}if("string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:C(A,e,t,n,i);if("number"==typeof e)return e&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(A,e,t):Uint8Array.prototype.lastIndexOf.call(A,e,t):C(A,[e],t,n,i);throw new TypeError("val must be string, number or Buffer")}function C(A,e,t,n,i){var r,s=1,o=A.length,a=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(A.length<2||e.length<2)return-1;s=2,o/=2,a/=2,t/=2}function B(A,e){return 1===s?A[e]:A.readUInt16BE(e*s)}if(i){var c=-1;for(r=t;r<o;r++)if(B(A,r)===B(e,-1===c?0:r-c)){if(-1===c&&(c=r),r-c+1===a)return c*s}else-1!==c&&(r-=r-c),c=-1}else for(t+a>o&&(t=o-a),r=t;r>=0;r--){for(var g=!0,Q=0;Q<a;Q++)if(B(A,r+Q)!==B(e,Q)){g=!1;break}if(g)return r}return-1}function d(A,e,t,n){t=Number(t)||0;var i=A.length-t;n?(n=Number(n))>i&&(n=i):n=i;var r=e.length;if(r%2!=0)throw new TypeError("Invalid hex string");n>r/2&&(n=r/2);for(var s=0;s<n;++s){var o=parseInt(e.substr(2*s,2),16);if(isNaN(o))return s;A[t+s]=o}return s}function I(A,e,t,n){return v(j(e,A.length-t),A,t,n)}function M(A,e,t,n){return v(function(A){for(var e=[],t=0;t<A.length;++t)e.push(255&A.charCodeAt(t));return e}(e),A,t,n)}function p(A,e,t,n){return M(A,e,t,n)}function m(A,e,t,n){return v(z(e),A,t,n)}function F(A,e,t,n){return v(function(A,e){for(var t,n,i,r=[],s=0;s<A.length&&!((e-=2)<0);++s)t=A.charCodeAt(s),n=t>>8,i=t%256,r.push(i),r.push(n);return r}(e,A.length-t),A,t,n)}function D(A,e,t){return 0===e&&t===A.length?n.fromByteArray(A):n.fromByteArray(A.slice(e,t))}function Y(A,e,t){t=Math.min(A.length,t);for(var n=[],i=e;i<t;){var r,s,o,a,B=A[i],c=null,g=B>239?4:B>223?3:B>191?2:1;if(i+g<=t)switch(g){case 1:B<128&&(c=B);break;case 2:128==(192&(r=A[i+1]))&&(a=(31&B)<<6|63&r)>127&&(c=a);break;case 3:r=A[i+1],s=A[i+2],128==(192&r)&&128==(192&s)&&(a=(15&B)<<12|(63&r)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:r=A[i+1],s=A[i+2],o=A[i+3],128==(192&r)&&128==(192&s)&&128==(192&o)&&(a=(15&B)<<18|(63&r)<<12|(63&s)<<6|63&o)>65535&&a<1114112&&(c=a)}null===c?(c=65533,g=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=g}return function(A){var e=A.length;if(e<=4096)return String.fromCharCode.apply(String,A);var t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,A.slice(n,n+=4096));return t}(n)}e.Buffer=a,e.SlowBuffer=function(A){+A!=A&&(A=0);return a.alloc(+A)},e.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==A.TYPED_ARRAY_SUPPORT?A.TYPED_ARRAY_SUPPORT:function(){try{var A=new Uint8Array(1);return A.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===A.foo()&&"function"==typeof A.subarray&&0===A.subarray(1,1).byteLength}catch(A){return!1}}(),e.kMaxLength=s(),a.poolSize=8192,a._augment=function(A){return A.__proto__=a.prototype,A},a.from=function(A,e,t){return B(null,A,e,t)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(A,e,t){return function(A,e,t,n){return c(e),e<=0?o(A,e):void 0!==t?"string"==typeof n?o(A,e).fill(t,n):o(A,e).fill(t):o(A,e)}(null,A,e,t)},a.allocUnsafe=function(A){return g(null,A)},a.allocUnsafeSlow=function(A){return g(null,A)},a.isBuffer=function(A){return!(null==A||!A._isBuffer)},a.compare=function(A,e){if(!a.isBuffer(A)||!a.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(A===e)return 0;for(var t=A.length,n=e.length,i=0,r=Math.min(t,n);i<r;++i)if(A[i]!==e[i]){t=A[i],n=e[i];break}return t<n?-1:n<t?1:0},a.isEncoding=function(A){switch(String(A).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(A,e){if(!r(A))throw new TypeError('"list" argument must be an Array of Buffers');if(0===A.length)return a.alloc(0);var t;if(void 0===e)for(e=0,t=0;t<A.length;++t)e+=A[t].length;var n=a.allocUnsafe(e),i=0;for(t=0;t<A.length;++t){var s=A[t];if(!a.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,i),i+=s.length}return n},a.byteLength=l,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var A=this.length;if(A%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<A;e+=2)w(this,e,e+1);return this},a.prototype.swap32=function(){var A=this.length;if(A%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<A;e+=4)w(this,e,e+3),w(this,e+1,e+2);return this},a.prototype.swap64=function(){var A=this.length;if(A%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<A;e+=8)w(this,e,e+7),w(this,e+1,e+6),w(this,e+2,e+5),w(this,e+3,e+4);return this},a.prototype.toString=function(){var A=0|this.length;return 0===A?"":0===arguments.length?Y(this,0,A):u.apply(this,arguments)},a.prototype.equals=function(A){if(!a.isBuffer(A))throw new TypeError("Argument must be a Buffer");return this===A||0===a.compare(this,A)},a.prototype.inspect=function(){var A="",t=e.INSPECT_MAX_BYTES;return this.length>0&&(A=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(A+=" ... ")),"<Buffer "+A+">"},a.prototype.compare=function(A,e,t,n,i){if(!a.isBuffer(A))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===t&&(t=A?A.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||t>A.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=t)return 0;if(n>=i)return-1;if(e>=t)return 1;if(this===A)return 0;for(var r=(i>>>=0)-(n>>>=0),s=(t>>>=0)-(e>>>=0),o=Math.min(r,s),B=this.slice(n,i),c=A.slice(e,t),g=0;g<o;++g)if(B[g]!==c[g]){r=B[g],s=c[g];break}return r<s?-1:s<r?1:0},a.prototype.includes=function(A,e,t){return-1!==this.indexOf(A,e,t)},a.prototype.indexOf=function(A,e,t){return h(this,A,e,t,!0)},a.prototype.lastIndexOf=function(A,e,t){return h(this,A,e,t,!1)},a.prototype.write=function(A,e,t,n){if(void 0===e)n="utf8",t=this.length,e=0;else if(void 0===t&&"string"==typeof e)n=e,t=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(t)?(t|=0,void 0===n&&(n="utf8")):(n=t,t=void 0)}var i=this.length-e;if((void 0===t||t>i)&&(t=i),A.length>0&&(t<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var r=!1;;)switch(n){case"hex":return d(this,A,e,t);case"utf8":case"utf-8":return I(this,A,e,t);case"ascii":return M(this,A,e,t);case"latin1":case"binary":return p(this,A,e,t);case"base64":return m(this,A,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,A,e,t);default:if(r)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),r=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function f(A,e,t){var n="";t=Math.min(A.length,t);for(var i=e;i<t;++i)n+=String.fromCharCode(127&A[i]);return n}function N(A,e,t){var n="";t=Math.min(A.length,t);for(var i=e;i<t;++i)n+=String.fromCharCode(A[i]);return n}function U(A,e,t){var n=A.length;(!e||e<0)&&(e=0),(!t||t<0||t>n)&&(t=n);for(var i="",r=e;r<t;++r)i+=J(A[r]);return i}function y(A,e,t){for(var n=A.slice(e,t),i="",r=0;r<n.length;r+=2)i+=String.fromCharCode(n[r]+256*n[r+1]);return i}function x(A,e,t){if(A%1!=0||A<0)throw new RangeError("offset is not uint");if(A+e>t)throw new RangeError("Trying to access beyond buffer length")}function T(A,e,t,n,i,r){if(!a.isBuffer(A))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<r)throw new RangeError('"value" argument is out of bounds');if(t+n>A.length)throw new RangeError("Index out of range")}function R(A,e,t,n){e<0&&(e=65535+e+1);for(var i=0,r=Math.min(A.length-t,2);i<r;++i)A[t+i]=(e&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function G(A,e,t,n){e<0&&(e=4294967295+e+1);for(var i=0,r=Math.min(A.length-t,4);i<r;++i)A[t+i]=e>>>8*(n?i:3-i)&255}function S(A,e,t,n,i,r){if(t+n>A.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function H(A,e,t,n,r){return r||S(A,0,t,4),i.write(A,e,t,n,23,4),t+4}function b(A,e,t,n,r){return r||S(A,0,t,8),i.write(A,e,t,n,52,8),t+8}a.prototype.slice=function(A,e){var t,n=this.length;if((A=~~A)<0?(A+=n)<0&&(A=0):A>n&&(A=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<A&&(e=A),a.TYPED_ARRAY_SUPPORT)(t=this.subarray(A,e)).__proto__=a.prototype;else{var i=e-A;t=new a(i,void 0);for(var r=0;r<i;++r)t[r]=this[r+A]}return t},a.prototype.readUIntLE=function(A,e,t){A|=0,e|=0,t||x(A,e,this.length);for(var n=this[A],i=1,r=0;++r<e&&(i*=256);)n+=this[A+r]*i;return n},a.prototype.readUIntBE=function(A,e,t){A|=0,e|=0,t||x(A,e,this.length);for(var n=this[A+--e],i=1;e>0&&(i*=256);)n+=this[A+--e]*i;return n},a.prototype.readUInt8=function(A,e){return e||x(A,1,this.length),this[A]},a.prototype.readUInt16LE=function(A,e){return e||x(A,2,this.length),this[A]|this[A+1]<<8},a.prototype.readUInt16BE=function(A,e){return e||x(A,2,this.length),this[A]<<8|this[A+1]},a.prototype.readUInt32LE=function(A,e){return e||x(A,4,this.length),(this[A]|this[A+1]<<8|this[A+2]<<16)+16777216*this[A+3]},a.prototype.readUInt32BE=function(A,e){return e||x(A,4,this.length),16777216*this[A]+(this[A+1]<<16|this[A+2]<<8|this[A+3])},a.prototype.readIntLE=function(A,e,t){A|=0,e|=0,t||x(A,e,this.length);for(var n=this[A],i=1,r=0;++r<e&&(i*=256);)n+=this[A+r]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(A,e,t){A|=0,e|=0,t||x(A,e,this.length);for(var n=e,i=1,r=this[A+--n];n>0&&(i*=256);)r+=this[A+--n]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*e)),r},a.prototype.readInt8=function(A,e){return e||x(A,1,this.length),128&this[A]?-1*(255-this[A]+1):this[A]},a.prototype.readInt16LE=function(A,e){e||x(A,2,this.length);var t=this[A]|this[A+1]<<8;return 32768&t?4294901760|t:t},a.prototype.readInt16BE=function(A,e){e||x(A,2,this.length);var t=this[A+1]|this[A]<<8;return 32768&t?4294901760|t:t},a.prototype.readInt32LE=function(A,e){return e||x(A,4,this.length),this[A]|this[A+1]<<8|this[A+2]<<16|this[A+3]<<24},a.prototype.readInt32BE=function(A,e){return e||x(A,4,this.length),this[A]<<24|this[A+1]<<16|this[A+2]<<8|this[A+3]},a.prototype.readFloatLE=function(A,e){return e||x(A,4,this.length),i.read(this,A,!0,23,4)},a.prototype.readFloatBE=function(A,e){return e||x(A,4,this.length),i.read(this,A,!1,23,4)},a.prototype.readDoubleLE=function(A,e){return e||x(A,8,this.length),i.read(this,A,!0,52,8)},a.prototype.readDoubleBE=function(A,e){return e||x(A,8,this.length),i.read(this,A,!1,52,8)},a.prototype.writeUIntLE=function(A,e,t,n){(A=+A,e|=0,t|=0,n)||T(this,A,e,t,Math.pow(2,8*t)-1,0);var i=1,r=0;for(this[e]=255&A;++r<t&&(i*=256);)this[e+r]=A/i&255;return e+t},a.prototype.writeUIntBE=function(A,e,t,n){(A=+A,e|=0,t|=0,n)||T(this,A,e,t,Math.pow(2,8*t)-1,0);var i=t-1,r=1;for(this[e+i]=255&A;--i>=0&&(r*=256);)this[e+i]=A/r&255;return e+t},a.prototype.writeUInt8=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,1,255,0),a.TYPED_ARRAY_SUPPORT||(A=Math.floor(A)),this[e]=255&A,e+1},a.prototype.writeUInt16LE=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=255&A,this[e+1]=A>>>8):R(this,A,e,!0),e+2},a.prototype.writeUInt16BE=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=A>>>8,this[e+1]=255&A):R(this,A,e,!1),e+2},a.prototype.writeUInt32LE=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e+3]=A>>>24,this[e+2]=A>>>16,this[e+1]=A>>>8,this[e]=255&A):G(this,A,e,!0),e+4},a.prototype.writeUInt32BE=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e]=A>>>24,this[e+1]=A>>>16,this[e+2]=A>>>8,this[e+3]=255&A):G(this,A,e,!1),e+4},a.prototype.writeIntLE=function(A,e,t,n){if(A=+A,e|=0,!n){var i=Math.pow(2,8*t-1);T(this,A,e,t,i-1,-i)}var r=0,s=1,o=0;for(this[e]=255&A;++r<t&&(s*=256);)A<0&&0===o&&0!==this[e+r-1]&&(o=1),this[e+r]=(A/s>>0)-o&255;return e+t},a.prototype.writeIntBE=function(A,e,t,n){if(A=+A,e|=0,!n){var i=Math.pow(2,8*t-1);T(this,A,e,t,i-1,-i)}var r=t-1,s=1,o=0;for(this[e+r]=255&A;--r>=0&&(s*=256);)A<0&&0===o&&0!==this[e+r+1]&&(o=1),this[e+r]=(A/s>>0)-o&255;return e+t},a.prototype.writeInt8=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,1,127,-128),a.TYPED_ARRAY_SUPPORT||(A=Math.floor(A)),A<0&&(A=255+A+1),this[e]=255&A,e+1},a.prototype.writeInt16LE=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=255&A,this[e+1]=A>>>8):R(this,A,e,!0),e+2},a.prototype.writeInt16BE=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=A>>>8,this[e+1]=255&A):R(this,A,e,!1),e+2},a.prototype.writeInt32LE=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[e]=255&A,this[e+1]=A>>>8,this[e+2]=A>>>16,this[e+3]=A>>>24):G(this,A,e,!0),e+4},a.prototype.writeInt32BE=function(A,e,t){return A=+A,e|=0,t||T(this,A,e,4,2147483647,-2147483648),A<0&&(A=4294967295+A+1),a.TYPED_ARRAY_SUPPORT?(this[e]=A>>>24,this[e+1]=A>>>16,this[e+2]=A>>>8,this[e+3]=255&A):G(this,A,e,!1),e+4},a.prototype.writeFloatLE=function(A,e,t){return H(this,A,e,!0,t)},a.prototype.writeFloatBE=function(A,e,t){return H(this,A,e,!1,t)},a.prototype.writeDoubleLE=function(A,e,t){return b(this,A,e,!0,t)},a.prototype.writeDoubleBE=function(A,e,t){return b(this,A,e,!1,t)},a.prototype.copy=function(A,e,t,n){if(t||(t=0),n||0===n||(n=this.length),e>=A.length&&(e=A.length),e||(e=0),n>0&&n<t&&(n=t),n===t)return 0;if(0===A.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(t<0||t>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),A.length-e<n-t&&(n=A.length-e+t);var i,r=n-t;if(this===A&&t<e&&e<n)for(i=r-1;i>=0;--i)A[i+e]=this[i+t];else if(r<1e3||!a.TYPED_ARRAY_SUPPORT)for(i=0;i<r;++i)A[i+e]=this[i+t];else Uint8Array.prototype.set.call(A,this.subarray(t,t+r),e);return r},a.prototype.fill=function(A,e,t,n){if("string"==typeof A){if("string"==typeof e?(n=e,e=0,t=this.length):"string"==typeof t&&(n=t,t=this.length),1===A.length){var i=A.charCodeAt(0);i<256&&(A=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof A&&(A&=255);if(e<0||this.length<e||this.length<t)throw new RangeError("Out of range index");if(t<=e)return this;var r;if(e>>>=0,t=void 0===t?this.length:t>>>0,A||(A=0),"number"==typeof A)for(r=e;r<t;++r)this[r]=A;else{var s=a.isBuffer(A)?A:j(new a(A,n).toString()),o=s.length;for(r=0;r<t-e;++r)this[r+e]=s[r%o]}return this};var k=/[^+\/0-9A-Za-z-_]/g;function J(A){return A<16?"0"+A.toString(16):A.toString(16)}function j(A,e){var t;e=e||1/0;for(var n=A.length,i=null,r=[],s=0;s<n;++s){if((t=A.charCodeAt(s))>55295&&t<57344){if(!i){if(t>56319){(e-=3)>-1&&r.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&r.push(239,191,189);continue}i=t;continue}if(t<56320){(e-=3)>-1&&r.push(239,191,189),i=t;continue}t=65536+(i-55296<<10|t-56320)}else i&&(e-=3)>-1&&r.push(239,191,189);if(i=null,t<128){if((e-=1)<0)break;r.push(t)}else if(t<2048){if((e-=2)<0)break;r.push(t>>6|192,63&t|128)}else if(t<65536){if((e-=3)<0)break;r.push(t>>12|224,t>>6&63|128,63&t|128)}else{if(!(t<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;r.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return r}function z(A){return n.toByteArray(function(A){if((A=function(A){return A.trim?A.trim():A.replace(/^\s+|\s+$/g,"")}(A).replace(k,"")).length<2)return"";for(;A.length%4!=0;)A+="=";return A}(A))}function v(A,e,t,n){for(var i=0;i<n&&!(i+t>=e.length||i>=A.length);++i)e[i+t]=A[i];return i}}).call(this,t(19))},function(A,e,t){function n(){}t(168).mixin(n),n.prototype.write=function(A,e,t){this.emit("item",A,e,t)},n.prototype.end=function(){this.emit("end"),this.removeAllListeners()},n.prototype.pipe=function(A){var e=this;function t(){A.write.apply(A,Array.prototype.slice.call(arguments))}function n(){!A._isStdio&&A.end()}return e.emit("unpipe",A),A.emit("pipe",e),e.on("item",t),e.on("end",n),e.when("unpipe",(function(i){var r=i===A||void 0===i;return r&&(e.removeListener("item",t),e.removeListener("end",n),A.emit("unpipe")),r})),A},n.prototype.unpipe=function(A){return this.emit("unpipe",A),this},n.prototype.format=function(A){throw new Error(["Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:","var Minilog = require('minilog');","Minilog"," .pipe(Minilog.backends.console.formatClean)"," .pipe(Minilog.backends.console);"].join("\n"))},n.mixin=function(A){var e,t=n.prototype;for(e in t)t.hasOwnProperty(e)&&(A.prototype[e]=t[e])},A.exports=n},function(A,e){class t{static get BACKGROUND_LAYER(){return"background"}static get VIDEO_LAYER(){return"video"}static get PEN_LAYER(){return"pen"}static get SPRITE_LAYER(){return"sprite"}static get LAYER_GROUPS(){return[t.BACKGROUND_LAYER,t.VIDEO_LAYER,t.PEN_LAYER,t.SPRITE_LAYER]}static get LAYER_GROUPS_PEN(){return[t.BACKGROUND_LAYER,t.VIDEO_LAYER,t.SPRITE_LAYER,t.PEN_LAYER]}}A.exports=t},function(A,e){A.exports=function(A){return A.webpackPolyfill||(A.deprecate=function(){},A.paths=[],A.children||(A.children=[]),Object.defineProperty(A,"loaded",{enumerable:!0,get:function(){return A.l}}),Object.defineProperty(A,"id",{enumerable:!0,get:function(){return A.i}}),A.webpackPolyfill=1),A}},function(A,e,t){const n=t(185),i=t(186);class r{static base64ToUint8Array(A){const e=n(A),t=e.length,i=new Uint8Array(t);for(let A=0;A<t;A++)i[A]=e.charCodeAt(A);return i}static uint8ArrayToBase64(A){let e="";const t=A.byteLength;for(let n=0;n<t;n++)e+=String.fromCharCode(A[n]);return i(e)}static arrayBufferToBase64(A){return r.uint8ArrayToBase64(new Uint8Array(A))}}A.exports=r},function(A,e,t){const n=t(254),i=t(108),r=t(45),s=t(73),o=t(10),{Map:a}=t(44),B=t(109),c=t(110),g=t(8),Q=t(24),E=t(54);class l{constructor(A,e){this.runtime=A,this._blocks={},this._scripts=[],Object.defineProperty(this,"_cache",{writable:!0,enumerable:!1}),this._cache={inputs:{},procedureParamNames:{},procedureDefinitions:{},_executeCached:{},_monitored:null,scripts:{},compiledScripts:{},compiledProcedures:{},proceduresPopulated:!1},this.forceNoGlow=e||!1}getCachedCompileResult(A){return this._cache.compiledScripts.hasOwnProperty(A)?this._cache.compiledScripts[A]:null}cacheCompileResult(A,e){this._cache.compiledScripts[A]={success:!0,value:e}}cacheCompileError(A,e){this._cache.compiledScripts[A]={success:!1,value:e}}static get BRANCH_INPUT_PREFIX(){return"SUBSTACK"}getBlock(A){return this._blocks[A]}getScripts(){return this._scripts}getNextBlock(A){const e=this._blocks[A];return void 0===e?null:e.next}getBranch(A,e){const t=this._blocks[A];if(void 0===t)return null;e||(e=1);let n=l.BRANCH_INPUT_PREFIX;e>1&&(n+=e);const i=t.inputs[n];return void 0===i?null:i.block}getOpcode(A){return void 0===A?null:A.opcode}getFields(A){return void 0===A?null:A.fields}getInputs(A){if(void 0===A)return null;let e=this._cache.inputs[A.id];if(void 0!==e)return e;e={};for(const t in A.inputs)t.substring(0,l.BRANCH_INPUT_PREFIX.length)!==l.BRANCH_INPUT_PREFIX&&(e[t]=A.inputs[t]);return this._cache.inputs[A.id]=e,e}getMutation(A){return void 0===A?null:A.mutation}getTopLevelScript(A){let e=this._blocks[A];if(void 0===e)return null;for(;null!==e.parent;)e=this._blocks[e.parent];return e.id}getProcedureDefinition(A){const e=this._cache.procedureDefinitions[A];if(void 0!==e)return e;for(const e in this._blocks){if(!this._blocks.hasOwnProperty(e))continue;const t=this._blocks[e];if("procedures_definition"===t.opcode||"procedures_definition_return"===t.opcode){const n=this._getCustomBlockInternal(t);if(n&&n.mutation.proccode===A)return this._cache.procedureDefinitions[A]=e,e}}return this._cache.procedureDefinitions[A]=null,null}getProcedureParamNamesAndIds(A){return this.getProcedureParamNamesIdsAndDefaults(A).slice(0,2)}getProcedureParamNamesIdsAndDefaults(A){const e=this._cache.procedureParamNames[A];if(void 0!==e)return e;for(const e in this._blocks){if(!this._blocks.hasOwnProperty(e))continue;const t=this._blocks[e];if("procedures_prototype"===t.opcode&&t.mutation.proccode===A){const e=JSON.parse(t.mutation.argumentnames),n=JSON.parse(t.mutation.argumentids),i=JSON.parse(t.mutation.argumentdefaults);return this._cache.procedureParamNames[A]=[e,n,i],this._cache.procedureParamNames[A]}}const t=this.runtime.getAddonBlock(A);return t?(this._cache.procedureParamNames[A]=t.namesIdsDefaults,t.namesIdsDefaults):(this._cache.procedureParamNames[A]=null,null)}populateProcedureCache(){if(!this._cache.proceduresPopulated){for(const A in this._blocks){if(!this._blocks.hasOwnProperty(A))continue;const e=this._blocks[A];if("procedures_prototype"!==e.opcode){if("procedures_definition"===e.opcode||"procedures_definition_return"===e.opcode){const t=this._getCustomBlockInternal(e);if(t){const e=t.mutation.proccode;this._cache.procedureDefinitions[e]||(this._cache.procedureDefinitions[e]=A);continue}}}else{const A=e.mutation.proccode;if(!this._cache.procedureParamNames[A]){const t=JSON.parse(e.mutation.argumentnames),n=JSON.parse(e.mutation.argumentids),i=JSON.parse(e.mutation.argumentdefaults);this._cache.procedureParamNames[A]=[t,n,i]}}}this._cache.proceduresPopulated=!0}}duplicate(){const A=new l(this.runtime,this.forceNoGlow);return A._blocks=o.simple(this._blocks),A._scripts=o.simple(this._scripts),A}blocklyListen(A){if("object"!=typeof A)return;if("string"!=typeof A.blockId&&"string"!=typeof A.varId&&"string"!=typeof A.commentId)return;const e=this.runtime.getTargetForStage(),t=this.runtime.getEditingTarget();if("stackclick"!==A.element)switch(A.type){case"create":{const e=n(A);for(let A=0;A<e.length;A++)this.createBlock(e[A]);break}case"change":this.changeBlock({id:A.blockId,element:A.element,name:A.name,value:A.newValue});break;case"move":this.moveBlock({id:A.blockId,oldParent:A.oldParentId,oldInput:A.oldInputName,newParent:A.newParentId,newInput:A.newInputName,newCoordinate:A.newCoordinate});break;case"dragOutside":this.runtime.emitBlockDragUpdate(A.isOutside);break;case"endDrag":if(this.runtime.emitBlockDragUpdate(!1),A.isOutside){const e=n(A);this.runtime.emitBlockEndDrag(e,A.blockId)}break;case"delete":if(!this._blocks.hasOwnProperty(A.blockId)||this._blocks[A.blockId].shadow)return;this._blocks[A.blockId].topLevel&&this.runtime.quietGlow(A.blockId),this.deleteBlock(A.blockId);break;case"var_create":if(this.resetCache(),A.isLocal&&t&&!t.isStage&&!A.isCloud)t.lookupVariableById(A.varId)||(t.createVariable(A.varId,A.varName,A.varType),this.emitProjectChanged());else{if(e.lookupVariableById(A.varId))return;const t=this.runtime.targets.filter(A=>A.isOriginal);for(const e of t)if(e.lookupVariableByNameAndType(A.varName,A.varType,!0))return;e.createVariable(A.varId,A.varName,A.varType,A.isCloud),this.emitProjectChanged()}break;case"var_rename":if(t&&t.variables.hasOwnProperty(A.varId))t.renameVariable(A.varId,A.newName),t.blocks.updateBlocksAfterVarRename(A.varId,A.newName);else{e.renameVariable(A.varId,A.newName);const t=this.runtime.targets;for(let e=0;e<t.length;e++){t[e].blocks.updateBlocksAfterVarRename(A.varId,A.newName)}}this.emitProjectChanged();break;case"var_delete":this.resetCache();(t&&t.variables.hasOwnProperty(A.varId)?t:e).deleteVariable(A.varId),this.emitProjectChanged();break;case"comment_create":if(this.resetCache(),this.runtime.getEditingTarget()){const e=this.runtime.getEditingTarget();e.createComment(A.commentId,A.blockId,A.text,A.xy.x,A.xy.y,A.width,A.height,A.minimized),null===e.comments[A.commentId].x&&null===e.comments[A.commentId].y&&(e.comments[A.commentId].x=A.xy.x,e.comments[A.commentId].y=A.xy.y)}this.emitProjectChanged();break;case"comment_change":if(this.resetCache(),this.runtime.getEditingTarget()){const e=this.runtime.getEditingTarget();if(!e.comments.hasOwnProperty(A.commentId))return void g.warn("Cannot change comment with id ".concat(A.commentId," because it does not exist."));const t=e.comments[A.commentId],n=A.newContents_;n.hasOwnProperty("minimized")&&(t.minimized=n.minimized),n.hasOwnProperty("width")&&n.hasOwnProperty("height")&&(t.width=n.width,t.height=n.height),n.hasOwnProperty("text")&&(t.text=n.text),this.emitProjectChanged()}break;case"comment_move":if(this.runtime.getEditingTarget()){const e=this.runtime.getEditingTarget();if(e&&!e.comments.hasOwnProperty(A.commentId))return void g.warn("Cannot change comment with id ".concat(A.commentId," because it does not exist."));const t=e.comments[A.commentId],n=A.newCoordinate_;t.x=n.x,t.y=n.y,this.emitProjectChanged()}break;case"comment_delete":if(this.resetCache(),this.runtime.getEditingTarget()){const e=this.runtime.getEditingTarget();if(!e.comments.hasOwnProperty(A.commentId))return;if(delete e.comments[A.commentId],A.blockId){const t=e.blocks.getBlock(A.blockId);if(!t)return void g.warn("Could not find block referenced by comment with id: ".concat(A.commentId));delete t.comment}this.emitProjectChanged()}}else this.runtime.toggleScript(A.blockId,{stackClick:!0})}resetCache(){this._cache.inputs={},this._cache.procedureParamNames={},this._cache.procedureDefinitions={},this._cache._executeCached={},this._cache._monitored=null,this._cache.scripts={},this._cache.compiledScripts={},this._cache.compiledProcedures={},this._cache.proceduresPopulated=!1}emitProjectChanged(){this.forceNoGlow||this.runtime.emitProjectChanged()}createBlock(A){this._blocks.hasOwnProperty(A.id)||(this._blocks[A.id]=A,A.topLevel&&this._addScript(A.id),this.resetCache(),this.emitProjectChanged())}changeBlock(A){if(-1===["field","mutation","checkbox"].indexOf(A.element))return;let e=this._blocks[A.id];if(void 0!==e){switch(A.element){case"field":if(!e.fields[A.name])return;if("VARIABLE"===A.name||"LIST"===A.name||"BROADCAST_OPTION"===A.name){const t=this.runtime.getEditingTarget().lookupVariableById(A.value);t&&(e.fields[A.name].value=t.name,e.fields[A.name].id=A.value)}else{e.fields[A.name].value=A.value,"sensing_of_object_menu"===e.opcode&&("_stage_"===e.fields.OBJECT.value?this._blocks[e.parent].fields.PROPERTY.value="backdrop #":this._blocks[e.parent].fields.PROPERTY.value="x position",this.runtime.requestBlocksUpdate());const t=e.shadow&&e.parent?this._blocks[e.parent]:e;t.isMonitored&&this.runtime.requestUpdateMonitor(a({id:t.id,params:this._getBlockParams(t)}))}break;case"mutation":e.mutation=i(A.value);break;case"checkbox":{if(e.fields&&Object.keys(e.fields).length>0&&"data_variable"!==e.opcode&&"data_listcontents"!==e.opcode){const A=E(e.id,e.fields);let t=this.runtime.monitorBlocks.getBlock(A);t||(t=JSON.parse(JSON.stringify(e)),t.id=A,this.runtime.monitorBlocks.createBlock(t)),e=t}const t=e.isMonitored;e.isMonitored=A.value;let n=!1;"data_variable"===e.opcode?n=!this.runtime.getTargetForStage().variables[e.fields.VARIABLE.id]:"data_listcontents"===e.opcode&&(n=!this.runtime.getTargetForStage().variables[e.fields.LIST.id]);const i=n||this.runtime.monitorBlockInfo.hasOwnProperty(e.opcode)&&this.runtime.monitorBlockInfo[e.opcode].isSpriteSpecific;e.targetId=i?e.targetId||this.runtime.getEditingTarget().id:null,t&&!e.isMonitored?this.runtime.requestHideMonitor(e.id):!t&&e.isMonitored&&(this.runtime.requestShowMonitor(e.id)||this.runtime.requestAddMonitor(s({id:e.id,targetId:e.targetId,spriteName:e.targetId?this.runtime.getTargetById(e.targetId).getName():null,opcode:e.opcode,params:this._getBlockParams(e),value:"",mode:"data_listcontents"===e.opcode?"list":"default"})));break}}this.emitProjectChanged(),this.resetCache()}}moveBlock(A){if(!this._blocks.hasOwnProperty(A.id))return;const e=this._blocks[A.id];let t=!1;if(A.newCoordinate&&(t=e.x!==A.newCoordinate.x||e.y!==A.newCoordinate.y,e.x=A.newCoordinate.x,e.y=A.newCoordinate.y),void 0!==A.oldParent){const e=this._blocks[A.oldParent];void 0!==A.oldInput&&e.inputs[A.oldInput].block===A.id?e.inputs[A.oldInput].block=null:e.next===A.id&&(e.next=null),this._blocks[A.id].parent=null,t=!0}if(void 0===A.newParent)this._addScript(A.id);else{if(this._deleteScript(A.id),void 0===A.newInput)this._blocks[A.newParent].next=A.id;else{let e=null;this._blocks[A.newParent].inputs.hasOwnProperty(A.newInput)&&(e=this._blocks[A.newParent].inputs[A.newInput].shadow),this._blocks[A.id].shadow&&(e=A.id),this._blocks[A.newParent].inputs[A.newInput]={name:A.newInput,block:A.id,shadow:e}}this._blocks[A.id].parent=A.newParent,t=!0}this.resetCache(),t&&this.emitProjectChanged()}runAllMonitored(A){null===this._cache._monitored&&(this._cache._monitored=Object.keys(this._blocks).filter(A=>this.getBlock(A).isMonitored).map(e=>{const t=this.getBlock(e).targetId;return{blockId:e,target:t?A.getTargetById(t):null}}));const e=this._cache._monitored;for(let t=0;t<e.length;t++){const{blockId:n,target:i}=e[t];A.addMonitorScript(n,i)}}deleteBlock(A){const e=this._blocks[A];if(e){null!==e.next&&this.deleteBlock(e.next);for(const A in e.inputs)null!==e.inputs[A].block&&this.deleteBlock(e.inputs[A].block),null!==e.inputs[A].shadow&&e.inputs[A].shadow!==e.inputs[A].block&&this.deleteBlock(e.inputs[A].shadow);this._deleteScript(A),delete this._blocks[A],this.resetCache(),this.emitProjectChanged()}}getAllVariableAndListReferences(A,e){const t=A||this._blocks,n=Object.create(null);for(const A in t){let i=null,r=null;if(t[A].fields.VARIABLE?(i=t[A].fields.VARIABLE,r=Q.SCALAR_TYPE):t[A].fields.LIST?(i=t[A].fields.LIST,r=Q.LIST_TYPE):e&&t[A].fields.BROADCAST_OPTION&&(i=t[A].fields.BROADCAST_OPTION,r=Q.BROADCAST_MESSAGE_TYPE),i){const A=i.id;n[A]?n[A].push({referencingField:i,type:r}):n[A]=[{referencingField:i,type:r}]}}return n}updateBlocksAfterVarRename(A,e){const t=this._blocks;for(const n in t){let i=null;if(t[n].fields.VARIABLE?i=t[n].fields.VARIABLE:t[n].fields.LIST&&(i=t[n].fields.LIST),i){A===i.id&&(i.value=e)}}}updateTargetSpecificBlocks(A){const e=this._blocks;for(const t in e)A&&"event_whenthisspriteclicked"===e[t].opcode?e[t].opcode="event_whenstageclicked":A||"event_whenstageclicked"!==e[t].opcode||(e[t].opcode="event_whenthisspriteclicked")}updateAssetName(A,e,t){let n;if("costume"===t)n=this._getCostumeField.bind(this);else if("sound"===t)n=this._getSoundField.bind(this);else if("backdrop"===t)n=this._getBackdropField.bind(this);else{if("sprite"!==t)return;n=this._getSpriteField.bind(this)}const i=this._blocks;for(const t in i){const i=n(t);i&&i.value===A&&(i.value=e)}this.resetCache()}updateSensingOfReference(A,e,t){const n=this._blocks;let i=!1;for(const r in n){const s=n[r];if("sensing_of"===s.opcode&&s.fields.PROPERTY.value===A&&s.inputs.OBJECT.block===s.inputs.OBJECT.shadow){this.getBlock(s.inputs.OBJECT.block).fields.OBJECT.value===t&&(s.fields.PROPERTY.value=e,i=!0)}}return i&&this.resetCache(),i}_getCostumeField(A){const e=this.getBlock(A);return e&&e.fields.hasOwnProperty("COSTUME")?e.fields.COSTUME:null}_getSoundField(A){const e=this.getBlock(A);return e&&e.fields.hasOwnProperty("SOUND_MENU")?e.fields.SOUND_MENU:null}_getBackdropField(A){const e=this.getBlock(A);return e&&e.fields.hasOwnProperty("BACKDROP")?e.fields.BACKDROP:null}_getSpriteField(A){const e=this.getBlock(A);if(!e)return null;const t=["TOWARDS","TO","OBJECT","VIDEOONMENU2","DISTANCETOMENU","TOUCHINGOBJECTMENU","CLONE_OPTION"];for(let A=0;A<t.length;A++){const n=t[A];if(e.fields.hasOwnProperty(n))return e.fields[n]}return null}toXML(A){return this._scripts.map(e=>this.blockToXML(e,A)).join()}blockToXML(A,e){const t=this._blocks[A];if(!t)return;const n=t.shadow?"shadow":"block";let i="<".concat(n,'\n id="').concat(r(t.id),'"\n type="').concat(r(t.opcode),'"\n ').concat(t.topLevel?'x="'.concat(t.x,'" y="').concat(t.y,'"'):"","\n >");const s=t.comment;s&&(e?e.hasOwnProperty(s)?i+=e[s].toXML():g.warn("Could not find comment with id: ".concat(s," in provided comment descriptions.")):g.warn("Cannot serialize comment with id: ".concat(s,"; no comment descriptions provided."))),t.mutation&&(i+=this.mutationToXML(t.mutation));for(const A in t.inputs){if(!t.inputs.hasOwnProperty(A))continue;const n=t.inputs[A];(n.block||n.shadow)&&(i+='<value name="'.concat(r(n.name),'">'),n.block&&(i+=this.blockToXML(n.block,e)),n.shadow&&n.shadow!==n.block&&(i+=this.blockToXML(n.shadow,e)),i+="</value>")}for(const A in t.fields){if(!t.fields.hasOwnProperty(A))continue;const e=t.fields[A];i+='<field name="'.concat(r(e.name),'"');const n=e.id;n&&(i+=' id="'.concat(r(n),'"'));const s=e.variableType;"string"==typeof s&&(i+=' variabletype="'.concat(r(s),'"'));let o=e.value;"string"==typeof o&&(o=r(e.value)),i+=">".concat(o,"</field>")}return t.next&&(i+="<next>".concat(this.blockToXML(t.next,e),"</next>")),i+="</".concat(n,">"),i}mutationToXML(A){let e="<".concat(A.tagName);for(const t in A){if("children"===t||"tagName"===t)continue;let n="string"==typeof A[t]?r(A[t]):A[t];"blockInfo"===t&&(n=r(JSON.stringify(A[t]))),e+=" ".concat(t,'="').concat(n,'"')}e+=">";for(let t=0;t<A.children.length;t++)e+=this.mutationToXML(A.children[t]);return e+="</".concat(A.tagName,">"),e}_getBlockParams(A){const e={};for(const t in A.fields)e[t]=A.fields[t].value;for(const t in A.inputs){const n=this._blocks[A.inputs[t].block];for(const A in n.fields)e[A]=n.fields[A].value}return e}_getCustomBlockInternal(A){if(A.inputs&&A.inputs.custom_block)return this._blocks[A.inputs.custom_block.block]}_addScript(A){this._scripts.indexOf(A)>-1||(this._scripts.push(A),this._blocks[A].topLevel=!0)}_deleteScript(A){const e=this._scripts.indexOf(A);e>-1&&this._scripts.splice(e,1),this._blocks[A]&&(this._blocks[A].topLevel=!1)}}B.getCached=function(A,e,t){let n=A._cache._executeCached[e];if(void 0!==n)return n;const i=A.getBlock(e);return void 0===i?null:(n=void 0===t?{id:e,opcode:A.getOpcode(i),fields:A.getFields(i),inputs:A.getInputs(i),mutation:A.getMutation(i)}:new t(A,{id:e,opcode:A.getOpcode(i),fields:A.getFields(i),inputs:A.getInputs(i),mutation:A.getMutation(i)}),A._cache._executeCached[e]=n,n)};const u=c._RuntimeScriptCache;c.getScripts=function(A,e){let t=A._cache.scripts[e];if(!t){t=A._cache.scripts[e]=[];const n=A._scripts;for(let i=0;i<n.length;i++){const r=n[i];A.getBlock(r).opcode===e&&t.push(new u(A,r))}}return t},A.exports=l},function(A,e,t){(function(e){A.exports=class{bufferToArray(A,e){A=new DataView(A);const t=[],n="function"==typeof e?e:A=>A;for(let e=0;e<A.byteLength;e++){const i=A.getUint8(e);t.push(n(i))}return t}arrayToBuffer(A,t){t="function"==typeof e?t:A=>A;const n=new ArrayBuffer(A.length),i=new DataView(n);return A.forEach((A,e)=>{A=t(A),i.setUint8(e,A)}),i.buffer}uint8ArrayToBuffer(A){return A.buffer.slice(A.byteOffset,A.byteLength+A.byteOffset)}bufferToUint8Array(A){return new Uint8Array(A)}bufferToString(A,e,t){e||(e=" ");return this.bufferToArray(A).map("function"==typeof t?t:A=>A.toString(16)).map(A=>A.length<2?"0".concat(A):A).join(e)}}}).call(this,t(50))},function(A,e){(function(e){A.exports=e}).call(this,{})},function(A,e){function t(A){for(var e=[[A.x,A.y]];A.parent;)A=A.parent,e.push([A.x,A.y]);return e.reverse()}function n(A,e,t,n){var i,r,s,o,a,B,c=Math.abs,g=[];for(i=A<t?1:-1,r=e<n?1:-1,a=(s=c(t-A))-(o=c(n-e));g.push([A,e]),A!==t||e!==n;)(B=2*a)>-o&&(a-=o,A+=i),B<s&&(a+=s,e+=r);return g}e.backtrace=t,e.biBacktrace=function(A,e){var n=t(A),i=t(e);return n.concat(i.reverse())},e.pathLength=function(A){var e,t,n,i,r,s=0;for(e=1;e<A.length;++e)t=A[e-1],n=A[e],i=t[0]-n[0],r=t[1]-n[1],s+=Math.sqrt(i*i+r*r);return s},e.interpolate=n,e.expandPath=function(A){var e,t,i,r,s,o,a=[],B=A.length;if(B<2)return a;for(s=0;s<B-1;++s)for(e=A[s],t=A[s+1],r=(i=n(e[0],e[1],t[0],t[1])).length,o=0;o<r-1;++o)a.push(i[o]);return a.push(A[B-1]),a},e.smoothenPath=function(A,e){var t,i,r,s,o,a,B,c,g,Q=e.length,E=e[0][0],l=e[0][1],u=e[Q-1][0],w=e[Q-1][1];for(r=[[t=E,i=l]],s=2;s<Q;++s){for(B=n(t,i,(a=e[s])[0],a[1]),g=!1,o=1;o<B.length;++o)if(c=B[o],!A.isWalkableAt(c[0],c[1])){g=!0;break}g&&(lastValidCoord=e[s-1],r.push(lastValidCoord),t=lastValidCoord[0],i=lastValidCoord[1])}return r.push([u,w]),r},e.compressPath=function(A){if(A.length<3)return A;var e,t,n,i,r,s,o=[],a=A[0][0],B=A[0][1],c=A[1][0],g=A[1][1],Q=c-a,E=g-B;for(Q/=r=Math.sqrt(Q*Q+E*E),E/=r,o.push([a,B]),s=2;s<A.length;s++)e=c,t=g,n=Q,i=E,Q=(c=A[s][0])-e,E=(g=A[s][1])-t,E/=r=Math.sqrt(Q*Q+E*E),(Q/=r)===n&&E===i||o.push([e,t]);return o.push([c,g]),o}},function(A,e,t){var n=t(4).TYPE,i=n.WhiteSpace,r=n.Semicolon,s=n.LeftCurlyBracket,o=n.Delim;function a(){return this.scanner.tokenIndex>0&&this.scanner.lookupType(-1)===i?this.scanner.tokenIndex>1?this.scanner.getTokenStart(this.scanner.tokenIndex-1):this.scanner.firstCharOffset:this.scanner.tokenStart}function B(){return 0}A.exports={name:"Raw",structure:{value:String},parse:function(A,e,t){var n,i=this.scanner.getTokenStart(A);return this.scanner.skip(this.scanner.getRawLength(A,e||B)),n=t&&this.scanner.tokenStart>i?a.call(this):this.scanner.tokenStart,{type:"Raw",loc:this.getLocation(i,n),value:this.scanner.source.substring(i,n)}},generate:function(A){this.chunk(A.value)},mode:{default:B,leftCurlyBracket:function(A){return A===s?1:0},leftCurlyBracketOrSemicolon:function(A){return A===s||A===r?1:0},exclamationMarkOrSemicolon:function(A,e,t){return A===o&&33===e.charCodeAt(t)||A===r?1:0},semicolonIncluded:function(A){return A===r?2:0}}}},function(A,e,t){var n;!function(i){"use strict";
/*!
* decimal.js v10.4.3
* An arbitrary-precision Decimal type for JavaScript.
* https://github.com/MikeMcl/decimal.js
* Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
* MIT Licence
*/var r,s,o,a=9e15,B="0123456789abcdef",c="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",g="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Q={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-a,maxE:a,crypto:!1},E=!0,l="[DecimalError] Invalid argument: ",u="[object Decimal]",w=Math.floor,h=Math.pow,C=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,d=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,I=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,M=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,p=1e7,m=c.length-1,F=g.length-1,D={toStringTag:u};function Y(A){var e,t,n,i=A.length-1,r="",s=A[0];if(i>0){for(r+=s,e=1;e<i;e++)(t=7-(n=A[e]+"").length)&&(r+=b(t)),r+=n;(t=7-(n=(s=A[e])+"").length)&&(r+=b(t))}else if(0===s)return"0";for(;s%10==0;)s/=10;return r+s}function f(A,e,t){if(A!==~~A||A<e||A>t)throw Error(l+A)}function N(A,e,t,n){var i,r,s,o;for(r=A[0];r>=10;r/=10)--e;return--e<0?(e+=7,i=0):(i=Math.ceil((e+1)/7),e%=7),r=h(10,7-e),o=A[i]%r|0,null==n?e<3?(0==e?o=o/100|0:1==e&&(o=o/10|0),s=t<4&&99999==o||t>3&&49999==o||5e4==o||0==o):s=(t<4&&o+1==r||t>3&&o+1==r/2)&&(A[i+1]/r/100|0)==h(10,e-2)-1||(o==r/2||0==o)&&0==(A[i+1]/r/100|0):e<4?(0==e?o=o/1e3|0:1==e?o=o/100|0:2==e&&(o=o/10|0),s=(n||t<4)&&9999==o||!n&&t>3&&4999==o):s=((n||t<4)&&o+1==r||!n&&t>3&&o+1==r/2)&&(A[i+1]/r/1e3|0)==h(10,e-3)-1,s}function U(A,e,t){for(var n,i,r=[0],s=0,o=A.length;s<o;){for(i=r.length;i--;)r[i]*=e;for(r[0]+=B.indexOf(A.charAt(s++)),n=0;n<r.length;n++)r[n]>t-1&&(void 0===r[n+1]&&(r[n+1]=0),r[n+1]+=r[n]/t|0,r[n]%=t)}return r.reverse()}D.absoluteValue=D.abs=function(){var A=new this.constructor(this);return A.s<0&&(A.s=1),x(A)},D.ceil=function(){return x(new this.constructor(this),this.e+1,2)},D.clampedTo=D.clamp=function(A,e){var t=this,n=t.constructor;if(A=new n(A),e=new n(e),!A.s||!e.s)return new n(NaN);if(A.gt(e))throw Error(l+e);return t.cmp(A)<0?A:t.cmp(e)>0?e:new n(t)},D.comparedTo=D.cmp=function(A){var e,t,n,i,r=this,s=r.d,o=(A=new r.constructor(A)).d,a=r.s,B=A.s;if(!s||!o)return a&&B?a!==B?a:s===o?0:!s^a<0?1:-1:NaN;if(!s[0]||!o[0])return s[0]?a:o[0]?-B:0;if(a!==B)return a;if(r.e!==A.e)return r.e>A.e^a<0?1:-1;for(e=0,t=(n=s.length)<(i=o.length)?n:i;e<t;++e)if(s[e]!==o[e])return s[e]>o[e]^a<0?1:-1;return n===i?0:n>i^a<0?1:-1},D.cosine=D.cos=function(){var A,e,t=this,n=t.constructor;return t.d?t.d[0]?(A=n.precision,e=n.rounding,n.precision=A+Math.max(t.e,t.sd())+7,n.rounding=1,t=function(A,e){var t,n,i;if(e.isZero())return e;(n=e.d.length)<32?(t=Math.ceil(n/3),i=(1/V(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10");A.precision+=t,e=W(A,1,e.times(i),new A(1));for(var r=t;r--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return A.precision-=t,e}(n,K(n,t)),n.precision=A,n.rounding=e,x(2==o||3==o?t.neg():t,A,e,!0)):new n(1):new n(NaN)},D.cubeRoot=D.cbrt=function(){var A,e,t,n,i,r,s,o,a,B,c=this,g=c.constructor;if(!c.isFinite()||c.isZero())return new g(c);for(E=!1,(r=c.s*h(c.s*c,1/3))&&Math.abs(r)!=1/0?n=new g(r.toString()):(t=Y(c.d),(r=((A=c.e)-t.length+1)%3)&&(t+=1==r||-2==r?"0":"00"),r=h(t,1/3),A=w((A+1)/3)-(A%3==(A<0?-1:2)),(n=new g(t=r==1/0?"5e"+A:(t=r.toExponential()).slice(0,t.indexOf("e")+1)+A)).s=c.s),s=(A=g.precision)+3;;)if(B=(a=(o=n).times(o).times(o)).plus(c),n=y(B.plus(c).times(o),B.plus(a),s+2,1),Y(o.d).slice(0,s)===(t=Y(n.d)).slice(0,s)){if("9999"!=(t=t.slice(s-3,s+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(x(n,A+1,1),e=!n.times(n).times(n).eq(c));break}if(!i&&(x(o,A+1,0),o.times(o).times(o).eq(c))){n=o;break}s+=4,i=1}return E=!0,x(n,A,g.rounding,e)},D.decimalPlaces=D.dp=function(){var A,e=this.d,t=NaN;if(e){if(t=7*((A=e.length-1)-w(this.e/7)),A=e[A])for(;A%10==0;A/=10)t--;t<0&&(t=0)}return t},D.dividedBy=D.div=function(A){return y(this,new this.constructor(A))},D.dividedToIntegerBy=D.divToInt=function(A){var e=this.constructor;return x(y(this,new e(A),0,1,1),e.precision,e.rounding)},D.equals=D.eq=function(A){return 0===this.cmp(A)},D.floor=function(){return x(new this.constructor(this),this.e+1,3)},D.greaterThan=D.gt=function(A){return this.cmp(A)>0},D.greaterThanOrEqualTo=D.gte=function(A){var e=this.cmp(A);return 1==e||0===e},D.hyperbolicCosine=D.cosh=function(){var A,e,t,n,i,r=this,s=r.constructor,o=new s(1);if(!r.isFinite())return new s(r.s?1/0:NaN);if(r.isZero())return o;t=s.precision,n=s.rounding,s.precision=t+Math.max(r.e,r.sd())+4,s.rounding=1,(i=r.d.length)<32?e=(1/V(4,A=Math.ceil(i/3))).toString():(A=16,e="2.3283064365386962890625e-10"),r=W(s,1,r.times(e),new s(1),!0);for(var a,B=A,c=new s(8);B--;)a=r.times(r),r=o.minus(a.times(c.minus(a.times(c))));return x(r,s.precision=t,s.rounding=n,!0)},D.hyperbolicSine=D.sinh=function(){var A,e,t,n,i=this,r=i.constructor;if(!i.isFinite()||i.isZero())return new r(i);if(e=r.precision,t=r.rounding,r.precision=e+Math.max(i.e,i.sd())+4,r.rounding=1,(n=i.d.length)<3)i=W(r,2,i,i,!0);else{A=(A=1.4*Math.sqrt(n))>16?16:0|A,i=W(r,2,i=i.times(1/V(5,A)),i,!0);for(var s,o=new r(5),a=new r(16),B=new r(20);A--;)s=i.times(i),i=i.times(o.plus(s.times(a.times(s).plus(B))))}return r.precision=e,r.rounding=t,x(i,e,t,!0)},D.hyperbolicTangent=D.tanh=function(){var A,e,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(A=n.precision,e=n.rounding,n.precision=A+7,n.rounding=1,y(t.sinh(),t.cosh(),n.precision=A,n.rounding=e)):new n(t.s)},D.inverseCosine=D.acos=function(){var A,e=this,t=e.constructor,n=e.abs().cmp(1),i=t.precision,r=t.rounding;return-1!==n?0===n?e.isNeg()?S(t,i,r):new t(0):new t(NaN):e.isZero()?S(t,i+4,r).times(.5):(t.precision=i+6,t.rounding=1,e=e.asin(),A=S(t,i+4,r).times(.5),t.precision=i,t.rounding=r,A.minus(e))},D.inverseHyperbolicCosine=D.acosh=function(){var A,e,t=this,n=t.constructor;return t.lte(1)?new n(t.eq(1)?0:NaN):t.isFinite()?(A=n.precision,e=n.rounding,n.precision=A+Math.max(Math.abs(t.e),t.sd())+4,n.rounding=1,E=!1,t=t.times(t).minus(1).sqrt().plus(t),E=!0,n.precision=A,n.rounding=e,t.ln()):new n(t)},D.inverseHyperbolicSine=D.asinh=function(){var A,e,t=this,n=t.constructor;return!t.isFinite()||t.isZero()?new n(t):(A=n.precision,e=n.rounding,n.precision=A+2*Math.max(Math.abs(t.e),t.sd())+6,n.rounding=1,E=!1,t=t.times(t).plus(1).sqrt().plus(t),E=!0,n.precision=A,n.rounding=e,t.ln())},D.inverseHyperbolicTangent=D.atanh=function(){var A,e,t,n,i=this,r=i.constructor;return i.isFinite()?i.e>=0?new r(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(A=r.precision,e=r.rounding,n=i.sd(),Math.max(n,A)<2*-i.e-1?x(new r(i),A,e,!0):(r.precision=t=n-i.e,i=y(i.plus(1),new r(1).minus(i),t+A,1),r.precision=A+4,r.rounding=1,i=i.ln(),r.precision=A,r.rounding=e,i.times(.5))):new r(NaN)},D.inverseSine=D.asin=function(){var A,e,t,n,i=this,r=i.constructor;return i.isZero()?new r(i):(e=i.abs().cmp(1),t=r.precision,n=r.rounding,-1!==e?0===e?((A=S(r,t+4,n).times(.5)).s=i.s,A):new r(NaN):(r.precision=t+6,r.rounding=1,i=i.div(new r(1).minus(i.times(i)).sqrt().plus(1)).atan(),r.precision=t,r.rounding=n,i.times(2)))},D.inverseTangent=D.atan=function(){var A,e,t,n,i,r,s,o,a,B=this,c=B.constructor,g=c.precision,Q=c.rounding;if(B.isFinite()){if(B.isZero())return new c(B);if(B.abs().eq(1)&&g+4<=F)return(s=S(c,g+4,Q).times(.25)).s=B.s,s}else{if(!B.s)return new c(NaN);if(g+4<=F)return(s=S(c,g+4,Q).times(.5)).s=B.s,s}for(c.precision=o=g+10,c.rounding=1,A=t=Math.min(28,o/7+2|0);A;--A)B=B.div(B.times(B).plus(1).sqrt().plus(1));for(E=!1,e=Math.ceil(o/7),n=1,a=B.times(B),s=new c(B),i=B;-1!==A;)if(i=i.times(a),r=s.minus(i.div(n+=2)),i=i.times(a),void 0!==(s=r.plus(i.div(n+=2))).d[e])for(A=e;s.d[A]===r.d[A]&&A--;);return t&&(s=s.times(2<<t-1)),E=!0,x(s,c.precision=g,c.rounding=Q,!0)},D.isFinite=function(){return!!this.d},D.isInteger=D.isInt=function(){return!!this.d&&w(this.e/7)>this.d.length-2},D.isNaN=function(){return!this.s},D.isNegative=D.isNeg=function(){return this.s<0},D.isPositive=D.isPos=function(){return this.s>0},D.isZero=function(){return!!this.d&&0===this.d[0]},D.lessThan=D.lt=function(A){return this.cmp(A)<0},D.lessThanOrEqualTo=D.lte=function(A){return this.cmp(A)<1},D.logarithm=D.log=function(A){var e,t,n,i,r,s,o,a,B=this.constructor,c=B.precision,g=B.rounding;if(null==A)A=new B(10),e=!0;else{if(t=(A=new B(A)).d,A.s<0||!t||!t[0]||A.eq(1))return new B(NaN);e=A.eq(10)}if(t=this.d,this.s<0||!t||!t[0]||this.eq(1))return new B(t&&!t[0]?-1/0:1!=this.s?NaN:t?0:1/0);if(e)if(t.length>1)r=!0;else{for(i=t[0];i%10==0;)i/=10;r=1!==i}if(E=!1,s=v(this,o=c+5),n=e?G(B,o+10):v(A,o),N((a=y(s,n,o,1)).d,i=c,g))do{if(s=v(this,o+=10),n=e?G(B,o+10):v(A,o),a=y(s,n,o,1),!r){+Y(a.d).slice(i+1,i+15)+1==1e14&&(a=x(a,c+1,0));break}}while(N(a.d,i+=10,g));return E=!0,x(a,c,g)},D.minus=D.sub=function(A){var e,t,n,i,r,s,o,a,B,c,g,Q,l=this,u=l.constructor;if(A=new u(A),!l.d||!A.d)return l.s&&A.s?l.d?A.s=-A.s:A=new u(A.d||l.s!==A.s?l:NaN):A=new u(NaN),A;if(l.s!=A.s)return A.s=-A.s,l.plus(A);if(B=l.d,Q=A.d,o=u.precision,a=u.rounding,!B[0]||!Q[0]){if(Q[0])A.s=-A.s;else{if(!B[0])return new u(3===a?-0:0);A=new u(l)}return E?x(A,o,a):A}if(t=w(A.e/7),c=w(l.e/7),B=B.slice(),r=c-t){for((g=r<0)?(e=B,r=-r,s=Q.length):(e=Q,t=c,s=B.length),r>(n=Math.max(Math.ceil(o/7),s)+2)&&(r=n,e.length=1),e.reverse(),n=r;n--;)e.push(0);e.reverse()}else{for((g=(n=B.length)<(s=Q.length))&&(s=n),n=0;n<s;n++)if(B[n]!=Q[n]){g=B[n]<Q[n];break}r=0}for(g&&(e=B,B=Q,Q=e,A.s=-A.s),s=B.length,n=Q.length-s;n>0;--n)B[s++]=0;for(n=Q.length;n>r;){if(B[--n]<Q[n]){for(i=n;i&&0===B[--i];)B[i]=p-1;--B[i],B[n]+=p}B[n]-=Q[n]}for(;0===B[--s];)B.pop();for(;0===B[0];B.shift())--t;return B[0]?(A.d=B,A.e=R(B,t),E?x(A,o,a):A):new u(3===a?-0:0)},D.modulo=D.mod=function(A){var e,t=this,n=t.constructor;return A=new n(A),!t.d||!A.s||A.d&&!A.d[0]?new n(NaN):!A.d||t.d&&!t.d[0]?x(new n(t),n.precision,n.rounding):(E=!1,9==n.modulo?(e=y(t,A.abs(),0,3,1)).s*=A.s:e=y(t,A,0,n.modulo,1),e=e.times(A),E=!0,t.minus(e))},D.naturalExponential=D.exp=function(){return z(this)},D.naturalLogarithm=D.ln=function(){return v(this)},D.negated=D.neg=function(){var A=new this.constructor(this);return A.s=-A.s,x(A)},D.plus=D.add=function(A){var e,t,n,i,r,s,o,a,B,c,g=this,Q=g.constructor;if(A=new Q(A),!g.d||!A.d)return g.s&&A.s?g.d||(A=new Q(A.d||g.s===A.s?g:NaN)):A=new Q(NaN),A;if(g.s!=A.s)return A.s=-A.s,g.minus(A);if(B=g.d,c=A.d,o=Q.precision,a=Q.rounding,!B[0]||!c[0])return c[0]||(A=new Q(g)),E?x(A,o,a):A;if(r=w(g.e/7),n=w(A.e/7),B=B.slice(),i=r-n){for(i<0?(t=B,i=-i,s=c.length):(t=c,n=r,s=B.length),i>(s=(r=Math.ceil(o/7))>s?r+1:s+1)&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for((s=B.length)-(i=c.length)<0&&(i=s,t=c,c=B,B=t),e=0;i;)e=(B[--i]=B[i]+c[i]+e)/p|0,B[i]%=p;for(e&&(B.unshift(e),++n),s=B.length;0==B[--s];)B.pop();return A.d=B,A.e=R(B,n),E?x(A,o,a):A},D.precision=D.sd=function(A){var e,t=this;if(void 0!==A&&A!==!!A&&1!==A&&0!==A)throw Error(l+A);return t.d?(e=H(t.d),A&&t.e+1>e&&(e=t.e+1)):e=NaN,e},D.round=function(){var A=this,e=A.constructor;return x(new e(A),A.e+1,e.rounding)},D.sine=D.sin=function(){var A,e,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(A=n.precision,e=n.rounding,n.precision=A+Math.max(t.e,t.sd())+7,n.rounding=1,t=function(A,e){var t,n=e.d.length;if(n<3)return e.isZero()?e:W(A,2,e,e);t=(t=1.4*Math.sqrt(n))>16?16:0|t,e=e.times(1/V(5,t)),e=W(A,2,e,e);for(var i,r=new A(5),s=new A(16),o=new A(20);t--;)i=e.times(e),e=e.times(r.plus(i.times(s.times(i).minus(o))));return e}(n,K(n,t)),n.precision=A,n.rounding=e,x(o>2?t.neg():t,A,e,!0)):new n(NaN)},D.squareRoot=D.sqrt=function(){var A,e,t,n,i,r,s=this,o=s.d,a=s.e,B=s.s,c=s.constructor;if(1!==B||!o||!o[0])return new c(!B||B<0&&(!o||o[0])?NaN:o?s:1/0);for(E=!1,0==(B=Math.sqrt(+s))||B==1/0?(((e=Y(o)).length+a)%2==0&&(e+="0"),B=Math.sqrt(e),a=w((a+1)/2)-(a<0||a%2),n=new c(e=B==1/0?"5e"+a:(e=B.toExponential()).slice(0,e.indexOf("e")+1)+a)):n=new c(B.toString()),t=(a=c.precision)+3;;)if(n=(r=n).plus(y(s,r,t+2,1)).times(.5),Y(r.d).slice(0,t)===(e=Y(n.d)).slice(0,t)){if("9999"!=(e=e.slice(t-3,t+1))&&(i||"4999"!=e)){+e&&(+e.slice(1)||"5"!=e.charAt(0))||(x(n,a+1,1),A=!n.times(n).eq(s));break}if(!i&&(x(r,a+1,0),r.times(r).eq(s))){n=r;break}t+=4,i=1}return E=!0,x(n,a,c.rounding,A)},D.tangent=D.tan=function(){var A,e,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(A=n.precision,e=n.rounding,n.precision=A+10,n.rounding=1,(t=t.sin()).s=1,t=y(t,new n(1).minus(t.times(t)).sqrt(),A+10,0),n.precision=A,n.rounding=e,x(2==o||4==o?t.neg():t,A,e,!0)):new n(NaN)},D.times=D.mul=function(A){var e,t,n,i,r,s,o,a,B,c=this,g=c.constructor,Q=c.d,l=(A=new g(A)).d;if(A.s*=c.s,!(Q&&Q[0]&&l&&l[0]))return new g(!A.s||Q&&!Q[0]&&!l||l&&!l[0]&&!Q?NaN:Q&&l?0*A.s:A.s/0);for(t=w(c.e/7)+w(A.e/7),(a=Q.length)<(B=l.length)&&(r=Q,Q=l,l=r,s=a,a=B,B=s),r=[],n=s=a+B;n--;)r.push(0);for(n=B;--n>=0;){for(e=0,i=a+n;i>n;)o=r[i]+l[n]*Q[i-n-1]+e,r[i--]=o%p|0,e=o/p|0;r[i]=(r[i]+e)%p|0}for(;!r[--s];)r.pop();return e?++t:r.shift(),A.d=r,A.e=R(r,t),E?x(A,g.precision,g.rounding):A},D.toBinary=function(A,e){return X(this,2,A,e)},D.toDecimalPlaces=D.toDP=function(A,e){var t=this,n=t.constructor;return t=new n(t),void 0===A?t:(f(A,0,1e9),void 0===e?e=n.rounding:f(e,0,8),x(t,A+t.e+1,e))},D.toExponential=function(A,e){var t,n=this,i=n.constructor;return void 0===A?t=T(n,!0):(f(A,0,1e9),void 0===e?e=i.rounding:f(e,0,8),t=T(n=x(new i(n),A+1,e),!0,A+1)),n.isNeg()&&!n.isZero()?"-"+t:t},D.toFixed=function(A,e){var t,n,i=this,r=i.constructor;return void 0===A?t=T(i):(f(A,0,1e9),void 0===e?e=r.rounding:f(e,0,8),t=T(n=x(new r(i),A+i.e+1,e),!1,A+n.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t},D.toFraction=function(A){var e,t,n,i,r,s,o,a,B,c,g,Q,u=this,w=u.d,C=u.constructor;if(!w)return new C(u);if(B=t=new C(1),n=a=new C(0),s=(r=(e=new C(n)).e=H(w)-u.e-1)%7,e.d[0]=h(10,s<0?7+s:s),null==A)A=r>0?e:B;else{if(!(o=new C(A)).isInt()||o.lt(B))throw Error(l+o);A=o.gt(e)?r>0?e:B:o}for(E=!1,o=new C(Y(w)),c=C.precision,C.precision=r=7*w.length*2;g=y(o,e,0,1,1),1!=(i=t.plus(g.times(n))).cmp(A);)t=n,n=i,i=B,B=a.plus(g.times(i)),a=i,i=e,e=o.minus(g.times(i)),o=i;return i=y(A.minus(t),n,0,1,1),a=a.plus(i.times(B)),t=t.plus(i.times(n)),a.s=B.s=u.s,Q=y(B,n,r,1).minus(u).abs().cmp(y(a,t,r,1).minus(u).abs())<1?[B,n]:[a,t],C.precision=c,E=!0,Q},D.toHexadecimal=D.toHex=function(A,e){return X(this,16,A,e)},D.toNearest=function(A,e){var t=this,n=t.constructor;if(t=new n(t),null==A){if(!t.d)return t;A=new n(1),e=n.rounding}else{if(A=new n(A),void 0===e?e=n.rounding:f(e,0,8),!t.d)return A.s?t:A;if(!A.d)return A.s&&(A.s=t.s),A}return A.d[0]?(E=!1,t=y(t,A,0,e,1).times(A),E=!0,x(t)):(A.s=t.s,t=A),t},D.toNumber=function(){return+this},D.toOctal=function(A,e){return X(this,8,A,e)},D.toPower=D.pow=function(A){var e,t,n,i,r,s,o=this,a=o.constructor,B=+(A=new a(A));if(!(o.d&&A.d&&o.d[0]&&A.d[0]))return new a(h(+o,B));if((o=new a(o)).eq(1))return o;if(n=a.precision,r=a.rounding,A.eq(1))return x(o,n,r);if((e=w(A.e/7))>=A.d.length-1&&(t=B<0?-B:B)<=9007199254740991)return i=k(a,o,t,n),A.s<0?new a(1).div(i):x(i,n,r);if((s=o.s)<0){if(e<A.d.length-1)return new a(NaN);if(0==(1&A.d[e])&&(s=1),0==o.e&&1==o.d[0]&&1==o.d.length)return o.s=s,o}return(e=0!=(t=h(+o,B))&&isFinite(t)?new a(t+"").e:w(B*(Math.log("0."+Y(o.d))/Math.LN10+o.e+1)))>a.maxE+1||e<a.minE-1?new a(e>0?s/0:0):(E=!1,a.rounding=o.s=1,t=Math.min(12,(e+"").length),(i=z(A.times(v(o,n+t)),n)).d&&N((i=x(i,n+5,1)).d,n,r)&&(e=n+10,+Y((i=x(z(A.times(v(o,e+t)),e),e+5,1)).d).slice(n+1,n+15)+1==1e14&&(i=x(i,n+1,0))),i.s=s,E=!0,a.rounding=r,x(i,n,r))},D.toPrecision=function(A,e){var t,n=this,i=n.constructor;return void 0===A?t=T(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(f(A,1,1e9),void 0===e?e=i.rounding:f(e,0,8),t=T(n=x(new i(n),A,e),A<=n.e||n.e<=i.toExpNeg,A)),n.isNeg()&&!n.isZero()?"-"+t:t},D.toSignificantDigits=D.toSD=function(A,e){var t=this.constructor;return void 0===A?(A=t.precision,e=t.rounding):(f(A,1,1e9),void 0===e?e=t.rounding:f(e,0,8)),x(new t(this),A,e)},D.toString=function(){var A=this,e=A.constructor,t=T(A,A.e<=e.toExpNeg||A.e>=e.toExpPos);return A.isNeg()&&!A.isZero()?"-"+t:t},D.truncated=D.trunc=function(){return x(new this.constructor(this),this.e+1,1)},D.valueOf=D.toJSON=function(){var A=this,e=A.constructor,t=T(A,A.e<=e.toExpNeg||A.e>=e.toExpPos);return A.isNeg()?"-"+t:t};var y=function(){function A(A,e,t){var n,i=0,r=A.length;for(A=A.slice();r--;)n=A[r]*e+i,A[r]=n%t|0,i=n/t|0;return i&&A.unshift(i),A}function e(A,e,t,n){var i,r;if(t!=n)r=t>n?1:-1;else for(i=r=0;i<t;i++)if(A[i]!=e[i]){r=A[i]>e[i]?1:-1;break}return r}function t(A,e,t,n){for(var i=0;t--;)A[t]-=i,i=A[t]<e[t]?1:0,A[t]=i*n+A[t]-e[t];for(;!A[0]&&A.length>1;)A.shift()}return function(n,i,r,o,a,B){var c,g,Q,E,l,u,h,C,d,I,M,m,F,D,Y,f,N,U,y,T,R=n.constructor,G=n.s==i.s?1:-1,S=n.d,H=i.d;if(!(S&&S[0]&&H&&H[0]))return new R(n.s&&i.s&&(S?!H||S[0]!=H[0]:H)?S&&0==S[0]||!H?0*G:G/0:NaN);for(B?(l=1,g=n.e-i.e):(B=p,l=7,g=w(n.e/l)-w(i.e/l)),y=H.length,N=S.length,I=(d=new R(G)).d=[],Q=0;H[Q]==(S[Q]||0);Q++);if(H[Q]>(S[Q]||0)&&g--,null==r?(D=r=R.precision,o=R.rounding):D=a?r+(n.e-i.e)+1:r,D<0)I.push(1),u=!0;else{if(D=D/l+2|0,Q=0,1==y){for(E=0,H=H[0],D++;(Q<N||E)&&D--;Q++)Y=E*B+(S[Q]||0),I[Q]=Y/H|0,E=Y%H|0;u=E||Q<N}else{for((E=B/(H[0]+1)|0)>1&&(H=A(H,E,B),S=A(S,E,B),y=H.length,N=S.length),f=y,m=(M=S.slice(0,y)).length;m<y;)M[m++]=0;(T=H.slice()).unshift(0),U=H[0],H[1]>=B/2&&++U;do{E=0,(c=e(H,M,y,m))<0?(F=M[0],y!=m&&(F=F*B+(M[1]||0)),(E=F/U|0)>1?(E>=B&&(E=B-1),1==(c=e(h=A(H,E,B),M,C=h.length,m=M.length))&&(E--,t(h,y<C?T:H,C,B))):(0==E&&(c=E=1),h=H.slice()),(C=h.length)<m&&h.unshift(0),t(M,h,m,B),-1==c&&(c=e(H,M,y,m=M.length))<1&&(E++,t(M,y<m?T:H,m,B)),m=M.length):0===c&&(E++,M=[0]),I[Q++]=E,c&&M[0]?M[m++]=S[f]||0:(M=[S[f]],m=1)}while((f++<N||void 0!==M[0])&&D--);u=void 0!==M[0]}I[0]||I.shift()}if(1==l)d.e=g,s=u;else{for(Q=1,E=I[0];E>=10;E/=10)Q++;d.e=Q+g*l-1,x(d,a?r+d.e+1:r,o,u)}return d}}();function x(A,e,t,n){var i,r,s,o,a,B,c,g,Q,l=A.constructor;A:if(null!=e){if(!(g=A.d))return A;for(i=1,o=g[0];o>=10;o/=10)i++;if((r=e-i)<0)r+=7,s=e,a=(c=g[Q=0])/h(10,i-s-1)%10|0;else if((Q=Math.ceil((r+1)/7))>=(o=g.length)){if(!n)break A;for(;o++<=Q;)g.push(0);c=a=0,i=1,s=(r%=7)-7+1}else{for(c=o=g[Q],i=1;o>=10;o/=10)i++;a=(s=(r%=7)-7+i)<0?0:c/h(10,i-s-1)%10|0}if(n=n||e<0||void 0!==g[Q+1]||(s<0?c:c%h(10,i-s-1)),B=t<4?(a||n)&&(0==t||t==(A.s<0?3:2)):a>5||5==a&&(4==t||n||6==t&&(r>0?s>0?c/h(10,i-s):0:g[Q-1])%10&1||t==(A.s<0?8:7)),e<1||!g[0])return g.length=0,B?(e-=A.e+1,g[0]=h(10,(7-e%7)%7),A.e=-e||0):g[0]=A.e=0,A;if(0==r?(g.length=Q,o=1,Q--):(g.length=Q+1,o=h(10,7-r),g[Q]=s>0?(c/h(10,i-s)%h(10,s)|0)*o:0),B)for(;;){if(0==Q){for(r=1,s=g[0];s>=10;s/=10)r++;for(s=g[0]+=o,o=1;s>=10;s/=10)o++;r!=o&&(A.e++,g[0]==p&&(g[0]=1));break}if(g[Q]+=o,g[Q]!=p)break;g[Q--]=0,o=1}for(r=g.length;0===g[--r];)g.pop()}return E&&(A.e>l.maxE?(A.d=null,A.e=NaN):A.e<l.minE&&(A.e=0,A.d=[0])),A}function T(A,e,t){if(!A.isFinite())return L(A);var n,i=A.e,r=Y(A.d),s=r.length;return e?(t&&(n=t-s)>0?r=r.charAt(0)+"."+r.slice(1)+b(n):s>1&&(r=r.charAt(0)+"."+r.slice(1)),r=r+(A.e<0?"e":"e+")+A.e):i<0?(r="0."+b(-i-1)+r,t&&(n=t-s)>0&&(r+=b(n))):i>=s?(r+=b(i+1-s),t&&(n=t-i-1)>0&&(r=r+"."+b(n))):((n=i+1)<s&&(r=r.slice(0,n)+"."+r.slice(n)),t&&(n=t-s)>0&&(i+1===s&&(r+="."),r+=b(n))),r}function R(A,e){var t=A[0];for(e*=7;t>=10;t/=10)e++;return e}function G(A,e,t){if(e>m)throw E=!0,t&&(A.precision=t),Error("[DecimalError] Precision limit exceeded");return x(new A(c),e,1,!0)}function S(A,e,t){if(e>F)throw Error("[DecimalError] Precision limit exceeded");return x(new A(g),e,t,!0)}function H(A){var e=A.length-1,t=7*e+1;if(e=A[e]){for(;e%10==0;e/=10)t--;for(e=A[0];e>=10;e/=10)t++}return t}function b(A){for(var e="";A--;)e+="0";return e}function k(A,e,t,n){var i,r=new A(1),s=Math.ceil(n/7+4);for(E=!1;;){if(t%2&&Z((r=r.times(e)).d,s)&&(i=!0),0===(t=w(t/2))){t=r.d.length-1,i&&0===r.d[t]&&++r.d[t];break}Z((e=e.times(e)).d,s)}return E=!0,r}function J(A){return 1&A.d[A.d.length-1]}function j(A,e,t){for(var n,i=new A(e[0]),r=0;++r<e.length;){if(!(n=new A(e[r])).s){i=n;break}i[t](n)&&(i=n)}return i}function z(A,e){var t,n,i,r,s,o,a,B=0,c=0,g=0,Q=A.constructor,l=Q.rounding,u=Q.precision;if(!A.d||!A.d[0]||A.e>17)return new Q(A.d?A.d[0]?A.s<0?0:1/0:1:A.s?A.s<0?0:A:NaN);for(null==e?(E=!1,a=u):a=e,o=new Q(.03125);A.e>-2;)A=A.times(o),g+=5;for(a+=n=Math.log(h(2,g))/Math.LN10*2+5|0,t=r=s=new Q(1),Q.precision=a;;){if(r=x(r.times(A),a,1),t=t.times(++c),Y((o=s.plus(y(r,t,a,1))).d).slice(0,a)===Y(s.d).slice(0,a)){for(i=g;i--;)s=x(s.times(s),a,1);if(null!=e)return Q.precision=u,s;if(!(B<3&&N(s.d,a-n,l,B)))return x(s,Q.precision=u,l,E=!0);Q.precision=a+=10,t=r=o=new Q(1),c=0,B++}s=o}}function v(A,e){var t,n,i,r,s,o,a,B,c,g,Q,l=1,u=A,w=u.d,h=u.constructor,C=h.rounding,d=h.precision;if(u.s<0||!w||!w[0]||!u.e&&1==w[0]&&1==w.length)return new h(w&&!w[0]?-1/0:1!=u.s?NaN:w?0:u);if(null==e?(E=!1,c=d):c=e,h.precision=c+=10,n=(t=Y(w)).charAt(0),!(Math.abs(r=u.e)<15e14))return B=G(h,c+2,d).times(r+""),u=v(new h(n+"."+t.slice(1)),c-10).plus(B),h.precision=d,null==e?x(u,d,C,E=!0):u;for(;n<7&&1!=n||1==n&&t.charAt(1)>3;)n=(t=Y((u=u.times(A)).d)).charAt(0),l++;for(r=u.e,n>1?(u=new h("0."+t),r++):u=new h(n+"."+t.slice(1)),g=u,a=s=u=y(u.minus(1),u.plus(1),c,1),Q=x(u.times(u),c,1),i=3;;){if(s=x(s.times(Q),c,1),Y((B=a.plus(y(s,new h(i),c,1))).d).slice(0,c)===Y(a.d).slice(0,c)){if(a=a.times(2),0!==r&&(a=a.plus(G(h,c+2,d).times(r+""))),a=y(a,new h(l),c,1),null!=e)return h.precision=d,a;if(!N(a.d,c-10,C,o))return x(a,h.precision=d,C,E=!0);h.precision=c+=10,B=s=u=y(g.minus(1),g.plus(1),c,1),Q=x(u.times(u),c,1),i=o=1}a=B,i+=2}}function L(A){return String(A.s*A.s/0)}function P(A,e){var t,n,i;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(t<0&&(t=n),t+=+e.slice(n+1),e=e.substring(0,n)):t<0&&(t=e.length),n=0;48===e.charCodeAt(n);n++);for(i=e.length;48===e.charCodeAt(i-1);--i);if(e=e.slice(n,i)){if(i-=n,A.e=t=t-n-1,A.d=[],n=(t+1)%7,t<0&&(n+=7),n<i){for(n&&A.d.push(+e.slice(0,n)),i-=7;n<i;)A.d.push(+e.slice(n,n+=7));n=7-(e=e.slice(n)).length}else n-=i;for(;n--;)e+="0";A.d.push(+e),E&&(A.e>A.constructor.maxE?(A.d=null,A.e=NaN):A.e<A.constructor.minE&&(A.e=0,A.d=[0]))}else A.e=0,A.d=[0];return A}function O(A,e){var t,n,i,s,o,a,B,c,g;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),M.test(e))return P(A,e)}else if("Infinity"===e||"NaN"===e)return+e||(A.s=NaN),A.e=NaN,A.d=null,A;if(d.test(e))t=16,e=e.toLowerCase();else if(C.test(e))t=2;else{if(!I.test(e))throw Error(l+e);t=8}for((s=e.search(/p/i))>0?(B=+e.slice(s+1),e=e.substring(2,s)):e=e.slice(2),o=(s=e.indexOf("."))>=0,n=A.constructor,o&&(s=(a=(e=e.replace(".","")).length)-s,i=k(n,new n(t),s,2*s)),s=g=(c=U(e,t,p)).length-1;0===c[s];--s)c.pop();return s<0?new n(0*A.s):(A.e=R(c,g),A.d=c,E=!1,o&&(A=y(A,i,4*a)),B&&(A=A.times(Math.abs(B)<54?h(2,B):r.pow(2,B))),E=!0,A)}function W(A,e,t,n,i){var r,s,o,a,B=A.precision,c=Math.ceil(B/7);for(E=!1,a=t.times(t),o=new A(n);;){if(s=y(o.times(a),new A(e++*e++),B,1),o=i?n.plus(s):n.minus(s),n=y(s.times(a),new A(e++*e++),B,1),void 0!==(s=o.plus(n)).d[c]){for(r=c;s.d[r]===o.d[r]&&r--;);if(-1==r)break}r=o,o=n,n=s,s=r}return E=!0,s.d.length=c+1,s}function V(A,e){for(var t=A;--e;)t*=A;return t}function K(A,e){var t,n=e.s<0,i=S(A,A.precision,1),r=i.times(.5);if((e=e.abs()).lte(r))return o=n?4:1,e;if((t=e.divToInt(i)).isZero())o=n?3:2;else{if((e=e.minus(t.times(i))).lte(r))return o=J(t)?n?2:3:n?4:1,e;o=J(t)?n?1:4:n?3:2}return e.minus(i).abs()}function X(A,e,t,n){var i,r,o,a,c,g,Q,E,l,u=A.constructor,w=void 0!==t;if(w?(f(t,1,1e9),void 0===n?n=u.rounding:f(n,0,8)):(t=u.precision,n=u.rounding),A.isFinite()){for(w?(i=2,16==e?t=4*t-3:8==e&&(t=3*t-2)):i=e,(o=(Q=T(A)).indexOf("."))>=0&&(Q=Q.replace(".",""),(l=new u(1)).e=Q.length-o,l.d=U(T(l),10,i),l.e=l.d.length),r=c=(E=U(Q,10,i)).length;0==E[--c];)E.pop();if(E[0]){if(o<0?r--:((A=new u(A)).d=E,A.e=r,E=(A=y(A,l,t,n,0,i)).d,r=A.e,g=s),o=E[t],a=i/2,g=g||void 0!==E[t+1],g=n<4?(void 0!==o||g)&&(0===n||n===(A.s<0?3:2)):o>a||o===a&&(4===n||g||6===n&&1&E[t-1]||n===(A.s<0?8:7)),E.length=t,g)for(;++E[--t]>i-1;)E[t]=0,t||(++r,E.unshift(1));for(c=E.length;!E[c-1];--c);for(o=0,Q="";o<c;o++)Q+=B.charAt(E[o]);if(w){if(c>1)if(16==e||8==e){for(o=16==e?4:3,--c;c%o;c++)Q+="0";for(c=(E=U(Q,i,e)).length;!E[c-1];--c);for(o=1,Q="1.";o<c;o++)Q+=B.charAt(E[o])}else Q=Q.charAt(0)+"."+Q.slice(1);Q=Q+(r<0?"p":"p+")+r}else if(r<0){for(;++r;)Q="0"+Q;Q="0."+Q}else if(++r>c)for(r-=c;r--;)Q+="0";else r<c&&(Q=Q.slice(0,r)+"."+Q.slice(r))}else Q=w?"0p+0":"0";Q=(16==e?"0x":2==e?"0b":8==e?"0o":"")+Q}else Q=L(A);return A.s<0?"-"+Q:Q}function Z(A,e){if(A.length>e)return A.length=e,!0}function _(A){return new this(A).abs()}function q(A){return new this(A).acos()}function $(A){return new this(A).acosh()}function AA(A,e){return new this(A).plus(e)}function eA(A){return new this(A).asin()}function tA(A){return new this(A).asinh()}function nA(A){return new this(A).atan()}function iA(A){return new this(A).atanh()}function rA(A,e){A=new this(A),e=new this(e);var t,n=this.precision,i=this.rounding,r=n+4;return A.s&&e.s?A.d||e.d?!e.d||A.isZero()?(t=e.s<0?S(this,n,i):new this(0)).s=A.s:!A.d||e.isZero()?(t=S(this,r,1).times(.5)).s=A.s:e.s<0?(this.precision=r,this.rounding=1,t=this.atan(y(A,e,r,1)),e=S(this,r,1),this.precision=n,this.rounding=i,t=A.s<0?t.minus(e):t.plus(e)):t=this.atan(y(A,e,r,1)):(t=S(this,r,1).times(e.s>0?.25:.75)).s=A.s:t=new this(NaN),t}function sA(A){return new this(A).cbrt()}function oA(A){return x(A=new this(A),A.e+1,2)}function aA(A,e,t){return new this(A).clamp(e,t)}function BA(A){if(!A||"object"!=typeof A)throw Error("[DecimalError] Object expected");var e,t,n,i=!0===A.defaults,r=["precision",1,1e9,"rounding",0,8,"toExpNeg",-a,0,"toExpPos",0,a,"maxE",0,a,"minE",-a,0,"modulo",0,9];for(e=0;e<r.length;e+=3)if(t=r[e],i&&(this[t]=Q[t]),void 0!==(n=A[t])){if(!(w(n)===n&&n>=r[e+1]&&n<=r[e+2]))throw Error(l+t+": "+n);this[t]=n}if(t="crypto",i&&(this[t]=Q[t]),void 0!==(n=A[t])){if(!0!==n&&!1!==n&&0!==n&&1!==n)throw Error(l+t+": "+n);if(n){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");this[t]=!0}else this[t]=!1}return this}function cA(A){return new this(A).cos()}function gA(A){return new this(A).cosh()}function QA(A,e){return new this(A).div(e)}function EA(A){return new this(A).exp()}function lA(A){return x(A=new this(A),A.e+1,3)}function uA(){var A,e,t=new this(0);for(E=!1,A=0;A<arguments.length;)if((e=new this(arguments[A++])).d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return E=!0,new this(1/0);t=e}return E=!0,t.sqrt()}function wA(A){return A instanceof r||A&&A.toStringTag===u||!1}function hA(A){return new this(A).ln()}function CA(A,e){return new this(A).log(e)}function dA(A){return new this(A).log(2)}function IA(A){return new this(A).log(10)}function MA(){return j(this,arguments,"lt")}function pA(){return j(this,arguments,"gt")}function mA(A,e){return new this(A).mod(e)}function FA(A,e){return new this(A).mul(e)}function DA(A,e){return new this(A).pow(e)}function YA(A){var e,t,n,i,r=0,s=new this(1),o=[];if(void 0===A?A=this.precision:f(A,1,1e9),n=Math.ceil(A/7),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(n));r<n;)(i=e[r])>=429e7?e[r]=crypto.getRandomValues(new Uint32Array(1))[0]:o[r++]=i%1e7;else{if(!crypto.randomBytes)throw Error("[DecimalError] crypto unavailable");for(e=crypto.randomBytes(n*=4);r<n;)(i=e[r]+(e[r+1]<<8)+(e[r+2]<<16)+((127&e[r+3])<<24))>=214e7?crypto.randomBytes(4).copy(e,r):(o.push(i%1e7),r+=4);r=n/4}else for(;r<n;)o[r++]=1e7*Math.random()|0;for(A%=7,(n=o[--r])&&A&&(i=h(10,7-A),o[r]=(n/i|0)*i);0===o[r];r--)o.pop();if(r<0)t=0,o=[0];else{for(t=-1;0===o[0];t-=7)o.shift();for(n=1,i=o[0];i>=10;i/=10)n++;n<7&&(t-=7-n)}return s.e=t,s.d=o,s}function fA(A){return x(A=new this(A),A.e+1,this.rounding)}function NA(A){return(A=new this(A)).d?A.d[0]?A.s:0*A.s:A.s||NaN}function UA(A){return new this(A).sin()}function yA(A){return new this(A).sinh()}function xA(A){return new this(A).sqrt()}function TA(A,e){return new this(A).sub(e)}function RA(){var A=0,e=arguments,t=new this(e[A]);for(E=!1;t.s&&++A<e.length;)t=t.plus(e[A]);return E=!0,x(t,this.precision,this.rounding)}function GA(A){return new this(A).tan()}function SA(A){return new this(A).tanh()}function HA(A){return x(A=new this(A),A.e+1,1)}(r=function A(e){var t,n,i;function r(A){var e,t,n,i=this;if(!(i instanceof r))return new r(A);if(i.constructor=r,wA(A))return i.s=A.s,void(E?!A.d||A.e>r.maxE?(i.e=NaN,i.d=null):A.e<r.minE?(i.e=0,i.d=[0]):(i.e=A.e,i.d=A.d.slice()):(i.e=A.e,i.d=A.d?A.d.slice():A.d));if("number"===(n=typeof A)){if(0===A)return i.s=1/A<0?-1:1,i.e=0,void(i.d=[0]);if(A<0?(A=-A,i.s=-1):i.s=1,A===~~A&&A<1e7){for(e=0,t=A;t>=10;t/=10)e++;return void(E?e>r.maxE?(i.e=NaN,i.d=null):e<r.minE?(i.e=0,i.d=[0]):(i.e=e,i.d=[A]):(i.e=e,i.d=[A]))}return 0*A!=0?(A||(i.s=NaN),i.e=NaN,void(i.d=null)):P(i,A.toString())}if("string"!==n)throw Error(l+A);return 45===(t=A.charCodeAt(0))?(A=A.slice(1),i.s=-1):(43===t&&(A=A.slice(1)),i.s=1),M.test(A)?P(i,A):O(i,A)}if(r.prototype=D,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=BA,r.clone=A,r.isDecimal=wA,r.abs=_,r.acos=q,r.acosh=$,r.add=AA,r.asin=eA,r.asinh=tA,r.atan=nA,r.atanh=iA,r.atan2=rA,r.cbrt=sA,r.ceil=oA,r.clamp=aA,r.cos=cA,r.cosh=gA,r.div=QA,r.exp=EA,r.floor=lA,r.hypot=uA,r.ln=hA,r.log=CA,r.log10=IA,r.log2=dA,r.max=MA,r.min=pA,r.mod=mA,r.mul=FA,r.pow=DA,r.random=YA,r.round=fA,r.sign=NA,r.sin=UA,r.sinh=yA,r.sqrt=xA,r.sub=TA,r.sum=RA,r.tan=GA,r.tanh=SA,r.trunc=HA,void 0===e&&(e={}),e&&!0!==e.defaults)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<i.length;)e.hasOwnProperty(n=i[t++])||(e[n]=this[n]);return r.config(e),r}(Q)).prototype.constructor=r,r.default=r.Decimal=r,c=new r(c),g=new r(g),void 0===(n=function(){return r}.call(e,t,e,A))||(A.exports=n)}()},function(A,e){A.exports=function A(e,t){"use strict";var n,i,r=/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,s=/(^[ ]*|[ ]*$)/g,o=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,a=/^0x[0-9a-f]+$/i,B=/^0/,c=function(e){return A.insensitive&&(""+e).toLowerCase()||""+e},g=c(e).replace(s,"")||"",Q=c(t).replace(s,"")||"",E=g.replace(r,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),l=Q.replace(r,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),u=parseInt(g.match(a),16)||1!==E.length&&g.match(o)&&Date.parse(g),w=parseInt(Q.match(a),16)||u&&Q.match(o)&&Date.parse(Q)||null;if(w){if(u<w)return-1;if(u>w)return 1}for(var h=0,C=Math.max(E.length,l.length);h<C;h++){if(n=!(E[h]||"").match(B)&&parseFloat(E[h])||E[h]||0,i=!(l[h]||"").match(B)&&parseFloat(l[h])||l[h]||0,isNaN(n)!==isNaN(i))return isNaN(n)?1:-1;if(typeof n!=typeof i&&(n+="",i+=""),n<i)return-1;if(n>i)return 1}return 0}},function(A,e,t){"use strict";var n,i="object"==typeof Reflect?Reflect:null,r=i&&"function"==typeof i.apply?i.apply:function(A,e,t){return Function.prototype.apply.call(A,e,t)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(A){return Object.getOwnPropertyNames(A).concat(Object.getOwnPropertySymbols(A))}:function(A){return Object.getOwnPropertyNames(A)};var s=Number.isNaN||function(A){return A!=A};function o(){o.init.call(this)}A.exports=o,A.exports.once=function(A,e){return new Promise((function(t,n){function i(t){A.removeListener(e,r),n(t)}function r(){"function"==typeof A.removeListener&&A.removeListener("error",i),t([].slice.call(arguments))}h(A,e,r,{once:!0}),"error"!==e&&function(A,e,t){"function"==typeof A.on&&h(A,"error",e,t)}(A,i,{once:!0})}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var a=10;function B(A){if("function"!=typeof A)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof A)}function c(A){return void 0===A._maxListeners?o.defaultMaxListeners:A._maxListeners}function g(A,e,t,n){var i,r,s,o;if(B(t),void 0===(r=A._events)?(r=A._events=Object.create(null),A._eventsCount=0):(void 0!==r.newListener&&(A.emit("newListener",e,t.listener?t.listener:t),r=A._events),s=r[e]),void 0===s)s=r[e]=t,++A._eventsCount;else if("function"==typeof s?s=r[e]=n?[t,s]:[s,t]:n?s.unshift(t):s.push(t),(i=c(A))>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=A,a.type=e,a.count=s.length,o=a,console&&console.warn&&console.warn(o)}return A}function Q(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function E(A,e,t){var n={fired:!1,wrapFn:void 0,target:A,type:e,listener:t},i=Q.bind(n);return i.listener=t,n.wrapFn=i,i}function l(A,e,t){var n=A._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?t?[i.listener||i]:[i]:t?function(A){for(var e=new Array(A.length),t=0;t<e.length;++t)e[t]=A[t].listener||A[t];return e}(i):w(i,i.length)}function u(A){var e=this._events;if(void 0!==e){var t=e[A];if("function"==typeof t)return 1;if(void 0!==t)return t.length}return 0}function w(A,e){for(var t=new Array(e),n=0;n<e;++n)t[n]=A[n];return t}function h(A,e,t,n){if("function"==typeof A.on)n.once?A.once(e,t):A.on(e,t);else{if("function"!=typeof A.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof A);A.addEventListener(e,(function i(r){n.once&&A.removeEventListener(e,i),t(r)}))}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(A){if("number"!=typeof A||A<0||s(A))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+A+".");a=A}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(A){if("number"!=typeof A||A<0||s(A))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+A+".");return this._maxListeners=A,this},o.prototype.getMaxListeners=function(){return c(this)},o.prototype.emit=function(A){for(var e=[],t=1;t<arguments.length;t++)e.push(arguments[t]);var n="error"===A,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var a=i[A];if(void 0===a)return!1;if("function"==typeof a)r(a,this,e);else{var B=a.length,c=w(a,B);for(t=0;t<B;++t)r(c[t],this,e)}return!0},o.prototype.addListener=function(A,e){return g(this,A,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(A,e){return g(this,A,e,!0)},o.prototype.once=function(A,e){return B(e),this.on(A,E(this,A,e)),this},o.prototype.prependOnceListener=function(A,e){return B(e),this.prependListener(A,E(this,A,e)),this},o.prototype.removeListener=function(A,e){var t,n,i,r,s;if(B(e),void 0===(n=this._events))return this;if(void 0===(t=n[A]))return this;if(t===e||t.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete n[A],n.removeListener&&this.emit("removeListener",A,t.listener||e));else if("function"!=typeof t){for(i=-1,r=t.length-1;r>=0;r--)if(t[r]===e||t[r].listener===e){s=t[r].listener,i=r;break}if(i<0)return this;0===i?t.shift():function(A,e){for(;e+1<A.length;e++)A[e]=A[e+1];A.pop()}(t,i),1===t.length&&(n[A]=t[0]),void 0!==n.removeListener&&this.emit("removeListener",A,s||e)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(A){var e,t,n;if(void 0===(t=this._events))return this;if(void 0===t.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==t[A]&&(0==--this._eventsCount?this._events=Object.create(null):delete t[A]),this;if(0===arguments.length){var i,r=Object.keys(t);for(n=0;n<r.length;++n)"removeListener"!==(i=r[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=t[A]))this.removeListener(A,e);else if(void 0!==e)for(n=e.length-1;n>=0;n--)this.removeListener(A,e[n]);return this},o.prototype.listeners=function(A){return l(this,A,!0)},o.prototype.rawListeners=function(A){return l(this,A,!1)},o.listenerCount=function(A,e){return"function"==typeof A.listenerCount?A.listenerCount(e):u.call(A,e)},o.prototype.listenerCount=u,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(A,e){A.exports={SPRITE:"sprite",STAGE:"stage"}},function(A,e){function t(A){return{prev:null,next:null,data:A}}function n(A,e,t){var n;return null!==r?(n=r,r=r.cursor,n.prev=e,n.next=t,n.cursor=A.cursor):n={prev:e,next:t,cursor:A.cursor},A.cursor=n,n}function i(A){var e=A.cursor;A.cursor=e.cursor,e.prev=null,e.next=null,e.cursor=r,r=e}var r=null,s=function(){this.cursor=null,this.head=null,this.tail=null};s.createItem=t,s.prototype.createItem=t,s.prototype.updateCursors=function(A,e,t,n){for(var i=this.cursor;null!==i;)i.prev===A&&(i.prev=e),i.next===t&&(i.next=n),i=i.cursor},s.prototype.getSize=function(){for(var A=0,e=this.head;e;)A++,e=e.next;return A},s.prototype.fromArray=function(A){var e=null;this.head=null;for(var n=0;n<A.length;n++){var i=t(A[n]);null!==e?e.next=i:this.head=i,i.prev=e,e=i}return this.tail=e,this},s.prototype.toArray=function(){for(var A=this.head,e=[];A;)e.push(A.data),A=A.next;return e},s.prototype.toJSON=s.prototype.toArray,s.prototype.isEmpty=function(){return null===this.head},s.prototype.first=function(){return this.head&&this.head.data},s.prototype.last=function(){return this.tail&&this.tail.data},s.prototype.each=function(A,e){var t;void 0===e&&(e=this);for(var r=n(this,null,this.head);null!==r.next;)t=r.next,r.next=t.next,A.call(e,t.data,t,this);i(this)},s.prototype.forEach=s.prototype.each,s.prototype.eachRight=function(A,e){var t;void 0===e&&(e=this);for(var r=n(this,this.tail,null);null!==r.prev;)t=r.prev,r.prev=t.prev,A.call(e,t.data,t,this);i(this)},s.prototype.forEachRight=s.prototype.eachRight,s.prototype.reduce=function(A,e,t){var r;void 0===t&&(t=this);for(var s=n(this,null,this.head),o=e;null!==s.next;)r=s.next,s.next=r.next,o=A.call(t,o,r.data,r,this);return i(this),o},s.prototype.reduceRight=function(A,e,t){var r;void 0===t&&(t=this);for(var s=n(this,this.tail,null),o=e;null!==s.prev;)r=s.prev,s.prev=r.prev,o=A.call(t,o,r.data,r,this);return i(this),o},s.prototype.nextUntil=function(A,e,t){if(null!==A){var r;void 0===t&&(t=this);for(var s=n(this,null,A);null!==s.next&&(r=s.next,s.next=r.next,!e.call(t,r.data,r,this)););i(this)}},s.prototype.prevUntil=function(A,e,t){if(null!==A){var r;void 0===t&&(t=this);for(var s=n(this,A,null);null!==s.prev&&(r=s.prev,s.prev=r.prev,!e.call(t,r.data,r,this)););i(this)}},s.prototype.some=function(A,e){var t=this.head;for(void 0===e&&(e=this);null!==t;){if(A.call(e,t.data,t,this))return!0;t=t.next}return!1},s.prototype.map=function(A,e){var t=new s,n=this.head;for(void 0===e&&(e=this);null!==n;)t.appendData(A.call(e,n.data,n,this)),n=n.next;return t},s.prototype.filter=function(A,e){var t=new s,n=this.head;for(void 0===e&&(e=this);null!==n;)A.call(e,n.data,n,this)&&t.appendData(n.data),n=n.next;return t},s.prototype.clear=function(){this.head=null,this.tail=null},s.prototype.copy=function(){for(var A=new s,e=this.head;null!==e;)A.insert(t(e.data)),e=e.next;return A},s.prototype.prepend=function(A){return this.updateCursors(null,A,this.head,A),null!==this.head?(this.head.prev=A,A.next=this.head):this.tail=A,this.head=A,this},s.prototype.prependData=function(A){return this.prepend(t(A))},s.prototype.append=function(A){return this.insert(A)},s.prototype.appendData=function(A){return this.insert(t(A))},s.prototype.insert=function(A,e){if(null!=e)if(this.updateCursors(e.prev,A,e,A),null===e.prev){if(this.head!==e)throw new Error("before doesn't belong to list");this.head=A,e.prev=A,A.next=e,this.updateCursors(null,A)}else e.prev.next=A,A.prev=e.prev,e.prev=A,A.next=e;else this.updateCursors(this.tail,A,null,A),null!==this.tail?(this.tail.next=A,A.prev=this.tail):this.head=A,this.tail=A;return this},s.prototype.insertData=function(A,e){return this.insert(t(A),e)},s.prototype.remove=function(A){if(this.updateCursors(A,A.prev,A,A.next),null!==A.prev)A.prev.next=A.next;else{if(this.head!==A)throw new Error("item doesn't belong to list");this.head=A.next}if(null!==A.next)A.next.prev=A.prev;else{if(this.tail!==A)throw new Error("item doesn't belong to list");this.tail=A.prev}return A.prev=null,A.next=null,A},s.prototype.push=function(A){this.insert(t(A))},s.prototype.pop=function(){if(null!==this.tail)return this.remove(this.tail)},s.prototype.unshift=function(A){this.prepend(t(A))},s.prototype.shift=function(){if(null!==this.head)return this.remove(this.head)},s.prototype.prependList=function(A){return this.insertList(A,this.head)},s.prototype.appendList=function(A){return this.insertList(A)},s.prototype.insertList=function(A,e){return null===A.head||(null!=e?(this.updateCursors(e.prev,A.tail,e,A.head),null!==e.prev?(e.prev.next=A.head,A.head.prev=e.prev):this.head=A.head,e.prev=A.tail,A.tail.next=e):(this.updateCursors(this.tail,A.tail,null,A.head),null!==this.tail?(this.tail.next=A.head,A.head.prev=this.tail):this.head=A.head,this.tail=A.tail),A.head=null,A.tail=null),this},s.prototype.replace=function(A,e){"head"in e?this.insertList(e,A):this.insert(e,A),this.remove(A)},A.exports=s},function(A,e,t){const n=t(20),i=t(65),r=t(564);A.exports=class{constructor(A,e){this._renderer=e,this._id=A,this._rotationCenter=n.v3.create(0,0),this._texture=null,this._uniforms={u_skinSize:[0,0],u_skin:null},this._silhouette=new r,this.private=!1}dispose(){this._id=i.ID_NONE}get id(){return this._id}get rotationCenter(){return this._rotationCenter}get size(){return[0,0]}useNearest(A,e){return!0}calculateRotationCenter(){return[this.size[0]/2,this.size[1]/2]}getTexture(A,e){return this._emptyImageTexture}getFenceBounds(A,e){return A.getAABB(e)}getUniforms(A){return this._uniforms.u_skin=this.getTexture(A),this._uniforms.u_skinSize=this.size,this._uniforms}emitWasAltered(){this._renderer.skinWasAltered(this)}updateSilhouette(){this._silhouette.unlazy()}_setTexture(A){const e=this._renderer.gl;e.bindTexture(e.TEXTURE_2D,this._texture),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,A),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),this._silhouette.update(A)}setEmptyImageData(){if(this._texture=null,!this._emptyImageData){this._emptyImageData=new ImageData(1,1);const A=this._renderer.gl,e={auto:!0,wrap:A.CLAMP_TO_EDGE,src:this._emptyImageData};this._emptyImageTexture=n.createTexture(A,e)}this._rotationCenter[0]=0,this._rotationCenter[1]=0,this._silhouette.update(this._emptyImageData),this.emitWasAltered()}isTouchingNearest(A){return this._silhouette.isTouchingNearest(A)}isTouchingLinear(A){return this._silhouette.isTouchingLinear(A)}}},function(A,e,t){t(69),A.exports={TextEncoder:TextEncoder,TextDecoder:TextDecoder}},function(module,exports,__webpack_require__){(function(process,global){var __WEBPACK_AMD_DEFINE_RESULT__;
/**
* [js-md5]{@link https://github.com/emn178/js-md5}
*
* @namespace md5
* @version 0.7.3
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2014-2017
* @license MIT
*/!function(){"use strict";var ERROR="input is invalid type",WINDOW="object"==typeof window,root=WINDOW?window:{};root.JS_MD5_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"==typeof self,NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"==typeof module&&module.exports,AMD=__webpack_require__(32),ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[128,32768,8388608,-2147483648],SHIFT=[0,8,16,24],OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"],BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer),blocks=new Uint32Array(buffer)}!root.JS_MD5_NO_NODE_JS&&Array.isArray||(Array.isArray=function(A){return"[object Array]"===Object.prototype.toString.call(A)}),!ARRAY_BUFFER||!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(A){return"object"==typeof A&&A.buffer&&A.buffer.constructor===ArrayBuffer});var createOutputMethod=function(A){return function(e){return new Md5(!0).update(e)[A]()}},createMethod=function(){var A=createOutputMethod("hex");NODE_JS&&(A=nodeWrap(A)),A.create=function(){return new Md5},A.update=function(e){return A.create().update(e)};for(var e=0;e<OUTPUT_TYPES.length;++e){var t=OUTPUT_TYPES[e];A[t]=createOutputMethod(t)}return A},nodeWrap=function(method){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),nodeMethod=function(A){if("string"==typeof A)return crypto.createHash("md5").update(A,"utf8").digest("hex");if(null==A)throw ERROR;return A.constructor===ArrayBuffer&&(A=new Uint8Array(A)),Array.isArray(A)||ArrayBuffer.isView(A)||A.constructor===Buffer?crypto.createHash("md5").update(new Buffer(A)).digest("hex"):method(A)};return nodeMethod};function Md5(A){if(A)blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks,this.buffer8=buffer8;else if(ARRAY_BUFFER){var e=new ArrayBuffer(68);this.buffer8=new Uint8Array(e),this.blocks=new Uint32Array(e)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Md5.prototype.update=function(A){if(!this.finalized){var e,t=typeof A;if("string"!==t){if("object"!==t)throw ERROR;if(null===A)throw ERROR;if(ARRAY_BUFFER&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!(Array.isArray(A)||ARRAY_BUFFER&&ArrayBuffer.isView(A)))throw ERROR;e=!0}for(var n,i,r=0,s=A.length,o=this.blocks,a=this.buffer8;r<s;){if(this.hashed&&(this.hashed=!1,o[0]=o[16],o[16]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=o[11]=o[12]=o[13]=o[14]=o[15]=0),e)if(ARRAY_BUFFER)for(i=this.start;r<s&&i<64;++r)a[i++]=A[r];else for(i=this.start;r<s&&i<64;++r)o[i>>2]|=A[r]<<SHIFT[3&i++];else if(ARRAY_BUFFER)for(i=this.start;r<s&&i<64;++r)(n=A.charCodeAt(r))<128?a[i++]=n:n<2048?(a[i++]=192|n>>6,a[i++]=128|63&n):n<55296||n>=57344?(a[i++]=224|n>>12,a[i++]=128|n>>6&63,a[i++]=128|63&n):(n=65536+((1023&n)<<10|1023&A.charCodeAt(++r)),a[i++]=240|n>>18,a[i++]=128|n>>12&63,a[i++]=128|n>>6&63,a[i++]=128|63&n);else for(i=this.start;r<s&&i<64;++r)(n=A.charCodeAt(r))<128?o[i>>2]|=n<<SHIFT[3&i++]:n<2048?(o[i>>2]|=(192|n>>6)<<SHIFT[3&i++],o[i>>2]|=(128|63&n)<<SHIFT[3&i++]):n<55296||n>=57344?(o[i>>2]|=(224|n>>12)<<SHIFT[3&i++],o[i>>2]|=(128|n>>6&63)<<SHIFT[3&i++],o[i>>2]|=(128|63&n)<<SHIFT[3&i++]):(n=65536+((1023&n)<<10|1023&A.charCodeAt(++r)),o[i>>2]|=(240|n>>18)<<SHIFT[3&i++],o[i>>2]|=(128|n>>12&63)<<SHIFT[3&i++],o[i>>2]|=(128|n>>6&63)<<SHIFT[3&i++],o[i>>2]|=(128|63&n)<<SHIFT[3&i++]);this.lastByteIndex=i,this.bytes+=i-this.start,i>=64?(this.start=i-64,this.hash(),this.hashed=!0):this.start=i}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var A=this.blocks,e=this.lastByteIndex;A[e>>2]|=EXTRA[3&e],e>=56&&(this.hashed||this.hash(),A[0]=A[16],A[16]=A[1]=A[2]=A[3]=A[4]=A[5]=A[6]=A[7]=A[8]=A[9]=A[10]=A[11]=A[12]=A[13]=A[14]=A[15]=0),A[14]=this.bytes<<3,A[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var A,e,t,n,i,r,s=this.blocks;this.first?e=((e=((A=((A=s[0]-680876937)<<7|A>>>25)-271733879<<0)^(t=((t=(-271733879^(n=((n=(-1732584194^2004318071&A)+s[1]-117830708)<<12|n>>>20)+A<<0)&(-271733879^A))+s[2]-1126478375)<<17|t>>>15)+n<<0)&(n^A))+s[3]-1316259209)<<22|e>>>10)+t<<0:(A=this.h0,e=this.h1,t=this.h2,e=((e+=((A=((A+=((n=this.h3)^e&(t^n))+s[0]-680876936)<<7|A>>>25)+e<<0)^(t=((t+=(e^(n=((n+=(t^A&(e^t))+s[1]-389564586)<<12|n>>>20)+A<<0)&(A^e))+s[2]+606105819)<<17|t>>>15)+n<<0)&(n^A))+s[3]-1044525330)<<22|e>>>10)+t<<0),e=((e+=((A=((A+=(n^e&(t^n))+s[4]-176418897)<<7|A>>>25)+e<<0)^(t=((t+=(e^(n=((n+=(t^A&(e^t))+s[5]+1200080426)<<12|n>>>20)+A<<0)&(A^e))+s[6]-1473231341)<<17|t>>>15)+n<<0)&(n^A))+s[7]-45705983)<<22|e>>>10)+t<<0,e=((e+=((A=((A+=(n^e&(t^n))+s[8]+1770035416)<<7|A>>>25)+e<<0)^(t=((t+=(e^(n=((n+=(t^A&(e^t))+s[9]-1958414417)<<12|n>>>20)+A<<0)&(A^e))+s[10]-42063)<<17|t>>>15)+n<<0)&(n^A))+s[11]-1990404162)<<22|e>>>10)+t<<0,e=((e+=((A=((A+=(n^e&(t^n))+s[12]+1804603682)<<7|A>>>25)+e<<0)^(t=((t+=(e^(n=((n+=(t^A&(e^t))+s[13]-40341101)<<12|n>>>20)+A<<0)&(A^e))+s[14]-1502002290)<<17|t>>>15)+n<<0)&(n^A))+s[15]+1236535329)<<22|e>>>10)+t<<0,e=((e+=((n=((n+=(e^t&((A=((A+=(t^n&(e^t))+s[1]-165796510)<<5|A>>>27)+e<<0)^e))+s[6]-1069501632)<<9|n>>>23)+A<<0)^A&((t=((t+=(A^e&(n^A))+s[11]+643717713)<<14|t>>>18)+n<<0)^n))+s[0]-373897302)<<20|e>>>12)+t<<0,e=((e+=((n=((n+=(e^t&((A=((A+=(t^n&(e^t))+s[5]-701558691)<<5|A>>>27)+e<<0)^e))+s[10]+38016083)<<9|n>>>23)+A<<0)^A&((t=((t+=(A^e&(n^A))+s[15]-660478335)<<14|t>>>18)+n<<0)^n))+s[4]-405537848)<<20|e>>>12)+t<<0,e=((e+=((n=((n+=(e^t&((A=((A+=(t^n&(e^t))+s[9]+568446438)<<5|A>>>27)+e<<0)^e))+s[14]-1019803690)<<9|n>>>23)+A<<0)^A&((t=((t+=(A^e&(n^A))+s[3]-187363961)<<14|t>>>18)+n<<0)^n))+s[8]+1163531501)<<20|e>>>12)+t<<0,e=((e+=((n=((n+=(e^t&((A=((A+=(t^n&(e^t))+s[13]-1444681467)<<5|A>>>27)+e<<0)^e))+s[2]-51403784)<<9|n>>>23)+A<<0)^A&((t=((t+=(A^e&(n^A))+s[7]+1735328473)<<14|t>>>18)+n<<0)^n))+s[12]-1926607734)<<20|e>>>12)+t<<0,e=((e+=((r=(n=((n+=((i=e^t)^(A=((A+=(i^n)+s[5]-378558)<<4|A>>>28)+e<<0))+s[8]-2022574463)<<11|n>>>21)+A<<0)^A)^(t=((t+=(r^e)+s[11]+1839030562)<<16|t>>>16)+n<<0))+s[14]-35309556)<<23|e>>>9)+t<<0,e=((e+=((r=(n=((n+=((i=e^t)^(A=((A+=(i^n)+s[1]-1530992060)<<4|A>>>28)+e<<0))+s[4]+1272893353)<<11|n>>>21)+A<<0)^A)^(t=((t+=(r^e)+s[7]-155497632)<<16|t>>>16)+n<<0))+s[10]-1094730640)<<23|e>>>9)+t<<0,e=((e+=((r=(n=((n+=((i=e^t)^(A=((A+=(i^n)+s[13]+681279174)<<4|A>>>28)+e<<0))+s[0]-358537222)<<11|n>>>21)+A<<0)^A)^(t=((t+=(r^e)+s[3]-722521979)<<16|t>>>16)+n<<0))+s[6]+76029189)<<23|e>>>9)+t<<0,e=((e+=((r=(n=((n+=((i=e^t)^(A=((A+=(i^n)+s[9]-640364487)<<4|A>>>28)+e<<0))+s[12]-421815835)<<11|n>>>21)+A<<0)^A)^(t=((t+=(r^e)+s[15]+530742520)<<16|t>>>16)+n<<0))+s[2]-995338651)<<23|e>>>9)+t<<0,e=((e+=((n=((n+=(e^((A=((A+=(t^(e|~n))+s[0]-198630844)<<6|A>>>26)+e<<0)|~t))+s[7]+1126891415)<<10|n>>>22)+A<<0)^((t=((t+=(A^(n|~e))+s[14]-1416354905)<<15|t>>>17)+n<<0)|~A))+s[5]-57434055)<<21|e>>>11)+t<<0,e=((e+=((n=((n+=(e^((A=((A+=(t^(e|~n))+s[12]+1700485571)<<6|A>>>26)+e<<0)|~t))+s[3]-1894986606)<<10|n>>>22)+A<<0)^((t=((t+=(A^(n|~e))+s[10]-1051523)<<15|t>>>17)+n<<0)|~A))+s[1]-2054922799)<<21|e>>>11)+t<<0,e=((e+=((n=((n+=(e^((A=((A+=(t^(e|~n))+s[8]+1873313359)<<6|A>>>26)+e<<0)|~t))+s[15]-30611744)<<10|n>>>22)+A<<0)^((t=((t+=(A^(n|~e))+s[6]-1560198380)<<15|t>>>17)+n<<0)|~A))+s[13]+1309151649)<<21|e>>>11)+t<<0,e=((e+=((n=((n+=(e^((A=((A+=(t^(e|~n))+s[4]-145523070)<<6|A>>>26)+e<<0)|~t))+s[11]-1120210379)<<10|n>>>22)+A<<0)^((t=((t+=(A^(n|~e))+s[2]+718787259)<<15|t>>>17)+n<<0)|~A))+s[9]-343485551)<<21|e>>>11)+t<<0,this.first?(this.h0=A+1732584193<<0,this.h1=e-271733879<<0,this.h2=t-1732584194<<0,this.h3=n+271733878<<0,this.first=!1):(this.h0=this.h0+A<<0,this.h1=this.h1+e<<0,this.h2=this.h2+t<<0,this.h3=this.h3+n<<0)},Md5.prototype.hex=function(){this.finalize();var A=this.h0,e=this.h1,t=this.h2,n=this.h3;return HEX_CHARS[A>>4&15]+HEX_CHARS[15&A]+HEX_CHARS[A>>12&15]+HEX_CHARS[A>>8&15]+HEX_CHARS[A>>20&15]+HEX_CHARS[A>>16&15]+HEX_CHARS[A>>28&15]+HEX_CHARS[A>>24&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(){this.finalize();var A=this.h0,e=this.h1,t=this.h2,n=this.h3;return[255&A,A>>8&255,A>>16&255,A>>24&255,255&e,e>>8&255,e>>16&255,e>>24&255,255&t,t>>8&255,t>>16&255,t>>24&255,255&n,n>>8&255,n>>16&255,n>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var A=new ArrayBuffer(16),e=new Uint32Array(A);return e[0]=this.h0,e[1]=this.h1,e[2]=this.h2,e[3]=this.h3,A},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var A,e,t,n="",i=this.array(),r=0;r<15;)A=i[r++],e=i[r++],t=i[r++],n+=BASE64_ENCODE_CHAR[A>>>2]+BASE64_ENCODE_CHAR[63&(A<<4|e>>>4)]+BASE64_ENCODE_CHAR[63&(e<<2|t>>>6)]+BASE64_ENCODE_CHAR[63&t];return A=i[r],n+=BASE64_ENCODE_CHAR[A>>>2]+BASE64_ENCODE_CHAR[A<<4&63]+"=="};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))}()}).call(this,__webpack_require__(50),__webpack_require__(19))},function(A,e,t){(function(e,t,n,i){A.exports=function A(e,t,n){function i(s,o){if(!t[s]){if(!e[s]){if(r)return r(s,!0);var a=new Error("Cannot find module '"+s+"'");throw a.code="MODULE_NOT_FOUND",a}var B=t[s]={exports:{}};e[s][0].call(B.exports,(function(A){return i(e[s][1][A]||A)}),B,B.exports,A,e,t,n)}return t[s].exports}for(var r=!1,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(A,e,t){"use strict";var n=A("./utils"),i=A("./support"),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";t.encode=function(A){for(var e,t,i,s,o,a,B,c=[],g=0,Q=A.length,E=Q,l="string"!==n.getTypeOf(A);g<A.length;)E=Q-g,i=l?(e=A[g++],t=g<Q?A[g++]:0,g<Q?A[g++]:0):(e=A.charCodeAt(g++),t=g<Q?A.charCodeAt(g++):0,g<Q?A.charCodeAt(g++):0),s=e>>2,o=(3&e)<<4|t>>4,a=1<E?(15&t)<<2|i>>6:64,B=2<E?63&i:64,c.push(r.charAt(s)+r.charAt(o)+r.charAt(a)+r.charAt(B));return c.join("")},t.decode=function(A){var e,t,n,s,o,a,B=0,c=0,g="data:";if(A.substr(0,g.length)===g)throw new Error("Invalid base64 input, it looks like a data url.");var Q,E=3*(A=A.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(A.charAt(A.length-1)===r.charAt(64)&&E--,A.charAt(A.length-2)===r.charAt(64)&&E--,E%1!=0)throw new Error("Invalid base64 input, bad content length.");for(Q=i.uint8array?new Uint8Array(0|E):new Array(0|E);B<A.length;)e=r.indexOf(A.charAt(B++))<<2|(s=r.indexOf(A.charAt(B++)))>>4,t=(15&s)<<4|(o=r.indexOf(A.charAt(B++)))>>2,n=(3&o)<<6|(a=r.indexOf(A.charAt(B++))),Q[c++]=e,64!==o&&(Q[c++]=t),64!==a&&(Q[c++]=n);return Q}},{"./support":30,"./utils":32}],2:[function(A,e,t){"use strict";var n=A("./external"),i=A("./stream/DataWorker"),r=A("./stream/Crc32Probe"),s=A("./stream/DataLengthProbe");function o(A,e,t,n,i){this.compressedSize=A,this.uncompressedSize=e,this.crc32=t,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var A=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")),e=this;return A.on("end",(function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),A},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(A,e,t){return A.pipe(new r).pipe(new s("uncompressedSize")).pipe(e.compressWorker(t)).pipe(new s("compressedSize")).withStreamInfo("compression",e)},e.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(A,e,t){"use strict";var n=A("./stream/GenericWorker");t.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},t.DEFLATE=A("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(A,e,t){"use strict";var n=A("./utils"),i=function(){for(var A,e=[],t=0;t<256;t++){A=t;for(var n=0;n<8;n++)A=1&A?3988292384^A>>>1:A>>>1;e[t]=A}return e}();e.exports=function(A,e){return void 0!==A&&A.length?"string"!==n.getTypeOf(A)?function(A,e,t,n){var r=i,s=0+t;A^=-1;for(var o=0;o<s;o++)A=A>>>8^r[255&(A^e[o])];return-1^A}(0|e,A,A.length):function(A,e,t,n){var r=i,s=0+t;A^=-1;for(var o=0;o<s;o++)A=A>>>8^r[255&(A^e.charCodeAt(o))];return-1^A}(0|e,A,A.length):0}},{"./utils":32}],5:[function(A,e,t){"use strict";t.base64=!1,t.binary=!1,t.dir=!1,t.createFolders=!0,t.date=null,t.compression=null,t.compressionOptions=null,t.comment=null,t.unixPermissions=null,t.dosPermissions=null},{}],6:[function(A,e,t){"use strict";var n;n="undefined"!=typeof Promise?Promise:A("lie"),e.exports={Promise:n}},{lie:37}],7:[function(A,e,t){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=A("pako"),r=A("./utils"),s=A("./stream/GenericWorker"),o=n?"uint8array":"array";function a(A,e){s.call(this,"FlateWorker/"+A),this._pako=null,this._pakoAction=A,this._pakoOptions=e,this.meta={}}t.magic="\b\0",r.inherits(a,s),a.prototype.processChunk=function(A){this.meta=A.meta,null===this._pako&&this._createPako(),this._pako.push(r.transformTo(o,A.data),!1)},a.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},a.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},a.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var A=this;this._pako.onData=function(e){A.push({data:e,meta:A.meta})}},t.compressWorker=function(A){return new a("Deflate",A)},t.uncompressWorker=function(){return new a("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(A,e,t){"use strict";function n(A,e){var t,n="";for(t=0;t<e;t++)n+=String.fromCharCode(255&A),A>>>=8;return n}function i(A,e,t,i,s,c){var g,Q,E=A.file,l=A.compression,u=c!==o.utf8encode,w=r.transformTo("string",c(E.name)),h=r.transformTo("string",o.utf8encode(E.name)),C=E.comment,d=r.transformTo("string",c(C)),I=r.transformTo("string",o.utf8encode(C)),M=h.length!==E.name.length,p=I.length!==C.length,m="",F="",D="",Y=E.dir,f=E.date,N={crc32:0,compressedSize:0,uncompressedSize:0};e&&!t||(N.crc32=A.crc32,N.compressedSize=A.compressedSize,N.uncompressedSize=A.uncompressedSize);var U=0;e&&(U|=8),u||!M&&!p||(U|=2048);var y=0,x=0;Y&&(y|=16),"UNIX"===s?(x=798,y|=function(A,e){var t=A;return A||(t=e?16893:33204),(65535&t)<<16}(E.unixPermissions,Y)):(x=20,y|=function(A){return 63&(A||0)}(E.dosPermissions)),g=f.getUTCHours(),g<<=6,g|=f.getUTCMinutes(),g<<=5,g|=f.getUTCSeconds()/2,Q=f.getUTCFullYear()-1980,Q<<=4,Q|=f.getUTCMonth()+1,Q<<=5,Q|=f.getUTCDate(),M&&(F=n(1,1)+n(a(w),4)+h,m+="up"+n(F.length,2)+F),p&&(D=n(1,1)+n(a(d),4)+I,m+="uc"+n(D.length,2)+D);var T="";return T+="\n\0",T+=n(U,2),T+=l.magic,T+=n(g,2),T+=n(Q,2),T+=n(N.crc32,4),T+=n(N.compressedSize,4),T+=n(N.uncompressedSize,4),T+=n(w.length,2),T+=n(m.length,2),{fileRecord:B.LOCAL_FILE_HEADER+T+w+m,dirRecord:B.CENTRAL_FILE_HEADER+n(x,2)+T+n(d.length,2)+"\0\0\0\0"+n(y,4)+n(i,4)+w+m+d}}var r=A("../utils"),s=A("../stream/GenericWorker"),o=A("../utf8"),a=A("../crc32"),B=A("../signature");function c(A,e,t,n){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=t,this.encodeFileName=n,this.streamFiles=A,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}r.inherits(c,s),c.prototype.push=function(A){var e=A.meta.percent||0,t=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(A):(this.bytesWritten+=A.data.length,s.prototype.push.call(this,{data:A.data,meta:{currentFile:this.currentFile,percent:t?(e+100*(t-n-1))/t:100}}))},c.prototype.openedSource=function(A){this.currentSourceOffset=this.bytesWritten,this.currentFile=A.file.name;var e=this.streamFiles&&!A.file.dir;if(e){var t=i(A,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:t.fileRecord,meta:{percent:0}})}else this.accumulate=!0},c.prototype.closedSource=function(A){this.accumulate=!1;var e=this.streamFiles&&!A.file.dir,t=i(A,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(t.dirRecord),e)this.push({data:function(A){return B.DATA_DESCRIPTOR+n(A.crc32,4)+n(A.compressedSize,4)+n(A.uncompressedSize,4)}(A),meta:{percent:100}});else for(this.push({data:t.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},c.prototype.flush=function(){for(var A=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var t=this.bytesWritten-A,i=function(A,e,t,i,s){var o=r.transformTo("string",s(i));return B.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(A,2)+n(A,2)+n(e,4)+n(t,4)+n(o.length,2)+o}(this.dirRecords.length,t,A,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},c.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},c.prototype.registerPrevious=function(A){this._sources.push(A);var e=this;return A.on("data",(function(A){e.processChunk(A)})),A.on("end",(function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()})),A.on("error",(function(A){e.error(A)})),this},c.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},c.prototype.error=function(A){var e=this._sources;if(!s.prototype.error.call(this,A))return!1;for(var t=0;t<e.length;t++)try{e[t].error(A)}catch(A){}return!0},c.prototype.lock=function(){s.prototype.lock.call(this);for(var A=this._sources,e=0;e<A.length;e++)A[e].lock()},e.exports=c},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(A,e,t){"use strict";var n=A("../compressions"),i=A("./ZipFileWorker");t.generateWorker=function(A,e,t){var r=new i(e.streamFiles,t,e.platform,e.encodeFileName),s=0;try{A.forEach((function(A,t){s++;var i=function(A,e){var t=A||e,i=n[t];if(!i)throw new Error(t+" is not a valid compression method !");return i}(t.options.compression,e.compression),o=t.options.compressionOptions||e.compressionOptions||{},a=t.dir,B=t.date;t._compressWorker(i,o).withStreamInfo("file",{name:A,dir:a,date:B,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(r)})),r.entriesCount=s}catch(A){r.error(A)}return r}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(A,e,t){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var A=new n;for(var e in this)"function"!=typeof this[e]&&(A[e]=this[e]);return A}}(n.prototype=A("./object")).loadAsync=A("./load"),n.support=A("./support"),n.defaults=A("./defaults"),n.version="3.10.1",n.loadAsync=function(A,e){return(new n).loadAsync(A,e)},n.external=A("./external"),e.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(A,e,t){"use strict";var n=A("./utils"),i=A("./external"),r=A("./utf8"),s=A("./zipEntries"),o=A("./stream/Crc32Probe"),a=A("./nodejsUtils");function B(A){return new i.Promise((function(e,t){var n=A.decompressed.getContentWorker().pipe(new o);n.on("error",(function(A){t(A)})).on("end",(function(){n.streamInfo.crc32!==A.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()})).resume()}))}e.exports=function(A,e){var t=this;return e=n.extend(e||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:r.utf8decode}),a.isNode&&a.isStream(A)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",A,!0,e.optimizedBinaryString,e.base64).then((function(A){var t=new s(e);return t.load(A),t})).then((function(A){var t=[i.Promise.resolve(A)],n=A.files;if(e.checkCRC32)for(var r=0;r<n.length;r++)t.push(B(n[r]));return i.Promise.all(t)})).then((function(A){for(var i=A.shift(),r=i.files,s=0;s<r.length;s++){var o=r[s],a=o.fileNameStr,B=n.resolve(o.fileNameStr);t.file(B,o.decompressed,{binary:!0,optimizedBinaryString:!0,date:o.date,dir:o.dir,comment:o.fileCommentStr.length?o.fileCommentStr:null,unixPermissions:o.unixPermissions,dosPermissions:o.dosPermissions,createFolders:e.createFolders}),o.dir||(t.file(B).unsafeOriginalName=a)}return i.zipComment.length&&(t.comment=i.zipComment),t}))}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(A,e,t){"use strict";var n=A("../utils"),i=A("../stream/GenericWorker");function r(A,e){i.call(this,"Nodejs stream input adapter for "+A),this._upstreamEnded=!1,this._bindStream(e)}n.inherits(r,i),r.prototype._bindStream=function(A){var e=this;(this._stream=A).pause(),A.on("data",(function(A){e.push({data:A,meta:{percent:0}})})).on("error",(function(A){e.isPaused?this.generatedError=A:e.error(A)})).on("end",(function(){e.isPaused?e._upstreamEnded=!0:e.end()}))},r.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},r.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=r},{"../stream/GenericWorker":28,"../utils":32}],13:[function(A,e,t){"use strict";var n=A("readable-stream").Readable;function i(A,e,t){n.call(this,e),this._helper=A;var i=this;A.on("data",(function(A,e){i.push(A)||i._helper.pause(),t&&t(e)})).on("error",(function(A){i.emit("error",A)})).on("end",(function(){i.push(null)}))}A("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},{"../utils":32,"readable-stream":16}],14:[function(A,t,n){"use strict";t.exports={isNode:void 0!==e,newBufferFrom:function(A,t){if(e.from&&e.from!==Uint8Array.from)return e.from(A,t);if("number"==typeof A)throw new Error('The "data" argument must not be a number');return new e(A,t)},allocBuffer:function(A){if(e.alloc)return e.alloc(A);var t=new e(A);return t.fill(0),t},isBuffer:function(A){return e.isBuffer(A)},isStream:function(A){return A&&"function"==typeof A.on&&"function"==typeof A.pause&&"function"==typeof A.resume}}},{}],15:[function(A,e,t){"use strict";function n(A,e,t){var n,i=r.getTypeOf(e),o=r.extend(t||{},a);o.date=o.date||new Date,null!==o.compression&&(o.compression=o.compression.toUpperCase()),"string"==typeof o.unixPermissions&&(o.unixPermissions=parseInt(o.unixPermissions,8)),o.unixPermissions&&16384&o.unixPermissions&&(o.dir=!0),o.dosPermissions&&16&o.dosPermissions&&(o.dir=!0),o.dir&&(A=u(A)),o.createFolders&&(n=l(A))&&w.call(this,n,!0);var g,h="string"===i&&!1===o.binary&&!1===o.base64;t&&void 0!==t.binary||(o.binary=!h),(e instanceof B&&0===e.uncompressedSize||o.dir||!e||0===e.length)&&(o.base64=!1,o.binary=!0,e="",o.compression="STORE",i="string"),g=e instanceof B||e instanceof s?e:Q.isNode&&Q.isStream(e)?new E(A,e):r.prepareContent(A,e,o.binary,o.optimizedBinaryString,o.base64);var C=new c(A,g,o);this.files[A]=C}var i=A("./utf8"),r=A("./utils"),s=A("./stream/GenericWorker"),o=A("./stream/StreamHelper"),a=A("./defaults"),B=A("./compressedObject"),c=A("./zipObject"),g=A("./generate"),Q=A("./nodejsUtils"),E=A("./nodejs/NodejsStreamInputAdapter"),l=function(A){"/"===A.slice(-1)&&(A=A.substring(0,A.length-1));var e=A.lastIndexOf("/");return 0<e?A.substring(0,e):""},u=function(A){return"/"!==A.slice(-1)&&(A+="/"),A},w=function(A,e){return e=void 0!==e?e:a.createFolders,A=u(A),this.files[A]||n.call(this,A,null,{dir:!0,createFolders:e}),this.files[A]};function h(A){return"[object RegExp]"===Object.prototype.toString.call(A)}var C={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(A){var e,t,n;for(e in this.files)n=this.files[e],(t=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&A(t,n)},filter:function(A){var e=[];return this.forEach((function(t,n){A(t,n)&&e.push(n)})),e},file:function(A,e,t){if(1!==arguments.length)return A=this.root+A,n.call(this,A,e,t),this;if(h(A)){var i=A;return this.filter((function(A,e){return!e.dir&&i.test(A)}))}var r=this.files[this.root+A];return r&&!r.dir?r:null},folder:function(A){if(!A)return this;if(h(A))return this.filter((function(e,t){return t.dir&&A.test(e)}));var e=this.root+A,t=w.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(A){A=this.root+A;var e=this.files[A];if(e||("/"!==A.slice(-1)&&(A+="/"),e=this.files[A]),e&&!e.dir)delete this.files[A];else for(var t=this.filter((function(e,t){return t.name.slice(0,A.length)===A})),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(A){var e,t={};try{if((t=r.extend(A||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=t.type.toLowerCase(),t.compression=t.compression.toUpperCase(),"binarystring"===t.type&&(t.type="string"),!t.type)throw new Error("No output type specified.");r.checkSupport(t.type),"darwin"!==t.platform&&"freebsd"!==t.platform&&"linux"!==t.platform&&"sunos"!==t.platform||(t.platform="UNIX"),"win32"===t.platform&&(t.platform="DOS");var n=t.comment||this.comment||"";e=g.generateWorker(this,t,n)}catch(A){(e=new s("error")).error(A)}return new o(e,t.type||"string",t.mimeType)},generateAsync:function(A,e){return this.generateInternalStream(A).accumulate(e)},generateNodeStream:function(A,e){return(A=A||{}).type||(A.type="nodebuffer"),this.generateInternalStream(A).toNodejsStream(e)}};e.exports=C},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(A,e,t){"use strict";e.exports=A("stream")},{stream:void 0}],17:[function(A,e,t){"use strict";var n=A("./DataReader");function i(A){n.call(this,A);for(var e=0;e<this.data.length;e++)A[e]=255&A[e]}A("../utils").inherits(i,n),i.prototype.byteAt=function(A){return this.data[this.zero+A]},i.prototype.lastIndexOfSignature=function(A){for(var e=A.charCodeAt(0),t=A.charCodeAt(1),n=A.charCodeAt(2),i=A.charCodeAt(3),r=this.length-4;0<=r;--r)if(this.data[r]===e&&this.data[r+1]===t&&this.data[r+2]===n&&this.data[r+3]===i)return r-this.zero;return-1},i.prototype.readAndCheckSignature=function(A){var e=A.charCodeAt(0),t=A.charCodeAt(1),n=A.charCodeAt(2),i=A.charCodeAt(3),r=this.readData(4);return e===r[0]&&t===r[1]&&n===r[2]&&i===r[3]},i.prototype.readData=function(A){if(this.checkOffset(A),0===A)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+A);return this.index+=A,e},e.exports=i},{"../utils":32,"./DataReader":18}],18:[function(A,e,t){"use strict";var n=A("../utils");function i(A){this.data=A,this.length=A.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(A){this.checkIndex(this.index+A)},checkIndex:function(A){if(this.length<this.zero+A||A<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+A+"). Corrupted zip ?")},setIndex:function(A){this.checkIndex(A),this.index=A},skip:function(A){this.setIndex(this.index+A)},byteAt:function(){},readInt:function(A){var e,t=0;for(this.checkOffset(A),e=this.index+A-1;e>=this.index;e--)t=(t<<8)+this.byteAt(e);return this.index+=A,t},readString:function(A){return n.transformTo("string",this.readData(A))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var A=this.readInt(4);return new Date(Date.UTC(1980+(A>>25&127),(A>>21&15)-1,A>>16&31,A>>11&31,A>>5&63,(31&A)<<1))}},e.exports=i},{"../utils":32}],19:[function(A,e,t){"use strict";var n=A("./Uint8ArrayReader");function i(A){n.call(this,A)}A("../utils").inherits(i,n),i.prototype.readData=function(A){this.checkOffset(A);var e=this.data.slice(this.zero+this.index,this.zero+this.index+A);return this.index+=A,e},e.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(A,e,t){"use strict";var n=A("./DataReader");function i(A){n.call(this,A)}A("../utils").inherits(i,n),i.prototype.byteAt=function(A){return this.data.charCodeAt(this.zero+A)},i.prototype.lastIndexOfSignature=function(A){return this.data.lastIndexOf(A)-this.zero},i.prototype.readAndCheckSignature=function(A){return A===this.readData(4)},i.prototype.readData=function(A){this.checkOffset(A);var e=this.data.slice(this.zero+this.index,this.zero+this.index+A);return this.index+=A,e},e.exports=i},{"../utils":32,"./DataReader":18}],21:[function(A,e,t){"use strict";var n=A("./ArrayReader");function i(A){n.call(this,A)}A("../utils").inherits(i,n),i.prototype.readData=function(A){if(this.checkOffset(A),0===A)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+A);return this.index+=A,e},e.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(A,e,t){"use strict";var n=A("../utils"),i=A("../support"),r=A("./ArrayReader"),s=A("./StringReader"),o=A("./NodeBufferReader"),a=A("./Uint8ArrayReader");e.exports=function(A){var e=n.getTypeOf(A);return n.checkSupport(e),"string"!==e||i.uint8array?"nodebuffer"===e?new o(A):i.uint8array?new a(n.transformTo("uint8array",A)):new r(n.transformTo("array",A)):new s(A)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(A,e,t){"use strict";t.LOCAL_FILE_HEADER="PK",t.CENTRAL_FILE_HEADER="PK",t.CENTRAL_DIRECTORY_END="PK",t.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",t.ZIP64_CENTRAL_DIRECTORY_END="PK",t.DATA_DESCRIPTOR="PK\b"},{}],24:[function(A,e,t){"use strict";var n=A("./GenericWorker"),i=A("../utils");function r(A){n.call(this,"ConvertWorker to "+A),this.destType=A}i.inherits(r,n),r.prototype.processChunk=function(A){this.push({data:i.transformTo(this.destType,A.data),meta:A.meta})},e.exports=r},{"../utils":32,"./GenericWorker":28}],25:[function(A,e,t){"use strict";var n=A("./GenericWorker"),i=A("../crc32");function r(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}A("../utils").inherits(r,n),r.prototype.processChunk=function(A){this.streamInfo.crc32=i(A.data,this.streamInfo.crc32||0),this.push(A)},e.exports=r},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(A,e,t){"use strict";var n=A("../utils"),i=A("./GenericWorker");function r(A){i.call(this,"DataLengthProbe for "+A),this.propName=A,this.withStreamInfo(A,0)}n.inherits(r,i),r.prototype.processChunk=function(A){if(A){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+A.data.length}i.prototype.processChunk.call(this,A)},e.exports=r},{"../utils":32,"./GenericWorker":28}],27:[function(A,e,t){"use strict";var n=A("../utils"),i=A("./GenericWorker");function r(A){i.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,A.then((function(A){e.dataIsReady=!0,e.data=A,e.max=A&&A.length||0,e.type=n.getTypeOf(A),e.isPaused||e._tickAndRepeat()}),(function(A){e.error(A)}))}n.inherits(r,i),r.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},r.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},r.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},r.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var A=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":A=this.data.substring(this.index,e);break;case"uint8array":A=this.data.subarray(this.index,e);break;case"array":case"nodebuffer":A=this.data.slice(this.index,e)}return this.index=e,this.push({data:A,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=r},{"../utils":32,"./GenericWorker":28}],28:[function(A,e,t){"use strict";function n(A){this.name=A||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(A){this.emit("data",A)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(A){this.emit("error",A)}return!0},error:function(A){return!this.isFinished&&(this.isPaused?this.generatedError=A:(this.isFinished=!0,this.emit("error",A),this.previous&&this.previous.error(A),this.cleanUp()),!0)},on:function(A,e){return this._listeners[A].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(A,e){if(this._listeners[A])for(var t=0;t<this._listeners[A].length;t++)this._listeners[A][t].call(this,e)},pipe:function(A){return A.registerPrevious(this)},registerPrevious:function(A){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=A.streamInfo,this.mergeStreamInfo(),this.previous=A;var e=this;return A.on("data",(function(A){e.processChunk(A)})),A.on("end",(function(){e.end()})),A.on("error",(function(A){e.error(A)})),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var A=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),A=!0),this.previous&&this.previous.resume(),!A},flush:function(){},processChunk:function(A){this.push(A)},withStreamInfo:function(A,e){return this.extraStreamInfo[A]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var A in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,A)&&(this.streamInfo[A]=this.extraStreamInfo[A])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var A="Worker "+this.name;return this.previous?this.previous+" -> "+A:A}},e.exports=n},{}],29:[function(A,t,n){"use strict";var i=A("../utils"),r=A("./ConvertWorker"),s=A("./GenericWorker"),o=A("../base64"),a=A("../support"),B=A("../external"),c=null;if(a.nodestream)try{c=A("../nodejs/NodejsStreamOutputAdapter")}catch(A){}function g(A,e,t){var n=e;switch(e){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=e,this._mimeType=t,i.checkSupport(n),this._worker=A.pipe(new r(n)),A.lock()}catch(A){this._worker=new s("error"),this._worker.error(A)}}g.prototype={accumulate:function(A){return function(A,t){return new B.Promise((function(n,r){var s=[],a=A._internalType,B=A._outputType,c=A._mimeType;A.on("data",(function(A,e){s.push(A),t&&t(e)})).on("error",(function(A){s=[],r(A)})).on("end",(function(){try{var A=function(A,e,t){switch(A){case"blob":return i.newBlob(i.transformTo("arraybuffer",e),t);case"base64":return o.encode(e);default:return i.transformTo(A,e)}}(B,function(A,t){var n,i=0,r=null,s=0;for(n=0;n<t.length;n++)s+=t[n].length;switch(A){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(r=new Uint8Array(s),n=0;n<t.length;n++)r.set(t[n],i),i+=t[n].length;return r;case"nodebuffer":return e.concat(t);default:throw new Error("concat : unsupported type '"+A+"'")}}(a,s),c);n(A)}catch(A){r(A)}s=[]})).resume()}))}(this,A)},on:function(A,e){var t=this;return"data"===A?this._worker.on(A,(function(A){e.call(t,A.data,A.meta)})):this._worker.on(A,(function(){i.delay(e,arguments,t)})),this},resume:function(){return i.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(A){if(i.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new c(this,{objectMode:"nodebuffer"!==this._outputType},A)}},t.exports=g},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(A,t,n){"use strict";if(n.base64=!0,n.array=!0,n.string=!0,n.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,n.nodebuffer=void 0!==e,n.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)n.blob=!1;else{var i=new ArrayBuffer(0);try{n.blob=0===new Blob([i],{type:"application/zip"}).size}catch(A){try{var r=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);r.append(i),n.blob=0===r.getBlob("application/zip").size}catch(A){n.blob=!1}}}try{n.nodestream=!!A("readable-stream").Readable}catch(A){n.nodestream=!1}},{"readable-stream":16}],31:[function(A,e,t){"use strict";for(var n=A("./utils"),i=A("./support"),r=A("./nodejsUtils"),s=A("./stream/GenericWorker"),o=new Array(256),a=0;a<256;a++)o[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function B(){s.call(this,"utf-8 decode"),this.leftOver=null}function c(){s.call(this,"utf-8 encode")}o[254]=o[254]=1,t.utf8encode=function(A){return i.nodebuffer?r.newBufferFrom(A,"utf-8"):function(A){var e,t,n,r,s,o=A.length,a=0;for(r=0;r<o;r++)55296==(64512&(t=A.charCodeAt(r)))&&r+1<o&&56320==(64512&(n=A.charCodeAt(r+1)))&&(t=65536+(t-55296<<10)+(n-56320),r++),a+=t<128?1:t<2048?2:t<65536?3:4;for(e=i.uint8array?new Uint8Array(a):new Array(a),r=s=0;s<a;r++)55296==(64512&(t=A.charCodeAt(r)))&&r+1<o&&56320==(64512&(n=A.charCodeAt(r+1)))&&(t=65536+(t-55296<<10)+(n-56320),r++),t<128?e[s++]=t:(t<2048?e[s++]=192|t>>>6:(t<65536?e[s++]=224|t>>>12:(e[s++]=240|t>>>18,e[s++]=128|t>>>12&63),e[s++]=128|t>>>6&63),e[s++]=128|63&t);return e}(A)},t.utf8decode=function(A){return i.nodebuffer?n.transformTo("nodebuffer",A).toString("utf-8"):function(A){var e,t,i,r,s=A.length,a=new Array(2*s);for(e=t=0;e<s;)if((i=A[e++])<128)a[t++]=i;else if(4<(r=o[i]))a[t++]=65533,e+=r-1;else{for(i&=2===r?31:3===r?15:7;1<r&&e<s;)i=i<<6|63&A[e++],r--;1<r?a[t++]=65533:i<65536?a[t++]=i:(i-=65536,a[t++]=55296|i>>10&1023,a[t++]=56320|1023&i)}return a.length!==t&&(a.subarray?a=a.subarray(0,t):a.length=t),n.applyFromCharCode(a)}(A=n.transformTo(i.uint8array?"uint8array":"array",A))},n.inherits(B,s),B.prototype.processChunk=function(A){var e=n.transformTo(i.uint8array?"uint8array":"array",A.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var s=function(A,e){var t;for((e=e||A.length)>A.length&&(e=A.length),t=e-1;0<=t&&128==(192&A[t]);)t--;return t<0||0===t?e:t+o[A[t]]>e?t:e}(e),a=e;s!==e.length&&(i.uint8array?(a=e.subarray(0,s),this.leftOver=e.subarray(s,e.length)):(a=e.slice(0,s),this.leftOver=e.slice(s,e.length))),this.push({data:t.utf8decode(a),meta:A.meta})},B.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=B,n.inherits(c,s),c.prototype.processChunk=function(A){this.push({data:t.utf8encode(A.data),meta:A.meta})},t.Utf8EncodeWorker=c},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(A,e,n){"use strict";var i=A("./support"),r=A("./base64"),s=A("./nodejsUtils"),o=A("./external");function a(A){return A}function B(A,e){for(var t=0;t<A.length;++t)e[t]=255&A.charCodeAt(t);return e}A("setimmediate"),n.newBlob=function(A,e){n.checkSupport("blob");try{return new Blob([A],{type:e})}catch(n){try{var t=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return t.append(A),t.getBlob(e)}catch(A){throw new Error("Bug : can't construct the Blob.")}}};var c={stringifyByChunk:function(A,e,t){var n=[],i=0,r=A.length;if(r<=t)return String.fromCharCode.apply(null,A);for(;i<r;)"array"===e||"nodebuffer"===e?n.push(String.fromCharCode.apply(null,A.slice(i,Math.min(i+t,r)))):n.push(String.fromCharCode.apply(null,A.subarray(i,Math.min(i+t,r)))),i+=t;return n.join("")},stringifyByChar:function(A){for(var e="",t=0;t<A.length;t++)e+=String.fromCharCode(A[t]);return e},applyCanBeUsed:{uint8array:function(){try{return i.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(A){return!1}}(),nodebuffer:function(){try{return i.nodebuffer&&1===String.fromCharCode.apply(null,s.allocBuffer(1)).length}catch(A){return!1}}()}};function g(A){var e=65536,t=n.getTypeOf(A),i=!0;if("uint8array"===t?i=c.applyCanBeUsed.uint8array:"nodebuffer"===t&&(i=c.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return c.stringifyByChunk(A,t,e)}catch(A){e=Math.floor(e/2)}return c.stringifyByChar(A)}function Q(A,e){for(var t=0;t<A.length;t++)e[t]=A[t];return e}n.applyFromCharCode=g;var E={};E.string={string:a,array:function(A){return B(A,new Array(A.length))},arraybuffer:function(A){return E.string.uint8array(A).buffer},uint8array:function(A){return B(A,new Uint8Array(A.length))},nodebuffer:function(A){return B(A,s.allocBuffer(A.length))}},E.array={string:g,array:a,arraybuffer:function(A){return new Uint8Array(A).buffer},uint8array:function(A){return new Uint8Array(A)},nodebuffer:function(A){return s.newBufferFrom(A)}},E.arraybuffer={string:function(A){return g(new Uint8Array(A))},array:function(A){return Q(new Uint8Array(A),new Array(A.byteLength))},arraybuffer:a,uint8array:function(A){return new Uint8Array(A)},nodebuffer:function(A){return s.newBufferFrom(new Uint8Array(A))}},E.uint8array={string:g,array:function(A){return Q(A,new Array(A.length))},arraybuffer:function(A){return A.buffer},uint8array:a,nodebuffer:function(A){return s.newBufferFrom(A)}},E.nodebuffer={string:g,array:function(A){return Q(A,new Array(A.length))},arraybuffer:function(A){return E.nodebuffer.uint8array(A).buffer},uint8array:function(A){return Q(A,new Uint8Array(A.length))},nodebuffer:a},n.transformTo=function(A,e){if(e=e||"",!A)return e;n.checkSupport(A);var t=n.getTypeOf(e);return E[t][A](e)},n.resolve=function(A){for(var e=A.split("/"),t=[],n=0;n<e.length;n++){var i=e[n];"."===i||""===i&&0!==n&&n!==e.length-1||(".."===i?t.pop():t.push(i))}return t.join("/")},n.getTypeOf=function(A){return"string"==typeof A?"string":"[object Array]"===Object.prototype.toString.call(A)?"array":i.nodebuffer&&s.isBuffer(A)?"nodebuffer":i.uint8array&&A instanceof Uint8Array?"uint8array":i.arraybuffer&&A instanceof ArrayBuffer?"arraybuffer":void 0},n.checkSupport=function(A){if(!i[A.toLowerCase()])throw new Error(A+" is not supported by this platform")},n.MAX_VALUE_16BITS=65535,n.MAX_VALUE_32BITS=-1,n.pretty=function(A){var e,t,n="";for(t=0;t<(A||"").length;t++)n+="\\x"+((e=A.charCodeAt(t))<16?"0":"")+e.toString(16).toUpperCase();return n},n.delay=function(A,e,n){t((function(){A.apply(n||null,e||[])}))},n.inherits=function(A,e){function t(){}t.prototype=e.prototype,A.prototype=new t},n.extend=function(){var A,e,t={};for(A=0;A<arguments.length;A++)for(e in arguments[A])Object.prototype.hasOwnProperty.call(arguments[A],e)&&void 0===t[e]&&(t[e]=arguments[A][e]);return t},n.prepareContent=function(A,e,t,s,a){return o.Promise.resolve(e).then((function(A){return i.blob&&(A instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(A)))&&"undefined"!=typeof FileReader?new o.Promise((function(e,t){var n=new FileReader;n.onload=function(A){e(A.target.result)},n.onerror=function(A){t(A.target.error)},n.readAsArrayBuffer(A)})):A})).then((function(e){var c=n.getTypeOf(e);return c?("arraybuffer"===c?e=n.transformTo("uint8array",e):"string"===c&&(a?e=r.decode(e):t&&!0!==s&&(e=function(A){return B(A,i.uint8array?new Uint8Array(A.length):new Array(A.length))}(e))),e):o.Promise.reject(new Error("Can't read the data of '"+A+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))}))}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(A,e,t){"use strict";var n=A("./reader/readerFor"),i=A("./utils"),r=A("./signature"),s=A("./zipEntry"),o=A("./support");function a(A){this.files=[],this.loadOptions=A}a.prototype={checkSignature:function(A){if(!this.reader.readAndCheckSignature(A)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(e)+", expected "+i.pretty(A)+")")}},isSignature:function(A,e){var t=this.reader.index;this.reader.setIndex(A);var n=this.reader.readString(4)===e;return this.reader.setIndex(t),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var A=this.reader.readData(this.zipCommentLength),e=o.uint8array?"uint8array":"array",t=i.transformTo(e,A);this.zipComment=this.loadOptions.decodeFileName(t)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var A,e,t,n=this.zip64EndOfCentralSize-44;0<n;)A=this.reader.readInt(2),e=this.reader.readInt(4),t=this.reader.readData(e),this.zip64ExtensibleData[A]={id:A,length:e,value:t}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var A,e;for(A=0;A<this.files.length;A++)e=this.files[A],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(r.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var A;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(r.CENTRAL_FILE_HEADER);)(A=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(A);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var A=this.reader.lastIndexOfSignature(r.CENTRAL_DIRECTORY_END);if(A<0)throw this.isSignature(0,r.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(A);var e=A;if(this.checkSignature(r.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(A=this.reader.lastIndexOfSignature(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(A),this.checkSignature(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,r.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(r.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(r.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var t=this.centralDirOffset+this.centralDirSize;this.zip64&&(t+=20,t+=12+this.zip64EndOfCentralSize);var n=e-t;if(0<n)this.isSignature(e,r.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(A){this.reader=n(A)},load:function(A){this.prepareReader(A),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=a},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(A,e,t){"use strict";var n=A("./reader/readerFor"),i=A("./utils"),r=A("./compressedObject"),s=A("./crc32"),o=A("./utf8"),a=A("./compressions"),B=A("./support");function c(A,e){this.options=A,this.loadOptions=e}c.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(A){var e,t;if(A.skip(22),this.fileNameLength=A.readInt(2),t=A.readInt(2),this.fileName=A.readData(this.fileNameLength),A.skip(t),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(e=function(A){for(var e in a)if(Object.prototype.hasOwnProperty.call(a,e)&&a[e].magic===A)return a[e];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new r(this.compressedSize,this.uncompressedSize,this.crc32,e,A.readData(this.compressedSize))},readCentralPart:function(A){this.versionMadeBy=A.readInt(2),A.skip(2),this.bitFlag=A.readInt(2),this.compressionMethod=A.readString(2),this.date=A.readDate(),this.crc32=A.readInt(4),this.compressedSize=A.readInt(4),this.uncompressedSize=A.readInt(4);var e=A.readInt(2);if(this.extraFieldsLength=A.readInt(2),this.fileCommentLength=A.readInt(2),this.diskNumberStart=A.readInt(2),this.internalFileAttributes=A.readInt(2),this.externalFileAttributes=A.readInt(4),this.localHeaderOffset=A.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");A.skip(e),this.readExtraFields(A),this.parseZIP64ExtraField(A),this.fileComment=A.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var A=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==A&&(this.dosPermissions=63&this.externalFileAttributes),3==A&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var A=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=A.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=A.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=A.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=A.readInt(4))}},readExtraFields:function(A){var e,t,n,i=A.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});A.index+4<i;)e=A.readInt(2),t=A.readInt(2),n=A.readData(t),this.extraFields[e]={id:e,length:t,value:n};A.setIndex(i)},handleUTF8:function(){var A=B.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var t=i.transformTo(A,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(t)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var r=i.transformTo(A,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(r)}}},findExtraFieldUnicodePath:function(){var A=this.extraFields[28789];if(A){var e=n(A.value);return 1!==e.readInt(1)||s(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(A.length-5))}return null},findExtraFieldUnicodeComment:function(){var A=this.extraFields[25461];if(A){var e=n(A.value);return 1!==e.readInt(1)||s(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(A.length-5))}return null}},e.exports=c},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(A,e,t){"use strict";function n(A,e,t){this.name=A,this.dir=t.dir,this.date=t.date,this.comment=t.comment,this.unixPermissions=t.unixPermissions,this.dosPermissions=t.dosPermissions,this._data=e,this._dataBinary=t.binary,this.options={compression:t.compression,compressionOptions:t.compressionOptions}}var i=A("./stream/StreamHelper"),r=A("./stream/DataWorker"),s=A("./utf8"),o=A("./compressedObject"),a=A("./stream/GenericWorker");n.prototype={internalStream:function(A){var e=null,t="string";try{if(!A)throw new Error("No output type specified.");var n="string"===(t=A.toLowerCase())||"text"===t;"binarystring"!==t&&"text"!==t||(t="string"),e=this._decompressWorker();var r=!this._dataBinary;r&&!n&&(e=e.pipe(new s.Utf8EncodeWorker)),!r&&n&&(e=e.pipe(new s.Utf8DecodeWorker))}catch(A){(e=new a("error")).error(A)}return new i(e,t,"")},async:function(A,e){return this.internalStream(A).accumulate(e)},nodeStream:function(A,e){return this.internalStream(A||"nodebuffer").toNodejsStream(e)},_compressWorker:function(A,e){if(this._data instanceof o&&this._data.compression.magic===A.magic)return this._data.getCompressedWorker();var t=this._decompressWorker();return this._dataBinary||(t=t.pipe(new s.Utf8EncodeWorker)),o.createWorkerFrom(t,A,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof a?this._data:new r(this._data)}};for(var B=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],c=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},g=0;g<B.length;g++)n.prototype[B[g]]=c;e.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(A,e,t){(function(A){"use strict";var t,n,i=A.MutationObserver||A.WebKitMutationObserver;if(i){var r=0,s=new i(c),o=A.document.createTextNode("");s.observe(o,{characterData:!0}),t=function(){o.data=r=++r%2}}else if(A.setImmediate||void 0===A.MessageChannel)t="document"in A&&"onreadystatechange"in A.document.createElement("script")?function(){var e=A.document.createElement("script");e.onreadystatechange=function(){c(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},A.document.documentElement.appendChild(e)}:function(){setTimeout(c,0)};else{var a=new A.MessageChannel;a.port1.onmessage=c,t=function(){a.port2.postMessage(0)}}var B=[];function c(){var A,e;n=!0;for(var t=B.length;t;){for(e=B,B=[],A=-1;++A<t;)e[A]();t=B.length}n=!1}e.exports=function(A){1!==B.push(A)||n||t()}}).call(this,void 0!==n?n:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(A,e,t){"use strict";var n=A("immediate");function i(){}var r={},s=["REJECTED"],o=["FULFILLED"],a=["PENDING"];function B(A){if("function"!=typeof A)throw new TypeError("resolver must be a function");this.state=a,this.queue=[],this.outcome=void 0,A!==i&&E(this,A)}function c(A,e,t){this.promise=A,"function"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),"function"==typeof t&&(this.onRejected=t,this.callRejected=this.otherCallRejected)}function g(A,e,t){n((function(){var n;try{n=e(t)}catch(n){return r.reject(A,n)}n===A?r.reject(A,new TypeError("Cannot resolve promise with itself")):r.resolve(A,n)}))}function Q(A){var e=A&&A.then;if(A&&("object"==typeof A||"function"==typeof A)&&"function"==typeof e)return function(){e.apply(A,arguments)}}function E(A,e){var t=!1;function n(e){t||(t=!0,r.reject(A,e))}function i(e){t||(t=!0,r.resolve(A,e))}var s=l((function(){e(i,n)}));"error"===s.status&&n(s.value)}function l(A,e){var t={};try{t.value=A(e),t.status="success"}catch(A){t.status="error",t.value=A}return t}(e.exports=B).prototype.finally=function(A){if("function"!=typeof A)return this;var e=this.constructor;return this.then((function(t){return e.resolve(A()).then((function(){return t}))}),(function(t){return e.resolve(A()).then((function(){throw t}))}))},B.prototype.catch=function(A){return this.then(null,A)},B.prototype.then=function(A,e){if("function"!=typeof A&&this.state===o||"function"!=typeof e&&this.state===s)return this;var t=new this.constructor(i);return this.state!==a?g(t,this.state===o?A:e,this.outcome):this.queue.push(new c(t,A,e)),t},c.prototype.callFulfilled=function(A){r.resolve(this.promise,A)},c.prototype.otherCallFulfilled=function(A){g(this.promise,this.onFulfilled,A)},c.prototype.callRejected=function(A){r.reject(this.promise,A)},c.prototype.otherCallRejected=function(A){g(this.promise,this.onRejected,A)},r.resolve=function(A,e){var t=l(Q,e);if("error"===t.status)return r.reject(A,t.value);var n=t.value;if(n)E(A,n);else{A.state=o,A.outcome=e;for(var i=-1,s=A.queue.length;++i<s;)A.queue[i].callFulfilled(e)}return A},r.reject=function(A,e){A.state=s,A.outcome=e;for(var t=-1,n=A.queue.length;++t<n;)A.queue[t].callRejected(e);return A},B.resolve=function(A){return A instanceof this?A:r.resolve(new this(i),A)},B.reject=function(A){var e=new this(i);return r.reject(e,A)},B.all=function(A){var e=this;if("[object Array]"!==Object.prototype.toString.call(A))return this.reject(new TypeError("must be an array"));var t=A.length,n=!1;if(!t)return this.resolve([]);for(var s=new Array(t),o=0,a=-1,B=new this(i);++a<t;)c(A[a],a);return B;function c(A,i){e.resolve(A).then((function(A){s[i]=A,++o!==t||n||(n=!0,r.resolve(B,s))}),(function(A){n||(n=!0,r.reject(B,A))}))}},B.race=function(A){if("[object Array]"!==Object.prototype.toString.call(A))return this.reject(new TypeError("must be an array"));var e=A.length,t=!1;if(!e)return this.resolve([]);for(var n,s=-1,o=new this(i);++s<e;)n=A[s],this.resolve(n).then((function(A){t||(t=!0,r.resolve(o,A))}),(function(A){t||(t=!0,r.reject(o,A))}));return o}},{immediate:36}],38:[function(A,e,t){"use strict";var n={};(0,A("./lib/utils/common").assign)(n,A("./lib/deflate"),A("./lib/inflate"),A("./lib/zlib/constants")),e.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(A,e,t){"use strict";var n=A("./zlib/deflate"),i=A("./utils/common"),r=A("./utils/strings"),s=A("./zlib/messages"),o=A("./zlib/zstream"),a=Object.prototype.toString;function B(A){if(!(this instanceof B))return new B(A);this.options=i.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},A||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var t=n.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==t)throw new Error(s[t]);if(e.header&&n.deflateSetHeader(this.strm,e.header),e.dictionary){var c;if(c="string"==typeof e.dictionary?r.string2buf(e.dictionary):"[object ArrayBuffer]"===a.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(t=n.deflateSetDictionary(this.strm,c)))throw new Error(s[t]);this._dict_set=!0}}function c(A,e){var t=new B(e);if(t.push(A,!0),t.err)throw t.msg||s[t.err];return t.result}B.prototype.push=function(A,e){var t,s,o=this.strm,B=this.options.chunkSize;if(this.ended)return!1;s=e===~~e?e:!0===e?4:0,"string"==typeof A?o.input=r.string2buf(A):"[object ArrayBuffer]"===a.call(A)?o.input=new Uint8Array(A):o.input=A,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new i.Buf8(B),o.next_out=0,o.avail_out=B),1!==(t=n.deflate(o,s))&&0!==t)return this.onEnd(t),!(this.ended=!0);0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(r.buf2binstring(i.shrinkBuf(o.output,o.next_out))):this.onData(i.shrinkBuf(o.output,o.next_out)))}while((0<o.avail_in||0===o.avail_out)&&1!==t);return 4===s?(t=n.deflateEnd(this.strm),this.onEnd(t),this.ended=!0,0===t):2!==s||(this.onEnd(0),!(o.avail_out=0))},B.prototype.onData=function(A){this.chunks.push(A)},B.prototype.onEnd=function(A){0===A&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg},t.Deflate=B,t.deflate=c,t.deflateRaw=function(A,e){return(e=e||{}).raw=!0,c(A,e)},t.gzip=function(A,e){return(e=e||{}).gzip=!0,c(A,e)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(A,e,t){"use strict";var n=A("./zlib/inflate"),i=A("./utils/common"),r=A("./utils/strings"),s=A("./zlib/constants"),o=A("./zlib/messages"),a=A("./zlib/zstream"),B=A("./zlib/gzheader"),c=Object.prototype.toString;function g(A){if(!(this instanceof g))return new g(A);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},A||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||A&&A.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var t=n.inflateInit2(this.strm,e.windowBits);if(t!==s.Z_OK)throw new Error(o[t]);this.header=new B,n.inflateGetHeader(this.strm,this.header)}function Q(A,e){var t=new g(e);if(t.push(A,!0),t.err)throw t.msg||o[t.err];return t.result}g.prototype.push=function(A,e){var t,o,a,B,g,Q,E=this.strm,l=this.options.chunkSize,u=this.options.dictionary,w=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof A?E.input=r.binstring2buf(A):"[object ArrayBuffer]"===c.call(A)?E.input=new Uint8Array(A):E.input=A,E.next_in=0,E.avail_in=E.input.length;do{if(0===E.avail_out&&(E.output=new i.Buf8(l),E.next_out=0,E.avail_out=l),(t=n.inflate(E,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&u&&(Q="string"==typeof u?r.string2buf(u):"[object ArrayBuffer]"===c.call(u)?new Uint8Array(u):u,t=n.inflateSetDictionary(this.strm,Q)),t===s.Z_BUF_ERROR&&!0===w&&(t=s.Z_OK,w=!1),t!==s.Z_STREAM_END&&t!==s.Z_OK)return this.onEnd(t),!(this.ended=!0);E.next_out&&(0!==E.avail_out&&t!==s.Z_STREAM_END&&(0!==E.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(a=r.utf8border(E.output,E.next_out),B=E.next_out-a,g=r.buf2string(E.output,a),E.next_out=B,E.avail_out=l-B,B&&i.arraySet(E.output,E.output,a,B,0),this.onData(g)):this.onData(i.shrinkBuf(E.output,E.next_out)))),0===E.avail_in&&0===E.avail_out&&(w=!0)}while((0<E.avail_in||0===E.avail_out)&&t!==s.Z_STREAM_END);return t===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(t=n.inflateEnd(this.strm),this.onEnd(t),this.ended=!0,t===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),!(E.avail_out=0))},g.prototype.onData=function(A){this.chunks.push(A)},g.prototype.onEnd=function(A){A===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg},t.Inflate=g,t.inflate=Q,t.inflateRaw=function(A,e){return(e=e||{}).raw=!0,Q(A,e)},t.ungzip=Q},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(A,e,t){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;t.assign=function(A){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var t=e.shift();if(t){if("object"!=typeof t)throw new TypeError(t+"must be non-object");for(var n in t)t.hasOwnProperty(n)&&(A[n]=t[n])}}return A},t.shrinkBuf=function(A,e){return A.length===e?A:A.subarray?A.subarray(0,e):(A.length=e,A)};var i={arraySet:function(A,e,t,n,i){if(e.subarray&&A.subarray)A.set(e.subarray(t,t+n),i);else for(var r=0;r<n;r++)A[i+r]=e[t+r]},flattenChunks:function(A){var e,t,n,i,r,s;for(e=n=0,t=A.length;e<t;e++)n+=A[e].length;for(s=new Uint8Array(n),e=i=0,t=A.length;e<t;e++)r=A[e],s.set(r,i),i+=r.length;return s}},r={arraySet:function(A,e,t,n,i){for(var r=0;r<n;r++)A[i+r]=e[t+r]},flattenChunks:function(A){return[].concat.apply([],A)}};t.setTyped=function(A){A?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,i)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,r))},t.setTyped(n)},{}],42:[function(A,e,t){"use strict";var n=A("./common"),i=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch(A){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){r=!1}for(var s=new n.Buf8(256),o=0;o<256;o++)s[o]=252<=o?6:248<=o?5:240<=o?4:224<=o?3:192<=o?2:1;function a(A,e){if(e<65537&&(A.subarray&&r||!A.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(A,e));for(var t="",s=0;s<e;s++)t+=String.fromCharCode(A[s]);return t}s[254]=s[254]=1,t.string2buf=function(A){var e,t,i,r,s,o=A.length,a=0;for(r=0;r<o;r++)55296==(64512&(t=A.charCodeAt(r)))&&r+1<o&&56320==(64512&(i=A.charCodeAt(r+1)))&&(t=65536+(t-55296<<10)+(i-56320),r++),a+=t<128?1:t<2048?2:t<65536?3:4;for(e=new n.Buf8(a),r=s=0;s<a;r++)55296==(64512&(t=A.charCodeAt(r)))&&r+1<o&&56320==(64512&(i=A.charCodeAt(r+1)))&&(t=65536+(t-55296<<10)+(i-56320),r++),t<128?e[s++]=t:(t<2048?e[s++]=192|t>>>6:(t<65536?e[s++]=224|t>>>12:(e[s++]=240|t>>>18,e[s++]=128|t>>>12&63),e[s++]=128|t>>>6&63),e[s++]=128|63&t);return e},t.buf2binstring=function(A){return a(A,A.length)},t.binstring2buf=function(A){for(var e=new n.Buf8(A.length),t=0,i=e.length;t<i;t++)e[t]=A.charCodeAt(t);return e},t.buf2string=function(A,e){var t,n,i,r,o=e||A.length,B=new Array(2*o);for(t=n=0;t<o;)if((i=A[t++])<128)B[n++]=i;else if(4<(r=s[i]))B[n++]=65533,t+=r-1;else{for(i&=2===r?31:3===r?15:7;1<r&&t<o;)i=i<<6|63&A[t++],r--;1<r?B[n++]=65533:i<65536?B[n++]=i:(i-=65536,B[n++]=55296|i>>10&1023,B[n++]=56320|1023&i)}return a(B,n)},t.utf8border=function(A,e){var t;for((e=e||A.length)>A.length&&(e=A.length),t=e-1;0<=t&&128==(192&A[t]);)t--;return t<0||0===t?e:t+s[A[t]]>e?t:e}},{"./common":41}],43:[function(A,e,t){"use strict";e.exports=function(A,e,t,n){for(var i=65535&A|0,r=A>>>16&65535|0,s=0;0!==t;){for(t-=s=2e3<t?2e3:t;r=r+(i=i+e[n++]|0)|0,--s;);i%=65521,r%=65521}return i|r<<16|0}},{}],44:[function(A,e,t){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(A,e,t){"use strict";var n=function(){for(var A,e=[],t=0;t<256;t++){A=t;for(var n=0;n<8;n++)A=1&A?3988292384^A>>>1:A>>>1;e[t]=A}return e}();e.exports=function(A,e,t,i){var r=n,s=i+t;A^=-1;for(var o=i;o<s;o++)A=A>>>8^r[255&(A^e[o])];return-1^A}},{}],46:[function(A,e,t){"use strict";var n,i=A("../utils/common"),r=A("./trees"),s=A("./adler32"),o=A("./crc32"),a=A("./messages"),B=-2,c=258,g=262,Q=113;function E(A,e){return A.msg=a[e],e}function l(A){return(A<<1)-(4<A?9:0)}function u(A){for(var e=A.length;0<=--e;)A[e]=0}function w(A){var e=A.state,t=e.pending;t>A.avail_out&&(t=A.avail_out),0!==t&&(i.arraySet(A.output,e.pending_buf,e.pending_out,t,A.next_out),A.next_out+=t,e.pending_out+=t,A.total_out+=t,A.avail_out-=t,e.pending-=t,0===e.pending&&(e.pending_out=0))}function h(A,e){r._tr_flush_block(A,0<=A.block_start?A.block_start:-1,A.strstart-A.block_start,e),A.block_start=A.strstart,w(A.strm)}function C(A,e){A.pending_buf[A.pending++]=e}function d(A,e){A.pending_buf[A.pending++]=e>>>8&255,A.pending_buf[A.pending++]=255&e}function I(A,e){var t,n,i=A.max_chain_length,r=A.strstart,s=A.prev_length,o=A.nice_match,a=A.strstart>A.w_size-g?A.strstart-(A.w_size-g):0,B=A.window,Q=A.w_mask,E=A.prev,l=A.strstart+c,u=B[r+s-1],w=B[r+s];A.prev_length>=A.good_match&&(i>>=2),o>A.lookahead&&(o=A.lookahead);do{if(B[(t=e)+s]===w&&B[t+s-1]===u&&B[t]===B[r]&&B[++t]===B[r+1]){r+=2,t++;do{}while(B[++r]===B[++t]&&B[++r]===B[++t]&&B[++r]===B[++t]&&B[++r]===B[++t]&&B[++r]===B[++t]&&B[++r]===B[++t]&&B[++r]===B[++t]&&B[++r]===B[++t]&&r<l);if(n=c-(l-r),r=l-c,s<n){if(A.match_start=e,o<=(s=n))break;u=B[r+s-1],w=B[r+s]}}}while((e=E[e&Q])>a&&0!=--i);return s<=A.lookahead?s:A.lookahead}function M(A){var e,t,n,r,a,B,c,Q,E,l,u=A.w_size;do{if(r=A.window_size-A.lookahead-A.strstart,A.strstart>=u+(u-g)){for(i.arraySet(A.window,A.window,u,u,0),A.match_start-=u,A.strstart-=u,A.block_start-=u,e=t=A.hash_size;n=A.head[--e],A.head[e]=u<=n?n-u:0,--t;);for(e=t=u;n=A.prev[--e],A.prev[e]=u<=n?n-u:0,--t;);r+=u}if(0===A.strm.avail_in)break;if(B=A.strm,c=A.window,Q=A.strstart+A.lookahead,l=void 0,(E=r)<(l=B.avail_in)&&(l=E),t=0===l?0:(B.avail_in-=l,i.arraySet(c,B.input,B.next_in,l,Q),1===B.state.wrap?B.adler=s(B.adler,c,l,Q):2===B.state.wrap&&(B.adler=o(B.adler,c,l,Q)),B.next_in+=l,B.total_in+=l,l),A.lookahead+=t,A.lookahead+A.insert>=3)for(a=A.strstart-A.insert,A.ins_h=A.window[a],A.ins_h=(A.ins_h<<A.hash_shift^A.window[a+1])&A.hash_mask;A.insert&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[a+3-1])&A.hash_mask,A.prev[a&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=a,a++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<g&&0!==A.strm.avail_in)}function p(A,e){for(var t,n;;){if(A.lookahead<g){if(M(A),A.lookahead<g&&0===e)return 1;if(0===A.lookahead)break}if(t=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==t&&A.strstart-t<=A.w_size-g&&(A.match_length=I(A,t)),A.match_length>=3)if(n=r._tr_tally(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){for(A.match_length--;A.strstart++,A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart,0!=--A.match_length;);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+1])&A.hash_mask;else n=r._tr_tally(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(n&&(h(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,4===e?(h(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(h(A,!1),0===A.strm.avail_out)?1:2}function m(A,e){for(var t,n,i;;){if(A.lookahead<g){if(M(A),A.lookahead<g&&0===e)return 1;if(0===A.lookahead)break}if(t=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=2,0!==t&&A.prev_length<A.max_lazy_match&&A.strstart-t<=A.w_size-g&&(A.match_length=I(A,t),A.match_length<=5&&(1===A.strategy||3===A.match_length&&4096<A.strstart-A.match_start)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){for(i=A.strstart+A.lookahead-3,n=r._tr_tally(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;++A.strstart<=i&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!=--A.prev_length;);if(A.match_available=0,A.match_length=2,A.strstart++,n&&(h(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if((n=r._tr_tally(A,0,A.window[A.strstart-1]))&&h(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(n=r._tr_tally(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,4===e?(h(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(h(A,!1),0===A.strm.avail_out)?1:2}function F(A,e,t,n,i){this.good_length=A,this.max_lazy=e,this.nice_length=t,this.max_chain=n,this.func=i}function D(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(1146),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),u(this.dyn_ltree),u(this.dyn_dtree),u(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),u(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),u(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Y(A){var e;return A&&A.state?(A.total_in=A.total_out=0,A.data_type=2,(e=A.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:Q,A.adler=2===e.wrap?0:1,e.last_flush=0,r._tr_init(e),0):E(A,B)}function f(A){var e=Y(A);return 0===e&&function(A){A.window_size=2*A.w_size,u(A.head),A.max_lazy_match=n[A.level].max_lazy,A.good_match=n[A.level].good_length,A.nice_match=n[A.level].nice_length,A.max_chain_length=n[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=2,A.match_available=0,A.ins_h=0}(A.state),e}function N(A,e,t,n,r,s){if(!A)return B;var o=1;if(-1===e&&(e=6),n<0?(o=0,n=-n):15<n&&(o=2,n-=16),r<1||9<r||8!==t||n<8||15<n||e<0||9<e||s<0||4<s)return E(A,B);8===n&&(n=9);var a=new D;return(A.state=a).strm=A,a.wrap=o,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=r+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new i.Buf8(2*a.w_size),a.head=new i.Buf16(a.hash_size),a.prev=new i.Buf16(a.w_size),a.lit_bufsize=1<<r+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new i.Buf8(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=e,a.strategy=s,a.method=t,f(A)}n=[new F(0,0,0,0,(function(A,e){var t=65535;for(t>A.pending_buf_size-5&&(t=A.pending_buf_size-5);;){if(A.lookahead<=1){if(M(A),0===A.lookahead&&0===e)return 1;if(0===A.lookahead)break}A.strstart+=A.lookahead,A.lookahead=0;var n=A.block_start+t;if((0===A.strstart||A.strstart>=n)&&(A.lookahead=A.strstart-n,A.strstart=n,h(A,!1),0===A.strm.avail_out))return 1;if(A.strstart-A.block_start>=A.w_size-g&&(h(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,4===e?(h(A,!0),0===A.strm.avail_out?3:4):(A.strstart>A.block_start&&(h(A,!1),A.strm.avail_out),1)})),new F(4,4,8,4,p),new F(4,5,16,8,p),new F(4,6,32,32,p),new F(4,4,16,16,m),new F(8,16,32,32,m),new F(8,16,128,128,m),new F(8,32,128,256,m),new F(32,128,258,1024,m),new F(32,258,258,4096,m)],t.deflateInit=function(A,e){return N(A,e,8,15,8,0)},t.deflateInit2=N,t.deflateReset=f,t.deflateResetKeep=Y,t.deflateSetHeader=function(A,e){return A&&A.state?2!==A.state.wrap?B:(A.state.gzhead=e,0):B},t.deflate=function(A,e){var t,i,s,a;if(!A||!A.state||5<e||e<0)return A?E(A,B):B;if(i=A.state,!A.output||!A.input&&0!==A.avail_in||666===i.status&&4!==e)return E(A,0===A.avail_out?-5:B);if(i.strm=A,t=i.last_flush,i.last_flush=e,42===i.status)if(2===i.wrap)A.adler=0,C(i,31),C(i,139),C(i,8),i.gzhead?(C(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),C(i,255&i.gzhead.time),C(i,i.gzhead.time>>8&255),C(i,i.gzhead.time>>16&255),C(i,i.gzhead.time>>24&255),C(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),C(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(C(i,255&i.gzhead.extra.length),C(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(A.adler=o(A.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(C(i,0),C(i,0),C(i,0),C(i,0),C(i,0),C(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),C(i,3),i.status=Q);else{var g=8+(i.w_bits-8<<4)<<8;g|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(g|=32),g+=31-g%31,i.status=Q,d(i,g),0!==i.strstart&&(d(i,A.adler>>>16),d(i,65535&A.adler)),A.adler=1}if(69===i.status)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(A.adler=o(A.adler,i.pending_buf,i.pending-s,s)),w(A),s=i.pending,i.pending!==i.pending_buf_size));)C(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(A.adler=o(A.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(A.adler=o(A.adler,i.pending_buf,i.pending-s,s)),w(A),s=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,C(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>s&&(A.adler=o(A.adler,i.pending_buf,i.pending-s,s)),0===a&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(A.adler=o(A.adler,i.pending_buf,i.pending-s,s)),w(A),s=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,C(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>s&&(A.adler=o(A.adler,i.pending_buf,i.pending-s,s)),0===a&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&w(A),i.pending+2<=i.pending_buf_size&&(C(i,255&A.adler),C(i,A.adler>>8&255),A.adler=0,i.status=Q)):i.status=Q),0!==i.pending){if(w(A),0===A.avail_out)return i.last_flush=-1,0}else if(0===A.avail_in&&l(e)<=l(t)&&4!==e)return E(A,-5);if(666===i.status&&0!==A.avail_in)return E(A,-5);if(0!==A.avail_in||0!==i.lookahead||0!==e&&666!==i.status){var I=2===i.strategy?function(A,e){for(var t;;){if(0===A.lookahead&&(M(A),0===A.lookahead)){if(0===e)return 1;break}if(A.match_length=0,t=r._tr_tally(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,t&&(h(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,4===e?(h(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(h(A,!1),0===A.strm.avail_out)?1:2}(i,e):3===i.strategy?function(A,e){for(var t,n,i,s,o=A.window;;){if(A.lookahead<=c){if(M(A),A.lookahead<=c&&0===e)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&0<A.strstart&&(n=o[i=A.strstart-1])===o[++i]&&n===o[++i]&&n===o[++i]){s=A.strstart+c;do{}while(n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&n===o[++i]&&i<s);A.match_length=c-(s-i),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(t=r._tr_tally(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(t=r._tr_tally(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),t&&(h(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,4===e?(h(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(h(A,!1),0===A.strm.avail_out)?1:2}(i,e):n[i.level].func(i,e);if(3!==I&&4!==I||(i.status=666),1===I||3===I)return 0===A.avail_out&&(i.last_flush=-1),0;if(2===I&&(1===e?r._tr_align(i):5!==e&&(r._tr_stored_block(i,0,0,!1),3===e&&(u(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),w(A),0===A.avail_out))return i.last_flush=-1,0}return 4!==e?0:i.wrap<=0?1:(2===i.wrap?(C(i,255&A.adler),C(i,A.adler>>8&255),C(i,A.adler>>16&255),C(i,A.adler>>24&255),C(i,255&A.total_in),C(i,A.total_in>>8&255),C(i,A.total_in>>16&255),C(i,A.total_in>>24&255)):(d(i,A.adler>>>16),d(i,65535&A.adler)),w(A),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?0:1)},t.deflateEnd=function(A){var e;return A&&A.state?42!==(e=A.state.status)&&69!==e&&73!==e&&91!==e&&103!==e&&e!==Q&&666!==e?E(A,B):(A.state=null,e===Q?E(A,-3):0):B},t.deflateSetDictionary=function(A,e){var t,n,r,o,a,c,g,Q,E=e.length;if(!A||!A.state)return B;if(2===(o=(t=A.state).wrap)||1===o&&42!==t.status||t.lookahead)return B;for(1===o&&(A.adler=s(A.adler,e,E,0)),t.wrap=0,E>=t.w_size&&(0===o&&(u(t.head),t.strstart=0,t.block_start=0,t.insert=0),Q=new i.Buf8(t.w_size),i.arraySet(Q,e,E-t.w_size,t.w_size,0),e=Q,E=t.w_size),a=A.avail_in,c=A.next_in,g=A.input,A.avail_in=E,A.next_in=0,A.input=e,M(t);t.lookahead>=3;){for(n=t.strstart,r=t.lookahead-2;t.ins_h=(t.ins_h<<t.hash_shift^t.window[n+3-1])&t.hash_mask,t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,--r;);t.strstart=n,t.lookahead=2,M(t)}return t.strstart+=t.lookahead,t.block_start=t.strstart,t.insert=t.lookahead,t.lookahead=0,t.match_length=t.prev_length=2,t.match_available=0,A.next_in=c,A.input=g,A.avail_in=a,t.wrap=o,0},t.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(A,e,t){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(A,e,t){"use strict";e.exports=function(A,e){var t,n,i,r,s,o,a,B,c,g,Q,E,l,u,w,h,C,d,I,M,p,m,F,D,Y;t=A.state,n=A.next_in,D=A.input,i=n+(A.avail_in-5),r=A.next_out,Y=A.output,s=r-(e-A.avail_out),o=r+(A.avail_out-257),a=t.dmax,B=t.wsize,c=t.whave,g=t.wnext,Q=t.window,E=t.hold,l=t.bits,u=t.lencode,w=t.distcode,h=(1<<t.lenbits)-1,C=(1<<t.distbits)-1;A:do{l<15&&(E+=D[n++]<<l,l+=8,E+=D[n++]<<l,l+=8),d=u[E&h];e:for(;;){if(E>>>=I=d>>>24,l-=I,0==(I=d>>>16&255))Y[r++]=65535&d;else{if(!(16&I)){if(0==(64&I)){d=u[(65535&d)+(E&(1<<I)-1)];continue e}if(32&I){t.mode=12;break A}A.msg="invalid literal/length code",t.mode=30;break A}M=65535&d,(I&=15)&&(l<I&&(E+=D[n++]<<l,l+=8),M+=E&(1<<I)-1,E>>>=I,l-=I),l<15&&(E+=D[n++]<<l,l+=8,E+=D[n++]<<l,l+=8),d=w[E&C];t:for(;;){if(E>>>=I=d>>>24,l-=I,!(16&(I=d>>>16&255))){if(0==(64&I)){d=w[(65535&d)+(E&(1<<I)-1)];continue t}A.msg="invalid distance code",t.mode=30;break A}if(p=65535&d,l<(I&=15)&&(E+=D[n++]<<l,(l+=8)<I&&(E+=D[n++]<<l,l+=8)),a<(p+=E&(1<<I)-1)){A.msg="invalid distance too far back",t.mode=30;break A}if(E>>>=I,l-=I,(I=r-s)<p){if(c<(I=p-I)&&t.sane){A.msg="invalid distance too far back",t.mode=30;break A}if(F=Q,(m=0)===g){if(m+=B-I,I<M){for(M-=I;Y[r++]=Q[m++],--I;);m=r-p,F=Y}}else if(g<I){if(m+=B+g-I,(I-=g)<M){for(M-=I;Y[r++]=Q[m++],--I;);if(m=0,g<M){for(M-=I=g;Y[r++]=Q[m++],--I;);m=r-p,F=Y}}}else if(m+=g-I,I<M){for(M-=I;Y[r++]=Q[m++],--I;);m=r-p,F=Y}for(;2<M;)Y[r++]=F[m++],Y[r++]=F[m++],Y[r++]=F[m++],M-=3;M&&(Y[r++]=F[m++],1<M&&(Y[r++]=F[m++]))}else{for(m=r-p;Y[r++]=Y[m++],Y[r++]=Y[m++],Y[r++]=Y[m++],2<(M-=3););M&&(Y[r++]=Y[m++],1<M&&(Y[r++]=Y[m++]))}break}}break}}while(n<i&&r<o);n-=M=l>>3,E&=(1<<(l-=M<<3))-1,A.next_in=n,A.next_out=r,A.avail_in=n<i?i-n+5:5-(n-i),A.avail_out=r<o?o-r+257:257-(r-o),t.hold=E,t.bits=l}},{}],49:[function(A,e,t){"use strict";var n=A("../utils/common"),i=A("./adler32"),r=A("./crc32"),s=A("./inffast"),o=A("./inftrees"),a=-2;function B(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function c(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function g(A){var e;return A&&A.state?(e=A.state,A.total_in=A.total_out=e.total=0,A.msg="",e.wrap&&(A.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new n.Buf32(852),e.distcode=e.distdyn=new n.Buf32(592),e.sane=1,e.back=-1,0):a}function Q(A){var e;return A&&A.state?((e=A.state).wsize=0,e.whave=0,e.wnext=0,g(A)):a}function E(A,e){var t,n;return A&&A.state?(n=A.state,e<0?(t=0,e=-e):(t=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?a:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=t,n.wbits=e,Q(A))):a}function l(A,e){var t,n;return A?(n=new c,(A.state=n).window=null,0!==(t=E(A,e))&&(A.state=null),t):a}var u,w,h=!0;function C(A){if(h){var e;for(u=new n.Buf32(512),w=new n.Buf32(32),e=0;e<144;)A.lens[e++]=8;for(;e<256;)A.lens[e++]=9;for(;e<280;)A.lens[e++]=7;for(;e<288;)A.lens[e++]=8;for(o(1,A.lens,0,288,u,0,A.work,{bits:9}),e=0;e<32;)A.lens[e++]=5;o(2,A.lens,0,32,w,0,A.work,{bits:5}),h=!1}A.lencode=u,A.lenbits=9,A.distcode=w,A.distbits=5}function d(A,e,t,i){var r,s=A.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new n.Buf8(s.wsize)),i>=s.wsize?(n.arraySet(s.window,e,t-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(r=s.wsize-s.wnext)&&(r=i),n.arraySet(s.window,e,t-i,r,s.wnext),(i-=r)?(n.arraySet(s.window,e,t-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=r))),0}t.inflateReset=Q,t.inflateReset2=E,t.inflateResetKeep=g,t.inflateInit=function(A){return l(A,15)},t.inflateInit2=l,t.inflate=function(A,e){var t,c,g,Q,E,l,u,w,h,I,M,p,m,F,D,Y,f,N,U,y,x,T,R,G,S=0,H=new n.Buf8(4),b=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return a;12===(t=A.state).mode&&(t.mode=13),E=A.next_out,g=A.output,u=A.avail_out,Q=A.next_in,c=A.input,l=A.avail_in,w=t.hold,h=t.bits,I=l,M=u,T=0;A:for(;;)switch(t.mode){case 1:if(0===t.wrap){t.mode=13;break}for(;h<16;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(2&t.wrap&&35615===w){H[t.check=0]=255&w,H[1]=w>>>8&255,t.check=r(t.check,H,2,0),h=w=0,t.mode=2;break}if(t.flags=0,t.head&&(t.head.done=!1),!(1&t.wrap)||(((255&w)<<8)+(w>>8))%31){A.msg="incorrect header check",t.mode=30;break}if(8!=(15&w)){A.msg="unknown compression method",t.mode=30;break}if(h-=4,x=8+(15&(w>>>=4)),0===t.wbits)t.wbits=x;else if(x>t.wbits){A.msg="invalid window size",t.mode=30;break}t.dmax=1<<x,A.adler=t.check=1,t.mode=512&w?10:12,h=w=0;break;case 2:for(;h<16;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(t.flags=w,8!=(255&t.flags)){A.msg="unknown compression method",t.mode=30;break}if(57344&t.flags){A.msg="unknown header flags set",t.mode=30;break}t.head&&(t.head.text=w>>8&1),512&t.flags&&(H[0]=255&w,H[1]=w>>>8&255,t.check=r(t.check,H,2,0)),h=w=0,t.mode=3;case 3:for(;h<32;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}t.head&&(t.head.time=w),512&t.flags&&(H[0]=255&w,H[1]=w>>>8&255,H[2]=w>>>16&255,H[3]=w>>>24&255,t.check=r(t.check,H,4,0)),h=w=0,t.mode=4;case 4:for(;h<16;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}t.head&&(t.head.xflags=255&w,t.head.os=w>>8),512&t.flags&&(H[0]=255&w,H[1]=w>>>8&255,t.check=r(t.check,H,2,0)),h=w=0,t.mode=5;case 5:if(1024&t.flags){for(;h<16;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}t.length=w,t.head&&(t.head.extra_len=w),512&t.flags&&(H[0]=255&w,H[1]=w>>>8&255,t.check=r(t.check,H,2,0)),h=w=0}else t.head&&(t.head.extra=null);t.mode=6;case 6:if(1024&t.flags&&(l<(p=t.length)&&(p=l),p&&(t.head&&(x=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Array(t.head.extra_len)),n.arraySet(t.head.extra,c,Q,p,x)),512&t.flags&&(t.check=r(t.check,c,p,Q)),l-=p,Q+=p,t.length-=p),t.length))break A;t.length=0,t.mode=7;case 7:if(2048&t.flags){if(0===l)break A;for(p=0;x=c[Q+p++],t.head&&x&&t.length<65536&&(t.head.name+=String.fromCharCode(x)),x&&p<l;);if(512&t.flags&&(t.check=r(t.check,c,p,Q)),l-=p,Q+=p,x)break A}else t.head&&(t.head.name=null);t.length=0,t.mode=8;case 8:if(4096&t.flags){if(0===l)break A;for(p=0;x=c[Q+p++],t.head&&x&&t.length<65536&&(t.head.comment+=String.fromCharCode(x)),x&&p<l;);if(512&t.flags&&(t.check=r(t.check,c,p,Q)),l-=p,Q+=p,x)break A}else t.head&&(t.head.comment=null);t.mode=9;case 9:if(512&t.flags){for(;h<16;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(w!==(65535&t.check)){A.msg="header crc mismatch",t.mode=30;break}h=w=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),A.adler=t.check=0,t.mode=12;break;case 10:for(;h<32;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}A.adler=t.check=B(w),h=w=0,t.mode=11;case 11:if(0===t.havedict)return A.next_out=E,A.avail_out=u,A.next_in=Q,A.avail_in=l,t.hold=w,t.bits=h,2;A.adler=t.check=1,t.mode=12;case 12:if(5===e||6===e)break A;case 13:if(t.last){w>>>=7&h,h-=7&h,t.mode=27;break}for(;h<3;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}switch(t.last=1&w,h-=1,3&(w>>>=1)){case 0:t.mode=14;break;case 1:if(C(t),t.mode=20,6!==e)break;w>>>=2,h-=2;break A;case 2:t.mode=17;break;case 3:A.msg="invalid block type",t.mode=30}w>>>=2,h-=2;break;case 14:for(w>>>=7&h,h-=7&h;h<32;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if((65535&w)!=(w>>>16^65535)){A.msg="invalid stored block lengths",t.mode=30;break}if(t.length=65535&w,h=w=0,t.mode=15,6===e)break A;case 15:t.mode=16;case 16:if(p=t.length){if(l<p&&(p=l),u<p&&(p=u),0===p)break A;n.arraySet(g,c,Q,p,E),l-=p,Q+=p,u-=p,E+=p,t.length-=p;break}t.mode=12;break;case 17:for(;h<14;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(t.nlen=257+(31&w),w>>>=5,h-=5,t.ndist=1+(31&w),w>>>=5,h-=5,t.ncode=4+(15&w),w>>>=4,h-=4,286<t.nlen||30<t.ndist){A.msg="too many length or distance symbols",t.mode=30;break}t.have=0,t.mode=18;case 18:for(;t.have<t.ncode;){for(;h<3;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}t.lens[b[t.have++]]=7&w,w>>>=3,h-=3}for(;t.have<19;)t.lens[b[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,R={bits:t.lenbits},T=o(0,t.lens,0,19,t.lencode,0,t.work,R),t.lenbits=R.bits,T){A.msg="invalid code lengths set",t.mode=30;break}t.have=0,t.mode=19;case 19:for(;t.have<t.nlen+t.ndist;){for(;Y=(S=t.lencode[w&(1<<t.lenbits)-1])>>>16&255,f=65535&S,!((D=S>>>24)<=h);){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(f<16)w>>>=D,h-=D,t.lens[t.have++]=f;else{if(16===f){for(G=D+2;h<G;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(w>>>=D,h-=D,0===t.have){A.msg="invalid bit length repeat",t.mode=30;break}x=t.lens[t.have-1],p=3+(3&w),w>>>=2,h-=2}else if(17===f){for(G=D+3;h<G;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}h-=D,x=0,p=3+(7&(w>>>=D)),w>>>=3,h-=3}else{for(G=D+7;h<G;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}h-=D,x=0,p=11+(127&(w>>>=D)),w>>>=7,h-=7}if(t.have+p>t.nlen+t.ndist){A.msg="invalid bit length repeat",t.mode=30;break}for(;p--;)t.lens[t.have++]=x}}if(30===t.mode)break;if(0===t.lens[256]){A.msg="invalid code -- missing end-of-block",t.mode=30;break}if(t.lenbits=9,R={bits:t.lenbits},T=o(1,t.lens,0,t.nlen,t.lencode,0,t.work,R),t.lenbits=R.bits,T){A.msg="invalid literal/lengths set",t.mode=30;break}if(t.distbits=6,t.distcode=t.distdyn,R={bits:t.distbits},T=o(2,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,R),t.distbits=R.bits,T){A.msg="invalid distances set",t.mode=30;break}if(t.mode=20,6===e)break A;case 20:t.mode=21;case 21:if(6<=l&&258<=u){A.next_out=E,A.avail_out=u,A.next_in=Q,A.avail_in=l,t.hold=w,t.bits=h,s(A,M),E=A.next_out,g=A.output,u=A.avail_out,Q=A.next_in,c=A.input,l=A.avail_in,w=t.hold,h=t.bits,12===t.mode&&(t.back=-1);break}for(t.back=0;Y=(S=t.lencode[w&(1<<t.lenbits)-1])>>>16&255,f=65535&S,!((D=S>>>24)<=h);){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(Y&&0==(240&Y)){for(N=D,U=Y,y=f;Y=(S=t.lencode[y+((w&(1<<N+U)-1)>>N)])>>>16&255,f=65535&S,!(N+(D=S>>>24)<=h);){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}w>>>=N,h-=N,t.back+=N}if(w>>>=D,h-=D,t.back+=D,t.length=f,0===Y){t.mode=26;break}if(32&Y){t.back=-1,t.mode=12;break}if(64&Y){A.msg="invalid literal/length code",t.mode=30;break}t.extra=15&Y,t.mode=22;case 22:if(t.extra){for(G=t.extra;h<G;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}t.length+=w&(1<<t.extra)-1,w>>>=t.extra,h-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=23;case 23:for(;Y=(S=t.distcode[w&(1<<t.distbits)-1])>>>16&255,f=65535&S,!((D=S>>>24)<=h);){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(0==(240&Y)){for(N=D,U=Y,y=f;Y=(S=t.distcode[y+((w&(1<<N+U)-1)>>N)])>>>16&255,f=65535&S,!(N+(D=S>>>24)<=h);){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}w>>>=N,h-=N,t.back+=N}if(w>>>=D,h-=D,t.back+=D,64&Y){A.msg="invalid distance code",t.mode=30;break}t.offset=f,t.extra=15&Y,t.mode=24;case 24:if(t.extra){for(G=t.extra;h<G;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}t.offset+=w&(1<<t.extra)-1,w>>>=t.extra,h-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){A.msg="invalid distance too far back",t.mode=30;break}t.mode=25;case 25:if(0===u)break A;if(p=M-u,t.offset>p){if((p=t.offset-p)>t.whave&&t.sane){A.msg="invalid distance too far back",t.mode=30;break}m=p>t.wnext?(p-=t.wnext,t.wsize-p):t.wnext-p,p>t.length&&(p=t.length),F=t.window}else F=g,m=E-t.offset,p=t.length;for(u<p&&(p=u),u-=p,t.length-=p;g[E++]=F[m++],--p;);0===t.length&&(t.mode=21);break;case 26:if(0===u)break A;g[E++]=t.length,u--,t.mode=21;break;case 27:if(t.wrap){for(;h<32;){if(0===l)break A;l--,w|=c[Q++]<<h,h+=8}if(M-=u,A.total_out+=M,t.total+=M,M&&(A.adler=t.check=t.flags?r(t.check,g,M,E-M):i(t.check,g,M,E-M)),M=u,(t.flags?w:B(w))!==t.check){A.msg="incorrect data check",t.mode=30;break}h=w=0}t.mode=28;case 28:if(t.wrap&&t.flags){for(;h<32;){if(0===l)break A;l--,w+=c[Q++]<<h,h+=8}if(w!==(4294967295&t.total)){A.msg="incorrect length check",t.mode=30;break}h=w=0}t.mode=29;case 29:T=1;break A;case 30:T=-3;break A;case 31:return-4;case 32:default:return a}return A.next_out=E,A.avail_out=u,A.next_in=Q,A.avail_in=l,t.hold=w,t.bits=h,(t.wsize||M!==A.avail_out&&t.mode<30&&(t.mode<27||4!==e))&&d(A,A.output,A.next_out,M-A.avail_out)?(t.mode=31,-4):(I-=A.avail_in,M-=A.avail_out,A.total_in+=I,A.total_out+=M,t.total+=M,t.wrap&&M&&(A.adler=t.check=t.flags?r(t.check,g,M,A.next_out-M):i(t.check,g,M,A.next_out-M)),A.data_type=t.bits+(t.last?64:0)+(12===t.mode?128:0)+(20===t.mode||15===t.mode?256:0),(0==I&&0===M||4===e)&&0===T&&(T=-5),T)},t.inflateEnd=function(A){if(!A||!A.state)return a;var e=A.state;return e.window&&(e.window=null),A.state=null,0},t.inflateGetHeader=function(A,e){var t;return A&&A.state?0==(2&(t=A.state).wrap)?a:((t.head=e).done=!1,0):a},t.inflateSetDictionary=function(A,e){var t,n=e.length;return A&&A.state?0!==(t=A.state).wrap&&11!==t.mode?a:11===t.mode&&i(1,e,n,0)!==t.check?-3:d(A,e,n,n)?(t.mode=31,-4):(t.havedict=1,0):a},t.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(A,e,t){"use strict";var n=A("../utils/common"),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],r=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],o=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(A,e,t,a,B,c,g,Q){var E,l,u,w,h,C,d,I,M,p=Q.bits,m=0,F=0,D=0,Y=0,f=0,N=0,U=0,y=0,x=0,T=0,R=null,G=0,S=new n.Buf16(16),H=new n.Buf16(16),b=null,k=0;for(m=0;m<=15;m++)S[m]=0;for(F=0;F<a;F++)S[e[t+F]]++;for(f=p,Y=15;1<=Y&&0===S[Y];Y--);if(Y<f&&(f=Y),0===Y)return B[c++]=20971520,B[c++]=20971520,Q.bits=1,0;for(D=1;D<Y&&0===S[D];D++);for(f<D&&(f=D),m=y=1;m<=15;m++)if(y<<=1,(y-=S[m])<0)return-1;if(0<y&&(0===A||1!==Y))return-1;for(H[1]=0,m=1;m<15;m++)H[m+1]=H[m]+S[m];for(F=0;F<a;F++)0!==e[t+F]&&(g[H[e[t+F]]++]=F);if(C=0===A?(R=b=g,19):1===A?(R=i,G-=257,b=r,k-=257,256):(R=s,b=o,-1),m=D,h=c,U=F=T=0,u=-1,w=(x=1<<(N=f))-1,1===A&&852<x||2===A&&592<x)return 1;for(;;){for(d=m-U,M=g[F]<C?(I=0,g[F]):g[F]>C?(I=b[k+g[F]],R[G+g[F]]):(I=96,0),E=1<<m-U,D=l=1<<N;B[h+(T>>U)+(l-=E)]=d<<24|I<<16|M|0,0!==l;);for(E=1<<m-1;T&E;)E>>=1;if(0!==E?(T&=E-1,T+=E):T=0,F++,0==--S[m]){if(m===Y)break;m=e[t+g[F]]}if(f<m&&(T&w)!==u){for(0===U&&(U=f),h+=D,y=1<<(N=m-U);N+U<Y&&!((y-=S[N+U])<=0);)N++,y<<=1;if(x+=1<<N,1===A&&852<x||2===A&&592<x)return 1;B[u=T&w]=f<<24|N<<16|h-c|0}}return 0!==T&&(B[h+T]=m-U<<24|64<<16|0),Q.bits=f,0}},{"../utils/common":41}],51:[function(A,e,t){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(A,e,t){"use strict";var n=A("../utils/common");function i(A){for(var e=A.length;0<=--e;)A[e]=0}var r=256,s=286,o=30,a=15,B=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],c=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],g=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Q=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],E=new Array(576);i(E);var l=new Array(60);i(l);var u=new Array(512);i(u);var w=new Array(256);i(w);var h=new Array(29);i(h);var C,d,I,M=new Array(o);function p(A,e,t,n,i){this.static_tree=A,this.extra_bits=e,this.extra_base=t,this.elems=n,this.max_length=i,this.has_stree=A&&A.length}function m(A,e){this.dyn_tree=A,this.max_code=0,this.stat_desc=e}function F(A){return A<256?u[A]:u[256+(A>>>7)]}function D(A,e){A.pending_buf[A.pending++]=255&e,A.pending_buf[A.pending++]=e>>>8&255}function Y(A,e,t){A.bi_valid>16-t?(A.bi_buf|=e<<A.bi_valid&65535,D(A,A.bi_buf),A.bi_buf=e>>16-A.bi_valid,A.bi_valid+=t-16):(A.bi_buf|=e<<A.bi_valid&65535,A.bi_valid+=t)}function f(A,e,t){Y(A,t[2*e],t[2*e+1])}function N(A,e){for(var t=0;t|=1&A,A>>>=1,t<<=1,0<--e;);return t>>>1}function U(A,e,t){var n,i,r=new Array(16),s=0;for(n=1;n<=a;n++)r[n]=s=s+t[n-1]<<1;for(i=0;i<=e;i++){var o=A[2*i+1];0!==o&&(A[2*i]=N(r[o]++,o))}}function y(A){var e;for(e=0;e<s;e++)A.dyn_ltree[2*e]=0;for(e=0;e<o;e++)A.dyn_dtree[2*e]=0;for(e=0;e<19;e++)A.bl_tree[2*e]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.last_lit=A.matches=0}function x(A){8<A.bi_valid?D(A,A.bi_buf):0<A.bi_valid&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0}function T(A,e,t,n){var i=2*e,r=2*t;return A[i]<A[r]||A[i]===A[r]&&n[e]<=n[t]}function R(A,e,t){for(var n=A.heap[t],i=t<<1;i<=A.heap_len&&(i<A.heap_len&&T(e,A.heap[i+1],A.heap[i],A.depth)&&i++,!T(e,n,A.heap[i],A.depth));)A.heap[t]=A.heap[i],t=i,i<<=1;A.heap[t]=n}function G(A,e,t){var n,i,s,o,a=0;if(0!==A.last_lit)for(;n=A.pending_buf[A.d_buf+2*a]<<8|A.pending_buf[A.d_buf+2*a+1],i=A.pending_buf[A.l_buf+a],a++,0===n?f(A,i,e):(f(A,(s=w[i])+r+1,e),0!==(o=B[s])&&Y(A,i-=h[s],o),f(A,s=F(--n),t),0!==(o=c[s])&&Y(A,n-=M[s],o)),a<A.last_lit;);f(A,256,e)}function S(A,e){var t,n,i,r=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,B=e.stat_desc.elems,c=-1;for(A.heap_len=0,A.heap_max=573,t=0;t<B;t++)0!==r[2*t]?(A.heap[++A.heap_len]=c=t,A.depth[t]=0):r[2*t+1]=0;for(;A.heap_len<2;)r[2*(i=A.heap[++A.heap_len]=c<2?++c:0)]=1,A.depth[i]=0,A.opt_len--,o&&(A.static_len-=s[2*i+1]);for(e.max_code=c,t=A.heap_len>>1;1<=t;t--)R(A,r,t);for(i=B;t=A.heap[1],A.heap[1]=A.heap[A.heap_len--],R(A,r,1),n=A.heap[1],A.heap[--A.heap_max]=t,A.heap[--A.heap_max]=n,r[2*i]=r[2*t]+r[2*n],A.depth[i]=(A.depth[t]>=A.depth[n]?A.depth[t]:A.depth[n])+1,r[2*t+1]=r[2*n+1]=i,A.heap[1]=i++,R(A,r,1),2<=A.heap_len;);A.heap[--A.heap_max]=A.heap[1],function(A,e){var t,n,i,r,s,o,B=e.dyn_tree,c=e.max_code,g=e.stat_desc.static_tree,Q=e.stat_desc.has_stree,E=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,u=e.stat_desc.max_length,w=0;for(r=0;r<=a;r++)A.bl_count[r]=0;for(B[2*A.heap[A.heap_max]+1]=0,t=A.heap_max+1;t<573;t++)u<(r=B[2*B[2*(n=A.heap[t])+1]+1]+1)&&(r=u,w++),B[2*n+1]=r,c<n||(A.bl_count[r]++,s=0,l<=n&&(s=E[n-l]),o=B[2*n],A.opt_len+=o*(r+s),Q&&(A.static_len+=o*(g[2*n+1]+s)));if(0!==w){do{for(r=u-1;0===A.bl_count[r];)r--;A.bl_count[r]--,A.bl_count[r+1]+=2,A.bl_count[u]--,w-=2}while(0<w);for(r=u;0!==r;r--)for(n=A.bl_count[r];0!==n;)c<(i=A.heap[--t])||(B[2*i+1]!==r&&(A.opt_len+=(r-B[2*i+1])*B[2*i],B[2*i+1]=r),n--)}}(A,e),U(r,c,A.bl_count)}function H(A,e,t){var n,i,r=-1,s=e[1],o=0,a=7,B=4;for(0===s&&(a=138,B=3),e[2*(t+1)+1]=65535,n=0;n<=t;n++)i=s,s=e[2*(n+1)+1],++o<a&&i===s||(o<B?A.bl_tree[2*i]+=o:0!==i?(i!==r&&A.bl_tree[2*i]++,A.bl_tree[32]++):o<=10?A.bl_tree[34]++:A.bl_tree[36]++,r=i,B=(o=0)===s?(a=138,3):i===s?(a=6,3):(a=7,4))}function b(A,e,t){var n,i,r=-1,s=e[1],o=0,a=7,B=4;for(0===s&&(a=138,B=3),n=0;n<=t;n++)if(i=s,s=e[2*(n+1)+1],!(++o<a&&i===s)){if(o<B)for(;f(A,i,A.bl_tree),0!=--o;);else 0!==i?(i!==r&&(f(A,i,A.bl_tree),o--),f(A,16,A.bl_tree),Y(A,o-3,2)):o<=10?(f(A,17,A.bl_tree),Y(A,o-3,3)):(f(A,18,A.bl_tree),Y(A,o-11,7));r=i,B=(o=0)===s?(a=138,3):i===s?(a=6,3):(a=7,4)}}i(M);var k=!1;function J(A,e,t,i){Y(A,0+(i?1:0),3),function(A,e,t,i){x(A),D(A,t),D(A,~t),n.arraySet(A.pending_buf,A.window,e,t,A.pending),A.pending+=t}(A,e,t)}t._tr_init=function(A){k||(function(){var A,e,t,n,i,r=new Array(16);for(n=t=0;n<28;n++)for(h[n]=t,A=0;A<1<<B[n];A++)w[t++]=n;for(w[t-1]=n,n=i=0;n<16;n++)for(M[n]=i,A=0;A<1<<c[n];A++)u[i++]=n;for(i>>=7;n<o;n++)for(M[n]=i<<7,A=0;A<1<<c[n]-7;A++)u[256+i++]=n;for(e=0;e<=a;e++)r[e]=0;for(A=0;A<=143;)E[2*A+1]=8,A++,r[8]++;for(;A<=255;)E[2*A+1]=9,A++,r[9]++;for(;A<=279;)E[2*A+1]=7,A++,r[7]++;for(;A<=287;)E[2*A+1]=8,A++,r[8]++;for(U(E,287,r),A=0;A<o;A++)l[2*A+1]=5,l[2*A]=N(A,5);C=new p(E,B,257,s,a),d=new p(l,c,0,o,a),I=new p(new Array(0),g,0,19,7)}(),k=!0),A.l_desc=new m(A.dyn_ltree,C),A.d_desc=new m(A.dyn_dtree,d),A.bl_desc=new m(A.bl_tree,I),A.bi_buf=0,A.bi_valid=0,y(A)},t._tr_stored_block=J,t._tr_flush_block=function(A,e,t,n){var i,s,o=0;0<A.level?(2===A.strm.data_type&&(A.strm.data_type=function(A){var e,t=4093624447;for(e=0;e<=31;e++,t>>>=1)if(1&t&&0!==A.dyn_ltree[2*e])return 0;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return 1;for(e=32;e<r;e++)if(0!==A.dyn_ltree[2*e])return 1;return 0}(A)),S(A,A.l_desc),S(A,A.d_desc),o=function(A){var e;for(H(A,A.dyn_ltree,A.l_desc.max_code),H(A,A.dyn_dtree,A.d_desc.max_code),S(A,A.bl_desc),e=18;3<=e&&0===A.bl_tree[2*Q[e]+1];e--);return A.opt_len+=3*(e+1)+5+5+4,e}(A),i=A.opt_len+3+7>>>3,(s=A.static_len+3+7>>>3)<=i&&(i=s)):i=s=t+5,t+4<=i&&-1!==e?J(A,e,t,n):4===A.strategy||s===i?(Y(A,2+(n?1:0),3),G(A,E,l)):(Y(A,4+(n?1:0),3),function(A,e,t,n){var i;for(Y(A,e-257,5),Y(A,t-1,5),Y(A,n-4,4),i=0;i<n;i++)Y(A,A.bl_tree[2*Q[i]+1],3);b(A,A.dyn_ltree,e-1),b(A,A.dyn_dtree,t-1)}(A,A.l_desc.max_code+1,A.d_desc.max_code+1,o+1),G(A,A.dyn_ltree,A.dyn_dtree)),y(A),n&&x(A)},t._tr_tally=function(A,e,t){return A.pending_buf[A.d_buf+2*A.last_lit]=e>>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&e,A.pending_buf[A.l_buf+A.last_lit]=255&t,A.last_lit++,0===e?A.dyn_ltree[2*t]++:(A.matches++,e--,A.dyn_ltree[2*(w[t]+r+1)]++,A.dyn_dtree[2*F(e)]++),A.last_lit===A.lit_bufsize-1},t._tr_align=function(A){Y(A,2,3),f(A,256,E),function(A){16===A.bi_valid?(D(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):8<=A.bi_valid&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)}(A)}},{"../utils/common":41}],53:[function(A,e,t){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(A,e,t){(function(A){!function(A,e){"use strict";if(!A.setImmediate){var t,n,r,s,o=1,a={},B=!1,c=A.document,g=Object.getPrototypeOf&&Object.getPrototypeOf(A);g=g&&g.setTimeout?g:A,t="[object process]"==={}.toString.call(A.process)?function(A){i.nextTick((function(){E(A)}))}:function(){if(A.postMessage&&!A.importScripts){var e=!0,t=A.onmessage;return A.onmessage=function(){e=!1},A.postMessage("","*"),A.onmessage=t,e}}()?(s="setImmediate$"+Math.random()+"$",A.addEventListener?A.addEventListener("message",l,!1):A.attachEvent("onmessage",l),function(e){A.postMessage(s+e,"*")}):A.MessageChannel?((r=new MessageChannel).port1.onmessage=function(A){E(A.data)},function(A){r.port2.postMessage(A)}):c&&"onreadystatechange"in c.createElement("script")?(n=c.documentElement,function(A){var e=c.createElement("script");e.onreadystatechange=function(){E(A),e.onreadystatechange=null,n.removeChild(e),e=null},n.appendChild(e)}):function(A){setTimeout(E,0,A)},g.setImmediate=function(A){"function"!=typeof A&&(A=new Function(""+A));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var i={callback:A,args:e};return a[o]=i,t(o),o++},g.clearImmediate=Q}function Q(A){delete a[A]}function E(A){if(B)setTimeout(E,0,A);else{var e=a[A];if(e){B=!0;try{!function(A){var e=A.callback,t=A.args;switch(t.length){case 0:e();break;case 1:e(t[0]);break;case 2:e(t[0],t[1]);break;case 3:e(t[0],t[1],t[2]);break;default:e.apply(void 0,t)}}(e)}finally{Q(A),B=!1}}}}function l(e){e.source===A&&"string"==typeof e.data&&0===e.data.indexOf(s)&&E(+e.data.slice(s.length))}}("undefined"==typeof self?void 0===A?this:A:self)}).call(this,void 0!==n?n:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)}).call(this,t(25).Buffer,t(164).setImmediate,t(19),t(50))},function(A,e,t){A.exports=function(){"use strict";var A=Array.prototype.slice;function e(A,e){e&&(A.prototype=Object.create(e.prototype)),A.prototype.constructor=A}function t(A){return s(A)?A:v(A)}function n(A){return o(A)?A:L(A)}function i(A){return a(A)?A:P(A)}function r(A){return s(A)&&!B(A)?A:O(A)}function s(A){return!(!A||!A[g])}function o(A){return!(!A||!A[Q])}function a(A){return!(!A||!A[E])}function B(A){return o(A)||a(A)}function c(A){return!(!A||!A[l])}e(n,t),e(i,t),e(r,t),t.isIterable=s,t.isKeyed=o,t.isIndexed=a,t.isAssociative=B,t.isOrdered=c,t.Keyed=n,t.Indexed=i,t.Set=r;var g="@@__IMMUTABLE_ITERABLE__@@",Q="@@__IMMUTABLE_KEYED__@@",E="@@__IMMUTABLE_INDEXED__@@",l="@@__IMMUTABLE_ORDERED__@@",u={},w={value:!1},h={value:!1};function C(A){return A.value=!1,A}function d(A){A&&(A.value=!0)}function I(){}function M(A,e){e=e||0;for(var t=Math.max(0,A.length-e),n=new Array(t),i=0;i<t;i++)n[i]=A[i+e];return n}function p(A){return void 0===A.size&&(A.size=A.__iterate(F)),A.size}function m(A,e){if("number"!=typeof e){var t=e>>>0;if(""+t!==e||4294967295===t)return NaN;e=t}return e<0?p(A)+e:e}function F(){return!0}function D(A,e,t){return(0===A||void 0!==t&&A<=-t)&&(void 0===e||void 0!==t&&e>=t)}function Y(A,e){return N(A,e,0)}function f(A,e){return N(A,e,e)}function N(A,e,t){return void 0===A?t:A<0?Math.max(0,e+A):void 0===e?A:Math.min(e,A)}var U,y,x,T="function"==typeof Symbol&&Symbol.iterator,R=T||"@@iterator";function G(A){this.next=A}function S(A,e,t,n){var i=0===A?e:1===A?t:[e,t];return n?n.value=i:n={value:i,done:!1},n}function H(){return{value:void 0,done:!0}}function b(A){return!!j(A)}function k(A){return A&&"function"==typeof A.next}function J(A){var e=j(A);return e&&e.call(A)}function j(A){var e=A&&(T&&A[T]||A["@@iterator"]);if("function"==typeof e)return e}function z(A){return A&&"number"==typeof A.length}function v(A){return null==A?_():s(A)?A.toSeq():function(A){var e=AA(A)||"object"==typeof A&&new V(A);if(!e)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+A);return e}(A)}function L(A){return null==A?_().toKeyedSeq():s(A)?o(A)?A.toSeq():A.fromEntrySeq():q(A)}function P(A){return null==A?_():s(A)?o(A)?A.entrySeq():A.toIndexedSeq():$(A)}function O(A){return(null==A?_():s(A)?o(A)?A.entrySeq():A:$(A)).toSetSeq()}function W(A){this._array=A,this.size=A.length}function V(A){var e=Object.keys(A);this._object=A,this._keys=e,this.size=e.length}function K(A){this._iterable=A,this.size=A.length||A.size}function X(A){this._iterator=A,this._iteratorCache=[]}function Z(A){return!(!A||!A["@@__IMMUTABLE_SEQ__@@"])}function _(){return U||(U=new W([]))}function q(A){var e=Array.isArray(A)?new W(A).fromEntrySeq():k(A)?new X(A).fromEntrySeq():b(A)?new K(A).fromEntrySeq():"object"==typeof A?new V(A):void 0;if(!e)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+A);return e}function $(A){var e=AA(A);if(!e)throw new TypeError("Expected Array or iterable object of values: "+A);return e}function AA(A){return z(A)?new W(A):k(A)?new X(A):b(A)?new K(A):void 0}function eA(A,e,t,n){var i=A._cache;if(i){for(var r=i.length-1,s=0;s<=r;s++){var o=i[t?r-s:s];if(!1===e(o[1],n?o[0]:s,A))return s+1}return s}return A.__iterateUncached(e,t)}function tA(A,e,t,n){var i=A._cache;if(i){var r=i.length-1,s=0;return new G((function(){var A=i[t?r-s:s];return s++>r?{value:void 0,done:!0}:S(e,n?A[0]:s-1,A[1])}))}return A.__iteratorUncached(e,t)}function nA(A,e){return e?function A(e,t,n,i){return Array.isArray(t)?e.call(i,n,P(t).map((function(n,i){return A(e,n,i,t)}))):rA(t)?e.call(i,n,L(t).map((function(n,i){return A(e,n,i,t)}))):t}(e,A,"",{"":A}):iA(A)}function iA(A){return Array.isArray(A)?P(A).map(iA).toList():rA(A)?L(A).map(iA).toMap():A}function rA(A){return A&&(A.constructor===Object||void 0===A.constructor)}function sA(A,e){if(A===e||A!=A&&e!=e)return!0;if(!A||!e)return!1;if("function"==typeof A.valueOf&&"function"==typeof e.valueOf){if((A=A.valueOf())===(e=e.valueOf())||A!=A&&e!=e)return!0;if(!A||!e)return!1}return!("function"!=typeof A.equals||"function"!=typeof e.equals||!A.equals(e))}function oA(A,e){if(A===e)return!0;if(!s(e)||void 0!==A.size&&void 0!==e.size&&A.size!==e.size||void 0!==A.__hash&&void 0!==e.__hash&&A.__hash!==e.__hash||o(A)!==o(e)||a(A)!==a(e)||c(A)!==c(e))return!1;if(0===A.size&&0===e.size)return!0;var t=!B(A);if(c(A)){var n=A.entries();return e.every((function(A,e){var i=n.next().value;return i&&sA(i[1],A)&&(t||sA(i[0],e))}))&&n.next().done}var i=!1;if(void 0===A.size)if(void 0===e.size)"function"==typeof A.cacheResult&&A.cacheResult();else{i=!0;var r=A;A=e,e=r}var g=!0,Q=e.__iterate((function(e,n){if(t?!A.has(e):i?!sA(e,A.get(n,u)):!sA(A.get(n,u),e))return g=!1,!1}));return g&&A.size===Q}function aA(A,e){if(!(this instanceof aA))return new aA(A,e);if(this._value=A,this.size=void 0===e?1/0:Math.max(0,e),0===this.size){if(y)return y;y=this}}function BA(A,e){if(!A)throw new Error(e)}function cA(A,e,t){if(!(this instanceof cA))return new cA(A,e,t);if(BA(0!==t,"Cannot step a Range by 0"),A=A||0,void 0===e&&(e=1/0),t=void 0===t?1:Math.abs(t),e<A&&(t=-t),this._start=A,this._end=e,this._step=t,this.size=Math.max(0,Math.ceil((e-A)/t-1)+1),0===this.size){if(x)return x;x=this}}function gA(){throw TypeError("Abstract")}function QA(){}function EA(){}function lA(){}G.prototype.toString=function(){return"[Iterator]"},G.KEYS=0,G.VALUES=1,G.ENTRIES=2,G.prototype.inspect=G.prototype.toSource=function(){return this.toString()},G.prototype[R]=function(){return this},e(v,t),v.of=function(){return v(arguments)},v.prototype.toSeq=function(){return this},v.prototype.toString=function(){return this.__toString("Seq {","}")},v.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},v.prototype.__iterate=function(A,e){return eA(this,A,e,!0)},v.prototype.__iterator=function(A,e){return tA(this,A,e,!0)},e(L,v),L.prototype.toKeyedSeq=function(){return this},e(P,v),P.of=function(){return P(arguments)},P.prototype.toIndexedSeq=function(){return this},P.prototype.toString=function(){return this.__toString("Seq [","]")},P.prototype.__iterate=function(A,e){return eA(this,A,e,!1)},P.prototype.__iterator=function(A,e){return tA(this,A,e,!1)},e(O,v),O.of=function(){return O(arguments)},O.prototype.toSetSeq=function(){return this},v.isSeq=Z,v.Keyed=L,v.Set=O,v.Indexed=P,v.prototype["@@__IMMUTABLE_SEQ__@@"]=!0,e(W,P),W.prototype.get=function(A,e){return this.has(A)?this._array[m(this,A)]:e},W.prototype.__iterate=function(A,e){for(var t=this._array,n=t.length-1,i=0;i<=n;i++)if(!1===A(t[e?n-i:i],i,this))return i+1;return i},W.prototype.__iterator=function(A,e){var t=this._array,n=t.length-1,i=0;return new G((function(){return i>n?{value:void 0,done:!0}:S(A,i,t[e?n-i++:i++])}))},e(V,L),V.prototype.get=function(A,e){return void 0===e||this.has(A)?this._object[A]:e},V.prototype.has=function(A){return this._object.hasOwnProperty(A)},V.prototype.__iterate=function(A,e){for(var t=this._object,n=this._keys,i=n.length-1,r=0;r<=i;r++){var s=n[e?i-r:r];if(!1===A(t[s],s,this))return r+1}return r},V.prototype.__iterator=function(A,e){var t=this._object,n=this._keys,i=n.length-1,r=0;return new G((function(){var s=n[e?i-r:r];return r++>i?{value:void 0,done:!0}:S(A,s,t[s])}))},V.prototype[l]=!0,e(K,P),K.prototype.__iterateUncached=function(A,e){if(e)return this.cacheResult().__iterate(A,e);var t=J(this._iterable),n=0;if(k(t))for(var i;!(i=t.next()).done&&!1!==A(i.value,n++,this););return n},K.prototype.__iteratorUncached=function(A,e){if(e)return this.cacheResult().__iterator(A,e);var t=J(this._iterable);if(!k(t))return new G(H);var n=0;return new G((function(){var e=t.next();return e.done?e:S(A,n++,e.value)}))},e(X,P),X.prototype.__iterateUncached=function(A,e){if(e)return this.cacheResult().__iterate(A,e);for(var t,n=this._iterator,i=this._iteratorCache,r=0;r<i.length;)if(!1===A(i[r],r++,this))return r;for(;!(t=n.next()).done;){var s=t.value;if(i[r]=s,!1===A(s,r++,this))break}return r},X.prototype.__iteratorUncached=function(A,e){if(e)return this.cacheResult().__iterator(A,e);var t=this._iterator,n=this._iteratorCache,i=0;return new G((function(){if(i>=n.length){var e=t.next();if(e.done)return e;n[i]=e.value}return S(A,i,n[i++])}))},e(aA,P),aA.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},aA.prototype.get=function(A,e){return this.has(A)?this._value:e},aA.prototype.includes=function(A){return sA(this._value,A)},aA.prototype.slice=function(A,e){var t=this.size;return D(A,e,t)?this:new aA(this._value,f(e,t)-Y(A,t))},aA.prototype.reverse=function(){return this},aA.prototype.indexOf=function(A){return sA(this._value,A)?0:-1},aA.prototype.lastIndexOf=function(A){return sA(this._value,A)?this.size:-1},aA.prototype.__iterate=function(A,e){for(var t=0;t<this.size;t++)if(!1===A(this._value,t,this))return t+1;return t},aA.prototype.__iterator=function(A,e){var t=this,n=0;return new G((function(){return n<t.size?S(A,n++,t._value):{value:void 0,done:!0}}))},aA.prototype.equals=function(A){return A instanceof aA?sA(this._value,A._value):oA(A)},e(cA,P),cA.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},cA.prototype.get=function(A,e){return this.has(A)?this._start+m(this,A)*this._step:e},cA.prototype.includes=function(A){var e=(A-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)},cA.prototype.slice=function(A,e){return D(A,e,this.size)?this:(A=Y(A,this.size),(e=f(e,this.size))<=A?new cA(0,0):new cA(this.get(A,this._end),this.get(e,this._end),this._step))},cA.prototype.indexOf=function(A){var e=A-this._start;if(e%this._step==0){var t=e/this._step;if(t>=0&&t<this.size)return t}return-1},cA.prototype.lastIndexOf=function(A){return this.indexOf(A)},cA.prototype.__iterate=function(A,e){for(var t=this.size-1,n=this._step,i=e?this._start+t*n:this._start,r=0;r<=t;r++){if(!1===A(i,r,this))return r+1;i+=e?-n:n}return r},cA.prototype.__iterator=function(A,e){var t=this.size-1,n=this._step,i=e?this._start+t*n:this._start,r=0;return new G((function(){var s=i;return i+=e?-n:n,r>t?{value:void 0,done:!0}:S(A,r++,s)}))},cA.prototype.equals=function(A){return A instanceof cA?this._start===A._start&&this._end===A._end&&this._step===A._step:oA(this,A)},e(gA,t),e(QA,gA),e(EA,gA),e(lA,gA),gA.Keyed=QA,gA.Indexed=EA,gA.Set=lA;var uA="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(A,e){var t=65535&(A|=0),n=65535&(e|=0);return t*n+((A>>>16)*n+t*(e>>>16)<<16>>>0)|0};function wA(A){return A>>>1&1073741824|3221225471&A}function hA(A){if(!1===A||null==A)return 0;if("function"==typeof A.valueOf&&(!1===(A=A.valueOf())||null==A))return 0;if(!0===A)return 1;var e=typeof A;if("number"===e){if(A!=A||A===1/0)return 0;var t=0|A;for(t!==A&&(t^=4294967295*A);A>4294967295;)t^=A/=4294967295;return wA(t)}if("string"===e)return A.length>DA?function(A){var e=NA[A];return void 0===e&&(e=CA(A),fA===YA&&(fA=0,NA={}),fA++,NA[A]=e),e}(A):CA(A);if("function"==typeof A.hashCode)return A.hashCode();if("object"===e)return function(A){var e;if(pA&&void 0!==(e=dA.get(A)))return e;if(void 0!==(e=A[FA]))return e;if(!MA){if(void 0!==(e=A.propertyIsEnumerable&&A.propertyIsEnumerable[FA]))return e;if(void 0!==(e=function(A){if(A&&A.nodeType>0)switch(A.nodeType){case 1:return A.uniqueID;case 9:return A.documentElement&&A.documentElement.uniqueID}}(A)))return e}if(e=++mA,1073741824&mA&&(mA=0),pA)dA.set(A,e);else{if(void 0!==IA&&!1===IA(A))throw new Error("Non-extensible objects are not allowed as keys.");if(MA)Object.defineProperty(A,FA,{enumerable:!1,configurable:!1,writable:!1,value:e});else if(void 0!==A.propertyIsEnumerable&&A.propertyIsEnumerable===A.constructor.prototype.propertyIsEnumerable)A.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},A.propertyIsEnumerable[FA]=e;else{if(void 0===A.nodeType)throw new Error("Unable to set a non-enumerable property on object.");A[FA]=e}}return e}(A);if("function"==typeof A.toString)return CA(A.toString());throw new Error("Value type "+e+" cannot be hashed.")}function CA(A){for(var e=0,t=0;t<A.length;t++)e=31*e+A.charCodeAt(t)|0;return wA(e)}var dA,IA=Object.isExtensible,MA=function(){try{return Object.defineProperty({},"@",{}),!0}catch(A){return!1}}(),pA="function"==typeof WeakMap;pA&&(dA=new WeakMap);var mA=0,FA="__immutablehash__";"function"==typeof Symbol&&(FA=Symbol(FA));var DA=16,YA=255,fA=0,NA={};function UA(A){BA(A!==1/0,"Cannot perform this action with an infinite size.")}function yA(A){return null==A?PA():xA(A)&&!c(A)?A:PA().withMutations((function(e){var t=n(A);UA(t.size),t.forEach((function(A,t){return e.set(t,A)}))}))}function xA(A){return!(!A||!A[RA])}e(yA,QA),yA.of=function(){var e=A.call(arguments,0);return PA().withMutations((function(A){for(var t=0;t<e.length;t+=2){if(t+1>=e.length)throw new Error("Missing value for key: "+e[t]);A.set(e[t],e[t+1])}}))},yA.prototype.toString=function(){return this.__toString("Map {","}")},yA.prototype.get=function(A,e){return this._root?this._root.get(0,void 0,A,e):e},yA.prototype.set=function(A,e){return OA(this,A,e)},yA.prototype.setIn=function(A,e){return this.updateIn(A,u,(function(){return e}))},yA.prototype.remove=function(A){return OA(this,A,u)},yA.prototype.deleteIn=function(A){return this.updateIn(A,(function(){return u}))},yA.prototype.update=function(A,e,t){return 1===arguments.length?A(this):this.updateIn([A],e,t)},yA.prototype.updateIn=function(A,e,t){t||(t=e,e=void 0);var n=function A(e,t,n,i){var r=e===u,s=t.next();if(s.done){var o=r?n:e,a=i(o);return a===o?e:a}BA(r||e&&e.set,"invalid keyPath");var B=s.value,c=r?u:e.get(B,u),g=A(c,t,n,i);return g===c?e:g===u?e.remove(B):(r?PA():e).set(B,g)}(this,Xe(A),e,t);return n===u?void 0:n},yA.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):PA()},yA.prototype.merge=function(){return XA(this,void 0,arguments)},yA.prototype.mergeWith=function(e){var t=A.call(arguments,1);return XA(this,e,t)},yA.prototype.mergeIn=function(e){var t=A.call(arguments,1);return this.updateIn(e,PA(),(function(A){return"function"==typeof A.merge?A.merge.apply(A,t):t[t.length-1]}))},yA.prototype.mergeDeep=function(){return XA(this,ZA,arguments)},yA.prototype.mergeDeepWith=function(e){var t=A.call(arguments,1);return XA(this,_A(e),t)},yA.prototype.mergeDeepIn=function(e){var t=A.call(arguments,1);return this.updateIn(e,PA(),(function(A){return"function"==typeof A.mergeDeep?A.mergeDeep.apply(A,t):t[t.length-1]}))},yA.prototype.sort=function(A){return Me(ke(this,A))},yA.prototype.sortBy=function(A,e){return Me(ke(this,e,A))},yA.prototype.withMutations=function(A){var e=this.asMutable();return A(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this},yA.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new I)},yA.prototype.asImmutable=function(){return this.__ensureOwner()},yA.prototype.wasAltered=function(){return this.__altered},yA.prototype.__iterator=function(A,e){return new jA(this,A,e)},yA.prototype.__iterate=function(A,e){var t=this,n=0;return this._root&&this._root.iterate((function(e){return n++,A(e[1],e[0],t)}),e),n},yA.prototype.__ensureOwner=function(A){return A===this.__ownerID?this:A?LA(this.size,this._root,A,this.__hash):(this.__ownerID=A,this.__altered=!1,this)},yA.isMap=xA;var TA,RA="@@__IMMUTABLE_MAP__@@",GA=yA.prototype;function SA(A,e){this.ownerID=A,this.entries=e}function HA(A,e,t){this.ownerID=A,this.bitmap=e,this.nodes=t}function bA(A,e,t){this.ownerID=A,this.count=e,this.nodes=t}function kA(A,e,t){this.ownerID=A,this.keyHash=e,this.entries=t}function JA(A,e,t){this.ownerID=A,this.keyHash=e,this.entry=t}function jA(A,e,t){this._type=e,this._reverse=t,this._stack=A._root&&vA(A._root)}function zA(A,e){return S(A,e[0],e[1])}function vA(A,e){return{node:A,index:0,__prev:e}}function LA(A,e,t,n){var i=Object.create(GA);return i.size=A,i._root=e,i.__ownerID=t,i.__hash=n,i.__altered=!1,i}function PA(){return TA||(TA=LA(0))}function OA(A,e,t){var n,i;if(A._root){var r=C(w),s=C(h);if(n=WA(A._root,A.__ownerID,0,void 0,e,t,r,s),!s.value)return A;i=A.size+(r.value?t===u?-1:1:0)}else{if(t===u)return A;i=1,n=new SA(A.__ownerID,[[e,t]])}return A.__ownerID?(A.size=i,A._root=n,A.__hash=void 0,A.__altered=!0,A):n?LA(i,n):PA()}function WA(A,e,t,n,i,r,s,o){return A?A.update(e,t,n,i,r,s,o):r===u?A:(d(o),d(s),new JA(e,n,[i,r]))}function VA(A){return A.constructor===JA||A.constructor===kA}function KA(A,e,t,n,i){if(A.keyHash===n)return new kA(e,n,[A.entry,i]);var r,s=31&(0===t?A.keyHash:A.keyHash>>>t),o=31&(0===t?n:n>>>t);return new HA(e,1<<s|1<<o,s===o?[KA(A,e,t+5,n,i)]:(r=new JA(e,n,i),s<o?[A,r]:[r,A]))}function XA(A,e,t){for(var i=[],r=0;r<t.length;r++){var o=t[r],a=n(o);s(o)||(a=a.map((function(A){return nA(A)}))),i.push(a)}return qA(A,e,i)}function ZA(A,e,t){return A&&A.mergeDeep&&s(e)?A.mergeDeep(e):sA(A,e)?A:e}function _A(A){return function(e,t,n){if(e&&e.mergeDeepWith&&s(t))return e.mergeDeepWith(A,t);var i=A(e,t,n);return sA(e,i)?e:i}}function qA(A,e,t){return 0===(t=t.filter((function(A){return 0!==A.size}))).length?A:0!==A.size||A.__ownerID||1!==t.length?A.withMutations((function(A){for(var n=e?function(t,n){A.update(n,u,(function(A){return A===u?t:e(A,t,n)}))}:function(e,t){A.set(t,e)},i=0;i<t.length;i++)t[i].forEach(n)})):A.constructor(t[0])}function $A(A){return A=(A=(858993459&(A-=A>>1&1431655765))+(A>>2&858993459))+(A>>4)&252645135,A+=A>>8,127&(A+=A>>16)}function Ae(A,e,t,n){var i=n?A:M(A);return i[e]=t,i}GA[RA]=!0,GA.delete=GA.remove,GA.removeIn=GA.deleteIn,SA.prototype.get=function(A,e,t,n){for(var i=this.entries,r=0,s=i.length;r<s;r++)if(sA(t,i[r][0]))return i[r][1];return n},SA.prototype.update=function(A,e,t,n,i,r,s){for(var o=i===u,a=this.entries,B=0,c=a.length;B<c&&!sA(n,a[B][0]);B++);var g=B<c;if(g?a[B][1]===i:o)return this;if(d(s),(o||!g)&&d(r),!o||1!==a.length){if(!g&&!o&&a.length>=ee)return function(A,e,t,n){A||(A=new I);for(var i=new JA(A,hA(t),[t,n]),r=0;r<e.length;r++){var s=e[r];i=i.update(A,0,void 0,s[0],s[1])}return i}(A,a,n,i);var Q=A&&A===this.ownerID,E=Q?a:M(a);return g?o?B===c-1?E.pop():E[B]=E.pop():E[B]=[n,i]:E.push([n,i]),Q?(this.entries=E,this):new SA(A,E)}},HA.prototype.get=function(A,e,t,n){void 0===e&&(e=hA(t));var i=1<<(31&(0===A?e:e>>>A)),r=this.bitmap;return 0==(r&i)?n:this.nodes[$A(r&i-1)].get(A+5,e,t,n)},HA.prototype.update=function(A,e,t,n,i,r,s){void 0===t&&(t=hA(n));var o=31&(0===e?t:t>>>e),a=1<<o,B=this.bitmap,c=0!=(B&a);if(!c&&i===u)return this;var g=$A(B&a-1),Q=this.nodes,E=c?Q[g]:void 0,l=WA(E,A,e+5,t,n,i,r,s);if(l===E)return this;if(!c&&l&&Q.length>=te)return function(A,e,t,n,i){for(var r=0,s=new Array(32),o=0;0!==t;o++,t>>>=1)s[o]=1&t?e[r++]:void 0;return s[n]=i,new bA(A,r+1,s)}(A,Q,B,o,l);if(c&&!l&&2===Q.length&&VA(Q[1^g]))return Q[1^g];if(c&&l&&1===Q.length&&VA(l))return l;var w=A&&A===this.ownerID,h=c?l?B:B^a:B|a,C=c?l?Ae(Q,g,l,w):function(A,e,t){var n=A.length-1;if(t&&e===n)return A.pop(),A;for(var i=new Array(n),r=0,s=0;s<n;s++)s===e&&(r=1),i[s]=A[s+r];return i}(Q,g,w):function(A,e,t,n){var i=A.length+1;if(n&&e+1===i)return A[e]=t,A;for(var r=new Array(i),s=0,o=0;o<i;o++)o===e?(r[o]=t,s=-1):r[o]=A[o+s];return r}(Q,g,l,w);return w?(this.bitmap=h,this.nodes=C,this):new HA(A,h,C)},bA.prototype.get=function(A,e,t,n){void 0===e&&(e=hA(t));var i=31&(0===A?e:e>>>A),r=this.nodes[i];return r?r.get(A+5,e,t,n):n},bA.prototype.update=function(A,e,t,n,i,r,s){void 0===t&&(t=hA(n));var o=31&(0===e?t:t>>>e),a=i===u,B=this.nodes,c=B[o];if(a&&!c)return this;var g=WA(c,A,e+5,t,n,i,r,s);if(g===c)return this;var Q=this.count;if(c){if(!g&&--Q<ne)return function(A,e,t,n){for(var i=0,r=0,s=new Array(t),o=0,a=1,B=e.length;o<B;o++,a<<=1){var c=e[o];void 0!==c&&o!==n&&(i|=a,s[r++]=c)}return new HA(A,i,s)}(A,B,Q,o)}else Q++;var E=A&&A===this.ownerID,l=Ae(B,o,g,E);return E?(this.count=Q,this.nodes=l,this):new bA(A,Q,l)},kA.prototype.get=function(A,e,t,n){for(var i=this.entries,r=0,s=i.length;r<s;r++)if(sA(t,i[r][0]))return i[r][1];return n},kA.prototype.update=function(A,e,t,n,i,r,s){void 0===t&&(t=hA(n));var o=i===u;if(t!==this.keyHash)return o?this:(d(s),d(r),KA(this,A,e,t,[n,i]));for(var a=this.entries,B=0,c=a.length;B<c&&!sA(n,a[B][0]);B++);var g=B<c;if(g?a[B][1]===i:o)return this;if(d(s),(o||!g)&&d(r),o&&2===c)return new JA(A,this.keyHash,a[1^B]);var Q=A&&A===this.ownerID,E=Q?a:M(a);return g?o?B===c-1?E.pop():E[B]=E.pop():E[B]=[n,i]:E.push([n,i]),Q?(this.entries=E,this):new kA(A,this.keyHash,E)},JA.prototype.get=function(A,e,t,n){return sA(t,this.entry[0])?this.entry[1]:n},JA.prototype.update=function(A,e,t,n,i,r,s){var o=i===u,a=sA(n,this.entry[0]);return(a?i===this.entry[1]:o)?this:(d(s),o?void d(r):a?A&&A===this.ownerID?(this.entry[1]=i,this):new JA(A,this.keyHash,[n,i]):(d(r),KA(this,A,e,hA(n),[n,i])))},SA.prototype.iterate=kA.prototype.iterate=function(A,e){for(var t=this.entries,n=0,i=t.length-1;n<=i;n++)if(!1===A(t[e?i-n:n]))return!1},HA.prototype.iterate=bA.prototype.iterate=function(A,e){for(var t=this.nodes,n=0,i=t.length-1;n<=i;n++){var r=t[e?i-n:n];if(r&&!1===r.iterate(A,e))return!1}},JA.prototype.iterate=function(A,e){return A(this.entry)},e(jA,G),jA.prototype.next=function(){for(var A=this._type,e=this._stack;e;){var t,n=e.node,i=e.index++;if(n.entry){if(0===i)return zA(A,n.entry)}else if(n.entries){if(i<=(t=n.entries.length-1))return zA(A,n.entries[this._reverse?t-i:i])}else if(i<=(t=n.nodes.length-1)){var r=n.nodes[this._reverse?t-i:i];if(r){if(r.entry)return zA(A,r.entry);e=this._stack=vA(r,e)}continue}e=this._stack=this._stack.__prev}return{value:void 0,done:!0}};var ee=8,te=16,ne=8;function ie(A){var e=le();if(null==A)return e;if(re(A))return A;var t=i(A),n=t.size;return 0===n?e:(UA(n),n>0&&n<32?Ee(0,n,5,null,new ae(t.toArray())):e.withMutations((function(A){A.setSize(n),t.forEach((function(e,t){return A.set(t,e)}))})))}function re(A){return!(!A||!A[se])}e(ie,EA),ie.of=function(){return this(arguments)},ie.prototype.toString=function(){return this.__toString("List [","]")},ie.prototype.get=function(A,e){if((A=m(this,A))>=0&&A<this.size){var t=he(this,A+=this._origin);return t&&t.array[31&A]}return e},ie.prototype.set=function(A,e){return function(A,e,t){if((e=m(A,e))!=e)return A;if(e>=A.size||e<0)return A.withMutations((function(A){e<0?Ce(A,e).set(0,t):Ce(A,0,e+1).set(e,t)}));e+=A._origin;var n=A._tail,i=A._root,r=C(h);return e>=Ie(A._capacity)?n=ue(n,A.__ownerID,0,e,t,r):i=ue(i,A.__ownerID,A._level,e,t,r),r.value?A.__ownerID?(A._root=i,A._tail=n,A.__hash=void 0,A.__altered=!0,A):Ee(A._origin,A._capacity,A._level,i,n):A}(this,A,e)},ie.prototype.remove=function(A){return this.has(A)?0===A?this.shift():A===this.size-1?this.pop():this.splice(A,1):this},ie.prototype.insert=function(A,e){return this.splice(A,0,e)},ie.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=5,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):le()},ie.prototype.push=function(){var A=arguments,e=this.size;return this.withMutations((function(t){Ce(t,0,e+A.length);for(var n=0;n<A.length;n++)t.set(e+n,A[n])}))},ie.prototype.pop=function(){return Ce(this,0,-1)},ie.prototype.unshift=function(){var A=arguments;return this.withMutations((function(e){Ce(e,-A.length);for(var t=0;t<A.length;t++)e.set(t,A[t])}))},ie.prototype.shift=function(){return Ce(this,1)},ie.prototype.merge=function(){return de(this,void 0,arguments)},ie.prototype.mergeWith=function(e){var t=A.call(arguments,1);return de(this,e,t)},ie.prototype.mergeDeep=function(){return de(this,ZA,arguments)},ie.prototype.mergeDeepWith=function(e){var t=A.call(arguments,1);return de(this,_A(e),t)},ie.prototype.setSize=function(A){return Ce(this,0,A)},ie.prototype.slice=function(A,e){var t=this.size;return D(A,e,t)?this:Ce(this,Y(A,t),f(e,t))},ie.prototype.__iterator=function(A,e){var t=0,n=Qe(this,e);return new G((function(){var e=n();return e===ge?{value:void 0,done:!0}:S(A,t++,e)}))},ie.prototype.__iterate=function(A,e){for(var t,n=0,i=Qe(this,e);(t=i())!==ge&&!1!==A(t,n++,this););return n},ie.prototype.__ensureOwner=function(A){return A===this.__ownerID?this:A?Ee(this._origin,this._capacity,this._level,this._root,this._tail,A,this.__hash):(this.__ownerID=A,this)},ie.isList=re;var se="@@__IMMUTABLE_LIST__@@",oe=ie.prototype;function ae(A,e){this.array=A,this.ownerID=e}oe[se]=!0,oe.delete=oe.remove,oe.setIn=GA.setIn,oe.deleteIn=oe.removeIn=GA.removeIn,oe.update=GA.update,oe.updateIn=GA.updateIn,oe.mergeIn=GA.mergeIn,oe.mergeDeepIn=GA.mergeDeepIn,oe.withMutations=GA.withMutations,oe.asMutable=GA.asMutable,oe.asImmutable=GA.asImmutable,oe.wasAltered=GA.wasAltered,ae.prototype.removeBefore=function(A,e,t){if(t===e?1<<e:0===this.array.length)return this;var n=t>>>e&31;if(n>=this.array.length)return new ae([],A);var i,r=0===n;if(e>0){var s=this.array[n];if((i=s&&s.removeBefore(A,e-5,t))===s&&r)return this}if(r&&!i)return this;var o=we(this,A);if(!r)for(var a=0;a<n;a++)o.array[a]=void 0;return i&&(o.array[n]=i),o},ae.prototype.removeAfter=function(A,e,t){if(t===(e?1<<e:0)||0===this.array.length)return this;var n,i=t-1>>>e&31;if(i>=this.array.length)return this;if(e>0){var r=this.array[i];if((n=r&&r.removeAfter(A,e-5,t))===r&&i===this.array.length-1)return this}var s=we(this,A);return s.array.splice(i+1),n&&(s.array[i]=n),s};var Be,ce,ge={};function Qe(A,e){var t=A._origin,n=A._capacity,i=Ie(n),r=A._tail;return s(A._root,A._level,0);function s(A,o,a){return 0===o?function(A,s){var o=s===i?r&&r.array:A&&A.array,a=s>t?0:t-s,B=n-s;return B>32&&(B=32),function(){if(a===B)return ge;var A=e?--B:a++;return o&&o[A]}}(A,a):function(A,i,r){var o,a=A&&A.array,B=r>t?0:t-r>>i,c=1+(n-r>>i);return c>32&&(c=32),function(){for(;;){if(o){var A=o();if(A!==ge)return A;o=null}if(B===c)return ge;var t=e?--c:B++;o=s(a&&a[t],i-5,r+(t<<i))}}}(A,o,a)}}function Ee(A,e,t,n,i,r,s){var o=Object.create(oe);return o.size=e-A,o._origin=A,o._capacity=e,o._level=t,o._root=n,o._tail=i,o.__ownerID=r,o.__hash=s,o.__altered=!1,o}function le(){return Be||(Be=Ee(0,0,5))}function ue(A,e,t,n,i,r){var s,o=n>>>t&31,a=A&&o<A.array.length;if(!a&&void 0===i)return A;if(t>0){var B=A&&A.array[o],c=ue(B,e,t-5,n,i,r);return c===B?A:((s=we(A,e)).array[o]=c,s)}return a&&A.array[o]===i?A:(d(r),s=we(A,e),void 0===i&&o===s.array.length-1?s.array.pop():s.array[o]=i,s)}function we(A,e){return e&&A&&e===A.ownerID?A:new ae(A?A.array.slice():[],e)}function he(A,e){if(e>=Ie(A._capacity))return A._tail;if(e<1<<A._level+5){for(var t=A._root,n=A._level;t&&n>0;)t=t.array[e>>>n&31],n-=5;return t}}function Ce(A,e,t){void 0!==e&&(e|=0),void 0!==t&&(t|=0);var n=A.__ownerID||new I,i=A._origin,r=A._capacity,s=i+e,o=void 0===t?r:t<0?r+t:i+t;if(s===i&&o===r)return A;if(s>=o)return A.clear();for(var a=A._level,B=A._root,c=0;s+c<0;)B=new ae(B&&B.array.length?[void 0,B]:[],n),c+=1<<(a+=5);c&&(s+=c,i+=c,o+=c,r+=c);for(var g=Ie(r),Q=Ie(o);Q>=1<<a+5;)B=new ae(B&&B.array.length?[B]:[],n),a+=5;var E=A._tail,l=Q<g?he(A,o-1):Q>g?new ae([],n):E;if(E&&Q>g&&s<r&&E.array.length){for(var u=B=we(B,n),w=a;w>5;w-=5){var h=g>>>w&31;u=u.array[h]=we(u.array[h],n)}u.array[g>>>5&31]=E}if(o<r&&(l=l&&l.removeAfter(n,0,o)),s>=Q)s-=Q,o-=Q,a=5,B=null,l=l&&l.removeBefore(n,0,s);else if(s>i||Q<g){for(c=0;B;){var C=s>>>a&31;if(C!==Q>>>a&31)break;C&&(c+=(1<<a)*C),a-=5,B=B.array[C]}B&&s>i&&(B=B.removeBefore(n,a,s-c)),B&&Q<g&&(B=B.removeAfter(n,a,Q-c)),c&&(s-=c,o-=c)}return A.__ownerID?(A.size=o-s,A._origin=s,A._capacity=o,A._level=a,A._root=B,A._tail=l,A.__hash=void 0,A.__altered=!0,A):Ee(s,o,a,B,l)}function de(A,e,t){for(var n=[],r=0,o=0;o<t.length;o++){var a=t[o],B=i(a);B.size>r&&(r=B.size),s(a)||(B=B.map((function(A){return nA(A)}))),n.push(B)}return r>A.size&&(A=A.setSize(r)),qA(A,e,n)}function Ie(A){return A<32?0:A-1>>>5<<5}function Me(A){return null==A?Fe():pe(A)?A:Fe().withMutations((function(e){var t=n(A);UA(t.size),t.forEach((function(A,t){return e.set(t,A)}))}))}function pe(A){return xA(A)&&c(A)}function me(A,e,t,n){var i=Object.create(Me.prototype);return i.size=A?A.size:0,i._map=A,i._list=e,i.__ownerID=t,i.__hash=n,i}function Fe(){return ce||(ce=me(PA(),le()))}function De(A,e,t){var n,i,r=A._map,s=A._list,o=r.get(e),a=void 0!==o;if(t===u){if(!a)return A;s.size>=32&&s.size>=2*r.size?(n=(i=s.filter((function(A,e){return void 0!==A&&o!==e}))).toKeyedSeq().map((function(A){return A[0]})).flip().toMap(),A.__ownerID&&(n.__ownerID=i.__ownerID=A.__ownerID)):(n=r.remove(e),i=o===s.size-1?s.pop():s.set(o,void 0))}else if(a){if(t===s.get(o)[1])return A;n=r,i=s.set(o,[e,t])}else n=r.set(e,s.size),i=s.set(s.size,[e,t]);return A.__ownerID?(A.size=n.size,A._map=n,A._list=i,A.__hash=void 0,A):me(n,i)}function Ye(A,e){this._iter=A,this._useKeys=e,this.size=A.size}function fe(A){this._iter=A,this.size=A.size}function Ne(A){this._iter=A,this.size=A.size}function Ue(A){this._iter=A,this.size=A.size}function ye(A){var e=We(A);return e._iter=A,e.size=A.size,e.flip=function(){return A},e.reverse=function(){var e=A.reverse.apply(this);return e.flip=function(){return A.reverse()},e},e.has=function(e){return A.includes(e)},e.includes=function(e){return A.has(e)},e.cacheResult=Ve,e.__iterateUncached=function(e,t){var n=this;return A.__iterate((function(A,t){return!1!==e(t,A,n)}),t)},e.__iteratorUncached=function(e,t){if(2===e){var n=A.__iterator(e,t);return new G((function(){var A=n.next();if(!A.done){var e=A.value[0];A.value[0]=A.value[1],A.value[1]=e}return A}))}return A.__iterator(1===e?0:1,t)},e}function xe(A,e,t){var n=We(A);return n.size=A.size,n.has=function(e){return A.has(e)},n.get=function(n,i){var r=A.get(n,u);return r===u?i:e.call(t,r,n,A)},n.__iterateUncached=function(n,i){var r=this;return A.__iterate((function(A,i,s){return!1!==n(e.call(t,A,i,s),i,r)}),i)},n.__iteratorUncached=function(n,i){var r=A.__iterator(2,i);return new G((function(){var i=r.next();if(i.done)return i;var s=i.value,o=s[0];return S(n,o,e.call(t,s[1],o,A),i)}))},n}function Te(A,e){var t=We(A);return t._iter=A,t.size=A.size,t.reverse=function(){return A},A.flip&&(t.flip=function(){var e=ye(A);return e.reverse=function(){return A.flip()},e}),t.get=function(t,n){return A.get(e?t:-1-t,n)},t.has=function(t){return A.has(e?t:-1-t)},t.includes=function(e){return A.includes(e)},t.cacheResult=Ve,t.__iterate=function(e,t){var n=this;return A.__iterate((function(A,t){return e(A,t,n)}),!t)},t.__iterator=function(e,t){return A.__iterator(e,!t)},t}function Re(A,e,t,n){var i=We(A);return n&&(i.has=function(n){var i=A.get(n,u);return i!==u&&!!e.call(t,i,n,A)},i.get=function(n,i){var r=A.get(n,u);return r!==u&&e.call(t,r,n,A)?r:i}),i.__iterateUncached=function(i,r){var s=this,o=0;return A.__iterate((function(A,r,a){if(e.call(t,A,r,a))return o++,i(A,n?r:o-1,s)}),r),o},i.__iteratorUncached=function(i,r){var s=A.__iterator(2,r),o=0;return new G((function(){for(;;){var r=s.next();if(r.done)return r;var a=r.value,B=a[0],c=a[1];if(e.call(t,c,B,A))return S(i,n?B:o++,c,r)}}))},i}function Ge(A,e,t,n){var i=A.size;if(void 0!==e&&(e|=0),void 0!==t&&(t===1/0?t=i:t|=0),D(e,t,i))return A;var r=Y(e,i),s=f(t,i);if(r!=r||s!=s)return Ge(A.toSeq().cacheResult(),e,t,n);var o,a=s-r;a==a&&(o=a<0?0:a);var B=We(A);return B.size=0===o?o:A.size&&o||void 0,!n&&Z(A)&&o>=0&&(B.get=function(e,t){return(e=m(this,e))>=0&&e<o?A.get(e+r,t):t}),B.__iterateUncached=function(e,t){var i=this;if(0===o)return 0;if(t)return this.cacheResult().__iterate(e,t);var s=0,a=!0,B=0;return A.__iterate((function(A,t){if(!a||!(a=s++<r))return B++,!1!==e(A,n?t:B-1,i)&&B!==o})),B},B.__iteratorUncached=function(e,t){if(0!==o&&t)return this.cacheResult().__iterator(e,t);var i=0!==o&&A.__iterator(e,t),s=0,a=0;return new G((function(){for(;s++<r;)i.next();if(++a>o)return{value:void 0,done:!0};var A=i.next();return n||1===e?A:S(e,a-1,0===e?void 0:A.value[1],A)}))},B}function Se(A,e,t,n){var i=We(A);return i.__iterateUncached=function(i,r){var s=this;if(r)return this.cacheResult().__iterate(i,r);var o=!0,a=0;return A.__iterate((function(A,r,B){if(!o||!(o=e.call(t,A,r,B)))return a++,i(A,n?r:a-1,s)})),a},i.__iteratorUncached=function(i,r){var s=this;if(r)return this.cacheResult().__iterator(i,r);var o=A.__iterator(2,r),a=!0,B=0;return new G((function(){var A,r,c;do{if((A=o.next()).done)return n||1===i?A:S(i,B++,0===i?void 0:A.value[1],A);var g=A.value;r=g[0],c=g[1],a&&(a=e.call(t,c,r,s))}while(a);return 2===i?A:S(i,r,c,A)}))},i}function He(A,e){var t=o(A),i=[A].concat(e).map((function(A){return s(A)?t&&(A=n(A)):A=t?q(A):$(Array.isArray(A)?A:[A]),A})).filter((function(A){return 0!==A.size}));if(0===i.length)return A;if(1===i.length){var r=i[0];if(r===A||t&&o(r)||a(A)&&a(r))return r}var B=new W(i);return t?B=B.toKeyedSeq():a(A)||(B=B.toSetSeq()),(B=B.flatten(!0)).size=i.reduce((function(A,e){if(void 0!==A){var t=e.size;if(void 0!==t)return A+t}}),0),B}function be(A,e,t){var n=We(A);return n.__iterateUncached=function(n,i){var r=0,o=!1;return function A(a,B){var c=this;a.__iterate((function(i,a){return(!e||B<e)&&s(i)?A(i,B+1):!1===n(i,t?a:r++,c)&&(o=!0),!o}),i)}(A,0),r},n.__iteratorUncached=function(n,i){var r=A.__iterator(n,i),o=[],a=0;return new G((function(){for(;r;){var A=r.next();if(!1===A.done){var B=A.value;if(2===n&&(B=B[1]),e&&!(o.length<e)||!s(B))return t?A:S(n,a++,B,A);o.push(r),r=B.__iterator(n,i)}else r=o.pop()}return{value:void 0,done:!0}}))},n}function ke(A,e,t){e||(e=Ke);var n=o(A),i=0,r=A.toSeq().map((function(e,n){return[n,e,i++,t?t(e,n,A):e]})).toArray();return r.sort((function(A,t){return e(A[3],t[3])||A[2]-t[2]})).forEach(n?function(A,e){r[e].length=2}:function(A,e){r[e]=A[1]}),n?L(r):a(A)?P(r):O(r)}function Je(A,e,t){if(e||(e=Ke),t){var n=A.toSeq().map((function(e,n){return[e,t(e,n,A)]})).reduce((function(A,t){return je(e,A[1],t[1])?t:A}));return n&&n[0]}return A.reduce((function(A,t){return je(e,A,t)?t:A}))}function je(A,e,t){var n=A(t,e);return 0===n&&t!==e&&(null==t||t!=t)||n>0}function ze(A,e,n){var i=We(A);return i.size=new W(n).map((function(A){return A.size})).min(),i.__iterate=function(A,e){for(var t,n=this.__iterator(1,e),i=0;!(t=n.next()).done&&!1!==A(t.value,i++,this););return i},i.__iteratorUncached=function(A,i){var r=n.map((function(A){return A=t(A),J(i?A.reverse():A)})),s=0,o=!1;return new G((function(){var t;return o||(t=r.map((function(A){return A.next()})),o=t.some((function(A){return A.done}))),o?{value:void 0,done:!0}:S(A,s++,e.apply(null,t.map((function(A){return A.value}))))}))},i}function ve(A,e){return Z(A)?e:A.constructor(e)}function Le(A){if(A!==Object(A))throw new TypeError("Expected [K, V] tuple: "+A)}function Pe(A){return UA(A.size),p(A)}function Oe(A){return o(A)?n:a(A)?i:r}function We(A){return Object.create((o(A)?L:a(A)?P:O).prototype)}function Ve(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):v.prototype.cacheResult.call(this)}function Ke(A,e){return A>e?1:A<e?-1:0}function Xe(A){var e=J(A);if(!e){if(!z(A))throw new TypeError("Expected iterable or array-like: "+A);e=J(t(A))}return e}function Ze(A,e){var t,n=function(r){if(r instanceof n)return r;if(!(this instanceof n))return new n(r);if(!t){t=!0;var s=Object.keys(A);!function(A,e){try{e.forEach(At.bind(void 0,A))}catch(A){}}(i,s),i.size=s.length,i._name=e,i._keys=s,i._defaultValues=A}this._map=yA(r)},i=n.prototype=Object.create(_e);return i.constructor=n,n}e(Me,yA),Me.of=function(){return this(arguments)},Me.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Me.prototype.get=function(A,e){var t=this._map.get(A);return void 0!==t?this._list.get(t)[1]:e},Me.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):Fe()},Me.prototype.set=function(A,e){return De(this,A,e)},Me.prototype.remove=function(A){return De(this,A,u)},Me.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Me.prototype.__iterate=function(A,e){var t=this;return this._list.__iterate((function(e){return e&&A(e[1],e[0],t)}),e)},Me.prototype.__iterator=function(A,e){return this._list.fromEntrySeq().__iterator(A,e)},Me.prototype.__ensureOwner=function(A){if(A===this.__ownerID)return this;var e=this._map.__ensureOwner(A),t=this._list.__ensureOwner(A);return A?me(e,t,A,this.__hash):(this.__ownerID=A,this._map=e,this._list=t,this)},Me.isOrderedMap=pe,Me.prototype[l]=!0,Me.prototype.delete=Me.prototype.remove,e(Ye,L),Ye.prototype.get=function(A,e){return this._iter.get(A,e)},Ye.prototype.has=function(A){return this._iter.has(A)},Ye.prototype.valueSeq=function(){return this._iter.valueSeq()},Ye.prototype.reverse=function(){var A=this,e=Te(this,!0);return this._useKeys||(e.valueSeq=function(){return A._iter.toSeq().reverse()}),e},Ye.prototype.map=function(A,e){var t=this,n=xe(this,A,e);return this._useKeys||(n.valueSeq=function(){return t._iter.toSeq().map(A,e)}),n},Ye.prototype.__iterate=function(A,e){var t,n=this;return this._iter.__iterate(this._useKeys?function(e,t){return A(e,t,n)}:(t=e?Pe(this):0,function(i){return A(i,e?--t:t++,n)}),e)},Ye.prototype.__iterator=function(A,e){if(this._useKeys)return this._iter.__iterator(A,e);var t=this._iter.__iterator(1,e),n=e?Pe(this):0;return new G((function(){var i=t.next();return i.done?i:S(A,e?--n:n++,i.value,i)}))},Ye.prototype[l]=!0,e(fe,P),fe.prototype.includes=function(A){return this._iter.includes(A)},fe.prototype.__iterate=function(A,e){var t=this,n=0;return this._iter.__iterate((function(e){return A(e,n++,t)}),e)},fe.prototype.__iterator=function(A,e){var t=this._iter.__iterator(1,e),n=0;return new G((function(){var e=t.next();return e.done?e:S(A,n++,e.value,e)}))},e(Ne,O),Ne.prototype.has=function(A){return this._iter.includes(A)},Ne.prototype.__iterate=function(A,e){var t=this;return this._iter.__iterate((function(e){return A(e,e,t)}),e)},Ne.prototype.__iterator=function(A,e){var t=this._iter.__iterator(1,e);return new G((function(){var e=t.next();return e.done?e:S(A,e.value,e.value,e)}))},e(Ue,L),Ue.prototype.entrySeq=function(){return this._iter.toSeq()},Ue.prototype.__iterate=function(A,e){var t=this;return this._iter.__iterate((function(e){if(e){Le(e);var n=s(e);return A(n?e.get(1):e[1],n?e.get(0):e[0],t)}}),e)},Ue.prototype.__iterator=function(A,e){var t=this._iter.__iterator(1,e);return new G((function(){for(;;){var e=t.next();if(e.done)return e;var n=e.value;if(n){Le(n);var i=s(n);return S(A,i?n.get(0):n[0],i?n.get(1):n[1],e)}}}))},fe.prototype.cacheResult=Ye.prototype.cacheResult=Ne.prototype.cacheResult=Ue.prototype.cacheResult=Ve,e(Ze,QA),Ze.prototype.toString=function(){return this.__toString($e(this)+" {","}")},Ze.prototype.has=function(A){return this._defaultValues.hasOwnProperty(A)},Ze.prototype.get=function(A,e){if(!this.has(A))return e;var t=this._defaultValues[A];return this._map?this._map.get(A,t):t},Ze.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var A=this.constructor;return A._empty||(A._empty=qe(this,PA()))},Ze.prototype.set=function(A,e){if(!this.has(A))throw new Error('Cannot set unknown key "'+A+'" on '+$e(this));if(this._map&&!this._map.has(A)&&e===this._defaultValues[A])return this;var t=this._map&&this._map.set(A,e);return this.__ownerID||t===this._map?this:qe(this,t)},Ze.prototype.remove=function(A){if(!this.has(A))return this;var e=this._map&&this._map.remove(A);return this.__ownerID||e===this._map?this:qe(this,e)},Ze.prototype.wasAltered=function(){return this._map.wasAltered()},Ze.prototype.__iterator=function(A,e){var t=this;return n(this._defaultValues).map((function(A,e){return t.get(e)})).__iterator(A,e)},Ze.prototype.__iterate=function(A,e){var t=this;return n(this._defaultValues).map((function(A,e){return t.get(e)})).__iterate(A,e)},Ze.prototype.__ensureOwner=function(A){if(A===this.__ownerID)return this;var e=this._map&&this._map.__ensureOwner(A);return A?qe(this,e,A):(this.__ownerID=A,this._map=e,this)};var _e=Ze.prototype;function qe(A,e,t){var n=Object.create(Object.getPrototypeOf(A));return n._map=e,n.__ownerID=t,n}function $e(A){return A._name||A.constructor.name||"Record"}function At(A,e){Object.defineProperty(A,e,{get:function(){return this.get(e)},set:function(A){BA(this.__ownerID,"Cannot set on an immutable record."),this.set(e,A)}})}function et(A){return null==A?at():tt(A)&&!c(A)?A:at().withMutations((function(e){var t=r(A);UA(t.size),t.forEach((function(A){return e.add(A)}))}))}function tt(A){return!(!A||!A[it])}_e.delete=_e.remove,_e.deleteIn=_e.removeIn=GA.removeIn,_e.merge=GA.merge,_e.mergeWith=GA.mergeWith,_e.mergeIn=GA.mergeIn,_e.mergeDeep=GA.mergeDeep,_e.mergeDeepWith=GA.mergeDeepWith,_e.mergeDeepIn=GA.mergeDeepIn,_e.setIn=GA.setIn,_e.update=GA.update,_e.updateIn=GA.updateIn,_e.withMutations=GA.withMutations,_e.asMutable=GA.asMutable,_e.asImmutable=GA.asImmutable,e(et,lA),et.of=function(){return this(arguments)},et.fromKeys=function(A){return this(n(A).keySeq())},et.prototype.toString=function(){return this.__toString("Set {","}")},et.prototype.has=function(A){return this._map.has(A)},et.prototype.add=function(A){return st(this,this._map.set(A,!0))},et.prototype.remove=function(A){return st(this,this._map.remove(A))},et.prototype.clear=function(){return st(this,this._map.clear())},et.prototype.union=function(){var e=A.call(arguments,0);return 0===(e=e.filter((function(A){return 0!==A.size}))).length?this:0!==this.size||this.__ownerID||1!==e.length?this.withMutations((function(A){for(var t=0;t<e.length;t++)r(e[t]).forEach((function(e){return A.add(e)}))})):this.constructor(e[0])},et.prototype.intersect=function(){var e=A.call(arguments,0);if(0===e.length)return this;e=e.map((function(A){return r(A)}));var t=this;return this.withMutations((function(A){t.forEach((function(t){e.every((function(A){return A.includes(t)}))||A.remove(t)}))}))},et.prototype.subtract=function(){var e=A.call(arguments,0);if(0===e.length)return this;e=e.map((function(A){return r(A)}));var t=this;return this.withMutations((function(A){t.forEach((function(t){e.some((function(A){return A.includes(t)}))&&A.remove(t)}))}))},et.prototype.merge=function(){return this.union.apply(this,arguments)},et.prototype.mergeWith=function(e){var t=A.call(arguments,1);return this.union.apply(this,t)},et.prototype.sort=function(A){return Bt(ke(this,A))},et.prototype.sortBy=function(A,e){return Bt(ke(this,e,A))},et.prototype.wasAltered=function(){return this._map.wasAltered()},et.prototype.__iterate=function(A,e){var t=this;return this._map.__iterate((function(e,n){return A(n,n,t)}),e)},et.prototype.__iterator=function(A,e){return this._map.map((function(A,e){return e})).__iterator(A,e)},et.prototype.__ensureOwner=function(A){if(A===this.__ownerID)return this;var e=this._map.__ensureOwner(A);return A?this.__make(e,A):(this.__ownerID=A,this._map=e,this)},et.isSet=tt;var nt,it="@@__IMMUTABLE_SET__@@",rt=et.prototype;function st(A,e){return A.__ownerID?(A.size=e.size,A._map=e,A):e===A._map?A:0===e.size?A.__empty():A.__make(e)}function ot(A,e){var t=Object.create(rt);return t.size=A?A.size:0,t._map=A,t.__ownerID=e,t}function at(){return nt||(nt=ot(PA()))}function Bt(A){return null==A?lt():ct(A)?A:lt().withMutations((function(e){var t=r(A);UA(t.size),t.forEach((function(A){return e.add(A)}))}))}function ct(A){return tt(A)&&c(A)}rt[it]=!0,rt.delete=rt.remove,rt.mergeDeep=rt.merge,rt.mergeDeepWith=rt.mergeWith,rt.withMutations=GA.withMutations,rt.asMutable=GA.asMutable,rt.asImmutable=GA.asImmutable,rt.__empty=at,rt.__make=ot,e(Bt,et),Bt.of=function(){return this(arguments)},Bt.fromKeys=function(A){return this(n(A).keySeq())},Bt.prototype.toString=function(){return this.__toString("OrderedSet {","}")},Bt.isOrderedSet=ct;var gt,Qt=Bt.prototype;function Et(A,e){var t=Object.create(Qt);return t.size=A?A.size:0,t._map=A,t.__ownerID=e,t}function lt(){return gt||(gt=Et(Fe()))}function ut(A){return null==A?Mt():wt(A)?A:Mt().unshiftAll(A)}function wt(A){return!(!A||!A[Ct])}Qt[l]=!0,Qt.__empty=lt,Qt.__make=Et,e(ut,EA),ut.of=function(){return this(arguments)},ut.prototype.toString=function(){return this.__toString("Stack [","]")},ut.prototype.get=function(A,e){var t=this._head;for(A=m(this,A);t&&A--;)t=t.next;return t?t.value:e},ut.prototype.peek=function(){return this._head&&this._head.value},ut.prototype.push=function(){if(0===arguments.length)return this;for(var A=this.size+arguments.length,e=this._head,t=arguments.length-1;t>=0;t--)e={value:arguments[t],next:e};return this.__ownerID?(this.size=A,this._head=e,this.__hash=void 0,this.__altered=!0,this):It(A,e)},ut.prototype.pushAll=function(A){if(0===(A=i(A)).size)return this;UA(A.size);var e=this.size,t=this._head;return A.reverse().forEach((function(A){e++,t={value:A,next:t}})),this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):It(e,t)},ut.prototype.pop=function(){return this.slice(1)},ut.prototype.unshift=function(){return this.push.apply(this,arguments)},ut.prototype.unshiftAll=function(A){return this.pushAll(A)},ut.prototype.shift=function(){return this.pop.apply(this,arguments)},ut.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Mt()},ut.prototype.slice=function(A,e){if(D(A,e,this.size))return this;var t=Y(A,this.size);if(f(e,this.size)!==this.size)return EA.prototype.slice.call(this,A,e);for(var n=this.size-t,i=this._head;t--;)i=i.next;return this.__ownerID?(this.size=n,this._head=i,this.__hash=void 0,this.__altered=!0,this):It(n,i)},ut.prototype.__ensureOwner=function(A){return A===this.__ownerID?this:A?It(this.size,this._head,A,this.__hash):(this.__ownerID=A,this.__altered=!1,this)},ut.prototype.__iterate=function(A,e){if(e)return this.reverse().__iterate(A);for(var t=0,n=this._head;n&&!1!==A(n.value,t++,this);)n=n.next;return t},ut.prototype.__iterator=function(A,e){if(e)return this.reverse().__iterator(A);var t=0,n=this._head;return new G((function(){if(n){var e=n.value;return n=n.next,S(A,t++,e)}return{value:void 0,done:!0}}))},ut.isStack=wt;var ht,Ct="@@__IMMUTABLE_STACK__@@",dt=ut.prototype;function It(A,e,t,n){var i=Object.create(dt);return i.size=A,i._head=e,i.__ownerID=t,i.__hash=n,i.__altered=!1,i}function Mt(){return ht||(ht=It(0))}function pt(A,e){var t=function(t){A.prototype[t]=e[t]};return Object.keys(e).forEach(t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(t),A}dt[Ct]=!0,dt.withMutations=GA.withMutations,dt.asMutable=GA.asMutable,dt.asImmutable=GA.asImmutable,dt.wasAltered=GA.wasAltered,t.Iterator=G,pt(t,{toArray:function(){UA(this.size);var A=new Array(this.size||0);return this.valueSeq().__iterate((function(e,t){A[t]=e})),A},toIndexedSeq:function(){return new fe(this)},toJS:function(){return this.toSeq().map((function(A){return A&&"function"==typeof A.toJS?A.toJS():A})).__toJS()},toJSON:function(){return this.toSeq().map((function(A){return A&&"function"==typeof A.toJSON?A.toJSON():A})).__toJS()},toKeyedSeq:function(){return new Ye(this,!0)},toMap:function(){return yA(this.toKeyedSeq())},toObject:function(){UA(this.size);var A={};return this.__iterate((function(e,t){A[t]=e})),A},toOrderedMap:function(){return Me(this.toKeyedSeq())},toOrderedSet:function(){return Bt(o(this)?this.valueSeq():this)},toSet:function(){return et(o(this)?this.valueSeq():this)},toSetSeq:function(){return new Ne(this)},toSeq:function(){return a(this)?this.toIndexedSeq():o(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return ut(o(this)?this.valueSeq():this)},toList:function(){return ie(o(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(A,e){return 0===this.size?A+e:A+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+e},concat:function(){var e=A.call(arguments,0);return ve(this,He(this,e))},includes:function(A){return this.some((function(e){return sA(e,A)}))},entries:function(){return this.__iterator(2)},every:function(A,e){UA(this.size);var t=!0;return this.__iterate((function(n,i,r){if(!A.call(e,n,i,r))return t=!1,!1})),t},filter:function(A,e){return ve(this,Re(this,A,e,!0))},find:function(A,e,t){var n=this.findEntry(A,e);return n?n[1]:t},forEach:function(A,e){return UA(this.size),this.__iterate(e?A.bind(e):A)},join:function(A){UA(this.size),A=void 0!==A?""+A:",";var e="",t=!0;return this.__iterate((function(n){t?t=!1:e+=A,e+=null!=n?n.toString():""})),e},keys:function(){return this.__iterator(0)},map:function(A,e){return ve(this,xe(this,A,e))},reduce:function(A,e,t){var n,i;return UA(this.size),arguments.length<2?i=!0:n=e,this.__iterate((function(e,r,s){i?(i=!1,n=e):n=A.call(t,n,e,r,s)})),n},reduceRight:function(A,e,t){var n=this.toKeyedSeq().reverse();return n.reduce.apply(n,arguments)},reverse:function(){return ve(this,Te(this,!0))},slice:function(A,e){return ve(this,Ge(this,A,e,!0))},some:function(A,e){return!this.every(ft(A),e)},sort:function(A){return ve(this,ke(this,A))},values:function(){return this.__iterator(1)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(A,e){return p(A?this.toSeq().filter(A,e):this)},countBy:function(A,e){return function(A,e,t){var n=yA().asMutable();return A.__iterate((function(i,r){n.update(e.call(t,i,r,A),0,(function(A){return A+1}))})),n.asImmutable()}(this,A,e)},equals:function(A){return oA(this,A)},entrySeq:function(){var A=this;if(A._cache)return new W(A._cache);var e=A.toSeq().map(Yt).toIndexedSeq();return e.fromEntrySeq=function(){return A.toSeq()},e},filterNot:function(A,e){return this.filter(ft(A),e)},findEntry:function(A,e,t){var n=t;return this.__iterate((function(t,i,r){if(A.call(e,t,i,r))return n=[i,t],!1})),n},findKey:function(A,e){var t=this.findEntry(A,e);return t&&t[0]},findLast:function(A,e,t){return this.toKeyedSeq().reverse().find(A,e,t)},findLastEntry:function(A,e,t){return this.toKeyedSeq().reverse().findEntry(A,e,t)},findLastKey:function(A,e){return this.toKeyedSeq().reverse().findKey(A,e)},first:function(){return this.find(F)},flatMap:function(A,e){return ve(this,function(A,e,t){var n=Oe(A);return A.toSeq().map((function(i,r){return n(e.call(t,i,r,A))})).flatten(!0)}(this,A,e))},flatten:function(A){return ve(this,be(this,A,!0))},fromEntrySeq:function(){return new Ue(this)},get:function(A,e){return this.find((function(e,t){return sA(t,A)}),void 0,e)},getIn:function(A,e){for(var t,n=this,i=Xe(A);!(t=i.next()).done;){var r=t.value;if((n=n&&n.get?n.get(r,u):u)===u)return e}return n},groupBy:function(A,e){return function(A,e,t){var n=o(A),i=(c(A)?Me():yA()).asMutable();A.__iterate((function(r,s){i.update(e.call(t,r,s,A),(function(A){return(A=A||[]).push(n?[s,r]:r),A}))}));var r=Oe(A);return i.map((function(e){return ve(A,r(e))}))}(this,A,e)},has:function(A){return this.get(A,u)!==u},hasIn:function(A){return this.getIn(A,u)!==u},isSubset:function(A){return A="function"==typeof A.includes?A:t(A),this.every((function(e){return A.includes(e)}))},isSuperset:function(A){return(A="function"==typeof A.isSubset?A:t(A)).isSubset(this)},keyOf:function(A){return this.findKey((function(e){return sA(e,A)}))},keySeq:function(){return this.toSeq().map(Dt).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(A){return this.toKeyedSeq().reverse().keyOf(A)},max:function(A){return Je(this,A)},maxBy:function(A,e){return Je(this,e,A)},min:function(A){return Je(this,A?Nt(A):xt)},minBy:function(A,e){return Je(this,e?Nt(e):xt,A)},rest:function(){return this.slice(1)},skip:function(A){return this.slice(Math.max(0,A))},skipLast:function(A){return ve(this,this.toSeq().reverse().skip(A).reverse())},skipWhile:function(A,e){return ve(this,Se(this,A,e,!0))},skipUntil:function(A,e){return this.skipWhile(ft(A),e)},sortBy:function(A,e){return ve(this,ke(this,e,A))},take:function(A){return this.slice(0,Math.max(0,A))},takeLast:function(A){return ve(this,this.toSeq().reverse().take(A).reverse())},takeWhile:function(A,e){return ve(this,function(A,e,t){var n=We(A);return n.__iterateUncached=function(n,i){var r=this;if(i)return this.cacheResult().__iterate(n,i);var s=0;return A.__iterate((function(A,i,o){return e.call(t,A,i,o)&&++s&&n(A,i,r)})),s},n.__iteratorUncached=function(n,i){var r=this;if(i)return this.cacheResult().__iterator(n,i);var s=A.__iterator(2,i),o=!0;return new G((function(){if(!o)return{value:void 0,done:!0};var A=s.next();if(A.done)return A;var i=A.value,a=i[0],B=i[1];return e.call(t,B,a,r)?2===n?A:S(n,a,B,A):(o=!1,{value:void 0,done:!0})}))},n}(this,A,e))},takeUntil:function(A,e){return this.takeWhile(ft(A),e)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(A){if(A.size===1/0)return 0;var e=c(A),t=o(A),n=e?1:0;return function(A,e){return e=uA(e,3432918353),e=uA(e<<15|e>>>-15,461845907),e=uA(e<<13|e>>>-13,5),e=uA((e=(e+3864292196|0)^A)^e>>>16,2246822507),e=wA((e=uA(e^e>>>13,3266489909))^e>>>16)}(A.__iterate(t?e?function(A,e){n=31*n+Tt(hA(A),hA(e))|0}:function(A,e){n=n+Tt(hA(A),hA(e))|0}:e?function(A){n=31*n+hA(A)|0}:function(A){n=n+hA(A)|0}),n)}(this))}});var mt=t.prototype;mt[g]=!0,mt[R]=mt.values,mt.__toJS=mt.toArray,mt.__toStringMapper=Ut,mt.inspect=mt.toSource=function(){return this.toString()},mt.chain=mt.flatMap,mt.contains=mt.includes,pt(n,{flip:function(){return ve(this,ye(this))},mapEntries:function(A,e){var t=this,n=0;return ve(this,this.toSeq().map((function(i,r){return A.call(e,[r,i],n++,t)})).fromEntrySeq())},mapKeys:function(A,e){var t=this;return ve(this,this.toSeq().flip().map((function(n,i){return A.call(e,n,i,t)})).flip())}});var Ft=n.prototype;function Dt(A,e){return e}function Yt(A,e){return[e,A]}function ft(A){return function(){return!A.apply(this,arguments)}}function Nt(A){return function(){return-A.apply(this,arguments)}}function Ut(A){return"string"==typeof A?JSON.stringify(A):String(A)}function yt(){return M(arguments)}function xt(A,e){return A<e?1:A>e?-1:0}function Tt(A,e){return A^e+2654435769+(A<<6)+(A>>2)|0}return Ft[Q]=!0,Ft[R]=mt.entries,Ft.__toJS=mt.toObject,Ft.__toStringMapper=function(A,e){return JSON.stringify(e)+": "+Ut(A)},pt(i,{toKeyedSeq:function(){return new Ye(this,!1)},filter:function(A,e){return ve(this,Re(this,A,e,!1))},findIndex:function(A,e){var t=this.findEntry(A,e);return t?t[0]:-1},indexOf:function(A){var e=this.keyOf(A);return void 0===e?-1:e},lastIndexOf:function(A){var e=this.lastKeyOf(A);return void 0===e?-1:e},reverse:function(){return ve(this,Te(this,!1))},slice:function(A,e){return ve(this,Ge(this,A,e,!1))},splice:function(A,e){var t=arguments.length;if(e=Math.max(0|e,0),0===t||2===t&&!e)return this;A=Y(A,A<0?this.count():this.size);var n=this.slice(0,A);return ve(this,1===t?n:n.concat(M(arguments,2),this.slice(A+e)))},findLastIndex:function(A,e){var t=this.findLastEntry(A,e);return t?t[0]:-1},first:function(){return this.get(0)},flatten:function(A){return ve(this,be(this,A,!1))},get:function(A,e){return(A=m(this,A))<0||this.size===1/0||void 0!==this.size&&A>this.size?e:this.find((function(e,t){return t===A}),void 0,e)},has:function(A){return(A=m(this,A))>=0&&(void 0!==this.size?this.size===1/0||A<this.size:-1!==this.indexOf(A))},interpose:function(A){return ve(this,function(A,e){var t=We(A);return t.size=A.size&&2*A.size-1,t.__iterateUncached=function(t,n){var i=this,r=0;return A.__iterate((function(A,n){return(!r||!1!==t(e,r++,i))&&!1!==t(A,r++,i)}),n),r},t.__iteratorUncached=function(t,n){var i,r=A.__iterator(1,n),s=0;return new G((function(){return(!i||s%2)&&(i=r.next()).done?i:s%2?S(t,s++,e):S(t,s++,i.value,i)}))},t}(this,A))},interleave:function(){var A=[this].concat(M(arguments)),e=ze(this.toSeq(),P.of,A),t=e.flatten(!0);return e.size&&(t.size=e.size*A.length),ve(this,t)},keySeq:function(){return cA(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(A,e){return ve(this,Se(this,A,e,!1))},zip:function(){var A=[this].concat(M(arguments));return ve(this,ze(this,yt,A))},zipWith:function(A){var e=M(arguments);return e[0]=this,ve(this,ze(this,A,e))}}),i.prototype[E]=!0,i.prototype[l]=!0,pt(r,{get:function(A,e){return this.has(A)?A:e},includes:function(A){return this.has(A)},keySeq:function(){return this.valueSeq()}}),r.prototype.has=mt.includes,r.prototype.contains=r.prototype.includes,pt(L,n.prototype),pt(P,i.prototype),pt(O,r.prototype),pt(QA,n.prototype),pt(EA,i.prototype),pt(lA,r.prototype),{Iterable:t,Seq:v,Collection:gA,Map:yA,OrderedMap:Me,List:ie,Stack:ut,Set:et,OrderedSet:Bt,Record:Ze,Range:cA,Repeat:aA,is:sA,fromJS:nA}}()},function(A,e,t){const n=t(8),i=function(A){if("string"!=typeof A){if(!Array.isArray(A))return n.error("Unexptected type ".concat(typeof A," in xmlEscape at: ").concat((new Error).stack)),A;A=String(A)}return A.replace(/[<>&'"]/g,A=>{switch(A){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";case"'":return"&apos;";case'"':return"&quot;"}})};A.exports=i,A.exports.escapeAttribute=A=>{const e=i(A);return JSON.stringify(e).slice(1,-1)}},function(A,e,t){const n=t(14),i="'none'",r={accelerometer:i,"ambient-light-sensor":i,battery:i,camera:i,"display-capture":i,"document-domain":i,"encrypted-media":i,fullscreen:i,geolocation:i,gyroscope:i,magnetometer:i,microphone:i,midi:i,payment:i,"picture-in-picture":i,"publickey-credentials-get":i,"speaker-selection":i,usb:i,vibrate:i,vr:i,"screen-wake-lock":i,"web-share":i,"interest-cohort":i},s=()=>{const A=document.createElement("iframe"),e=n()+n()+n()+n();return A.dataset.id=e,A.style.display="none",A.setAttribute("aria-hidden","true"),A.sandbox="allow-scripts allow-modals",A.allow=Object.entries(r).map(A=>{let[e,t]=A;return"".concat(e," ").concat(t)}).join("; "),document.body.append(A),A},o=(window.origin,(A,e)=>{const t=["<!DOCTYPE html>",'<html lang="en-US">',"<head>","<title>the an one of an iframe</title>","</head>","<body>","<h1><p>epic computing in progress...</p></h1>","<script>","(async () => {\n let result = null;\n let success = true;\n try {\n // techincally eval can also postMessage\n // and also modify success & result probably\n // but theres no real reason to prevent it\n // nor does the user have any reason to do it\n result = await eval(".concat((A=>JSON.stringify(A).replaceAll("<\/script>","<\\/script>"))(A),");\n } catch (err) {\n success = false;\n result = err;\n }\n\n const parent = window.parent;\n const origin = '*';\n // console.log(result,success);\n console.log(origin);\n\n try {\n parent.postMessage({\n payload: {\n success: success,\n value: result,\n id: ").concat(JSON.stringify(e.dataset.id),"\n },\n }, origin);\n } catch (topLevelError) {\n // couldnt clone likely\n try {\n parent.postMessage({\n payload: {\n success: success,\n value: JSON.stringify(result),\n id: ").concat(JSON.stringify(e.dataset.id),'\n },\n }, origin);\n } catch (err) {\n // ok we cant stringify it just error\n parent.postMessage({\n payload: {\n success: false,\n value: [String(topLevelError), String(err)].join("; "),\n id: ').concat(JSON.stringify(e.dataset.id),"\n },\n }, origin);\n }\n }\n})();"),"<\/script>","</body>","</html>"].join("\n"),n=new Blob([t],{type:"text/html;charset=UTF-8"});return URL.createObjectURL(n)});A.exports=class{static execute(A){return new Promise(e=>{const t=s(),n=A=>{var i,r,s;(i=A,r=t,s=n,new Promise(A=>{if(!i.data.payload)return;if(i.data.payload.id!==r.dataset.id)return;const e=i.data.payload;window.removeEventListener("message",s);try{const A=r.src;URL.revokeObjectURL(A)}catch(A){console.warn("failed to revoke url of iframe sandboxed eval")}r.remove(),A(e)})).then(A=>{e({success:A.success,value:A.value})})};window.addEventListener("message",n),t.src=o(A,t)})}}},function(A,e){A.exports={manhattan:function(A,e){return A+e},euclidean:function(A,e){return Math.sqrt(A*A+e*e)},octile:function(A,e){var t=Math.SQRT2-1;return A<e?t*A+e:t*e+A},chebyshev:function(A,e){return Math.max(A,e)}}},function(A,e,t){var n=t(129),i=n.isDigit,r=n.isHexDigit,s=n.isUppercaseLetter,o=n.isName,a=n.isWhiteSpace,B=n.isValidEscape;function c(A,e){return e<A.length?A.charCodeAt(e):0}function g(A,e,t){return 13===t&&10===c(A,e+1)?2:1}function Q(A,e,t){var n=A.charCodeAt(e);return s(n)&&(n|=32),n===t}function E(A,e){for(;e<A.length&&i(A.charCodeAt(e));e++);return e}function l(A,e){if(r(c(A,(e+=2)-1))){for(var t=Math.min(A.length,e+5);e<t&&r(c(A,e));e++);var n=c(A,e);a(n)&&(e+=g(A,e,n))}return e}A.exports={consumeEscaped:l,consumeName:function(A,e){for(;e<A.length;e++){var t=A.charCodeAt(e);if(!o(t)){if(!B(t,c(A,e+1)))break;e=l(A,e)-1}}return e},consumeNumber:function(A,e){var t=A.charCodeAt(e);if(43!==t&&45!==t||(t=A.charCodeAt(e+=1)),i(t)&&(e=E(A,e+1),t=A.charCodeAt(e)),46===t&&i(A.charCodeAt(e+1))&&(t=A.charCodeAt(e+=2),e=E(A,e)),Q(A,e,101)){var n=0;45!==(t=A.charCodeAt(e+1))&&43!==t||(n=1,t=A.charCodeAt(e+2)),i(t)&&(e=E(A,e+1+n+1))}return e},consumeBadUrlRemnants:function(A,e){for(;e<A.length;e++){var t=A.charCodeAt(e);if(41===t){e++;break}B(t,c(A,e+1))&&(e=l(A,e))}return e},cmpChar:Q,cmpStr:function(A,e,t,n){if(t-e!==n.length)return!1;if(e<0||t>A.length)return!1;for(var i=e;i<t;i++){var r=A.charCodeAt(i),o=n.charCodeAt(i-e);if(s(r)&&(r|=32),r!==o)return!1}return!0},getNewlineLength:g,findWhiteSpaceStart:function(A,e){for(;e>=0&&a(A.charCodeAt(e));e--);return e+1},findWhiteSpaceEnd:function(A,e){for(;e<A.length&&a(A.charCodeAt(e));e++);return e}}},function(A,e,t){const n=t(20),i=(A,e,t)=>Math.max(Math.min(A,t),e);class r{constructor(A){this._gl=A,this._shaderCache={};for(const A in r.DRAW_MODE)Object.prototype.hasOwnProperty.call(r.DRAW_MODE,A)&&(this._shaderCache[A]=[])}getShader(A,e){const t=this._shaderCache[A];A===r.DRAW_MODE.silhouette&&(e&=~(r.EFFECT_INFO.color.mask|r.EFFECT_INFO.brightness.mask));let n=t[e];return n||(n=t[e]=this._buildShader(A,e)),n}_buildShader(A,e){const i=r.EFFECTS.length,s=["#define DRAW_MODE_".concat(A)];for(let A=0;A<i;++A)0!=(e&1<<A)&&s.push("#define ENABLE_".concat(r.EFFECTS[A]));const o="".concat(s.join("\n"),"\n"),a=o+t(567),B=o+t(568);return n.createProgramInfo(this._gl,[a,B])}}r.EFFECT_INFO={color:{uniformName:"u_color",mask:1,converter:A=>A/200%1,shapeChanges:!1},fisheye:{uniformName:"u_fisheye",mask:2,converter:A=>Math.max(0,(A+100)/100),shapeChanges:!0},whirl:{uniformName:"u_whirl",mask:4,converter:A=>-A*Math.PI/180,shapeChanges:!0},pixelate:{uniformName:"u_pixelate",mask:8,converter:A=>Math.abs(A)/10,shapeChanges:!0},mosaic:{uniformName:"u_mosaic",mask:16,converter:A=>(A=Math.round((Math.abs(A)+10)/10),Math.max(1,Math.min(A,512))),shapeChanges:!0},brightness:{uniformName:"u_brightness",mask:32,converter:A=>Math.max(-100,Math.min(A,100))/100,shapeChanges:!1},ghost:{uniformName:"u_ghost",mask:64,converter:A=>1-Math.max(0,Math.min(A,100))/100,shapeChanges:!1},red:{uniformName:"u_red",mask:128,converter:A=>i(A,-100,100)/100*4+1,shapeChanges:!1},green:{uniformName:"u_green",mask:256,converter:A=>i(A,-100,100)/100*4+1,shapeChanges:!1},blue:{uniformName:"u_blue",mask:512,converter:A=>i(A,-100,100)/100*4+1,shapeChanges:!1},opaque:{uniformName:"u_opaque",mask:1024,converter:A=>i(Math.ceil(A),1,100),shapeChanges:!1},saturation:{uniformName:"u_saturation",mask:2048,converter:A=>A/100+1,shapeChanges:!1}},r.EFFECTS=Object.keys(r.EFFECT_INFO),r.DRAW_MODE={default:"default",straightAlpha:"straightAlpha",silhouette:"silhouette",colorMask:"colorMask",line:"line",background:"background"},A.exports=r},function(A,e){var t,n,i=A.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(A){if(t===setTimeout)return setTimeout(A,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(A,0);try{return t(A,0)}catch(e){try{return t.call(null,A,0)}catch(e){return t.call(this,A,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(A){t=r}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(A){n=s}}();var a,B=[],c=!1,g=-1;function Q(){c&&a&&(c=!1,a.length?B=a.concat(B):g=-1,B.length&&E())}function E(){if(!c){var A=o(Q);c=!0;for(var e=B.length;e;){for(a=B,B=[];++g<e;)a&&a[g].run();g=-1,e=B.length}a=null,c=!1,function(A){if(n===clearTimeout)return clearTimeout(A);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(A);try{n(A)}catch(e){try{return n.call(null,A)}catch(e){return n.call(this,A)}}}(A)}}function l(A,e){this.fun=A,this.array=e}function u(){}i.nextTick=function(A){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];B.push(new l(A,e)),1!==B.length||c||o(E)},l.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=u,i.addListener=u,i.once=u,i.off=u,i.removeListener=u,i.removeAllListeners=u,i.emit=u,i.prependListener=u,i.prependOnceListener=u,i.listeners=function(A){return[]},i.binding=function(A){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(A){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(A,e,t){var n=t(167),i=n.enable,r=n.disable,s="undefined"!=typeof navigator&&/chrome/i.test(navigator.userAgent),o=t(170);if(n.defaultBackend=s?o.minilog:o,"undefined"!=typeof window){try{n.enable(JSON.parse(window.localStorage.minilogSettings))}catch(A){}if(window.location&&window.location.search){var a=RegExp("[?&]minilog=([^&]*)").exec(window.location.search);a&&n.enable(decodeURIComponent(a[1]))}}n.enable=function(){i.call(n,!0);try{window.localStorage.minilogSettings=JSON.stringify(!0)}catch(A){}return this},n.disable=function(){r.call(n);try{delete window.localStorage.minilogSettings}catch(A){}return this},(A.exports=n).backends={array:t(173),browser:n.defaultBackend,localStorage:t(174),jQuery:t(175)}},function(A,e){A.exports={translateForCamera:(A,e,t,n)=>{const{pos:i,scale:r,dir:s}=A.cameraStates[e],o=s/180*Math.PI,a=Math.sin(o),B=Math.cos(o),c=t-i[0],g=n-i[1];return[r*(c*B-g*a),r*(c*a+g*B)]},translateScreenPos:(A,e,t,n)=>{const{pos:i,scale:r,dir:s}=A.cameraStates[e],o=-s/180*Math.PI,a=Math.sin(o),B=Math.cos(o);let c=i[0],g=i[1];return c*=r,g*=r,c+=r*(t*B-n*a),g+=r*(t*a+n*B),[c,g]}}},function(A,e,t){const n=t(70);A.exports=class extends n{constructor(A,e,t,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;super(),this._socket=A.getScratchLinkSocket("BLE"),this._socket.setOnOpen(this.requestPeripheral.bind(this)),this._socket.setOnClose(this.handleDisconnectError.bind(this)),this._socket.setOnError(this._handleRequestError.bind(this)),this._socket.setHandleMessage(this._handleMessage.bind(this)),this._sendMessage=this._socket.sendMessage.bind(this._socket),this._availablePeripherals={},this._connectCallback=n,this._connected=!1,this._characteristicDidChangeCallback=null,this._resetCallback=i,this._discoverTimeoutID=null,this._extensionId=e,this._peripheralOptions=t,this._runtime=A,this._socket.open()}requestPeripheral(){this._availablePeripherals={},this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._discoverTimeoutID=window.setTimeout(this._handleDiscoverTimeout.bind(this),15e3),this.sendRemoteRequest("discover",this._peripheralOptions).catch(A=>{this._handleRequestError(A)})}connectPeripheral(A){this.sendRemoteRequest("connect",{peripheralId:A}).then(()=>{this._connected=!0,this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTED),this._connectCallback()}).catch(A=>{this._handleRequestError(A)})}disconnect(){this._connected&&(this._connected=!1),this._socket.isOpen()&&this._socket.close(),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_DISCONNECTED)}isConnected(){return this._connected}startNotifications(A,e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const n={serviceId:A,characteristicId:e};return this._characteristicDidChangeCallback=t,this.sendRemoteRequest("startNotifications",n).catch(A=>{this.handleDisconnectError(A)})}read(A,e){let t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const n={serviceId:A,characteristicId:e};return arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&(n.startNotifications=!0),t&&(this._characteristicDidChangeCallback=t),this.sendRemoteRequest("read",n).catch(A=>{this.handleDisconnectError(A)})}write(A,e,t){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;const r={serviceId:A,characteristicId:e,message:t};return n&&(r.encoding=n),null!==i&&(r.withResponse=i),this.sendRemoteRequest("write",r).catch(A=>{this.handleDisconnectError(A)})}didReceiveCall(A,e){switch(A){case"didDiscoverPeripheral":this._availablePeripherals[e.peripheralId]=e,this._runtime.emit(this._runtime.constructor.PERIPHERAL_LIST_UPDATE,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidPickPeripheral":this._availablePeripherals[e.peripheralId]=e,this._runtime.emit(this._runtime.constructor.USER_PICKED_PERIPHERAL,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidNotPickPeripheral":this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"characteristicDidChange":this._characteristicDidChangeCallback&&this._characteristicDidChangeCallback(e.message);break;case"ping":return 42}}handleDisconnectError(){this._connected&&(this.disconnect(),this._resetCallback&&this._resetCallback(),this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTION_LOST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId}))}_handleRequestError(){this._runtime.emit(this._runtime.constructor.PERIPHERAL_REQUEST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId})}_handleDiscoverTimeout(){this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT)}}},function(A,e){A.exports=function(A,e){let t="";for(const A in e){let n=e[A].value;"CURRENTMENU"===A&&(n=n.toLowerCase()),t+="_".concat(n)}return"".concat(A).concat(t)}},function(A,e,t){const n=t(8),i=[];class r{constructor(A){this.isLoop=!1,this.warpMode=A,this.justReported=null,this.reporting="",this.reported=null,this.waitingReporter=null,this.params=null,this.executionContext=null}reset(){return this.isLoop=!1,this.warpMode=!1,this.justReported=null,this.reported=null,this.waitingReporter=null,this.params=null,this.executionContext=null,this}reuse(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.warpMode;return this.reset(),this.warpMode=Boolean(A),this}static create(A){const e=i.pop();return void 0!==e?(e.warpMode=Boolean(A),e):new r(A)}static release(A){void 0!==A&&i.push(A.reset())}}class s{constructor(A){this.topBlock=A,this.stack=[],this.stackFrames=[],this.status=0,this.isKilled=!1,this.target=null,this.blockContainer=null,this.requestScriptGlowInFrame=!1,this.blockGlowInFrame=null,this.warpTimer=null,this.justReported=null,this.triedToCompile=!1,this.isCompiled=!1,this.timer=null,this.generator=null,this.procedures=null,this.executableHat=!1}static get STATUS_RUNNING(){return 0}static get STATUS_PROMISE_WAIT(){return 1}static get STATUS_YIELD(){return 2}static get STATUS_YIELD_TICK(){return 3}static get STATUS_PAUSED(){return 5}static get STATUS_DONE(){return 4}static getIdFromTargetAndBlock(A,e){return"".concat(A.id,"&").concat(e)}getId(){return s.getIdFromTargetAndBlock(this.target,this.topBlock)}pushStack(A){if(this.stack.push(A),this.stack.length>this.stackFrames.length){const A=this.stackFrames[this.stackFrames.length-1];this.stackFrames.push(r.create(void 0!==A&&A.warpMode))}}reuseStackForNextBlock(A){this.stack[this.stack.length-1]=A,this.stackFrames[this.stackFrames.length-1].reuse()}popStack(){return r.release(this.stackFrames.pop()),this.stack.pop()}stopThisScript(){let A=this.peekStack();for(;null!==A;){const e=this.target.blocks.getBlock(A);if(void 0!==e&&"procedures_call"===e.opcode)break;this.popStack(),A=this.peekStack()}0===this.stack.length&&(this.requestScriptGlowInFrame=!1,this.status=s.STATUS_DONE)}peekStack(){return this.stack.length>0?this.stack[this.stack.length-1]:null}peekStackFrame(){return this.stackFrames.length>0?this.stackFrames[this.stackFrames.length-1]:null}peekParentStackFrame(){return this.stackFrames.length>1?this.stackFrames[this.stackFrames.length-2]:null}pushReportedValue(A){this.justReported=void 0===A?null:A}initParams(){const A=this.peekStackFrame();null===A.params&&(A.params={})}pause(){this.originalStatus=this.status,this.status=s.STATUS_PAUSED,this.timer&&this.timer.pause()}play(){this.status=this.originalStatus,this.timer&&this.timer.play()}pushParam(A,e){this.peekStackFrame().params[A]=e}getParam(A){for(let e=this.stackFrames.length-1;e>=0;e--){const t=this.stackFrames[e];if(null!==t.params)return t.params.hasOwnProperty(A)?t.params[A]:null}return null}getAllparams(){return this.peekStackFrame().params}atStackTop(){return this.peekStack()===this.topBlock}goToNextBlock(){const A=this.target.blocks.getNextBlock(this.peekStack());this.reuseStackForNextBlock(A)}isRecursiveCall(A){let e=5;for(let t=this.stack.length-1-1;t>=0;t--){const n=this.target.blocks.getBlock(this.stack[t]);if("procedures_call"===n.opcode&&n.mutation.proccode===A)return!0;if(--e<0)return!1}return!1}tryCompile(){if(!this.blockContainer)return;const A=t(257);this.triedToCompile=!0;const e=!this.stackClick,i=this.topBlock,r=this.blockContainer.getBlock(i)?this.blockContainer:this.target.runtime.flyoutBlocks,s=e&&r.getCachedCompileResult(i);if(s&&!s.success)return;let o;if(s)o=s.value;else try{o=A(this),e&&r.cacheCompileResult(i,o)}catch(A){return n.error("cannot compile script",this.target.getName(),A),e&&r.cacheCompileError(i,A),void this.target.runtime.emitCompileError(this.target,A)}this.procedures={};for(const A of Object.keys(o.procedures))this.procedures[A]=o.procedures[A](this);this.generator=o.startingFunction(this)(),this.executableHat=o.executableHat,this.blockContainer.forceNoGlow||(this.blockGlowInFrame=this.topBlock,this.requestScriptGlowInFrame=!0),this.isCompiled=!0}}A.exports=s},function(A,e){function t(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}class n{static get skipPermissionRequest(){return!!vm&&(!!vm.runtime&&!0===vm.runtime.isProjectPermissionManagerDisabled)}static GenerateCode(A){return Array.from(new Array(A).keys()).map(()=>Math.round(9*Math.random())).join("")}static EditPromptForAcceptCheck(A){return String(A).replace(/ /gim,"").toLowerCase()}static RequestPermission(A){if(!0===n.skipPermissionRequest)return!0;if(n.disabledPermissions.includes(A))return!1;for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i<e;i++)t[i-1]=arguments[i];if("limitedWebsite"==A){if(t.length<1)throw new Error("No URL specified what are you trying to get permission for bro");if(!n.IsUrlSafe(t[0]))return!1}if("limitedWebsite"==A&&1==n.permissions.limitedWebsites[t[0]])return!0;if(n.permissions[A])return!0;let r="Allow this project to ".concat(n.permissionMessages[A],"?");for(let A=0;A<t.length;A++){const e=t[A];r=r.replace("$".concat(A),n.IsDataUrl(e)?"custom website":String(e))}r+="\n\nThis will allow the project to:\n",n.permissionDrawbacks[A].forEach(A=>{r+="▪ ".concat(A,"\n")});let s="ok";n.requiresCode.includes(A)&&(s=n.GenerateCode(6)),r+='\nType "'.concat(s,'" to allow, or type "stop" to never ask for this permission again.');const o=n.EditPromptForAcceptCheck(prompt(r,""));if("stop"==o)return n.disabledPermissions.push(A),!1;const a=o===String(s);return"limitedWebsite"==A?!!a&&(n.permissions.limitedWebsites[t[0]]=!0,!0):(n.permissions[A]=a,a)}static RequestAllPermissions(){if(!0===n.skipPermissionRequest)return!0;if(n.disabledPermissions.includes("all"))return!1;const A=[];Object.getOwnPropertyNames(n.permissions).forEach(e=>{"boolean"==typeof n.permissions[e]&&A.push(e)});let e="Give all permissions to this project?";e+="\n\nThis will allow the project to:\n",A.forEach(A=>{n.permissionDrawbacks[A].forEach(A=>{e+="▪ ".concat(A,"\n")})});const t=n.GenerateCode(8);e+='\nType "'.concat(t,'" to allow, or type "stop" to never ask for all permissions again.');const i=n.EditPromptForAcceptCheck(prompt(e,""));if("stop"==i)return n.disabledPermissions.push("all"),!1;return i===String(t)&&(Object.getOwnPropertyNames(n.permissions).forEach(A=>{"boolean"==typeof n.permissions[A]&&(n.permissions[A]=!0)}),!0)}static CanCreateURLObject(A){let e=!0;try{new URL(A)}catch(A){e=!1}return e}static IsDataUrl(A){if(!this.CanCreateURLObject(A))return!1;return"data:"===new URL(A).protocol}static IsUrlSafe(A){if(!this.CanCreateURLObject(A))return!1;if(n.IsDataUrl(A))return!0;const e=new URL(A).origin.toLowerCase();let t=!0;return(e.includes("xxx")||e.includes("adult")||e.includes(atob("c2V4"))||e.includes(atob("cG9ybg=="))||e.includes(atob("Ym9vcnU="))||e.includes(atob("aGVudGFp")))&&(t=!1),t}}t(n,"permissions",{javascript:!0,camera:!0,allWebsites:!0,cameraPictures:!1,scratchSignIn:!0,limitedWebsites:{}}),t(n,"permissionMessages",{javascript:"use custom code in JavaScript",camera:"turn on your camera",allWebsites:"display all websites",cameraPictures:"take screenshots while your camera is on",scratchSignIn:"sign in with Scratch",limitedWebsite:"display $0"}),t(n,"permissionDrawbacks",{javascript:[],camera:[],allWebsites:[],cameraPictures:["take a screenshot while your camera is visible"],scratchSignIn:[],limitedWebsite:[]}),t(n,"requiresCode",[]),t(n,"disabledPermissions",[]),A.exports=n},function(A,e,t){A.exports=t(370)},function(A,e,t){var n=t(57),i=t(33),r=t(47);t(15);function s(A){A=A||{},this.heuristic=A.heuristic||r.manhattan,this.trackJumpRecursion=A.trackJumpRecursion||!1}s.prototype.findPath=function(A,e,t,r,s){var o,a=this.openList=new n((function(A,e){return A.f-e.f})),B=this.startNode=s.getNodeAt(A,e),c=this.endNode=s.getNodeAt(t,r);for(this.grid=s,B.g=0,B.f=0,a.push(B),B.opened=!0;!a.empty();){if((o=a.pop()).closed=!0,o===c)return i.expandPath(i.backtrace(c));this._identifySuccessors(o)}return[]},s.prototype._identifySuccessors=function(A){var e,t,n,i,s,o,a,B,c,g,Q=this.grid,E=this.heuristic,l=this.openList,u=this.endNode.x,w=this.endNode.y,h=A.x,C=A.y,d=Math.abs;Math.max;for(i=0,s=(e=this._findNeighbors(A)).length;i<s;++i)if(t=e[i],n=this._jump(t[0],t[1],h,C)){if(o=n[0],a=n[1],(g=Q.getNodeAt(o,a)).closed)continue;B=r.octile(d(o-h),d(a-C)),c=A.g+B,(!g.opened||c<g.g)&&(g.g=c,g.h=g.h||E(d(o-u),d(a-w)),g.f=g.g+g.h,g.parent=A,g.opened?l.updateItem(g):(l.push(g),g.opened=!0))}},A.exports=s},function(A,e,t){(function(e){function n(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function i(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach((function(e){r(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}function r(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const s=t(3),o=t(1),a=t(38),B=t(2),c=t(10),g=t(13),Q=A=>{try{return new URL(A,location.href)}catch(A){return null}};class E{constructor(A){this.limited=!0===A}get ArgumentType(){return s}get BlockType(){return o}get TargetType(){return a}get Cast(){return B}get Clone(){return c}get Color(){return g}get vm(){return vm}get renderer(){return E.vm.runtime.renderer}async canFetch(A){if(this.limited){const e=Q(A);return!!e&&("blob:"===e.protocol||e.protocol,!0)}return!0}async canOpenWindow(A){if(this.limited){const e=Q(A);return!!e&&"javascript:"!==e.protocol}return!0}async canRedirect(A){if(this.limited){const e=Q(A);return!!e&&"javascript:"!==e.protocol}return!0}async fetch(A,t){if(this.limited){const n=A instanceof Request?A.url:A;if(!await e.Scratch.canFetch(n))throw new Error("Permission to fetch ".concat(n," rejected."));return fetch(A,i(i({},t),{},{redirect:"error"}))}return fetch(A,i(i({},t),{},{redirect:"error"}))}async openWindow(A,t){if(this.limited){if(!await e.Scratch.canOpenWindow(A))throw new Error("Permission to open tab ".concat(A," rejected."));return window.open(A,"_blank",t)}return window.open(A,"_blank",t)}async redirect(A){if(this.limited){if(!await e.Scratch.canRedirect(A))throw new Error("Permission to redirect to ".concat(A," rejected."));location.href=A}else location.href=A}get extensions(){return{unsandboxed:!0,register:()=>{throw new Error("Register cannot be replicated in custom-ext-api-to-core")}}}}A.exports=E}).call(this,t(19))},function(A,e,t){const n=t(16),i=t(8),r=function(A,e,t,n){return A.assetId=e.assetId,t.audioEngine?t.audioEngine.decodeSoundPlayer(Object.assign({},A,{data:e.data})).then(e=>{A.soundId=e.id;const i=e.buffer;return A.rate=i.sampleRate,A.sampleCount=i.length,null!==n&&n.addSoundPlayer(e),t.isPackaged&&(A.asset=null),A}):(i.warn("No audio engine present; cannot load sound asset: ",A.md5),Promise.resolve(A))},s=function(A,e,t){const n=A.asset,i=A.assetId,s=A.sampleCount,o=A.rate,a=A.format,B=A.dataFormat;return A.assetId=e.storage.defaultAssetId.Sound,A.asset=e.storage.get(A.assetId),A.md5="".concat(A.assetId,".").concat(A.asset.dataFormat),r(A,A.asset,e,t).then(A=>(A.broken={},A.broken.assetId=i,A.broken.md5="".concat(i,".").concat(B),A.broken.asset=n,A.broken.sampleCount=s,A.broken.rate=o,A.broken.format=a,A.broken.dataFormat=B,A))};A.exports={loadSound:function(A,e,t){if(!e.storage)return i.warn("No storage module present; cannot load sound asset: ",A.md5),Promise.resolve(A);const o=n.splitFirst(A.md5,"."),a=o[0],B=o[1].toLowerCase();return A.dataFormat=B,(A.asset&&Promise.resolve(A.asset)||e.storage.load(e.storage.AssetType.Sound,a,B)).then(n=>(A.asset=n,n?r(A,n,e,t):(i.warn("Failed to find sound data: ",A.md5),s(A,e,t)))).catch(n=>(i.warn("Failed to load sound: ".concat(A.md5," with error: ").concat(n)),s(A,e,t)))},loadSoundFromAsset:r}},function(A,e,t){const n=t(16),i=t(8),r=t(78),{loadSvgString:s,serializeSvgToString:o}=t(67),{parseVectorMetadata:a}=t(139),B=function(A,e,t,n){return new Promise(i=>{let r=A.asset.decodeText();if(void 0===t){const e=a(r);e&&(t=e,A.rotationCenterX=t[0],A.rotationCenterY=t[1])}if(n&&2===n){const t=o(s(r,!0));if(r!==t){r=t;const n=e.storage;A.asset.encodeTextData(t,n.DataFormat.SVG,!0),A.assetId=A.asset.assetId,A.md5="".concat(A.assetId,".").concat(A.dataFormat)}}A.skinId=e.renderer.createSVGSkin(r,t),A.size=e.renderer.getSkinSize(A.skinId),t||(t=e.renderer.getSkinRotationCenter(A.skinId),A.rotationCenterX=t[0],A.rotationCenterY=t[1],A.bitmapResolution=1),e.isPackaged&&(A.asset=null),i(A)})},c=new class{constructor(){this.pool=[],this.clearSoon=null}clear(){this.clearSoon||(this.clearSoon=new Promise(A=>setTimeout(A,1e3)).then(()=>{this.pool.length=0,this.clearSoon=null}))}create(){return this.pool.pop()||document.createElement("canvas")}release(A){this.clear(),this.pool.push(A)}},g=A=>new Promise((e,t)=>{const n=new Image;n.onload=function(){e(n),n.onload=null,n.onerror=null},n.onerror=function(){t(new Error("Costume load failed. Asset could not be read.")),n.onload=null,n.onerror=null},n.src=A}),Q=new r(async A=>{let e;for(let t=0;t<3;t++)try{if("function"==typeof createImageBitmap){const e=await createImageBitmap(new Blob([A.data.buffer],{type:A.assetType.contentType}));if(!e)throw new Error("createImageBitmap resolved with ".concat(e));return e}return await g(A.encodeDataURI())}catch(A){e||(e=A),i.warn(A),await new Promise(A=>setTimeout(A,2e3*Math.random()))}throw e},25),E=function(A,e,t){return function(A,e,t){return A&&A.asset?e.v2BitmapAdapter?Promise.all([A.asset,A.textLayerAsset].map(A=>A?Q.do(A):null)).then(n=>{let[i,r]=n;if(!i)throw new Error("Loading bitmap costume base failed.");const s=1===A.bitmapResolution?2:1;let o,a;if(r){a=c.create(),a.width=i.width,a.height=i.height;const A=a.getContext("2d");A.drawImage(i,0,0),A.drawImage(r,0,0),o=a}else o=i;return 1!==s&&(o=e.v2BitmapAdapter.resize(o,o.width*s,o.height*s),a&&c.release(a)),o.reusable=!1,t&&(t[0]=t[0]*s,t[1]=t[1]*s,A.rotationCenterX=t[0],A.rotationCenterY=t[1]),A.bitmapResolution=2,delete A.textLayerMD5,delete A.textLayerAsset,{image:o,rotationCenter:t,assetMatchesBase:1===s&&!r}}).finally(()=>{delete A.textLayerMD5,delete A.textLayerAsset}):Promise.reject("No V2 Bitmap adapter present."):Promise.reject("Costume load failed. Assets were missing.")}(A,e,t).then(t=>(t.assetMatchesBase||function(t){if(!e.v2BitmapAdapter)return Promise.reject("No V2 Bitmap adapter present.");const n=e.storage;A.asset=n.createAsset(n.AssetType.ImageBitmap,n.DataFormat.PNG,e.v2BitmapAdapter.convertDataURIToBinary(t),null,!0),A.dataFormat=n.DataFormat.PNG,A.assetId=A.asset.assetId,A.md5="".concat(A.assetId,".").concat(A.dataFormat)}((A=>{if(A instanceof HTMLCanvasElement)return A.toDataURL();const e=c.create();e.width=A.width,e.height=A.height;e.getContext("2d").drawImage(A,0,0);const t=e.toDataURL();return c.release(e),t})(t.image)),t)).then(t=>{let n,{image:i,rotationCenter:r}=t;r&&(n=[r[0]/2,r[1]/2]),A.skinId=e.renderer.createBitmapSkin(i,A.bitmapResolution,n);const s=e.renderer.getSkinSize(A.skinId);return A.size=[2*s[0],2*s[1]],r||(r=e.renderer.getSkinRotationCenter(A.skinId),A.rotationCenterX=2*r[0],A.rotationCenterY=2*r[1],A.bitmapResolution=2),e.isPackaged&&(A.asset=null),A})},l=function(A,e){const t=A.asset,n=A.assetId,i=A.rotationCenterX,r=A.rotationCenterY,s=A.bitmapResolution,o=A.dataFormat,a=e.storage.AssetType,c=A.dataFormat===a.ImageVector.runtimeFormat;A.assetId=c?e.storage.defaultAssetId.ImageVector:e.storage.defaultAssetId.ImageBitmap,A.asset=e.storage.get(A.assetId),A.md5="".concat(A.assetId,".").concat(A.asset.dataFormat);return(c?B(A,e):E(A,e)).then(A=>(A.broken={},A.broken.assetId=n,A.broken.md5="".concat(n,".").concat(o),A.broken.asset=t,A.broken.dataFormat=o,A.broken.rotationCenterX=i,A.broken.rotationCenterY=r,A.broken.bitmapResolution=s,A))},u=function(A,e,t){A.assetId=A.asset.assetId;if(!e.renderer)return i.warn("No rendering module present; cannot load costume: ",A.name),Promise.resolve(A);const n=e.storage.AssetType;let r;return"number"!=typeof A.rotationCenterX||isNaN(A.rotationCenterX)||"number"!=typeof A.rotationCenterY||isNaN(A.rotationCenterY)||(r=[A.rotationCenterX,A.rotationCenterY]),A.asset.assetType.runtimeFormat===n.ImageVector.runtimeFormat?B(A,e,r,t).catch(t=>(i.warn("Error loading vector image: ".concat(t)),l(A,e))):E(A,e,r).catch(t=>(i.warn("Error loading bitmap image: ".concat(t)),l(A,e)))};A.exports={loadCostume:function(A,e,t,r){const s=n.splitFirst(A,"."),o=s[0],a=s[1].toLowerCase();if(e.dataFormat=a,e.asset)return u(e,t,r);if(!t.storage)return i.warn("No storage module present; cannot load costume asset: ",A),Promise.resolve(e);if(!t.storage.defaultAssetId)return i.warn("No default assets found"),Promise.resolve(e);const B=t.storage.AssetType,c="svg"===a?B.ImageVector:B.ImageBitmap,g=t.storage.load(c,o,a);let Q;return Q=e.textLayerMD5?t.storage.load(B.ImageBitmap,e.textLayerMD5,"png"):Promise.resolve(null),Promise.all([g,Q]).then(A=>A[0]?(e.asset=A[0],A[1]&&(e.textLayerAsset=A[1]),u(e,t,r)):l(e,t)).catch(A=>(i.warn("Error loading costume: ",A),l(e,t)))},loadCostumeFromAsset:u}},function(A,e,t){var n=t(63),i=n.TYPE,r=n.NAME,s=t(48).cmpStr,o=i.EOF,a=i.WhiteSpace,B=i.Comment,c=function(){this.offsetAndType=null,this.balance=null,this.reset()};c.prototype={reset:function(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset},lookupType:function(A){return(A+=this.tokenIndex)<this.tokenCount?this.offsetAndType[A]>>24:o},lookupOffset:function(A){return(A+=this.tokenIndex)<this.tokenCount?16777215&this.offsetAndType[A-1]:this.source.length},lookupValue:function(A,e){return(A+=this.tokenIndex)<this.tokenCount&&s(this.source,16777215&this.offsetAndType[A-1],16777215&this.offsetAndType[A],e)},getTokenStart:function(A){return A===this.tokenIndex?this.tokenStart:A>0?A<this.tokenCount?16777215&this.offsetAndType[A-1]:16777215&this.offsetAndType[this.tokenCount]:this.firstCharOffset},getRawLength:function(A,e){var t,n=A,i=16777215&this.offsetAndType[Math.max(n-1,0)];A:for(;n<this.tokenCount&&!((t=this.balance[n])<A);n++)switch(e(this.offsetAndType[n]>>24,this.source,i)){case 1:break A;case 2:n++;break A;default:this.balance[t]===n&&(n=t),i=16777215&this.offsetAndType[n]}return n-this.tokenIndex},isBalanceEdge:function(A){return this.balance[this.tokenIndex]<A},isDelim:function(A,e){return e?this.lookupType(e)===i.Delim&&this.source.charCodeAt(this.lookupOffset(e))===A:this.tokenType===i.Delim&&this.source.charCodeAt(this.tokenStart)===A},getTokenValue:function(){return this.source.substring(this.tokenStart,this.tokenEnd)},getTokenLength:function(){return this.tokenEnd-this.tokenStart},substrToCursor:function(A){return this.source.substring(A,this.tokenStart)},skipWS:function(){for(var A=this.tokenIndex,e=0;A<this.tokenCount&&this.offsetAndType[A]>>24===a;A++,e++);e>0&&this.skip(e)},skipSC:function(){for(;this.tokenType===a||this.tokenType===B;)this.next()},skip:function(A){var e=this.tokenIndex+A;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=16777215&this.offsetAndType[e-1],e=this.offsetAndType[e],this.tokenType=e>>24,this.tokenEnd=16777215&e):(this.tokenIndex=this.tokenCount,this.next())},next:function(){var A=this.tokenIndex+1;A<this.tokenCount?(this.tokenIndex=A,this.tokenStart=this.tokenEnd,A=this.offsetAndType[A],this.tokenType=A>>24,this.tokenEnd=16777215&A):(this.tokenIndex=this.tokenCount,this.eof=!0,this.tokenType=o,this.tokenStart=this.tokenEnd=this.source.length)},forEachToken(A){for(var e=0,t=this.firstCharOffset;e<this.tokenCount;e++){var n=t,i=this.offsetAndType[e],r=16777215&i;t=r,A(i>>24,n,r,e)}},dump(){var A=new Array(this.tokenCount);return this.forEachToken((e,t,n,i)=>{A[i]={idx:i,type:r[e],chunk:this.source.substring(t,n),balance:this.balance[i]}}),A}},A.exports=c},function(A,e){var t={EOF:0,Ident:1,Function:2,AtKeyword:3,Hash:4,String:5,BadString:6,Url:7,BadUrl:8,Delim:9,Number:10,Percentage:11,Dimension:12,WhiteSpace:13,CDO:14,CDC:15,Colon:16,Semicolon:17,Comma:18,LeftSquareBracket:19,RightSquareBracket:20,LeftParenthesis:21,RightParenthesis:22,LeftCurlyBracket:23,RightCurlyBracket:24,Comment:25},n=Object.keys(t).reduce((function(A,e){return A[t[e]]=e,A}),{});A.exports={TYPE:t,NAME:n}},function(A,e,t){const n=t(30),i=t(81),r=t(24),s=t(80),o=t(73),a=t(27),B=t(8),c=t(14),g=t(11),Q=t(16),E=t(121),l=t(10),u=t(554),w=t(555),{loadCostume:h}=t(61),{loadSound:C}=t(60),{deserializeCostume:d,deserializeSound:I}=t(142),M=t(556),p=Object.prototype.hasOwnProperty,m=["argument","colour","control","data","event","looks","math","motion","operator","procedures","sensing","sound"],F=12,D=13,Y={math_number:[4,"NUM"],math_positive_number:[5,"NUM"],math_whole_number:[6,"NUM"],math_integer:[7,"NUM"],math_angle:[8,"NUM"],colour_picker:[9,"COLOUR"],text:[10,"TEXT"],event_broadcast_menu:[11,"BROADCAST_OPTION"],data_variable:[F,"VARIABLE"],data_listcontents:[D,"LIST"]},f={jwUnite_always:"event_always",jwUnite_whenanything:"event_whenanything",jwUnite_getspritewithattrib:"sensing_getspritewithattrib",jwUnite_backToGreenFlag:"control_backToGreenFlag",jwUnite_trueBoolean:"operator_trueBoolean",jwUnite_falseBoolean:"operator_falseBoolean",jwUnite_randomBoolean:"operator_randomBoolean",jwUnite_mobile:"sensing_mobile",jwUnite_thing_is_text:"sensing_thing_is_text",jwUnite_thing_is_number:"sensing_thing_is_number",jwUnite_if_return_else_return:"control_if_return_else_return",jwUnite_indexOfTextInText:"operator_indexOfTextInText",jwUnite_regextest:"sensing_regextest",jwUnite_regexmatch:"operator_regexmatch",jwUnite_replaceAll:"operator_replaceAll",jwUnite_getLettersFromIndexToIndexInText:"operator_getLettersFromIndexToIndexInText",jwUnite_readLineInMultilineText:"operator_readLineInMultilineText",jwUnite_newLine:"operator_newLine",jwUnite_stringify:"operator_stringify",jwUnite_lerpFunc:"operator_lerpFunc",jwUnite_advMath:"operator_advMath",jwUnite_constrainnumber:"operator_constrainnumber"},N={griffpatch:{id:"griffpatch",url:"https://extensions.turbowarp.org/box2d.js"},jwUnite:(A,e,t)=>{A.extensionIDs.delete("jwUnite");let n=e.blocks;const i=Object.keys(n),r=A.patcher;for(let A,s=0;s<i.length;s++)if(A=n[i[s]],"object"==typeof A&&!Array.isArray(A)){if(f[A.opcode]&&(A.opcode=f[A.opcode],"sensing_regextest"!==A.opcode&&"operator_regexmatch"!==A.opcode||(A.inputs.regrule=[1,[10,"g"]])),"jwUnite_setReplacer"===A.opcode||"jwUnite_replaceWithReplacers"===A.opcode){r.loaded.includes("jgJSON")||(t.extensionManager.loadExtensionURL("jgJSON"),r.loaded.push("jgJSON")),n=Object.assign(n,l.simple(M.blocks)),e.variables=Object.assign(e.variables,l.simple(M.variables));const i="jwUnite_setReplacer"===A.opcode?"setReplacerToDisplay":"replaceWithReplacersDisplay",s=l.simple(M.blocks[i]);A.opcode="procedures_call",A.mutation=s.mutation}n[i[s]]=A}e.blocks=n}},U=function(A){const e=function(A){if(p.call(Y,A.opcode)){const e=Y[A.opcode],t=e[0],n=e[1],i=A.fields[n],r=[t,i.value];return"event_broadcast_menu"===A.opcode?r.push(i.id):"data_variable"!==A.opcode&&"data_listcontents"!==A.opcode||(r.push(i.id),A.topLevel&&(r.push(A.x?Math.round(A.x):0),r.push(A.y?Math.round(A.y):0))),r}return null}(A);if(e)return e;const t=Object.create(null);return t.opcode=A.opcode,t.next=A.next,t.parent=A.parent,t.inputs=function(A){const e=Object.create(null);for(const t in A)p.call(A,t)&&(A[t].block===A[t].shadow?e[t]=[1,A[t].block]:null===A[t].shadow?e[t]=[2,A[t].block]:e[t]=[3,A[t].block,A[t].shadow]);return e}(A.inputs),t.fields=function(A){const e=Object.create(null);for(const t in A)p.call(A,t)&&(e[t]=[A[t].value],A[t].hasOwnProperty("id")&&e[t].push(A[t].id));return e}(A.fields),t.shadow=A.shadow,A.topLevel?(t.topLevel=!0,t.x=A.x?Math.round(A.x):0,t.y=A.y?Math.round(A.y):0):t.topLevel=!1,A.mutation&&(t.mutation=A.mutation),A.comment&&(t.comment=A.comment),t},y=function(A,e){const t=A.inputs;for(const A in t){const n=t[A];for(let A=1;A<n.length;A++){if(!n[A])continue;const t=n[A],i=e[t];Array.isArray(i)&&(n[A]=i,delete e[t])}}return A},x=function(A){if("string"!=typeof A)return console.error("invalid opcode "+A),"";const e=A.indexOf("_"),t=A.substring(0,e).replace(/[^\w-]/g,"-");return-1===m.indexOf(t)&&""!==t?t:void 0},T=(A,e)=>{if(!e.extensionManager)return null;const t=e.extensionManager.getExtensionURLs(),n={};for(const e of A){const A=t[e];"string"==typeof A&&(n[e]=A)}return 0===Object.keys(n).length?null:n},R=function(A){const e=Object.create(null),t=new Set;for(const n in A){if(!A.hasOwnProperty(n))continue;e[n]=U(A[n]);const i=x(A[n].opcode);i&&t.add(i)}for(const A in e){const t=e[A];e[A]=y(t,e)}for(const A in e){const t=e[A];Array.isArray(t)&&[F,D].indexOf(t[0])<0&&(B.warn("Found an unexpected top level primitive with block ID: ".concat(A,"; deleting it from serialized blocks.")),delete e[A])}return[e,Array.from(t)]},G=function(A){const e=Object.create(null);e.name=A.name;const t=A.broken||A;return e.bitmapResolution=t.bitmapResolution,e.dataFormat=t.dataFormat.toLowerCase(),e.assetId=t.assetId,e.md5ext=t.md5,e.rotationCenterX=t.rotationCenterX,e.rotationCenterY=t.rotationCenterY,e},S=function(A){const e=Object.create(null);e.name=A.name;const t=A.broken||A;return e.assetId=t.assetId,e.dataFormat=t.dataFormat.toLowerCase(),e.format=t.format,e.rate=t.rate,e.sampleCount=t.sampleCount,e.md5ext=t.md5,e},H=A=>"number"==typeof A||"string"==typeof A||"boolean"==typeof A,b=A=>{if(Array.isArray(A)){let e=null;for(let t=0;t<A.length;t++)H(A[t])||(e||(e=A.slice()),e[t]="".concat(e[t]));return e||A}return H(A)?A:"".concat(A)},k=function(A,e){const t=Object.create(null);let n=[];t.isStage=A.isStage,t.name=t.isStage?"Stage":A.name;const i=function(A){const e=Object.create(null);e.variables=Object.create(null),e.lists=Object.create(null),e.broadcasts=Object.create(null);for(const t in A){const n=A[t];n.type!==r.BROADCAST_MESSAGE_TYPE?n.type!==r.LIST_TYPE?(e.variables[t]=[n.name,b(n.value)],n.isCloud&&e.variables[t].push(!0)):e.lists[t]=[n.name,b(n.value)]:e.broadcasts[t]=n.value}return e}(A.variables);return t.variables=i.variables,t.lists=i.lists,t.broadcasts=i.broadcasts,[t.blocks,n]=R(A.blocks),t.comments=function(A){const e=Object.create(null);for(const t in A){if(!A.hasOwnProperty(t))continue;const n=A[t],i=Object.create(null);i.blockId=n.blockId,i.x=n.x,i.y=n.y,i.width=n.width,i.height=n.height,i.minimized=n.minimized,i.text=n.text,e[t]=i}return e}(A.comments),(A.currentCostume<0||A.currentCostume>=A.costumes.length)&&(B.warn("currentCostume property for target ".concat(A.name," is out of range")),A.currentCostume=g.clamp(A.currentCostume,0,A.costumes.length-1)),t.currentCostume=A.currentCostume,t.costumes=A.costumes.map(G),t.sounds=A.sounds.map(S),A.hasOwnProperty("volume")&&(t.volume=A.volume),A.hasOwnProperty("layerOrder")&&(t.layerOrder=A.layerOrder),t.isStage?(A.hasOwnProperty("tempo")&&(t.tempo=A.tempo),A.hasOwnProperty("videoTransparency")&&(t.videoTransparency=A.videoTransparency),A.hasOwnProperty("videoState")&&(t.videoState=A.videoState),A.hasOwnProperty("textToSpeechLanguage")&&(t.textToSpeechLanguage=A.textToSpeechLanguage)):(t.visible=A.visible,t.x=A.x,t.y=A.y,t.size=A.size,t.direction=A.direction,t.draggable=A.draggable,t.rotationStyle=A.rotationStyle),n.forEach(A=>{e.add(A)}),t},J=function(A){const e=A.map(A=>A.getLayerOrder());return g.reducedSortOrdering(e)},j=function(A,e){const t=(e.stageWidth-480)/2,n=(e.stageHeight-360)/2;return A.valueSeq().filter(A=>!x(A.opcode)||A.visible).map(A=>{const e={id:A.id,mode:A.mode,opcode:A.opcode,params:A.params,spriteName:A.spriteName,value:Array.isArray(A.value)?[]:0,width:A.width,height:A.height,x:A.x-t,y:A.y-n,visible:A.visible};return"list"!==A.mode&&(e.sliderMin=A.sliderMin,e.sliderMax=A.sliderMax,e.isDiscrete=A.isDiscrete),e})},z=function(A,e,t,n){if(!Array.isArray(A))return A;const i=Object.create(null),s=c();switch(i.id=s,i.next=null,i.parent=e,i.shadow=t,i.inputs=Object.create(null),A[0]){case 4:i.opcode="math_number",i.fields={NUM:{name:"NUM",value:A[1]}},i.topLevel=!1;break;case 5:i.opcode="math_positive_number",i.fields={NUM:{name:"NUM",value:A[1]}},i.topLevel=!1;break;case 6:i.opcode="math_whole_number",i.fields={NUM:{name:"NUM",value:A[1]}},i.topLevel=!1;break;case 7:i.opcode="math_integer",i.fields={NUM:{name:"NUM",value:A[1]}},i.topLevel=!1;break;case 8:i.opcode="math_angle",i.fields={NUM:{name:"NUM",value:A[1]}},i.topLevel=!1;break;case 9:i.opcode="colour_picker",i.fields={COLOUR:{name:"COLOUR",value:A[1]}},i.topLevel=!1;break;case 10:i.opcode="text",i.fields={TEXT:{name:"TEXT",value:A[1]}},i.topLevel=!1;break;case 11:i.opcode="event_broadcast_menu",i.fields={BROADCAST_OPTION:{name:"BROADCAST_OPTION",value:A[1],id:A[2],variableType:r.BROADCAST_MESSAGE_TYPE}},i.topLevel=!1;break;case F:i.opcode="data_variable",i.fields={VARIABLE:{name:"VARIABLE",value:A[1],id:A[2],variableType:r.SCALAR_TYPE}},A.length>3&&(i.topLevel=!0,i.x=A[3],i.y=A[4]);break;case D:i.opcode="data_listcontents",i.fields={LIST:{name:"LIST",value:A[1],id:A[2],variableType:r.LIST_TYPE}},A.length>3&&(i.topLevel=!0,i.x=A[3],i.y=A[4]);break;case 14:i.opcode=A[1],i.fields={[A[2]]:A[3]},A.length>4&&(i.topLevel=!0,i.x=A[4],i.y=A[5]);break;default:return B.error("Found unknown primitive type during deserialization: ".concat(JSON.stringify(A))),null}return n[s]=i,s},v=function(A,e,t){const n={};for(const i in A){if(!p.call(A,i))continue;const r=A[i];if(!Array.isArray(r))continue;let s=null,o=null;const a=r[0];1===a?s=o=z(r[1],e,!0,t):2===a?s=z(r[1],e,!1,t):(s=z(r[1],e,!1,t),o=z(r[2],e,!0,t)),n[i]={name:i,block:s,shadow:o}}return n},L=function(A){const e={};for(const t in A){if(!p.call(A,t))continue;const n=A[t];Array.isArray(n)&&(e[t]={name:t,value:n[0]},n.length>1&&(e[t].id=n[1]),"BROADCAST_OPTION"===t?e[t].variableType=r.BROADCAST_MESSAGE_TYPE:"VARIABLE"===t?e[t].variableType=r.SCALAR_TYPE:"LIST"===t&&(e[t].variableType=r.LIST_TYPE))}return e},P=function(A){for(const e in A){if(!Object.prototype.hasOwnProperty.call(A,e))continue;const t=A[e];Array.isArray(t)?(delete A[e],z(t,null,!1,A)):(t.id=e,t.inputs=v(t.inputs,e,A),t.fields=L(t.fields))}return A};A.exports={serialize:function(A,e){let{allowOptimization:t=!0}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=Object.create(null),i=new Set,r=e?[A.getTargetById(e)]:A.targets.filter(A=>A.isOriginal),s=J(r),o=r.map(A=>A.toJSON());A.renderer&&!e&&o.forEach((A,e)=>{A.layerOrder=s[e]});const a=o.map(A=>k(A,i)),B=A.fontManager.serializeJSON();if(e){const e=a[0],t=T(i,A);return e.extensions=Array.from(i),t&&(n.extensionURLs=t),B&&(e.customFonts=B),e}n.targets=a,n.monitors=j(A.getMonitorState(),A),n.extensionData={};for(const e of i)"ext_".concat(e)in A&&"function"==typeof A["ext_".concat(e)].serialize&&(n.extensionData[e]=A["ext_".concat(e)].serialize());n.extensions=Array.from(i);const c=T(i,A);c&&(n.extensionURLs=c),B&&(n.customFonts=B);const g=Object.create(null);return g.semver="3.0.0",g.vm="0.2.0",A.origin&&(g.origin=A.origin),g.agent="",n.meta=g,t&&u(n),n},deserialize:function(A,e,t,c){const l=new w(e);l.registerExtensions(N);const u={extensionIDs:new Set,extensionURLs:new Map,extensionData:{},patcher:l};let M;A.meta&&A.meta.origin?e.origin=A.meta.origin:e.origin=null,A.extensionURLs&&(u.extensionURLs=new Map(Object.entries(A.extensionURLs))),A.extensionData&&(u.extensionData=A.extensionData),M=A.customFonts?e.fontManager.deserialize(A.customFonts,t,c):Promise.resolve();const p=((c?[A]:A.targets)||[]).map((A,e)=>Object.assign(A,{targetPaneOrder:e})).sort((A,e)=>A.layerOrder-e.layerOrder),m=A.monitors||[];return M.then(()=>p.map(A=>function(A,e,t){if(!A.hasOwnProperty("name"))return Promise.resolve(null);const n={costumePromises:null,soundPromises:null,soundBank:e.audioEngine&&e.audioEngine.createBank()};return n.costumePromises=(A.costumes||[]).map(A=>{const n={asset:A.asset,assetId:A.assetId,skinId:null,name:A.name,bitmapResolution:A.bitmapResolution,rotationCenterX:A.rotationCenterX,rotationCenterY:A.rotationCenterY},i=A.dataFormat||A.assetType&&A.assetType.runtimeFormat||"png",r=A.hasOwnProperty("md5ext")?A.md5ext:"".concat(A.assetId,".").concat(i);return n.md5=r,n.dataFormat=i,d(n,e,t).then(()=>h(r,n,e))}),n.soundPromises=(A.sounds||[]).map(A=>{const i={assetId:A.assetId,format:A.format,rate:A.rate,sampleCount:A.sampleCount,name:A.name,md5:A.md5ext,dataFormat:A.dataFormat,data:null};return I(i,e,t).then(()=>C(i,e,n.soundBank))}),n}(A,e,t))).then(A=>Promise.resolve(A)).then(A=>Promise.all(p.map((t,o)=>function(A,e,t,o,B){if(!A.hasOwnProperty("name"))return Promise.resolve(null);const c=new n(e),Q=new i(c,e);if(A.hasOwnProperty("name")&&(Q.name=A.name),A.hasOwnProperty("blocks")){for(const e in A.blocks){if(!A.blocks.hasOwnProperty(e))continue;const n=A.blocks[e];if("object"!=typeof n||Array.isArray(n))continue;const i=x(n.opcode),r=t.patcher.patchExists(i);i&&!r&&t.extensionIDs.add(i),r&&t.patcher.runExtensionPatch(i,t,A)}P(A.blocks);for(const e in A.blocks){if(!A.blocks.hasOwnProperty(e))continue;const t=A.blocks[e];c.createBlock(t)}}const{costumePromises:E}=B,{soundBank:l,soundPromises:u}=B,w=Q.createClone(A.isStage?a.BACKGROUND_LAYER:a.SPRITE_LAYER);if(A.hasOwnProperty("tempo")&&(w.tempo=A.tempo),A.hasOwnProperty("volume")&&(w.volume=A.volume),A.hasOwnProperty("videoTransparency")&&(w.videoTransparency=A.videoTransparency),A.hasOwnProperty("videoState")&&(w.videoState=A.videoState),A.hasOwnProperty("textToSpeechLanguage")&&(w.textToSpeechLanguage=A.textToSpeechLanguage),A.hasOwnProperty("variables"))for(const t in A.variables){const n=A.variables[t],i=3===n.length&&n[2]&&A.isStage&&e.canAddCloudVariable(),s=new r(t,n[0],r.SCALAR_TYPE,i);i&&e.addCloudVariable(),s.value=n[1],w.variables[s.id]=s}if(A.hasOwnProperty("lists"))for(const e in A.lists){const t=A.lists[e],n=new r(e,t[0],r.LIST_TYPE,!1);n.value=t[1],w.variables[n.id]=n}if(A.hasOwnProperty("broadcasts"))for(const e in A.broadcasts){const t=A.broadcasts[e],n=new r(e,t,r.BROADCAST_MESSAGE_TYPE,!1);w.variables[n.id]=n}if(A.hasOwnProperty("comments"))for(const e in A.comments){const t=A.comments[e],n=new s(e,t.text,t.x,t.y,t.width,t.height,t.minimized);t.blockId&&(n.blockId=t.blockId),w.comments[n.id]=n}return A.hasOwnProperty("x")&&(w.x=A.x),A.hasOwnProperty("y")&&(w.y=A.y),A.hasOwnProperty("direction")&&(w.direction=A.direction),A.hasOwnProperty("size")&&(w.size=A.size),A.hasOwnProperty("visible")&&(w.visible=A.visible),A.hasOwnProperty("currentCostume")&&(w.currentCostume=g.clamp(A.currentCostume,0,A.costumes.length-1)),A.hasOwnProperty("rotationStyle")&&(w.rotationStyle=A.rotationStyle),A.hasOwnProperty("isStage")&&(w.isStage=A.isStage),A.hasOwnProperty("targetPaneOrder")&&(w.targetPaneOrder=A.targetPaneOrder),A.hasOwnProperty("draggable")&&(w.draggable=A.draggable),Promise.all(E).then(A=>{Q.costumes=A}),Promise.all(u).then(A=>{Q.sounds=A,Q.soundBank=l||null}),Promise.all(E.concat(u)).then(()=>w)}(t,e,u,0,A[o])))).then(A=>A.map((A,e)=>(A.layerOrder=e,A)).sort((A,e)=>A.targetPaneOrder-e.targetPaneOrder).map(A=>(delete A.targetPaneOrder,A))).then(A=>function(A){const e=E.getAllVarRefsForTargets(A,!0);A.forEach(A=>{Object.keys(A.variables).forEach(e=>{const t=Q.replaceUnsafeChars(e);t!==e&&(A.variables[e].id=t,A.variables[t]=A.variables[e],delete A.variables[e])})});for(const A in e){const t=Q.replaceUnsafeChars(A);A!==t&&E.updateVariableIdentifiers(e[A],t)}return A}(A)).then(A=>(m.map(t=>function(A,e,t,n){const i=(e.stageWidth-480)/2,s=(e.stageHeight-360)/2;if(A.x+=i,A.y+=s,A.x=g.clamp(A.x,0,e.stageWidth),A.y=g.clamp(A.y,0,e.stageHeight),A.spriteName){const e=t.filter(e=>e.sprite.name===A.spriteName);e&&e.length>0?A.targetId=e[0].id:B.warn("Tried to deserialize sprite specific monitor ".concat(A.opcode," but could not find sprite ").concat(A.spriteName,"."))}const a=e.monitorBlockInfo[A.opcode];if("data_listcontents"===A.opcode){const e=A.targetId?t.find(e=>e.id===A.targetId):t.find(A=>A.isStage);e&&Object.prototype.hasOwnProperty.call(e.variables,A.id)&&(A.params.LIST=e.variables[A.id].name)}const c={};for(const e in A.params){const t={name:e,value:A.params[e]};c[e]=t}"data_variable"!==A.opcode&&"data_listcontents"!==A.opcode&&a&&a.isSpriteSpecific?A.id=a.getId(A.targetId,c):A.id=Q.replaceUnsafeChars(A.id);const E=e.monitorBlocks._blocks[A.id];if(E)E.isMonitored=A.visible,E.targetId=A.targetId;else{const t={id:A.id,opcode:A.opcode,inputs:{},fields:c,topLevel:!0,next:null,parent:null,shadow:!1,x:0,y:0,isMonitored:A.visible,targetId:A.targetId};if("data_variable"===A.opcode){const e=t.fields.VARIABLE;e.id=A.id,e.variableType=r.SCALAR_TYPE}else if("data_listcontents"===A.opcode){const e=t.fields.LIST;e.id=A.id,e.variableType=r.LIST_TYPE}e.monitorBlocks.createBlock(t);const i=x(t.opcode);i&&n.extensionIDs.add(i)}e.requestAddMonitor(o(A))}(t,e,A,u)),A)).then(A=>({targets:A,extensions:u}))},deserializeBlocks:P,serializeBlocks:R,getExtensionIdForOpcode:x}},function(A,e){A.exports={ID_NONE:-1,Events:{UseHighQualityRenderChanged:"UseHighQualityRenderChanged",AllowPrivateSkinAccessChanged:"AllowPrivateSkinAccessChanged",NativeSizeChanged:"NativeSizeChanged"}}},function(A,e,t){const n=t(51);n.enable(),A.exports=n("scratch-audioengine")},function(A,e,t){const n=t(427),i=t(446),r=t(127),s=t(122),o=t(448),a=t(126),B=t(82),c=t(124);A.exports={BitmapAdapter:i,convertFonts:c,inlineSvgFonts:r,loadSvgString:s,sanitizeSvg:o,serializeSvgToString:a,SvgElement:B,SVGRenderer:n}},function(A,e,t){"use strict";t.r(e),t.d(e,"deepCloneAttribute",(function(){return o})),t.d(e,"deinterleaveAttribute",(function(){return B})),t.d(e,"deinterleaveGeometry",(function(){return c})),t.d(e,"computeMikkTSpaceTangents",(function(){return i})),t.d(e,"mergeGeometries",(function(){return r})),t.d(e,"mergeBufferGeometries",(function(){return h})),t.d(e,"mergeAttributes",(function(){return s})),t.d(e,"mergeBufferAttributes",(function(){return C})),t.d(e,"interleaveAttributes",(function(){return a})),t.d(e,"estimateBytesUsed",(function(){return g})),t.d(e,"mergeVertices",(function(){return Q})),t.d(e,"toTrianglesDrawMode",(function(){return E})),t.d(e,"computeMorphedAttributes",(function(){return l})),t.d(e,"mergeGroups",(function(){return u})),t.d(e,"toCreasedNormals",(function(){return w}));var n=t(0);function i(A,e,t=!0){if(!e||!e.isReady)throw new Error("BufferGeometryUtils: Initialized MikkTSpace library required.");if(!A.hasAttribute("position")||!A.hasAttribute("normal")||!A.hasAttribute("uv"))throw new Error('BufferGeometryUtils: Tangents require "position", "normal", and "uv" attributes.');function i(A){if(A.normalized||A.isInterleavedBufferAttribute){const e=new Float32Array(A.count*A.itemSize);for(let t=0,n=0;t<A.count;t++)e[n++]=A.getX(t),e[n++]=A.getY(t),A.itemSize>2&&(e[n++]=A.getZ(t));return e}return A.array instanceof Float32Array?A.array:new Float32Array(A.array)}const r=A.index?A.toNonIndexed():A,s=e.generateTangents(i(r.attributes.position),i(r.attributes.normal),i(r.attributes.uv));if(t)for(let A=3;A<s.length;A+=4)s[A]*=-1;return r.setAttribute("tangent",new n.BufferAttribute(s,4)),A!==r&&A.copy(r),A}function r(A,e=!1){const t=null!==A[0].index,i=new Set(Object.keys(A[0].attributes)),r=new Set(Object.keys(A[0].morphAttributes)),o={},a={},B=A[0].morphTargetsRelative,c=new n.BufferGeometry;let g=0;for(let n=0;n<A.length;++n){const s=A[n];let Q=0;if(t!==(null!==s.index))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+n+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const A in s.attributes){if(!i.has(A))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+n+'. All geometries must have compatible attributes; make sure "'+A+'" attribute exists among all geometries, or in none of them.'),null;void 0===o[A]&&(o[A]=[]),o[A].push(s.attributes[A]),Q++}if(Q!==i.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+n+". Make sure all geometries have the same number of attributes."),null;if(B!==s.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+n+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const A in s.morphAttributes){if(!r.has(A))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+n+". .morphAttributes must be consistent throughout all geometries."),null;void 0===a[A]&&(a[A]=[]),a[A].push(s.morphAttributes[A])}if(e){let A;if(t)A=s.index.count;else{if(void 0===s.attributes.position)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+n+". The geometry must have either an index or a position attribute"),null;A=s.attributes.position.count}c.addGroup(g,A,n),g+=A}}if(t){let e=0;const t=[];for(let n=0;n<A.length;++n){const i=A[n].index;for(let A=0;A<i.count;++A)t.push(i.getX(A)+e);e+=A[n].attributes.position.count}c.setIndex(t)}for(const A in o){const e=s(o[A]);if(!e)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+A+" attribute."),null;c.setAttribute(A,e)}for(const A in a){const e=a[A][0].length;if(0===e)break;c.morphAttributes=c.morphAttributes||{},c.morphAttributes[A]=[];for(let t=0;t<e;++t){const e=[];for(let n=0;n<a[A].length;++n)e.push(a[A][n][t]);const n=s(e);if(!n)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+A+" morphAttribute."),null;c.morphAttributes[A].push(n)}}return c}function s(A){let e,t,i,r=-1,s=0;for(let n=0;n<A.length;++n){const o=A[n];if(o.isInterleavedBufferAttribute)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. InterleavedBufferAttributes are not supported."),null;if(void 0===e&&(e=o.array.constructor),e!==o.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(void 0===t&&(t=o.itemSize),t!==o.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(void 0===i&&(i=o.normalized),i!==o.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(-1===r&&(r=o.gpuType),r!==o.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;s+=o.array.length}const o=new e(s);let a=0;for(let e=0;e<A.length;++e)o.set(A[e].array,a),a+=A[e].array.length;const B=new n.BufferAttribute(o,t,i);return void 0!==r&&(B.gpuType=r),B}function o(A){return A.isInstancedInterleavedBufferAttribute||A.isInterleavedBufferAttribute?B(A):A.isInstancedBufferAttribute?(new n.InstancedBufferAttribute).copy(A):(new n.BufferAttribute).copy(A)}function a(A){let e,t=0,i=0;for(let n=0,r=A.length;n<r;++n){const r=A[n];if(void 0===e&&(e=r.array.constructor),e!==r.array.constructor)return console.error("AttributeBuffers of different types cannot be interleaved"),null;t+=r.array.length,i+=r.itemSize}const r=new n.InterleavedBuffer(new e(t),i);let s=0;const o=[],a=["getX","getY","getZ","getW"],B=["setX","setY","setZ","setW"];for(let e=0,t=A.length;e<t;e++){const t=A[e],i=t.itemSize,c=t.count,g=new n.InterleavedBufferAttribute(r,i,s,t.normalized);o.push(g),s+=i;for(let A=0;A<c;A++)for(let e=0;e<i;e++)g[B[e]](A,t[a[e]](A))}return o}function B(A){const e=A.data.array.constructor,t=A.count,i=A.itemSize,r=A.normalized,s=new e(t*i);let o;o=A.isInstancedInterleavedBufferAttribute?new n.InstancedBufferAttribute(s,i,r,A.meshPerAttribute):new n.BufferAttribute(s,i,r);for(let e=0;e<t;e++)o.setX(e,A.getX(e)),i>=2&&o.setY(e,A.getY(e)),i>=3&&o.setZ(e,A.getZ(e)),i>=4&&o.setW(e,A.getW(e));return o}function c(A){const e=A.attributes,t=A.morphTargets,n=new Map;for(const A in e){const t=e[A];t.isInterleavedBufferAttribute&&(n.has(t)||n.set(t,B(t)),e[A]=n.get(t))}for(const A in t){const e=t[A];e.isInterleavedBufferAttribute&&(n.has(e)||n.set(e,B(e)),t[A]=n.get(e))}}function g(A){let e=0;for(const t in A.attributes){const n=A.getAttribute(t);e+=n.count*n.itemSize*n.array.BYTES_PER_ELEMENT}const t=A.getIndex();return e+=t?t.count*t.itemSize*t.array.BYTES_PER_ELEMENT:0,e}function Q(A,e=1e-4){e=Math.max(e,Number.EPSILON);const t={},i=A.getIndex(),r=A.getAttribute("position"),s=i?i.count:r.count;let o=0;const a=Object.keys(A.attributes),B={},c={},g=[],Q=["getX","getY","getZ","getW"],E=["setX","setY","setZ","setW"];for(let e=0,t=a.length;e<t;e++){const t=a[e],i=A.attributes[t];B[t]=new n.BufferAttribute(new i.array.constructor(i.count*i.itemSize),i.itemSize,i.normalized);const r=A.morphAttributes[t];r&&(c[t]=new n.BufferAttribute(new r.array.constructor(r.count*r.itemSize),r.itemSize,r.normalized))}const l=Math.log10(1/e),u=Math.pow(10,l);for(let e=0;e<s;e++){const n=i?i.getX(e):e;let r="";for(let e=0,t=a.length;e<t;e++){const t=a[e],i=A.getAttribute(t),s=i.itemSize;for(let A=0;A<s;A++)r+=~~(i[Q[A]](n)*u)+","}if(r in t)g.push(t[r]);else{for(let e=0,t=a.length;e<t;e++){const t=a[e],i=A.getAttribute(t),r=A.morphAttributes[t],s=i.itemSize,g=B[t],l=c[t];for(let A=0;A<s;A++){const e=Q[A],t=E[A];if(g[t](o,i[e](n)),r)for(let A=0,i=r.length;A<i;A++)l[A][t](o,r[A][e](n))}}t[r]=o,g.push(o),o++}}const w=A.clone();for(const e in A.attributes){const A=B[e];if(w.setAttribute(e,new n.BufferAttribute(A.array.slice(0,o*A.itemSize),A.itemSize,A.normalized)),e in c)for(let A=0;A<c[e].length;A++){const t=c[e][A];w.morphAttributes[e][A]=new n.BufferAttribute(t.array.slice(0,o*t.itemSize),t.itemSize,t.normalized)}}return w.setIndex(g),w}function E(A,e){if(e===n.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),A;if(e===n.TriangleFanDrawMode||e===n.TriangleStripDrawMode){let t=A.getIndex();if(null===t){const e=[],n=A.getAttribute("position");if(void 0===n)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),A;for(let A=0;A<n.count;A++)e.push(A);A.setIndex(e),t=A.getIndex()}const i=t.count-2,r=[];if(e===n.TriangleFanDrawMode)for(let A=1;A<=i;A++)r.push(t.getX(0)),r.push(t.getX(A)),r.push(t.getX(A+1));else for(let A=0;A<i;A++)A%2==0?(r.push(t.getX(A)),r.push(t.getX(A+1)),r.push(t.getX(A+2))):(r.push(t.getX(A+2)),r.push(t.getX(A+1)),r.push(t.getX(A)));r.length/3!==i&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const s=A.clone();return s.setIndex(r),s.clearGroups(),s}return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),A}function l(A){const e=new n.Vector3,t=new n.Vector3,i=new n.Vector3,r=new n.Vector3,s=new n.Vector3,o=new n.Vector3,a=new n.Vector3,B=new n.Vector3,c=new n.Vector3;function g(A,n,g,Q,E,l,u,w){e.fromBufferAttribute(n,E),t.fromBufferAttribute(n,l),i.fromBufferAttribute(n,u);const h=A.morphTargetInfluences;if(g&&h){a.set(0,0,0),B.set(0,0,0),c.set(0,0,0);for(let A=0,n=g.length;A<n;A++){const n=h[A],w=g[A];0!==n&&(r.fromBufferAttribute(w,E),s.fromBufferAttribute(w,l),o.fromBufferAttribute(w,u),Q?(a.addScaledVector(r,n),B.addScaledVector(s,n),c.addScaledVector(o,n)):(a.addScaledVector(r.sub(e),n),B.addScaledVector(s.sub(t),n),c.addScaledVector(o.sub(i),n)))}e.add(a),t.add(B),i.add(c)}A.isSkinnedMesh&&(A.applyBoneTransform(E,e),A.applyBoneTransform(l,t),A.applyBoneTransform(u,i)),w[3*E+0]=e.x,w[3*E+1]=e.y,w[3*E+2]=e.z,w[3*l+0]=t.x,w[3*l+1]=t.y,w[3*l+2]=t.z,w[3*u+0]=i.x,w[3*u+1]=i.y,w[3*u+2]=i.z}const Q=A.geometry,E=A.material;let l,u,w;const h=Q.index,C=Q.attributes.position,d=Q.morphAttributes.position,I=Q.morphTargetsRelative,M=Q.attributes.normal,p=Q.morphAttributes.position,m=Q.groups,F=Q.drawRange;let D,Y,f,N,U,y,x;const T=new Float32Array(C.count*C.itemSize),R=new Float32Array(M.count*M.itemSize);if(null!==h)if(Array.isArray(E))for(D=0,f=m.length;D<f;D++)for(U=m[D],y=Math.max(U.start,F.start),x=Math.min(U.start+U.count,F.start+F.count),Y=y,N=x;Y<N;Y+=3)l=h.getX(Y),u=h.getX(Y+1),w=h.getX(Y+2),g(A,C,d,I,l,u,w,T),g(A,M,p,I,l,u,w,R);else for(y=Math.max(0,F.start),x=Math.min(h.count,F.start+F.count),D=y,f=x;D<f;D+=3)l=h.getX(D),u=h.getX(D+1),w=h.getX(D+2),g(A,C,d,I,l,u,w,T),g(A,M,p,I,l,u,w,R);else if(Array.isArray(E))for(D=0,f=m.length;D<f;D++)for(U=m[D],y=Math.max(U.start,F.start),x=Math.min(U.start+U.count,F.start+F.count),Y=y,N=x;Y<N;Y+=3)l=Y,u=Y+1,w=Y+2,g(A,C,d,I,l,u,w,T),g(A,M,p,I,l,u,w,R);else for(y=Math.max(0,F.start),x=Math.min(C.count,F.start+F.count),D=y,f=x;D<f;D+=3)l=D,u=D+1,w=D+2,g(A,C,d,I,l,u,w,T),g(A,M,p,I,l,u,w,R);return{positionAttribute:C,normalAttribute:M,morphedPositionAttribute:new n.Float32BufferAttribute(T,3),morphedNormalAttribute:new n.Float32BufferAttribute(R,3)}}function u(A){if(0===A.groups.length)return console.warn("THREE.BufferGeometryUtils.mergeGroups(): No groups are defined. Nothing to merge."),A;let e=A.groups;if(e=e.sort((A,e)=>A.materialIndex!==e.materialIndex?A.materialIndex-e.materialIndex:A.start-e.start),null===A.getIndex()){const e=A.getAttribute("position"),t=[];for(let A=0;A<e.count;A+=3)t.push(A,A+1,A+2);A.setIndex(t)}const t=A.getIndex(),n=[];for(let A=0;A<e.length;A++){const i=e[A],r=i.start,s=r+i.count;for(let A=r;A<s;A++)n.push(t.getX(A))}A.dispose(),A.setIndex(n);let i=0;for(let A=0;A<e.length;A++){const t=e[A];t.start=i,i+=t.count}let r=e[0];A.groups=[r];for(let t=1;t<e.length;t++){const n=e[t];r.materialIndex===n.materialIndex?r.count+=n.count:(r=n,A.groups.push(r))}return A}function w(A,e=Math.PI/3){const t=Math.cos(e),i=[new n.Vector3,new n.Vector3,new n.Vector3],r=new n.Vector3,s=new n.Vector3,o=new n.Vector3,a=new n.Vector3;function B(A){return`${~~(A.x*(100*(1+1e-10)))},${~~(A.y*(100*(1+1e-10)))},${~~(A.z*(100*(1+1e-10)))}`}const c=A.toNonIndexed(),g=c.attributes.position,Q={};for(let A=0,e=g.count/3;A<e;A++){const e=3*A,t=i[0].fromBufferAttribute(g,e+0),o=i[1].fromBufferAttribute(g,e+1),a=i[2].fromBufferAttribute(g,e+2);r.subVectors(a,o),s.subVectors(t,o);const c=(new n.Vector3).crossVectors(r,s).normalize();for(let A=0;A<3;A++){const e=B(i[A]);e in Q||(Q[e]=[]),Q[e].push(c)}}const E=new Float32Array(3*g.count),l=new n.BufferAttribute(E,3,!1);for(let A=0,e=g.count/3;A<e;A++){const e=3*A,n=i[0].fromBufferAttribute(g,e+0),c=i[1].fromBufferAttribute(g,e+1),E=i[2].fromBufferAttribute(g,e+2);r.subVectors(E,c),s.subVectors(n,c),o.crossVectors(r,s).normalize();for(let A=0;A<3;A++){const n=Q[B(i[A])];a.set(0,0,0);for(let A=0,e=n.length;A<e;A++){const e=n[A];o.dot(e)>t&&a.add(e)}a.normalize(),l.setXYZ(e+A,a.x,a.y,a.z)}}return c.setAttribute("normal",l),c}function h(A,e=!1){return console.warn("THREE.BufferGeometryUtils: mergeBufferGeometries() has been renamed to mergeGeometries()."),r(A,e)}function C(A){return console.warn("THREE.BufferGeometryUtils: mergeBufferAttributes() has been renamed to mergeAttributes()."),s(A)}},function(A,e,t){"use strict";(function(A){!function(A){function e(){}function t(){}var n=String.fromCharCode,i={}.toString,r=i.call(A.SharedArrayBuffer),s=i(),o=A.Uint8Array,a=o||Array,B=o?ArrayBuffer:a,c=B.isView||function(A){return A&&"length"in A},g=i.call(B.prototype);B=t.prototype;var Q=A.TextEncoder,E=new(o?Uint16Array:a)(32);e.prototype.decode=function(A){if(!c(A)){var e=i.call(A);if(e!==g&&e!==r&&e!==s)throw TypeError("Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'");A=o?new a(A):A||[]}for(var t,B,Q,l=e="",u=0,w=0|A.length,h=w-32|0,C=0,d=0,I=0,M=-1;u<w;){for(t=u<=h?32:w-u|0;I<t;u=u+1|0,I=I+1|0){switch((B=255&A[u])>>4){case 15:if(2!=(Q=255&A[u=u+1|0])>>6||247<B){u=u-1|0;break}C=(7&B)<<6|63&Q,d=5,B=256;case 14:C<<=6,C|=(15&B)<<6|63&(Q=255&A[u=u+1|0]),d=2==Q>>6?d+4|0:24,B=B+256&768;case 13:case 12:C<<=6,C|=(31&B)<<6|63&(Q=255&A[u=u+1|0]),d=d+7|0,u<w&&2==Q>>6&&C>>d&&1114112>C?(B=C,0<=(C=C-65536|0)&&(M=55296+(C>>10)|0,B=56320+(1023&C)|0,31>I?(E[I]=M,I=I+1|0,M=-1):(Q=M,M=B,B=Q))):(u=u-(B>>=8)-1|0,B=65533),C=d=0,t=u<=h?32:w-u|0;default:E[I]=B;continue;case 11:case 10:case 9:case 8:}E[I]=65533}if(l+=n(E[0],E[1],E[2],E[3],E[4],E[5],E[6],E[7],E[8],E[9],E[10],E[11],E[12],E[13],E[14],E[15],E[16],E[17],E[18],E[19],E[20],E[21],E[22],E[23],E[24],E[25],E[26],E[27],E[28],E[29],E[30],E[31]),32>I&&(l=l.slice(0,I-32|0)),u<w){if(E[0]=M,I=~M>>>31,M=-1,l.length<e.length)continue}else-1!==M&&(l+=n(M));e+=l,l=""}return e},B.encode=function(A){var e,t=0|(A=void 0===A?"":""+A).length,n=new a(8+(t<<1)|0),i=0,r=!o;for(e=0;e<t;e=e+1|0,i=i+1|0){var s=0|A.charCodeAt(e);if(127>=s)n[i]=s;else{if(2047>=s)n[i]=192|s>>6;else{A:{if(55296<=s)if(56319>=s){var B=0|A.charCodeAt(e=e+1|0);if(56320<=B&&57343>=B){if(65535<(s=(s<<10)+B-56613888|0)){n[i]=240|s>>18,n[i=i+1|0]=128|s>>12&63,n[i=i+1|0]=128|s>>6&63,n[i=i+1|0]=128|63&s;continue}break A}s=65533}else 57343>=s&&(s=65533);!r&&e<<1<i&&e<<1<(i-7|0)&&(r=!0,(B=new a(3*t)).set(n),n=B)}n[i]=224|s>>12,n[i=i+1|0]=128|s>>6&63}n[i=i+1|0]=128|63&s}}return o?n.subarray(0,i):n.slice(0,i)},Q||(A.TextDecoder=e,A.TextEncoder=t)}(""+void 0==typeof A?""+void 0==typeof self?this:self:A)}).call(this,t(19))},function(A,e){A.exports=class{constructor(){this._requestID=0,this._openRequests={}}sendRemoteRequest(A,e){const t=this._requestID++,n=new Promise((A,e)=>{this._openRequests[t]={resolve:A,reject:e}});return this._sendRequest(A,e,t),n}sendRemoteNotification(A,e){this._sendRequest(A,e)}didReceiveCall(){throw new Error("Must override didReceiveCall")}_sendMessage(){throw new Error("Must override _sendMessage")}_sendRequest(A,e,t){const n={jsonrpc:"2.0",method:A,params:e};null!==t&&(n.id=t),this._sendMessage(n)}_handleMessage(A){if("2.0"!==A.jsonrpc)throw new Error("Bad or missing JSON-RPC version in message: ".concat(A));A.hasOwnProperty("method")?this._handleRequest(A):this._handleResponse(A)}_sendResponse(A,e,t){const n={jsonrpc:"2.0",id:A};t?n.error=t:n.result=e||null,this._sendMessage(n)}_handleResponse(A){const{result:e,error:t,id:n}=A,i=this._openRequests[n];delete this._openRequests[n],i&&(t?i.reject(t):i.resolve(e))}_handleRequest(A){const{method:e,params:t,id:n}=A,i=this.didReceiveCall(e,t);n&&Promise.resolve(i).then(A=>{this._sendResponse(n,A)},A=>{this._sendResponse(n,null,A)})}}},function(A,e,t){const n=t(23);A.exports=class{constructor(A){this._maxTokens=A,this._refillInterval=1e3/A,this._count=this._maxTokens,this._timer=new n,this._timer.start(),this._lastUpdateTime=this._timer.timeElapsed()}okayToSend(){const A=this._timer.timeElapsed(),e=A-this._lastUpdateTime,t=Math.floor(e/this._refillInterval);return t>0&&(this._lastUpdateTime=A),this._count=Math.min(this._maxTokens,this._count+t),this._count>0&&(this._count--,!0)}}},function(A,e){A.exports=(A,e,t)=>{let n=null;const i=window.AbortController?new window.AbortController:null,r=i?i.signal:null;return Promise.race([fetch(A,Object.assign({signal:r},e)).then(A=>(clearTimeout(n),A)),new Promise((A,e)=>{n=setTimeout(()=>{i&&i.abort(),e(new Error("Fetch timed out after ".concat(t," ms")))},t)})])}},function(A,e,t){const{Record:n}=t(44),i=n({id:null,spriteName:null,targetId:null,opcode:null,value:null,params:null,mode:"default",sliderMin:0,sliderMax:100,isDiscrete:!0,x:null,y:null,width:0,height:0,visible:!0});A.exports=i},function(A,e,t){const n={Timer:t(23),Cast:t(2),log:t(8),blockUtility:t(260),thread:null};let i="";const r={};i+="let stuckCounter = 0;\nconst isStuck = () => {\n // The real time is not checked on every call for performance.\n stuckCounter++;\n if (stuckCounter === 100) {\n stuckCounter = 0;\n return globalState.thread.target.runtime.sequencer.timer.timeElapsed() > 500;\n }\n return false;\n};",r.nullish="const nullish = (check, alt) => {\n if (!check) {\n if (val === undefined) return alt\n if (val === null) return alt\n return check\n } else {\n return check\n }\n}",r.startHats="const startHats = (requestedHat, optMatchFields) => {\n const thread = globalState.thread;\n const threads = thread.target.runtime.startHats(requestedHat, optMatchFields);\n return threads;\n}",r.waitThreads="const waitThreads = function*(threads) {\n const thread = globalState.thread;\n const runtime = thread.target.runtime;\n\n while (true) {\n // determine whether any threads are running\n let anyRunning = false;\n for (let i = 0; i < threads.length; i++) {\n if (runtime.threads.indexOf(threads[i]) !== -1) {\n anyRunning = true;\n break;\n }\n }\n if (!anyRunning) {\n // all threads are finished, can resume\n return;\n }\n\n let allWaiting = true;\n for (let i = 0; i < threads.length; i++) {\n if (!runtime.isWaitingThread(threads[i])) {\n allWaiting = false;\n break;\n }\n }\n if (allWaiting) {\n thread.status = 3; // STATUS_YIELD_TICK\n }\n\n yield;\n }\n}",r.executeInCompatibilityLayer="let hasResumedFromPromise = false;\nconst waitPromise = function*(promise) {\n const thread = globalState.thread;\n let returnValue;\n\n promise\n .then(value => {\n returnValue = value;\n thread.status = 0; // STATUS_RUNNING\n })\n .catch(error => {\n thread.status = 0; // STATUS_RUNNING\n globalState.log.warn('Promise rejected in compiled script:', error);\n });\n\n // enter STATUS_PROMISE_WAIT and yield\n // this will stop script execution until the promise handlers reset the thread status\n thread.status = 1; // STATUS_PROMISE_WAIT\n yield;\n\n return returnValue;\n};\nconst isPromise = value => (\n // see engine/execute.js\n value !== null &&\n typeof value === 'object' &&\n typeof value.then === 'function'\n);\nconst executeInCompatibilityLayer = function*(inputs, blockFunction, isWarp, useFlags, blockId) {\n const thread = globalState.thread;\n\n // reset the stackframe\n // we only ever use one stackframe at a time, so this shouldn't cause issues\n thread.stackFrames[thread.stackFrames.length - 1].reuse(isWarp);\n\n const executeBlock = () => {\n const blockUtility = globalState.blockUtility;\n blockUtility.init(thread, blockId);\n return blockFunction(inputs, blockUtility);\n };\n\n let returnValue = executeBlock();\n\n if (isPromise(returnValue)) {\n returnValue = yield* waitPromise(returnValue);\n if (useFlags) {\n hasResumedFromPromise = true;\n }\n return returnValue;\n }\n\n if (thread.status === 1 /* STATUS_PROMISE_WAIT */) {\n // Something external is forcing us to stop\n yield;\n // Make up a return value because whatever is forcing us to stop can't specify one\n return '';\n }\n\n while (thread.status === 2 /* STATUS_YIELD */ || thread.status === 3 /* STATUS_YIELD_TICK */) {\n // Yielded threads will run next iteration.\n if (thread.status === 2 /* STATUS_YIELD */) {\n thread.status = 0; // STATUS_RUNNING\n // Yield back to the event loop when stuck or not in warp mode.\n if (!isWarp || isStuck()) {\n yield;\n }\n } else {\n // status is STATUS_YIELD_TICK, always yield to the event loop\n yield;\n }\n\n returnValue = executeBlock();\n\n if (isPromise(returnValue)) {\n returnValue = yield* waitPromise(returnValue);\n if (useFlags) {\n hasResumedFromPromise = true;\n }\n return returnValue;\n }\n\n if (thread.status === 1 /* STATUS_PROMISE_WAIT */) {\n yield;\n return '';\n }\n }\n\n // todo: do we have to do anything extra if status is STATUS_DONE?\n\n return returnValue;\n}",r.retire="const retire = () => {\n const thread = globalState.thread;\n thread.target.runtime.sequencer.retireThread(thread);\n}",r.toBoolean="const toBoolean = value => {\n if (typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'string') {\n if (value === '' || value === '0' || value.toLowerCase() === 'false') {\n return false;\n }\n return true;\n }\n return !!value;\n}",r.limitPrecision="const limitPrecision = value => {\n const rounded = Math.round(value);\n const delta = value - rounded;\n return (Math.abs(delta) < 1e-9) ? rounded : value;\n}",i+="const isNotActuallyZero = val => {\n if (typeof val !== 'string') return false;\n for (let i = 0; i < val.length; i++) {\n const code = val.charCodeAt(i);\n if (code === 48 || code === 9) {\n return false;\n }\n }\n return true;\n};",i+="const compareEqualSlow = (v1, v2) => {\n const n1 = +v1;\n if (isNaN(n1) || (n1 === 0 && isNotActuallyZero(v1))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n const n2 = +v2;\n if (isNaN(n2) || (n2 === 0 && isNotActuallyZero(v2))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n return n1 === n2;\n};\nconst compareEqual = (v1, v2) => (typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) && !isNaN(v2) || v1 === v2) ? v1 === v2 : compareEqualSlow(v1, v2);",r.compareGreaterThan="const compareGreaterThanSlow = (v1, v2) => {\n let n1 = +v1;\n let n2 = +v2;\n if (n1 === 0 && isNotActuallyZero(v1)) {\n n1 = NaN;\n } else if (n2 === 0 && isNotActuallyZero(v2)) {\n n2 = NaN;\n }\n if (isNaN(n1) || isNaN(n2)) {\n const s1 = ('' + v1).toLowerCase();\n const s2 = ('' + v2).toLowerCase();\n return s1 > s2;\n }\n return n1 > n2;\n};\nconst compareGreaterThan = (v1, v2) => typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) ? v1 > v2 : compareGreaterThanSlow(v1, v2)",r.compareLessThan="const compareLessThanSlow = (v1, v2) => {\n let n1 = +v1;\n let n2 = +v2;\n if (n1 === 0 && isNotActuallyZero(v1)) {\n n1 = NaN;\n } else if (n2 === 0 && isNotActuallyZero(v2)) {\n n2 = NaN;\n }\n if (isNaN(n1) || isNaN(n2)) {\n const s1 = ('' + v1).toLowerCase();\n const s2 = ('' + v2).toLowerCase();\n return s1 < s2;\n }\n return n1 < n2;\n};\nconst compareLessThan = (v1, v2) => typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v2) ? v1 < v2 : compareLessThanSlow(v1, v2)",r.randomInt="const randomInt = (low, high) => low + Math.floor(Math.random() * ((high + 1) - low))",r.randomFloat="const randomFloat = (low, high) => (Math.random() * (high - low)) + low",r.timer="const timer = () => {\n const t = new globalState.Timer({\n now: () => globalState.thread.target.runtime.currentMSecs\n });\n t.start();\n return t;\n}",r.daysSince2000="const daysSince2000 = () => (Date.now() - 946684800000) / (24 * 60 * 60 * 1000)",r.distance="const distance = menu => {\n const thread = globalState.thread;\n if (thread.target.isStage) return 10000;\n\n let targetX = 0;\n let targetY = 0;\n if (menu === '_mouse_') {\n targetX = thread.target.runtime.ioDevices.mouse.getScratchX();\n targetY = thread.target.runtime.ioDevices.mouse.getScratchY();\n } else {\n const distTarget = thread.target.runtime.getSpriteTargetByName(menu);\n if (!distTarget) return 10000;\n targetX = distTarget.x;\n targetY = distTarget.y;\n }\n\n const dx = thread.target.x - targetX;\n const dy = thread.target.y - targetY;\n return Math.sqrt((dx * dx) + (dy * dy));\n}",i+="const listIndexSlow = (index, length) => {\n if (index === 'last') {\n return length - 1;\n } else if (index === 'random' || index === 'any') {\n if (length > 0) {\n return (Math.random() * length) | 0;\n }\n return -1;\n }\n index = (+index || 0) | 0;\n if (index < 1 || index > length) {\n return -1;\n }\n return index - 1;\n};\nconst listIndex = (index, length) => {\n if (typeof index !== 'number') {\n return listIndexSlow(index, length);\n }\n index = index | 0;\n return index < 1 || index > length ? -1 : index - 1;\n};",r.listGet="const listGet = (list, idx) => {\n const index = listIndex(idx, list.length);\n if (index === -1) {\n return '';\n }\n return list[index];\n}",r.listReplace="const listReplace = (list, idx, value) => {\n const index = listIndex(idx, list.value.length);\n if (index === -1) {\n return;\n }\n list.value[index] = value;\n list._monitorUpToDate = false;\n}",r.listInsert="const listInsert = (list, idx, value) => {\n const index = listIndex(idx, list.value.length + 1);\n if (index === -1) {\n return;\n }\n list.value.splice(index, 0, value);\n list._monitorUpToDate = false;\n}",r.listDelete="const listDelete = (list, idx) => {\n if (idx === 'all') {\n list.value = [];\n return;\n }\n const index = listIndex(idx, list.value.length);\n if (index === -1) {\n return;\n }\n list.value.splice(index, 1);\n list._monitorUpToDate = false;\n}",r.listContains="const listContains = (list, item) => {\n // TODO: evaluate whether indexOf is worthwhile here\n if (list.value.indexOf(item) !== -1) {\n return true;\n }\n for (let i = 0; i < list.value.length; i++) {\n if (compareEqual(list.value[i], item)) {\n return true;\n }\n }\n return false;\n}",r.listIndexOf="const listIndexOf = (list, item) => {\n for (let i = 0; i < list.value.length; i++) {\n if (compareEqual(list.value[i], item)) {\n return i + 1;\n }\n }\n return 0;\n}",r.listContents="const listContents = list => {\n for (let i = 0; i < list.value.length; i++) {\n const listItem = list.value[i];\n // this is an intentional break from what scratch 3 does to address our automatic string -> number conversions\n // it fixes more than it breaks\n if ((listItem + '').length !== 1) {\n return list.value.join(' ');\n }\n }\n return list.value.join('');\n}",r.colorToList="const colorToList = color => globalState.Cast.toRgbColorList(color)",r.mod="const mod = (n, modulus) => {\n let result = n % modulus;\n if (result / modulus < 0) result += modulus;\n return result;\n}",r.tan="const tan = (angle) => {\n switch (angle % 360) {\n case -270: case 90: return Infinity;\n case -90: case 270: return -Infinity;\n }\n return Math.round(Math.tan((Math.PI * angle) / 180) * 1e10) / 1e10;\n}";const s=A=>{n.thread=A,A.generator.next()},o=[];s.scopedEval=A=>{const e=(A=>{let e="let stuckCounter = 0;\nconst isStuck = () => {\n // The real time is not checked on every call for performance.\n stuckCounter++;\n if (stuckCounter === 100) {\n stuckCounter = 0;\n return globalState.thread.target.runtime.sequencer.timer.timeElapsed() > 500;\n }\n return false;\n};const isNotActuallyZero = val => {\n if (typeof val !== 'string') return false;\n for (let i = 0; i < val.length; i++) {\n const code = val.charCodeAt(i);\n if (code === 48 || code === 9) {\n return false;\n }\n }\n return true;\n};const compareEqualSlow = (v1, v2) => {\n const n1 = +v1;\n if (isNaN(n1) || (n1 === 0 && isNotActuallyZero(v1))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n const n2 = +v2;\n if (isNaN(n2) || (n2 === 0 && isNotActuallyZero(v2))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n return n1 === n2;\n};\nconst compareEqual = (v1, v2) => (typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) && !isNaN(v2) || v1 === v2) ? v1 === v2 : compareEqualSlow(v1, v2);const listIndexSlow = (index, length) => {\n if (index === 'last') {\n return length - 1;\n } else if (index === 'random' || index === 'any') {\n if (length > 0) {\n return (Math.random() * length) | 0;\n }\n return -1;\n }\n index = (+index || 0) | 0;\n if (index < 1 || index > length) {\n return -1;\n }\n return index - 1;\n};\nconst listIndex = (index, length) => {\n if (typeof index !== 'number') {\n return listIndexSlow(index, length);\n }\n index = index | 0;\n return index < 1 || index > length ? -1 : index - 1;\n};";for(const t of Object.keys(r))A.includes(t)&&(e+="".concat(r[t],";"));return e+="return ".concat(A),e})(A);try{return new Function("globalState",e)(n)}catch(A){throw n.log.error("was unable to compile script",e),console.log(A),A}},s.runtimeFunctions=r,s.saveGlobalState=()=>{o.push(n.thread)},s.restoreGlobalState=()=>{n.thread=o.pop()},A.exports=s},function(A,e){A.exports=function(A,e,t){this.x=A,this.y=e,this.walkable=void 0===t||t}},function(A,e,t){var n=t(57),i=t(33),r=t(47),s=t(15);function o(A){A=A||{},this.allowDiagonal=A.allowDiagonal,this.dontCrossCorners=A.dontCrossCorners,this.heuristic=A.heuristic||r.manhattan,this.weight=A.weight||1,this.diagonalMovement=A.diagonalMovement,this.diagonalMovement||(this.allowDiagonal?this.dontCrossCorners?this.diagonalMovement=s.OnlyWhenNoObstacles:this.diagonalMovement=s.IfAtMostOneObstacle:this.diagonalMovement=s.Never),this.diagonalMovement===s.Never?this.heuristic=A.heuristic||r.manhattan:this.heuristic=A.heuristic||r.octile}o.prototype.findPath=function(A,e,t,r,s){var o,a,B,c,g,Q,E,l,u=new n((function(A,e){return A.f-e.f})),w=s.getNodeAt(A,e),h=s.getNodeAt(t,r),C=this.heuristic,d=this.diagonalMovement,I=this.weight,M=Math.abs,p=Math.SQRT2;for(w.g=0,w.f=0,u.push(w),w.opened=!0;!u.empty();){if((o=u.pop()).closed=!0,o===h)return i.backtrace(h);for(c=0,g=(a=s.getNeighbors(o,d)).length;c<g;++c)(B=a[c]).closed||(Q=B.x,E=B.y,l=o.g+(Q-o.x==0||E-o.y==0?1:p),(!B.opened||l<B.g)&&(B.g=l,B.h=B.h||I*C(M(Q-t),M(E-r)),B.f=B.g+B.h,B.parent=o,B.opened?u.updateItem(B):(u.push(B),B.opened=!0)))}return[]},A.exports=o},function(A,e,t){var n=t(57),i=t(33),r=t(47),s=t(15);function o(A){A=A||{},this.allowDiagonal=A.allowDiagonal,this.dontCrossCorners=A.dontCrossCorners,this.diagonalMovement=A.diagonalMovement,this.heuristic=A.heuristic||r.manhattan,this.weight=A.weight||1,this.diagonalMovement||(this.allowDiagonal?this.dontCrossCorners?this.diagonalMovement=s.OnlyWhenNoObstacles:this.diagonalMovement=s.IfAtMostOneObstacle:this.diagonalMovement=s.Never),this.diagonalMovement===s.Never?this.heuristic=A.heuristic||r.manhattan:this.heuristic=A.heuristic||r.octile}o.prototype.findPath=function(A,e,t,r,s){var o,a,B,c,g,Q,E,l,u=function(A,e){return A.f-e.f},w=new n(u),h=new n(u),C=s.getNodeAt(A,e),d=s.getNodeAt(t,r),I=this.heuristic,M=this.diagonalMovement,p=this.weight,m=Math.abs,F=Math.SQRT2;for(C.g=0,C.f=0,w.push(C),C.opened=1,d.g=0,d.f=0,h.push(d),d.opened=2;!w.empty()&&!h.empty();){for((o=w.pop()).closed=!0,c=0,g=(a=s.getNeighbors(o,M)).length;c<g;++c)if(!(B=a[c]).closed){if(2===B.opened)return i.biBacktrace(o,B);Q=B.x,E=B.y,l=o.g+(Q-o.x==0||E-o.y==0?1:F),(!B.opened||l<B.g)&&(B.g=l,B.h=B.h||p*I(m(Q-t),m(E-r)),B.f=B.g+B.h,B.parent=o,B.opened?w.updateItem(B):(w.push(B),B.opened=1))}for((o=h.pop()).closed=!0,c=0,g=(a=s.getNeighbors(o,M)).length;c<g;++c)if(!(B=a[c]).closed){if(1===B.opened)return i.biBacktrace(B,o);Q=B.x,E=B.y,l=o.g+(Q-o.x==0||E-o.y==0?1:F),(!B.opened||l<B.g)&&(B.g=l,B.h=B.h||p*I(m(Q-A),m(E-e)),B.f=B.g+B.h,B.parent=o,B.opened?h.updateItem(B):(h.push(B),B.opened=2))}}return[]},A.exports=o},function(A,e){A.exports=class{constructor(A,e){this.callback=A,this.maxConcurrent=e,this._current=0,this._queue=[]}do(){for(var A=arguments.length,e=new Array(A),t=0;t<A;t++)e[t]=arguments[t];return new Promise((A,t)=>{this._queue.push([A,t,e]),this._startNext()})}_startNext(){if(this._current>=this.maxConcurrent||0===this._queue.length)return;this._current++;const[A,e,t]=this._queue.shift();this.callback.apply(null,t).then(e=>{A(e),this._current--,this._startNext()}).catch(A=>{e(A),this._current--,this._startNext()})}}},function(A,e,t){const n=t(11),i=t(16),r=t(2),s=t(10),{translateForCamera:o}=t(52),a=t(426),B=t(27);class c extends a{constructor(A,e){super(e,A.blocks),this.sprite=A,this.renderer=null,this.runtime&&(this.renderer=this.runtime.renderer),this.drawableID=null,this.dragging=!1,this.effects={color:0,fisheye:0,whirl:0,pixelate:0,mosaic:0,brightness:0,ghost:0,red:0,green:0,blue:0,opaque:0,saturation:0},this.tintColor=16777215,this.isOriginal=!0,this.isStage=!1,this.isDisposed=!1,this.x=0,this.y=0,this.transform=[0,0],this.direction=90,this.draggable=!1,this.visible=!0,this.size=100,this.stretch=[100,100],this.currentCostume=0,this.rotationStyle=c.ROTATION_STYLE_ALL_AROUND,this.volume=100,this.tempo=60,this.videoTransparency=50,this.videoState=c.VIDEO_STATE.ON,this.textToSpeechLanguage=null,this.onTargetMoved=null,this.onTargetVisualChange=null,this.interpolationData=null,this.cameraBound=0,this.cameraUpdateEvent=A=>{if(A===this.cameraBound){const{direction:A,scale:e}=this._getRenderedDirectionAndScale(),t=this._translatePossitionToCamera();this.renderer.updateDrawablePosition(this.drawableID,t),this.renderer.updateDrawableDirectionScale(this.drawableID,A,e,this.transform),this.renderer.updateDrawableVisible(this.drawableID,this.visible)}},this.runtime.on("CAMERA_CHANGED",this.cameraUpdateEvent)}initDrawable(A){this.renderer&&(this.drawableID=this.renderer.createDrawable(A)),this.isOriginal||this.runtime.startHats("control_start_as_clone",null,this)}get audioPlayer(){console.warn("get audioPlayer deprecated, please update to use .sprite.soundBank methods"),console.warn(new Error("stack for debug").stack);const A=this.sprite.soundBank,e={playSound:e=>A.play(this,e)};return Object.defineProperty(this,"audioPlayer",{configurable:!1,enumerable:!0,writable:!1,value:e}),e}initAudio(){}static get ROTATION_STYLE_ALL_AROUND(){return"all around"}static get ROTATION_STYLE_LOOK_AT(){return"look at"}static get ROTATION_STYLE_LEFT_RIGHT(){return"left-right"}static get ROTATION_STYLE_UP_DOWN(){return"up-down"}static get ROTATION_STYLE_NONE(){return"don't rotate"}static get VIDEO_STATE(){return{OFF:"off",ON:"on",ON_FLIPPED:"on-flipped"}}emitVisualChange(){this.onTargetVisualChange&&this.onTargetVisualChange(this)}bindToCamera(A){const e=this.cameraBound!==A;this.cameraBound=A,e&&this.updateAllDrawableProperties()}removeCameraBinding(){const A=this.cameraBound>=0;this.cameraBound=-1,A&&this.updateAllDrawableProperties()}_translatePossitionToCamera(){return this.cameraBound<0?[this.x,this.y]:o(this.runtime,this.cameraBound,this.x,this.y)}setXY(A,e,t){if(this.isStage)return;if(this.dragging&&!t)return;const n=this.x,i=this.y;if(this.renderer){const t=this.runtime.runtimeOptions.fencing?this.renderer.getFencedPositionOfDrawable(this.drawableID,[A,e]):[A,e];this.x=t[0],this.y=t[1],this.renderer.updateDrawablePosition(this.drawableID,this._translatePossitionToCamera()),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}else this.x=A,this.y=e;this.onTargetMoved&&this.onTargetMoved(this,n,i,t),this.runtime.requestTargetsUpdate(this)}setTransform(A){if(!Array.isArray(A)||2!==A.length)throw new TypeError("Expected an Array of length 2 for the transform input");if(!this.isStage){if(this.transform=[A[0],A[1]],this.renderer){const{direction:A,scale:e}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,A,e,this.transform),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}}_getRenderedDirectionAndScale(){const A=this.runtime.cameraStates[this.cameraBound];let e=this.direction,t=[this.size,this.size];if(this.rotationStyle===c.ROTATION_STYLE_NONE)e=90;else if(this.rotationStyle===c.ROTATION_STYLE_LEFT_RIGHT){e=90;t=[(this.direction<0?-1:1)*this.size,this.size]}else if(this.rotationStyle===c.ROTATION_STYLE_UP_DOWN){e=90;const A=this.direction>90||this.direction<-90?-1:1;t=[this.size,A*this.size]}else if(this.rotationStyle===c.ROTATION_STYLE_LOOK_AT){const A=this.direction<0?-1:1;t=[this.size,A*this.size]}return t[0]*=this.stretch[0]/100,t[1]*=this.stretch[1]/100,this.cameraBound>=0&&(t[0]*=A.scale,t[1]*=A.scale,e-=A.dir),{direction:e,scale:t,stretch:this.stretch}}setStretch(A,e){if(!this.isStage){if(this.stretch=[A,e],this.renderer){const{direction:A,scale:e}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,A,e,this.transform),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}}setDirection(A){if(!this.isStage&&isFinite(A)){if(this.direction=n.wrapClamp(A,-179,180),this.renderer){const{direction:A,scale:e}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,A,e,this.transform),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}}setDraggable(A){this.isStage||(this.draggable=!!A,this.runtime.requestTargetsUpdate(this))}setVisible(A){this.isStage||(this.visible=!!A,this.renderer&&(this.renderer.updateDrawableVisible(this.drawableID,this.visible),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())),this.runtime.requestTargetsUpdate(this))}setSize(A){if(!this.isStage){if(this.renderer){const e=this.renderer.getCurrentSkinSize(this.drawableID),t=e[0],i=e[1],r=this.runtime.runtimeOptions.fencing,s=r?Math.min(1,Math.max(5/t,5/i)):0,o=r?Math.min(1.5*this.runtime.stageWidth/t,1.5*this.runtime.stageHeight/i):1/0;this.size=100*n.clamp(A/100,s,o);const{direction:a,scale:B}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,a,B,this.transform),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}else this.size=A;this.runtime.requestTargetsUpdate(this)}}setEffect(A,e){this.effects.hasOwnProperty(A)&&(this.effects[A]=e,this.renderer&&(this.renderer.updateDrawableEffect(this.drawableID,A,e),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())))}clearEffects(){for(const A in this.effects)this.effects.hasOwnProperty(A)&&(this.effects[A]=0);if(this.renderer){for(const A in this.effects)this.effects.hasOwnProperty(A)&&this.renderer.updateDrawableEffect(this.drawableID,A,0);this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}}setCostume(A){if((A=Math.round(A))!==1/0&&A!==-1/0&&A||(A=0),this.currentCostume=n.wrapClamp(A,0,this.sprite.costumes.length-1),this.renderer){const A=this.sprite.costumes[this.currentCostume];this.renderer.updateDrawableSkinId(this.drawableID,A.skinId),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}addCostume(A,e){"number"!=typeof e||isNaN(e)?this.sprite.addCostumeAt(A,this.sprite.costumes.length):this.sprite.addCostumeAt(A,e)}renameCostume(A,e){const t=this.sprite.costumes.filter((e,t)=>A!==t).map(A=>A.name),n=this.getCostumes()[A].name,r=i.unusedName(e,t);if(this.getCostumes()[A].name=r,this.isStage){const A=this.runtime.targets;for(let e=0;e<A.length;e++){A[e].blocks.updateAssetName(n,r,"backdrop")}}else this.blocks.updateAssetName(n,r,"costume")}deleteCostume(A){const e=this.sprite.costumes.length;if(1===e)return null;if(A<0||A>=e)return null;const t=this.sprite.deleteCostumeAt(A);return A===this.currentCostume&&A===e-1?this.setCostume(A-1):A<this.currentCostume?this.setCostume(this.currentCostume-1):this.setCostume(this.currentCostume),this.runtime.requestTargetsUpdate(this),t}addSound(A,e){const t=this.sprite.sounds.map(A=>A.name);A.name=i.unusedName(A.name,t),"number"!=typeof e||isNaN(e)?this.sprite.sounds.push(A):this.sprite.sounds.splice(e,0,A)}renameSound(A,e){const t=this.sprite.sounds.filter((e,t)=>A!==t).map(A=>A.name),n=this.sprite.sounds[A].name,r=i.unusedName(e,t);this.sprite.sounds[A].name=r,this.blocks.updateAssetName(n,r,"sound")}deleteSound(A){if(A<0||A>=this.sprite.sounds.length)return null;const e=this.sprite.sounds.splice(A,1)[0];return this.runtime.requestTargetsUpdate(this),e}setRotationStyle(A){if(A===c.ROTATION_STYLE_NONE?this.rotationStyle=c.ROTATION_STYLE_NONE:A===c.ROTATION_STYLE_ALL_AROUND?this.rotationStyle=c.ROTATION_STYLE_ALL_AROUND:A===c.ROTATION_STYLE_LEFT_RIGHT?this.rotationStyle=c.ROTATION_STYLE_LEFT_RIGHT:A===c.ROTATION_STYLE_UP_DOWN?this.rotationStyle=c.ROTATION_STYLE_UP_DOWN:A===c.ROTATION_STYLE_LOOK_AT&&(this.rotationStyle=c.ROTATION_STYLE_LOOK_AT),this.renderer){const{direction:A,scale:e}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,A,e,this.transform),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}getCostumeIndexByName(A){const e=this.getCostumes();for(let t=0;t<e.length;t++)if(e[t].name===A)return t;return-1}getCurrentCostume(){return this.getCostumes()[this.currentCostume]}getCostumes(){return this.sprite.costumes}reorderCostume(A,e){if((e=n.clamp(e,0,this.sprite.costumes.length-1))===(A=n.clamp(A,0,this.sprite.costumes.length-1)))return!1;const t=this.getCurrentCostume(),i=this.sprite.costumes[A];return this.sprite.deleteCostumeAt(A),this.addCostume(i,e),this.currentCostume=this.getCostumeIndexByName(t.name),!0}reorderSound(A,e){if((e=n.clamp(e,0,this.sprite.sounds.length-1))===(A=n.clamp(A,0,this.sprite.sounds.length-1)))return!1;const t=this.sprite.sounds[A];return this.deleteSound(A),this.addSound(t,e),!0}getSounds(){return this.sprite.sounds}updateAllDrawableProperties(){if(this.renderer){const{direction:A,scale:e}=this._getRenderedDirectionAndScale(),t=this._translatePossitionToCamera();this.renderer.updateDrawablePosition(this.drawableID,t),this.renderer.updateDrawableDirectionScale(this.drawableID,A,e,this.transform),this.renderer.updateDrawableVisible(this.drawableID,this.visible);const n=this.getCostumes()[this.currentCostume];this.renderer.updateDrawableSkinId(this.drawableID,n.skinId);for(const A in this.effects)this.effects.hasOwnProperty(A)&&this.renderer.updateDrawableEffect(this.drawableID,A,this.effects[A]);this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}getName(){return this.sprite.name}isSprite(){return!this.isStage&&this.isOriginal}getBounds(){return this.renderer?this.runtime.renderer.getBounds(this.drawableID):null}getBoundsForBubble(){return this.renderer?this.runtime.renderer.getBoundsForBubble(this.drawableID):null}isTouchingObject(A){if("_mouse_"===A){if(!this.runtime.ioDevices.mouse)return!1;const A=this.runtime.ioDevices.mouse.getClientX(),e=this.runtime.ioDevices.mouse.getClientY();return this.isTouchingPoint(A,e)}return"_edge_"===A?this.isTouchingEdge():this.isTouchingSprite(A)}isTouchingPoint(A,e){return!!this.renderer&&this.renderer.drawableTouching(this.drawableID,A,e)}isTouchingEdge(){if(this.renderer){const A=this.runtime.stageWidth,e=this.runtime.stageHeight,t=this.getBounds();if(t.left<-A/2||t.right>A/2||t.top>e/2||t.bottom<-e/2)return!0}return!1}isTouchingSprite(A){A=r.toString(A);const e=this.runtime.getSpriteTargetByName(A);if(!e||!this.renderer)return!1;const t=e.sprite.clones.filter(A=>!A.dragging).map(A=>A.drawableID);return this.renderer.isTouchingDrawables(this.drawableID,t)}spriteTouchingPoint(A){A=r.toString(A);const e=this.runtime.getSpriteTargetByName(A);if(!e||!this.renderer)return null;const t=e.sprite.clones.filter(A=>!A.dragging).map(A=>A.drawableID);return this.renderer.getTouchingDrawablesPoint(this.drawableID,t)}isTouchingColor(A){return!!this.renderer&&this.renderer.isTouchingColor(this.drawableID,A)}colorIsTouchingColor(A,e){return!!this.renderer&&this.renderer.isTouchingColor(this.drawableID,A,e)}getLayerOrder(){return this.renderer?this.renderer.getDrawableOrder(this.drawableID):null}goToFront(){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,1/0,B.SPRITE_LAYER),this.runtime.setExecutablePosition(this,1/0)}goToBack(){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,-1/0,B.SPRITE_LAYER,!1),this.runtime.setExecutablePosition(this,-1/0)}goForwardLayers(A){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,A,B.SPRITE_LAYER,!0),this.runtime.moveExecutable(this,A)}goBackwardLayers(A){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,-A,B.SPRITE_LAYER,!0),this.runtime.moveExecutable(this,-A)}goBehindOther(A){if(this.renderer){const e=this.renderer.setDrawableOrder(A.drawableID,0,B.SPRITE_LAYER,!0);this.renderer.setDrawableOrder(this.drawableID,e,B.SPRITE_LAYER)}const e=this.runtime.executableTargets.indexOf(A);this.runtime.setExecutablePosition(this,e)}keepInFence(A,e,t){let n=t;n||(n={left:-this.runtime.stageWidth/2,right:this.runtime.stageWidth/2,top:this.runtime.stageHeight/2,bottom:-this.runtime.stageHeight/2});const i=this.getBounds();if(!i)return;i.left+=A-this.x,i.right+=A-this.x,i.top+=e-this.y,i.bottom+=e-this.y;let r=0,s=0;return i.left<n.left&&(r+=n.left-i.left),i.right>n.right&&(r+=n.right-i.right),i.top>n.top&&(s+=n.top-i.top),i.bottom<n.bottom&&(s+=n.bottom-i.bottom),[A+r,e+s]}makeClone(){if(!this.runtime.clonesAvailable()||this.isStage)return null;this.runtime.changeCloneCounter(1);const A=this.sprite.createClone();return A.x=this.x,A.y=this.y,A.direction=this.direction,A.draggable=this.draggable,A.visible=this.visible,A.size=this.size,A.currentCostume=this.currentCostume,A.rotationStyle=this.rotationStyle,A.effects=s.simple(this.effects),A.variables=this.duplicateVariables(),A.cameraBound=this.cameraBound,A._edgeActivatedHatValues=s.simple(this._edgeActivatedHatValues),A.initDrawable(B.SPRITE_LAYER),A.updateAllDrawableProperties(),A}duplicate(){return this.sprite.duplicate().then(A=>{const e=A.createClone();return e.x=400*(Math.random()-.5)/2,e.y=300*(Math.random()-.5)/2,e.direction=this.direction,e.draggable=this.draggable,e.visible=this.visible,e.size=this.size,e.currentCostume=this.currentCostume,e.rotationStyle=this.rotationStyle,e.effects=JSON.parse(JSON.stringify(this.effects)),e.variables=this.duplicateVariables(e.blocks),e.cameraBound=this.cameraBound,e.updateAllDrawableProperties(),e})}onGreenFlag(){this.clearEffects()}onStopAll(){this.clearEffects()}postSpriteInfo(A){const e=A.hasOwnProperty("force")?A.force:null,t=A.hasOwnProperty("x"),n=A.hasOwnProperty("y");(t||n)&&this.setXY(t?A.x:this.x,n?A.y:this.y,e),A.hasOwnProperty("direction")&&this.setDirection(A.direction),A.hasOwnProperty("draggable")&&this.setDraggable(A.draggable),A.hasOwnProperty("rotationStyle")&&this.setRotationStyle(A.rotationStyle),A.hasOwnProperty("visible")&&this.setVisible(A.visible),A.hasOwnProperty("size")&&this.setSize(A.size)}startDrag(){this.dragging=!0}stopDrag(){this.dragging=!1}toJSON(){const A=this.getCostumes();return{id:this.id,name:this.getName(),isStage:this.isStage,isDisposed:this.isDisposed,x:this.x,y:this.y,size:this.size,direction:this.direction,draggable:this.draggable,currentCostume:this.currentCostume,costume:A[this.currentCostume],costumeCount:A.length,visible:this.visible,rotationStyle:this.rotationStyle,comments:this.comments,blocks:this.blocks._blocks,variables:this.variables,costumes:A,sounds:this.getSounds(),textToSpeechLanguage:this.textToSpeechLanguage,tempo:this.tempo,volume:this.volume,videoTransparency:this.videoTransparency,videoState:this.videoState}}dispose(){this.runtime.removeListener("CAMERA_CHANGED",this.cameraUpdateEvent),this.isOriginal||this.runtime.changeCloneCounter(-1),this.isDisposed=!0,this.runtime.stopForTarget(this),this.runtime.removeExecutable(this),this.sprite.removeClone(this),this.renderer&&null!==this.drawableID&&(this.renderer.destroyDrawable(this.drawableID,this.isStage?B.BACKGROUND_LAYER:B.SPRITE_LAYER),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw()))}}A.exports=c},function(A,e,t){const n=t(14),i=t(45);class r{constructor(A,e,t,i,s,o,a){this.id=A||n(),this.text=e,this.x=t,this.y=i,this.width=Math.max(Number(s),r.MIN_WIDTH),this.height=Math.max(Number(o),r.MIN_HEIGHT),this.minimized=a||!1,this.blockId=null}toXML(){return'<comment id="'.concat(this.id,'" x="').concat(this.x,'" y="').concat(this.y,'" w="').concat(this.width,'" h="').concat(this.height,'" pinned="').concat(null!==this.blockId,'" minimized="').concat(this.minimized,'">').concat(i(this.text),"</comment>")}static get MIN_WIDTH(){return 20}static get MIN_HEIGHT(){return 20}static get DEFAULT_WIDTH(){return 100}static get DEFAULT_HEIGHT(){return 100}}A.exports=r},function(A,e,t){const n=t(79),i=t(30),{loadSoundFromAsset:r}=t(60),{loadCostumeFromAsset:s}=t(61),o=t(140),a=t(16),B=t(27);class c{constructor(A,e){this.runtime=e,A||(A=new i(e)),this.blocks=A,this.name="",this.costumes_=[],this.sounds=[],this.clones=[],this.soundBank=null,this.runtime&&this.runtime.audioEngine&&(this.soundBank=this.runtime.audioEngine.createBank())}set costumes(A){this.costumes_=[];for(const e of A)this.addCostumeAt(e,this.costumes_.length)}get costumes(){return this.costumes_}addCostumeAt(A,e){A.name||(A.name="");const t=this.costumes_.map(A=>A.name);A.name=a.unusedName(A.name,t),this.costumes_.splice(e,0,A)}deleteCostumeAt(A){return this.costumes.splice(A,1)[0]}createClone(A){const e=new n(this,this.runtime);if(e.isOriginal=0===this.clones.length,this.clones.push(e),e.initAudio(),e.isOriginal){const t="string"==typeof A?A:B.SPRITE_LAYER;e.initDrawable(t),this.runtime.fireTargetWasCreated(e)}else this.runtime.fireTargetWasCreated(e,this.clones[0]);return e}removeClone(A){this.runtime.fireTargetWasRemoved(A);const e=this.clones.indexOf(A);e>=0&&this.clones.splice(e,1)}duplicate(){const A=new c(null,this.runtime),e=this.blocks._blocks,t=Object.keys(e).map(A=>e[A]),n=JSON.parse(JSON.stringify(t));o(n),n.forEach(e=>{A.blocks.createBlock(e)});const i=this.runtime.targets.map(A=>A.sprite.name);A.name=a.unusedName(this.name,i);const B=[];return A.costumes=this.costumes_.map(A=>{const e=Object.assign({},A);return B.push(s(e,this.runtime)),e}),A.sounds=this.sounds.map(e=>{const t=Object.assign({},e),n=e.asset;return B.push(r(t,n,this.runtime,A.soundBank)),t}),Promise.all(B).then(()=>A)}dispose(){this.soundBank&&this.soundBank.dispose()}}A.exports=c},function(A,e){class t{static get svg(){return"http://www.w3.org/2000/svg"}static get xmlns(){return"http://www.w3.org/2000/xmlns"}static get xlink(){return"http://www.w3.org/1999/xlink"}static attributeNamespace(){return{href:t.xlink,xlink:t.xmlns,xmlns:"".concat(t.xmlns,"/"),"xmlns:xlink":"".concat(t.xmlns,"/")}}static create(A,e,n){return t.set(document.createElementNS(t.svg,A),e,n)}static get(A,e){const n=t.attributeNamespace[e],i=n?A.getAttributeNS(n,e):A.getAttribute(e);return"null"===i?null:i}static set(A,e,n){for(const i in e){let r=e[i];const s=t.attributeNamespace[i];"number"==typeof r&&n&&(r=n.number(r)),s?A.setAttributeNS(s,i,r):A.setAttribute(i,r)}return A}}A.exports=t},function(A,e){A.exports=function(A,e){var t=Object.create(SyntaxError.prototype),n=new Error;return t.name=A,t.message=e,Object.defineProperty(t,"stack",{get:function(){return(n.stack||"").replace(/^(.+\n){1,3}/,A+": "+e+"\n")}}),t}},function(A,e){function t(A){return A}function n(A,e,t,i){var r,s;switch(A.type){case"Group":r=function(A,e,t,i){var r=" "===A.combinator||i?A.combinator:" "+A.combinator+" ",s=A.terms.map((function(A){return n(A,e,t,i)})).join(r);return(A.explicit||t)&&(s=(i||","===s[0]?"[":"[ ")+s+(i?"]":" ]")),s}(A,e,t,i)+(A.disallowEmpty?"!":"");break;case"Multiplier":return n(A.term,e,t,i)+e(0===(s=A).min&&0===s.max?"*":0===s.min&&1===s.max?"?":1===s.min&&0===s.max?s.comma?"#":"+":1===s.min&&1===s.max?"":(s.comma?"#":"")+(s.min===s.max?"{"+s.min+"}":"{"+s.min+","+(0!==s.max?s.max:"")+"}"),A);case"Type":r="<"+A.name+(A.opts?e(function(A){switch(A.type){case"Range":return" ["+(null===A.min?"-∞":A.min)+","+(null===A.max?"∞":A.max)+"]";default:throw new Error("Unknown node type `"+A.type+"`")}}(A.opts),A.opts):"")+">";break;case"Property":r="<'"+A.name+"'>";break;case"Keyword":r=A.name;break;case"AtKeyword":r="@"+A.name;break;case"Function":r=A.name+"(";break;case"String":case"Token":r=A.value;break;case"Comma":r=",";break;default:throw new Error("Unknown node type `"+A.type+"`")}return e(r,A)}A.exports=function(A,e){var i=t,r=!1,s=!1;return"function"==typeof e?i=e:e&&(r=Boolean(e.forceBraces),s=Boolean(e.compact),"function"==typeof e.decorate&&(i=e.decorate)),n(A,i,r,s)}},function(A,e){var t=Object.prototype.hasOwnProperty,n=Object.create(null),i=Object.create(null);function r(A,e){return e=e||0,A.length-e>=2&&45===A.charCodeAt(e)&&45===A.charCodeAt(e+1)}function s(A,e){if(e=e||0,A.length-e>=3&&45===A.charCodeAt(e)&&45!==A.charCodeAt(e+1)){var t=A.indexOf("-",e+2);if(-1!==t)return A.substring(e,t+1)}return""}A.exports={keyword:function(A){if(t.call(n,A))return n[A];var e=A.toLowerCase();if(t.call(n,e))return n[A]=n[e];var i=r(e,0),o=i?"":s(e,0);return n[A]=Object.freeze({basename:e.substr(o.length),name:e,vendor:o,prefix:o,custom:i})},property:function(A){if(t.call(i,A))return i[A];var e=A,n=A[0];"/"===n?n="/"===A[1]?"//":"/":"_"!==n&&"*"!==n&&"$"!==n&&"#"!==n&&"+"!==n&&"&"!==n&&(n="");var o=r(e,n.length);if(!o&&(e=e.toLowerCase(),t.call(i,e)))return i[A]=i[e];var a=o?"":s(e,n.length),B=e.substr(0,n.length+a.length);return i[A]=Object.freeze({basename:e.substr(B.length),name:e.substr(n.length),hack:n,vendor:a,prefix:B,custom:o})},isCustomProperty:r,vendorPrefix:s}},function(A,e,t){var n=t(456),i=function(A){for(var e="function"==typeof Uint32Array?new Uint32Array(128):new Array(128),t=0;t<128;t++)e[t]=A(String.fromCharCode(t))?1:0;return e}((function(A){return/[a-zA-Z0-9\-]/.test(A)})),r={" ":1,"&&":2,"||":3,"|":4};function s(A){return A.substringToPos(A.findWsEnd(A.pos))}function o(A){for(var e=A.pos;e<A.str.length;e++){var t=A.str.charCodeAt(e);if(t>=128||0===i[t])break}return A.pos===e&&A.error("Expect a keyword"),A.substringToPos(e)}function a(A){for(var e=A.pos;e<A.str.length;e++){var t=A.str.charCodeAt(e);if(t<48||t>57)break}return A.pos===e&&A.error("Expect a number"),A.substringToPos(e)}function B(A){var e=A.str.indexOf("'",A.pos+1);return-1===e&&(A.pos=A.str.length,A.error("Expect an apostrophe")),A.substringToPos(e+1)}function c(A){var e,t=null;return A.eat(123),e=a(A),44===A.charCode()?(A.pos++,125!==A.charCode()&&(t=a(A))):t=e,A.eat(125),{min:Number(e),max:t?Number(t):0}}function g(A,e){var t=function(A){var e=null,t=!1;switch(A.charCode()){case 42:A.pos++,e={min:0,max:0};break;case 43:A.pos++,e={min:1,max:0};break;case 63:A.pos++,e={min:0,max:1};break;case 35:A.pos++,t=!0,e=123===A.charCode()?c(A):{min:1,max:0};break;case 123:e=c(A);break;default:return null}return{type:"Multiplier",comma:t,min:e.min,max:e.max,term:null}}(A);return null!==t?(t.term=e,t):e}function Q(A){var e=A.peek();return""===e?null:{type:"Token",value:e}}function E(A){var e,t=null;return A.eat(60),e=o(A),40===A.charCode()&&41===A.nextCharCode()&&(A.pos+=2,e+="()"),91===A.charCodeAt(A.findWsEnd(A.pos))&&(s(A),t=function(A){var e=null,t=null,n=1;return A.eat(91),45===A.charCode()&&(A.peek(),n=-1),-1==n&&8734===A.charCode()?A.peek():e=n*Number(a(A)),s(A),A.eat(44),s(A),8734===A.charCode()?A.peek():(n=1,45===A.charCode()&&(A.peek(),n=-1),t=n*Number(a(A))),A.eat(93),null===e&&null===t?null:{type:"Range",min:e,max:t}}(A)),A.eat(62),g(A,{type:"Type",name:e,opts:t})}function l(A,e){function t(A,e){return{type:"Group",terms:A,combinator:e,disallowEmpty:!1,explicit:!1}}for(e=Object.keys(e).sort((function(A,e){return r[A]-r[e]}));e.length>0;){for(var n=e.shift(),i=0,s=0;i<A.length;i++){var o=A[i];"Combinator"===o.type&&(o.value===n?(-1===s&&(s=i-1),A.splice(i,1),i--):(-1!==s&&i-s>1&&(A.splice(s,i-s,t(A.slice(s,i),n)),i=s+1),s=-1))}-1!==s&&e.length&&A.splice(s,i-s,t(A.slice(s,i),n))}return n}function u(A){for(var e,t=[],n={},i=null,r=A.pos;e=w(A);)"Spaces"!==e.type&&("Combinator"===e.type?(null!==i&&"Combinator"!==i.type||(A.pos=r,A.error("Unexpected combinator")),n[e.value]=!0):null!==i&&"Combinator"!==i.type&&(n[" "]=!0,t.push({type:"Combinator",value:" "})),t.push(e),i=e,r=A.pos);return null!==i&&"Combinator"===i.type&&(A.pos-=r,A.error("Unexpected combinator")),{type:"Group",terms:t,combinator:l(t,n)||" ",disallowEmpty:!1,explicit:!1}}function w(A){var e=A.charCode();if(e<128&&1===i[e])return function(A){var e;return e=o(A),40===A.charCode()?(A.pos++,{type:"Function",name:e}):g(A,{type:"Keyword",name:e})}(A);switch(e){case 93:break;case 91:return g(A,function(A){var e;return A.eat(91),e=u(A),A.eat(93),e.explicit=!0,33===A.charCode()&&(A.pos++,e.disallowEmpty=!0),e}(A));case 60:return 39===A.nextCharCode()?function(A){var e;return A.eat(60),A.eat(39),e=o(A),A.eat(39),A.eat(62),g(A,{type:"Property",name:e})}(A):E(A);case 124:return{type:"Combinator",value:A.substringToPos(124===A.nextCharCode()?A.pos+2:A.pos+1)};case 38:return A.pos++,A.eat(38),{type:"Combinator",value:"&&"};case 44:return A.pos++,{type:"Comma"};case 39:return g(A,{type:"String",value:B(A)});case 32:case 9:case 10:case 13:case 12:return{type:"Spaces",value:s(A)};case 64:return(e=A.nextCharCode())<128&&1===i[e]?(A.pos++,{type:"AtKeyword",name:o(A)}):Q(A);case 42:case 43:case 63:case 35:case 33:break;case 123:if((e=A.nextCharCode())<48||e>57)return Q(A);break;default:return Q(A)}}function h(A){var e=new n(A),t=u(e);return e.pos!==A.length&&e.error("Unexpected input"),1===t.terms.length&&"Group"===t.terms[0].type&&(t=t.terms[0]),t}h("[a&&<b>#|<'c'>*||e() f{2} /,(% g#{1,2} h{2,})]!"),A.exports=h},function(A,e){e.getArg=function(A,e,t){if(e in A)return A[e];if(3===arguments.length)return t;throw new Error('"'+e+'" is a required argument.')};var t=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,n=/^data:.+\,.+$/;function i(A){var e=A.match(t);return e?{scheme:e[1],auth:e[2],host:e[3],port:e[4],path:e[5]}:null}function r(A){var e="";return A.scheme&&(e+=A.scheme+":"),e+="//",A.auth&&(e+=A.auth+"@"),A.host&&(e+=A.host),A.port&&(e+=":"+A.port),A.path&&(e+=A.path),e}function s(A){var t=A,n=i(A);if(n){if(!n.path)return A;t=n.path}for(var s,o=e.isAbsolute(t),a=t.split(/\/+/),B=0,c=a.length-1;c>=0;c--)"."===(s=a[c])?a.splice(c,1):".."===s?B++:B>0&&(""===s?(a.splice(c+1,B),B=0):(a.splice(c,2),B--));return""===(t=a.join("/"))&&(t=o?"/":"."),n?(n.path=t,r(n)):t}function o(A,e){""===A&&(A="."),""===e&&(e=".");var t=i(e),o=i(A);if(o&&(A=o.path||"/"),t&&!t.scheme)return o&&(t.scheme=o.scheme),r(t);if(t||e.match(n))return e;if(o&&!o.host&&!o.path)return o.host=e,r(o);var a="/"===e.charAt(0)?e:s(A.replace(/\/+$/,"")+"/"+e);return o?(o.path=a,r(o)):a}e.urlParse=i,e.urlGenerate=r,e.normalize=s,e.join=o,e.isAbsolute=function(A){return"/"===A.charAt(0)||t.test(A)},e.relative=function(A,e){""===A&&(A="."),A=A.replace(/\/$/,"");for(var t=0;0!==e.indexOf(A+"/");){var n=A.lastIndexOf("/");if(n<0)return e;if((A=A.slice(0,n)).match(/^([^\/]+:\/)?\/*$/))return e;++t}return Array(t+1).join("../")+e.substr(A.length+1)};var a=!("__proto__"in Object.create(null));function B(A){return A}function c(A){if(!A)return!1;var e=A.length;if(e<9)return!1;if(95!==A.charCodeAt(e-1)||95!==A.charCodeAt(e-2)||111!==A.charCodeAt(e-3)||116!==A.charCodeAt(e-4)||111!==A.charCodeAt(e-5)||114!==A.charCodeAt(e-6)||112!==A.charCodeAt(e-7)||95!==A.charCodeAt(e-8)||95!==A.charCodeAt(e-9))return!1;for(var t=e-10;t>=0;t--)if(36!==A.charCodeAt(t))return!1;return!0}function g(A,e){return A===e?0:null===A?1:null===e?-1:A>e?1:-1}e.toSetString=a?B:function(A){return c(A)?"$"+A:A},e.fromSetString=a?B:function(A){return c(A)?A.slice(1):A},e.compareByOriginalPositions=function(A,e,t){var n=g(A.source,e.source);return 0!==n||0!==(n=A.originalLine-e.originalLine)||0!==(n=A.originalColumn-e.originalColumn)||t||0!==(n=A.generatedColumn-e.generatedColumn)||0!==(n=A.generatedLine-e.generatedLine)?n:g(A.name,e.name)},e.compareByGeneratedPositionsDeflated=function(A,e,t){var n=A.generatedLine-e.generatedLine;return 0!==n||0!==(n=A.generatedColumn-e.generatedColumn)||t||0!==(n=g(A.source,e.source))||0!==(n=A.originalLine-e.originalLine)||0!==(n=A.originalColumn-e.originalColumn)?n:g(A.name,e.name)},e.compareByGeneratedPositionsInflated=function(A,e){var t=A.generatedLine-e.generatedLine;return 0!==t||0!==(t=A.generatedColumn-e.generatedColumn)||0!==(t=g(A.source,e.source))||0!==(t=A.originalLine-e.originalLine)||0!==(t=A.originalColumn-e.originalColumn)?t:g(A.name,e.name)},e.parseSourceMapInput=function(A){return JSON.parse(A.replace(/^\)]}'[^\n]*\n/,""))},e.computeSourceURL=function(A,e,t){if(e=e||"",A&&("/"!==A[A.length-1]&&"/"!==e[0]&&(A+="/"),e=A+e),t){var n=i(t);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var a=n.path.lastIndexOf("/");a>=0&&(n.path=n.path.substring(0,a+1))}e=o(r(n),e)}return s(e)}},function(A,e,t){A.exports={AnPlusB:t(483),Atrule:t(484),AtrulePrelude:t(485),AttributeSelector:t(486),Block:t(487),Brackets:t(488),CDC:t(489),CDO:t(490),ClassSelector:t(491),Combinator:t(492),Comment:t(493),Declaration:t(494),DeclarationList:t(495),Dimension:t(496),Function:t(497),Hash:t(498),Identifier:t(499),IdSelector:t(500),MediaFeature:t(501),MediaQuery:t(502),MediaQueryList:t(503),Nth:t(504),Number:t(505),Operator:t(506),Parentheses:t(507),Percentage:t(508),PseudoClassSelector:t(509),PseudoElementSelector:t(510),Ratio:t(511),Raw:t(34),Rule:t(512),Selector:t(513),SelectorList:t(514),String:t(515),StyleSheet:t(516),TypeSelector:t(517),UnicodeRange:t(518),Url:t(519),Value:t(520),WhiteSpace:t(521)}},function(A,e){A.exports=class{constructor(A){this._ctx=A,this._cache={}}beginMeasurementSession(){}endMeasurementSession(){}setFontAndSize(A,e){this._ctx.font="".concat(e,"px ").concat(A,", sans-serif")}measureText(A){return this._cache[A]||(this._cache[A]=this._ctx.measureText(A).actualBoundingBoxRight),this._cache[A]}}},function(A,e,t){"undefined"!=typeof TextDecoder&&"undefined"!=typeof TextEncoder||t(69);const n=t(42);let i=null;const r={},s={},o="function"==typeof FinalizationRegistry?new FinalizationRegistry(A=>{const e=s[A];1===e?(delete s[A],delete r[A]):s[A]=e-1}):null,a=o?A=>{const e=A.assetId,t=s[e]||0;s[e]=t+1,o.register(A,e)}:()=>{};A.exports=class{constructor(A,e,t,n,i){this.assetType=A,this.assetId=e,this.setData(n,t||A.runtimeFormat,i),this.dependencies=[],a(this)}setData(A,e,t){if(A&&!e)throw new Error("Data provided without specifying its format");this.dataFormat=e,this.data=A,t&&(this.assetId=n(A)),this.clean=!t}decodeText(){return(new TextDecoder).decode(this.data)}encodeTextData(A,e,t){const n=new TextEncoder;this.setData(n.encode(A),e,t)}encodeDataURI(A){return A=A||this.assetType.contentType,"data:".concat(A,";base64,").concat(((A,e)=>{if(!Object.prototype.hasOwnProperty.call(r,A))if("undefined"==typeof btoa){const n=t(584);r[A]=n.fromByteArray(e)}else{if(null===i){i=new Array(256);for(let A=0;A<256;A++)i[A]=String.fromCharCode(A)}const{length:t}=e;let n="";for(let A=0,r=0;A<t;A=r){r=Math.min(r+32766,t);let s="";for(let t=A;t<r;t+=1)s+=i[e[t]];n+=btoa(s)}r[A]=n}return r[A]})(this.assetId,this.data))}}},function(A,e){A.exports={JPG:"jpg",JSON:"json",MP3:"mp3",PNG:"png",SB2:"sb2",SB3:"sb3",SVG:"svg",WAV:"wav",TTF:"ttf",OTF:"otf",WOFF:"woff",WOFF2:"woff2",TXT:"txt"}},function(A,e,t){"use strict";(function(e){A.exports=function(A){for(var t="undefined"!=typeof window&&"function"==typeof window.atob?window.atob(A):e.from(A,"base64").toString("binary"),n=new Uint8Array(t.length),i=0;i<t.length;++i)n[i]=t.charCodeAt(i);return n.buffer}}).call(this,t(25).Buffer)},function(A,e){A.exports=class{constructor(A,e,t){this.audioEngine=A,this.audioPlayer=e,this.lastEffect=t,this.value=this.DEFAULT_VALUE,this.initialized=!1,this.inputNode=null,this.outputNode=null,this.target=null}get name(){throw new Error("".concat(this.constructor.name,".name is not implemented"))}get DEFAULT_VALUE(){return 0}get _isPatch(){return this.initialized&&(this.value!==this.DEFAULT_VALUE||null===this.audioPlayer)}getInputNode(){return this._isPatch?this.inputNode:this.target.getInputNode()}initialize(){throw new Error("".concat(this.constructor.name,".initialize is not implemented."))}_set(){throw new Error("".concat(this.constructor.name,"._set is not implemented."))}set(A){this.initialized||this.initialize();const e=this._isPatch;if(e&&(this._lastPatch=this.audioEngine.currentTime),A!==this.value){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];this._set(A,...n)}this._isPatch!==e&&null!==this.target&&this.connect(this.target)}update(){}clear(){this.set(this.DEFAULT_VALUE)}connect(A){if(null===A)throw new Error("target may not be null");const e=A=>{if(A)return A===this||e(A.target)};if(e(A))throw new Error("Effect cannot connect to itself");this.target=A,null!==this.outputNode&&this.outputNode.disconnect(),(this._isPatch||this._lastPatch+this.audioEngine.DECAY_DURATION<this.audioEngine.currentTime)&&this.outputNode.connect(A.getInputNode()),null===this.lastEffect?null!==this.audioPlayer&&this.audioPlayer.connect(this):this.lastEffect.connect(this)}dispose(){this.inputNode=null,this.outputNode=null,this.target=null,this.initialized=!1}}},function(A,e,t){const n=t(160);A.exports=n},function(A,e,t){const n=t(558);A.exports=n},function(A,e,t){const n=t(594);A.exports=n},function(A,e,t){var n=t(301),i=t(302),r=t(303),s=t(304),o=t(305),a=t(306),B=t(307);B.alea=n,B.xor128=i,B.xorwow=r,B.xorshift7=s,B.xor4096=o,B.tychei=a,A.exports=B},function(A,e,t){"use strict";var n=t(156),i=t.n(n),r=t(157),s=t.n(r),o=t(158),a=i()((function(A){return A[1]})),B=s()(o.a);a.push([A.i,'.sc-root {\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n --sc-accent-color: #ff4c4c;\n --sc-accent-color-transparent: #ff4c4c59;\n}\n.sc-layers {\n position: relative;\n}\n.sc-layers > * {\n position: absolute;\n}\n.sc-scaled-overlays-outer {\n overflow: hidden;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n.sc-scaled-overlays-inner {\n transform-origin: top left;\n}\n.sc-root * {\n box-sizing: border-box;\n}\n.sc-canvas {\n width: 100%;\n height: 100%;\n}\n\n.sc-question-root {\n bottom: 0;\n width: 100%;\n color: black;\n pointer-events: all;\n}\n.sc-question-inner {\n margin: 0.5rem;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n border-radius: 0.5rem;\n border-width: 2px;\n padding: 1rem;\n background: white;\n}\n.sc-question-text {\n font-size: 12px;\n padding-bottom: 8px;\n font-weight: bold;\n}\n.sc-question-input-outer {\n position: relative;\n}\n.sc-question-input {\n width: 100%;\n height: 2rem;\n padding: 0 12px;\n font-size: 10px;\n border-width: 1px;\n border-style: solid;\n border-color: hsla(0, 0%, 0%, 0.15);\n border-radius: 2rem;\n outline: none;\n transition: 0.25s ease-out;\n box-shadow: none;\n overflow: hidden;\n text-overflow: ellipsis;\n color: inherit;\n}\n.sc-question-input:focus {\n border-color: var(--sc-accent-color);\n box-shadow: 0px 0px 0px 3px var(--sc-accent-color-transparent);\n}\n.sc-question-input:hover {\n border-color: var(--sc-accent-color);\n}\n.sc-question-submit-button {\n top: 4px;\n right: 4px;\n width: 24px;\n height: 24px;\n position: absolute;\n outline: none;\n border: none;\n padding: 2px;\n margin: 0;\n border-radius: 100%;\n background: none;\n cursor: pointer;\n color: white;\n background-color: var(--sc-accent-color);\n background-image: url('+B+');\n overflow: hidden;\n}\n.sc-question-submit-button:focus {\n outline: 2px solid black;\n}\n.sc-question-submit-button-image {\n width: 100%;\n height: 100%;\n}\n\n.sc-monitor-overlay {\n\n}\n.sc-monitor-root {\n position: absolute;\n top: 0;\n left: 0;\n background: hsla(215, 100%, 95%, 1);\n color: #575e75;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n border-radius: 4px;\n font-size: 12px;\n overflow: hidden;\n user-select: none;\n -webkit-user-select: none;\n display: flex;\n flex-direction: column;\n pointer-events: all;\n}\n.sc-monitor-inner {\n display: flex;\n flex-direction: column;\n padding: 3px;\n}\n.sc-monitor-row {\n display: flex;\n flex-direction: row;\n}\n.sc-monitor-label {\n font-weight: bold;\n text-align: center;\n margin: 0 5px;\n white-space: nowrap;\n}\n.sc-monitor-slider {\n margin: 0;\n width: 100%;\n}\n.sc-monitor-value {\n min-width: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n color: white;\n margin: 0 5px;\n border-radius: 4px;\n padding: 0 2px;\n white-space: pre-wrap;\n background-color: #0fbd8c;\n}\n.sc-monitor-root[data-opcode^="motion_"] .sc-monitor-value-color {\n background-color: #4c97ff;\n}\n.sc-monitor-root[data-opcode^="sensing_"] .sc-monitor-value-color {\n background-color: #5cb1d6;\n}\n.sc-monitor-root[data-opcode^="data_"] .sc-monitor-value-color {\n background-color: #ff8c1a;\n}\n.sc-monitor-root[data-opcode^="looks_"] .sc-monitor-value-color {\n background-color: #9966ff;\n}\n.sc-monitor-root[data-opcode^="sound_"] .sc-monitor-value-color {\n background-color: #cf63cf;\n}\n.sc-monitor-root[opcode^="control_"] .sc-monitor-value-color {\n background-color: #FFAB19;\n}\n.sc-monitor-large-value {\n min-height: 1.4rem;\n min-width: 3rem;\n padding: 0.1rem 0.25rem;\n text-align: center;\n color: white;\n font-size: 1rem;\n white-space: pre-wrap;\n}\n\n.sc-monitor-list-label {\n background-color: white;\n text-align: center;\n font-weight: bold;\n border-bottom: 1px solid hsla(0, 0%, 0%, 0.15);\n padding: 3px;\n}\n.sc-monitor-list-footer {\n display: flex;\n background-color: white;\n text-align: center;\n font-weight: bold;\n padding: 3px;\n}\n.sc-monitor-list-footer-text {\n text-align: center;\n flex-grow: 1;\n}\n.sc-monitor-row-delete, .sc-monitor-list-add {\n font-weight: bold;\n background: none;\n border: none;\n outline: none;\n font-family: inherit;\n color: inherit;\n cursor: pointer;\n margin: 0;\n padding: 0;\n}\n.sc-monitor-rows-outer {\n flex-grow: 1;\n}\n.sc-monitor-rows-inner {\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n}\n.sc-monitor-rows-endpoint {\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n pointer-events: none;\n}\n\n.sc-monitor-row-root {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: space-around;\n align-items: center;\n padding: 2px;\n width: 100%;\n}\n.sc-monitor-row-index {\n font-weight: bold;\n color: hsla(225, 15%, 40%, 1);\n margin: 0 3px;\n}\n.sc-monitor-row-value-outer {\n display: flex;\n align-items: center;\n min-width: 40px;\n height: 22px;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n background-color: #fc662c;\n color: white;\n margin: 0 3px;\n border-radius: calc(0.5rem / 2);\n flex-grow: 1;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-value-outer {\n background-color: #e25c28;\n}\n.sc-monitor-row-value-inner {\n padding: 3px 5px;\n width: 100%;\n color: inherit;\n background: none;\n border: none;\n font: inherit;\n outline: none;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: text;\n -webkit-user-select: text;\n white-space: pre;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-value-inner {\n padding-right: 0;\n}\n.sc-monitor-row-delete {\n display: none;\n font-size: 150%;\n padding: 0 2px;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-delete {\n display: block;\n}\n.sc-monitor-empty {\n text-align: center;\n padding: 5px;\n}\n\n.sc-controls-bar {\n transform: translateY(-100%);\n display: flex;\n width: 100%;\n justify-content: space-between;\n flex-wrap: nowrap;\n}\n.sc-controls-bar > * {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n}\n\n.sc-context-menu {\n position: absolute;\n color: black;\n box-shadow: 0px 0px 5px 1px hsla(0, 0%, 0%, 0.25);\n min-width: 130px;\n opacity: 0;\n transition: .2s opacity;\n}\n.sc-context-menu-item {\n display: block;\n width: 100%;\n background-color: white;\n border: none;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n font-size: 0.85em;\n padding: 8px 12px;\n margin: 0;\n transition: .1s background-color, .1s color;\n}\n.sc-context-menu-item:focus {\n outline: 2px solid black;\n}\n.sc-context-menu-item:hover,\n.sc-context-menu-item:active {\n color: white;\n background-color: var(--sc-accent-color);\n}\n.sc-context-menu-item:first-child {\n border-radius: 4px 4px 0 0;\n}\n.sc-context-menu-item:last-child {\n border-radius: 0 0 4px 4px;\n}\n\n.sc-dropping {\n background-color: var(--sc-accent-color-transparent);\n}\n',""]),a.locals={root:"sc-root",layers:"sc-layers","scaled-overlays-outer":"sc-scaled-overlays-outer",scaledOverlaysOuter:"sc-scaled-overlays-outer","scaled-overlays-inner":"sc-scaled-overlays-inner",scaledOverlaysInner:"sc-scaled-overlays-inner",canvas:"sc-canvas","question-root":"sc-question-root",questionRoot:"sc-question-root","question-inner":"sc-question-inner",questionInner:"sc-question-inner","question-text":"sc-question-text",questionText:"sc-question-text","question-input-outer":"sc-question-input-outer",questionInputOuter:"sc-question-input-outer","question-input":"sc-question-input",questionInput:"sc-question-input","question-submit-button":"sc-question-submit-button",questionSubmitButton:"sc-question-submit-button","question-submit-button-image":"sc-question-submit-button-image",questionSubmitButtonImage:"sc-question-submit-button-image","monitor-overlay":"sc-monitor-overlay",monitorOverlay:"sc-monitor-overlay","monitor-root":"sc-monitor-root",monitorRoot:"sc-monitor-root","monitor-inner":"sc-monitor-inner",monitorInner:"sc-monitor-inner","monitor-row":"sc-monitor-row",monitorRow:"sc-monitor-row","monitor-label":"sc-monitor-label",monitorLabel:"sc-monitor-label","monitor-slider":"sc-monitor-slider",monitorSlider:"sc-monitor-slider","monitor-value":"sc-monitor-value",monitorValue:"sc-monitor-value","monitor-value-color":"sc-monitor-value-color",monitorValueColor:"sc-monitor-value-color","monitor-large-value":"sc-monitor-large-value",monitorLargeValue:"sc-monitor-large-value","monitor-list-label":"sc-monitor-list-label",monitorListLabel:"sc-monitor-list-label","monitor-list-footer":"sc-monitor-list-footer",monitorListFooter:"sc-monitor-list-footer","monitor-list-footer-text":"sc-monitor-list-footer-text",monitorListFooterText:"sc-monitor-list-footer-text","monitor-row-delete":"sc-monitor-row-delete",monitorRowDelete:"sc-monitor-row-delete","monitor-list-add":"sc-monitor-list-add",monitorListAdd:"sc-monitor-list-add","monitor-rows-outer":"sc-monitor-rows-outer",monitorRowsOuter:"sc-monitor-rows-outer","monitor-rows-inner":"sc-monitor-rows-inner",monitorRowsInner:"sc-monitor-rows-inner","monitor-rows-endpoint":"sc-monitor-rows-endpoint",monitorRowsEndpoint:"sc-monitor-rows-endpoint","monitor-row-root":"sc-monitor-row-root",monitorRowRoot:"sc-monitor-row-root","monitor-row-index":"sc-monitor-row-index",monitorRowIndex:"sc-monitor-row-index","monitor-row-value-outer":"sc-monitor-row-value-outer",monitorRowValueOuter:"sc-monitor-row-value-outer","monitor-row-value-editing":"sc-monitor-row-value-editing",monitorRowValueEditing:"sc-monitor-row-value-editing","monitor-row-value-inner":"sc-monitor-row-value-inner",monitorRowValueInner:"sc-monitor-row-value-inner","monitor-empty":"sc-monitor-empty",monitorEmpty:"sc-monitor-empty","controls-bar":"sc-controls-bar",controlsBar:"sc-controls-bar","context-menu":"sc-context-menu",contextMenu:"sc-context-menu","context-menu-item":"sc-context-menu-item",contextMenuItem:"sc-context-menu-item",dropping:"sc-dropping"},e.a=a},function(A,e,t){const n=t(166),i=t(8);A.exports=new class extends n{constructor(){super(),this.services={},this.workerClass="undefined"==typeof Worker?null:Worker,this.workers=[]}callSync(A,e){const{provider:t,isRemote:n}=this._getServiceProvider(A);if(t){if(n)throw new Error("Cannot use 'callSync' on remote provider for service ".concat(A,"."));for(var i=arguments.length,r=new Array(i>2?i-2:0),s=2;s<i;s++)r[s-2]=arguments[s];return t[e].apply(t,r)}throw new Error("Provider not found for service: ".concat(A))}setServiceSync(A,e){this.services.hasOwnProperty(A)&&i.warn("Central dispatch replacing existing service provider for ".concat(A)),this.services[A]=e}setService(A,e){try{return this.setServiceSync(A,e),Promise.resolve()}catch(A){return Promise.reject(A)}}addWorker(A){-1===this.workers.indexOf(A)?(this.workers.push(A),A.onmessage=this._onMessage.bind(this,A),this._remoteCall(A,"dispatch","handshake").catch(A=>{i.error("Could not handshake with worker: ".concat(A))})):i.warn("Central dispatch ignoring attempt to add duplicate worker")}_getServiceProvider(A){const e=this.services[A];return e&&{provider:e,isRemote:Boolean(this.workerClass&&e instanceof this.workerClass||e.isRemote)}}_onDispatchMessage(A,e){let t;switch(e.method){case"setService":t=this.setService(e.args[0],A);break;default:i.error("Central dispatch received message for unknown method: ".concat(e.method))}return t}}},function(A,e){var t={black:"#000",red:"#c23621",green:"#25bc26",yellow:"#bbbb00",blue:"#492ee1",magenta:"#d338d3",cyan:"#33bbc8",gray:"#808080",purple:"#708"};A.exports=function(A,e){return e?"color: #fff; background: "+t[A]+";":"color: "+t[A]+";"}},function(A,e,t){const n=t(7);A.exports=function(A,e,t){return A&&A.id&&A.default?n(A,e,t):A}},function(A,e){var t="long",n="short",i="numeric";A.exports={number:{decimal:{style:"decimal"},integer:{style:"decimal",maximumFractionDigits:0},currency:{style:"currency",currency:"USD"},percent:{style:"percent"},default:{style:"decimal"}},date:{short:{month:i,day:i,year:"2-digit"},medium:{month:n,day:i,year:i},long:{month:t,day:i,year:i},full:{month:t,day:i,year:i,weekday:t},default:{month:n,day:i,year:i}},time:{short:{hour:i,minute:i},medium:{hour:i,minute:i,second:i},long:{hour:i,minute:i,second:i,timeZoneName:n},full:{hour:i,minute:i,second:i,timeZoneName:n},default:{hour:i,minute:i,second:i}},duration:{default:{hours:{minimumIntegerDigits:1,maximumFractionDigits:0},minutes:{minimumIntegerDigits:2,maximumFractionDigits:0},seconds:{minimumIntegerDigits:2,maximumFractionDigits:3}}},parseNumberPattern:function(A){if(A){var e={},t=A.match(/\b[A-Z]{3}\b/i),n=A.replace(/[^¤]/g,"").length;if(!n&&t&&(n=1),n?(e.style="currency",e.currencyDisplay=1===n?"symbol":2===n?"code":"name",e.currency=t?t[0].toUpperCase():"USD"):A.indexOf("%")>=0&&(e.style="percent"),!/[@#0]/.test(A))return e.style?e:void 0;if(e.useGrouping=A.indexOf(",")>=0,/E\+?[@#0]+/i.test(A)||A.indexOf("@")>=0){var i=A.replace(/E\+?[@#0]+|[^@#0]/gi,"");e.minimumSignificantDigits=Math.min(Math.max(i.replace(/[^@0]/g,"").length,1),21),e.maximumSignificantDigits=Math.min(Math.max(i.length,1),21)}else{for(var r=A.replace(/[^#0.]/g,"").split("."),s=r[0],o=s.length-1;"0"===s[o];)--o;e.minimumIntegerDigits=Math.min(Math.max(s.length-1-o,1),21);var a=r[1]||"";for(o=0;"0"===a[o];)++o;for(e.minimumFractionDigits=Math.min(Math.max(o,0),20);"#"===a[o];)++o;e.maximumFractionDigits=Math.min(Math.max(o,0),20)}return e}},parseDatePattern:function(A){if(A){for(var e={},r=0;r<A.length;){for(var s=A[r],o=1;A[++r]===s;)++o;switch(s){case"G":e.era=5===o?"narrow":4===o?t:n;break;case"y":case"Y":e.year=2===o?"2-digit":i;break;case"M":case"L":o=Math.min(Math.max(o-1,0),4),e.month=[i,"2-digit",n,t,"narrow"][o];break;case"E":case"e":case"c":e.weekday=5===o?"narrow":4===o?t:n;break;case"d":case"D":e.day=2===o?"2-digit":i;break;case"h":case"K":e.hour12=!0,e.hour=2===o?"2-digit":i;break;case"H":case"k":e.hour12=!1,e.hour=2===o?"2-digit":i;break;case"m":e.minute=2===o?"2-digit":i;break;case"s":case"S":e.second=2===o?"2-digit":i;break;case"z":case"Z":case"v":case"V":e.timeZoneName=1===o?n:t}}return Object.keys(e).length?e:void 0}}}},function(A,e){A.exports=function(A,e){if("string"==typeof A&&e[A])return A;for(var t=[].concat(A||[]),n=0,i=t.length;n<i;++n)for(var r=t[n].split("-");r.length;){var s=r.join("-");if(e[s])return s;r.pop()}}},function(A,e,t){"use strict";var n="one",i="two",r="few",s="many",o="other",a=[function(A){return 1===+A?n:o},function(A){var e=+A;return 0<=e&&e<=1?n:o},function(A){return 0===Math.floor(Math.abs(+A))||1===+A?n:o},function(A){var e=+A;return 0===e?"zero":1===e?n:2===e?i:3<=e%100&&e%100<=10?r:11<=e%100&&e%100<=99?s:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length;return 1===e&&0===t?n:o},function(A){var e=+A;return e%10==1&&e%100!=11?n:2<=e%10&&e%10<=4&&(e%100<12||14<e%100)?r:e%10==0||5<=e%10&&e%10<=9||11<=e%100&&e%100<=14?s:o},function(A){var e=+A;return e%10==1&&e%100!=11&&e%100!=71&&e%100!=91?n:e%10==2&&e%100!=12&&e%100!=72&&e%100!=92?i:(3<=e%10&&e%10<=4||e%10==9)&&(e%100<10||19<e%100)&&(e%100<70||79<e%100)&&(e%100<90||99<e%100)?r:0!==e&&e%1e6==0?s:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length,i=+(A+".").split(".")[1];return 0===t&&e%10==1&&e%100!=11||i%10==1&&i%100!=11?n:0===t&&2<=e%10&&e%10<=4&&(e%100<12||14<e%100)||2<=i%10&&i%10<=4&&(i%100<12||14<i%100)?r:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length;return 1===e&&0===t?n:2<=e&&e<=4&&0===t?r:0!==t?s:o},function(A){var e=+A;return 0===e?"zero":1===e?n:2===e?i:3===e?r:6===e?s:o},function(A){var e=Math.floor(Math.abs(+A)),t=+(""+A).replace(/^[^.]*.?|0+$/g,"");return 1===+A||0!==t&&(0===e||1===e)?n:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length,s=+(A+".").split(".")[1];return 0===t&&e%100==1||s%100==1?n:0===t&&e%100==2||s%100==2?i:0===t&&3<=e%100&&e%100<=4||3<=s%100&&s%100<=4?r:o},function(A){var e=Math.floor(Math.abs(+A));return 0===e||1===e?n:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length,i=+(A+".").split(".")[1];return 0===t&&(1===e||2===e||3===e)||0===t&&e%10!=4&&e%10!=6&&e%10!=9||0!==t&&i%10!=4&&i%10!=6&&i%10!=9?n:o},function(A){var e=+A;return 1===e?n:2===e?i:3<=e&&e<=6?r:7<=e&&e<=10?s:o},function(A){var e=+A;return 1===e||11===e?n:2===e||12===e?i:3<=e&&e<=10||13<=e&&e<=19?r:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length;return 0===t&&e%10==1?n:0===t&&e%10==2?i:0!==t||e%100!=0&&e%100!=20&&e%100!=40&&e%100!=60&&e%100!=80?0!==t?s:o:r},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length,r=+A;return 1===e&&0===t?n:2===e&&0===t?i:0===t&&(r<0||10<r)&&r%10==0?s:o},function(A){var e=Math.floor(Math.abs(+A)),t=+(""+A).replace(/^[^.]*.?|0+$/g,"");return 0===t&&e%10==1&&e%100!=11||0!==t?n:o},function(A){var e=+A;return 1===e?n:2===e?i:o},function(A){var e=+A;return 0===e?"zero":1===e?n:o},function(A){var e=Math.floor(Math.abs(+A)),t=+A;return 0===t?"zero":0!==e&&1!==e||0===t?o:n},function(A){var e=+(A+".").split(".")[1],t=+A;return t%10==1&&(t%100<11||19<t%100)?n:2<=t%10&&t%10<=9&&(t%100<11||19<t%100)?r:0!==e?s:o},function(A){var e=(A+".").split(".")[1].length,t=+(A+".").split(".")[1],i=+A;return i%10==0||11<=i%100&&i%100<=19||2===e&&11<=t%100&&t%100<=19?"zero":i%10==1&&i%100!=11||2===e&&t%10==1&&t%100!=11||2!==e&&t%10==1?n:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length,i=+(A+".").split(".")[1];return 0===t&&e%10==1&&e%100!=11||i%10==1&&i%100!=11?n:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length,i=+A;return 1===e&&0===t?n:0!==t||0===i||1!==i&&1<=i%100&&i%100<=19?r:o},function(A){var e=+A;return 1===e?n:0===e||2<=e%100&&e%100<=10?r:11<=e%100&&e%100<=19?s:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length;return 1===e&&0===t?n:0===t&&2<=e%10&&e%10<=4&&(e%100<12||14<e%100)?r:0===t&&1!==e&&0<=e%10&&e%10<=1||0===t&&5<=e%10&&e%10<=9||0===t&&12<=e%100&&e%100<=14?s:o},function(A){var e=Math.floor(Math.abs(+A));return 0<=e&&e<=1?n:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length;return 0===t&&e%10==1&&e%100!=11?n:0===t&&2<=e%10&&e%10<=4&&(e%100<12||14<e%100)?r:0===t&&e%10==0||0===t&&5<=e%10&&e%10<=9||0===t&&11<=e%100&&e%100<=14?s:o},function(A){var e=+A;return 0===Math.floor(Math.abs(+A))||1===e?n:2<=e&&e<=10?r:o},function(A){var e=Math.floor(Math.abs(+A)),t=+(A+".").split(".")[1],i=+A;return 0===i||1===i||0===e&&1===t?n:o},function(A){var e=Math.floor(Math.abs(+A)),t=(A+".").split(".")[1].length;return 0===t&&e%100==1?n:0===t&&e%100==2?i:0===t&&3<=e%100&&e%100<=4||0!==t?r:o},function(A){var e=+A;return 0<=e&&e<=1||11<=e&&e<=99?n:o},function(A){var e=+A;return 1===e||5===e||7===e||8===e||9===e||10===e?n:2===e||3===e?i:4===e?r:6===e?s:o},function(A){var e=Math.floor(Math.abs(+A));return e%10==1||e%10==2||e%10==5||e%10==7||e%10==8||e%100==20||e%100==50||e%100==70||e%100==80?n:e%10==3||e%10==4||e%1e3==100||e%1e3==200||e%1e3==300||e%1e3==400||e%1e3==500||e%1e3==600||e%1e3==700||e%1e3==800||e%1e3==900?r:0===e||e%10==6||e%100==40||e%100==60||e%100==90?s:o},function(A){var e=+A;return e%10!=2&&e%10!=3||e%100==12||e%100==13?o:r},function(A){var e=+A;return 1===e||3===e?n:2===e?i:4===e?r:o},function(A){var e=+A;return 0===e||7===e||8===e||9===e?"zero":1===e?n:2===e?i:3===e||4===e?r:5===e||6===e?s:o},function(A){var e=+A;return e%10==1&&e%100!=11?n:e%10==2&&e%100!=12?i:e%10==3&&e%100!=13?r:o},function(A){var e=+A;return 1===e||11===e?n:2===e||12===e?i:3===e||13===e?r:o},function(A){var e=+A;return 1===e?n:2===e||3===e?i:4===e?r:6===e?s:o},function(A){var e=+A;return 1===e||5===e?n:o},function(A){var e=+A;return 11===e||8===e||80===e||800===e?s:o},function(A){var e=Math.floor(Math.abs(+A));return 1===e?n:0===e||2<=e%100&&e%100<=20||e%100==40||e%100==60||e%100==80?s:o},function(A){var e=+A;return e%10==6||e%10==9||e%10==0&&0!==e?s:o},function(A){var e=Math.floor(Math.abs(+A));return e%10==1&&e%100!=11?n:e%10==2&&e%100!=12?i:e%10!=7&&e%10!=8||e%100==17||e%100==18?o:s},function(A){var e=+A;return 1===e?n:2===e||3===e?i:4===e?r:o},function(A){var e=+A;return 1<=e&&e<=4?n:o},function(A){var e=+A;return 1===e||5===e||7<=e&&e<=9?n:2===e||3===e?i:4===e?r:6===e?s:o},function(A){var e=+A;return 1===e?n:e%10==4&&e%100!=14?s:o},function(A){var e=+A;return e%10!=1&&e%10!=2||e%100==11||e%100==12?o:n},function(A){var e=+A;return e%10==6||e%10==9||10===e?r:o},function(A){var e=+A;return e%10==3&&e%100!=13?r:o}];A.exports={af:{cardinal:a[0]},ak:{cardinal:a[1]},am:{cardinal:a[2]},ar:{cardinal:a[3]},ars:{cardinal:a[3]},as:{cardinal:a[2],ordinal:a[34]},asa:{cardinal:a[0]},ast:{cardinal:a[4]},az:{cardinal:a[0],ordinal:a[35]},be:{cardinal:a[5],ordinal:a[36]},bem:{cardinal:a[0]},bez:{cardinal:a[0]},bg:{cardinal:a[0]},bh:{cardinal:a[1]},bn:{cardinal:a[2],ordinal:a[34]},br:{cardinal:a[6]},brx:{cardinal:a[0]},bs:{cardinal:a[7]},ca:{cardinal:a[4],ordinal:a[37]},ce:{cardinal:a[0]},cgg:{cardinal:a[0]},chr:{cardinal:a[0]},ckb:{cardinal:a[0]},cs:{cardinal:a[8]},cy:{cardinal:a[9],ordinal:a[38]},da:{cardinal:a[10]},de:{cardinal:a[4]},dsb:{cardinal:a[11]},dv:{cardinal:a[0]},ee:{cardinal:a[0]},el:{cardinal:a[0]},en:{cardinal:a[4],ordinal:a[39]},eo:{cardinal:a[0]},es:{cardinal:a[0]},et:{cardinal:a[4]},eu:{cardinal:a[0]},fa:{cardinal:a[2]},ff:{cardinal:a[12]},fi:{cardinal:a[4]},fil:{cardinal:a[13],ordinal:a[0]},fo:{cardinal:a[0]},fr:{cardinal:a[12],ordinal:a[0]},fur:{cardinal:a[0]},fy:{cardinal:a[4]},ga:{cardinal:a[14],ordinal:a[0]},gd:{cardinal:a[15],ordinal:a[40]},gl:{cardinal:a[4]},gsw:{cardinal:a[0]},gu:{cardinal:a[2],ordinal:a[41]},guw:{cardinal:a[1]},gv:{cardinal:a[16]},ha:{cardinal:a[0]},haw:{cardinal:a[0]},he:{cardinal:a[17]},hi:{cardinal:a[2],ordinal:a[41]},hr:{cardinal:a[7]},hsb:{cardinal:a[11]},hu:{cardinal:a[0],ordinal:a[42]},hy:{cardinal:a[12],ordinal:a[0]},ia:{cardinal:a[4]},io:{cardinal:a[4]},is:{cardinal:a[18]},it:{cardinal:a[4],ordinal:a[43]},iu:{cardinal:a[19]},iw:{cardinal:a[17]},jgo:{cardinal:a[0]},ji:{cardinal:a[4]},jmc:{cardinal:a[0]},ka:{cardinal:a[0],ordinal:a[44]},kab:{cardinal:a[12]},kaj:{cardinal:a[0]},kcg:{cardinal:a[0]},kk:{cardinal:a[0],ordinal:a[45]},kkj:{cardinal:a[0]},kl:{cardinal:a[0]},kn:{cardinal:a[2]},ks:{cardinal:a[0]},ksb:{cardinal:a[0]},ksh:{cardinal:a[20]},ku:{cardinal:a[0]},kw:{cardinal:a[19]},ky:{cardinal:a[0]},lag:{cardinal:a[21]},lb:{cardinal:a[0]},lg:{cardinal:a[0]},ln:{cardinal:a[1]},lt:{cardinal:a[22]},lv:{cardinal:a[23]},mas:{cardinal:a[0]},mg:{cardinal:a[1]},mgo:{cardinal:a[0]},mk:{cardinal:a[24],ordinal:a[46]},ml:{cardinal:a[0]},mn:{cardinal:a[0]},mo:{cardinal:a[25],ordinal:a[0]},mr:{cardinal:a[2],ordinal:a[47]},mt:{cardinal:a[26]},nah:{cardinal:a[0]},naq:{cardinal:a[19]},nb:{cardinal:a[0]},nd:{cardinal:a[0]},ne:{cardinal:a[0],ordinal:a[48]},nl:{cardinal:a[4]},nn:{cardinal:a[0]},nnh:{cardinal:a[0]},no:{cardinal:a[0]},nr:{cardinal:a[0]},nso:{cardinal:a[1]},ny:{cardinal:a[0]},nyn:{cardinal:a[0]},om:{cardinal:a[0]},or:{cardinal:a[0],ordinal:a[49]},os:{cardinal:a[0]},pa:{cardinal:a[1]},pap:{cardinal:a[0]},pl:{cardinal:a[27]},prg:{cardinal:a[23]},ps:{cardinal:a[0]},pt:{cardinal:a[28]},"pt-PT":{cardinal:a[4]},rm:{cardinal:a[0]},ro:{cardinal:a[25],ordinal:a[0]},rof:{cardinal:a[0]},ru:{cardinal:a[29]},rwk:{cardinal:a[0]},saq:{cardinal:a[0]},sc:{cardinal:a[4],ordinal:a[43]},scn:{cardinal:a[4],ordinal:a[43]},sd:{cardinal:a[0]},sdh:{cardinal:a[0]},se:{cardinal:a[19]},seh:{cardinal:a[0]},sh:{cardinal:a[7]},shi:{cardinal:a[30]},si:{cardinal:a[31]},sk:{cardinal:a[8]},sl:{cardinal:a[32]},sma:{cardinal:a[19]},smi:{cardinal:a[19]},smj:{cardinal:a[19]},smn:{cardinal:a[19]},sms:{cardinal:a[19]},sn:{cardinal:a[0]},so:{cardinal:a[0]},sq:{cardinal:a[0],ordinal:a[50]},sr:{cardinal:a[7]},ss:{cardinal:a[0]},ssy:{cardinal:a[0]},st:{cardinal:a[0]},sv:{cardinal:a[4],ordinal:a[51]},sw:{cardinal:a[4]},syr:{cardinal:a[0]},ta:{cardinal:a[0]},te:{cardinal:a[0]},teo:{cardinal:a[0]},ti:{cardinal:a[1]},tig:{cardinal:a[0]},tk:{cardinal:a[0],ordinal:a[52]},tl:{cardinal:a[13],ordinal:a[0]},tn:{cardinal:a[0]},tr:{cardinal:a[0]},ts:{cardinal:a[0]},tzm:{cardinal:a[33]},ug:{cardinal:a[0]},uk:{cardinal:a[29],ordinal:a[53]},ur:{cardinal:a[4]},uz:{cardinal:a[0]},ve:{cardinal:a[0]},vo:{cardinal:a[0]},vun:{cardinal:a[0]},wa:{cardinal:a[1]},wae:{cardinal:a[0]},xh:{cardinal:a[0]},xog:{cardinal:a[0]},yi:{cardinal:a[4]},zu:{cardinal:a[2]},lo:{ordinal:a[0]},ms:{ordinal:a[0]},vi:{ordinal:a[0]}}},function(A){A.exports=JSON.parse('{"menuMap":{"cs":[{"code":"cs","name":"čeština"}],"da":[{"code":"da","name":"Dansk"}],"gl":[{"code":"gl","name":"galego"}],"sl":[{"code":"sl","name":"slovenščina"}],"fr":[{"code":"fr","name":"Français"}],"hu":[{"code":"hu","name":"magyar"}],"uk":[{"code":"uk","name":"українська"}],"zh-tw":[{"code":"zh-tw","name":"中文(繁體)"}],"pt":[{"code":"pt","name":"Portuguese"}],"pt-br":[{"code":"pt","name":"Português"}],"tr":[{"code":"tr","name":"Türkçe"}],"ga":[{"code":"ga","name":"Gaeilge"}],"th":[{"code":"th","name":"ภาษาไทย"}],"ja":[{"code":"ja","name":"日本語"}],"ja-hira":[{"code":"ja","name":"日本語"}],"nl":[{"code":"nl","name":"Nederlands"}],"gd":[{"code":"gd","name":"Gàidhlig"}],"nb":[{"code":"nb","name":"norsk"}],"de":[{"code":"de","name":"Deutsch"}],"he":[{"code":"he","name":"עברית"}],"sk":[{"code":"sk","name":"slovenčina"}],"zu":[{"code":"zu","name":"isiZulu"}],"ru":[{"code":"ru","name":"русский"}],"pl":[{"code":"pl","name":"polski"}],"am":[{"code":"am","name":"አማርኛ"}],"az":[{"code":"az","name":"Azərbaycan dili"}],"hr":[{"code":"hr","name":"hrvatski"}],"fa":[{"code":"fa","name":"فارسی"}],"mi":[{"code":"mi","name":"Māori"}],"el":[{"code":"el","name":"Ελληνικά"}],"is":[{"code":"is","name":"íslenska"}],"fi":[{"code":"fi","name":"suomi"}],"eu":[{"code":"eu","name":"euskara"}],"ca":[{"code":"ca","name":"català"}],"lv":[{"code":"lv","name":"latviešu"}],"id":[{"code":"id","name":"Indonesia"}],"es":[{"code":"es","name":"español"}],"es-419":[{"code":"es","name":"español"}],"et":[{"code":"et","name":"eesti"}],"cy":[{"code":"cy","name":"Cymraeg"}],"zh-cn":[{"code":"zh-cn","name":"中文(简体)"}],"bg":[{"code":"bg","name":"български"}],"ar":[{"code":"ar","name":"العربية"}],"en":[{"code":"en","name":"English"}],"sr":[{"code":"sr","name":"српски"}],"sv":[{"code":"sv","name":"svenska"}],"ro":[{"code":"ro","name":"Română"}],"lt":[{"code":"lt","name":"lietuvių"}],"ko":[{"code":"ko","name":"한국어"}],"it":[{"code":"it","name":"Italiano"}],"vi":[{"code":"vi","name":"Tiếng Việt"}]},"nameMap":{"albánština":"sq","amharština":"am","angličtina":"en","arabština":"ar","arménština":"hy","ázerbájdžánština":"az","barmština":"my","baskičtina":"eu","běloruština":"be","bulharština":"bg","čeština":"cs","čínština (tradiční)":"zh-tw","čínština (zjednodušená)":"zh-cn","dánština":"da","esperanto":"eo","estonština":"et","finština":"fi","francouzština":"fr","galicijština":"gl","haitská kreolština":"ht","hebrejština":"he","hindština":"hi","holandština":"nl","chorvatština":"hr","indonéština":"id","irština":"ga","islandština":"is","italština":"it","japonština":"ja","kannadština":"kn","katalánština":"ca","korejština":"ko","kurdština":"ku","latina":"la","litevština":"lt","lotyština":"lv","maďarština":"hu","makedonština":"mk","malajálamština":"ml","malajština":"ms","maltština":"mt","maorština":"mi","marátština":"mr","mongolština":"mn","němčina":"de","norština":"nb","perština":"fa","polština":"pl","portugalština":"pt","rumunština":"ro","ruština":"ru","řečtina":"el","skotská gaelština":"gd","slovenština":"sk","slovinština":"sl","srbština":"sr","španělština":"es","švédština":"sv","telužština":"te","thajština":"th","turečtina":"tr","ukrajinština":"uk","uzbečtina":"uz","velština":"cy","vietnamština":"vi","zulu":"zu","albansk":"sq","amharisk":"am","arabisk":"ar","armensk":"hy","aserbajdsjansk":"az","baskisk":"eu","bulgarsk":"bg","burmesisk":"my","dansk":"da","engelsk":"en","estisk":"et","finsk":"fi","fransk":"fr","galicisk":"gl","græsk":"el","haitisk kreolsk":"ht","hebraisk":"he","hindi":"hi","hollandsk":"nl","hviderussisk":"be","indonesisk":"id","irsk":"ga","islandsk":"is","italiensk":"it","japansk":"ja","kannada":"kn","katalansk":"ca","kinesisk (forenklet)":"zh-cn","kinesisk (traditionelt)":"zh-tw","koreansk":"ko","kroatisk":"hr","kurdisk":"ku","latin":"la","lettisk":"lv","litauisk":"lt","makedonsk":"mk","malajisk":"ms","malayalam":"ml","maltesisk":"mt","maori":"mi","marathi":"mr","mongolsk":"mn","norsk":"nb","persisk":"fa","polsk":"pl","portugisisk":"pt","rumænsk":"ro","russisk":"ru","serbisk":"sr","skotsk gælisk":"gd","slovakisk":"sk","slovensk":"sl","spansk":"es","svensk":"sv","telugu":"te","thailandsk":"th","tjekkisk":"cs","tyrkisk":"tr","tysk":"de","ukrainsk":"uk","ungarsk":"hu","usbekisk":"uz","vietnamesisk":"vi","walisisk":"cy","acerbaixano":"az","albanés":"sq","alemán":"de","amárico":"am","árabe":"ar","armenio":"hy","bielorruso":"be","birmano":"my","búlgaro":"bg","canarés":"kn","catalán":"ca","checo":"cs","chinés (simplificado)":"zh-cn","chinés (tradicional)":"zh-tw","coreano":"ko","crioulo haitiano":"ht","croata":"hr","curdo":"ku","dinamarqués":"da","eslovaco":"sk","esloveno":"sl","español":"es","estoniano":"et","éuscaro":"eu","finés":"fi","francés":"fr","gaélico escocés":"gd","galego":"gl","galés":"cy","grego":"el","hebreo":"he","húngaro":"hu","indonesio":"id","inglés":"en","irlandés":"ga","islandés":"is","italiano":"it","latín":"la","letón":"lv","lituano":"lt","macedonio":"mk","malabar":"ml","malaio":"ms","maltés":"mt","maorí":"mi","mongol":"mn","neerlandés":"nl","noruegués":"nb","persa":"fa","polaco":"pl","portugués":"pt","romanés":"ro","ruso":"ru","serbio":"sr","sueco":"sv","tailandés":"th","telugú":"te","turco":"tr","ucraíno":"uk","usbeco":"uz","vietnamita":"vi","xaponés":"ja","zulú":"zu","albanščina":"sq","amharščina":"am","angleščina":"en","arabščina":"ar","armenščina":"hy","azerbajdžanščina":"az","baskovščina":"eu","beloruščina":"be","bolgarščina":"bg","burmanščina":"my","češčina":"cs","danščina":"da","estonščina":"et","finščina":"fi","francoščina":"fr","galicijščina":"gl","grščina":"el","haitijska kreolščina":"ht","hebrejščina":"he","hindijščina":"hi","hrvaščina":"hr","indonezijščina":"id","irščina":"ga","islandščina":"is","italijanščina":"it","japonščina":"ja","kanareščina":"kn","katalonščina":"ca","kitajščina (poenostavljena)":"zh-cn","kitajščina (tradicionalna)":"zh-tw","korejščina":"ko","kurdščina":"ku","latinščina":"la","latvijščina":"lv","litovščina":"lt","madžarščina":"hu","makedonščina":"mk","malajalščina":"ml","malajščina":"ms","malteščina":"mt","maorščina":"mi","maratščina":"mr","mongolščina":"mn","nemščina":"de","nizozemščina":"nl","norveščina":"nb","perzijščina":"fa","poljščina":"pl","portugalščina":"pt","romunščina":"ro","ruščina":"ru","slovaščina":"sk","slovenščina":"sl","srbščina":"sr","škotska gelščina":"gd","španščina":"es","švedščina":"sv","tajščina":"th","teluščina":"te","turščina":"tr","ukrajinščina":"uk","uzbeščina":"uz","valižanščina":"cy","vietnamščina":"vi","zulujščina":"zu","albanais":"sq","allemand":"de","amharique":"am","anglais":"en","arabe":"ar","arménien":"hy","azéri":"az","basque":"eu","biélorusse":"be","birman":"my","bulgare":"bg","catalan":"ca","chinois (simplifié)":"zh-cn","chinois (traditionnel)":"zh-tw","coréen":"ko","créole haïtien":"ht","croate":"hr","danois":"da","espagnol":"es","espéranto":"eo","estonien":"et","finnois":"fi","français":"fr","gaélique (écosse)":"gd","galicien":"gl","gallois":"cy","grec":"el","hébreu":"he","hongrois":"hu","indonésien":"id","irlandais":"ga","islandais":"is","italien":"it","japonais":"ja","kurde":"ku","letton":"lv","lituanien":"lt","macédonien":"mk","malaisien":"ms","maltais":"mt","néerlandais":"nl","norvégien":"nb","ouzbek":"uz","persan":"fa","polonais":"pl","portugais":"pt","roumain":"ro","russe":"ru","serbe":"sr","slovaque":"sk","slovène":"sl","suédois":"sv","tchèque":"cs","thaï":"th","turc":"tr","ukrainien":"uk","vietnamien":"vi","zoulou":"zu","albán":"sq","amhara":"am","angol":"en","arab":"ar","azeri":"az","baszk":"eu","belorusz":"be","bolgár":"bg","burmai":"my","cseh":"cs","dán":"da","eszperantó":"eo","észt":"et","finn":"fi","francia":"fr","galíciai":"gl","görög":"el","haiti kreol":"ht","héber":"he","holland":"nl","horvát":"hr","indonéz":"id","ír":"ga","izlandi":"is","japán":"ja","katalán":"ca","kínai (egyszerűsített)":"zh-cn","kínai (hagyományos)":"zh-tw","koreai":"ko","kurd":"ku","lengyel":"pl","lett":"lv","litván":"lt","macedón":"mk","magyar":"hu","maláj":"ms","malajálam":"ml","máltai":"mt","maráthi":"mr","német":"de","norvég":"nb","olasz":"it","orosz":"ru","örmény":"hy","perzsa":"fa","portugál":"pt","román":"ro","skót-gael":"gd","spanyol":"es","svéd":"sv","szerb":"sr","szlovák":"sk","szlovén":"sl","thai":"th","török":"tr","ukrán":"uk","üzbég":"uz","vietnami":"vi","walesi":"cy","азербайджанська":"az","албанська":"sq","амхарська":"am","англійська":"en","арабська":"ar","баскська":"eu","білоруська":"be","бірманська":"my","болгарська":"bg","в’єтнамська":"vi","валлійська":"cy","вірменська":"hy","гаїтянська креольська":"ht","гінді":"hi","грецька":"el","ґалісійська":"gl","данська":"da","есперанто":"eo","естонська":"et","зулу":"zu","іврит":"he","індонезійська":"id","ірландська":"ga","ісландська":"is","іспанська":"es","італійська":"it","каннада":"kn","каталанська":"ca","китайська (спрощена)":"zh-cn","китайська (традиційна)":"zh-tw","корейська":"ko","курдська":"ku","латинська":"la","латиська":"lv","литовська":"lt","македонська":"mk","малайська":"ms","малаялам":"ml","мальтійська":"mt","маорі":"mi","маратхі":"mr","монгольська":"mn","нідерландська":"nl","німецька":"de","норвезька":"nb","перська":"fa","польська":"pl","португальська":"pt","російська":"ru","румунська":"ro","сербська":"sr","словацька":"sk","словенська":"sl","тайська":"th","телуґу":"te","турецька":"tr","угорська":"hu","узбецька":"uz","українська":"uk","фінська":"fi","французька":"fr","хорватська":"hr","чеська":"cs","шведська":"sv","шотландська (ґельська)":"gd","японська":"ja","土耳其文":"tr","中文(繁體)":"zh-tw","中文(簡體)":"zh-cn","丹麥文":"da","巴斯克文":"eu","日文":"ja","毛利文":"mi","世界語":"eo","加里西亞文":"gl","加泰羅尼亞文":"ca","卡納達文":"kn","白俄羅斯文":"be","立陶宛文":"lt","冰島文":"is","匈牙利文":"hu","印尼文":"id","印度文":"hi","西班牙文":"es","克羅埃西亞文":"hr","希伯來文":"he","希臘文":"el","亞美尼亞文":"hy","亞塞拜然文":"az","拉丁文":"la","拉脫維亞文":"lv","法文":"fr","波斯文":"fa","波蘭文":"pl","芬蘭文":"fi","阿姆哈拉文":"am","阿拉伯文":"ar","阿爾巴尼亞文":"sq","俄文":"ru","保加利亞文":"bg","南非祖魯文":"zu","威爾斯文":"cy","英文":"en","庫德文":"ku","挪威文":"nb","泰文":"th","泰盧固文":"te","海地克里奧文":"ht","烏克蘭文":"uk","烏茲別克文":"uz","馬耳他文":"mt","馬來文":"ms","馬其頓文":"mk","馬拉地文":"mr","馬拉雅拉姆文":"ml","捷克文":"cs","荷蘭文":"nl","斯洛伐克文":"sk","斯洛維尼亞文":"sl","越南文":"vi","塞爾維亞文":"sr","愛沙尼亞文":"et","愛爾蘭文":"ga","瑞典文":"sv","義大利文":"it","葡萄牙文":"pt","蒙古文":"mn","德文":"de","緬甸文":"my","韓文":"ko","羅馬尼亞文":"ro","蘇格蘭的蓋爾文":"gd","अझरबैजानी":"az","अम्हारिक":"am","अरबी":"ar","अर्मेनियन":"hy","अल्बानियन":"sq","आइसलँडिक":"is","आयरिश":"ga","इंग्रजी":"en","इंडोनेशियन":"id","इटालियन":"it","उझ्बेक":"uz","एस्टोनियन":"et","एस्परँटो":"eo","कन्नड":"kn","कुर्दिश (कुर्मांजी)":"ku","कॅटलान":"ca","कोरियन":"ko","क्रोएशियन":"hr","गॅलिशियन":"gl","ग्रीक":"el","चीनी (पारंपारिक)":"zh-tw","चीनी (सरलीकृत)":"zh-cn","जपानी":"ja","जर्मन":"de","झुलु":"zu","झेक":"cs","डच":"nl","डॅनिश":"da","तुर्की":"tr","तेलगू":"te","थाई":"th","नॉर्वेजियन":"nb","पोर्तुगीज":"pt","पोलिश":"pl","फारसी":"fa","फिन्निश":"fi","फ्रेंच":"fr","बल्गेरियन":"bg","बास्क":"eu","बेलारुशियन":"be","मंगोलियन":"mn","मराठी":"mr","मलय":"ms","मल्याळम":"ml","माओरी":"mi","माल्टीज":"mt","मॅसेडोनियन":"mk","म्यानमार (बर्मीज)":"my","युक्रेनियन":"uk","रशियन":"ru","रोमानियन":"ro","लाट्वियन":"lv","लिथुआनियन":"lt","लॅटिन":"la","वेल्श":"cy","व्हिएतनामी":"vi","सर्बियन":"sr","स्कॉट्स गेलिक":"gd","स्पॅनिश":"es","स्लोव्हाक":"sk","स्लोव्हेनियन":"sl","स्वीडिश":"sv","हंगेरियन":"hu","हिन्दी":"hi","हिब्रू":"he","हैतीयन क्रेओल":"ht","albanian":"sq","amharic":"am","arabic":"ar","armenian":"hy","azerbaijani":"az","belarusian":"be","bulgarian":"bg","chinese (simplified)":"zh-cn","chinese (traditional)":"zh-tw","croatian":"hr","czech":"cs","danish":"da","dutch":"nl","english":"en","estonian":"et","finnish":"fi","french":"fr","galician":"gl","german":"de","greek":"el","haitian creole":"ht","hebrew":"he","hungarian":"hu","icelandic":"is","indonesian":"id","irish":"ga","italian":"it","japanese":"ja","korean":"ko","kurdish (kurmanji)":"ku","latvian":"lv","lithuanian":"lt","macedonian":"mk","malay":"ms","maltese":"mt","mongolian":"mn","myanmar (burmese)":"my","norwegian":"nb","persian":"fa","polish":"pl","portuguese":"pt","romanian":"ro","russian":"ru","scots gaelic":"gd","serbian":"sr","slovak":"sk","slovenian":"sl","spanish":"es","swedish":"sv","turkish":"tr","ukrainian":"uk","uzbek":"uz","vietnamese":"vi","welsh":"cy","albanês":"sq","alemão":"de","armênio":"hy","azerbaijano":"az","basco":"eu","bielo-russo":"be","birmanês":"my","canarês":"kn","catalão":"ca","chinês (simplificado)":"zh-cn","chinês (tradicional)":"zh-tw","dinamarquês":"da","espanhol":"es","finlandês":"fi","francês":"fr","gaélico escocês":"gd","galês":"cy","hebraico":"he","holandês":"nl","indonésio":"id","inglês":"en","irlandês":"ga","islandês":"is","japonês":"ja","latim":"la","letão":"lv","macedônio":"mk","malaiala":"ml","maltês":"mt","marata":"mr","norueguês":"nb","polonês":"pl","português":"pt","romeno":"ro","russo":"ru","sérvio":"sr","tailandês":"th","tcheco":"cs","telugo":"te","ucraniano":"uk","uzbeque":"uz","almanca":"de","arapça":"ar","arnavutça":"sq","azerice":"az","baskça":"eu","belarusça":"be","bulgarca":"bg","burmaca":"my","çekçe":"cs","çince (basitleştirilmiş)":"zh-cn","çince (geleneksel)":"zh-tw","danca":"da","endonezya dili":"id","ermenice":"hy","esperantoca":"eo","estonyaca":"et","farsça":"fa","felemenkçe":"nl","fince":"fi","fransızca":"fr","galce":"cy","galiçyaca":"gl","habeşçe":"am","haiti creole dili":"ht","hırvatça":"hr","hintçe":"hi","i̇branice":"he","i̇ngilizce":"en","i̇rlandaca":"ga","i̇spanyolca":"es","i̇sveççe":"sv","i̇talyanca":"it","i̇zlandaca":"is","japonca":"ja","katalanca":"ca","korece":"ko","kuzey i̇skoç dili":"gd","kürtçe":"ku","latince":"la","lehçe":"pl","letonca":"lv","litvanca":"lt","macarca":"hu","makedonca":"mk","malezya dili":"ms","malta dili":"mt","maori dili":"mi","moğolca":"mn","norveççe":"nb","özbekçe":"uz","portekizce":"pt","romence":"ro","rusça":"ru","sırpça":"sr","slovakça":"sk","slovence":"sl","tay dili":"th","telugu dili":"te","türkçe":"tr","ukraynaca":"uk","vietnamca":"vi","yunanca":"el","airméinis":"hy","albáinis":"sq","amárais":"am","araibis":"ar","asarbaiseáinis":"az","bascais":"eu","bealarúisis":"be","béarla":"en","breatnais":"cy","bulgáiris":"bg","cannadais":"kn","catalóinis":"ca","coirdis (curmainsis)":"ku","cóiréis":"ko","criól háítí":"ht","cróitis":"hr","danmhairgis":"da","eabhrais":"he","eastóinis":"et","fionlainnis":"fi","fraincis":"fr","gaeilge":"ga","gaeilge na halban":"gd","gailísis":"gl","gearmáinis":"de","gréigis":"el","hiondúis":"hi","indinéisis":"id","iodáilis":"it","ioruais":"nb","íoslainnis":"is","laidin":"la","laitvis":"lv","liotuáinis":"lt","macadóinis":"mk","maenmar (burmais)":"my","mailéalaimis":"ml","malaeis":"ms","máltais":"mt","maorais":"mi","maraitis":"mr","mongóilis":"mn","ollainnis":"nl","peirsis":"fa","polainnis":"pl","portaingéilis":"pt","rómáinis":"ro","rúisis":"ru","seapáinis":"ja","seicis":"cs","seirbis":"sr","sínis (simplithe)":"zh-cn","sínis (traidisiúnta)":"zh-tw","slóivéinis":"sl","slóvaicis":"sk","spáinnis":"es","sualainnis":"sv","súlúis":"zu","téalainnis":"th","teileagúis":"te","tuircis":"tr","úcráinis":"uk","úisbéiceastáinis":"uz","ungáiris":"hu","vítneaimis":"vi","ภาษากรีก":"el","ภาษากันนาดา":"kn","ภาษากาลิเชียน":"gl","ภาษาเกลิกในสก็อต":"gd","ภาษาเกาหลี":"ko","ภาษาคาตาลัน":"ca","ภาษาเคิร์ด":"ku","ภาษาโครเอเชีย":"hr","ภาษาจีน (ดั้งเดิม)":"zh-tw","ภาษาจีน (แบบย่อ)":"zh-cn","ภาษาเช็ก":"cs","ภาษาซูลู":"zu","ภาษาเซอร์เบียน":"sr","ภาษาญี่ปุ่น":"ja","ภาษาดัตช์":"nl","ภาษาเดนมาร์ก":"da","ภาษาตุรกี":"tr","ภาษาเตลูกู":"te","ภาษาไทย":"th","ภาษานอร์เวย์":"nb","ภาษาบัลกาเรีย":"bg","ภาษาบาสก์":"eu","ภาษาเบลารูเชียน":"be","ภาษาเปอร์เซีย":"fa","ภาษาโปรตุเกส":"pt","ภาษาโปแลนด์":"pl","ภาษาฝรั่งเศส":"fr","ภาษาฟินแลนด์":"fi","ภาษามองโกเลีย":"mn","ภาษามัลทีส":"mt","ภาษามาซีโดเนีย":"mk","ภาษามาราฐี":"mr","ภาษามาลายาลัม":"ml","ภาษามาเลย์":"ms","ภาษาเมารี":"mi","ภาษาเมียนมา (พม่า)":"my","ภาษายูเครน":"uk","ภาษาเยอรมัน":"de","ภาษารัสเซีย":"ru","ภาษาโรมาเนีย":"ro","ภาษาละติน":"la","ภาษาลัทเวีย":"lv","ภาษาลิทัวเนีย":"lt","ภาษาเวลส์":"cy","ภาษาเวียดนาม":"vi","ภาษาสเปน":"es","ภาษาสโลวัก":"sk","ภาษาสโลเวเนีย":"sl","ภาษาสวีเดน":"sv","ภาษาอังกฤษ":"en","ภาษาอัมฮาริก":"am","ภาษาอัลบาเนีย":"sq","ภาษาอาร์เซอร์ไบจัน":"az","ภาษาอาร์เมเนีย":"hy","ภาษาอาหรับ":"ar","ภาษาอิตาลี":"it","ภาษาอินโดนีเซีย":"id","ภาษาอุสเบกิสถาน":"uz","ภาษาเอสโทเนีย":"et","ภาษาเอสเปอแรนโต":"eo","ภาษาไอซ์แลนดิก":"is","ภาษาไอริช":"ga","ภาษาฮังการี":"hu","ภาษาฮินดี":"hi","ภาษาฮิบรู":"he","ภาษาเฮติครีโอล":"ht","アイスランド語":"is","アイルランド語":"ga","アゼルバイジャン語":"az","アムハラ語":"am","アラビア語":"ar","アルバニア語":"sq","アルメニア語":"hy","イタリア語":"it","インドネシア語":"id","ウェールズ語":"cy","ウクライナ語":"uk","ウズベク語":"uz","エストニア語":"et","エスペラント語":"eo","オランダ語":"nl","カタルーニャ語":"ca","ガリシア語":"gl","カンナダ語":"kn","ギリシャ語":"el","クルド語":"ku","クロアチア語":"hr","スウェーデン語":"sv","ズールー語":"zu","スコットランド ゲール語":"gd","スペイン語":"es","スロバキア語":"sk","スロベニア語":"sl","セルビア語":"sr","タイ語":"th","チェコ語":"cs","テルグ語":"te","デンマーク語":"da","ドイツ語":"de","トルコ語":"tr","ノルウェー語":"nb","ハイチ語":"ht","バスク語":"eu","ハンガリー語":"hu","ヒンディー語":"hi","フィンランド語":"fi","フランス語":"fr","ブルガリア語":"bg","ベトナム語":"vi","ヘブライ語":"he","ベラルーシ語":"be","ペルシャ語":"fa","ポーランド語":"pl","ポルトガル語":"pt","マオリ語":"mi","マケドニア語":"mk","マラーティー語":"mr","マラヤーラム語":"ml","マルタ語":"mt","マレー語":"ms","ミャンマー語":"my","モンゴル語":"mn","ラテン語":"la","ラトビア語":"lv","リトアニア語":"lt","ルーマニア語":"ro","ロシア語":"ru","英語":"en","韓国語":"ko","中国語(簡体)":"zh-cn","中国語(繁体)":"zh-tw","日本語":"ja","albanees":"sq","amharisch":"am","arabisch":"ar","armeens":"hy","azerbeidzjaans":"az","baskisch":"eu","birmaans":"my","bulgaars":"bg","catalaans":"ca","chinees (traditioneel)":"zh-tw","chinees (vereenvoudigd)":"zh-cn","deens":"da","duits":"de","engels":"en","ests":"et","fins":"fi","frans":"fr","galicisch":"gl","grieks":"el","haïtiaans creools":"ht","hebreeuws":"he","hongaars":"hu","iers":"ga","ijslands":"is","indonesisch":"id","italiaans":"it","japans":"ja","koerdisch":"ku","koreaans":"ko","kroatisch":"hr","latijn":"la","lets":"lv","litouws":"lt","macedonisch":"mk","maleis":"ms","maltees":"mt","mongools":"mn","nederlands":"nl","noors":"nb","oekraïens":"uk","oezbeeks":"uz","perzisch":"fa","pools":"pl","portugees":"pt","roemeens":"ro","russisch":"ru","schots keltisch":"gd","servisch":"sr","slovaaks":"sk","sloveens":"sl","spaans":"es","tsjechisch":"cs","turks":"tr","vietnamees":"vi","wels":"cy","wit-russisch":"be","zoeloe":"zu","zweeds":"sv","airmeinis":"hy","albàinis":"sq","amtharais":"am","arabais":"ar","asarbaideànais":"az","basgais":"eu","bealaruisis":"be","beurla":"en","bhiet-namais":"vi","bulgarais":"bg","cànan nan tàidh":"th","catalanais":"ca","coirèanais":"ko","crìtheol haidhti":"ht","cròthaisis":"hr","cuimris":"cy","cùrdais (kurmanji)":"ku","duitsis":"nl","eabhra":"he","eadailtis":"it","eastoinis":"et","fionnlannais":"fi","fraingis":"fr","gàidhlig":"gd","gailìsis":"gl","gearmailtis":"de","grèigis":"el","hindis":"hi","innd-innsis":"id","innis-tìlis":"is","laideann":"la","laitbheis":"lv","liotuainis":"lt","malaidhis":"ms","māori":"mi","masadonais":"mk","miànmar (burmais)":"my","mongolais":"mn","nirribhis":"nb","pòlainnis":"pl","portagailis":"pt","romàinis":"ro","ruisis":"ru","seacais":"cs","seapanais":"ja","sèirbis":"sr","sìonais (seann-nòsach)":"zh-tw","sìonais (sìmplichte)":"zh-cn","slòbhacais":"sk","slòbhainis":"sl","spàinntis":"es","suainis":"sv","turcais":"tr","ucràinis":"uk","ungairis":"hu","usbagais":"uz","farsi":"fa","galisisk":"gl","gresk":"el","hviterussisk":"be","kinesisk (tradisjonell)":"zh-tw","kreol (haiti)":"ht","latvisk":"lv","malayisk":"ms","nederlandsk":"nl","rumensk":"ro","tsjekkisk":"cs","albanisch":"sq","armenisch":"hy","aserbaidschanisch":"az","birmanisch":"my","bulgarisch":"bg","chinesisch (traditionell)":"zh-tw","chinesisch (vereinfacht)":"zh-cn","dänisch":"da","deutsch":"de","englisch":"en","estnisch":"et","finnisch":"fi","französisch":"fr","galizisch":"gl","griechisch":"el","haitianisch":"ht","hebräisch":"he","irisch":"ga","isländisch":"is","italienisch":"it","japanisch":"ja","katalanisch":"ca","koreanisch":"ko","kurdisch (kurmandschi)":"ku","lateinisch":"la","lettisch":"lv","litauisch":"lt","malaysisch":"ms","maltesisch":"mt","mazedonisch":"mk","mongolisch":"mn","niederländisch":"nl","norwegisch":"nb","persisch":"fa","polnisch":"pl","portugiesisch":"pt","rumänisch":"ro","schottisch-gälisch":"gd","schwedisch":"sv","serbisch":"sr","slowakisch":"sk","slowenisch":"sl","spanisch":"es","thailändisch":"th","tschechisch":"cs","türkisch":"tr","ukrainisch":"uk","ungarisch":"hu","usbekisch":"uz","vietnamesisch":"vi","walisisch":"cy","weißrussisch":"be","ကနာဒါ":"kn","ကာ့ဒ် (ကာမန်ဂျီ)":"ku","ကိုရီးယား":"ko","ကက်တလန်":"ca","ခရိုအေးရှား":"hr","ချက်":"cs","ဂရိ":"el","ဂယ်လိရှ":"gl","ဂျပန်":"ja","ဂျာမန်":"de","စကော့ ဂေးလစ်":"gd","စပိန်":"es","ဆလိုဗေးနီးယား":"sl","ဆလိုဗက်":"sk","ဆားဘီးယား":"sr","ဆွီဒင်":"sv","ဇူးလူး":"zu","တရုတ် (ရိုးရာ)":"zh-tw","တရုတ် (အလွယ်)":"zh-cn","တူ​ရ​ကီ":"tr","တယ်လူဂူ":"te","ထိုင်း":"th","ဒတ်ချ်":"nl","ဒိန်းမတ်":"da","နော်ဝေ":"nb","ပါရှန်":"fa","ပေါ်တူဂီ":"pt","ပိုလန်":"pl","ပြင်သစ်":"fr","ဖင်လန်":"fi","ဗီယက်နမ်":"vi","ဘာ့စ်":"eu","ဘူဂေးရီးယား":"bg","ဘယ်လာရုစ်":"be","မလေယာလမ်":"ml","မလေး":"ms","မာရာသီ":"mr","မော်ရီ":"mi","မော်လတာ":"mt","မက်ဆီဒိုးနီးယား":"mk","မြန်မာ (မြန်မာ)":"my","မွန်ဂိုလီးယား":"mn","ယူ​က​ရိန်း​":"uk","ရုရှား":"ru","ရိုမေးနီးယား":"ro","လက်တင်":"la","လစ်သူယေးနီးယား":"lt","လတ်ဗီယာ":"lv","ဝေလ":"cy","ဟီဘရူး":"he","ဟေတီ ခရီအိုး":"ht","ဟင်ဒီ":"hi","ဟန်ဂေရီ":"hu","အဇာဘိုင်ဂျန်":"az","အာမေးနီးယား":"hy","အာရေဗျ":"ar","အီတလီ":"it","ဥဇဘက်":"uz","အက်စတိုးနီးယား":"et","အက်စ်ပဲရန်တို":"eo","အိုက်စလန်":"is","အင်္ဂလိပ်":"en","အင်ဒိုနီးရှား":"id","အိုင်းရစ်ရှ်":"ga","အမ်ဟဲရစ်ခ်":"am","အယ်လ်ဘေးနီးယား":"sq","אוזבקית":"uz","אוקראינית":"uk","אזרית":"az","איטלקית":"it","אינדונזית":"id","איסלנדית":"is","אירית":"ga","אלבנית":"sq","אמהרית":"am","אנגלית":"en","אסטונית":"et","אספרנטו":"eo","ארמנית":"hy","באסקית":"eu","בולגרית":"bg","בורמזית":"my","בלארוסית":"be","גליציאנית":"gl","גרמנית":"de","דנית":"da","הולנדית":"nl","הונגרית":"hu","הינדי":"hi","וולשית":"cy","וייטנאמית":"vi","זולו":"zu","טורקית":"tr","טלוגו":"te","יוונית":"el","יפנית":"ja","כורדית":"ku","לטווית":"lv","לטינית":"la","ליטאית":"lt","מאורית":"mi","מאלאיאלם":"ml","מאלזית":"ms","מאראתי":"mr","מונגולית":"mn","מלטית":"mt","מקדונית":"mk","נורווגית":"nb","סינית (מסורתית)":"zh-tw","סינית (פשוטה)":"zh-cn","סלובנית":"sl","סלובקית":"sk","ספרדית":"es","סקוטית גאלית":"gd","סרבית":"sr","עברית":"he","ערבית":"ar","פולנית":"pl","פורטוגזית":"pt","פינית":"fi","פרסית":"fa","צ\'כית":"cs","צרפתית":"fr","קאנאדה":"kn","קוריאנית":"ko","קטלאנית":"ca","קרואטית":"hr","קריאולית האיטית":"ht","רומנית":"ro","רוסית":"ru","שוודית":"sv","תאילנדית":"th","азербејџански":"az","албански":"sq","амхарски":"am","англиски":"en","арапски":"ar","баскиски":"eu","белоруски":"be","бугарски":"bg","бурмански":"my","велшки":"cy","виетнамски":"vi","галициски":"gl","германски":"de","грчки":"el","дански":"da","ерменски":"hy","естонски":"et","индонезиски":"id","ирски":"ga","исландски":"is","италијански":"it","јапонски":"ja","канада":"kn","каталонски":"ca","кинески (поедноставен)":"zh-cn","кинески (традиционален)":"zh-tw","корејски":"ko","курдски":"ku","латвиски":"lv","латински":"la","литвански":"lt","македонски":"mk","малајалам":"ml","малајски":"ms","малтешки":"mt","маорски":"mi","маратхи":"mr","монголски":"mn","норвешки":"nb","персиски":"fa","полски":"pl","португалски":"pt","романски":"ro","руски":"ru","словачки":"sk","словенечки":"sl","српски":"sr","тајландски":"th","телугу":"te","турски":"tr","узбечки":"uz","украински":"uk","унгарски":"hu","фински":"fi","француски":"fr","хаитски креолски":"ht","хебрејски":"he","хиндиски":"hi","холандски":"nl","хрватски":"hr","чешки":"cs","шведски":"sv","шкотски галски":"gd","шпански":"es","ಅಜರ್ಬೈಜಾನಿ":"az","ಅಮಹಾರಿಕ್":"am","ಅರಬ್ಬಿ":"ar","ಆರ್ಮೇನಿಯನ್":"hy","ಆಲ್ಬೇನಿಯನ್":"sq","ಇಂಗ್ಲಿಷ್‌‌":"en","ಇಂಡೋನೇಷಿಯನ್":"id","ಇಟಾಲಿಯನ್":"it","ಉಜ್ಬೆಕ್":"uz","ಎಸ್ಟೋನಿಯನ್":"et","ಎಸ್ಪೆರಾಂಟೋ":"eo","ಐರಿಷ್":"ga","ಐಸ್‌ಲ್ಯಾಂಡಿಕ್‌":"is","ಕನ್ನಡ":"kn","ಕುರ್ದಿಶ್":"ku","ಕೊರಿಯನ್":"ko","ಕ್ಯಾಟಲನ್":"ca","ಕ್ರೊಯೇಷಿಯನ್":"hr","ಗ್ಯಾಲೀಷಿಯನ್":"gl","ಗ್ರೀಕ್":"el","ಚೀನಿ (ಸರಳೀಕೃತ)":"zh-cn","ಚೀನಿ (ಸಾಂಪ್ರದಾಯಿಕ)":"zh-tw","ಜಪಾನಿ":"ja","ಜರ್ಮನ್":"de","ಜುಲು":"zu","ಝೆಕ್‌":"cs","ಟರ್ಕಿಷ್":"tr","ಡಚ್":"nl","ಡ್ಯಾನಿಷ್":"da","ತೆಲುಗು":"te","ಥಾಯ್":"th","ನಾರ್ವೇಜಿಯನ್‌":"nb","ಪೋರ್ಚುಗೀಸ್":"pt","ಪೋಲಿಷ್":"pl","ಫಾರ್ಸಿ":"fa","ಫಿನ್ನಿಷ್":"fi","ಫ್ರೆಂಚ್":"fr","ಬರ್ಮೀಸ್":"my","ಬಲ್ಗೇರಿಯನ್":"bg","ಬಾಸ್ಕ್":"eu","ಬೆಲರೂಸಿಯನ್":"be","ಮಂಗೋಲಿಯನ್":"mn","ಮರಾಠಿ":"mr","ಮಲಯ":"ms","ಮಲಯಾಳಂ":"ml","ಮಾಲ್ಟೀಸ್":"mt","ಮಾವೋರಿ":"mi","ಮ್ಯಾಸೆಡೋನಿಯನ್":"mk","ಯುಕ್ರೇನಿಯನ್":"uk","ರಷಿಯನ್":"ru","ರೊಮೇನಿಯನ್":"ro","ಲಿಥುವೇನಿಯನ್":"lt","ಲ್ಯಾಟಿನ್":"la","ಲ್ಯಾಟ್ವಿಯನ್‌":"lv","ವಿಯೆಟ್ನಾಮಿ":"vi","ವೆಲ್ಶ್":"cy","ಸರ್ಬಿಯನ್":"sr","ಸ್ಕಾಟ್ಸ್ ಗ್ಯಾಲಿಕ್":"gd","ಸ್ಪ್ಯಾನಿಷ್":"es","ಸ್ಲೊವಾಕ್":"sk","ಸ್ಲೊವೆನಿಯನ್":"sl","ಸ್ವೀಡಿಷ್":"sv","ಹಂಗೇರಿಯನ್":"hu","ಹಯಥಿಯನ್‌ ಕ್ರಿಯೋಲ್‌":"ht","ಹಿಂದಿ":"hi","ಹೀಬ್ರೂ":"he","അമാറിക്":"am","അർമേനിയൻ":"hy","അൽബേനിയൻ":"sq","അസർബൈജാനി":"az","അറബിക്":"ar","ഇന്തോനേഷ്യൻ":"id","ഇംഗ്ലീഷ്":"en","ഇറ്റാലിയൻ":"it","ഉക്രേനിയൻ":"uk","ഉസ്ബെക്ക്":"uz","എസ്‌പെരന്തോ":"eo","എസ്റ്റോണിയൻ":"et","ഐസ്‌ലാൻഡിക്":"is","ഐറിഷ്":"ga","കന്നട":"kn","കാറ്റലൻ":"ca","കുർദ്ദിഷ്":"ku","കൊറിയൻ":"ko","ക്രൊയേഷ്യൻ":"hr","ഗലീഷ്യൻ":"gl","ഗ്രീക്ക്":"el","ചെക്ക്":"cs","ചൈനീസ് (പരമ്പരാഗതം)":"zh-tw","ചൈനീസ് (ലഘൂകരിച്ചത്)":"zh-cn","ജർമ്മൻ":"de","ജാപ്പനീസ്‌":"ja","ടർക്കിഷ്":"tr","ഡച്ച്":"nl","ഡാനിഷ്":"da","തായ്":"th","തെലുങ്ക്":"te","നോർവീജിയൻ":"nb","പേർഷ്യൻ":"fa","പോർച്ചുഗീസ്":"pt","പോളിഷ്":"pl","ഫിന്നിഷ്":"fi","ഫ്രെഞ്ച്":"fr","ബർമീസ്":"my","ബൾഗേറിയൻ":"bg","ബാസ്ക്":"eu","ബെലാറുഷ്യൻ":"be","മംഗോളിയൻ":"mn","മലയാളം":"ml","മലയ്":"ms","മറാഠി":"mr","മാസഡോണിയൻ":"mk","മാൾട്ടീസ്":"mt","മൗറി":"mi","ലാറ്റിൻ":"la","ലാറ്റ്‌വിയൻ":"lv","ലിത്വേനിയൻ":"lt","വിയറ്റ്നാമീസ്":"vi","വെൽഷ്":"cy","സുളു":"zu","സെർബിയൻ":"sr","സ്കോട്ട്സ് ഗ്യാലിക്":"gd","സ്പാനിഷ്":"es","സ്ലോവാക്":"sk","സ്ലോവേനിയൻ":"sl","സ്വീഡിഷ്":"sv","ഹംഗേറിയൻ":"hu","ഹിന്ദി":"hi","ഹീബ്രു":"he","ഹെയ്തിയൻ ക്രയോൾ":"ht","റഷ്യൻ":"ru","റൊമേനിയൻ":"ro","albánčina":"sq","amharčina":"am","arabčina":"ar","arménčina":"hy","azerbajdžančina":"az","barmčina":"my","bieloruština":"be","bulharčina":"bg","čínština (tradičná)":"zh-tw","dánčina":"da","estónčina":"et","fínčina":"fi","francúzština":"fr","galícijčina":"gl","gréčtina":"el","haitská kreolčina":"ht","hebrejčina":"he","hindčina":"hi","holandčina":"nl","chorvátčina":"hr","indonézština":"id","írčina":"ga","islandčina":"is","japončina":"ja","kannadčina":"kn","katalánčina":"ca","kórejčina":"ko","kurdčina":"ku","latinčina":"la","litovčina":"lt","macedónčina":"mk","maďarčina":"hu","malajámčina":"ml","malajčina":"ms","maltčina":"mt","maorijčina":"mi","maratčina":"mr","mongolčina":"mn","nemčina":"de","nórčina":"nb","perzština":"fa","poľština":"pl","portugalčina":"pt","rumunčina":"ro","slovenčina":"sk","slovinčina":"sl","srbčina":"sr","škótska gaelčina":"gd","španielčina":"es","švédčina":"sv","taliančina":"it","telugčina":"te","thajčina":"th","ukrajinčina":"uk","vietnamčina":"vi","waleština":"cy","zuluština":"zu","isi-albania":"sq","isi-amharic":"am","isi-arabic":"ar","isi-armenian":"hy","isi-azerbaijani":"az","isi-basque":"eu","isi-belarusian":"be","isi-bulgarian":"bg","isi-burmese":"my","isi-catalan":"ca","isi-chinese (simplified)":"zh-cn","isi-chinese (traditional)":"zh-tw","isi-croatian":"hr","isi-czech":"cs","isi-danish":"da","isi-dutch":"nl","isi-english":"en","isi-esperanto":"eo","isi-estonian":"et","isi-finnish":"fi","isi-french":"fr","isi-galician":"gl","isi-german":"de","isi-greek":"el","isi-haitian creole":"ht","isi-hangarian":"hu","isi-hebrew":"he","isi-hindi":"hi","isi-icelandic":"is","isi-indonesian":"id","isi-irish":"ga","isi-italian":"it","isi-japanese":"ja","isi-kannada":"kn","isi-korean":"ko","isi-kurdish":"ku","isi-latin":"la","isi-latvian":"lv","isi-lithuanian":"lt","isi-macedonian":"mk","isi-malay":"ms","isi-malayalam":"ml","isi-maltese":"mt","isi-maori":"mi","isi-marathi":"mr","isi-mongolian":"mn","isi-norwegian":"nb","isi-persian":"fa","isi-polish":"pl","isi-portuguese":"pt","isi-romanian":"ro","isi-russian":"ru","isi-scots gaelic":"gd","isi-serbian":"sr","isi-slovak":"sk","isi-slovenian":"sl","isi-spanish":"es","isi-swedish":"sv","isi-telugu":"te","isi-thai":"th","isi-turkish":"tr","isi-ukrainian":"uk","isi-uzbek":"uz","isi-vietnamese":"vi","isi-welsh":"cy","isizulu":"zu","albania":"sq","armenia":"hy","azerbaijan":"az","belanda":"nl","belarus":"be","bulgaria":"bg","cina (mudah)":"zh-cn","cina (tradisional)":"zh-tw","croatia":"hr","denmark":"da","estonia":"et","finland":"fi","gaelic scotland":"gd","galicia":"gl","hungary":"hu","ibrani":"he","iceland":"is","indonesia":"id","inggeris":"en","ireland":"ga","itali":"it","jepun":"ja","jerman":"de","korea":"ko","kreol haiti":"ht","kurdistan":"ku","latvia":"lv","lithuania":"lt","macedonia":"mk","malta":"mt","melayu":"ms","mongolia":"mn","myanmar":"my","norway":"nb","parsi":"fa","perancis":"fr","poland":"pl","portugis":"pt","romania":"ro","rusia":"ru","sepanyol":"es","serbia":"sr","slovenia":"sl","sweden":"sv","turki":"tr","ukraine":"uk","vietnam":"vi","wales":"cy","азербайджанский":"az","албанский":"sq","амхарский":"am","английский":"en","арабский":"ar","армянский":"hy","баскский":"eu","белорусский":"be","бирманский":"my","болгарский":"bg","валлийский":"cy","венгерский":"hu","вьетнамский":"vi","галисийский":"gl","греческий":"el","датский":"da","иврит":"he","индонезийский":"id","ирландский":"ga","исландский":"is","испанский":"es","итальянский":"it","каталанский":"ca","китайский (традиционный)":"zh-tw","китайский (упрощенный)":"zh-cn","корейский":"ko","креольский (гаити)":"ht","курманджи":"ku","латинский":"la","латышский":"lv","литовский":"lt","македонский":"mk","малайский":"ms","мальтийский":"mt","маори":"mi","монгольский":"mn","немецкий":"de","нидерландский":"nl","норвежский":"nb","персидский":"fa","польский":"pl","португальский":"pt","румынский":"ro","русский":"ru","сербский":"sr","словацкий":"sk","словенский":"sl","тайский":"th","турецкий":"tr","узбекский":"uz","украинский":"uk","финский":"fi","французский":"fr","хинди":"hi","хорватский":"hr","чешский":"cs","шведский":"sv","шотландский (гэльский)":"gd","эсперанто":"eo","эстонский":"et","японский":"ja","albański":"sq","amharski":"am","angielski":"en","arabski":"ar","azerski":"az","baskijski":"eu","białoruski":"be","birmański":"my","bułgarski":"bg","chiński (tradycyjny)":"zh-tw","chiński (uproszczony)":"zh-cn","chorwacki":"hr","czeski":"cs","duński":"da","estoński":"et","fiński":"fi","francuski":"fr","galicyjski":"gl","grecki":"el","hebrajski":"he","hiszpański":"es","indonezyjski":"id","irlandzki":"ga","islandzki":"is","japoński":"ja","kataloński":"ca","koreański":"ko","kreolski (haiti)":"ht","kurdyjski":"ku","litewski":"lt","łaciński":"la","łotewski":"lv","macedoński":"mk","malajalam":"ml","malajski":"ms","maltański":"mt","mongolski":"mn","niderlandzki":"nl","niemiecki":"de","norweski":"nb","ormiański":"hy","perski":"fa","polski":"pl","portugalski":"pt","rosyjski":"ru","rumuński":"ro","serbski":"sr","słowacki":"sk","słoweński":"sl","szkocki gaelicki":"gd","szwedzki":"sv","tajski":"th","turecki":"tr","ukraiński":"uk","uzbecki":"uz","walijski":"cy","węgierski":"hu","wietnamski":"vi","włoski":"it","азербайджанская":"az","албанская":"sq","амхарская":"am","англійская":"en","арабская":"ar","армянская":"hy","балгарская":"bg","баскская":"eu","беларуская":"be","в\'етнамская":"vi","валійская":"cy","венгерская":"hu","гаіцянская крэольская":"ht","галандская":"nl","галісійская":"gl","грэчаская":"el","дацкая":"da","інданезійская":"id","ірландская":"ga","ісландская":"is","іспанская":"es","італьянская":"it","іўрыт":"he","карэйская":"ko","каталонская":"ca","кітайская (спрошчаная)":"zh-cn","кітайская (традыцыйная)":"zh-tw","курдская (курманджы)":"ku","латышская":"lv","лацінская":"la","літоўская":"lt","м\'янманская (бірманская)":"my","маары":"mi","македонская":"mk","малайская":"ms","мальтыйская":"mt","мангольская":"mn","нарвежская":"nb","нямецкая":"de","партугальская":"pt","персідская":"fa","польская":"pl","румынская":"ro","руская":"ru","сербская":"sr","славацкая":"sk","славенская":"sl","тайская":"th","турэцкая":"tr","тэлугу":"te","узбекская":"uz","украінская":"uk","фінская":"fi","французская":"fr","харвацкая":"hr","хіндзі":"hi","чэшская":"cs","шатландская гэльская":"gd","шведская":"sv","эсперанта":"eo","эстонская":"et","японская":"ja","amarikisht":"am","anglisht":"en","arabisht":"ar","armenisht":"hy","azerisht":"az","baskisht":"eu","birmanisht":"my","bjellorusisht":"be","bullgarisht":"bg","çekisht":"cs","danisht":"da","estonisht":"et","finlandisht":"fi","frëngjisht":"fr","galicianisht":"gl","galishte skoceze":"gd","greqisht":"el","gjermanisht":"de","hebraisht":"he","hindisht":"hi","holandisht":"nl","hungarisht":"hu","indonezisht":"id","irlandisht":"ga","islandisht":"is","italisht":"it","japonisht":"ja","kanada":"kn","katalonisht":"ca","kinezisht (e thjeshtuar)":"zh-cn","kinezisht (tradicionale)":"zh-tw","koreanisht":"ko","kreolishte haitiane":"ht","kroatisht":"hr","latinisht":"la","letonisht":"lv","lituanisht":"lt","malajalamisht":"ml","malajzisht":"ms","malteze":"mt","maorisht":"mi","maqedonisht":"mk","maratisht":"mr","mongolisht":"mn","norvegjisht":"nb","persisht":"fa","polonisht":"pl","portugalisht":"pt","rumanisht":"ro","rusisht":"ru","serbisht":"sr","sllovakisht":"sk","sllovenisht":"sl","spanjisht":"es","suedisht":"sv","shqip":"sq","tajlandisht":"th","telugisht":"te","turqisht":"tr","uellsisht":"cy","ukrainisht":"uk","uzbekisht":"uz","vietnamisht":"vi","ሀንጋሪኛ":"hu","ህንድኛ":"hi","ሊትዌንኛ":"lt","ላቲንኛ":"la","ላትቪያኛ":"lv","ማላያላምኛ":"ml","ማላይኛ":"ms","ማልቲስኛ":"mt","ማራቲኛ":"mr","ማዮሪኛ":"mi","ሜቄዶኒያኛ":"mk","ሞንጎሊያኛ":"mn","ራሽያኛ":"ru","ሮማኒያንኛ":"ro","ሰርቢያኛ":"sr","ስሎቫክኛ":"sk","ስሎቬንያኛ":"sl","ስዊድንኛ":"sv","ስፓኒሽኛ":"es","በርማኛ":"my","ቡልጋሪያኛ":"bg","ባስክኛ":"eu","ቤላሩስኛ":"be","ቪትናምኛ":"vi","ቱርክኛ":"tr","ታይኛ":"th","ቴሉጉኛ":"te","ቻይንኛ (ቀላሉ)":"zh-cn","ቻይንኛ (ባሕላዊው)":"zh-tw","ቼክኛ":"cs","ኖርዌጅያንኛ":"nb","አልባንያኛ":"sq","አማርኛ":"am","አርመኒያኛ":"hy","አዜርባይጃንኛ":"az","አይሪሽ":"ga","አይስላንድኛ":"is","ኡዝቤክኛ":"uz","ኤስቶኒያኛ":"et","ኤስፐራንቶ":"eo","እንዶኔዢያኛ":"id","እንግሊዝኛ":"en","ኩርድሽኛ":"ku","ካታላንኛ":"ca","ካናዳኛ":"kn","ክሮኤሽያኛ":"hr","ኮሪያኛ":"ko","ዌልሽ":"cy","ዐረብኛ":"ar","ዕብራይስጥ":"he","ዙሉኛ":"zu","የሃይቲ ክረኦሌኛ":"ht","የስኮት ጌልክኛ":"gd","ዩክሬንኛ":"uk","ደችኛ":"nl","ዴንሽኛ":"da","ጀርመንኛ":"de","ጃፓንኛ":"ja","ጋሊሺያኛ":"gl","ግሪክኛ":"el","ጣሊያንኛ":"it","ፈረንሳይኛ":"fr","ፊኒሽኛ":"fi","ፐርሺያኛ":"fa","ፖሊሽኛ":"pl","ፖርቱጋሊኛ":"pt","alban":"sq","alman":"de","amarikcə":"am","azərbaycan dili":"az","bask":"eu","belarusca":"be","bolqar":"bg","çex":"cs","çin (ən\'ənəvi)":"zh-tw","çin (sadələşdirilmiş)":"zh-cn","danimarka":"da","erməni":"hy","eston":"et","ərəb":"ar","fars dili":"fa","fin":"fi","fransız":"fr","haiti kreol dili":"ht","hind":"hi","xorvat":"hr","ispan":"es","i̇ndoneziya":"id","i̇ngilis":"en","i̇rland":"ga","i̇sland":"is","i̇sveç":"sv","i̇talyan":"it","i̇vrit":"he","katalan":"ca","koreya":"ko","kürd dili (kurmanci)":"ku","qalisian":"gl","latın":"la","latış":"lv","litva":"lt","macar":"hu","makedoniya":"mk","maoricə":"mi","monqolca":"mn","myanma (birma) dili":"my","norveç":"nb","özbək":"uz","polyak":"pl","portuqal":"pt","rumın":"ro","rus":"ru","serb":"sr","sloven":"sl","şotland (kelt)":"gd","tayca":"th","teluqu":"te","türk":"tr","uels":"cy","ukrayna":"uk","vyetnam":"vi","yapon":"ja","yunan":"el","zulu dili":"zu","albaniż":"sq","amħari":"am","armen":"hy","ażerbajġani":"az","belarussu":"be","bulgaru":"bg","ċek":"cs","ċiniż (semplifikat)":"zh-cn","ċiniż (tradizzjonali)":"zh-tw","creole haiti":"ht","daniż":"da","ebrajk":"he","estonjan":"et","finlandiż":"fi","franċiż":"fr","ġappuniż":"ja","ġermaniż":"de","gaelic tal-iskoċċiżi":"gd","galizjan":"gl","grieg":"el","għarbi":"ar","ħindi":"hi","indoneżjan":"id","ingliż":"en","irlandiż":"ga","islandiż":"is","kroat":"hr","kurd (kurmanji)":"ku","latvjan":"lv","litwen":"lt","maċedonjan":"mk","malasjan":"ms","malti":"mt","marati":"mr","mjanmar (burma)":"my","mongoljan":"mn","norveġiż":"nb","olandiż":"nl","persjan":"fa","pollakk":"pl","portugiż":"pt","rumen":"ro","russu":"ru","slovakk":"sk","spanjol":"es","svediż":"sv","tajlandiż":"th","taljan":"it","tork":"tr","ukren":"uk","ungeriż":"hu","użbek":"uz","vjetnamiż":"vi","żulu":"zu","albanski":"sq","amharik":"am","arapski":"ar","armenijski":"hy","azerbajdžanski":"az","bjeloruski":"be","bugarski":"bg","burmanski":"my","češki":"cs","danski":"da","engleski":"en","estonski":"et","finski":"fi","galski":"gl","grčki":"el","haićansko-kreolski":"ht","hebrejski":"he","hindu":"hi","hrvatski":"hr","indonezijski":"id","irski":"ga","islandski":"is","japanski":"ja","katalonski":"ca","kineski (pojednost.)":"zh-cn","kineski (tradicionalni)":"zh-tw","korejski":"ko","kurdski":"ku","latinski":"la","latvijski/letonski":"lv","litvanski":"lt","mađarski":"hu","makedonski":"mk","malezijski":"ms","malteški":"mt","nizozemski":"nl","norveški":"nb","njemački":"de","perzijski":"fa","poljski":"pl","rumunjski":"ro","ruski":"ru","slovački":"sk","slovenski":"sl","srpski":"sr","škotski keltski":"gd","španjolski":"es","švedski":"sv","tajlandski":"th","talijanski":"it","turski":"tr","ukrajinski":"uk","uzbekistanski":"uz","velški":"cy","vijetnamski":"vi","آذرباﻳﺠﺎﻧﻰ":"az","آلبانیایی":"sq","آلمانی":"de","ارمنی":"hy","ازبکی":"uz","اسپانیایی":"es","اسپرانتو":"eo","استونيايی":"et","اسلواکی":"sk","اسلونیایی":"sl","اکراينی":"uk","امهری":"am","اندونزيايی":"id","انگلیسی":"en","ایتالیایی":"it","ایرلندی":"ga","ايسلندی":"is","باسکی":"eu","برمه‌ای":"my","بلاروسی":"be","بلغاری":"bg","پرتغالی":"pt","تايلندی":"th","ترکی استانبولی":"tr","تلوگو":"te","چک":"cs","چینی (ساده‌شده)":"zh-cn","چینی (سنتی)":"zh-tw","دانمارکی":"da","روسی":"ru","رومانيايی":"ro","زولو":"zu","ژاپنی":"ja","سوئدی":"sv","صربی":"sr","عبری":"he","عربی":"ar","فارسی":"fa","فرانسوی":"fr","فنلاندی":"fi","کاتالان":"ca","کانارا":"kn","کرئول هائیتی":"ht","کردی":"ku","کرواتی":"hr","کره‌ای":"ko","گالیسی":"gl","گاليک اسکاتلندی":"gd","لاتين":"la","لتونيايی":"lv","لهستانی":"pl","ليتوانيايی":"lt","مائوری":"mi","مالایالمی":"ml","مالايی":"ms","مالتی":"mt","مجاری":"hu","مراتی":"mr","مغولی":"mn","مقدونيه‌ای":"mk","نروژی":"nb","ولزی":"cy","ويتنامی":"vi","هلندی":"nl","هندی":"hi","يونانی":"el","ahepaitani":"az","airihi":"ga","amariki":"am","amēniana":"hy","arapeinia":"sq","arapi":"ar","eperānato":"eo","etōnia":"et","haina (onamata)":"zh-tw","hainamana (kua whakamāmātia)":"zh-cn","hanekeria":"hu","hapanihi":"ja","herepia":"sr","hinerangi":"fi","hīni":"hi","hiperu":"he","horowākia":"sk","horowinia":"sl","huitene":"sv","huru":"zu","ingarihi":"en","initonīhia":"id","itāriana":"it","kanata":"kn","karihia":"gl","katarāna":"ca","kereore haiti":"ht","kiriki":"el","kōreana":"ko","koroātiana":"hr","korukoru":"tr","kūrihi":"ku","makerōnia":"mk","māratihi":"mt","marei":"ms","mareiarama":"ml","mongōriana":"mn","nōwei":"nb","pākihi":"eu","pāniora":"es","pēma (purumīhi)":"my","peraruhia":"be","perēhia":"fa","pōrana":"pl","potukīhi":"pt","purukāriana":"bg","rātini":"la","rāwhiana":"lv","rituānia":"lt","romānia":"ro","rūhia":"ru","tai":"th","tati":"nl","tenemāka":"da","teruku":"te","tiamana":"de","tieke":"cs","tiorangi":"is","tuauri kotarangi":"gd","uhipeke":"uz","ūkareiana":"uk","wēra":"cy","whitināmu":"vi","wīwī":"fr","αγγλικά":"en","αζερμπαϊτζανικά":"az","αλβανικά":"sq","αμχαρικά":"am","αραβικά":"ar","αρμενικά":"hy","βασκικά":"eu","βιετναμεζικά":"vi","βιρμανικά":"my","βουλγαρικά":"bg","γαελικά σκοτίας":"gd","γαλικιακά":"gl","γαλλικά":"fr","γερμανικά":"de","δανικά":"da","εβραϊκά":"he","ελληνικά":"el","εσθονικά":"et","εσπεράντο":"eo","ζουλού":"zu","ιαπωνικά":"ja","ινδονησιακά":"id","ιρλανδικά":"ga","ισλανδικά":"is","ισπανικά":"es","ιταλικά":"it","κανάντα":"kn","καταλανικά":"ca","κινέζικα (απλοποιημένα)":"zh-cn","κινέζικα (παραδοσιακά)":"zh-tw","κορεατικά":"ko","κουρδικά":"ku","κρεόλ αϊτής":"ht","κροατικά":"hr","λατινικά":"la","λετονικά":"lv","λευκορωσικά":"be","λιθουανικά":"lt","μαλαγιάλαμ":"ml","μαλέι":"ms","μαλτεζικά":"mt","μαορί":"mi","μαραθικά":"mr","μογγολικά":"mn","νορβηγικά":"nb","ολλανδικά":"nl","ουαλικά":"cy","ουγγρικά":"hu","ουζμπεκικά":"uz","ουκρανικά":"uk","περσικά":"fa","πολωνικά":"pl","πορτογαλικά":"pt","ρουμανικά":"ro","ρωσικά":"ru","σερβικά":"sr","σλαβομακεδονικά":"mk","σλοβακικά":"sk","σλοβενικά":"sl","σουηδικά":"sv","ταϊλανδεζικά":"th","τελούγκου":"te","τούρκικα":"tr","τσεχικά":"cs","φινλανδικά":"fi","χίντι":"hi","amxar":"am","arman":"hy","bolgar":"bg","dat":"da","fors":"fa","fransuz":"fr","gaiti-kreol":"ht","galisiy":"gl","golland":"nl","grek":"el","ibroniy":"he","indonez":"id","ingliz":"en","irland":"ga","island":"is","italyan":"it","koreys":"ko","kurd (kurmonji)":"ku","latish":"lv","lotin":"la","makedon":"mk","maltiy":"mt","maratxi":"mr","mogul":"mn","nemis":"de","norveg":"nb","ozarbayjon":"az","portugal":"pt","rumin":"ro","tay":"th","turk":"tr","ukrain":"uk","valliy":"cy","venger":"hu","xitoy (ananaviy)":"zh-tw","xitoy (soddalashgan)":"zh-cn","ozbek":"uz","shotland-gel":"gd","shved":"sv","chex":"cs","albanska":"sq","amharísku":"am","arabíska":"ar","armenska":"hy","aserska":"az","baskneska":"eu","búlgarska":"bg","búrmíska":"my","danska":"da","eistneska":"et","enska":"en","esperantó":"eo","finnska":"fi","franska":"fr","galisíska":"gl","gríska":"el","haítískt kreólamál":"ht","hebreska":"he","hindí":"hi","hollenska":"nl","hvítrússneska":"be","indónesíska":"id","írska":"ga","íslenska":"is","ítalska":"it","japanska":"ja","katalónska":"ca","kínverska (einfölduð)":"zh-cn","kínverska (hefðbundin)":"zh-tw","kóreska":"ko","króatíska":"hr","kúrdíska":"ku","latína":"la","lettneska":"lv","litháíska":"lt","makedónska":"mk","malajíska":"ms","maltneska":"mt","maoríska":"mi","maratí":"mr","mongólska":"mn","norska":"nb","persneska":"fa","portúgalska":"pt","pólska":"pl","rúmenska":"ro","rússneska":"ru","serbneska":"sr","skosk-gelíska":"gd","slóvakíska":"sk","slóvenska":"sl","spænska":"es","súlú":"zu","sænska":"sv","taílenska":"th","tékkneska":"cs","tyrkneska":"tr","ungverska":"hu","úkraínska":"uk","úsbekíska":"uz","velska":"cy","víetnamska":"vi","þýska":"de","ադրբեջաներեն":"az","ալբաներեն":"sq","ամհարերեն":"am","անգլերեն":"en","արաբերեն":"ar","բասկերեն":"eu","բելառուսերեն":"be","բիրմաներեն":"my","բուլղարերեն":"bg","գալիսերեն":"gl","գերմաներեն":"de","դանիերեն":"da","եբրայերեն":"he","զուլուսերեն":"zu","էսպերանտո":"eo","էստոներեն":"et","թայերեն":"th","թուրքերեն":"tr","ինդոնեզերեն":"id","իռլանդերեն":"ga","իսլանդերեն":"is","իսպաներեն":"es","իտալերեն":"it","լատիներեն":"la","լատվիերեն":"lv","լեհերեն":"pl","լիտվերեն":"lt","խորվաթերեն":"hr","կաննադա":"kn","կատալաներեն":"ca","կելտական շոտլանդերեն":"gd","կորեերեն":"ko","կրեոլերեն (հայիթի)":"ht","հայերեն":"hy","հինդի":"hi","հոլանդերեն":"nl","հունարեն":"el","հունգարերեն":"hu","ճապոներեն":"ja","մալայալամ":"ml","մալայերեն":"ms","մալթերեն":"mt","մակեդոներեն":"mk","մաորի":"mi","մարաթի":"mr","մոնղոլերեն":"mn","նորվեգերեն":"nb","շվեդերեն":"sv","ուզբեկերեն":"uz","ուկրաիներեն":"uk","չեխերեն":"cs","չինարեն (ավանդական)":"zh-tw","չինարեն (պարզեցված)":"zh-cn","պարսկերեն":"fa","պորտուգալերեն":"pt","ռումիներեն":"ro","ռուսերեն":"ru","սերբերեն":"sr","սլովակերեն":"sk","սլովեներեն":"sl","վալերեն":"cy","վիետնամերեն":"vi","տելուգու":"te","քրդերեն (քուրմանջի)":"ku","ֆիններեն":"fi","ֆրանսերեն":"fr","arabia":"ar","baski":"eu","burma":"my","englanti":"en","espanja":"es","haitinkreoli":"ht","heprea":"he","hollanti":"nl","iiri":"ga","islanti":"is","italia":"it","japani":"ja","katalaani":"ca","kiina (perinteinen)":"zh-tw","kiina (yksinkert.)":"zh-cn","kreikka":"el","kroatia":"hr","kurdi":"ku","kymri":"cy","liettua":"lt","makedonia":"mk","malaiji":"ms","norja":"nb","persia":"fa","portugali":"pt","puola":"pl","ranska":"fr","ruotsi":"sv","saksa":"de","skottigaeli":"gd","slovakia":"sk","suomi":"fi","tanska":"da","tsekki":"cs","turkki":"tr","ukraina":"uk","unkari":"hu","uzbekki":"uz","valkovenäjä":"be","venäjä":"ru","viro":"et","albaniera":"sq","alemana":"de","amharera":"am","arabiera":"ar","armeniera":"hy","azerbaijanera":"az","bielorrusiera":"be","birmaniera":"my","bulgariera":"bg","daniera":"da","errumaniera":"ro","errusiera":"ru","eskoziako gaelera":"gd","eslovakiera":"sk","esloveniera":"sl","esperantoa":"eo","estoniera":"et","euskara":"eu","frantsesa":"fr","gaelera":"cy","galiziera":"gl","gaztelania":"es","greziera":"el","hebreera":"he","hindia":"hi","hungariera":"hu","indonesiera":"id","ingelesa":"en","irlandera":"ga","islandiera":"is","italiera":"it","japoniera":"ja","katalana":"ca","koreera":"ko","kreolera (haiti)":"ht","kroaziera":"hr","kurduera":"ku","letoniera":"lv","lituaniera":"lt","malabarera":"ml","malaysiera":"ms","maltera":"mt","maoriera":"mi","marathera":"mr","mazedoniera":"mk","mongoliera":"mn","nederlandera":"nl","norvegiera":"nb","persiera":"fa","poloniera":"pl","portugesa":"pt","serbiera":"sr","suediera":"sv","suomiera":"fi","telugua":"te","thaiera":"th","turkiera":"tr","txekiera":"cs","txinera (soildua)":"zh-cn","txinera (tradizionala)":"zh-tw","ukrainera":"uk","uzbekera":"uz","vietnamera":"vi","zuluera":"zu","albanès":"sq","alemany":"de","amhàric":"am","anglès":"en","àrab":"ar","armeni":"hy","àzeri":"az","basc":"eu","bielorús":"be","birmà":"my","búlgar":"bg","castellà":"es","català":"ca","coreà":"ko","crioll d\'haití":"ht","croat":"hr","danès":"da","eslovac":"sk","eslovè":"sl","estonià":"et","finès":"fi","francès":"fr","gaèlic escocès":"gd","gallec":"gl","gal·lès":"cy","hebreu":"he","hongarès":"hu","indonesi":"id","irlandès":"ga","islandès":"is","italià":"it","japonès":"ja","letó":"lv","lituà":"lt","llatí":"la","macedònic":"mk","malai":"ms","malaiàlam":"ml","maltès":"mt","neerlandès":"nl","noruec":"nb","polonès":"pl","portuguès":"pt","romanès":"ro","serbi":"sr","suec":"sv","txec":"cs","ucraïnès":"uk","xinès (simplificat)":"zh-cn","xinès (tradicional)":"zh-tw","albāņu":"sq","amharu":"am","angļu":"en","arābu":"ar","armēņu":"hy","azerbaidžāņu":"az","baltkrievu":"be","basku":"eu","birmiešu":"my","bulgāru":"bg","čehu":"cs","dāņu":"da","ebreju (ivrits)":"he","franču":"fr","galisiešu":"gl","grieķu":"el","holandiešu":"nl","horvātu":"hr","igauņu":"et","indonēziešu":"id","īru":"ga","īslandiešu":"is","itāļu":"it","japāņu":"ja","katalāņu":"ca","korejiešu":"ko","kreolu (haiti)":"ht","krievu":"ru","kurdu":"ku","ķīniešu (tradicionālā)":"zh-tw","ķīniešu (vienkāršotā)":"zh-cn","latīņu":"la","latviešu":"lv","lietuviešu":"lt","maķedoniešu":"mk","malajalamiešu":"ml","malajiešu":"ms","maltiešu":"mt","maratu":"mr","mongoļu":"mn","norvēģu":"nb","persiešu":"fa","poļu":"pl","portugāļu":"pt","rumāņu":"ro","serbu":"sr","skotu gēlu":"gd","slovāku":"sk","slovēņu":"sl","somu":"fi","spāņu":"es","taju":"th","turku":"tr","ukraiņu":"uk","ungāru":"hu","uzbeku":"uz","vācu":"de","velsiešu":"cy","vjetnamiešu":"vi","zviedru":"sv","belarussia":"be","cek":"cs","china (aks. sederhana)":"zh-cn","china (aks. tradisional)":"zh-tw","finlandia":"fi","gaelig":"ga","gaelik skotlandia":"gd","galisia":"gl","inggris":"en","islan":"is","jepang":"ja","katala":"ca","lituania":"lt","polandia":"pl","prancis":"fr","rumania":"ro","swensk":"sv","yunani":"el","అజర్‌బైజాని":"az","అర్మేనియన్":"hy","అల్బేనియన్":"sq","ఆంగ్లము":"en","ఆమ్హారిక్":"am","ఆరబిక్":"ar","ఇండొనేసియన్":"id","ఇటాలియన్":"it","ఉజ్బెక్":"uz","ఎస్పెరాంటో":"eo","ఏస్టోనియన్":"et","ఐరిష్":"ga","ఐస్ లాండిక్":"is","కన్నడ":"kn","కర్డిష్":"ku","కొరియన్":"ko","క్యాటలాన్":"ca","క్రొయేషియన్":"hr","గాలిసియన్":"gl","గ్రీక్":"el","చెక్":"cs","చైనీస్ (సరళమైన)":"zh-cn","చైనీస్ (సామ్ప్రదాయమైన)":"zh-tw","జపనీస్":"ja","జర్మన్":"de","జులు":"zu","టర్కిష్":"tr","డచ్":"nl","డానిష్":"da","తెలుగు":"te","థాయ్":"th","నార్విజియన్":"nb","పర్షియన్":"fa","పోర్చుగీస్":"pt","పోలిష్":"pl","ఫిన్నిష్":"fi","ఫ్రెంచ్":"fr","బర్మీస్":"my","బల్గేరియన్":"bg","బాస్క్":"eu","బెలారుషియన్":"be","మంగోలియన్":"mn","మయోరి":"mi","మరాఠీ":"mr","మలయాళం":"ml","మాలై":"ms","మాల్టీస్":"mt","మాసిడోనియన్":"mk","యుక్రేనియన్":"uk","రష్యన్":"ru","రొమేనియన్":"ro","లాటిన్":"la","లాట్వియన్":"lv","లిథువేనియన్":"lt","వియత్నామీస్":"vi","వెల్ష్":"cy","సెర్బియన్":"sr","స్కాట్స్ గేలిక్":"gd","స్పానిష్":"es","స్లోవక్":"sk","స్లోవేనియన్":"sl","స్వీడిష్":"sv","హంగేరియన్":"hu","హిందీ":"hi","హీబ్రూ":"he","హైయేటియన్ క్రియోల్":"ht","amhárico":"am","azerí":"az","chino (simplificado)":"zh-cn","chino (tradicional)":"zh-tw","criollo haitiano":"ht","danés":"da","estonio":"et","euskera":"eu","finlandés":"fi","gallego":"gl","griego":"el","japonés":"ja","kurdo":"ku","malayo":"ms","noruego":"nb","rumano":"ro","uzbeco":"uz","albaania":"sq","amhaari":"am","araabia":"ar","armeenia":"hy","aserbaidžaani":"az","birma":"my","bulgaaria":"bg","eesti":"et","galeegi":"gl","haitikreooli":"ht","heebrea":"he","hispaania":"es","hollandi":"nl","horvaadi":"hr","indoneesia":"id","inglise":"en","islandi":"is","itaalia":"it","jaapani":"ja","kreeka":"el","ladina":"la","leedu":"lt","lihtsustatud hiina":"zh-cn","läti":"lv","makedoonia":"mk","malajalaami":"ml","maoori":"mi","mongoli":"mn","norra":"nb","poola":"pl","prantsuse":"fr","pärsia":"fa","rootsi":"sv","rumeenia":"ro","slovaki":"sk","sloveeni":"sl","soome":"fi","suulu":"zu","šoti":"gd","taani":"da","traditsiooniline hiina":"zh-tw","tšehhi":"cs","türgi":"tr","uelsi":"cy","ungari":"hu","usbeki":"uz","valgevene":"be","vene":"ru","albanyen":"sq","amenyen":"hy","anglè":"en","azèbajani":"az","belarisyen":"be","bilgaryen":"bg","chinwa (senp)":"zh-cn","chinwa (tradisyonèl)":"zh-tw","danwa":"da","ebre":"he","endonezyen":"id","endou":"hi","estonyen":"et","fenlandè":"fi","franse":"fr","gaelik ekosè":"gd","galisyen":"gl","grèk":"el","ikrenyen":"uk","ilandè":"ga","islandè":"is","italyen":"it","izbèk":"uz","japonè":"ja","koreyen":"ko","kreyòl ayisyen":"ht","kurde (kurmandji)":"ku","kwoasyen":"hr","laten":"la","letonyen":"lv","lityanyen":"lt","malè":"ms","malt":"mt","masedonyen":"mk","mongolyen":"mn","myanma (burmese)":"my","nòvejyen":"nb","olandè, neyèlandè":"nl","onngaryen":"hu","panyòl":"es","pèsyen":"fa","polonè":"pl","pòtigè":"pt","ris":"ru","romanyen":"ro","sèb":"sr","slovenyen":"sl","syedwa":"sv","tuk":"tr","tyèk":"cs","vyetnamyen":"vi","albaneg":"sq","almaeneg":"de","arabeg":"ar","armeneg":"hy","aserbaijaneg":"az","basgeg":"eu","belarwseg":"be","bwlgaraidd":"bg","catalaneg":"ca","creol haiti":"ht","croateg":"hr","cymraeg":"cy","cyrdeg (kurmandji)":"ku","daneg":"da","eidaleg":"it","estoneg":"et","fietnameg":"vi","ffineg":"fi","fflemeg":"nl","ffrangeg":"fr","gaeleg yr alban":"gd","galisaidd":"gl","groeg":"el","gwyddeleg":"ga","hebraeg":"he","hwngareg":"hu","iaith corea":"ko","indonesieg":"id","islandeg":"is","iwcraineg":"uk","japaneg":"ja","latfieg":"lv","lithwaneg":"lt","lladin":"la","macedoneg":"mk","malteseg":"mt","mongoleg":"mn","myanmar (byrma)":"my","norwyeg":"nb","perseg":"fa","portiwgaleg":"pt","pwyleg":"pl","rwmaneg":"ro","rwsieg":"ru","saesneg":"en","sbaeneg":"es","serbeg":"sr","slofac":"sk","slofenia":"sl","swedeg":"sv","swlw":"zu","tsieceg":"cs","tsieineeg (traddodiadol)":"zh-tw","tsieineeg (wedi symleiddio)":"zh-cn","twrceg":"tr","usbec":"uz","अंग्रेज़ी":"en","अज़रबैजानी":"az","अल्बेनियन":"sq","आइसलैंडिक":"is","आर्मेनियन":"hy","इटैलियन":"it","उज़्बेक":"uz","एस्तोनियन":"et","एस्पेरांटो":"eo","ऐम्हेरिक":"am","कन्नड़":"kn","कुर्दिश (करमंजी)":"ku","कैटेलन":"ca","गैलिशियन":"gl","चीनी (परंपरागत)":"zh-tw","चेक":"cs","जापानी":"ja","ज़ुलु":"zu","डैनिश":"da","तुर्क":"tr","तेलुगु":"te","पुर्तगाली":"pt","फ़िनिश":"fi","फ़्रेंच":"fr","बर्मी":"my","बुल्गारियन":"bg","बेलारूसीयन":"be","बैस्क":"eu","मलयालम":"ml","माऔरी":"mi","माल्टी":"mt","मेसीडोनियन":"mk","यूक्रेनियन":"uk","रूसी":"ru","रोमेनियन":"ro","लातवियन":"lv","लैटिन":"la","वियतनामी":"vi","सर्बियाई":"sr","स्पैनिश":"es","स्लोवाक":"sk","स्लोवेनियन":"sl","हंगरियन":"hu","हीब्रू":"he","हैतियन क्रिओल":"ht","阿尔巴尼亚语":"sq","阿拉伯语":"ar","阿姆哈拉语":"am","阿塞拜疆语":"az","爱尔兰语":"ga","爱沙尼亚语":"et","巴斯克语":"eu","白俄罗斯语":"be","保加利亚语":"bg","冰岛语":"is","波兰语":"pl","波斯语":"fa","丹麦语":"da","德语":"de","俄语":"ru","法语":"fr","芬兰语":"fi","海地克里奥尔语":"ht","韩语":"ko","荷兰语":"nl","加利西亚语":"gl","加泰罗尼亚语":"ca","捷克语":"cs","卡纳达语":"kn","克罗地亚语":"hr","库尔德语":"ku","拉丁语":"la","拉脱维亚语":"lv","立陶宛语":"lt","罗马尼亚语":"ro","马耳他语":"mt","马拉地语":"mr","马拉雅拉姆语":"ml","马来语":"ms","马其顿语":"mk","毛利语":"mi","蒙古语":"mn","缅甸语":"my","南非祖鲁语":"zu","挪威语":"nb","葡萄牙语":"pt","日语":"ja","瑞典语":"sv","塞尔维亚语":"sr","世界语":"eo","斯洛伐克语":"sk","斯洛文尼亚语":"sl","苏格兰盖尔语":"gd","泰卢固语":"te","泰语":"th","土耳其语":"tr","威尔士语":"cy","乌克兰语":"uk","乌兹别克语":"uz","西班牙语":"es","希伯来语":"he","希腊语":"el","匈牙利语":"hu","亚美尼亚语":"hy","意大利语":"it","印地语":"hi","印尼语":"id","英语":"en","越南语":"vi","中文(繁体)":"zh-tw","中文(简体)":"zh-cn","азербайджански":"az","английски":"en","арабски":"ar","арменски":"hy","баски":"eu","беларуски":"be","бирмански":"my","български":"bg","галисийски":"gl","гръцки":"el","датски":"da","индонезийски":"id","ирландски":"ga","испански":"es","италиански":"it","китайски (опростен)":"zh-cn","китайски (традиционен)":"zh-tw","корейски":"ko","кюрдски":"ku","латвийски":"lv","литовски":"lt","малайски":"ms","малтийски":"mt","немски":"de","нидерландски":"nl","норвежки":"nb","персийски":"fa","румънски":"ro","словашки":"sk","словенски":"sl","сръбски":"sr","тайландски":"th","уелски":"cy","узбекски":"uz","финландски":"fi","френски":"fr","хаитянски креолски":"ht","хърватски":"hr","шотландски келтски":"gd","японски":"ja","الآيسلندية":"is","الأذرية":"az","الارمنية":"hy","الإسبانية":"es","الاسبرانتو":"eo","الإستونية":"et","الاسكتلندية الغالية":"gd","الألبانية":"sq","الألمانية":"de","الأمهرية":"am","الإنجليزية":"en","الإندونيسية":"id","الأوزبكية":"uz","الأوكرانية":"uk","الأيرلندية":"ga","الإيطالية":"it","الباسكية":"eu","البرتغالية":"pt","البلغارية":"bg","البورمية":"my","البولندية":"pl","البيلاروسية":"be","التايلاندية":"th","التركية":"tr","التشيكية":"cs","التيلوجو":"te","الجاليكية":"gl","الدانماركية":"da","الروسية":"ru","الرومانية":"ro","الزولوية":"zu","السلوفاكية":"sk","السلوفينية":"sl","السويدية":"sv","الصربية":"sr","الصينية (التقليدية)":"zh-tw","الصينية (المبسطة)":"zh-cn","العبرية":"he","العربية":"ar","الفارسية":"fa","الفرنسية":"fr","الفنلندية":"fi","الفيتنامية":"vi","القطلونية":"ca","الكانادا":"kn","الكردية":"ku","الكرواتية":"hr","الكورية":"ko","اللاتفية":"lv","اللاتينية":"la","اللغة الكريولية الهايتية":"ht","الليتوانية":"lt","المالايالامية":"ml","المالطيّة":"mt","الماورية":"mi","المقدونية":"mk","الملايو":"ms","المنغولية":"mn","المهراتية":"mr","النرويجية":"nb","الهندية":"hi","الهنغارية":"hu","الهولندية":"nl","الويلزية":"cy","اليابانية":"ja","اليونانية":"el","баскијски":"eu","вијетнамски":"vi","галски":"gl","енглески":"en","индонежански":"id","јапански":"ja","јерменски":"hy","кинески (поједностављени)":"zh-cn","кинески (традиционални)":"zh-tw","креолски (хаити)":"ht","летонски":"lv","мађарски":"hu","марати":"mr","немачки":"de","персијски":"fa","пољски":"pl","румунски":"ro","словеначки":"sl","тајски":"th","украјински":"uk","азербайжан":"az","албани":"sq","амхарик":"am","англи":"en","араб":"ar","армени":"hy","баск":"eu","беларусь":"be","бирм":"my","болгар":"bg","вьетнам":"vi","гаити креол":"ht","галик":"gl","гаэл":"gd","герман":"de","голланд":"nl","грек":"el","дани":"da","индонези":"id","ирланд":"ga","исланд":"is","испани":"es","итали":"it","каталан":"ca","кипр":"he","курд":"ku","латви":"lv","латин":"la","литва":"lt","македон":"mk","малай":"ms","малайлам":"ml","малти":"mt","монгол":"mn","норвеги":"nb","орос":"ru","перс":"fa","польш":"pl","португаль":"pt","румын":"ro","серби":"sr","словак":"sk","словени":"sl","солонгос":"ko","тай":"th","турк":"tr","тэлүгү":"te","узбек":"uz","украин":"uk","унгар":"hu","уэльс":"cy","финлянд":"fi","франц":"fr","хорват":"hr","хятад (ердийн)":"zh-cn","хятад (уламжлалт)":"zh-tw","чех":"cs","швед":"sv","эстони":"et","япон":"ja","amhariska":"am","arabiska":"ar","armeniska":"hy","azerbajdzjanska":"az","baskiska":"eu","bulgariska":"bg","burmesiska":"my","engelska":"en","estniska":"et","finska":"fi","gaeliska":"gd","galiciska":"gl","grekiska":"el","haitiska":"ht","hebreiska":"he","indonesiska":"id","irländska":"ga","isländska":"is","italienska":"it","kanaresiska":"kn","katalanska":"ca","kinesiska (förenklad)":"zh-cn","kinesiska (traditionell)":"zh-tw","koreanska":"ko","kroatiska":"hr","kurdiska":"ku","lettiska":"lv","litauiska":"lt","makedonska":"mk","malaysiska":"ms","maltesiska":"mt","mongoliska":"mn","nederländska":"nl","persiska":"fa","polska":"pl","portugisiska":"pt","rumänska":"ro","ryska":"ru","serbiska":"sr","slovakiska":"sk","slovenska":"sl","spanska":"es","svenska":"sv","thailändska":"th","tjeckiska":"cs","turkiska":"tr","tyska":"de","ukrainska":"uk","ungerska":"hu","uzbekiska":"uz","vietnamesiska":"vi","vitryska":"be","walesiska":"cy","albaneză":"sq","amharică":"am","arabă":"ar","armeană":"hy","azerbaidjană":"az","bască":"eu","bielorusă":"be","birmană":"my","bulgară":"bg","catalană":"ca","cehă":"cs","chineză (simplificată)":"zh-cn","chineză (tradițională)":"zh-tw","coreeană":"ko","creolă haitiană":"ht","croată":"hr","daneză":"da","ebraică":"he","engleză":"en","estonă":"et","finlandeză":"fi","franceză":"fr","galeză":"cy","galica scoțiană":"gd","galiciană":"gl","germană":"de","greacă":"el","indoneziană":"id","irlandeză":"ga","islandeză":"is","italiană":"it","japoneză":"ja","kurdă":"ku","latină":"la","letonă":"lv","lituaniană":"lt","macedoneană":"mk","maghiară":"hu","malaeză":"ms","malteză":"mt","mongolă":"mn","neerlandeză":"nl","norvegiană":"nb","persană":"fa","poloneză":"pl","portugheză":"pt","română":"ro","rusă":"ru","sârbă":"sr","slovacă":"sk","slovenă":"sl","spaniolă":"es","suedeză":"sv","thailandeză":"th","turcă":"tr","ucraineană":"uk","uzbecă":"uz","vietnameză":"vi","airių":"ga","albanų":"sq","amharų":"am","anglų":"en","arabų":"ar","armėnų":"hy","azerbaidžaniečių":"az","baltarusių":"be","baskų":"eu","birmiečių":"my","bulgarų":"bg","čekų":"cs","danų":"da","estų":"et","galisų":"gl","graikų":"el","haičio kreolų":"ht","hebrajų":"he","indoneziečių":"id","islandų":"is","ispanų":"es","italų":"it","japonų":"ja","kanadų":"kn","kataloniečių":"ca","kinų (supaprastinta)":"zh-cn","kinų (tradicinė)":"zh-tw","korėjiečių":"ko","kroatų":"hr","kurdų":"ku","latvių":"lv","lenkų":"pl","lietuvių":"lt","lotynų":"la","makedoniečių":"mk","malajalių":"ml","malajiečių":"ms","maltiečių":"mt","maorių":"mi","maratų":"mr","mongolų":"mn","norvegų":"nb","olandų":"nl","persų":"fa","portugalų":"pt","prancūzų":"fr","rumunų":"ro","rusų":"ru","serbų":"sr","slovakų":"sk","slovėnų":"sl","suomių":"fi","škotų (gėlų)":"gd","švedų":"sv","tajų":"th","telugų":"te","turkų":"tr","ukrainiečių":"uk","uzbekų":"uz","valų":"cy","vengrų":"hu","vietnamiečių":"vi","vokiečių":"de","zulusų":"zu","갈리시아어":"gl","그리스어":"el","네덜란드어":"nl","노르웨이어":"nb","덴마크어":"da","독일어":"de","라트비아어":"lv","라틴어":"la","러시아어":"ru","루마니아어":"ro","리투아니아어":"lt","마라티어":"mr","마오리어":"mi","마케도니아어":"mk","말라얄람어":"ml","말레이어":"ms","몰타어":"mt","몽골어":"mn","미얀마어 (버마어)":"my","바스크어":"eu","베트남어":"vi","벨라루스어":"be","불가리아어":"bg","세르비아어":"sr","스웨덴어":"sv","스코틀랜드 게일어":"gd","스페인어":"es","슬로바키아어":"sk","슬로베니아어":"sl","아랍어":"ar","아르메니아어":"hy","아이슬란드어":"is","아이티 크리올어":"ht","아일랜드어":"ga","아제르바이잔어":"az","알바니아어":"sq","암하라어":"am","에스토니아어":"et","에스페란토어":"eo","영어":"en","우즈베크어":"uz","우크라이나어":"uk","웨일즈어":"cy","이탈리아어":"it","인도네시아어":"id","일본어":"ja","줄루어":"zu","중국어(간체)":"zh-cn","중국어(번체)":"zh-tw","체코어":"cs","카탈로니아어":"ca","칸나다어":"kn","쿠르드어":"ku","크로아티아어":"hr","태국어":"th","터키어":"tr","텔루구어":"te","페르시아어":"fa","포르투갈어":"pt","폴란드어":"pl","프랑스어":"fr","핀란드어":"fi","한국어":"ko","헝가리어":"hu","히브리어":"he","힌디어":"hi","albanese":"sq","amarico":"am","arabo":"ar","armeno":"hy","azero":"az","bielorusso":"be","bulgaro":"bg","catalano":"ca","ceco":"cs","cinese (semplificato)":"zh-cn","cinese (tradizionale)":"zh-tw","creolo haitiano":"ht","croato":"hr","curdo (kurmanji)":"ku","danese":"da","ebraico":"he","estone":"et","finlandese":"fi","francese":"fr","gaelico scozzese":"gd","galiziano":"gl","gallese":"cy","giapponese":"ja","greco":"el","indonesiano":"id","inglese":"en","irlandese":"ga","islandese":"is","latino":"la","lettone":"lv","macedone":"mk","malese":"ms","mongolo":"mn","norvegese":"nb","olandese":"nl","persiano":"fa","polacco":"pl","portoghese":"pt","rumeno":"ro","serbo":"sr","slovacco":"sk","sloveno":"sl","spagnolo":"es","svedese":"sv","tailandese":"th","tedesco":"de","ucraino":"uk","ungherese":"hu","quốc tế ngữ":"eo","tiếng ả rập":"ar","tiếng albania":"sq","tiếng amharic":"am","tiếng anh":"en","tiếng armenia":"hy","tiếng azerbaijan":"az","tiếng ba lan":"pl","tiếng ba tư":"fa","tiếng basque":"eu","tiếng belarus":"be","tiếng bồ đào nha":"pt","tiếng bulgaria":"bg","tiếng catalan":"ca","tiếng creole ở haiti":"ht","tiếng croatia":"hr","tiếng do thái":"he","tiếng đan mạch":"da","tiếng đức":"de","tiếng estonia":"et","tiếng gael scotland":"gd","tiếng galicia":"gl","tiếng hà lan":"nl","tiếng hàn":"ko","tiếng hindi":"hi","tiếng hungary":"hu","tiếng hy lạp":"el","tiếng iceland":"is","tiếng indonesia":"id","tiếng ireland":"ga","tiếng kannada":"kn","tiếng kurd":"ku","tiếng latinh":"la","tiếng latvia":"lv","tiếng litva":"lt","tiếng mã lai":"ms","tiếng macedonia":"mk","tiếng malayalam":"ml","tiếng malta":"mt","tiếng maori":"mi","tiếng marathi":"mr","tiếng mông cổ":"mn","tiếng myanmar":"my","tiếng na uy":"nb","tiếng nga":"ru","tiếng nhật":"ja","tiếng pháp":"fr","tiếng phần lan":"fi","tiếng rumani":"ro","tiếng séc":"cs","tiếng serbia":"sr","tiếng slovak":"sk","tiếng slovenia":"sl","tiếng tây ban nha":"es","tiếng telugu":"te","tiếng thái":"th","tiếng thổ nhĩ kỳ":"tr","tiếng thụy điển":"sv","tiếng trung (giản thể)":"zh-cn","tiếng trung (phồn thể)":"zh-tw","tiếng ukraina":"uk","tiếng uzbek":"uz","tiếng việt":"vi","tiếng xứ wales":"cy","tiếng ý":"it","tiếng zulu":"zu","にほんご":"ja"},"scratchToGoogleMap":{"zh-cn":"zh","nb":"no","he":"iw","es-419":"es","pt-br":"pt","ja-hira":"ja"},"previouslySupported":["ab","ms","be","eo","hy","hi","kn","ht","ku","la","mk","ml","mt","mr","mn","my","nn","sq","te","uz"]}')},function(A,e,t){function n(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function i(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const r=t(37),{OrderedMap:s}=t(44),o=t(107),a=t(3),B=t(30),c=t(110),g=t(1),Q=t(255),E=t(256),l=t(115),u=t(74),w=t(262),h=t(38),C=t(55),d=t(8),I=t(101),M=t(27),p=t(24),m=t(45),F=t(263),D=t(264),{validateJSON:Y}=t(17),f=t(13),N=t(266),U=t(267),y=t(268),x=t(269),T=t(270),R=t(271),G=t(272),S=t(273),H=t(116),b=t(274),k=t(16),J=t(14),j={scratch3_control:t(275),scratch3_event:t(276),scratch3_looks:t(277),scratch3_motion:t(278),scratch3_operators:t(279),scratch3_sound:t(280),scratch3_sensing:t(281),scratch3_data:t(282),scratch3_procedures:t(283),pm_liveTests:t(284)},z=t(285),v=t(286),L=["#0FBD8C","#0DA57A","#0B8E69"],P=(()=>{const A={};return A[a.ANGLE]={shadow:{type:"math_angle",fieldName:"NUM"}},A[a.COLOR]={shadow:{type:"colour_picker",fieldName:"COLOUR"}},A[a.NUMBER]={shadow:{type:"math_number",fieldName:"NUM"}},A[a.STRING]={shadow:{type:"text",fieldName:"TEXT"}},A[a.BOOLEAN]={check:"Boolean"},A[a.MATRIX]={shadow:{type:"matrix",fieldName:"MATRIX"}},A[a.NOTE]={shadow:{type:"note",fieldName:"NOTE"}},A[a.IMAGE]={fieldType:"field_image"},A[a.POLYGON]={check:"math_polygon",shadow:{type:"polygon"}},A[a.COSTUME]={shadow:{type:"looks_costume",fieldName:"COSTUME"}},A[a.SOUND]={shadow:{type:"sound_sounds_menu",fieldName:"SOUND_MENU"}},A[a.VARIABLE]={fieldType:"field_variable",fieldName:"VARIABLE"},A[a.LIST]={fieldType:"field_variable",fieldName:"LIST",variableType:"list"},A[a.BROADCAST]={fieldType:"field_variable",fieldName:"BROADCAST",variableType:"broadcast_msg"},A})(),O=A=>{let e=0;return{canAddCloudVariable:()=>e<A.limit,addCloudVariable:()=>{e++},removeCloudVariable:()=>{e--},hasCloudVariables:()=>e>0,getNumberOfCloudVariables:()=>e}};let W=-1,V=-1,K=-1;class X extends r{constructor(){super(),this.targets=[],this.executableTargets=[],this.threads=[],this.threadMap=new Map,this.sequencer=new E(this),this.flyoutBlocks=new B(this,!0),this.monitorBlocks=new B(this,!0),this._editingTarget=null,this._primitives={},this._blockInfo=[],this._hats={},this._scriptGlowsPreviousFrame=[],this._nonMonitorThreadCount=0,this._lastStepDoneThreads=null,this.tabManager=new N(this),this.modalManager=new U(this),this._cloneCounter=0,this._refreshTargets=!1,this.monitorBlockInfo={},this._monitorState=s({}),this._prevMonitorState=s({}),this.turboMode=!1,this.frameLoop=new v(this),this.currentStepTime=1e3/30,this.updateCurrentMSecs(),this.redrawRequested=!1,this._registerBlockPackages(),this.ioDevices={clock:new y(this),cloud:new x(this),keyboard:new T(this),mouse:new R(this),mouseWheel:new G(this),userData:new S,video:new H(this),touch:new b(this)},this.peripheralExtensions={},this.profiler=null,this.cloudOptions={limit:10},this.extensionRuntimeOptions={javascriptUnsandboxed:!1};const A=O(this.cloudOptions);this.hasCloudData=A.hasCloudVariables,this.canAddCloudVariable=A.canAddCloudVariable,this.getNumberOfCloudVariables=A.getNumberOfCloudVariables,this.addCloudVariable=this._initializeAddCloudVariable(A),this.removeCloudVariable=this._initializeRemoveCloudVariable(A),this.origin=null,this._stageTarget=null,this.addonBlocks={},this.stageWidth=X.STAGE_WIDTH,this.stageHeight=X.STAGE_HEIGHT,this.runtimeOptions={maxClones:X.MAX_CLONES,miscLimits:!0,fencing:!0},this.compilerOptions={enabled:!0,warpTimer:!1},this.debug=!1,this._lastStepTime=Date.now(),this.interpolationEnabled=!1,this._defaultStoredSettings=this._generateAllProjectOptions(),this.isPackaged=!1,this.isProjectPermissionManagerDisabled=!1,this.externalCommunicationMethods={cloudVariables:!1,customExtensions:!1},this.on(X.HAS_CLOUD_DATA_UPDATE,A=>{this.setExternalCommunicationMethod("cloudVariables",A)}),this.setMaxListeners(50),this.enforcePrivacy=!0,this.extensionButtons=new Map,this._extensionAudioObjects=new Map,this.fontManager=new D(this),this.cameraStates=[{pos:[0,0],dir:0,scale:1}],this.on("RUNTIME_STEP_START",()=>this.emit("BEFORE_EXECUTE"))}static get STAGE_WIDTH(){return 480}static get STAGE_HEIGHT(){return 360}static get SCRIPT_GLOW_ON(){return"SCRIPT_GLOW_ON"}static get SCRIPT_GLOW_OFF(){return"SCRIPT_GLOW_OFF"}static get BLOCK_GLOW_ON(){return"BLOCK_GLOW_ON"}static get BLOCK_GLOW_OFF(){return"BLOCK_GLOW_OFF"}static get HAS_CLOUD_DATA_UPDATE(){return"HAS_CLOUD_DATA_UPDATE"}static get TURBO_MODE_ON(){return"TURBO_MODE_ON"}static get TURBO_MODE_OFF(){return"TURBO_MODE_OFF"}static get RUNTIME_OPTIONS_CHANGED(){return"RUNTIME_OPTIONS_CHANGED"}static get COMPILER_OPTIONS_CHANGED(){return"COMPILER_OPTIONS_CHANGED"}static get FRAMERATE_CHANGED(){return"FRAMERATE_CHANGED"}static get INTERPOLATION_CHANGED(){return"INTERPOLATION_CHANGED"}static get STAGE_SIZE_CHANGED(){return"STAGE_SIZE_CHANGED"}static get MOUSE_SCROLLED(){return"MOUSE_SCROLLED"}static get COMPILE_ERROR(){return"COMPILE_ERROR"}static get PROJECT_START(){return"PROJECT_START"}static get PROJECT_START_BEFORE_RESET(){return"PROJECT_START_BEFORE_RESET"}static get PROJECT_RUN_START(){return"PROJECT_RUN_START"}static get PROJECT_RUN_STOP(){return"PROJECT_RUN_STOP"}static get PROJECT_STOP_ALL(){return"PROJECT_STOP_ALL"}static get STOP_FOR_TARGET(){return"STOP_FOR_TARGET"}static get VISUAL_REPORT(){return"VISUAL_REPORT"}static get BLOCK_STACK_ERROR(){return"BLOCK_STACK_ERROR"}static get PROJECT_LOADED(){return"PROJECT_LOADED"}static get PROJECT_CHANGED(){return"PROJECT_CHANGED"}static get TOOLBOX_EXTENSIONS_NEED_UPDATE(){return"TOOLBOX_EXTENSIONS_NEED_UPDATE"}static get TARGETS_UPDATE(){return"TARGETS_UPDATE"}static get MONITORS_UPDATE(){return"MONITORS_UPDATE"}static get BLOCK_DRAG_UPDATE(){return"BLOCK_DRAG_UPDATE"}static get BLOCK_DRAG_END(){return"BLOCK_DRAG_END"}static get EXTENSION_ADDED(){return"EXTENSION_ADDED"}static get EXTENSION_REMOVED(){return"EXTENSION_REMOVED"}static get EXTENSION_FIELD_ADDED(){return"EXTENSION_FIELD_ADDED"}static get PERIPHERAL_LIST_UPDATE(){return"PERIPHERAL_LIST_UPDATE"}static get USER_PICKED_PERIPHERAL(){return"USER_PICKED_PERIPHERAL"}static get PERIPHERAL_CONNECTED(){return"PERIPHERAL_CONNECTED"}static get PERIPHERAL_DISCONNECTED(){return"PERIPHERAL_DISCONNECTED"}static get PERIPHERAL_REQUEST_ERROR(){return"PERIPHERAL_REQUEST_ERROR"}static get PERIPHERAL_CONNECTION_LOST_ERROR(){return"PERIPHERAL_CONNECTION_LOST_ERROR"}static get PERIPHERAL_SCAN_TIMEOUT(){return"PERIPHERAL_SCAN_TIMEOUT"}static get MIC_LISTENING(){return"MIC_LISTENING"}static get BLOCKSINFO_UPDATE(){return"BLOCKSINFO_UPDATE"}static get RUNTIME_STARTED(){return"RUNTIME_STARTED"}static get RUNTIME_STOPPED(){return"RUNTIME_STOPPED"}static get RUNTIME_PAUSED(){return"RUNTIME_PAUSED"}static get RUNTIME_UNPAUSED(){return"RUNTIME_UNPAUSED"}static get RUNTIME_DISPOSED(){return"RUNTIME_DISPOSED"}static get RUNTIME_STEP_START(){return"RUNTIME_STEP_START"}static get EDITOR_TABS_NEW(){return"EDITOR_TABS_NEW"}static get EDITOR_TABS_UPDATE(){return"EDITOR_TABS_UPDATE"}static get BLOCKS_NEED_UPDATE(){return"BLOCKS_NEED_UPDATE"}static get CAMERA_CHANGED(){return"CAMERA_CHANGED"}static get THREAD_STEP_INTERVAL(){return 1e3/60}static get THREAD_STEP_INTERVAL_COMPATIBILITY(){return 1e3/30}static get MAX_CLONES(){return 300}_initializeAddCloudVariable(A){return()=>{const e=this.hasCloudData();A.addCloudVariable(),!e&&this.hasCloudData()&&this.emit(X.HAS_CLOUD_DATA_UPDATE,!0)}}_initializeRemoveCloudVariable(A){return()=>{const e=this.hasCloudData();A.removeCloudVariable(),e&&!this.hasCloudData()&&this.emit(X.HAS_CLOUD_DATA_UPDATE,!1)}}_registerBlockPackages(){for(const A in j)if(j.hasOwnProperty(A)){const e=new j[A](this);if(e.getPrimitives){const A=e.getPrimitives();for(const t in A)A.hasOwnProperty(t)&&(this._primitives[t]=A[t].bind(e))}if(e.getHats){const A=e.getHats();for(const e in A)A.hasOwnProperty(e)&&(this._hats[e]=A[e])}e.getMonitored&&(this.monitorBlockInfo=Object.assign({},this.monitorBlockInfo,e.getMonitored())),this.compilerRegisterExtension(A,e)}}compilerRegisterExtension(A,e){this["ext_".concat(A)]=e}registerCompiledExtensionBlocks(A,e){if(!e)return;if(!e.ir)return;if(!e.js)return;const n=t(113);t(111).setExtensionIr(A,e.ir),n.setExtensionJs(A,e.js)}registerExtensionAudioContext(A,e,t){if("string"!=typeof A)throw new TypeError("Extension ID must be string");if(!A)throw new Error("No extension ID specified");const n={};e&&(n.audioContext=e),t&&(n.gainNode=t),this._extensionAudioObjects.set(A,n)}getMonitorState(){return this._monitorState}_makeExtensionMenuId(A,e){return"".concat(e,"_menu_").concat(A)}makeMessageContextForTarget(A){const e={};(A=A||this.getEditingTarget()||this.getTargetForStage())&&(e.targetType=A.isStage?h.STAGE:h.SPRITE)}_registerExtensionPrimitives(A){const e={id:A.id,name:I(A.name),showStatusButton:A.showStatusButton,blockIconURI:A.blockIconURI,menuIconURI:A.menuIconURI};if(A.color1){const t=f.hexToRgb(A.color1);if(e.color1=A.color1,e.color2=A.color2,!A.color2){const A=f.mixRgb(t,f.RGB_BLACK,.1);e.color2=f.rgbToHex(A)}if(e.color3=A.color3,!A.color3){const A=f.mixRgb(t,f.RGB_BLACK,.2);e.color3=f.rgbToHex(A)}}else e.color1=L[0],e.color2=L[1],e.color3=L[2];A.isDynamic&&(e.isDynamic=A.isDynamic,e.orderBlocks=A.orderBlocks),this._blockInfo.push(e),this._fillExtensionCategory(e,A);for(const t in e.customFieldTypes)if(A.customFieldTypes.hasOwnProperty(t)){const A=e.customFieldTypes[t];this.emit(X.EXTENSION_FIELD_ADDED,{name:"field_".concat(A.extendedName),implementation:A.fieldImplementation})}this.emit(X.EXTENSION_ADDED,e)}_refreshExtensionPrimitives(A){const e=this._blockInfo.find(e=>e.id===A.id);e&&(e.name=I(A.name),this._fillExtensionCategory(e,A),this.emit(X.BLOCKSINFO_UPDATE,e))}_removeExtensionPrimitive(A){this._blockInfo=this._blockInfo.filter(e=>e.id!==A),this.emit(X.EXTENSION_REMOVED)}_fillExtensionCategory(A,e){A.blocks=[],A.customFieldTypes={},A.menus=[],A.menuInfo={};for(const t in e.menus)if(e.menus.hasOwnProperty(t)){const n=e.menus[t],i=this._buildMenuForScratchBlocks(t,n,A);A.menus.push(i),A.menuInfo[t]=n}for(const t in e.customFieldTypes)if(e.customFieldTypes.hasOwnProperty(t)){const n=e.customFieldTypes[t],i=this._buildCustomFieldInfo(t,n,e.id,A);A.customFieldTypes[t]=i}if(e.docsURI){const t={info:{},xml:"<button "+'text="'.concat(m(I({id:"tw.blocks.openDocs",default:"Open Documentation",description:"Button that opens site with more documentation about an extension"})),'" ')+'callbackKey="OPEN_EXTENSION_DOCS" '+'callbackData="'.concat(m(e.docsURI),'"></button>')};A.blocks.push(t)}for(const t of e.blocks)try{const e=this._convertForScratchBlocks(t,A);if(A.blocks.push(e),e.json){const A=e.json.type;t.blockType!==g.EVENT&&t.blockType!==g.BUTTON&&(this._primitives[A]=e.info.func),t.blockType!==g.EVENT&&t.blockType!==g.HAT||(this._hats[A]={edgeActivated:t.isEdgeActivated,restartExistingThreads:t.shouldRestartExistingThreads})}}catch(A){d.error("Error parsing block: ",{block:t,error:A})}}_convertMenuItems(A){if("function"!=typeof A){const e=this.makeMessageContextForTarget();return A.map(A=>{const t=I(A,e);switch(typeof t){case"string":return[t,t];case"object":return[I(A.text,e),A.value];default:throw new Error("Can't interpret menu item: ".concat(JSON.stringify(A)))}})}return A}_buildMenuForScratchBlocks(A,e,t){const n=this._makeExtensionMenuId(A,t.id),i=this._convertMenuItems(e.items);return{json:{message0:"%1",type:n,inputsInline:!0,output:"String",colour:e.isTypeable?"#FFFFFF":t.color1,colourSecondary:e.isTypeable?"#FFFFFF":t.color2,colourTertiary:e.isTypeable?"#FFFFFF":t.color3,outputShape:e.acceptReporters||e.isTypeable?w.OUTPUT_SHAPE_ROUND:w.OUTPUT_SHAPE_SQUARE,args0:["string"==typeof e.variableType?{type:"field_variable_getter",name:A,variableType:"scalar"===e.variableType?"":e.variableType}:e.isTypeable?{type:e.isNumeric?"field_numberdropdown":"field_textdropdown",name:A,options:i}:{type:"field_dropdown",name:A,options:i}]}}}_buildCustomFieldInfo(A,e,t,n){const i="".concat(t,"_").concat(A);return{fieldName:A,extendedName:i,argumentTypeInfo:{shadow:{type:i,fieldName:"field_".concat(i)}},scratchBlocksDefinition:this._buildCustomFieldTypeForScratchBlocks(i,e.output,e.outputShape,n),fieldImplementation:e.implementation}}_buildCustomFieldTypeForScratchBlocks(A,e,t,n){return{json:{type:A,message0:"%1",inputsInline:!0,output:e,colour:n.color1,colourSecondary:n.color2,colourTertiary:n.color3,outputShape:t,args0:[{name:"field_".concat(A),type:"field_".concat(A)}]}}}_convertForScratchBlocks(A,e){return"---"===A?this._convertSeparatorForScratchBlocks(A):A.blockType===g.LABEL?this._convertLabelForScratchBlocks(A):A.blockType===g.BUTTON?this._convertButtonForScratchBlocks(A):A.blockType===g.XML?this._convertXmlForScratchBlocks(A):this._convertBlockForScratchBlocks(A,e)}_convertBlockForScratchBlocks(A,e){const t="".concat(e.id,"_").concat(A.opcode),n={type:t,inputsInline:!0,category:e.name,colour:e.color1,colourSecondary:e.color2,colourTertiary:e.color3},i={argsMap:{},blockJSON:n,categoryInfo:e,blockInfo:A,inputList:[]},r=A.blockIconURI||e.blockIconURI;if(r){n.extensions=["scratch_extension"],n.message0="%1 %2";const A={type:"field_image",src:r,width:40,height:40},e={type:"field_vertical_separator"};n.args0=[A,e]}switch(A.blockType){case g.COMMAND:n.outputShape=w.OUTPUT_SHAPE_SQUARE,n.previousStatement="normal",A.isTerminal||(n.nextStatement="normal");break;case g.REPORTER:n.output=A.allowDropAnywhere?null:"String",n.outputShape=w.OUTPUT_SHAPE_ROUND;break;case g.BOOLEAN:n.output="Boolean",n.outputShape=w.OUTPUT_SHAPE_HEXAGONAL;break;case g.HAT:case g.EVENT:A.hasOwnProperty("isEdgeActivated")||(A.isEdgeActivated=!0),n.outputShape=w.OUTPUT_SHAPE_SQUARE,n.nextStatement="normal";break;case g.CONDITIONAL:case g.LOOP:A.branchCount=A.branchCount||1,n.outputShape=w.OUTPUT_SHAPE_SQUARE,n.previousStatement="normal",A.isTerminal||(n.nextStatement="normal")}const s=Array.isArray(A.text)?A.text:[A.text];let o=0,a=0,B=0;const c=this._convertPlaceholders.bind(this,i),Q=this.makeMessageContextForTarget();for(;o<s.length||a<A.branchCount;){if(o<s.length){i.outLineNum=B;const A=I(s[o],Q).replace(/\[(.+?)]/g,c);n["message".concat(B)]?n["message".concat(B)]+=A:n["message".concat(B)]=A,++o,++B}a<A.branchCount&&(n["message".concat(B)]="%1",n["args".concat(B)]=[{type:"input_statement",name:"SUBSTACK".concat(a>0?a+1:""),check:"normal"}],++a,++B)}A.blockType===g.REPORTER||A.blockType===g.BOOLEAN?A.disableMonitor||0!==i.inputList.length||(n.checkboxInFlyout=!0):A.blockType===g.LOOP&&(n["lastDummyAlign".concat(B)]="RIGHT",n["message".concat(B)]="%1",n["args".concat(B)]=[{type:"field_image",src:"./static/blocks-media/repeat.svg",width:24,height:24,alt:"*",flip_rtl:!0}],++B);const E=A.isDynamic?'<mutation blockInfo="'.concat(m.escapeAttribute(JSON.stringify(A)),'"/>'):"",l=i.inputList.join(""),u='<block type="'.concat(m.escapeAttribute(t),'">').concat(E).concat(l,"</block>");return{info:i.blockInfo,json:i.blockJSON,xml:u}}_convertSeparatorForScratchBlocks(A){return{info:A,xml:'<sep gap="36"/>'}}_convertLabelForScratchBlocks(A){const e=m.escapeAttribute(A.text);return{info:A,xml:'<label text="'.concat(e,'"></label>')}}_convertButtonForScratchBlocks(A){const e=this.makeMessageContextForTarget(),t=m.escapeAttribute(I(A.text,e)),n=m.escapeAttribute(A.opcode?A.opcode:A.func);return{info:A,xml:'<button text="'.concat(t,'" callbackKey="').concat(n,'"></button>')}}_convertXmlForScratchBlocks(A){return{info:A,xml:A.xml}}_constructInlineImageJson(A){return A.dataURI||d.warn("Missing data URI in extension block with argument type IMAGE"),{type:"field_image",src:A.dataURI||"",width:24,height:24,flip_rtl:A.flipRTL||!1}}_constructVariableDropdown(A,e){const t="list"===A.type,n="broadcast"===A.type;return{type:"field_variable",name:e,variableTypes:t?["list"]:n?["broadcast_msg"]:[""],variable:n?"message1":null}}_convertPlaceholders(A,e,t){const n=A.blockInfo.arguments[t]||{};let i,r=P[n.type]||{};if(!P[n.type]&&A.categoryInfo.customFieldTypes[n.type]&&(r=A.categoryInfo.customFieldTypes[n.type].argumentTypeInfo),"field_image"===r.fieldType)i=this._constructInlineImageJson(n);else if("field_variable"===r.fieldType)i=this._constructVariableDropdown(n,t);else{i={type:"input_value",name:t};const e=void 0===n.defaultValue?"":m.escapeAttribute(I(n.defaultValue,this.makeMessageContextForTarget()).toString());let s,o,a;if(r.check&&(i.check=r.check),n.menu){const e=A.categoryInfo.menuInfo[n.menu];e.acceptReporters||e.isTypeable?(s=t,o=this._makeExtensionMenuId(n.menu,A.categoryInfo.id),a=n.menu):"string"==typeof e.variableType?(i.type="field_variable",i.variableTypes=["scalar"===e.variableType?"":e.variableType],s=null,o=null,a=t):(i.type="field_dropdown",i.options=this._convertMenuItems(e.items),s=null,o=null,a=t)}else s=t,o=r.shadow&&r.shadow.type||null,a=r.shadow&&r.shadow.fieldName||null;s&&A.inputList.push('<value name="'.concat(m.escapeAttribute(t),'">')),o&&A.inputList.push('<shadow type="'.concat(m.escapeAttribute(o),'">')),"polygon"===o&&A.inputList.push('<mutation expanded="false" points="'.concat(n.nodes,'" color="').concat(A.blockJSON.colour,'" midle="[0,0]" scale="').concat(n.defaultSize||30,'"/>')),"polygon"===o&&A.inputList.push('<mutation expanded="false" points="'.concat(n.nodes,'" color="').concat(A.blockJSON.colour,'" midle="[0,0]" scale="').concat(n.defaultSize||30,'"/>')),a&&(e||"string"===n.type&&!n.menu)&&A.inputList.push('<field name="'.concat(a,'">').concat(e,"</field>")),o&&A.inputList.push("</shadow>"),s&&A.inputList.push("</value>")}const s="args".concat(A.outLineNum),o=A.blockJSON[s]=A.blockJSON[s]||[];i&&o.push(i);const a=o.length;return A.argsMap[t]=a,"%".concat(a)}getBlocksXML(A){return this._blockInfo.map(e=>{const{name:t,color1:n,color2:i}=e;let r=e.orderBlocks;const s=e.blocks.filter(e=>{let t=!0;return A&&e.info.filter&&(t=e.info.filter.includes(A.isStage?h.STAGE:h.SPRITE)),t&&!e.info.hideFromPalette});r=r||(A=>A);const o='colour="'.concat(m(n),'" secondaryColour="').concat(m(i),'"');let a="";e.menuIconURI?a=e.menuIconURI:e.blockIconURI&&(a=e.blockIconURI);const B=a?'iconURI="'.concat(m(a),'"'):"";let c="";e.showStatusButton&&(c='showStatusButton="true"');let g='<category name="'.concat(m(t),'"');return g+=' id="'.concat(m(e.id),'"'),g+=' options="extensionControls"',g+=" ".concat(c),g+=" ".concat(o),g+=" ".concat(B,">"),g+=r(s.map(A=>A.xml)).join(""),g+="</category>",{id:e.id,xml:g}})}getBlocksJSON(){return this._blockInfo.reduce((A,e)=>A.concat(e.blocks.map(A=>A.json)),[])}getScratchLinkSocket(A){return(this._linkSocketFactory||this._defaultScratchLinkSocketFactory)(A)}configureScratchLinkSocketFactory(A){this._linkSocketFactory=A}_defaultScratchLinkSocketFactory(A){return new F(A)}registerPeripheralExtension(A,e){this.peripheralExtensions[A]=e}scanForPeripheral(A){this.peripheralExtensions[A]&&this.peripheralExtensions[A].scan()}connectPeripheral(A,e){this.peripheralExtensions[A]&&this.peripheralExtensions[A].connect(e)}disconnectPeripheral(A){this.peripheralExtensions[A]&&this.peripheralExtensions[A].disconnect()}getPeripheralIsConnected(A){let e=!1;return this.peripheralExtensions[A]&&(e=this.peripheralExtensions[A].isConnected()),e}emitMicListening(A){this.emit(X.MIC_LISTENING,A)}getOpcodeFunction(A){return this._primitives[A]}getIsHat(A){return this._hats.hasOwnProperty(A)}getIsEdgeActivatedHat(A){return this._hats.hasOwnProperty(A)&&this._hats[A].edgeActivated}attachAudioEngine(A){this.audioEngine=A}attachRenderer(A){this.renderer=A,this.renderer.setLayerGroupOrdering(M.LAYER_GROUPS),this.renderer.offscreenTouching=!this.runtimeOptions.fencing,this.updatePrivacy()}attachV2BitmapAdapter(A){this.v2BitmapAdapter=A}attachStorage(A){if(this.storage=A,this.isPackaged){const e=A.createAsset;let t=0;A.createAsset=function(A,n,i,r,s){return r||(r=(++t).toString()),e.call(this,A,n,i,r,!1)}}}_pushThread(A,e,t){const n=new C(A);return n.target=e,n.stackClick=Boolean(t&&t.stackClick),n.updateMonitor=Boolean(t&&t.updateMonitor),n.blockContainer=n.updateMonitor?this.monitorBlocks:e.blocks,n.pushStack(A),this.threads.push(n),n.stackClick||n.updateMonitor||this.threadMap.set(n.getId(),n),t&&t.updateMonitor||!this.compilerOptions.enabled||n.tryCompile(),n}_stopThread(A){A.isKilled=!0,this.sequencer.retireThread(A)}_restartThread(A){const e=new C(A.topBlock);e.target=A.target,e.stackClick=A.stackClick,e.updateMonitor=A.updateMonitor,e.blockContainer=A.blockContainer,e.pushStack(A.topBlock),A.triedToCompile&&this.compilerOptions.enabled&&e.tryCompile(),e.stackClick||e.updateMonitor||this.threadMap.set(e.getId(),e);const t=this.threads.indexOf(A);return t>-1?(this.threads[t]=e,e):(this.threads.push(A),A)}emitCompileError(A,e){this.emit(X.COMPILE_ERROR,A,e)}isActiveThread(A){return A.stack.length>0&&A.status!==C.STATUS_DONE&&this.threads.indexOf(A)>-1}isWaitingThread(A){return A.status===C.STATUS_PROMISE_WAIT||A.status===C.STATUS_YIELD_TICK||!this.isActiveThread(A)}toggleScript(A,e){e=Object.assign({target:this._editingTarget,stackClick:!1},e);for(let t=0;t<this.threads.length;t++)if(this.threads[t].topBlock===A&&this.threads[t].status!==C.STATUS_DONE){const n=e.target.blocks,i=n.getOpcode(n.getBlock(A));if(this.getIsEdgeActivatedHat(i)&&this.threads[t].stackClick!==e.stackClick)continue;return void this._stopThread(this.threads[t])}this._pushThread(A,e.target,e)}addMonitorScript(A,e){e||(e=this._editingTarget);for(let e=0;e<this.threads.length;e++)if(this.threads[e].topBlock===A&&this.threads[e].status!==C.STATUS_DONE&&this.threads[e].updateMonitor)return;this._pushThread(A,e,{updateMonitor:!0})}allScriptsDo(A,e){let t=this.executableTargets;e&&(t=[e]);for(let e=t.length-1;e>=0;e--){const n=t[e],i=n.blocks.getScripts();for(let e=0;e<i.length;e++){A(i[e],n)}}}allScriptsByOpcodeDo(A,e,t){let n=this.executableTargets;t&&(n=[t]);for(let t=n.length-1;t>=0;t--){const i=n[t],r=c.getScripts(i.blocks,A);for(let A=0;A<r.length;A++)e(r[A],i)}}startHats(A,e,t){if(!this._hats.hasOwnProperty(A))return;const n=[],i=this._hats[A];for(const A in e)e.hasOwnProperty(A)&&(e[A]=e[A].toUpperCase());const r=this.threads.length;return this.allScriptsByOpcodeDo(A,(A,t)=>{const{blockId:s,fieldsOfInputs:o}=A;for(const A in e)if(o[A].value!==e[A])return;if(i.restartExistingThreads){const A=this.threadMap.get(C.getIdFromTargetAndBlock(t,s));if(A)return void n.push(this._restartThread(A))}else for(let A=0;A<r;A++)if(this.threads[A].target===t&&this.threads[A].topBlock===s&&!this.threads[A].stackClick&&this.threads[A].status!==C.STATUS_DONE)return;n.push(this._pushThread(s,t))},t),n.forEach(A=>{this.paused&&A.pause(),A.isCompiled?A.executableHat&&(u.saveGlobalState(),u(A),u.restoreGlobalState()):(l(this.sequencer,A),A.goToNextBlock())}),n}dispose(){this.stopAll(),this.targets.forEach(A=>{A.isOriginal&&A.deleteMonitors()}),this.targets.map(this.disposeTarget,this);const A=s({});A.equals(this._monitorState)||(this._monitorState=A,this.emit(X.MONITORS_UPDATE,this._monitorState)),this.emit(X.RUNTIME_DISPOSED),this.ioDevices.clock.resetProjectTimer(),this.fontManager.clear(),this.hasCloudData()&&this.emit(X.HAS_CLOUD_DATA_UPDATE,!1),this.ioDevices.cloud.clear();const e=O(this.cloudOptions);this.hasCloudData=e.hasCloudVariables,this.canAddCloudVariable=e.canAddCloudVariable,this.getNumberOfCloudVariables=e.getNumberOfCloudVariables,this.addCloudVariable=this._initializeAddCloudVariable(e),this.removeCloudVariable=this._initializeRemoveCloudVariable(e)}addTarget(A){this.targets.push(A),this.executableTargets.push(A),A.isStage&&!this._stageTarget&&(this._stageTarget=A)}moveExecutable(A,e){const t=this.executableTargets.indexOf(A);this.executableTargets.splice(t,1);let n=t+e;return n>this.executableTargets.length&&(n=this.executableTargets.length),n<=0&&(n=this.executableTargets.length>0&&this.executableTargets[0].isStage?1:0),this.executableTargets.splice(n,0,A),n}setExecutablePosition(A,e){const t=this.executableTargets.indexOf(A);return this.moveExecutable(A,e-t)}removeExecutable(A){const e=this.executableTargets.indexOf(A);e>-1&&this.executableTargets.splice(e,1)}disposeTarget(A){this.targets=this.targets.filter(e=>A!==e||(e.dispose(),!1)),this._stageTarget===A&&(this._stageTarget=null)}stopForTarget(A,e){this.emit(X.STOP_FOR_TARGET,A,e);for(let t=0;t<this.threads.length;t++)this.threads[t]!==e&&this.threads[t].target===A&&this._stopThread(this.threads[t])}greenFlag(){this.emit(X.PROJECT_START_BEFORE_RESET),this.stopAll(),this.emit(X.PROJECT_START),this.updateCurrentMSecs(),this.ioDevices.clock.resetProjectTimer(),this.targets.forEach(A=>A.clearEdgeActivatedValues());for(let A=0;A<this.targets.length;A++)this.targets[A].onGreenFlag();this.startHats("event_whenflagclicked")}_accountForExtendedSoundsAudioContexts(){if("ext_jgExtendedAudio"in this){const A=this.ext_jgExtendedAudio.helper;A.audioContext||(A.audioContext=new AudioContext),A.audioGlobalVolumeNode||(A.audioGlobalVolumeNode=A.audioContext.createGain(),A.audioGlobalVolumeNode.gain.value=1,A.audioGlobalVolumeNode.connect(A.audioContext.destination),this.audioEngine&&(A.audioGlobalVolumeNode.gain.value=this.audioEngine.inputNode.gain.value))}}_getExtendedSoundsAudioContext(){if("ext_jgExtendedAudio"in this){return this.ext_jgExtendedAudio.helper.audioContext}}pause(){if(this.paused)return;this.paused=!0,this.audioEngine.audioContext.suspend(),this._accountForExtendedSoundsAudioContexts();const A=this._getExtendedSoundsAudioContext();A&&A.suspend();for(const A of this._extensionAudioObjects.values())A.audioContext&&A.audioContext.suspend();this.ioDevices.clock.pause(),this.frameLoop.stop();for(const A of this.threads)A.pause();this.emit(X.RUNTIME_PAUSED)}play(){if(!this.paused)return;this.paused=!1,this.audioEngine.audioContext.resume(),this._accountForExtendedSoundsAudioContexts();const A=this._getExtendedSoundsAudioContext();A&&A.resume();for(const A of this._extensionAudioObjects.values())A.audioContext&&A.audioContext.resume();this.ioDevices.clock.resume(),this.frameLoop.start();for(const A of this.threads)A.play();this.emit(X.RUNTIME_UNPAUSED)}stopAll(){this.play(),this.emit(X.PROJECT_STOP_ALL);const A=[];for(let e=0;e<this.targets.length;e++)this.targets[e].onStopAll(),this.targets[e].hasOwnProperty("isOriginal")&&!this.targets[e].isOriginal?this.targets[e].dispose():A.push(this.targets[e]);this.targets=A,null!==this.sequencer.activeThread&&this._stopThread(this.sequencer.activeThread),this.threads=[],this.threadMap.clear()}_renderInterpolatedPositions(){const A=this._lastStepTime,e=Date.now()-A,t=Math.min(1,Math.max(0,e/this.currentStepTime));z.interpolate(this,t),this.renderer&&this.renderer.draw()}updateThreadMap(){this.threadMap.clear();for(const A of this.threads)A.stackClick||A.updateMonitor||this.threadMap.set(A.getId(),A)}_step(){this.emit(X.RUNTIME_STEP_START),this.interpolationEnabled&&z.setupInitialState(this),null!==this.profiler&&(-1===W&&(W=this.profiler.idByName("Runtime._step")),this.profiler.start(W)),this.threads=this.threads.filter(A=>!A.isKilled),this.updateThreadMap();for(const A in this._hats){if(!this._hats.hasOwnProperty(A))continue;this._hats[A].edgeActivated&&this.startHats(A)}this.redrawRequested=!1,this._pushMonitors(),null!==this.profiler&&(-1===V&&(V=this.profiler.idByName("Sequencer.stepThreads")),this.profiler.start(V));const A=this.sequencer.stepThreads();null!==this.profiler&&this.profiler.stop(),this._updateGlows(A),this._emitProjectRunStatus(this.threads.length+A.length-this._getMonitorThreadCount([...this.threads,...A])),this._lastStepDoneThreads=A,this.renderer&&(null!==this.profiler&&(-1===K&&(K=this.profiler.idByName("RenderWebGL.draw")),this.profiler.start(K)),document.hidden||this.frameLoop._interpolationAnimation||this.renderer.draw(),null!==this.profiler&&this.profiler.stop()),this._refreshTargets&&(this.emit(X.TARGETS_UPDATE,!1),this._refreshTargets=!1),this._prevMonitorState.equals(this._monitorState)||(this.emit(X.MONITORS_UPDATE,this._monitorState),this._prevMonitorState=this._monitorState),null!==this.profiler&&(this.profiler.stop(),this.profiler.reportFrames()),this.interpolationEnabled&&(this._lastStepTime=Date.now())}_getMonitorThreadCount(A){let e=0;return A.forEach(A=>{A.updateMonitor&&e++}),e}_pushMonitors(){this.monitorBlocks.runAllMonitored(this)}setEditingTarget(A){const e=this._editingTarget;this._editingTarget=A,this._scriptGlowsPreviousFrame=[],this._updateGlows(),e!==this._editingTarget&&this.requestToolboxExtensionsUpdate()}setCompatibilityMode(A){A?this.setFramerate(30):this.setFramerate(60)}setFramerate(A){A>250&&(A=250),A<0&&(A=1),this.frameLoop.setFramerate(A),this.emit(X.FRAMERATE_CHANGED,A)}setInterpolation(A){this.interpolationEnabled=A,this.frameLoop.setInterpolation(this.interpolationEnabled),this.emit(X.INTERPOLATION_CHANGED,A)}setRuntimeOptions(A){this.runtimeOptions=Object.assign({},this.runtimeOptions,A),this.emit(X.RUNTIME_OPTIONS_CHANGED,this.runtimeOptions),this.renderer&&(this.renderer.offscreenTouching=!this.runtimeOptions.fencing)}setCompilerOptions(A){this.compilerOptions=Object.assign({},this.compilerOptions,A),this.resetAllCaches(),this.emit(X.COMPILER_OPTIONS_CHANGED,this.compilerOptions)}setStageSize(A,e){if(A=Math.round(Math.max(1,A)),e=Math.round(Math.max(1,e)),this.stageWidth!==A||this.stageHeight!==e){const t=A-this.stageWidth,n=e-this.stageHeight;if(this._monitorState.size>0){const A=t/2,e=n/2;for(const t of this._monitorState.valueSeq()){const n=t.set("x",t.get("x")+A).set("y",t.get("y")+e);this.requestUpdateMonitor(n)}this.emit(X.MONITORS_UPDATE,this._monitorState)}this.stageWidth=A,this.stageHeight=e,this.renderer&&this.renderer.setStageSize(-A/2,A/2,-e/2,e/2)}this.emit(X.STAGE_SIZE_CHANGED,A,e)}setInEditor(A){}convertToPackagedRuntime(){if(this.storage)throw new Error("convertToPackagedRuntime must be called before attachStorage");this.isPackaged=!0}resetAllCaches(){for(const A of this.targets)A.isOriginal&&A.blocks.resetCache();this.flyoutBlocks.resetCache(),this.monitorBlocks.resetCache()}addAddonBlock(A){const e=A.procedureCode,t=A.arguments,r=A.arguments.map((A,e)=>"arg".concat(e)),s=A.arguments.map(()=>"");if(this.addonBlocks[e]=function(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach((function(e){i(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}({namesIdsDefaults:[t,r,s]},A),!A.hidden){const A="a-b";let n=this._blockInfo.find(e=>e.id===A);if(!n){n={id:A,name:"Addons",color1:"#29beb8",color2:"#3aa8a4",color3:"#3aa8a4",menuIconURI:"data:image/svg+xml;,".concat(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48"><path d="M14.92 1.053A13.835 13.835 0 0 0 1.052 14.919v18.162a13.835 13.835 0 0 0 13.866 13.866h18.162a13.835 13.835 0 0 0 13.866-13.866V14.919A13.835 13.835 0 0 0 33.081 1.053zm16.6 12.746L41.72 24 31.52 34.201l-3.276-3.275L35.17 24l-6.926-6.926Zm-15.116.073 3.278 3.278L12.83 24l6.926 6.926L16.48 34.2 6.28 24Z" style="fill:#29beb8;fill-opacity:1;stroke:none;stroke-width:1.51371;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/></svg>')),blocks:[],customFieldTypes:{},menus:[]},this._blockInfo.unshift(n)}n.blocks.push({info:{},xml:'<block type="procedures_call" gap="16"><mutation generateshadows="true" warp="false"'+' proccode="'.concat(m(e),'"')+' argumentnames="'.concat(m(JSON.stringify(t)),'"')+' argumentids="'.concat(m(JSON.stringify(r)),'"')+' argumentdefaults="'.concat(m(JSON.stringify(s)),'"')+"></mutation></block>"})}this.resetAllCaches()}getAddonBlock(A){return Object.prototype.hasOwnProperty.call(this.addonBlocks,A)?this.addonBlocks[A]:null}findProjectOptionsComment(){const A=this.getTargetForStage().comments;for(const e of Object.values(A))if(e.text.includes(" // _twconfig_"))return e;return null}parseProjectOptions(){const A=this.findProjectOptionsComment();if(!A)return;const e=A.text.split("\n").find(A=>A.endsWith(" // _twconfig_"));if(!e)return void d.warn("Config comment does not contain valid line");const t=e.slice(0,e.length-" // _twconfig_".length);let n;try{if(n=o.parse(t),!n||"object"!=typeof n)throw new Error("Invalid object")}catch(A){return void d.warn("Config comment has invalid JSON",A)}"number"==typeof n.framerate&&this.setFramerate(n.framerate),n.turbo&&(this.turboMode=!0,this.emit(X.TURBO_MODE_ON)),n.interpolation&&this.setInterpolation(!0),n.runtimeOptions&&this.setRuntimeOptions(n.runtimeOptions),"boolean"==typeof n.hq&&this.renderer&&this.renderer.setUseHighQualityRender(n.hq);const i=+n.width||this.stageWidth,r=+n.height||this.stageHeight;i===this.stageWidth&&r===this.stageHeight||this.setStageSize(i,r)}_generateAllProjectOptions(){return{framerate:this.frameLoop.framerate,runtimeOptions:this.runtimeOptions,interpolation:this.interpolationEnabled,turbo:this.turboMode,hq:!this.renderer||this.renderer.useHighQualityRender,width:this.stageWidth,height:this.stageHeight}}generateDifferingProjectOptions(){const A=(e,t)=>{const n={};for(const i of Object.keys(t)){const r=t[i],s=e[i];if("object"==typeof r&&r){const e=A(s,r);Object.keys(e).length>0&&(n[i]=e)}else r!==s&&(n[i]=r)}return n};return A(this._defaultStoredSettings,this._generateAllProjectOptions())}storeProjectOptions(){const A=this.generateDifferingProjectOptions(),e="Configuration for https://penguinmod.com/\nYou can move, resize, and minimize this comment, but don't edit it by hand. This comment can be deleted to remove the stored settings.\n".concat(o.stringify(A)).concat(" // _twconfig_"),t=this.findProjectOptionsComment();if(t)t.text=e;else{this.getTargetForStage().createComment(J(),null,e,50,50,350,170,!1)}this.emitProjectChanged()}precompile(){this.allScriptsDo((A,e)=>{const t=e.blocks.getBlock(A);if(this.getIsHat(t.opcode)){const t=new C(A);t.target=e,t.blockContainer=e.blocks,t.tryCompile()}})}enableDebug(){this.resetAllCaches(),this.debug=!0}_updateGlows(A){const e=[];e.push.apply(e,this.threads),A&&e.push.apply(e,A);const t=[],n=[];for(let A=0;A<e.length;A++){const n=e[A],i=n.target;if(i===this._editingTarget){const A=n.blockGlowInFrame;if(n.requestScriptGlowInFrame||n.stackClick){let e=i.blocks.getTopLevelScript(A);e||(e=this.flyoutBlocks.getTopLevelScript(A)),e&&t.push(e)}}}for(let A=0;A<this._scriptGlowsPreviousFrame.length;A++){const e=this._scriptGlowsPreviousFrame[A];t.indexOf(e)<0?this.glowScript(e,!1):n.push(e)}for(let A=0;A<t.length;A++){const e=t[A];this._scriptGlowsPreviousFrame.indexOf(e)<0&&(this.glowScript(e,!0),n.push(e))}this._scriptGlowsPreviousFrame=n}_emitProjectRunStatus(A){0===this._nonMonitorThreadCount&&A>0&&this.emit(X.PROJECT_RUN_START),this._nonMonitorThreadCount>0&&0===A&&this.emit(X.PROJECT_RUN_STOP),this._nonMonitorThreadCount=A}quietGlow(A){const e=this._scriptGlowsPreviousFrame.indexOf(A);e>-1&&this._scriptGlowsPreviousFrame.splice(e,1)}glowBlock(A,e){e?this.emit(X.BLOCK_GLOW_ON,{id:A}):this.emit(X.BLOCK_GLOW_OFF,{id:A})}glowScript(A,e){e?this.emit(X.SCRIPT_GLOW_ON,{id:A}):this.emit(X.SCRIPT_GLOW_OFF,{id:A})}emitBlockDragUpdate(A){this.emit(X.BLOCK_DRAG_UPDATE,A)}emitBlockEndDrag(A,e){this.emit(X.BLOCK_DRAG_END,A,e)}visualReport(A,e){this.emit(X.VISUAL_REPORT,{id:A,value:String(e)})}requestAddMonitor(A){const e=A.get("id");this.requestUpdateMonitor(A)||(this._monitorState=this._monitorState.set(e,A))}requestUpdateMonitor(A){const e=A.get("id");return!!this._monitorState.has(e)&&(this._monitorState=this._monitorState.set(e,this._monitorState.get(e).mergeWith((A,e)=>null==e?A:e,A)),!0)}requestRemoveMonitor(A){this._monitorState=this._monitorState.delete(A)}requestHideMonitor(A){return this.requestUpdateMonitor(new Map([["id",A],["visible",!1]]))}requestShowMonitor(A){return this.requestUpdateMonitor(new Map([["id",A],["visible",!0]]))}requestRemoveMonitorByTargetId(A){this._monitorState=this._monitorState.filterNot(e=>e.targetId===A)}getTargetById(A){for(let e=0;e<this.targets.length;e++){const t=this.targets[e];if(t.id===A)return t}}getSpriteTargetByName(A){const e=Y(A);if(e.id)return this.getTargetById(e.id);for(let e=0;e<this.targets.length;e++){const t=this.targets[e];if(!t.isStage&&(t.sprite&&t.sprite.name===A))return t}}getTargetByDrawableId(A){for(let e=0;e<this.targets.length;e++){const t=this.targets[e];if(t.drawableID===A)return t}}changeCloneCounter(A){this._cloneCounter+=A}clonesAvailable(){return this._cloneCounter<this.runtimeOptions.maxClones}emitProjectLoaded(){this.emit(X.PROJECT_LOADED)}emitProjectChanged(){this.emit(X.PROJECT_CHANGED)}fireTargetWasCreated(A,e){this.emit("targetWasCreated",A,e)}fireTargetWasRemoved(A){this.emit("targetWasRemoved",A)}updateCamera(A,e,t){this.cameraStates[A]||(this.cameraStates[A]=A),Object.assign(this.cameraStates[A],e),t||this.emit(X.CAMERA_CHANGED,A)}getTargetForStage(){if(this._stageTarget)return this._stageTarget;for(let A=0;A<this.targets.length;A++){const e=this.targets[A];if(e.isStage)return this._stageTarget=e,e}}getEditingTarget(){return this._editingTarget}getAllVarNamesOfType(A){let e=[];for(const t of this.targets){const n=t.getAllVariableNamesInScopeByType(A,!0);e=e.concat(n)}return e}getLabelForOpcode(A){const[e,t]=k.splitFirst(A,"_");if(!e||!t)return;const n=this._blockInfo.find(A=>A.id===e);if(!n)return;const i=n.blocks.find(A=>A.info.opcode===t);return i?{category:"extension",label:"".concat(n.name,": ").concat(i.info.text)}:void 0}createNewGlobalVariable(A,e,t){const n="string"==typeof t?t:p.SCALAR_TYPE,i=this.getAllVarNamesOfType(n),r=k.unusedName(A,i),s=new p(e||J(),r,n);return this.getTargetForStage().variables[s.id]=s,s}requestRedraw(){this.redrawRequested=!0}requestTargetsUpdate(A){A.isOriginal&&(this._refreshTargets=!0)}requestBlocksUpdate(){this.emit(X.BLOCKS_NEED_UPDATE)}requestToolboxExtensionsUpdate(){this.emit(X.TOOLBOX_EXTENSIONS_NEED_UPDATE)}start(){this.frameLoop.running||(this.frameLoop.start(),this.emit(X.RUNTIME_STARTED))}stop(){this.frameLoop.running&&(this.frameLoop.stop(),this.emit(X.RUNTIME_STOPPED))}enableProfiling(A){Q.available()&&(this.profiler=new Q(A))}disableProfiling(){this.profiler=null}updateCurrentMSecs(){this.currentMSecs=Date.now()}updatePrivacy(){const A=this.enforcePrivacy&&Object.values(this.externalCommunicationMethods).some(A=>A);this.renderer&&this.renderer.setPrivateSkinAccess&&this.renderer.setPrivateSkinAccess(!A)}setEnforcePrivacy(A){this.enforcePrivacy=A,this.updatePrivacy()}setExternalCommunicationMethod(A,e){if(!Object.prototype.hasOwnProperty.call(this.externalCommunicationMethods,A))throw new Error("Unknown method: ".concat(A));this.externalCommunicationMethods[A]=e,this.updatePrivacy()}}A.exports=X},function(A,e,t){"use strict";t.r(e),t.d(e,"_parse",(function(){return n})),t.d(e,"parse",(function(){return i})),t.d(e,"stringify",(function(){return r}));const n=A=>{let e=0;const t=t=>{const{line:n,column:i}=(()=>{let t=0,n=0;for(let i=0;i<e;i++)"\n"===A[i]?(t++,n=0):n++;return{line:t+1,column:n+1}})();throw new SyntaxError(`${t} (Line ${n} Column ${i})`)},n=e=>(e>=A.length&&t("Unexpected end of input"),A[e]),i=()=>n(e),r=()=>{e++},s=A=>{i()!==A&&t(`Expected '${A}' but found '${i()}'`),r()},o=(t=1,i=1)=>{if(e+i+t>A.length)return"";if(1===t)return n(e+i);let r="";for(let A=0;A<t;A++)r+=n(e+i+A);return r},a=()=>{for(;;)if(/\s/.test(i()))r();else{const A=o(2,0);if("//"===A)for(r(),r();"\n"!==i();)r();else{if("/*"!==A)break;for(r(),r();"*/"!==o(2,0);)r();r(),r()}}},B=()=>{a();switch(i()){case'"':return Q();case"{":return l();case"[":return E();case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"-":return g();default:return c()}},c=()=>{if("null"===o(4,0)){for(let A=0;A<4;A++)r();return null}if("true"===o(4,0)){for(let A=0;A<4;A++)r();return!0}if("false"===o(5,0)){for(let A=0;A<5;A++)r();return!1}if("Infinity"===o(8,0)){for(let A=0;A<8;A++)r();return 1/0}if("NaN"===o(3,0)){for(let A=0;A<3;A++)r();return NaN}t(`Unexpected character '${i()}'`)},g=()=>{if("-Infinity"===o(9,0)){for(let A=0;A<9;A++)r();return-1/0}let A="";for(;A+=i(),/[\d.e+-]/i.test(o());)r();r();const e=+A;return Number.isNaN(e)&&t("Not a number: "+A),e},Q=()=>{s('"');let A="";for(;;){const e=i();if('"'===e)break;if("\\"===e)switch(r(),i()){case'"':A+='"';break;case"/":A+="/";break;case"\\":A+="\\";break;case"b":A+="\b";break;case"f":A+="\f";break;case"n":A+="\n";break;case"r":A+="\r";break;case"t":A+="\t";break;case"u":{let e="";for(let A=0;A<4;A++){r();const A=i();/[0-9a-f]/i.test(A)||t("Invalid hex code: "+A),e+=A}const n=Number.parseInt(e,16);A+=String.fromCharCode(n);break}default:t("Invalid escape code: \\"+i())}else A+=e;r()}return s('"'),A},E=()=>{s("["),a();const A=[];for(;a(),"]"!==i();){const e=B();if(A.push(e),a(),","!==i())break;r()}return s("]"),A},l=()=>{s("{"),a();const A={};for(;a(),"}"!==i();){const e=Q();a(),s(":");const t=B();if(A[e]=t,a(),","!==i())break;r()}return s("}"),A};return B()},i=A=>{try{return JSON.parse(A)}catch(e){try{return n(A)}catch(A){throw e}}},r=A=>{if("string"==typeof A)return JSON.stringify(A);if("number"==typeof A||"boolean"==typeof A)return A.toString();if(null==A||"symbol"==typeof A)return"null";if(Array.isArray(A))return`[${A.map(A=>r(A)).join(",")}]`;if("object"==typeof A){let e="{",t=!0;const n=Object.keys(A);for(let i=0;i<n.length;i++){const s=n[i],o=A[s];void 0!==o&&(t||(e+=","),e+=`${JSON.stringify(s)}:${r(o)}`,t=!1)}return e+="}",e}if("bigint"==typeof A)throw new TypeError("Can not stringify bigint");throw new TypeError("Can not stringify: "+A)}},function(A,e){A.exports=function(A){let e;if("object"==typeof A)e=A;else{e=(new DOMParser).parseFromString(A,"application/xml"),"#document"===e.nodeName&&(e=e.children[0])}return function A(e){const t=(e,t)=>{for(let n=0;n<t.children.length;n++)e.children.push(A(t.children[n]));return e.children[0]};let n=Object.create(null);if(n.tagName=e.tagName,n.children=[],!e.tagName)return console.warn("invalid dom; skiping to reading children"),n=t(n,e),n;for(let A=0;A<e.attributes.length;A++){const t=e.attributes[A],i=t.name;"xmlns"!==i&&(n[i]=t.value,"blockinfo"===i&&(n.blockInfo=JSON.parse(n.blockinfo),delete n.blockinfo))}return t(n,e),n}(e)}},function(A,e,t){e.getCached=function(){throw new Error("blocks.js has not initialized BlocksExecuteCache")},t(30)},function(A,e,t){e.getScripts=function(){throw new Error("blocks.js has not initialized BlocksRuntimeCache")},e._RuntimeScriptCache=class{constructor(A,e){this.container=A,this.blockId=e;const t=A.getBlock(e),n=A.getFields(t);if(this.fieldsOfInputs=Object.assign({},n),0===Object.keys(n).length){const e=A.getInputs(t);for(const t in e){if(!e.hasOwnProperty(t))continue;const n=e[t].block,i=A.getBlock(n),r=A.getFields(i);Object.assign(this.fieldsOfInputs,r)}}for(const A in this.fieldsOfInputs){const e=this.fieldsOfInputs[A]=Object.assign({},this.fieldsOfInputs[A]);e.value.toUpperCase&&(e.value=e.value.toUpperCase())}}},t(30)},function(A,e,t){const n=t(2),i=t(16),r=t(1),s=t(24),o=(t(13),t(8)),a=t(10),{IntermediateScript:B,IntermediateRepresentation:c}=t(112),g=t(258),Q=(A,e)=>({scope:A,id:e.id,name:e.name,isCloud:e.isCloud}),E=(A,e)=>e?"W".concat(A):"Z".concat(A),l=A=>A.substring(1);class u{constructor(A){this.thread=A,this.target=A.target,this.blocks=A.blockContainer,this.runtime=this.target.runtime,this.stage=this.runtime.getTargetForStage(),this.script=new B,this.script.warpTimer=this.target.runtime.compilerOptions.warpTimer,this.variableCache={},this.usesTimer=!1}setProcedureVariant(A){const e=l(A);this.script.procedureCode=e,this.script.isProcedure=!0,this.script.yields=!1;const t=this.blocks.getProcedureParamNamesIdsAndDefaults(e);if(null===t)throw new Error("IR: cannot find procedure: ".concat(A));const[n,i,r]=t;this.script.arguments=n}enableWarp(){this.script.isWarp=!0}getBlockById(A){return this.blocks.getBlock(A)||this.blocks.runtime.flyoutBlocks.getBlock(A)}getBlockInfo(A){const[e,t]=i.splitFirst(A,"_");if(!e||!t)return null;const n=this.runtime._blockInfo.find(A=>A.id===e);if(!n)return null;const r=n.blocks.find(A=>A.info.opcode===t);return r||null}descendInputOfBlock(A,e){const t=A.inputs[e];if(!t)return o.warn("IR: ".concat(A.opcode,": missing input ").concat(e),A),{kind:"constant",value:0};const n=t.block,i=this.getBlockById(n);return i?this.descendInput(i):(o.warn("IR: ".concat(A.opcode,": could not find input ").concat(e," with ID ").concat(n)),{kind:"constant",value:0})}descendInput(A){const e=String(A.opcode).split("_")[0],t=String(A.opcode).replace(e+"_","");if(w.hasExtensionIr(e)&&w.getExtensionIr(e)[t]){const n=w.getExtensionIr(e)[t];let i=null;try{i=n(this,A)}catch(A){o.warn(e+"_"+t,"failed to create IR data;",A)}if(i&&"input"===i.kind)return i.kind=e+"."+t,i}switch(A.opcode){case"colour_picker":return{kind:"constant",value:A.fields.COLOUR.value};case"math_angle":case"math_integer":case"math_number":case"math_positive_number":case"math_whole_number":return{kind:"constant",value:A.fields.NUM.value};case"text":return{kind:"constant",value:A.fields.TEXT.value};case"polygon":const e=[];for(let t=1;t<=A.mutation.points;t++){const n="x".concat(t),i="y".concat(t);e.push({x:this.descendInputOfBlock(A,n),y:this.descendInputOfBlock(A,i)})}return{kind:"math.polygon",points:e};case"argument_reporter_string_number":{const e=A.fields.VALUE.value,t=this.script.arguments.lastIndexOf(e);return-1===t&&"last key pressed"===e.toLowerCase()?{kind:"tw.lastKeyPressed"}:-1===t?{kind:"constant",value:0}:{kind:"args.stringNumber",index:t}}case"argument_reporter_boolean":{const e=A.fields.VALUE.value,t=this.script.arguments.lastIndexOf(e);return-1===t?"is compiled?"===e.toLowerCase()||"is turbowarp?"===e.toLowerCase()||"is penguinmod or turbowarp?"===e.toLowerCase()?{kind:"constant",value:!0}:{kind:"constant",value:0}:{kind:"args.boolean",index:t}}case"data_variable":return{kind:"var.get",variable:this.descendVariable(A,"VARIABLE","")};case"data_itemoflist":return{kind:"list.get",list:this.descendVariable(A,"LIST","list"),index:this.descendInputOfBlock(A,"INDEX")};case"data_lengthoflist":return{kind:"list.length",list:this.descendVariable(A,"LIST","list")};case"data_listcontainsitem":return{kind:"list.contains",list:this.descendVariable(A,"LIST","list"),item:this.descendInputOfBlock(A,"ITEM")};case"data_itemnumoflist":return{kind:"list.indexOf",list:this.descendVariable(A,"LIST","list"),item:this.descendInputOfBlock(A,"ITEM")};case"data_listcontents":return{kind:"list.contents",list:this.descendVariable(A,"LIST","list")};case"event_broadcast_menu":{const e=A.fields.BROADCAST_OPTION,t=this.target.lookupBroadcastMsg(e.id,e.value);return{kind:"constant",value:t?t.name:""}}case"pmEventsExpansion_broadcastFunction":return{kind:"pmEventsExpansion.broadcastFunction",broadcast:this.descendInputOfBlock(A,"BROADCAST")};case"control_inline_stack_output":return{kind:"control.inlineStackOutput",code:this.descendSubstack(A,"SUBSTACK")};case"looks_backdropnumbername":return"number"===A.fields.NUMBER_NAME.value?{kind:"looks.backdropNumber"}:{kind:"looks.backdropName"};case"looks_costumenumbername":return"number"===A.fields.NUMBER_NAME.value?{kind:"looks.costumeNumber"}:{kind:"looks.costumeName"};case"looks_size":return{kind:"looks.size"};case"motion_direction":return{kind:"motion.direction"};case"motion_xposition":return{kind:"motion.x"};case"motion_yposition":return{kind:"motion.y"};case"operator_add":return{kind:"op.add",left:this.descendInputOfBlock(A,"NUM1"),right:this.descendInputOfBlock(A,"NUM2")};case"operator_and":return{kind:"op.and",left:this.descendInputOfBlock(A,"OPERAND1"),right:this.descendInputOfBlock(A,"OPERAND2")};case"operator_contains":return{kind:"op.contains",string:this.descendInputOfBlock(A,"STRING1"),contains:this.descendInputOfBlock(A,"STRING2")};case"operator_divide":return{kind:"op.divide",left:this.descendInputOfBlock(A,"NUM1"),right:this.descendInputOfBlock(A,"NUM2")};case"operator_equals":return{kind:"op.equals",left:this.descendInputOfBlock(A,"OPERAND1"),right:this.descendInputOfBlock(A,"OPERAND2")};case"operator_gt":return{kind:"op.greater",left:this.descendInputOfBlock(A,"OPERAND1"),right:this.descendInputOfBlock(A,"OPERAND2")};case"operator_join":return{kind:"op.join",left:this.descendInputOfBlock(A,"STRING1"),right:this.descendInputOfBlock(A,"STRING2")};case"operator_length":return{kind:"op.length",string:this.descendInputOfBlock(A,"STRING")};case"operator_letter_of":return{kind:"op.letterOf",letter:this.descendInputOfBlock(A,"LETTER"),string:this.descendInputOfBlock(A,"STRING")};case"operator_lt":return{kind:"op.less",left:this.descendInputOfBlock(A,"OPERAND1"),right:this.descendInputOfBlock(A,"OPERAND2")};case"operator_mathop":{const e=this.descendInputOfBlock(A,"NUM");switch(A.fields.OPERATOR.value.toLowerCase()){case"abs":return{kind:"op.abs",value:e};case"floor":return{kind:"op.floor",value:e};case"ceiling":return{kind:"op.ceiling",value:e};case"sqrt":return{kind:"op.sqrt",value:e};case"sin":return{kind:"op.sin",value:e};case"cos":return{kind:"op.cos",value:e};case"tan":return{kind:"op.tan",value:e};case"asin":return{kind:"op.asin",value:e};case"acos":return{kind:"op.acos",value:e};case"atan":return{kind:"op.atan",value:e};case"ln":return{kind:"op.ln",value:e};case"log":return{kind:"op.log",value:e};case"e ^":return{kind:"op.e^",value:e};case"10 ^":return{kind:"op.10^",value:e};default:return{kind:"constant",value:0}}}case"operator_advlog":return{kind:"op.advlog",left:this.descendInputOfBlock(A,"NUM1"),right:this.descendInputOfBlock(A,"NUM2")};case"operator_mod":return{kind:"op.mod",left:this.descendInputOfBlock(A,"NUM1"),right:this.descendInputOfBlock(A,"NUM2")};case"operator_multiply":return{kind:"op.multiply",left:this.descendInputOfBlock(A,"NUM1"),right:this.descendInputOfBlock(A,"NUM2")};case"operator_not":return{kind:"op.not",operand:this.descendInputOfBlock(A,"OPERAND")};case"operator_or":return{kind:"op.or",left:this.descendInputOfBlock(A,"OPERAND1"),right:this.descendInputOfBlock(A,"OPERAND2")};case"operator_random":{const e=this.descendInputOfBlock(A,"FROM"),t=this.descendInputOfBlock(A,"TO");if("constant"===e.kind&&"constant"===t.kind){const A=e.value,i=t.value,r=n.toNumber(A),s=n.toNumber(i);return r===s?{kind:"constant",value:r}:n.isInt(A)&&n.isInt(i)?{kind:"op.random",low:r<=s?e:t,high:r<=s?t:e,useInts:!0,useFloats:!1}:{kind:"op.random",low:r<=s?e:t,high:r<=s?t:e,useInts:!1,useFloats:!0}}if("constant"===e.kind){if(!n.isInt(n.toNumber(e.value)))return{kind:"op.random",low:e,high:t,useInts:!1,useFloats:!0}}else if("constant"===t.kind&&!n.isInt(n.toNumber(t.value)))return{kind:"op.random",low:e,high:t,useInts:!1,useFloats:!0};return{kind:"op.random",low:e,high:t,useInts:!1,useFloats:!1}}case"operator_round":return{kind:"op.round",value:this.descendInputOfBlock(A,"NUM")};case"operator_subtract":return{kind:"op.subtract",left:this.descendInputOfBlock(A,"NUM1"),right:this.descendInputOfBlock(A,"NUM2")};case"sensing_answer":return{kind:"sensing.answer"};case"sensing_coloristouchingcolor":return{kind:"sensing.colorTouchingColor",target:this.descendInputOfBlock(A,"COLOR2"),mask:this.descendInputOfBlock(A,"COLOR")};case"sensing_current":switch(A.fields.CURRENTMENU.value.toLowerCase()){case"year":return{kind:"sensing.year"};case"month":return{kind:"sensing.month"};case"date":return{kind:"sensing.date"};case"dayofweek":return{kind:"sensing.dayofweek"};case"hour":return{kind:"sensing.hour"};case"minute":return{kind:"sensing.minute"};case"second":return{kind:"sensing.second"}}return{kind:"constant",value:0};case"sensing_dayssince2000":return{kind:"sensing.daysSince2000"};case"sensing_distanceto":return{kind:"sensing.distance",target:this.descendInputOfBlock(A,"DISTANCETOMENU")};case"sensing_keypressed":return{kind:"keyboard.pressed",key:this.descendInputOfBlock(A,"KEY_OPTION")};case"sensing_mousedown":return{kind:"mouse.down"};case"sensing_mousex":return{kind:"mouse.x"};case"sensing_mousey":return{kind:"mouse.y"};case"sensing_of":return{kind:"sensing.of",property:A.fields.PROPERTY.value,object:this.descendInputOfBlock(A,"OBJECT")};case"sensing_timer":return this.usesTimer=!0,{kind:"timer.get"};case"sensing_touchingcolor":return{kind:"sensing.touchingColor",color:this.descendInputOfBlock(A,"COLOR")};case"sensing_touchingobject":return{kind:"sensing.touching",object:this.descendInputOfBlock(A,"TOUCHINGOBJECTMENU")};case"sensing_username":return{kind:"sensing.username"};case"sound_sounds_menu":return{kind:"constant",value:A.fields.SOUND_MENU.value};case"tempVars_getVariable":return{kind:"tempVars.get",var:this.descendInputOfBlock(A,"name")};case"tempVars_variableExists":return{kind:"tempVars.exists",var:this.descendInputOfBlock(A,"name")};case"tempVars_allVariables":return{kind:"tempVars.all"};case"procedures_call_return":case"procedures_call":{const e=A.mutation.proccode;if("tw:debugger;"===e)return{kind:"tw.debugger"};const t=this.blocks.getProcedureParamNamesIdsAndDefaults(e);if(null===t)return{kind:"noop"};const[n,i,r]=t;if(this.runtime.getAddonBlock(e)){this.script.yields=!0;const t={};for(let e=0;e<i.length;e++){let s;s=A.inputs[i[e]]&&A.inputs[i[e]].block?this.descendInputOfBlock(A,i[e]):{kind:"constant",value:r[e]},t[n[e]]=s}return{kind:"addons.call",code:e,arguments:t,blockId:A.id}}const s=this.blocks.getProcedureDefinition(e),o=this.blocks.getBlock(s);if(!o)return{kind:"noop"};const a=this.blocks.getBlock(o.inputs.custom_block.block);let B=this.script.isWarp;if(!B&&a&&a.mutation){const A=a.mutation.warp;"boolean"==typeof A?B=A:"string"==typeof A&&(B=JSON.parse(A))}const c=E(e,B);this.script.dependedProcedures.includes(c)||this.script.dependedProcedures.push(c),this.script.isWarp||e===this.script.procedureCode&&(this.script.yields=!0);const g=[];for(let e=0;e<i.length;e++){let t;t=A.inputs[i[e]]&&A.inputs[i[e]].block?this.descendInputOfBlock(A,i[e]):{kind:"constant",value:r[e]},g.push(t)}return{kind:"procedures.call",code:e,variant:c,returns:!0,arguments:g,type:JSON.parse(A.mutation.opType||'"string"')}}case"tw_getLastKeyPressed":return{kind:"tw.lastKeyPressed"};default:{if(this.runtime.getOpcodeFunction(A.opcode)){if(g.outputBlocks.includes(A.opcode))return this.descendCompatLayer(A);const e=this.getBlockInfo(A.opcode);if(e){const t=e.info.blockType,n=this.descendCompatLayer(A);if(n.block=A,A.mutation&&(n.mutation=A.mutation),t===r.REPORTER||t===r.BOOLEAN)return n}}const e=Object.keys(A.inputs),t=Object.keys(A.fields);if(0===e.length&&1===t.length)return{kind:"constant",value:A.fields[t[0]].value};throw o.warn("IR: Unknown input: ".concat(A.opcode),A),new Error("IR: Unknown input: ".concat(A.opcode))}}}descendStackedBlock(A){const e=String(A.opcode).split("_")[0],t=String(A.opcode).replace(e+"_","");if(w.hasExtensionIr(e)&&w.getExtensionIr(e)[t]){const n=w.getExtensionIr(e)[t];let i=null;try{i=n(this,A)}catch(A){o.warn(e+"_"+t,"failed to create IR data;",A)}if(i&&"stack"===i.kind)return i.kind=e+"."+t,i}switch(A.opcode){case"your_mom":return{kind:"your mom"};case"control_switch":return{kind:"control.switch",test:this.descendInputOfBlock(A,"CONDITION"),conditions:this.descendSubstack(A,"SUBSTACK"),default:[]};case"control_switch_default":return{kind:"control.switch",test:this.descendInputOfBlock(A,"CONDITION"),conditions:this.descendSubstack(A,"SUBSTACK1"),default:this.descendSubstack(A,"SUBSTACK2")};case"control_case_next":return{kind:"control.case",condition:this.descendInputOfBlock(A,"CONDITION"),code:this.descendSubstack(A,"SUBSTACK"),runsNext:!0};case"control_case":return{kind:"control.case",condition:this.descendInputOfBlock(A,"CONDITION"),code:this.descendSubstack(A,"SUBSTACK"),runsNext:!1};case"control_exitCase":return{kind:"control.exitCase"};case"control_exitLoop":return{kind:"control.exitLoop"};case"control_all_at_once":return{kind:"control.allAtOnce",condition:{kind:"constant",value:!0},code:this.descendSubstack(A,"SUBSTACK")};case"control_create_clone_of":return{kind:"control.createClone",target:this.descendInputOfBlock(A,"CLONE_OPTION")};case"control_delete_this_clone":return this.script.yields=!0,{kind:"control.deleteClone"};case"control_forever":return this.analyzeLoop(),{kind:"control.while",condition:{kind:"constant",value:!0},do:this.descendSubstack(A,"SUBSTACK")};case"control_for_each":return this.analyzeLoop(),{kind:"control.for",variable:this.descendVariable(A,"VARIABLE",""),count:this.descendInputOfBlock(A,"VALUE"),do:this.descendSubstack(A,"SUBSTACK")};case"control_if":return{kind:"control.if",condition:this.descendInputOfBlock(A,"CONDITION"),whenTrue:this.descendSubstack(A,"SUBSTACK"),whenFalse:[]};case"control_if_else":return{kind:"control.if",condition:this.descendInputOfBlock(A,"CONDITION"),whenTrue:this.descendSubstack(A,"SUBSTACK"),whenFalse:this.descendSubstack(A,"SUBSTACK2")};case"control_repeat":return this.analyzeLoop(),{kind:"control.repeat",times:this.descendInputOfBlock(A,"TIMES"),do:this.descendSubstack(A,"SUBSTACK")};case"control_repeatForSeconds":return this.analyzeLoop(),{kind:"control.repeatForSeconds",times:this.descendInputOfBlock(A,"TIMES"),do:this.descendSubstack(A,"SUBSTACK")};case"control_repeat_until":{this.analyzeLoop(),this.usesTimer=!1;const e=this.descendInputOfBlock(A,"CONDITION"),t=this.usesTimer;return t&&(this.script.yields=!0),{kind:"control.while",condition:{kind:"op.not",operand:e},do:this.descendSubstack(A,"SUBSTACK"),warpTimer:t}}case"control_stop":{const e=A.fields.STOP_OPTION.value;return"all"===e?(this.script.yields=!0,{kind:"control.stopAll"}):"other scripts in sprite"===e||"other scripts in stage"===e?{kind:"control.stopOthers"}:"this script"===e?{kind:"control.stopScript"}:{kind:"noop"}}case"control_wait":return this.script.yields=!0,{kind:"control.wait",seconds:this.descendInputOfBlock(A,"DURATION")};case"control_waittick":return this.script.yields=!0,{kind:"control.waitTick"};case"control_wait_until":return this.script.yields=!0,{kind:"control.waitUntil",condition:this.descendInputOfBlock(A,"CONDITION")};case"control_waitsecondsoruntil":return this.script.yields=!0,{kind:"control.waitOrUntil",seconds:this.descendInputOfBlock(A,"DURATION"),condition:this.descendInputOfBlock(A,"CONDITION")};case"control_while":return this.analyzeLoop(),{kind:"control.while",condition:this.descendInputOfBlock(A,"CONDITION"),do:this.descendSubstack(A,"SUBSTACK"),warpTimer:!1};case"control_run_as_sprite":return{kind:"control.runAsSprite",sprite:this.descendInputOfBlock(A,"RUN_AS_OPTION"),substack:this.descendSubstack(A,"SUBSTACK")};case"control_new_script":return{kind:"control.newScript",substack:this.descendSubstack(A,"SUBSTACK")};case"data_addtolist":return{kind:"list.add",list:this.descendVariable(A,"LIST","list"),item:this.descendInputOfBlock(A,"ITEM")};case"data_changevariableby":{const e=this.descendVariable(A,"VARIABLE","");return{kind:"var.set",variable:e,value:{kind:"op.add",left:{kind:"var.get",variable:e},right:this.descendInputOfBlock(A,"VALUE")}}}case"data_deletealloflist":return{kind:"list.deleteAll",list:this.descendVariable(A,"LIST","list")};case"data_listforeachnum":return this.analyzeLoop(),{kind:"list.forEach",num:!0,list:this.descendVariable(A,"LIST","list"),variable:this.descendVariable(A,"VARIABLE",""),do:this.descendSubstack(A,"SUBSTACK")};case"data_listforeachitem":return this.analyzeLoop(),{kind:"list.forEach",num:!1,list:this.descendVariable(A,"LIST","list"),variable:this.descendVariable(A,"VARIABLE",""),do:this.descendSubstack(A,"SUBSTACK")};case"data_deleteoflist":{const e=this.descendInputOfBlock(A,"INDEX");return"constant"===e.kind&&"all"===e.value?{kind:"list.deleteAll",list:this.descendVariable(A,"LIST","list")}:{kind:"list.delete",list:this.descendVariable(A,"LIST","list"),index:e}}case"data_hidelist":return{kind:"list.hide",list:this.descendVariable(A,"LIST","list")};case"data_hidevariable":return{kind:"var.hide",variable:this.descendVariable(A,"VARIABLE","")};case"data_insertatlist":return{kind:"list.insert",list:this.descendVariable(A,"LIST","list"),index:this.descendInputOfBlock(A,"INDEX"),item:this.descendInputOfBlock(A,"ITEM")};case"data_replaceitemoflist":return{kind:"list.replace",list:this.descendVariable(A,"LIST","list"),index:this.descendInputOfBlock(A,"INDEX"),item:this.descendInputOfBlock(A,"ITEM")};case"data_setvariableto":return{kind:"var.set",variable:this.descendVariable(A,"VARIABLE",""),value:this.descendInputOfBlock(A,"VALUE")};case"data_showlist":return{kind:"list.show",list:this.descendVariable(A,"LIST","list")};case"data_showvariable":return{kind:"var.show",variable:this.descendVariable(A,"VARIABLE","")};case"event_broadcast":return{kind:"event.broadcast",broadcast:this.descendInputOfBlock(A,"BROADCAST_INPUT")};case"event_broadcastandwait":return this.script.yields=!0,{kind:"event.broadcastAndWait",broadcast:this.descendInputOfBlock(A,"BROADCAST_INPUT")};case"looks_changeeffectby":return{kind:"looks.changeEffect",effect:A.fields.EFFECT.value.toLowerCase(),value:this.descendInputOfBlock(A,"CHANGE")};case"looks_changesizeby":return{kind:"looks.changeSize",size:this.descendInputOfBlock(A,"CHANGE")};case"looks_cleargraphiceffects":return{kind:"looks.clearEffects"};case"looks_goforwardbackwardlayers":return"forward"===A.fields.FORWARD_BACKWARD.value?{kind:"looks.forwardLayers",layers:this.descendInputOfBlock(A,"NUM")}:{kind:"looks.backwardLayers",layers:this.descendInputOfBlock(A,"NUM")};case"looks_gotofrontback":return"front"===A.fields.FRONT_BACK.value?{kind:"looks.goToFront"}:{kind:"looks.goToBack"};case"looks_hide":return{kind:"looks.hide"};case"looks_nextbackdrop":return{kind:"looks.nextBackdrop"};case"looks_nextcostume":return{kind:"looks.nextCostume"};case"looks_seteffectto":return{kind:"looks.setEffect",effect:A.fields.EFFECT.value.toLowerCase(),value:this.descendInputOfBlock(A,"VALUE")};case"looks_setsizeto":return{kind:"looks.setSize",size:this.descendInputOfBlock(A,"SIZE")};case"looks_setFont":return{kind:"looks.setFont",font:this.descendInputOfBlock(A,"font"),size:this.descendInputOfBlock(A,"size")};case"looks_setColor":return{kind:"looks.setColor",prop:A.fields.prop.value,color:this.descendInputOfBlock(A,"color")};case"looks_setShape":return{kind:"looks.setShape",prop:A.fields.prop.value,value:this.descendInputOfBlock(A,"color")};case"looks_show":return{kind:"looks.show"};case"looks_switchbackdropto":return{kind:"looks.switchBackdrop",backdrop:this.descendInputOfBlock(A,"BACKDROP")};case"looks_switchcostumeto":return{kind:"looks.switchCostume",costume:this.descendInputOfBlock(A,"COSTUME")};case"motion_changexby":return{kind:"motion.changeX",dx:this.descendInputOfBlock(A,"DX")};case"motion_changeyby":return{kind:"motion.changeY",dy:this.descendInputOfBlock(A,"DY")};case"motion_gotoxy":return{kind:"motion.setXY",x:this.descendInputOfBlock(A,"X"),y:this.descendInputOfBlock(A,"Y")};case"motion_ifonedgebounce":return{kind:"motion.ifOnEdgeBounce"};case"motion_movesteps":return{kind:"motion.step",steps:this.descendInputOfBlock(A,"STEPS")};case"motion_pointindirection":return{kind:"motion.setDirection",direction:this.descendInputOfBlock(A,"DIRECTION")};case"motion_setrotationstyle":return{kind:"motion.setRotationStyle",style:A.fields.STYLE.value};case"motion_setx":return{kind:"motion.setX",x:this.descendInputOfBlock(A,"X")};case"motion_sety":return{kind:"motion.setY",y:this.descendInputOfBlock(A,"Y")};case"motion_turnleft":return{kind:"motion.setDirection",direction:{kind:"op.subtract",left:{kind:"motion.direction"},right:this.descendInputOfBlock(A,"DEGREES")}};case"motion_turnright":return{kind:"motion.setDirection",direction:{kind:"op.add",left:{kind:"motion.direction"},right:this.descendInputOfBlock(A,"DEGREES")}};case"pen_clear":return{kind:"pen.clear"};case"pen_changePenColorParamBy":return{kind:"pen.changeParam",param:this.descendInputOfBlock(A,"COLOR_PARAM"),value:this.descendInputOfBlock(A,"VALUE")};case"pen_changePenHueBy":return{kind:"pen.legacyChangeHue",hue:this.descendInputOfBlock(A,"HUE")};case"pen_changePenShadeBy":return{kind:"pen.legacyChangeShade",shade:this.descendInputOfBlock(A,"SHADE")};case"pen_penDown":return{kind:"pen.down"};case"pen_penUp":return{kind:"pen.up"};case"pen_setPenColorParamTo":return{kind:"pen.setParam",param:this.descendInputOfBlock(A,"COLOR_PARAM"),value:this.descendInputOfBlock(A,"VALUE")};case"pen_setPenColorToColor":return{kind:"pen.setColor",color:this.descendInputOfBlock(A,"COLOR")};case"pen_setPenHueToNumber":return{kind:"pen.legacySetHue",hue:this.descendInputOfBlock(A,"HUE")};case"pen_setPenShadeToNumber":return{kind:"pen.legacySetShade",shade:this.descendInputOfBlock(A,"SHADE")};case"pen_setPenSizeTo":return{kind:"pen.setSize",size:this.descendInputOfBlock(A,"SIZE")};case"pen_changePenSizeBy":return{kind:"pen.changeSize",size:this.descendInputOfBlock(A,"SIZE")};case"pen_stamp":return{kind:"pen.stamp"};case"procedures_return":return{kind:"procedures.return",return:this.descendInputOfBlock(A,"return")};case"procedures_call":{if("true"===A.mutation.returns){const e=a.simple(A);return e.opcode="procedures_call_return",this.descendStackedBlock(e)}const e=A.mutation.proccode;if("tw:debugger;"===e)return{kind:"tw.debugger"};const t=this.blocks.getProcedureParamNamesIdsAndDefaults(e);if(null===t)return{kind:"noop"};const[n,i,r]=t;if(this.runtime.getAddonBlock(e)){this.script.yields=!0;const t={};for(let e=0;e<i.length;e++){let s;s=A.inputs[i[e]]&&A.inputs[i[e]].block?this.descendInputOfBlock(A,i[e]):{kind:"constant",value:r[e]},t[n[e]]=s}return{kind:"addons.call",code:e,arguments:t,blockId:A.id}}const s=this.blocks.getProcedureDefinition(e),o=this.blocks.getBlock(s);if(!o)return{kind:"noop"};const B=this.blocks.getBlock(o.inputs.custom_block.block);let c=this.script.isWarp;if(!c&&B&&B.mutation){const A=B.mutation.warp;"boolean"==typeof A?c=A:"string"==typeof A&&(c=JSON.parse(A))}const g=E(e,c);this.script.dependedProcedures.includes(g)||this.script.dependedProcedures.push(g),this.script.isWarp||e===this.script.procedureCode&&(this.script.yields=!0);const Q=[];for(let e=0;e<i.length;e++){let t;t=A.inputs[i[e]]&&A.inputs[i[e]].block?this.descendInputOfBlock(A,i[e]):{kind:"constant",value:r[e]},Q.push(t)}return{kind:"procedures.call",code:e,variant:g,returns:!1,arguments:Q,type:JSON.parse(A.mutation.optype||'"statement"')}}case"sensing_set_of":return{kind:"sensing.set.of",property:A.fields.PROPERTY.value,object:this.descendInputOfBlock(A,"OBJECT"),value:this.descendInputOfBlock(A,"VALUE")};case"sensing_resettimer":return{kind:"timer.reset"};case"tempVars_setVariable":return{kind:"tempVars.set",var:this.descendInputOfBlock(A,"name"),val:this.descendInputOfBlock(A,"value")};case"tempVars_changeVariable":{const e=this.descendInputOfBlock(A,"name");return{kind:"tempVars.set",var:e,val:{kind:"op.add",left:{kind:"tempVars.get",var:e},right:this.descendInputOfBlock(A,"value")}}}case"tempVars_deleteVariable":return{kind:"tempVars.delete",var:this.descendInputOfBlock(A,"name")};case"tempVars_deleteAllVariables":return{kind:"tempVars.deleteAll"};case"tempVars_forEachTempVar":return{kind:"tempVars.forEach",var:this.descendInputOfBlock(A,"NAME"),loops:this.descendInputOfBlock(A,"REPEAT"),do:this.descendSubstack(A,"SUBSTACK")};default:if(this.runtime.getOpcodeFunction(A.opcode)){if(g.statementBlocks.includes(A.opcode))return this.descendCompatLayer(A);const e=this.getBlockInfo(A.opcode);if(e){const t=e.info.blockType,n=this.descendCompatLayer(A,e.info);if(n.block=A,A.mutation&&(n.mutation=A.mutation),t===r.COMMAND)return n}}if(this.thread.stackClick)try{return{kind:"visualReport",input:this.descendInput(A)}}catch(A){}throw o.warn("IR: Unknown stacked block: ".concat(A.opcode),A),new Error("IR: Unknown stacked block: ".concat(A.opcode))}}descendSubstack(A,e){const t=A.inputs[e];if(!t)return[];const n=t.block;return this.walkStack(n)}walkStack(A){const e=[];let t=A;for(;null!==t;){const A=this.getBlockById(t);if(!A)break;const n=this.descendStackedBlock(A);e.push(n),t=A.next}return e}descendVariable(A,e,t){const n=A.fields[e],i=n.id;if(this.variableCache.hasOwnProperty(i))return this.variableCache[i];const r=this._descendVariable(i,n.value,t);return this.variableCache[i]=r,r}_descendVariable(A,e,t){const n=this.target,i=this.stage;if(n.variables.hasOwnProperty(A))return Q("target",n.variables[A]);if(!n.isStage&&i&&i.variables.hasOwnProperty(A))return Q("stage",i.variables[A]);for(const A in n.variables)if(n.variables.hasOwnProperty(A)){const i=n.variables[A];if(i.name===e&&i.type===t)return Q("target",i)}if(!n.isStage&&i)for(const A in i.variables)if(i.variables.hasOwnProperty(A)){const n=i.variables[A];if(n.name===e&&n.type===t)return Q("stage",n)}const r=new s(A,e,t,!1);if(n.variables[A]=r,n.sprite)for(const i of n.sprite.clones)i.variables.hasOwnProperty(A)||(i.variables[A]=new s(A,e,t,!1));return Q("target",r)}descendCompatLayer(A,e){this.script.yields=!0;const t={},n={};for(const e of Object.keys(A.inputs))t[e]=this.descendInputOfBlock(A,e);if(e&&e.branchCount){let n=0;for(;n<e.branchCount;){let e="SUBSTACK".concat(n+1);const i=this.descendSubstack(A,e);e=e.toLowerCase(),t[e]=i,n++}}for(const e of Object.keys(A.fields)){const t=A.fields[e].variableType;if(void 0===t)n[e]=A.fields[e].value;else{const i=this.descendVariable(A,e,t);i.type=t,n[e]=i}}return{kind:"compat",opcode:A.opcode,inputs:t,fields:n}}analyzeLoop(){this.script.isWarp&&!this.script.warpTimer||(this.script.yields=!0)}readTopBlockComment(A){const e=this.target.comments[A];if(!e)return;const t=e.text;for(const A of t.split("\n")){if(!/^tw\b/.test(A))continue;const e=A.split(" ");for(const A of e)switch(A){case"nocompile":throw new Error("Script explicitly disables compilation");case"stuck":this.script.warpTimer=!0}break}}walkHat(A){const e=A.next,t=A.opcode,n=this.runtime._hats[t];if(this.thread.stackClick){return this.runtime.getOpcodeFunction(t)?[this.descendCompatLayer(A),...this.walkStack(e)]:this.walkStack(e)}if(n.edgeActivated)return this.script.yields=!0,this.script.executableHat=!0,[{kind:"hat.edge",id:A.id,condition:this.descendCompatLayer(A)},...this.walkStack(e)];return this.runtime.getOpcodeFunction(t)?(this.script.yields=!0,this.script.executableHat=!0,[{kind:"hat.predicate",condition:this.descendCompatLayer(A)},...this.walkStack(e)]):this.walkStack(e)}generate(A){this.blocks.populateProcedureCache(),this.script.topBlockId=A;const e=this.getBlockById(A);if(!e){if(this.script.isProcedure)return this.script;throw new Error("Cannot find top block")}e.comment&&this.readTopBlockComment(e.comment);if(!!this.runtime._hats[e.opcode])this.script.stack=this.walkHat(e);else{let t;t="procedures_definition"===e.opcode||"procedures_definition_return"===e.opcode?e.next:A,t&&(this.script.stack=this.walkStack(t))}return this.script}}class w{constructor(A){this.thread=A,this.blocks=A.blockContainer,this.proceduresToCompile=new Map,this.compilingProcedures=new Map,this.procedures={},this.analyzedProcedures=[]}static setExtensionIr(A,e){w._extensionIRInfo[A]=e}static hasExtensionIr(A){return Boolean(w._extensionIRInfo[A])}static getExtensionIr(A){return w._extensionIRInfo[A]}addProcedureDependencies(A){for(const e of A){if(this.procedures.hasOwnProperty(e))continue;if(this.compilingProcedures.has(e))continue;if(this.proceduresToCompile.has(e))continue;const A=l(e),t=this.blocks.getProcedureDefinition(A);this.proceduresToCompile.set(e,t)}}generateScriptTree(A,e){const t=A.generate(e);return this.addProcedureDependencies(t.dependedProcedures),t}analyzeScript(A){let e=!1;for(const t of A.dependedProcedures){const n=this.procedures[t];this.analyzedProcedures.includes(t)||(this.analyzedProcedures.push(t),this.analyzeScript(n)&&(e=!0),this.analyzedProcedures.pop()),n.yields&&!A.yields&&(A.yields=!0,e=!0)}return e}generate(){const A=this.generateScriptTree(new u(this.thread),this.thread.topBlock),e=this.blocks._cache.compiledProcedures;for(;this.proceduresToCompile.size>0;){this.compilingProcedures=this.proceduresToCompile,this.proceduresToCompile=new Map;for(const[A,t]of this.compilingProcedures.entries())if(e[A]){const t=e[A];this.procedures[A]=t,this.addProcedureDependencies(t.dependedProcedures)}else{const n="W"===A.charAt(0),i=new u(this.thread);i.setProcedureVariant(A),n&&i.enableWarp();const r=this.generateScriptTree(i,t);this.procedures[A]=r,e[A]=r}}for(;this.analyzeScript(A););const t=new c;return t.entry=A,t.procedures=this.procedures,t}}var h,C,d;h=w,d={},(C=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(C="_extensionIRInfo"))in h?Object.defineProperty(h,C,{value:d,enumerable:!0,configurable:!0,writable:!0}):h[C]=d,A.exports=w},function(A,e){A.exports={IntermediateScript:class{constructor(){this.topBlockId=null,this.stack=null,this.isProcedure=!1,this.procedureCode="",this.arguments=[],this.isWarp=!1,this.yields=!0,this.warpTimer=!1,this.dependedProcedures=[],this.cachedCompileResult=null,this.executableHat=!1}},IntermediateRepresentation:class{constructor(){this.entry=null,this.procedures={}}}}},function(A,e,t){const n=t(8),i=t(2),r=t(259),s=t(74),o=t(261),{IntermediateScript:a,IntermediateRepresentation:B}=t(112),c=A=>("string"!=typeof A&&(n.warn("sanitize got unexpected type: ".concat(typeof A)),A=""+A),JSON.stringify(A).slice(1,-1)),g="runtime.ext_pen",Q="".concat(g,"._getPenState(target)"),E=new r("factory"),l=new r("fun"),u=new r("gen");class w{constructor(A,e){if("number"!=typeof e)throw new Error("type is invalid");this.source=A,this.type=e}asNumber(){return 1===this.type?this.source:5===this.type?"(".concat(this.source," || 0)"):"(+".concat(this.source," || 0)")}asNumberOrNaN(){return 1===this.type||5===this.type?this.source:"(+".concat(this.source,")")}asString(){return 2===this.type?this.source:'("" + '.concat(this.source,")")}asBoolean(){return 4===this.type?"toBoolean(".concat(this.source,")"):2===this.type?"".concat(this.source," === 'false' || ").concat(this.source," === '0' ? false : true"):1===this.type?"".concat(this.source," !== 0"):5===this.type?"(".concat(this.source," || 0) !== 0"):this.source}asColor(){return this.asUnknown()}asUnknown(){return this.source}asSafe(){return this.asUnknown()}isAlwaysNumber(){return 1===this.type}isAlwaysNumberOrNaN(){return 1===this.type||5===this.type}isNeverNumber(){return!1}}class h{constructor(A,e){this.constantValue=A,this.safe=e}asNumber(){const A=+this.constantValue;return A?A.toString():Object.is(A,-0)?"-0":"0"}asNumberOrNaN(){return this.asNumber()}asString(){return'"'.concat(c(""+this.constantValue),'"')}asBoolean(){return i.toBoolean(this.constantValue).toString()}asColor(){if(/^#[0-9a-f]{6,8}$/i.test(this.constantValue)){const A=this.constantValue.slice(1);return Number.parseInt(A,16).toString()}return this.asUnknown()}asUnknown(){if("number"==typeof this.constantValue)return this.constantValue;return(+this.constantValue).toString()===this.constantValue?this.constantValue:this.asString()}asSafe(){return this.safe?this.asUnknown():this.asString()}isAlwaysNumber(){const A=+this.constantValue;return!Number.isNaN(A)&&(0!==A||""!==this.constantValue.toString().trim())}isAlwaysNumberOrNaN(){return this.isAlwaysNumber()}isNeverNumber(){return Number.isNaN(+this.constantValue)}}class C{constructor(A){this.source=A,this.type=4,this._value=null}setInput(A){if(A instanceof C){if(!A._value)return this.type=4,void(this._value=null);A=A._value}this._value=A,this.type=A instanceof w?A.type:4}asNumber(){return 1===this.type?this.source:5===this.type?"(".concat(this.source," || 0)"):"(+".concat(this.source," || 0)")}asNumberOrNaN(){return 1===this.type||5===this.type?this.source:"(+".concat(this.source,")")}asString(){return 2===this.type?this.source:'("" + '.concat(this.source,")")}asBoolean(){return 3===this.type?this.source:"toBoolean(".concat(this.source,")")}asColor(){return this.asUnknown()}asUnknown(){return this.source}asSafe(){return this.asUnknown()}isAlwaysNumber(){return!!this._value&&this._value.isAlwaysNumber()}isAlwaysNumberOrNaN(){return!!this._value&&this._value.isAlwaysNumberOrNaN()}isNeverNumber(){return!!this._value&&this._value.isNeverNumber()}}const d=A=>{const e=+A.constantValue;return!!e&&e.toString()===A.constantValue.toString()};class I{constructor(A,e){this.isLoop=A,this.isLastBlock=!1,this.importantData={parents:[e]},A&&(this.importantData.containedByLoop=A),this.parent=e}assignData(A){A instanceof I&&((A=A.importantData).parents=A.parents.concat(this.importantData.parents)),Object.assign(this.importantData,A)}}class M{constructor(A,e,t){this.script=A,this.ir=e,this.target=t,this.source="",this.variableInputs={},this.isWarp=A.isWarp,this.isProcedure=A.isProcedure,this.warpTimer=A.warpTimer,this.frames=[],this.currentFrame=null,this.namesOfCostumesAndSounds=(A=>{const e=new Set;for(const t of A.targets)if(t.isOriginal){const A=t.sprite;for(const t of A.costumes)e.add(t.name);for(const t of A.sounds)e.add(t.name)}return e})(t.runtime),this.localVariables=new r("a"),this._setupVariablesPool=new r("b"),this._setupVariables={},this.descendedIntoModulo=!1,this.isInHat=!1,this.debug=this.target.runtime.debug}static setExtensionJs(A,e){M._extensionJSInfo[A]=e}static hasExtensionJs(A){return Boolean(M._extensionJSInfo[A])}static getExtensionJs(A){return M._extensionJSInfo[A]}static getExtensionImports(){return{Frame:I,TypedInput:w,VariableInput:C,ConstantInput:h,VariablePool:r,TYPE_NUMBER:1,TYPE_STRING:2,TYPE_BOOLEAN:3,TYPE_UNKNOWN:4,TYPE_NUMBER_NAN:5}}pushFrame(A){this.frames.push(A),this.currentFrame=A}popFrame(){this.frames.pop(),this.currentFrame=this.frames[this.frames.length-1]}isLastBlockInLoop(){for(let A=this.frames.length-1;A>=0;A--){const e=this.frames[A];if(!e.isLastBlock)return!1;if(e.isLoop)return!0}return!1}descendInput(A){const e=String(A.kind).split(".")[0],t=String(A.kind).replace(e+".","");if(M.hasExtensionJs(e)&&M.getExtensionJs(e)[t]){const i=M.getExtensionImports(),r=M.getExtensionJs(e)[t];let s=null;try{s=r(A,this,i)}catch(A){n.warn(e+"_"+t,"failed to compile JavaScript;",A)}return s}switch(A.kind){case"args.boolean":return new w("toBoolean(p".concat(A.index,")"),3);case"args.stringNumber":return new w("p".concat(A.index),4);case"compat":return new w("(".concat(this.generateCompatibilityLayerCall(A,!1),")"),4);case"constant":return this.safeConstantInput(A.value);case"math.polygon":let e=JSON.stringify(A.points.map((A,e)=>({x:"x".concat(e),y:"y".concat(e)})));for(let t=0;t<A.points.length;t++){const n=A.points[t],i='"x'.concat(t,'"'),r='"y'.concat(t,'"');e=e.replace(i,this.descendInput(n.x).asNumber()).replace(r,this.descendInput(n.y).asNumber())}return new w(e,4);case"control.inlineStackOutput":{const e=this.source;this.source="(yield* (function*() {",this.descendStack(A.code,new I(!1,"control.inlineStackOutput")),this.source+="})())";const t=this.source;return this.source=e,new w(t,4)}case"keyboard.pressed":return new w("runtime.ioDevices.keyboard.getKeyIsDown(".concat(this.descendInput(A.key).asSafe(),")"),3);case"list.contains":return new w("listContains(".concat(this.referenceVariable(A.list),", ").concat(this.descendInput(A.item).asUnknown(),")"),3);case"list.contents":return new w("listContents(".concat(this.referenceVariable(A.list),")"),2);case"list.get":{const e=this.descendInput(A.index);if(o.supportsNullishCoalescing){if(e.isAlwaysNumberOrNaN())return new w("(".concat(this.referenceVariable(A.list),".value[(").concat(e.asNumber(),' | 0) - 1] ?? "")'),4);if(e instanceof h&&"last"===e.constantValue)return new w("(".concat(this.referenceVariable(A.list),".value[").concat(this.referenceVariable(A.list),'.value.length - 1] ?? "")'),4)}return new w("listGet(".concat(this.referenceVariable(A.list),".value, ").concat(e.asUnknown(),")"),4)}case"list.indexOf":return new w("listIndexOf(".concat(this.referenceVariable(A.list),", ").concat(this.descendInput(A.item).asUnknown(),")"),1);case"list.length":return new w("".concat(this.referenceVariable(A.list),".value.length"),1);case"looks.size":return new w("Math.round(target.size)",1);case"looks.backdropName":return new w("stage.getCostumes()[stage.currentCostume].name",2);case"looks.backdropNumber":return new w("(stage.currentCostume + 1)",1);case"looks.costumeName":return new w("target.getCostumes()[target.currentCostume].name",2);case"looks.costumeNumber":return new w("(target.currentCostume + 1)",1);case"motion.direction":return new w("target.direction",1);case"motion.x":return new w("limitPrecision(target.x)",1);case"motion.y":return new w("limitPrecision(target.y)",1);case"mouse.down":return new w("runtime.ioDevices.mouse.getIsDown()",3);case"mouse.x":return new w("runtime.ioDevices.mouse.getScratchX()",1);case"mouse.y":return new w("runtime.ioDevices.mouse.getScratchY()",1);case"pmEventsExpansion.broadcastFunction":let t="(yield* (function*() {";const i=this.localVariables.next();t+="var ".concat(i,' = startHats("event_whenbroadcastreceived", { BROADCAST_OPTION: ').concat(this.descendInput(A.broadcast).asString()," });"),t+="waitThreads(".concat(i,");"),this.isWarp?t+="if (isStuck()) yield;\n":t+="yield;\n",this.resetVariableInputs();const r=this.localVariables.next(),s=this.localVariables.next();return t+="var ".concat(r," = undefined;"),t+="for (var ".concat(s," of ").concat(i,") {"),t+="if (typeof ".concat(s,".__evex_returnDataa !== 'undefined') {"),t+="return ".concat(s,".__evex_returnDataa;"),t+="}",t+="}",t+="return '';",t+="})())",new w(t,2);case"op.abs":return new w("Math.abs(".concat(this.descendInput(A.value).asNumber(),")"),1);case"op.acos":return new w("((Math.acos(".concat(this.descendInput(A.value).asNumber(),") * 180) / Math.PI)"),5);case"op.add":return new w("(".concat(this.descendInput(A.left).asNumber()," + ").concat(this.descendInput(A.right).asNumber(),")"),5);case"op.and":return new w("(".concat(this.descendInput(A.left).asBoolean()," && ").concat(this.descendInput(A.right).asBoolean(),")"),3);case"op.asin":return new w("((Math.asin(".concat(this.descendInput(A.value).asNumber(),") * 180) / Math.PI)"),5);case"op.atan":return new w("((Math.atan(".concat(this.descendInput(A.value).asNumber(),") * 180) / Math.PI)"),1);case"op.ceiling":return new w("Math.ceil(".concat(this.descendInput(A.value).asNumber(),")"),1);case"op.contains":return new w("(".concat(this.descendInput(A.string).asString(),".toLowerCase().indexOf(").concat(this.descendInput(A.contains).asString(),".toLowerCase()) !== -1)"),3);case"op.cos":return new w("(Math.round(Math.cos((Math.PI * ".concat(this.descendInput(A.value).asNumber(),") / 180) * 1e10) / 1e10)"),5);case"op.divide":return new w("(".concat(this.descendInput(A.left).asNumber()," / ").concat(this.descendInput(A.right).asNumber(),")"),5);case"op.equals":{const e=this.descendInput(A.left),t=this.descendInput(A.right);if(e.isNeverNumber()||t.isNeverNumber())return new w("(".concat(e.asString(),".toLowerCase() === ").concat(t.asString(),".toLowerCase())"),3);const n=e.isAlwaysNumber(),i=t.isAlwaysNumber();return n&&i||(n&&e instanceof h&&d(e)||i&&t instanceof h&&d(t))?new w("(".concat(e.asNumber()," === ").concat(t.asNumber(),")"),3):new w("compareEqual(".concat(e.asUnknown(),", ").concat(t.asUnknown(),")"),3)}case"op.e^":return new w("Math.exp(".concat(this.descendInput(A.value).asNumber(),")"),1);case"op.floor":return new w("Math.floor(".concat(this.descendInput(A.value).asNumber(),")"),1);case"op.greater":{const e=this.descendInput(A.left),t=this.descendInput(A.right);return e.isAlwaysNumber()&&t.isAlwaysNumberOrNaN()?new w("(".concat(e.asNumber()," > ").concat(t.asNumberOrNaN(),")"),3):e.isAlwaysNumberOrNaN()&&t.isAlwaysNumber()?new w("!(".concat(e.asNumberOrNaN()," <= ").concat(t.asNumber(),")"),3):e.isNeverNumber()||t.isNeverNumber()?new w("(".concat(e.asString(),".toLowerCase() > ").concat(t.asString(),".toLowerCase())"),3):new w("compareGreaterThan(".concat(e.asUnknown(),", ").concat(t.asUnknown(),")"),3)}case"op.join":return new w("(".concat(this.descendInput(A.left).asString()," + ").concat(this.descendInput(A.right).asString(),")"),2);case"op.length":return new w("".concat(this.descendInput(A.string).asString(),".length"),1);case"op.less":{const e=this.descendInput(A.left),t=this.descendInput(A.right);return e.isAlwaysNumberOrNaN()&&t.isAlwaysNumber()?new w("(".concat(e.asNumberOrNaN()," < ").concat(t.asNumber(),")"),3):e.isAlwaysNumber()&&t.isAlwaysNumberOrNaN()?new w("!(".concat(e.asNumber()," >= ").concat(t.asNumberOrNaN(),")"),3):e.isNeverNumber()||t.isNeverNumber()?new w("(".concat(e.asString(),".toLowerCase() < ").concat(t.asString(),".toLowerCase())"),3):new w("compareLessThan(".concat(e.asUnknown(),", ").concat(t.asUnknown(),")"),3)}case"op.letterOf":return new w("((".concat(this.descendInput(A.string).asString(),")[(").concat(this.descendInput(A.letter).asNumber(),' | 0) - 1] || "")'),2);case"op.ln":return new w("Math.log(".concat(this.descendInput(A.value).asNumber(),")"),5);case"op.log":return new w("(Math.log(".concat(this.descendInput(A.value).asNumber(),") / Math.LN10)"),5);case"op.advlog":return new w("(Math.log(".concat(this.descendInput(A.right).asNumber(),") / (Math.log(").concat(this.descendInput(A.left).asNumber(),"))"),5);case"op.mod":return this.descendedIntoModulo=!0,new w("mod(".concat(this.descendInput(A.left).asNumber(),", ").concat(this.descendInput(A.right).asNumber(),")"),5);case"op.multiply":return new w("(".concat(this.descendInput(A.left).asNumber()," * ").concat(this.descendInput(A.right).asNumber(),")"),5);case"op.not":return new w("!".concat(this.descendInput(A.operand).asBoolean()),3);case"op.or":return new w("(".concat(this.descendInput(A.left).asBoolean()," || ").concat(this.descendInput(A.right).asBoolean(),")"),3);case"op.random":return A.useInts?new w("randomInt(".concat(this.descendInput(A.low).asNumber(),", ").concat(this.descendInput(A.high).asNumber(),")"),1):A.useFloats?new w("randomFloat(".concat(this.descendInput(A.low).asNumber(),", ").concat(this.descendInput(A.high).asNumber(),")"),5):new w("runtime.ext_scratch3_operators._random(".concat(this.descendInput(A.low).asUnknown(),", ").concat(this.descendInput(A.high).asUnknown(),")"),5);case"op.round":return new w("Math.round(".concat(this.descendInput(A.value).asNumber(),")"),1);case"op.sin":return new w("(Math.round(Math.sin((Math.PI * ".concat(this.descendInput(A.value).asNumber(),") / 180) * 1e10) / 1e10)"),5);case"op.sqrt":return new w("Math.sqrt(".concat(this.descendInput(A.value).asNumber(),")"),5);case"op.subtract":return new w("(".concat(this.descendInput(A.left).asNumber()," - ").concat(this.descendInput(A.right).asNumber(),")"),5);case"op.tan":return new w("tan(".concat(this.descendInput(A.value).asNumber(),")"),5);case"op.10^":return new w("(10 ** ".concat(this.descendInput(A.value).asNumber(),")"),1);case"sensing.answer":return new w("runtime.ext_scratch3_sensing._answer",2);case"sensing.colorTouchingColor":return new w("target.colorIsTouchingColor(colorToList(".concat(this.descendInput(A.target).asColor(),"), colorToList(").concat(this.descendInput(A.mask).asColor(),"))"),3);case"sensing.date":return new w("(new Date().getDate())",1);case"sensing.dayofweek":return new w("(new Date().getDay() + 1)",1);case"sensing.daysSince2000":return new w("daysSince2000()",1);case"sensing.distance":return new w("distance(".concat(this.descendInput(A.target).asString(),")"),1);case"sensing.hour":return new w("(new Date().getHours())",1);case"sensing.minute":return new w("(new Date().getMinutes())",1);case"sensing.month":return new w("(new Date().getMonth() + 1)",1);case"sensing.of":{const e=this.descendInput(A.object).asString(),t=A.property;if("constant"===A.object.kind){const n="_stage_"===A.object.value,i=n?"stage":this.evaluateOnce("runtime.getSpriteTargetByName(".concat(e,")"));if("volume"===t)return new w("(".concat(i," ? ").concat(i,".volume : 0)"),1);if(n)switch(t){case"background #":case"backdrop #":return new w("(".concat(i,".currentCostume + 1)"),1);case"backdrop name":return new w("".concat(i,".getCostumes()[").concat(i,".currentCostume].name"),2)}else switch(t){case"x position":return new w("(".concat(i," ? ").concat(i,".x : 0)"),1);case"y position":return new w("(".concat(i," ? ").concat(i,".y : 0)"),1);case"direction":return new w("(".concat(i," ? ").concat(i,".direction : 0)"),1);case"costume #":return new w("(".concat(i," ? ").concat(i,".currentCostume + 1 : 0)"),1);case"costume name":return new w("(".concat(i," ? ").concat(i,".getCostumes()[").concat(i,".currentCostume].name : 0)"),4);case"size":return new w("(".concat(i," ? ").concat(i,".size : 0)"),1)}const r=this.evaluateOnce("".concat(i," && ").concat(i,'.lookupVariableByNameAndType("').concat(c(t),'", "", true)'));return new w("(".concat(r," ? ").concat(r,".value : 0)"),4)}return new w("runtime.ext_scratch3_sensing.getAttributeOf({OBJECT: ".concat(e,', PROPERTY: "').concat(c(t),'" })'),4)}case"sensing.second":return new w("(new Date().getSeconds())",1);case"sensing.touching":return new w("target.isTouchingObject(".concat(this.descendInput(A.object).asUnknown(),")"),3);case"sensing.touchingColor":return new w("target.isTouchingColor(colorToList(".concat(this.descendInput(A.color).asColor(),"))"),3);case"sensing.username":return new w("runtime.ioDevices.userData.getUsername()",2);case"sensing.year":return new w("(new Date().getFullYear())",1);case"timer.get":return new w("runtime.ioDevices.clock.projectTimer()",1);case"tw.lastKeyPressed":return new w("runtime.ioDevices.keyboard.getLastKeyPressed()",2);case"var.get":return this.descendVariable(A.variable);case"procedures.call":{const e=A.code,t=A.variant;let n="(";const i=this.ir.procedures[t];if(null===i.stack)break;const r=!this.isWarp&&e===this.script.procedureCode,s=this.isInHat;if((r||s)&&this.yieldNotWarp(),i.yields&&(n+="yield* ",!this.script.yields))throw new Error("Script uses yielding procedure but is not marked as yielding.");if(n+='thread.procedures["'.concat(c(t),'"]('),i.arguments.length){const e=[];for(const t of A.arguments)e.push(this.descendInput(t).asSafe());n+=e.join(",")}return n+="))",this.resetVariableInputs(),new w(n,4)}case"noop":return console.warn("unexpected noop"),new w('""',4);case"tempVars.get":{const e=this.descendInput(A.var);return o.supportsNullishCoalescing?new w("(tempVars[".concat(e.asString(),'] ?? "")'),4):new w("nullish(".concat(e.asString(),', "")'),4)}case"tempVars.exists":{const e=this.descendInput(A.var);return new w("!!tempVars[".concat(e.asString(),"]"),3)}case"tempVars.all":return new w("JSON.stringify(Object.keys(tempVars))",2);default:throw n.warn("JS: Unknown input: ".concat(A.kind),A),new Error("JS: Unknown input: ".concat(A.kind))}}descendStackedBlock(A){const e=String(A.kind).split(".")[0],t=String(A.kind).replace(e+".","");if(M.hasExtensionJs(e)&&M.getExtensionJs(e)[t]){const i=M.getExtensionImports(),r=M.getExtensionJs(e)[t];try{r(A,this,i)}catch(A){n.warn(e+"_"+t,"failed to compile JavaScript;",A)}}else switch(A.kind){case"your mom":const e="https://penguinmod.com/dump/urmom-your-mom.mp4",t="https://penguinmod.com/dump/chips.mp4",i="https://penguinmod.com/dump/MISTER_BEAST.webm",r=A=>'`<video src="'.concat(A,'" height="${height}" autoplay loop style="alignment:center;"></video>`');this.source+="\n const stage = document.getElementsByClassName('stage_stage_1fD7k box_box_2jjDp')[0].children[0]\n const height = stage.children[0].style.height\n stage.innerHTML = ".concat(r(e),"\n runtime.on('PROJECT_STOP_ALL', () => document.body.innerHTML = ").concat(r(t),")\n stage.children[0].addEventListener('mousedown', () => stage.innerHTML = ").concat(r(i),");\n ");break;case"addons.call":{const e=this.descendInputRecord(A.arguments),t='runtime.getAddonBlock("'.concat(c(A.code),'").callback'),n='"'.concat(c(A.blockId),'"');this.source+="yield* executeInCompatibilityLayer(".concat(e,", ").concat(t,", ").concat(this.isWarp,", false, ").concat(n,");\n");break}case"compat":{const e=this.isLastBlockInLoop();this.source+="".concat(this.generateCompatibilityLayerCall(A,e),";\n"),e&&(this.source+="if (hasResumedFromPromise) {hasResumedFromPromise = false;continue;}\n");break}case"control.createClone":this.source+="runtime.ext_scratch3_control._createClone(".concat(this.descendInput(A.target).asString(),", target);\n");break;case"control.deleteClone":this.source+="if (!target.isOriginal) {\n",this.source+=" runtime.disposeTarget(target);\n",this.source+=" runtime.stopForTarget(target);\n",this.retire(),this.source+="}\n";break;case"control.for":{this.resetVariableInputs();const e=this.localVariables.next();this.source+="var ".concat(e," = 0; "),this.source+="while (".concat(e," < ").concat(this.descendInput(A.count).asNumber(),") { "),this.source+="".concat(e,"++; "),this.source+="".concat(this.referenceVariable(A.variable),".value = ").concat(e,";\n"),this.descendStack(A.do,new I(!0,"control.for")),this.yieldLoop(),this.source+="}\n";break}case"control.switch":this.source+="switch (".concat(this.descendInput(A.test).asString(),") {\n"),this.descendStack(A.conditions,new I(!1,"control.switch")),A.default.length&&(this.source+="default:\n",this.descendStack(A.default,new I(!1,"control.switch"))),this.source+="}\n";break;case"control.case":if("control.switch"!==this.currentFrame.parent){this.source+='throw \'All "case" blocks must be inside of a "switch" block.\';';break}if(this.source+="case ".concat(this.descendInput(A.condition).asString(),":\n"),!A.runsNext){const e=new I(!1,"control.case");e.assignData({containedByCase:!0}),this.descendStack(A.code,e),this.source+="break;\n"}break;case"control.allAtOnce":{const e=this.isWarp;this.isWarp=!0,this.descendStack(A.code,new I(!1,"control.allAtOnce")),this.isWarp=e;break}case"control.newScript":{const A=this.localVariables.next(),e=this.localVariables.next();this.source+="var ".concat(A," = thread.peekStack();"),this.source+="var ".concat(e," = thread.target.blocks.getBranch(").concat(A,", 0);"),this.source+="if (".concat(e,") {"),this.source+="runtime._pushThread(".concat(e,", target, {});"),this.source+="}";break}case"control.exitCase":if(this.currentFrame.importantData.containedByCase){this.source+='throw \'All "exit case" blocks must be inside of a "case" block.\';';break}this.source+="break;\n";break;case"control.exitLoop":if(!this.currentFrame.importantData.containedByLoop){this.source+="throw 'All \"exit loop\" blocks must be inside of a looping block.';";break}this.source+="break;\n";break;case"control.if":this.source+="if (".concat(this.descendInput(A.condition).asBoolean(),") {\n"),this.descendStack(A.whenTrue,new I(!1,"control.if")),A.whenFalse.length&&(this.source+="} else {\n",this.descendStack(A.whenFalse,new I(!1,"control.if"))),this.source+="}\n";break;case"control.repeat":{const e=this.localVariables.next();this.source+="for (var ".concat(e," = ").concat(this.descendInput(A.times).asNumber(),"; ").concat(e," >= 0.5; ").concat(e,"--) {\n"),this.descendStack(A.do,new I(!0,"control.repeat")),this.yieldLoop(),this.source+="}\n";break}case"control.repeatForSeconds":{const e=this.localVariables.next();this.source+="thread.timer = timer();\n",this.source+="var ".concat(e," = Math.max(0, 1000 * ").concat(this.descendInput(A.times).asNumber(),");\n"),this.requestRedraw(),this.source+="while (thread.timer.timeElapsed() < ".concat(e,") {\n"),this.descendStack(A.do,new I(!0,"control.repeatForSeconds")),this.yieldLoop(),this.source+="}\n",this.source+="thread.timer = null;\n";break}case"control.stopAll":this.source+="runtime.stopAll();\n",this.retire();break;case"control.stopOthers":this.source+="runtime.stopForTarget(target, thread);\n";break;case"control.stopScript":this.isProcedure?this.source+="return;\n":this.retire();break;case"control.wait":{const e=this.localVariables.next();this.source+="thread.timer = timer();\n",this.source+="var ".concat(e," = Math.max(0, 1000 * ").concat(this.descendInput(A.seconds).asNumber(),");\n"),this.requestRedraw(),this.yieldNotWarp(),this.source+="while (thread.timer.timeElapsed() < ".concat(e,") {\n"),this.yieldStuckOrNotWarp(),this.source+="}\n",this.source+="thread.timer = null;\n";break}case"control.waitTick":this.yieldNotWarp();break;case"control.waitUntil":this.resetVariableInputs(),this.source+="while (!".concat(this.descendInput(A.condition).asBoolean(),") {\n"),this.yieldStuckOrNotWarp(),this.source+="}\n";break;case"control.waitOrUntil":{const e=this.localVariables.next(),t=this.descendInput(A.condition).asBoolean();this.source+="thread.timer = timer();\n",this.source+="var ".concat(e," = Math.max(0, 1000 * ").concat(this.descendInput(A.seconds).asNumber(),");\n"),this.requestRedraw(),this.yieldNotWarp(),this.source+="while ((thread.timer.timeElapsed() < ".concat(e,") && (!(").concat(t,"))) {\n"),this.yieldStuckOrNotWarp(),this.source+="}\n",this.source+="thread.timer = null;\n";break}case"control.while":this.resetVariableInputs(),this.source+="while (".concat(this.descendInput(A.condition).asBoolean(),") {\n"),this.descendStack(A.do,new I(!0,"control.while")),A.warpTimer?this.yieldStuckOrNotWarp():this.yieldLoop(),this.source+="}\n";break;case"control.runAsSprite":const s="runtime.getTargetForStage()",o=this.descendInput(A.sprite).asString(),a='"_stage_"'===o,B=this.localVariables.next();this.source+="const ".concat(B," = target;\n"),this.source+="try {\n";const E=a?s:"runtime.getSpriteTargetByName(".concat(o,")");this.source+="const target = (".concat(E,");\n"),this.source+="if (target) {\n",this.source+="thread.target = target;\n";const l=this.localVariables.next(),u=this.localVariables.next();this.source+="var ".concat(l," = thread.spoofing;\n"),this.source+="var ".concat(u," = thread.spoofTarget;\n"),this.source+="thread.spoofing = true;\n",this.source+="thread.spoofTarget = target;\n",this.descendStack(A.substack,new I(!1,"control.runAsSprite")),this.source+="thread.target = ".concat(B,";\n"),this.source+="thread.spoofing = ".concat(l,";\n"),this.source+="thread.spoofTarget = ".concat(u,";\n"),this.source+="}\n",this.source+="} catch (e) {\nconsole.log('as sprite function failed;', e);\n",this.source+="thread.target = ".concat(B,";\n"),this.source+="thread.spoofing = ".concat(l,";\n"),this.source+="thread.spoofTarget = ".concat(u,";\n"),this.source+="}\n";break;case"hat.edge":this.isInHat=!0,this.source+="{\n",this.source+="const resolvedValue = ".concat(this.descendInput(A.condition).asBoolean(),";\n"),this.source+='const id = "'.concat(c(A.id),'";\n'),this.source+="const hasOldEdgeValue = target.hasEdgeActivatedValue(id);\n",this.source+="const oldEdgeValue = target.updateEdgeActivatedValue(id, resolvedValue);\n",this.source+="const edgeWasActivated = hasOldEdgeValue ? (!oldEdgeValue && resolvedValue) : resolvedValue;\n",this.source+="if (!edgeWasActivated) {\n",this.retire(),this.source+="}\n",this.source+="yield;\n",this.source+="}\n",this.isInHat=!1;break;case"hat.predicate":this.isInHat=!0,this.source+="if (!".concat(this.descendInput(A.condition).asBoolean(),") {\n"),this.retire(),this.source+="}\n",this.source+="yield;\n",this.isInHat=!1;break;case"event.broadcast":this.source+='startHats("event_whenbroadcastreceived", { BROADCAST_OPTION: '.concat(this.descendInput(A.broadcast).asString()," });\n"),this.resetVariableInputs();break;case"event.broadcastAndWait":this.source+='yield* waitThreads(startHats("event_whenbroadcastreceived", { BROADCAST_OPTION: '.concat(this.descendInput(A.broadcast).asString()," }));\n"),this.yielded();break;case"list.forEach":{const e=this.referenceVariable(A.list),t=this.descendVariable(A.variable),n=A.num?"index + 1":"value";this.source+="for (let index = 0; index < ".concat(e,".value.length; index++) {")+"const value = ".concat(e,".value[index];")+"".concat(t.source," = ").concat(n,";"),this.descendStack(A.do,new I(!0,"list.forEach")),this.source+="};\n";break}case"list.add":{const e=this.referenceVariable(A.list);this.source+="".concat(e,".value.push(").concat(this.descendInput(A.item).asSafe(),");\n"),this.source+="".concat(e,"._monitorUpToDate = false;\n");break}case"list.delete":{const e=this.referenceVariable(A.list),t=this.descendInput(A.index);if(t instanceof h){if("last"===t.constantValue){this.source+="".concat(e,".value.pop();\n"),this.source+="".concat(e,"._monitorUpToDate = false;\n");break}if(1==+t.constantValue){this.source+="".concat(e,".value.shift();\n"),this.source+="".concat(e,"._monitorUpToDate = false;\n");break}}this.source+="listDelete(".concat(e,", ").concat(t.asUnknown(),");\n");break}case"list.deleteAll":this.source+="".concat(this.referenceVariable(A.list),".value = [];\n");break;case"list.hide":this.source+='runtime.monitorBlocks.changeBlock({ id: "'.concat(c(A.list.id),'", element: "checkbox", value: false }, runtime);\n');break;case"list.insert":{const e=this.referenceVariable(A.list),t=this.descendInput(A.index),n=this.descendInput(A.item);if(t instanceof h&&1==+t.constantValue){this.source+="".concat(e,".value.unshift(").concat(n.asSafe(),");\n"),this.source+="".concat(e,"._monitorUpToDate = false;\n");break}this.source+="listInsert(".concat(e,", ").concat(t.asUnknown(),", ").concat(n.asSafe(),");\n");break}case"list.replace":this.source+="listReplace(".concat(this.referenceVariable(A.list),", ").concat(this.descendInput(A.index).asUnknown(),", ").concat(this.descendInput(A.item).asSafe(),");\n");break;case"list.show":this.source+='runtime.monitorBlocks.changeBlock({ id: "'.concat(c(A.list.id),'", element: "checkbox", value: true }, runtime);\n');break;case"looks.backwardLayers":this.target.isStage||(this.source+="target.goBackwardLayers(".concat(this.descendInput(A.layers).asNumber(),");\n"));break;case"looks.clearEffects":this.source+="target.clearEffects();\nruntime.ext_scratch3_looks._resetBubbles(target)\n";break;case"looks.changeEffect":this.target.effects.hasOwnProperty(A.effect)&&(this.source+='target.setEffect("'.concat(c(A.effect),'", runtime.ext_scratch3_looks.clampEffect("').concat(c(A.effect),'", ').concat(this.descendInput(A.value).asNumber(),' + target.effects["').concat(c(A.effect),'"]));\n'));break;case"looks.changeSize":this.source+="target.setSize(target.size + ".concat(this.descendInput(A.size).asNumber(),");\n");break;case"looks.forwardLayers":this.target.isStage||(this.source+="target.goForwardLayers(".concat(this.descendInput(A.layers).asNumber(),");\n"));break;case"looks.goToBack":this.target.isStage||(this.source+="target.goToBack();\n");break;case"looks.goToFront":this.target.isStage||(this.source+="target.goToFront();\n");break;case"looks.hide":this.source+="target.setVisible(false);\n",this.source+="runtime.ext_scratch3_looks._renderBubble(target);\n";break;case"looks.nextBackdrop":this.source+="runtime.ext_scratch3_looks._setBackdrop(stage, stage.currentCostume + 1, true);\n";break;case"looks.nextCostume":this.source+="target.setCostume(target.currentCostume + 1);\n";break;case"looks.setEffect":this.target.effects.hasOwnProperty(A.effect)&&(this.source+='target.setEffect("'.concat(c(A.effect),'", runtime.ext_scratch3_looks.clampEffect("').concat(c(A.effect),'", ').concat(this.descendInput(A.value).asNumber(),"));\n"));break;case"looks.setSize":this.source+="target.setSize(".concat(this.descendInput(A.size).asNumber(),");\n");break;case"looks.setFont":this.source+="runtime.ext_scratch3_looks.setFont({ font: ".concat(this.descendInput(A.font).asString(),", size: ").concat(this.descendInput(A.size).asNumber()," }, { target: target });\n");break;case"looks.setColor":this.source+='runtime.ext_scratch3_looks.setColor({ prop: "'.concat(c(A.prop),'", color: ').concat(this.descendInput(A.color).asColor()," }, { target: target });\n");break;case"looks.setShape":this.source+='runtime.ext_scratch3_looks.setShape({ prop: "'.concat(c(A.prop),'", color: ').concat(this.descendInput(A.value).asColor()," }, { target: target });\n");break;case"looks.show":this.source+="target.setVisible(true);\n",this.source+="runtime.ext_scratch3_looks._renderBubble(target);\n";break;case"looks.switchBackdrop":this.source+="runtime.ext_scratch3_looks._setBackdrop(stage, ".concat(this.descendInput(A.backdrop).asSafe(),");\n");break;case"looks.switchCostume":this.source+="runtime.ext_scratch3_looks._setCostume(target, ".concat(this.descendInput(A.costume).asSafe(),");\n");break;case"motion.changeX":this.source+="target.setXY(target.x + ".concat(this.descendInput(A.dx).asNumber(),", target.y);\n");break;case"motion.changeY":this.source+="target.setXY(target.x, target.y + ".concat(this.descendInput(A.dy).asNumber(),");\n");break;case"motion.ifOnEdgeBounce":this.source+="runtime.ext_scratch3_motion._ifOnEdgeBounce(target);\n";break;case"motion.setDirection":this.source+="target.setDirection(".concat(this.descendInput(A.direction).asNumber(),");\n");break;case"motion.setRotationStyle":this.source+='target.setRotationStyle("'.concat(c(A.style),'");\n');break;case"motion.setX":case"motion.setY":case"motion.setXY":{this.descendedIntoModulo=!1;const e="x"in A?this.descendInput(A.x).asNumber():"target.x",t="y"in A?this.descendInput(A.y).asNumber():"target.y";this.source+="target.setXY(".concat(e,", ").concat(t,");\n"),this.descendedIntoModulo&&(this.source+="if (target.interpolationData) target.interpolationData = null;\n");break}case"motion.step":this.source+="runtime.ext_scratch3_motion._moveSteps(".concat(this.descendInput(A.steps).asNumber(),", target);\n");break;case"noop":console.warn("unexpected noop");break;case"pen.clear":this.source+="".concat(g,".clear();\n");break;case"pen.down":this.source+="".concat(g,"._penDown(target);\n");break;case"pen.changeParam":this.source+="".concat(g,"._setOrChangeColorParam(").concat(this.descendInput(A.param).asString(),", ").concat(this.descendInput(A.value).asNumber(),", ").concat(Q,", true);\n");break;case"pen.changeSize":this.source+="".concat(g,"._changePenSizeBy(").concat(this.descendInput(A.size).asNumber(),", target);\n");break;case"pen.legacyChangeHue":this.source+="".concat(g,"._changePenHueBy(").concat(this.descendInput(A.hue).asNumber(),", target);\n");break;case"pen.legacyChangeShade":this.source+="".concat(g,"._changePenShadeBy(").concat(this.descendInput(A.shade).asNumber(),", target);\n");break;case"pen.legacySetHue":this.source+="".concat(g,"._setPenHueToNumber(").concat(this.descendInput(A.hue).asNumber(),", target);\n");break;case"pen.legacySetShade":this.source+="".concat(g,"._setPenShadeToNumber(").concat(this.descendInput(A.shade).asNumber(),", target);\n");break;case"pen.setColor":this.source+="".concat(g,"._setPenColorToColor(").concat(this.descendInput(A.color).asColor(),", target);\n");break;case"pen.setParam":this.source+="".concat(g,"._setOrChangeColorParam(").concat(this.descendInput(A.param).asString(),", ").concat(this.descendInput(A.value).asNumber(),", ").concat(Q,", false);\n");break;case"pen.setSize":this.source+="".concat(g,"._setPenSizeTo(").concat(this.descendInput(A.size).asNumber(),", target);\n");break;case"pen.stamp":this.source+="".concat(g,"._stamp(target);\n");break;case"pen.up":this.source+="".concat(g,"._penUp(target);\n");break;case"procedures.return":this.source+="return ".concat(this.descendInput(A.return).asUnknown(),";");break;case"procedures.call":{const e=A.code,t=A.variant,n=this.ir.procedures[t];if(null===n.stack)break;if(this.isWarp||e!==this.script.procedureCode||this.yieldNotWarp(),n.yields&&(this.source+="yield* ",!this.script.yields))throw new Error("Script uses yielding procedure but is not marked as yielding.");if(this.source+='thread.procedures["'.concat(c(t),'"]('),n.arguments.length){const e=[];for(const t of A.arguments)e.push(this.descendInput(t).asSafe());this.source+=e.join(",")}if(this.source+=");\n","hat"===A.type)throw new Error("Custom hat blocks are not supported");this.resetVariableInputs();break}case"timer.reset":this.source+="runtime.ioDevices.clock.resetProjectTimer();\n";break;case"tw.debugger":this.source+="debugger;\n";break;case"var.hide":this.source+='runtime.monitorBlocks.changeBlock({ id: "'.concat(c(A.variable.id),'", element: "checkbox", value: false }, runtime);\n');break;case"var.set":{const e=this.descendVariable(A.variable),t=this.descendInput(A.value);e.setInput(t),this.source+="".concat(e.source," = ").concat(t.asSafe(),";\n"),A.variable.isCloud&&(this.source+='runtime.ioDevices.cloud.requestUpdateVariable("'.concat(c(A.variable.name),'", ').concat(e.source,");\n"));break}case"var.show":this.source+='runtime.monitorBlocks.changeBlock({ id: "'.concat(c(A.variable.id),'", element: "checkbox", value: true }, runtime);\n');break;case"visualReport":{const e=this.localVariables.next();this.source+="const ".concat(e," = ").concat(this.descendInput(A.input).asUnknown(),";"),this.source+="if (".concat(e,' !== undefined) runtime.visualReport("').concat(c(this.script.topBlockId),'", ').concat(e,");\n");break}case"sensing.set.of":{const e=this.descendInput(A.object).asString(),t=this.descendInput(A.value),n=A.property,i="_stage_"===A.object.value?"stage":this.evaluateOnce("runtime.getSpriteTargetByName(".concat(e,")"));switch(this.source+="if (".concat(i,")"),n){case"volume":this.source+="runtime.ext_scratch3_sound._updateVolume(".concat(t.asNumber(),", ").concat(i,");");break;case"x position":this.source+="".concat(i,".setXY(").concat(t.asNumber(),", ").concat(i,".y);");break;case"y position":this.source+="".concat(i,".setXY(").concat(i,".x, ").concat(t.asNumber(),");");break;case"direction":this.source+="".concat(i,".setDirection(").concat(t.asNumber(),");");break;case"costume":const A=1===t.type?t.asNumber():t.asString();this.source+="runtime.ext_scratch3_looks._setCostume(".concat(i,", ").concat(A,")");break;case"backdrop":const e=1===t.type?t.asNumber():t.asString();this.source+="runtime.ext_scratch3_looks._setBackdrop(".concat(i,", ").concat(e,");");break;case"size":this.source+="".concat(i,".setSize(").concat(t.asNumber(),");");break;default:const r=this.evaluateOnce("".concat(i," && ").concat(i,'.lookupVariableByNameAndType("').concat(c(n),'", "", true)'));this.source+="if (".concat(r,") "),this.source+="".concat(r,".value = ").concat(t.asString(),";")}break}case"tempVars.set":{const e=this.descendInput(A.var),t=this.descendInput(A.val);this.source+="tempVars[".concat(e.asString(),"] = ").concat(t.asUnknown(),";");break}case"tempVars.change":{const e=this.descendInput(A.var),t=this.descendInput(A.val);this.source+="tempVars[".concat(e.asString(),"] += ").concat(t.asUnknown(),";");break}case"tempVars.delete":{const e=this.descendInput(A.var);this.source+="delete tempVars[".concat(e.asString(),"];");break}case"tempVars.deleteAll":this.source+="tempVars = {};";break;case"tempVars.forEach":{const e=this.descendInput(A.var),t=this.descendInput(A.loops),n="tempVars[".concat(e.asString(),"]");this.source+="".concat(n," = 0; "),this.source+="while (".concat(n," < ").concat(t.asNumber(),") { "),this.source+="".concat(n,"++;\n"),this.descendStack(A.do,new I(!0,"tempVars.forEach")),this.yieldLoop(),this.source+="}\n";break}default:throw n.warn("JS: Unknown stacked block: ".concat(A.kind),A),new Error("JS: Unknown stacked block: ".concat(A.kind))}}descendInputRecord(A){let e="{";for(const t of Object.keys(A)){const n=A[t];e+='"'.concat(c(t),'":').concat(this.descendInput(n).asSafe(),",")}return e+="}",e}resetVariableInputs(){this.variableInputs={}}descendStack(A,e){this.resetVariableInputs(),e.assignData(this.currentFrame),this.pushFrame(e);for(let t=0;t<A.length;t++)e.isLastBlock=t===A.length-1,this.descendStackedBlock(A[t]);this.resetVariableInputs(),this.popFrame()}descendVariable(A){if(this.variableInputs.hasOwnProperty(A.id))return this.variableInputs[A.id];const e=new C("".concat(this.referenceVariable(A),".value"));return this.variableInputs[A.id]=e,e}referenceVariable(A){return"target"===A.scope?this.evaluateOnce('target.variables["'.concat(c(A.id),'"]')):this.evaluateOnce('stage.variables["'.concat(c(A.id),'"]'))}evaluateOnce(A){if(this._setupVariables.hasOwnProperty(A))return this._setupVariables[A];const e=this._setupVariablesPool.next();return this._setupVariables[A]=e,e}retire(){this.isProcedure?this.source+="retire(); yield;\n":this.source+="retire(); return;\n"}yieldLoop(){this.warpTimer?this.yieldStuckOrNotWarp():this.yieldNotWarp()}yieldNotWarp(){this.isWarp||(this.source+="yield;\n",this.yielded())}yieldStuckOrNotWarp(){this.isWarp?this.source+="if (isStuck()) yield;\n":this.source+="yield;\n",this.yielded()}yielded(){if(!this.script.yields)throw new Error("Script yielded but is not marked as yielding.");this.resetVariableInputs()}requestRedraw(){this.source+="runtime.requestRedraw();\n"}safeConstantInput(A){const e="string"==typeof A&&this.namesOfCostumesAndSounds.has(A);return new h(A,!e)}generateCompatibilityLayerCall(A,e){const t=A.opcode;let n="yield* executeInCompatibilityLayer({";for(const e of Object.keys(A.inputs)){const i=A.inputs[e];if(e.startsWith("substack")){n+='"'.concat(c(e.toLowerCase()),'":(function* () {\n'),this.descendStack(i,new I(!0,t)),n+="}),";continue}const r=this.descendInput(i).asSafe();n+='"'.concat(c(e),'":').concat(r,",")}for(const e of Object.keys(A.fields)){const t=A.fields[e];if("string"==typeof t)n+='"'.concat(c(e),'":"').concat(c(t),'",');else{let A;switch(t.type){case"broadcast_msg":A=JSON.stringify(t);break;case"list":A=this.referenceVariable(t);break;case"":A=this.descendVariable(t).source}n+='"'.concat(c(e),'":').concat(A,",")}}n+='"mutation":'.concat(JSON.stringify(A.mutation),",");const i=this.evaluateOnce('runtime.getOpcodeFunction("'.concat(c(t),'")'));return n+="}, ".concat(i,", ").concat(this.isWarp,", ").concat(e,", null)"),n}getScriptFactoryName(){return E.next()}getScriptName(A){let e=A?u.next():l.next();if(this.isProcedure){const A=this.script.procedureCode.replace(/%[\w]/g,"").replace(/[^a-zA-Z0-9]/g,"_").substring(0,20);e+="_".concat(A)}return e}createScriptFactory(){let A="";A+="(function ".concat(this.getScriptFactoryName(),"(thread) { "),A+="let __target = thread.target; ",A+="let target = __target; ",A+="const runtime = __target.runtime; ",A+="const stage = runtime.getTargetForStage();\n";for(const e of Object.keys(this._setupVariables)){const t=this._setupVariables[e];A+="const ".concat(t," = ").concat(e,";\n")}if(A+="return ",this.script.yields?A+="function* ":A+="function ",A+=this.getScriptName(this.script.yields),A+=" (",this.script.arguments.length){const e=[];for(let A=0;A<this.script.arguments.length;A++)e.push("p".concat(A));A+=e.join(",")}return A+=") {\n",A+="let tempVars = {};",A+="let target = __target;\n",A+="if (thread.spoofing) {\n",A+="target = thread.spoofTarget;\n",A+="};\n",A+="try {\n",A+=this.source,A+="} catch (err) {",A+="console.error(err);",A+='runtime.emit("BLOCK_STACK_ERROR", {',A+='id:"'.concat(c(this.script.topBlockId),'",'),A+="value:String(err)",A+="});",A+="}\n",this.isProcedure||(A+="retire();\n"),A+="}; })",A}compile(){this.script.stack&&this.descendStack(this.script.stack,new I(!1));const A=this.createScriptFactory(),e=s.scopedEval(A);return this.debug&&n.info("JS: ".concat(this.target.getName(),": compiled ").concat(this.script.procedureCode||"script"),A),M.testingApparatus&&M.testingApparatus.report(this,A),e}}var p,m,F;p=M,F={},(m=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(m="_extensionJSInfo"))in p?Object.defineProperty(p,m,{value:F,enumerable:!0,configurable:!0,writable:!0}):p[m]=F,M.testingApparatus=null,A.exports=M},function(A,e,t){const n=t(55),i=t(23);A.exports=class{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.sequencer=A,this.thread=e,this._nowObj={now:()=>this.sequencer.runtime.currentMSecs}}get target(){return this.thread.target}get runtime(){return this.sequencer.runtime}get nowObj(){return this.runtime?this._nowObj:null}get stackFrame(){const A=this.thread.peekStackFrame();return null===A.executionContext&&(A.executionContext={}),A.executionContext}stackTimerFinished(){return!(this.stackFrame.timer.timeElapsed()<this.stackFrame.duration)}stackTimerNeedsInit(){return!this.stackFrame.timer}startStackTimer(A){this.nowObj?this.stackFrame.timer=new i(this.nowObj):this.stackFrame.timer=new i,this.stackFrame.timer.start(),this.stackFrame.duration=A}yield(){this.thread.status=n.STATUS_YIELD}defaultStatus(){this.thread.status=n.STATUS_RUNNING}yieldTick(){this.thread.status=n.STATUS_YIELD_TICK}startBranch(A,e){this.sequencer.stepToBranch(this.thread,A,e)}stopAll(){this.sequencer.runtime.stopAll()}stopOtherTargetThreads(){this.sequencer.runtime.stopForTarget(this.thread.target,this.thread)}stopThisScript(){this.thread.stopThisScript()}startProcedure(A){this.sequencer.stepToProcedure(this.thread,A)}getProcedureParamNamesAndIds(A){return this.thread.target.blocks.getProcedureParamNamesAndIds(A)}getProcedureParamNamesIdsAndDefaults(A){return this.thread.target.blocks.getProcedureParamNamesIdsAndDefaults(A)}initParams(){this.thread.initParams()}pushParam(A,e){this.thread.pushParam(A,e)}getParam(A){return this.thread.getParam(A)}startHats(A,e,t){const n=this.thread,i=this.sequencer,r=this.sequencer.runtime.startHats(A,e,t);return this.thread=n,this.sequencer=i,r}ioQuery(A,e,t){if(this.sequencer.runtime.ioDevices[A]&&this.sequencer.runtime.ioDevices[A][e]){const n=this.sequencer.runtime.ioDevices[A];return n[e].apply(n,t)}}}},function(A,e,t){const n=t(114),i=t(109),r=t(8),s=t(55),{Map:o}=t(44),a=t(2),B=new n;let c=-1;const g=function(A,e,t,n,i){const r=n.id,a=n.opcode,B=n._isHat;if(t.pushReportedValue(A),B)if(t.stackClick)t.status=s.STATUS_RUNNING;else if(e.runtime.getIsEdgeActivatedHat(a)){const n=t.target.hasEdgeActivatedValue(r),i=t.target.updateEdgeActivatedValue(r,A);(n?!i&&A:A)?t.status=s.STATUS_RUNNING:e.retireThread(t)}else A?t.status=s.STATUS_RUNNING:e.retireThread(t);else{if(i&&void 0!==A&&t.atStackTop()&&(t.stackClick&&e.runtime.visualReport(r,A),t.updateMonitor)){const t=e.runtime.monitorBlocks.getBlock(r).targetId;if(t&&!e.runtime.getTargetById(t))return;e.runtime.requestUpdateMonitor(o({id:r,spriteName:t?e.runtime.getTargetById(t).getName():null,value:A}))}t.status=s.STATUS_RUNNING}},Q=(A,e,t,n,i)=>{t.status===s.STATUS_RUNNING&&(t.status=s.STATUS_PROMISE_WAIT),A.then(A=>{if(g(A,e,t,n,i),i&&(!n._isHat||t.stackClick)){let A,e;do{const n=t.popStack();if(null===n)return;if(e=t.target.blocks.getNextBlock(n),null!==e)break;A=t.peekStackFrame()}while(null!==A&&!A.isLoop);t.pushStack(e)}},A=>{r.warn("Primitive rejected promise: ",A),t.status=s.STATUS_RUNNING,t.popStack()})};class E{constructor(A,e){this.id=e.id,this.opcode=e.opcode,this.fields=e.fields,this.inputs=e.inputs,this.mutation=e.mutation,this._profiler=null,this._profilerFrame=null,this._isHat=!1,this._blockFunction=null,this._definedBlockFunction=!1,this._isShadowBlock=!1,this._shadowValue=null,this._fields=Object.assign({},this.fields),this._inputs=Object.assign({},this.inputs),this._argValues={mutation:this.mutation},this._parentKey=null,this._parentValues=null,this._ops=[];const{runtime:t}=B.sequencer,{opcode:n,fields:r,inputs:s}=this;this._isHat=t.getIsHat(n),this._blockFunction=t.getOpcodeFunction(n),this._definedBlockFunction=void 0!==this._blockFunction;const o=Object.keys(r);this._isShadowBlock=!this._definedBlockFunction&&1===o.length&&0===Object.keys(s).length,this._shadowValue=this._isShadowBlock&&r[o[0]].value;for(const A in r)this._argValues[A]="VARIABLE"===A||"LIST"===A||"BROADCAST_OPTION"===A?{id:r[A].id,name:r[A].value}:r[A].value;if(delete this._inputs.custom_block,"BROADCAST_INPUT"in this._inputs){this._argValues.BROADCAST_OPTION={id:null,name:null};const e=this._inputs.BROADCAST_INPUT;if(e.block===e.shadow){const t=A.getBlock(e.shadow).fields.BROADCAST_OPTION;this._argValues.BROADCAST_OPTION.id=t.id,this._argValues.BROADCAST_OPTION.name=t.value,delete this._inputs.BROADCAST_INPUT}}for(const e in this._inputs){const t=this._inputs[e];if(t.block){const n=i.getCached(A,t.block,E);if(n._isHat)continue;this._ops.push(...n._ops),n._parentKey=e,n._parentValues=this._argValues,n._isShadowBlock&&(this._argValues[e]=n._shadowValue)}}this._definedBlockFunction&&this._ops.push(this)}}A.exports=function(A,e){const t=A.runtime;B.sequencer=A,B.thread=e;const n=e.peekStack(),r=e.peekStackFrame();let o=e.blockContainer,l=i.getCached(o,n,E);if(null===l&&(o=t.flyoutBlocks,l=i.getCached(o,n,E),null===l))return void A.retireThread(e);const u=l._ops,w=u.length;let h=0;if(null!==r.reported){const A=r.reported;for(;h<A.length;h++){const{opCached:e,inputValue:t}=A[h],n=u.find(A=>A.id===e);if(n){const A=n._parentKey,e=n._parentValues;"BROADCAST_INPUT"===A?(e.BROADCAST_OPTION.id=null,e.BROADCAST_OPTION.name=a.toString(t)):e[A]=t}}if(A.length>0){const e=A.reverse().find(A=>u.find(e=>e.id===A.opCached));h=e?u.findIndex(A=>A.id===e.opCached)+1:0}if(null!==e.justReported&&u[h]&&u[h].id===r.reporting){const A=u[h],t=e.justReported;e.justReported=null;const n=A._parentKey,i=A._parentValues;"BROADCAST_INPUT"===n?(i.BROADCAST_OPTION.id=null,i.BROADCAST_OPTION.name=a.toString(t)):i[n]=t,h+=1}r.reporting=null,r.reported=null}const C=h;for(;h<w;h++){const t=h===w-1,n=u[h],i=n._blockFunction,c=n._argValues;o.forceNoGlow||(e.requestScriptGlowInFrame=!0);const E=i(c,B);if(null!==(d=E)&&"object"==typeof d&&"function"==typeof d.then){Q(E,A,e,n,t),e.justReported=null,r.reporting=u[h].id,r.reported=u.slice(0,h).map(A=>{const e=A._parentKey,t=A._parentValues;return"BROADCAST_INPUT"===e?{opCached:A.id,inputValue:t[e].BROADCAST_OPTION.name}:{opCached:A.id,inputValue:t[e]}});break}if(e.status===s.STATUS_RUNNING)if(t)g(E,A,e,n,t);else{const A=n._parentKey,e=n._parentValues;"BROADCAST_INPUT"===A?(e.BROADCAST_OPTION.id=null,e.BROADCAST_OPTION.name=a.toString(E)):e[A]=E}}var d;if(null!==t.profiler){l._profiler!==t.profiler&&function(A,e){e._profiler=A,-1===c&&(c=A.idByName("blockFunction"));const t=e._ops;for(let e=0;e<t.length;e++)t[e]._profilerFrame=A.frame(c,t[e].opcode)}(t.profiler,l);const A=Math.min(h+1,w);for(let e=C;e<A;e++)u[e]._profilerFrame.count+=1}}},function(A,e,t){const n=t(27);class i{constructor(A){this.runtime=A,this.provider=null,this._skinId=-1,this._drawable=-1,this._ghost=0,this._forceTransparentPreview=!1}static get FORMAT_IMAGE_DATA(){return"image-data"}static get FORMAT_CANVAS(){return"canvas"}static get DIMENSIONS(){return[480,360]}static get ORDER(){return 1}setProvider(A){this.provider=A}enableVideo(){return this.provider?this.provider.enableVideo().then(()=>this._setupPreview()):null}disableVideo(){if(this._disablePreview(),!this.provider)return null;this.provider.disableVideo()}getFrame(A){let{dimensions:e=i.DIMENSIONS,mirror:t=this.mirror,format:n=i.FORMAT_IMAGE_DATA,cacheTimeout:r=this._frameCacheTimeout}=A;return this.provider?this.provider.getFrame({dimensions:e,mirror:t,format:n,cacheTimeout:r}):null}setPreviewGhost(A){this._ghost=A,-1!==this._drawable&&this.runtime.renderer.updateDrawableEffect(this._drawable,"ghost",this._forceTransparentPreview?100:A)}_disablePreview(){-1!==this._skinId&&(this.runtime.renderer.updateBitmapSkin(this._skinId,new ImageData(...i.DIMENSIONS),1),this.runtime.renderer.updateDrawableVisible(this._drawable,!1)),this._renderPreviewFrame=null}_setupPreview(){const{renderer:A}=this.runtime;A&&(-1===this._skinId&&-1===this._drawable&&(this._skinId=A.createBitmapSkin(new ImageData(...i.DIMENSIONS),1),this._drawable=A.createDrawable(n.VIDEO_LAYER),A.updateDrawableSkinId(this._drawable,this._skinId),A.markSkinAsPrivate&&A.markSkinAsPrivate(this._skinId)),this._renderPreviewFrame||(A.updateDrawableEffect(this._drawable,"ghost",this._forceTransparentPreview?100:this._ghost),A.updateDrawableVisible(this._drawable,!0),this._renderPreviewFrame=()=>{if(clearTimeout(this._renderPreviewTimeout),!this._renderPreviewFrame)return;this._renderPreviewTimeout=setTimeout(this._renderPreviewFrame,this.runtime.currentStepTime);const e=this.getFrame({format:i.FORMAT_IMAGE_DATA,cacheTimeout:this.runtime.currentStepTime});e?(A.updateBitmapSkin(this._skinId,e,1),this.runtime.requestRedraw()):A.updateBitmapSkin(this._skinId,new ImageData(...i.DIMENSIONS),1)},this._renderPreviewFrame()))}get videoReady(){return!!this.provider&&this.provider.videoReady}postData(A){let{forceTransparentPreview:e}=A;this._forceTransparentPreview=e,this.setPreviewGhost(this._ghost)}}A.exports=i},function(A,e,t){const n=t(7);A.exports=A=>{const e=n.namespace(),t=(A,t)=>{if(A&&"object"==typeof A);else{if("string"!=typeof A)throw new Error("unsupported data type in translate()");A={default:A}}return e(A,t)},i=A=>"_".concat(A);let r={};return t.setup=t=>{t&&(r=t),e.setup({locale:A?A.getLocale():"undefined"!=typeof navigator?navigator.language:"en",missingTranslation:"ignore",generateId:i,translations:r})},t.setup({}),A&&A.on("LOCALE_CHANGED",()=>{t.setup(null)}),t}},function(A,e){function t(e){return A.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},A.exports.__esModule=!0,A.exports.default=A.exports,t(e)}A.exports=t,A.exports.__esModule=!0,A.exports.default=A.exports},function(A,e){A.exports={generateExtensionId:A=>{const e=A.replace(/[^a-z0-9]/gi,"").toLowerCase();return"sbx".concat(e)},argumentIndexToId:A=>A.toString()}},function(A,e,t){"use strict";var n=window.URL||window.webkitURL;A.exports=function(A,e){try{try{var t;try{(t=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(A),t=t.getBlob()}catch(e){t=new Blob([A])}return new Worker(n.createObjectURL(t))}catch(e){return new Worker("data:application/javascript,"+encodeURIComponent(A))}}catch(A){if(!e)throw Error("Inline worker is not supported");return new Worker(e)}}},function(A,e){class t{static _mergeVarRefObjects(A,e){for(const t in e)A[t]?A[t]=A[t].concat(e[t]):A[t]=e[t];return A}static getAllVarRefsForTargets(A,e){return A.map(A=>A.blocks.getAllVariableAndListReferences(null,e)).reduce(t._mergeVarRefObjects,{})}static updateVariableIdentifiers(A,e,t){A.map(A=>(A.referencingField.id=e,t&&(A.referencingField.value=t),A))}}A.exports=t},function(A,e,t){const n=t(123),i=t(82),r=t(124),s=t(125),o=t(428),a=(A,e)=>{const t=[],n=A=>{A.localName!==e&&void 0!==e||!A.getAttribute||t.push(A);for(let e=0;e<A.childNodes.length;e++)n(A.childNodes[e])};return n(A),t},B=A=>{const e=document.createElement("span"),t=A.outerHTML,i=n.sanitize(t,{USE_PROFILES:{svg:!0},FORBID_TAGS:["a","audio","canvas","video"],ADD_DATA_URI_TAGS:["image"]});let r,s;try{e.innerHTML=i,document.body.appendChild(e),r=e.children[0].getBBox()}finally{document.body.removeChild(e)}s=0===r.width||0===r.height?0:(A=>{let e=0;const t=A=>{A.getAttribute&&(A.getAttribute("stroke")&&(e=Math.max(e,1)),A.getAttribute("stroke-width")&&(e=Math.max(e,Number(A.getAttribute("stroke-width"))||0)));for(let e=0;e<A.childNodes.length;e++)t(A.childNodes[e])};return t(A),e})(A)/2;const o=r.width+2*s,a=r.height+2*s,B=r.x-s,c=r.y-s;A.setAttribute("width",o),A.setAttribute("height",a),A.setAttribute("viewBox","".concat(B," ").concat(c," ").concat(o," ").concat(a))},c=(A,e)=>{e&&(A=>{const e=a(A,"linearGradient");for(const A of e)A.getAttribute("x2")||A.setAttribute("x2","0")})(A),o(A,window),(A=>{const e=a(A,"image"),t="image-rendering: optimizespeed; image-rendering: pixelated;";for(const A of e)A.getAttribute("style")?A.setAttribute("style","".concat(t," ").concat(A.getAttribute("style"))):A.setAttribute("style",t)})(A),e?((A=>{const e=[],t=A=>{"text"===A.localName&&e.push(A);for(let e=0;e<A.childNodes.length;e++)t(A.childNodes[e])};t(A),r(A);for(const t of e){t.removeAttribute("x"),t.removeAttribute("y"),t.setAttribute("alignment-baseline","text-before-edge"),t.setAttribute("xml:space","preserve"),t.getAttribute("font-size")||t.setAttribute("font-size","18");let e=t.textContent;const n=parseFloat(t.getAttribute("font-size")),r=2;let s=0,o=1.2;if("Handwriting"===t.getAttribute("font-family")?(o=2,s=-11*n/22):"Scratch"===t.getAttribute("font-family")?(o=.89,s=-3*n/22):"Curly"===t.getAttribute("font-family")?(o=1.38,s=-6*n/22):"Marker"===t.getAttribute("font-family")?(o=1.45,s=-6*n/22):"Sans Serif"===t.getAttribute("font-family")?(o=1.13,s=-3*n/22):"Serif"===t.getAttribute("font-family")&&(o=1.25,s=-4*n/22),0===t.transform.baseVal.numberOfItems){const e=A.createSVGTransform();t.transform.baseVal.appendItem(e)}const a=t.transform.baseVal.getItem(0).matrix;if(a.e+=a.a*r+a.c*s,a.f+=a.b*r+a.d*s,e&&0===t.childElementCount){t.textContent="";const A=e.split("\n");e="";for(const e of A){const A=i.create("tspan");A.setAttribute("x","0"),A.setAttribute("style","white-space: pre"),A.setAttribute("dy","".concat(o,"em")),A.textContent=e||" ",t.appendChild(A)}}}})(A),B(A),(A=>{const e=a(A);for(const A of e){if(!A.style)continue;const e=A.style.stroke||A.getAttribute("stroke");e&&e.match(/^url\(#.*\)$/)&&(A.style["stroke-linejoin"]="round",A.style["stroke-linecap"]="round")}})(A)):A.getAttribute("viewBox")?A.getAttribute("width")&&A.getAttribute("height")||(A.setAttribute("width",A.viewBox.baseVal.width),A.setAttribute("height",A.viewBox.baseVal.height)):B(A)};A.exports=(A,e)=>{const t=new DOMParser;A=s(A);const n=t.parseFromString(A,"text/xml");if(n.childNodes.length<1||"svg"!==n.documentElement.localName)throw new Error("Document does not appear to be SVG.");const i=n.documentElement;return c(i,e),i}},function(A,e,t){
/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.2.2/LICENSE */
A.exports=function(){"use strict";var A=Object.hasOwnProperty,e=Object.setPrototypeOf,t=Object.isFrozen,n=Object.getPrototypeOf,i=Object.getOwnPropertyDescriptor,r=Object.freeze,s=Object.seal,o=Object.create,a="undefined"!=typeof Reflect&&Reflect,B=a.apply,c=a.construct;B||(B=function(A,e,t){return A.apply(e,t)}),r||(r=function(A){return A}),s||(s=function(A){return A}),c||(c=function(A,e){return new(Function.prototype.bind.apply(A,[null].concat(function(A){if(Array.isArray(A)){for(var e=0,t=Array(A.length);e<A.length;e++)t[e]=A[e];return t}return Array.from(A)}(e))))});var g,Q=p(Array.prototype.forEach),E=p(Array.prototype.pop),l=p(Array.prototype.push),u=p(String.prototype.toLowerCase),w=p(String.prototype.match),h=p(String.prototype.replace),C=p(String.prototype.indexOf),d=p(String.prototype.trim),I=p(RegExp.prototype.test),M=(g=TypeError,function(){for(var A=arguments.length,e=Array(A),t=0;t<A;t++)e[t]=arguments[t];return c(g,e)});function p(A){return function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return B(A,e,n)}}function m(A,n){e&&e(A,null);for(var i=n.length;i--;){var r=n[i];if("string"==typeof r){var s=u(r);s!==r&&(t(n)||(n[i]=s),r=s)}A[r]=!0}return A}function F(e){var t=o(null),n=void 0;for(n in e)B(A,e,[n])&&(t[n]=e[n]);return t}function D(A,e){for(;null!==A;){var t=i(A,e);if(t){if(t.get)return p(t.get);if("function"==typeof t.value)return p(t.value)}A=n(A)}return function(A){return console.warn("fallback value for",A),null}}var Y=r(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),f=r(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),N=r(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),U=r(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),y=r(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),x=r(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),T=r(["#text"]),R=r(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns"]),G=r(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),S=r(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),H=r(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),b=s(/\{\{[\s\S]*|[\s\S]*\}\}/gm),k=s(/<%[\s\S]*|[\s\S]*%>/gm),J=s(/^data-[\-\w.\u00B7-\uFFFF]/),j=s(/^aria-[\-\w]+$/),z=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),v=s(/^(?:\w+script|data):/i),L=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A};function O(A){if(Array.isArray(A)){for(var e=0,t=Array(A.length);e<A.length;e++)t[e]=A[e];return t}return Array.from(A)}var W=function(){return"undefined"==typeof window?null:window},V=function(A,e){if("object"!==(void 0===A?"undefined":P(A))||"function"!=typeof A.createPolicy)return null;var t=null;e.currentScript&&e.currentScript.hasAttribute("data-tt-policy-suffix")&&(t=e.currentScript.getAttribute("data-tt-policy-suffix"));var n="dompurify"+(t?"#"+t:"");try{return A.createPolicy(n,{createHTML:function(A){return A}})}catch(A){return console.warn("TrustedTypes policy "+n+" could not be created."),null}};return function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:W(),t=function(e){return A(e)};if(t.version="2.2.7",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,i=e.document,s=e.DocumentFragment,o=e.HTMLTemplateElement,a=e.Node,B=e.Element,c=e.NodeFilter,g=e.NamedNodeMap,p=void 0===g?e.NamedNodeMap||e.MozNamedAttrMap:g,K=e.Text,X=e.Comment,Z=e.DOMParser,_=e.trustedTypes,q=B.prototype,$=D(q,"cloneNode"),AA=D(q,"nextSibling"),eA=D(q,"childNodes"),tA=D(q,"parentNode");if("function"==typeof o){var nA=i.createElement("template");nA.content&&nA.content.ownerDocument&&(i=nA.content.ownerDocument)}var iA=V(_,n),rA=iA&&bA?iA.createHTML(""):"",sA=i,oA=sA.implementation,aA=sA.createNodeIterator,BA=sA.getElementsByTagName,cA=sA.createDocumentFragment,gA=n.importNode,QA={};try{QA=F(i).documentMode?i.documentMode:{}}catch(A){}var EA={};t.isSupported="function"==typeof tA&&oA&&void 0!==oA.createHTMLDocument&&9!==QA;var lA=b,uA=k,wA=J,hA=j,CA=v,dA=L,IA=z,MA=null,pA=m({},[].concat(O(Y),O(f),O(N),O(y),O(T))),mA=null,FA=m({},[].concat(O(R),O(G),O(S),O(H))),DA=null,YA=null,fA=!0,NA=!0,UA=!1,yA=!1,xA=!1,TA=!1,RA=!1,GA=!1,SA=!1,HA=!0,bA=!1,kA=!0,JA=!0,jA=!1,zA={},vA=m({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),LA=null,PA=m({},["audio","video","img","source","image","track"]),OA=null,WA=m({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),VA=null,KA=i.createElement("form"),XA=function(A){VA&&VA===A||(A&&"object"===(void 0===A?"undefined":P(A))||(A={}),A=F(A),MA="ALLOWED_TAGS"in A?m({},A.ALLOWED_TAGS):pA,mA="ALLOWED_ATTR"in A?m({},A.ALLOWED_ATTR):FA,OA="ADD_URI_SAFE_ATTR"in A?m(F(WA),A.ADD_URI_SAFE_ATTR):WA,LA="ADD_DATA_URI_TAGS"in A?m(F(PA),A.ADD_DATA_URI_TAGS):PA,DA="FORBID_TAGS"in A?m({},A.FORBID_TAGS):{},YA="FORBID_ATTR"in A?m({},A.FORBID_ATTR):{},zA="USE_PROFILES"in A&&A.USE_PROFILES,fA=!1!==A.ALLOW_ARIA_ATTR,NA=!1!==A.ALLOW_DATA_ATTR,UA=A.ALLOW_UNKNOWN_PROTOCOLS||!1,yA=A.SAFE_FOR_TEMPLATES||!1,xA=A.WHOLE_DOCUMENT||!1,GA=A.RETURN_DOM||!1,SA=A.RETURN_DOM_FRAGMENT||!1,HA=!1!==A.RETURN_DOM_IMPORT,bA=A.RETURN_TRUSTED_TYPE||!1,RA=A.FORCE_BODY||!1,kA=!1!==A.SANITIZE_DOM,JA=!1!==A.KEEP_CONTENT,jA=A.IN_PLACE||!1,IA=A.ALLOWED_URI_REGEXP||IA,yA&&(NA=!1),SA&&(GA=!0),zA&&(MA=m({},[].concat(O(T))),mA=[],!0===zA.html&&(m(MA,Y),m(mA,R)),!0===zA.svg&&(m(MA,f),m(mA,G),m(mA,H)),!0===zA.svgFilters&&(m(MA,N),m(mA,G),m(mA,H)),!0===zA.mathMl&&(m(MA,y),m(mA,S),m(mA,H))),A.ADD_TAGS&&(MA===pA&&(MA=F(MA)),m(MA,A.ADD_TAGS)),A.ADD_ATTR&&(mA===FA&&(mA=F(mA)),m(mA,A.ADD_ATTR)),A.ADD_URI_SAFE_ATTR&&m(OA,A.ADD_URI_SAFE_ATTR),JA&&(MA["#text"]=!0),xA&&m(MA,["html","head","body"]),MA.table&&(m(MA,["tbody"]),delete DA.tbody),r&&r(A),VA=A)},ZA=m({},["mi","mo","mn","ms","mtext"]),_A=m({},["foreignobject","desc","title","annotation-xml"]),qA=m({},f);m(qA,N),m(qA,U);var $A=m({},y);m($A,x);var Ae="http://www.w3.org/1998/Math/MathML",ee="http://www.w3.org/2000/svg",te="http://www.w3.org/1999/xhtml",ne=function(A){var e=tA(A);e&&e.tagName||(e={namespaceURI:te,tagName:"template"});var t=u(A.tagName),n=u(e.tagName);if(A.namespaceURI===ee)return e.namespaceURI===te?"svg"===t:e.namespaceURI===Ae?"svg"===t&&("annotation-xml"===n||ZA[n]):Boolean(qA[t]);if(A.namespaceURI===Ae)return e.namespaceURI===te?"math"===t:e.namespaceURI===ee?"math"===t&&_A[n]:Boolean($A[t]);if(A.namespaceURI===te){if(e.namespaceURI===ee&&!_A[n])return!1;if(e.namespaceURI===Ae&&!ZA[n])return!1;var i=m({},["title","style","font","a","script"]);return!$A[t]&&(i[t]||!qA[t])}return!1},ie=function(A){l(t.removed,{element:A});try{A.parentNode.removeChild(A)}catch(e){try{A.outerHTML=rA}catch(e){A.remove()}}},re=function(A,e){try{l(t.removed,{attribute:e.getAttributeNode(A),from:e})}catch(A){l(t.removed,{attribute:null,from:e})}if(e.removeAttribute(A),"is"===A&&!mA[A])if(GA||SA)try{ie(e)}catch(A){}else try{e.setAttribute(A,"")}catch(A){}},se=function(A){var e=void 0,t=void 0;if(RA)A="<remove></remove>"+A;else{var n=w(A,/^[\r\n\t ]+/);t=n&&n[0]}var r=iA?iA.createHTML(A):A;try{e=(new Z).parseFromString(r,"text/html")}catch(A){}if(!e||!e.documentElement){var s=(e=oA.createHTMLDocument("")).body;s.parentNode.removeChild(s.parentNode.firstElementChild),s.outerHTML=r}return A&&t&&e.body.insertBefore(i.createTextNode(t),e.body.childNodes[0]||null),BA.call(e,xA?"html":"body")[0]},oe=function(A){return aA.call(A.ownerDocument||A,A,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,(function(){return c.FILTER_ACCEPT}),!1)},ae=function(A){return!(A instanceof K||A instanceof X||"string"==typeof A.nodeName&&"string"==typeof A.textContent&&"function"==typeof A.removeChild&&A.attributes instanceof p&&"function"==typeof A.removeAttribute&&"function"==typeof A.setAttribute&&"string"==typeof A.namespaceURI&&"function"==typeof A.insertBefore)},Be=function(A){return"object"===(void 0===a?"undefined":P(a))?A instanceof a:A&&"object"===(void 0===A?"undefined":P(A))&&"number"==typeof A.nodeType&&"string"==typeof A.nodeName},ce=function(A,e,n){EA[A]&&Q(EA[A],(function(A){A.call(t,e,n,VA)}))},ge=function(A){var e=void 0;if(ce("beforeSanitizeElements",A,null),ae(A))return ie(A),!0;if(w(A.nodeName,/[\u0080-\uFFFF]/))return ie(A),!0;var n=u(A.nodeName);if(ce("uponSanitizeElement",A,{tagName:n,allowedTags:MA}),!Be(A.firstElementChild)&&(!Be(A.content)||!Be(A.content.firstElementChild))&&I(/<[/\w]/g,A.innerHTML)&&I(/<[/\w]/g,A.textContent))return ie(A),!0;if(!MA[n]||DA[n]){if(JA&&!vA[n]){var i=tA(A),r=eA(A);if(r&&i)for(var s=r.length-1;s>=0;--s)i.insertBefore($(r[s],!0),AA(A))}return ie(A),!0}return A instanceof B&&!ne(A)?(ie(A),!0):"noscript"!==n&&"noembed"!==n||!I(/<\/no(script|embed)/i,A.innerHTML)?(yA&&3===A.nodeType&&(e=A.textContent,e=h(e,lA," "),e=h(e,uA," "),A.textContent!==e&&(l(t.removed,{element:A.cloneNode()}),A.textContent=e)),ce("afterSanitizeElements",A,null),!1):(ie(A),!0)},Qe=function(A,e,t){if(kA&&("id"===e||"name"===e)&&(t in i||t in KA))return!1;if(NA&&I(wA,e));else if(fA&&I(hA,e));else{if(!mA[e]||YA[e])return!1;if(OA[e]);else if(I(IA,h(t,dA,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===A||0!==C(t,"data:")||!LA[A])if(UA&&!I(CA,h(t,dA,"")));else if(t)return!1}return!0},Ee=function(A){var e=void 0,n=void 0,i=void 0,r=void 0;ce("beforeSanitizeAttributes",A,null);var s=A.attributes;if(s){var o={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:mA};for(r=s.length;r--;){var a=e=s[r],B=a.name,c=a.namespaceURI;if(n=d(e.value),i=u(B),o.attrName=i,o.attrValue=n,o.keepAttr=!0,o.forceKeepAttr=void 0,ce("uponSanitizeAttribute",A,o),n=o.attrValue,!o.forceKeepAttr&&(re(B,A),o.keepAttr))if(I(/\/>/i,n))re(B,A);else{yA&&(n=h(n,lA," "),n=h(n,uA," "));var g=A.nodeName.toLowerCase();if(Qe(g,i,n))try{c?A.setAttributeNS(c,B,n):A.setAttribute(B,n),E(t.removed)}catch(A){}}}ce("afterSanitizeAttributes",A,null)}},le=function A(e){var t=void 0,n=oe(e);for(ce("beforeSanitizeShadowDOM",e,null);t=n.nextNode();)ce("uponSanitizeShadowNode",t,null),ge(t)||(t.content instanceof s&&A(t.content),Ee(t));ce("afterSanitizeShadowDOM",e,null)};return t.sanitize=function(A,i){var r=void 0,o=void 0,B=void 0,c=void 0,g=void 0;if(A||(A="\x3c!--\x3e"),"string"!=typeof A&&!Be(A)){if("function"!=typeof A.toString)throw M("toString is not a function");if("string"!=typeof(A=A.toString()))throw M("dirty is not a string, aborting")}if(!t.isSupported){if("object"===P(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof A)return e.toStaticHTML(A);if(Be(A))return e.toStaticHTML(A.outerHTML)}return A}if(TA||XA(i),t.removed=[],"string"==typeof A&&(jA=!1),jA);else if(A instanceof a)1===(o=(r=se("\x3c!----\x3e")).ownerDocument.importNode(A,!0)).nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?r=o:r.appendChild(o);else{if(!GA&&!yA&&!xA&&-1===A.indexOf("<"))return iA&&bA?iA.createHTML(A):A;if(!(r=se(A)))return GA?null:rA}r&&RA&&ie(r.firstChild);for(var Q=oe(jA?A:r);B=Q.nextNode();)3===B.nodeType&&B===c||ge(B)||(B.content instanceof s&&le(B.content),Ee(B),c=B);if(c=null,jA)return A;if(GA){if(SA)for(g=cA.call(r.ownerDocument);r.firstChild;)g.appendChild(r.firstChild);else g=r;return HA&&(g=gA.call(n,g,!0)),g}var E=xA?r.outerHTML:r.innerHTML;return yA&&(E=h(E,lA," "),E=h(E,uA," ")),iA&&bA?iA.createHTML(E):E},t.setConfig=function(A){XA(A),TA=!0},t.clearConfig=function(){VA=null,TA=!1},t.isValidAttribute=function(A,e,t){VA||XA({});var n=u(A),i=u(e);return Qe(n,i,t)},t.addHook=function(A,e){"function"==typeof e&&(EA[A]=EA[A]||[],l(EA[A],e))},t.removeHook=function(A){EA[A]&&E(EA[A])},t.removeHooks=function(A){EA[A]&&(EA[A]=[])},t.removeAllHooks=function(){EA={}},t}()}()},function(A,e){A.exports=function(A){const e=[],t=A=>{"text"===A.localName&&e.push(A);for(let e=0;e<A.childNodes.length;e++)t(A.childNodes[e])};t(A);for(const A of e)A.getAttribute("font-family")&&"Helvetica"!==A.getAttribute("font-family")?"Mystery"===A.getAttribute("font-family")?A.setAttribute("font-family","Curly"):"Gloria"===A.getAttribute("font-family")?A.setAttribute("font-family","Handwriting"):"Donegal"===A.getAttribute("font-family")&&A.setAttribute("font-family","Serif"):A.setAttribute("font-family","Sans Serif")}},function(A,e){A.exports=function(A){const e=A.match(/<svg [^>]*>/);e&&-1===e[0].indexOf("xmlns=")&&(A=A.replace("<svg ",'<svg xmlns="http://www.w3.org/2000/svg" ')),e&&-1!==e[0].indexOf("&ns_")&&-1===A.indexOf("<!DOCTYPE")&&(A=A.replace(e[0],e[0].replace(/&ns_[^;]+;/g,"http://ns.adobe.com/Extensibility/1.0/"))),A.includes("data:img/png")&&(A=A.replace(/(<image[^>]+?xlink:href=["'])data:img\/png/g,(A,e)=>"".concat(e,"data:image/png")));const t=/(<[^>]+?xmlns:(?!xml=)[^ ]+=)"http:\/\/www.w3.org\/XML\/1998\/namespace"/g;return null!==A.match(t)&&(A=A.replace(t,(A,e)=>"".concat(e,'"http://dummy.namespace"'))),A=(A=(A=A.replace(/<(\/?)\s*svg:/g,"<$1")).replace(/<metadata>[\s\S]*<\/metadata>/,"<metadata></metadata>")).replace(/<script[\s\S]*>[\s\S]*<\/script>/,"<script><\/script>")}},function(A,e,t){const n=t(127);A.exports=(A,e)=>{let t=(new XMLSerializer).serializeToString(A);return e&&(t=n(t,e)),t}},function(A,e,t){const n=t(431),i=A=>A.replace(/[<>&'"]/g,A=>{switch(A){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";case"'":return"&apos;";case'"':return"&quot;"}});A.exports=function(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof A)throw new Error("SVG to be inlined is not a string");const t={};if(e&&"object"==typeof e)for(const[A,n]of Object.entries(e))t[i(A)]=n;try{Object.assign(t,n())}catch(A){}const r=new Set,s=/font-family="([^"]*)"/g;let o=s.exec(A);for(;o;)r.add(o[1]),o=s.exec(A);if(r.size>0){let e="<defs><style>";for(const A of r)Object.prototype.hasOwnProperty.call(t,A)&&(e+="".concat(t[A]));return e+="</style></defs>",A=A.replace(/<svg[^>]*>/,"$&".concat(e))}return A}},function(A,e,t){var n=t(83);function i(A,e){function t(A,e){return n.slice(A,e).map((function(e,t){for(var n=String(A+t+1);n.length<a;)n=" "+n;return n+" |"+e})).join("\n")}var n=A.source.split(/\r\n?|\n|\f/),i=A.line,r=A.column,s=Math.max(1,i-e)-1,o=Math.min(i+e,n.length+1),a=Math.max(4,String(o).length)+1,B=0;(r+=(" ".length-1)*(n[i-1].substr(0,r-1).match(/\t/g)||[]).length)>100&&(B=r-60+3,r=58);for(var c=s;c<=o;c++)c>=0&&c<n.length&&(n[c]=n[c].replace(/\t/g," "),n[c]=(B>0&&n[c].length>B?"…":"")+n[c].substr(B,98)+(n[c].length>B+100-1?"…":""));return[t(s,i),new Array(r+a+2).join("-")+"^",t(i,o)].filter(Boolean).join("\n")}A.exports=function(A,e,t,r,s){var o=n("SyntaxError",A);return o.source=e,o.offset=t,o.line=r,o.column=s,o.sourceFragment=function(A){return i(o,isNaN(A)?0:A)},Object.defineProperty(o,"formattedMessage",{get:function(){return"Parse error: "+o.message+"\n"+i(o,2)}}),o.parseError={offset:t,line:r,column:s},o}},function(A,e){function t(A){return A>=48&&A<=57}function n(A){return A>=65&&A<=90}function i(A){return A>=97&&A<=122}function r(A){return n(A)||i(A)}function s(A){return A>=128}function o(A){return r(A)||s(A)||95===A}function a(A){return A>=0&&A<=8||11===A||A>=14&&A<=31||127===A}function B(A){return 10===A||13===A||12===A}function c(A){return B(A)||32===A||9===A}function g(A,e){return 92===A&&(!B(e)&&0!==e)}var Q=new Array(128);l.Eof=128,l.WhiteSpace=130,l.Digit=131,l.NameStart=132,l.NonPrintable=133;for(var E=0;E<Q.length;E++)switch(!0){case c(E):Q[E]=l.WhiteSpace;break;case t(E):Q[E]=l.Digit;break;case o(E):Q[E]=l.NameStart;break;case a(E):Q[E]=l.NonPrintable;break;default:Q[E]=E||l.Eof}function l(A){return A<128?Q[A]:l.NameStart}A.exports={isDigit:t,isHexDigit:function(A){return t(A)||A>=65&&A<=70||A>=97&&A<=102},isUppercaseLetter:n,isLowercaseLetter:i,isLetter:r,isNonAscii:s,isNameStart:o,isName:function(A){return o(A)||t(A)||45===A},isNonPrintable:a,isNewline:B,isWhiteSpace:c,isValidEscape:g,isIdentifierStart:function(A,e,t){return 45===A?o(e)||45===e||g(e,t):!!o(A)||92===A&&g(A,e)},isNumberStart:function(A,e,n){return 43===A||45===A?t(e)?2:46===e&&t(n)?3:0:46===A?t(e)?2:0:t(A)?1:0},isBOM:function(A){return 65279===A||65534===A?1:0},charCodeCategory:l}},function(A,e,t){const n=t(83),i=t(84),r={offset:0,line:1,column:1};function s(A,e){const t=A&&A.loc&&A.loc[e];return t?"line"in t?o(t):t:null}function o({offset:A,line:e,column:t},n){const i={offset:A,line:e,column:t};if(n){const A=n.split(/\n|\r\n?|\f/);i.offset+=n.length,i.line+=A.length-1,i.column=1===A.length?i.column+n.length:A.pop().length+1}return i}A.exports={SyntaxReferenceError:function(A,e){const t=n("SyntaxReferenceError",A+(e?" `"+e+"`":""));return t.reference=e,t},SyntaxMatchError:function(A,e,t,a){const B=n("SyntaxMatchError",A),{css:c,mismatchOffset:g,mismatchLength:Q,start:E,end:l}=function(A,e){const t=A.tokens,n=A.longestMatch,i=n<t.length&&t[n].node||null,a=i!==e?i:null;let B,c,g=0,Q=0,E=0,l="";for(let A=0;A<t.length;A++){const e=t[A].value;A===n&&(Q=e.length,g=l.length),null!==a&&t[A].node===a&&(A<=n?E++:E=0),l+=e}return n===t.length||E>1?(B=s(a||e,"end")||o(r,l),c=o(B)):(B=s(a,"start")||o(s(e,"start")||r,l.slice(0,g)),c=s(a,"end")||o(B,l.substr(g,Q))),{css:l,mismatchOffset:g,mismatchLength:Q,start:B,end:c}}(a,t);return B.rawMessage=A,B.syntax=e?i(e):"<generic>",B.css=c,B.mismatchOffset=g,B.mismatchLength=Q,B.message=A+"\n syntax: "+B.syntax+"\n value: "+(c||"<empty string>")+"\n --------"+new Array(B.mismatchOffset+1).join("-")+"^",Object.assign(B,E),B.loc={source:t&&t.loc&&t.loc.source||"<unknown>",start:E,end:l},B}}},function(A,e){var t="undefined"!=typeof Uint32Array?Uint32Array:Array;A.exports=function(A,e){return null===A||A.length<e?new t(Math.max(e+1024,16384)):A}},function(A,e,t){var n=t(83);A.exports=function(A,e,t){var i=n("SyntaxError",A);return i.input=e,i.offset=t,i.rawMessage=A,i.message=i.rawMessage+"\n "+i.input+"\n--"+new Array((i.offset||i.input.length)+1).join("-")+"^",i}},function(A,e){var t=function(){};function n(A){return"function"==typeof A?A:t}A.exports=function(A,e,i){var r=t,s=t;if("function"==typeof e?r=e:e&&(r=n(e.enter),s=n(e.leave)),r===t&&s===t)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");!function A(e){switch(r.call(i,e),e.type){case"Group":e.terms.forEach(A);break;case"Multiplier":A(e.term);break;case"Type":case"Property":case"Keyword":case"AtKeyword":case"Function":case"String":case"Token":case"Comma":break;default:throw new Error("Unknown type: "+e.type)}s.call(i,e)}(A)}},function(A,e,t){var n=t(86),i={type:"Match"},r={type:"Mismatch"},s={type:"DisallowEmpty"};function o(A,e,t){return e===i&&t===r||A===i&&e===i&&t===i?A:("If"===A.type&&A.else===r&&e===i&&(e=A.then,A=A.match),{type:"If",match:A,then:e,else:t})}function a(A){return A.length>2&&40===A.charCodeAt(A.length-2)&&41===A.charCodeAt(A.length-1)}function B(A){return"Keyword"===A.type||"AtKeyword"===A.type||"Function"===A.type||"Type"===A.type&&a(A.name)}function c(A){if("function"==typeof A)return{type:"Generic",fn:A};switch(A.type){case"Group":var e=function A(e,t,n){switch(e){case" ":for(var s=i,c=t.length-1;c>=0;c--){s=o(E=t[c],s,r)}return s;case"|":s=r;var g=null;for(c=t.length-1;c>=0;c--){if(B(E=t[c])&&(null===g&&c>0&&B(t[c-1])&&(s=o({type:"Enum",map:g=Object.create(null)},i,s)),null!==g)){var Q=(a(E.name)?E.name.slice(0,-1):E.name).toLowerCase();if(Q in g==!1){g[Q]=E;continue}}g=null,s=o(E,i,s)}return s;case"&&":if(t.length>5)return{type:"MatchOnce",terms:t,all:!0};for(s=r,c=t.length-1;c>=0;c--){var E=t[c];l=t.length>1?A(e,t.filter((function(A){return A!==E})),!1):i,s=o(E,l,s)}return s;case"||":if(t.length>5)return{type:"MatchOnce",terms:t,all:!1};for(s=n?i:r,c=t.length-1;c>=0;c--){var l;E=t[c];l=t.length>1?A(e,t.filter((function(A){return A!==E})),!0):i,s=o(E,l,s)}return s}}(A.combinator,A.terms.map(c),!1);return A.disallowEmpty&&(e=o(e,s,r)),e;case"Multiplier":return function(A){var e=i,t=c(A.term);if(0===A.max)t=o(t,s,r),(e=o(t,null,r)).then=o(i,i,e),A.comma&&(e.then.else=o({type:"Comma",syntax:A},e,r));else for(var n=A.min||1;n<=A.max;n++)A.comma&&e!==i&&(e=o({type:"Comma",syntax:A},e,r)),e=o(t,o(i,i,e),r);if(0===A.min)e=o(i,i,e);else for(n=0;n<A.min-1;n++)A.comma&&e!==i&&(e=o({type:"Comma",syntax:A},e,r)),e=o(t,e,r);return e}(A);case"Type":case"Property":return{type:A.type,name:A.name,syntax:A};case"Keyword":return{type:A.type,name:A.name.toLowerCase(),syntax:A};case"AtKeyword":return{type:A.type,name:"@"+A.name.toLowerCase(),syntax:A};case"Function":return{type:A.type,name:A.name.toLowerCase()+"(",syntax:A};case"String":return 3===A.value.length?{type:"Token",value:A.value.charAt(1),syntax:A}:{type:A.type,value:A.value.substr(1,A.value.length-2).replace(/\\'/g,"'"),syntax:A};case"Token":return{type:A.type,value:A.value,syntax:A};case"Comma":return{type:A.type,syntax:A};default:throw new Error("Unknown node type:",A.type)}}A.exports={MATCH:i,MISMATCH:r,DISALLOW_EMPTY:s,buildMatchGraph:function(A,e){return"string"==typeof A&&(A=n(A)),{type:"MatchGraph",match:c(A),syntax:e||null,source:A}}}},function(A,e,t){var n=t(4).cmpChar,i=t(4).cmpStr,r=t(4).TYPE,s=r.Ident,o=r.String,a=r.Number,B=r.Function,c=r.Url,g=r.Hash,Q=r.Dimension,E=r.Percentage,l=r.LeftParenthesis,u=r.LeftSquareBracket,w=r.Comma,h=r.Delim;A.exports=function(A){switch(this.scanner.tokenType){case g:return this.Hash();case w:return A.space=null,A.ignoreWSAfter=!0,this.Operator();case l:return this.Parentheses(this.readSequence,A.recognizer);case u:return this.Brackets(this.readSequence,A.recognizer);case o:return this.String();case Q:return this.Dimension();case E:return this.Percentage();case a:return this.Number();case B:return i(this.scanner.source,this.scanner.tokenStart,this.scanner.tokenEnd,"url(")?this.Url():this.Function(this.readSequence,A.recognizer);case c:return this.Url();case s:return n(this.scanner.source,this.scanner.tokenStart,117)&&n(this.scanner.source,this.scanner.tokenStart+1,43)?this.UnicodeRange():this.Identifier();case h:var e=this.scanner.source.charCodeAt(this.scanner.tokenStart);if(47===e||42===e||43===e||45===e)return this.Operator();35===e&&this.error("Hex or identifier is expected",this.scanner.tokenStart+1)}}},function(A,e){A.exports={parse:function(){return this.createSingleNodeList(this.SelectorList())}}},function(A,e){A.exports={parse:function(){return this.createSingleNodeList(this.Nth(!0))}}},function(A,e){A.exports={parse:function(){return this.createSingleNodeList(this.Nth(!1))}}},function(A,e,t){let n,i;"undefined"==typeof TextEncoder?(n=t(41).TextEncoder,i=t(41).TextDecoder):(n=TextEncoder,i=TextDecoder);const r="<!".concat("-".repeat(2)),s="".concat("-".repeat(2),">"),o=new RegExp("".concat(r,"rotationCenter:(-?[\\d\\.]+):(-?[\\d\\.]+)").concat(s,"$"));A.exports={parseVectorMetadata:A=>{const e=A.match(o);if(!e)return null;const t=+e[1],n=+e[2];return Number.isNaN(t)||Number.isNaN(n)?null:[t,n]},exportCostume:A=>{const e=A.asset.data;if("svg"!==A.dataFormat)return e;let t=(new i).decode(e);t=t.replace(o,"");const a=A.rotationCenterX,B=A.rotationCenterY;return t+="".concat(r,"rotationCenter:").concat(a,":").concat(B).concat(s),(new n).encode(t)}}},function(A,e,t){const n=t(14);A.exports=A=>{const e={};for(let t=0;t<A.length;t++){const i=n(),r=A[t].id;A[t].id=e[r]=i}for(let t=0;t<A.length;t++){for(const n in A[t].inputs){const i=A[t].inputs[n];i.block=e[i.block],i.shadow=e[i.shadow]}A[t].parent&&(A[t].parent=e[A[t].parent]),A[t].next&&(A[t].next=e[A[t].next])}}},function(A,e,t){const n=A=>function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Promise((e,n)=>{A(...t,(A,t)=>{A?n("string"==typeof A?new Error(A):A):e(t)})})};var i=n(t(550)),r=n(t(552)),s=n(t(553));A.exports=function(A,e,t){i(A,e).then((function(A){return r(A[0]).then(s.bind(null,e)).then((function(e){return[e,A[1]]}))})).then(t.bind(null,null),t)}},function(A,e,t){const n=t(43),i=t(8);A.exports={deserializeSound:function(A,e,t,r){const s=r||A.md5,o=e.storage;if(!o)return i.warn("No storage module present; cannot load sound asset: ",s),Promise.resolve(null);if(!t)return Promise.resolve(null);let a=t.file(s);if(!a){const A=new RegExp("^([^/]*/)?".concat(s,"$"));a=t.file(A)[0]}if(!a)return i.error("Could not find sound file associated with the ".concat(A.name," sound.")),Promise.resolve(null);if(!n.support.uint8array)return i.error("JSZip uint8array is not supported in this browser."),Promise.resolve(null);const B="mp3"===A.dataFormat.toLowerCase()?o.DataFormat.MP3:o.DataFormat.WAV;return a.async("uint8array").then(A=>o.createAsset(o.AssetType.Sound,B,A,null,!0)).then(e=>{A.asset=e,A.assetId=e.assetId,A.md5="".concat(e.assetId,".").concat(e.dataFormat)})},deserializeCostume:function(A,e,t,r,s){const o=e.storage,a=A.assetId,B=r||"".concat(a,".").concat(A.dataFormat);if(!o)return i.warn("No storage module present; cannot load costume asset: ",B),Promise.resolve(null);if(A.asset)return Promise.resolve(o.createAsset(A.asset.assetType,A.asset.dataFormat,new Uint8Array(Object.keys(A.asset.data).map(e=>A.asset.data[e])),null,!0)).then(e=>{A.asset=e,A.assetId=e.assetId,A.md5="".concat(e.assetId,".").concat(e.dataFormat)});if(!t)return Promise.resolve(null);let c=t.file(B);if(!c){const A=new RegExp("^([^/]*/)?".concat(B,"$"));c=t.file(A)[0]}if(!c)return i.error("Could not find costume file associated with the ".concat(A.name," costume.")),Promise.resolve(null);let g=null;const Q=A.dataFormat.toLowerCase();if("svg"===Q?g=o.AssetType.ImageVector:["png","bmp","jpeg","jpg","gif"].indexOf(Q)>=0?g=o.AssetType.ImageBitmap:i.error("Unexpected file format for costume: ".concat(Q)),!n.support.uint8array)return i.error("JSZip uint8array is not supported in this browser."),Promise.resolve(null);let E;if(A.textLayerMD5){const e=t.file(s);if(!e)return i.error("Could not find text layer file associated with the ".concat(A.name," costume.")),Promise.resolve(null);E=e.async("uint8array").then(e=>o.createAsset(o.AssetType.ImageBitmap,"png",e,A.textLayerMD5)).then(e=>{A.textLayerAsset=e})}else E=Promise.resolve(null);return Promise.all([E,c.async("uint8array").then(A=>o.createAsset(g,Q,A,null,!0)).then(e=>{A.asset=e,A.assetId=e.assetId,A.md5="".concat(e.assetId,".").concat(e.dataFormat)})])}}},function(A,e,t){const n=t(30),i=t(79),r=t(81),s=t(13),o=t(8),a=t(14),B=t(16),c=t(11),g=t(557),Q=t(80),E=t(24),l=t(73),u=t(27),w=t(119),{loadCostume:h}=t(61),{loadSound:C}=t(60),{deserializeCostume:d,deserializeSound:I}=t(142),M=["argument","control","data","event","looks","math","motion","operator","procedures","sensing","sound"],p=/\u001f|\./,m=A=>{const[e,t]=A.split(p),n=w.generateExtensionId(e);return"".concat(n,"_").concat(t)},F=function(A){const e=[{}];let t=0;const n=A.split(/(?=[^\\]%[nbs])/);for(let A=0;A<n.length;A++){const i=n[A].trim();if("%"===i.substring(0,1)){const A=i.substring(1,2),n={type:"input",inputName:"input"+t++};"n"===A?n.inputOp="math_number":"s"===A?n.inputOp="text":"b"===A&&(n.inputOp="boolean"),e.push(n)}}return e},D=function(A){return F(A).map(A=>A.inputName).filter(A=>A)},Y=function A(e){let t=[];for(let n=0;n<e.length;n++){const i=e[n];t.push(i),i.children&&(t=t.concat(A(i.children))),delete i.children}return t},f=function(A,e,t,n,i,r,s){const o=[];let a=null;for(let B=0;B<A.length;B++){const c=A[B],g=G(c,e,t,n,i,r,s),Q=g[0];s=g[1],Q&&(a&&(Q.parent=a.id,a.next=Q.id),a=Q,o.push(Q))}return[o,s]},N=function(){let A={};const e=(A,e,t)=>"".concat(A,"-").concat(B.replaceUnsafeChars(e),"-").concat(t);return function(t,n){return n&&(A={}),function(i,r){return n?(A["".concat(i,"-").concat(r)]=e(t,i,r),A["".concat(i,"-").concat(r)]):A["".concat(i,"-").concat(r)]?A["".concat(i,"-").concat(r)]:e(t,i,r)}}}(),U=function(){let A={};const e=[],t=a();return function(n){return n&&(A={}),{broadcastMsgMapUpdater:function(n,i){return""===(n=n.toLowerCase())&&(n=t),A[n]="broadcastMsgId-".concat(B.replaceUnsafeChars(n)),e.push(i),A[n]},globalBroadcastMsgs:A,allBroadcastFields:e,emptyMsgName:t}}}(),y=(A,e,t,n)=>{if(!g[A.cmd])return void o.warn("Could not find monitor block with opcode: ".concat(A.cmd));const i=g[A.cmd].opcode,r=i.indexOf("_"),s=i.substring(0,r);if("videoSensing"===s)return;if(-1===M.indexOf(s)&&""!==s&&!n.extensionIDs.has(s)&&!A.visible)return;let a=null;if(!A.hasOwnProperty("target"))for(let e=0;e<t.length;e++){const n=t[e];Object.keys(n.variables).filter(e=>{const t=n.variables[e];return t.type===E.LIST_TYPE&&t.name===A.listName}).length>0&&(a=n,A.target=n.getName())}if(a=a||t.filter(e=>e.getName()===A.target)[0],!a)throw new Error("Cannot create monitor for target that cannot be found by name");const B=N(a.id,!1),[c,Q]=G([A.cmd,A.param],null,B,n,{},null,null);"getVar:"===A.cmd?c.id=B(A.param,E.SCALAR_TYPE):"contentsOfList:"===A.cmd?c.id=B(A.param,E.LIST_TYPE):e.monitorBlockInfo.hasOwnProperty(c.opcode)?c.id=e.monitorBlockInfo[c.opcode].getId(a.id,c.fields):c.id=c.opcode,c.targetId=a.isStage?null:a.id,c.isMonitored=A.visible;const u=e.monitorBlocks._blocks[c.id];if(u)u.isMonitored=A.visible,u.targetId=c.targetId;else{const A=Y([c]);for(let t=0;t<A.length;t++)e.monitorBlocks.createBlock(A[t])}switch(A.mode){case 1:A.mode="default";break;case 2:A.mode="large";break;case 3:A.mode="slider"}e.requestAddMonitor(l({id:c.id,targetId:c.targetId,spriteName:c.targetId?A.target:null,opcode:c.opcode,params:e.monitorBlocks._getBlockParams(c),value:"",mode:A.mode,sliderMin:A.sliderMin,sliderMax:A.sliderMax,isDiscrete:A.isDiscrete,x:A.x,y:A.y,width:A.width,height:A.height,visible:A.visible}))},x=function A(e,t,s,o,a,B){if(!e.hasOwnProperty("objName"))return e.hasOwnProperty("listName")&&(e.cmd="contentsOfList:",e.param=e.listName,e.mode="list"),e.deferredMonitor=!0,Promise.resolve(e);const g=new n(t),l=new r(g,t);if(e.hasOwnProperty("objName")){if(o&&"Stage"!==e.objName){for(const A of e.children)A.hasOwnProperty("objName")||A.target!==e.objName||(A.target="Stage");e.objName="Stage"}l.name=e.objName}const h=B.costumePromises,{soundBank:C,soundPromises:d}=B,I=l.createClone(o?u.BACKGROUND_LAYER:u.SPRITE_LAYER),M=N(I.id,o),p=U(o),m=p.broadcastMsgMapUpdater;if(e.hasOwnProperty("variables"))for(let A=0;A<e.variables.length;A++){const n=e.variables[A],i=n.isPersistent&&o&&t.canAddCloudVariable(),r=new E(M(n.name,E.SCALAR_TYPE),n.name,E.SCALAR_TYPE,i);i&&t.addCloudVariable(),r.value=n.value,I.variables[r.id]=r}const F={};if(e.hasOwnProperty("scriptComments")){e.scriptComments.map(A=>{const[e,t,n,i,r,s,o]=A,a=A[5]>=0,B=new Q(null,o,a?null:1.5*e,a?null:2.2*t,1.5*n,2.2*i,!r);return a&&(B.blockId=s,F.hasOwnProperty(s)?F[s].push(B):F[s]=[B]),B}).forEach(A=>{I.comments[A.id]=A})}e.hasOwnProperty("scripts")&&function(A,e,t,n,i,r){let s=0;for(let o=0;o<A.length;o++){const a=A[o],B=a[0],c=a[1],g=a[2],Q={},[E,l]=f(g,t,n,i,Q,r,s);s=l,E[0]&&(E[0].x=1.5*B,E[0].y=2.2*c,E[0].topLevel=!0,E[0].parent=null);const u=Y(E);for(let A=0;A<u.length;A++)e.createBlock(u[A])}}(e.scripts,g,m,M,s,F);for(const A in F){F[A].forEach(A=>{"number"==typeof A.blockId&&(A.blockId=null)})}if(g.updateTargetSpecificBlocks(o),e.hasOwnProperty("lists"))for(let A=0;A<e.lists.length;A++){const t=e.lists[A],n=new E(M(t.listName,E.LIST_TYPE),t.listName,E.LIST_TYPE,!1);n.value=t.contents,I.variables[n.id]=n}e.hasOwnProperty("scratchX")&&(I.x=e.scratchX),e.hasOwnProperty("scratchY")&&(I.y=e.scratchY),e.hasOwnProperty("direction")&&(I.direction=e.direction),e.hasOwnProperty("isDraggable")&&(I.draggable=e.isDraggable),e.hasOwnProperty("scale")&&(I.size=100*e.scale),e.hasOwnProperty("visible")&&(I.visible=e.visible),e.hasOwnProperty("currentCostumeIndex")&&(I.currentCostume=c.clamp(Math.floor(e.currentCostumeIndex),0,e.costumes.length-1)),e.hasOwnProperty("rotationStyle")&&("none"===e.rotationStyle?I.rotationStyle=i.ROTATION_STYLE_NONE:"leftRight"===e.rotationStyle?I.rotationStyle=i.ROTATION_STYLE_LEFT_RIGHT:"upDown"===e.rotationStyle?I.rotationStyle=i.ROTATION_STYLE_UP_DOWN:"lookAt"===e.rotationStyle?I.rotationStyle=i.ROTATION_STYLE_LOOK_AT:"normal"===e.rotationStyle&&(I.rotationStyle=i.ROTATION_STYLE_ALL_AROUND)),e.hasOwnProperty("tempoBPM")&&(I.tempo=e.tempoBPM),e.hasOwnProperty("videoAlpha")&&(I.videoTransparency=100-100*e.videoAlpha),e.hasOwnProperty("info")&&e.info.hasOwnProperty("videoOn")&&(e.info.videoOn?I.videoState=i.VIDEO_STATE.ON:I.videoState=i.VIDEO_STATE.OFF),e.hasOwnProperty("indexInLibrary")&&(I.targetPaneOrder=e.indexInLibrary),I.isStage=o,Promise.all(h).then(A=>{l.costumes=A}),Promise.all(d).then(A=>{l.sounds=A,l.soundBank=C||null});const D=[];if(e.children)for(let n=0;n<e.children.length;n++)D.push(A(e.children[n],t,s,!1,a,B.children[n]));if(o){const A=e.info&&e.info.savedExtensions;if(Array.isArray(A))for(const e of A){const A=w.generateExtensionId(e.extensionName),t=e.javascriptURL;s.extensionURLs.set(A,t)}}return Promise.all(h.concat(d)).then(()=>Promise.all(D).then(A=>{if(I.isStage){const A=p.globalBroadcastMsgs,e=p.allBroadcastFields,t=p.emptyMsgName;if(A[t]){let n=1;for(;A["message".concat(n)];)n+=1;const i="message".concat(n);A[i]=A[t],delete A[t];for(let A=0;A<e.length;A++)""===e[A].value&&(e[A].value=i)}for(const e in A){const t=A[e],n=new E(t,e,E.BROADCAST_MESSAGE_TYPE,!1);I.variables[n.id]=n}}let e=[I];const n=[];for(let t=0;t<A.length;t++)A[t]&&(A[t].deferredMonitor?n.push(A[t]):e=e.concat(A[t]));for(let A=0;A<n.length;A++)y(n[A],t,e,s);return e}))},T=function(A){const e=A.map((A,e)=>(A.layerOrder=e,A)).sort((A,e)=>A.targetPaneOrder-e.targetPaneOrder);return e.forEach(A=>{delete A.targetPaneOrder}),e},R=function(A){const e=A[0],t=e&&g[e];return t?"function"==typeof t?t(A):t:e&&(A=>p.test(A))(e)?(A=>{const e=A[0],t=A.length-1,n=[];for(let A=0;A<t;A++)n.push({type:"input",inputOp:"text",inputName:w.argumentIndexToId(A)});return{opcode:m(e),argMap:n}})(A):(o.warn("Couldn't find SB2 block: ".concat(e)),null)},G=function A(e,t,n,i,r,B,c){const g=B&&"number"==typeof c&&!isNaN(c)?B[c]:null,Q=R(e);if(!Q)return g&&g.forEach(A=>{A.blockId=null,A.x=A.y=0}),[null,c+1];const l=e[0],u=Q.opcode.indexOf("_"),w=Q.opcode.substring(0,u);-1===M.indexOf(w)&&""!==w&&i.extensionIDs.add(w);const h={id:a(),opcode:Q.opcode,inputs:{},fields:{},next:null,shadow:!1,children:[]};g&&(h.comment=g[g.length-1].id,g.forEach(A=>{A.id===h.comment?A.blockId=h.id:(A.blockId=null,A.x=A.y=0)})),c++;const C=r.expectedArg;"call"===l&&(Q.argMap=F(e[1]));for(let g=0;g<Q.argMap.length;g++){const l=Q.argMap[g],u=e[g+1];let w=!1;if("input"===l.type){const e=a();if(h.inputs[l.inputName]={name:l.inputName,block:null,shadow:null},"object"==typeof u&&u){let e;if(r.expectedArg=l,"object"==typeof u[0]&&u[0])[e,c]=f(u,t,n,i,r,B,c);else{const s=A(u,t,n,i,r,B,c);e=s[0]?[s[0]]:[],c=s[1]}if(r.expectedArg=C,e.length>0){let A=null;for(let t=0;t<e.length;t++)e[t].parent=0===t?h.id:A,A=e[t].id;h.inputs[l.inputName].block=e[0].id,h.children=h.children.concat(e)}w=!0}if(!l.inputOp){o.warn("Unknown input operation for input ".concat(l.inputName," of opcode ").concat(h.opcode,"."));continue}if("boolean"===l.inputOp||"substack"===l.inputOp)continue;let g=u,Q=l.inputName;"math_number"===l.inputOp||"math_whole_number"===l.inputOp||"math_positive_number"===l.inputOp||"math_integer"===l.inputOp||"math_angle"===l.inputOp?(Q="NUM",w&&(g=10)):"text"===l.inputOp?(Q="TEXT",w&&(g="")):"colour_picker"===l.inputOp?(g=s.decimalToHex(u),Q="COLOUR",w&&(g="#990000")):"event_broadcast_menu"===l.inputOp?(Q="BROADCAST_OPTION",w&&(g="")):"sensing_of_object_menu"===l.inputOp?(w||"Stage"===g)&&(g="_stage_"):"note"===l.inputOp?w&&(g=60):"music.menu.DRUM"===l.inputOp||"music.menu.INSTRUMENT"===l.inputOp?w&&(g=1):"videoSensing.menu.ATTRIBUTE"===l.inputOp?w&&(g="motion"):"videoSensing.menu.SUBJECT"===l.inputOp?w&&(g="this sprite"):"videoSensing.menu.VIDEO_STATE"===l.inputOp?w&&(g="on"):w&&(g="");const E={};if(E[Q]={name:Q,value:g},"event_broadcast_menu"===l.inputOp){const A=t(g,E[Q]);E[Q].id=A,E[Q].variableType=l.variableType}h.children.push({id:e,opcode:l.inputOp,inputs:{},fields:E,next:null,topLevel:!1,parent:h.id,shadow:!0}),h.inputs[l.inputName].shadow=e,h.inputs[l.inputName].block||(h.inputs[l.inputName].block=e)}else if("field"===l.type){if(h.fields[l.fieldName]={name:l.fieldName,value:u},"CURRENTMENU"===l.fieldName&&(h.fields[l.fieldName].value=u.toUpperCase(),"day of week"===u&&(h.fields[l.fieldName].value="DAYOFWEEK")),"VARIABLE"===l.fieldName)h.fields[l.fieldName].id=n(u,E.SCALAR_TYPE);else if("LIST"===l.fieldName)h.fields[l.fieldName].id=n(u,E.LIST_TYPE);else if("BROADCAST_OPTION"===l.fieldName){const A=t(u,h.fields[l.fieldName]);h.fields[l.fieldName].id=A}const A=l.variableType;"string"==typeof A&&(h.fields[l.fieldName].variableType=A)}}switch(l){case"comeToFront":h.fields.FRONT_BACK={name:"FRONT_BACK",value:"front"};break;case"goBackByLayers:":h.fields.FORWARD_BACKWARD={name:"FORWARD_BACKWARD",value:"backward"};break;case"backgroundIndex":h.fields.NUMBER_NAME={name:"NUMBER_NAME",value:"number"};break;case"sceneName":h.fields.NUMBER_NAME={name:"NUMBER_NAME",value:"name"};break;case"costumeIndex":h.fields.NUMBER_NAME={name:"NUMBER_NAME",value:"number"};break;case"costumeName":h.fields.NUMBER_NAME={name:"NUMBER_NAME",value:"name"}}if("stopScripts"===l)"other scripts in sprite"!==e[1]&&"other scripts in stage"!==e[1]||(h.mutation={tagName:"mutation",hasnext:"true",children:[]});else if("procDef"===l){const A=e.slice(1),t=a(),n="custom_block";h.inputs[n]={name:n,block:t,shadow:t},h.children=[{id:t,opcode:"procedures_prototype",inputs:{},fields:{},next:null,shadow:!0,children:[],mutation:{tagName:"mutation",proccode:A[0],argumentnames:JSON.stringify(A[1]),argumentids:JSON.stringify(D(A[0])),argumentdefaults:JSON.stringify(A[2]),warp:A[3],children:[]}}]}else if("call"===l)h.mutation={tagName:"mutation",children:[],proccode:e[1],argumentids:JSON.stringify(D(e[1]))};else if("getParam"===l){let A=e[2];switch(C&&"boolean"===C.inputOp&&"b"!==A&&(A="b"),A){case"r":h.opcode="argument_reporter_string_number";break;case"b":h.opcode="argument_reporter_boolean"}}return[h,c]};A.exports={deserialize:function(A,e,t,n){const i={extensionIDs:new Set,extensionURLs:new Map};return Promise.resolve(function A(e,t,n,i){if(!e.hasOwnProperty("objName"))return null;const r={costumePromises:[],soundPromises:[],soundBank:t.audioEngine&&t.audioEngine.createBank(),children:[]},s=r.costumePromises;if(e.hasOwnProperty("costumes"))for(let A=0;A<e.costumes.length;A++){const r=e.costumes[A],o=r.bitmapResolution||1,a={name:r.costumeName,bitmapResolution:o,rotationCenterX:n?240*o:r.rotationCenterX,rotationCenterY:n?180*o:r.rotationCenterY,md5:r.baseLayerMD5,skinId:null},c=r.baseLayerMD5,g=B.splitFirst(c,"."),Q=g[0];let E;2===g.length&&g[1]?E=g[1]:(E="png",a.md5="".concat(a.md5,".").concat(E)),a.dataFormat=E,a.assetId=Q,r.textLayerMD5&&(a.textLayerMD5=B.splitFirst(r.textLayerMD5,".")[0]);const l="".concat(r.baseLayerID,".").concat(E),u=r.textLayerID?"".concat(r.textLayerID,".png"):null;s.push(d(a,t,i,l,u).then(()=>h(a.md5,a,t,2)))}const{soundBank:o,soundPromises:a}=r;if(e.hasOwnProperty("sounds"))for(let A=0;A<e.sounds.length;A++){const n=e.sounds[A],r={name:n.soundName,format:n.format,rate:n.rate,sampleCount:n.sampleCount,md5:n.md5,data:null},s=n.md5,c=B.splitFirst(s,"."),g=c[0],Q=c[1].toLowerCase();r.dataFormat=Q,r.assetId=g;const E="".concat(n.soundID,".").concat(Q);a.push(I(r,t,i,E).then(()=>C(r,t,o)))}const c=r.children;if(e.children)for(let n=0;n<e.children.length;n++)c.push(A(e.children[n],t,!1,i));return r}(A,e,!t,n)).then(A=>Promise.resolve(A)).then(r=>x(A,e,i,!t,n,r)).then(T).then(A=>({targets:A,extensions:i}))}}},function(A,e){class t{constructor(){this.left=-1/0,this.right=1/0,this.bottom=-1/0,this.top=1/0}initFromBounds(A,e,t,n){this.left=A,this.right=e,this.bottom=t,this.top=n}initFromPointsAABB(A){this.left=1/0,this.right=-1/0,this.top=-1/0,this.bottom=1/0;for(let e=0;e<A.length;e++){const t=A[e][0],n=A[e][1];t<this.left&&(this.left=t),t>this.right&&(this.right=t),n>this.top&&(this.top=n),n<this.bottom&&(this.bottom=n)}}initFromModelMatrix(A){const e=A[12],t=A[13],n=Math.abs(.5*A[0])+Math.abs(.5*A[4]),i=Math.abs(.5*A[1])+Math.abs(.5*A[5]);this.left=-n+e,this.right=n+e,this.top=i+t,this.bottom=-i+t}intersects(A){return this.left<=A.right&&A.left<=this.right&&this.top>=A.bottom&&A.top>=this.bottom}contains(A){return A.left>this.left&&A.right<this.right&&A.top<this.top&&A.bottom>this.bottom}clamp(A,e,t,n){this.left=Math.max(this.left,A),this.right=Math.min(this.right,e),this.bottom=Math.max(this.bottom,t),this.top=Math.min(this.top,n),this.left=Math.min(this.left,e),this.right=Math.max(this.right,A),this.bottom=Math.min(this.bottom,n),this.top=Math.max(this.top,t)}snapToInt(){this.left=Math.floor(this.left),this.right=Math.ceil(this.right),this.bottom=Math.floor(this.bottom),this.top=Math.ceil(this.top)}static intersect(A,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new t;return n.left=Math.max(A.left,e.left),n.right=Math.min(A.right,e.right),n.top=Math.min(A.top,e.top),n.bottom=Math.max(A.bottom,e.bottom),n}static union(A,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new t;return n.left=Math.min(A.left,e.left),n.right=Math.max(A.right,e.right),n.top=Math.max(A.top,e.top),n.bottom=Math.min(A.bottom,e.bottom),n}get width(){return Math.abs(this.left-this.right)}get height(){return Math.abs(this.top-this.bottom)}}A.exports=t},function(A,e,t){const n=t(20),{rgbToHsv:i,hsvToRgb:r}=t(569),s=t(49),o=[0,0,0];A.exports=class{static transformColor(A,e,t){if(0===e[3])return e;let n=A.enabledEffects;"number"==typeof t&&(n&=t);const a=A.getUniforms(),B=0!=(n&s.EFFECT_INFO.color.mask),c=0!=(n&s.EFFECT_INFO.saturation.mask),g=0!=(n&s.EFFECT_INFO.brightness.mask);if(B||c||g){const A=e[3]/255;if(e[0]/=A,e[1]/=A,e[2]/=A,B){const A=i(e,o);A[0]=a.u_color+A[0]+1,r(A,e)}if(c){const A=i(e,o);A[1]=a.u_saturation*A[1],r(A,e)}if(g){const A=255*a.u_brightness;e[0]+=A,e[1]+=A,e[2]+=A}e[0]*=A,e[1]*=A,e[2]*=A}return 0!=(n&s.EFFECT_INFO.ghost.mask)&&(e[0]*=a.u_ghost,e[1]*=a.u_ghost,e[2]*=a.u_ghost,e[3]*=a.u_ghost),e}static transformPoint(A,e,t){n.v3.copy(e,t);const i=A.enabledEffects,r=A.getUniforms();if(0!=(i&s.EFFECT_INFO.mosaic.mask)&&(t[0]=r.u_mosaic*t[0]%1,t[1]=r.u_mosaic*t[1]%1),0!=(i&s.EFFECT_INFO.pixelate.mask)){const e=A.skin.getUniforms(),n=e.u_skinSize[0]/r.u_pixelate,i=e.u_skinSize[1]/r.u_pixelate;t[0]=(Math.floor(t[0]*n)+.5)/n,t[1]=(Math.floor(t[1]*i)+.5)/i}if(0!=(i&s.EFFECT_INFO.whirl.mask)){const A=.5,e=t[0]-.5,n=t[1]-.5,i=Math.sqrt(Math.pow(e,2)+Math.pow(n,2)),s=Math.max(1-i/A,0),o=r.u_whirl*s*s,a=Math.sin(o),B=Math.cos(o),c=B,g=-a,Q=a,E=B;t[0]=c*e+Q*n+.5,t[1]=g*e+E*n+.5}if(0!=(i&s.EFFECT_INFO.fisheye.mask)){const A=(t[0]-.5)/.5,e=(t[1]-.5)/.5,n=Math.sqrt(A*A+e*e),i=Math.pow(Math.min(n,1),r.u_fisheye)*Math.max(1,n),s=A/n,o=e/n;t[0]=.5+i*s*.5,t[1]=.5+i*o*.5}return t}}},function(A,e,t){const n=t(51);n.enable(),A.exports=n("scratch-render")},function(A,e,t){const n=t(574),i=t(579);A.exports=class{constructor(A){this._measurementProvider=A,this._cache={}}wrapText(A,e){e=e.normalize();const t="".concat(A,"-").concat(e);if(this._cache[t])return this._cache[t];const r=this._measurementProvider.beginMeasurementSession(),s=new n(e);let o,a=0,B=null;const c=[];for(;o=s.nextBreak();){const t=e.slice(a,o.position).replace(/\n+$/,"");let n=(B||"").concat(t),r=this._measurementProvider.measureText(n);if(r>A){if(this._measurementProvider.measureText(t)>A){let e,s=0;for(;s!==(e=i.nextBreak(t,s));){const i=t.substring(s,e);n=(B||"").concat(i),r=this._measurementProvider.measureText(n),null===B||r<=A?B=n:(c.push(B),B=i),s=e}}else null!==B&&c.push(B),B=t}else B=n;o.required&&(null!==B&&c.push(B),B=null),a=o.position}return B=B||"",(B.length>0||0===c.length)&&c.push(B),this._cache[t]=c,this._measurementProvider.endMeasurementSession(r),c}}},function(A,e,t){var n,i;i=t(575),n=function(){function A(A){var e,t,n;(e="function"==typeof A.readUInt32BE&&"function"==typeof A.slice)||A instanceof Uint8Array?(e?(this.highStart=A.readUInt32BE(0),this.errorValue=A.readUInt32BE(4),t=A.readUInt32BE(8),A=A.slice(12)):(n=new DataView(A.buffer),this.highStart=n.getUint32(0),this.errorValue=n.getUint32(4),t=n.getUint32(8),A=A.subarray(12)),A=i(A,new Uint8Array(t)),A=i(A,new Uint8Array(t)),this.data=new Uint32Array(A.buffer)):(this.data=A.data,this.highStart=A.highStart,this.errorValue=A.errorValue)}return 11,5,6,32,64,63,2,32,31,2048,32,2080,2080,32,2112,4,A.prototype.get=function(A){var e;return A<0||A>1114111?this.errorValue:A<55296||A>56319&&A<=65535?(e=(this.data[A>>5]<<2)+(31&A),this.data[e]):A<=65535?(e=(this.data[2048+(A-55296>>5)]<<2)+(31&A),this.data[e]):A<this.highStart?(e=this.data[2080+(A>>11)],e=((e=this.data[e+(A>>5&63)])<<2)+(31&A),this.data[e]):this.data[this.data.length-4]},A}(),A.exports=n},function(A,e,t){const n=t(91),i={ImageBitmap:{contentType:"image/png",name:"ImageBitmap",runtimeFormat:n.PNG,immutable:!0},ImageVector:{contentType:"image/svg+xml",name:"ImageVector",runtimeFormat:n.SVG,immutable:!0},Project:{contentType:"application/json",name:"Project",runtimeFormat:n.JSON,immutable:!1},Sound:{contentType:"audio/x-wav",name:"Sound",runtimeFormat:n.WAV,immutable:!0},Sprite:{contentType:"application/json",name:"Sprite",runtimeFormat:n.JSON,immutable:!0},Font:{contentType:"font/ttf",name:"Font",runtimeFormat:n.TTF,immutable:!0},TextBubble:{contentType:"application/json",name:"TextBubbleProperties",runtimeFormat:n.JSON,immutable:!0},ExternalFile:{contentType:"text/plain",name:"ExternalFile",runtimeFormat:n.TXT,immutable:!1}};A.exports=i},function(A,e){A.exports=class{constructor(A){this.parent=A}load(A,e,t){return Promise.reject(new Error("No asset of type ".concat(A," for ID ").concat(e," with format ").concat(t)))}}},function(A,e,t){const n=t(93);A.exports=class extends n{get DEFAULT_VALUE(){return 100}get name(){return"volume"}initialize(){this.inputNode=this.audioEngine.audioContext.createGain(),this.outputNode=this.inputNode,this.initialized=!0}_set(A,e){this.value=A;const{gain:t}=this.outputNode,{currentTime:n,DECAY_DURATION:i}=this.audioEngine;"number"!=typeof e?t.linearRampToValueAtTime(A/100,n+i):t.linearRampToValueAtTime(A/100,n+(i+e))}dispose(){this.initialized&&(this.outputNode.disconnect(),this.inputNode=null,this.outputNode=null,this.target=null,this.initialized=!1)}}},function(A,e,t){"use strict";var n=Object.assign||function(A){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(A[n]=t[n])}return A},i={"{":"\\{","}":"\\}","\\":"\\textbackslash{}","#":"\\#",$:"\\$","%":"\\%","&":"\\&","^":"\\textasciicircum{}",_:"\\_","~":"\\textasciitilde{}"},r={"":"\\--","—":"\\---"," ":"~","\t":"\\qquad{}","\r\n":"\\newline{}","\n":"\\newline{}"},s=function(A,e){return n({},A,e)};A.exports=function(A){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e.preserveFormatting,o=void 0!==t&&t,a=e.escapeMapFn,B=void 0===a?s:a,c=String(A),g="",Q=B(n({},i),o?n({},r):{}),E=Object.keys(Q),l=function(){var A=!1;E.forEach((function(e,t){A||c.length>=e.length&&c.slice(0,e.length)===e&&(g+=Q[E[t]],c=c.slice(e.length,c.length),A=!0)})),A||(g+=c.slice(0,1),c=c.slice(1,c.length))};c;)l();return g}},function(A,e){function t(){}t.prototype={on:function(A,e,t){var n=this.e||(this.e={});return(n[A]||(n[A]=[])).push({fn:e,ctx:t}),this},once:function(A,e,t){var n=this;function i(){n.off(A,i),e.apply(t,arguments)}return i._=e,this.on(A,i,t)},emit:function(A){for(var e=[].slice.call(arguments,1),t=((this.e||(this.e={}))[A]||[]).slice(),n=0,i=t.length;n<i;n++)t[n].fn.apply(t[n].ctx,e);return this},off:function(A,e){var t=this.e||(this.e={}),n=t[A],i=[];if(n&&e)for(var r=0,s=n.length;r<s;r++)n[r].fn!==e&&n[r].fn._!==e&&i.push(n[r]);return i.length?t[A]=i:delete t[A],this}},A.exports=t,A.exports.TinyEmitter=t},function(A,e,t){const n=t(582);A.exports=n},function(A,e,t){"use strict";var n,i=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var A={};return function(e){if(void 0===A[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(A){t=null}A[e]=t}return A[e]}}(),s=[];function o(A){for(var e=-1,t=0;t<s.length;t++)if(s[t].identifier===A){e=t;break}return e}function a(A,e){for(var t={},n=[],i=0;i<A.length;i++){var r=A[i],a=e.base?r[0]+e.base:r[0],B=t[a]||0,c="".concat(a," ").concat(B);t[a]=B+1;var g=o(c),Q={css:r[1],media:r[2],sourceMap:r[3]};-1!==g?(s[g].references++,s[g].updater(Q)):s.push({identifier:c,updater:w(Q,e),references:1}),n.push(c)}return n}function B(A){var e=document.createElement("style"),n=A.attributes||{};if(void 0===n.nonce){var i=t.nc;i&&(n.nonce=i)}if(Object.keys(n).forEach((function(A){e.setAttribute(A,n[A])})),"function"==typeof A.insert)A.insert(e);else{var s=r(A.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(e)}return e}var c,g=(c=[],function(A,e){return c[A]=e,c.filter(Boolean).join("\n")});function Q(A,e,t,n){var i=t?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(A.styleSheet)A.styleSheet.cssText=g(e,i);else{var r=document.createTextNode(i),s=A.childNodes;s[e]&&A.removeChild(s[e]),s.length?A.insertBefore(r,s[e]):A.appendChild(r)}}function E(A,e,t){var n=t.css,i=t.media,r=t.sourceMap;if(i?A.setAttribute("media",i):A.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),A.styleSheet)A.styleSheet.cssText=n;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(n))}}var l=null,u=0;function w(A,e){var t,n,i;if(e.singleton){var r=u++;t=l||(l=B(e)),n=Q.bind(null,t,r,!1),i=Q.bind(null,t,r,!0)}else t=B(e),n=E.bind(null,t,e),i=function(){!function(A){if(null===A.parentNode)return!1;A.parentNode.removeChild(A)}(t)};return n(A),function(e){if(e){if(e.css===A.css&&e.media===A.media&&e.sourceMap===A.sourceMap)return;n(A=e)}else i()}}A.exports=function(A,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=i());var t=a(A=A||[],e);return function(A){if(A=A||[],"[object Array]"===Object.prototype.toString.call(A)){for(var n=0;n<t.length;n++){var i=o(t[n]);s[i].references--}for(var r=a(A,e),B=0;B<t.length;B++){var c=o(t[B]);0===s[c].references&&(s[c].updater(),s.splice(c,1))}t=r}}}},function(A,e,t){"use strict";A.exports=function(A){var e=[];return e.toString=function(){return this.map((function(e){var t=A(e);return e[2]?"@media ".concat(e[2]," {").concat(t,"}"):t})).join("")},e.i=function(A,t,n){"string"==typeof A&&(A=[[null,A,""]]);var i={};if(n)for(var r=0;r<this.length;r++){var s=this[r][0];null!=s&&(i[s]=!0)}for(var o=0;o<A.length;o++){var a=[].concat(A[o]);n&&i[a[0]]||(t&&(a[2]?a[2]="".concat(t," and ").concat(a[2]):a[2]=t),e.push(a))}},e}},function(A,e,t){"use strict";A.exports=function(A,e){return e||(e={}),"string"!=typeof(A=A&&A.__esModule?A.default:A)?A:(/^['"].*['"]$/.test(A)&&(A=A.slice(1,-1)),e.hash&&(A+=e.hash),/["'() \t\n]/.test(A)||e.needQuotes?'"'.concat(A.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):A)}},function(A,e,t){"use strict";e.a="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIwLjc3MzU5NSA1LjcyODA1MTlhMS4zMDc3Nzc0IDEuMzA3Nzc3NCAwIDAgMC0xLjg1NzA0MyAwTDkuMTczNjEwNSAxNS40ODQwNzFsLTQuMDkzMzQzMi00LjEwNjQyYTEuMzM2NDQ2OCAxLjMzNjQ0NjggMCAxIDAtMS44NTcwNDM5IDEuOTIyNDMybDUuMDIxODY1MSA1LjAyMTg2NmExLjMwNzc3NzQgMS4zMDc3Nzc0IDAgMCAwIDEuODU3MDQ0NSAwTDIwLjc3MzU5NSA3LjY1MDQ4NDdhMS4zMDc3Nzc0IDEuMzA3Nzc3NCAwIDAgMCAwLTEuOTIyNDMyOHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4="},function(A){A.exports=JSON.parse('{"var-x":"x position","var-y":"y position","var-direction":"direction","var-username":"username","var-costume-number":"costume number","var-costume-name":"costume name","var-backdrop-number":"backdrop number","var-backdrop-name":"backdrop name","var-size":"size","var-answer":"answer","var-mousedown":"mouse down?","var-mousex":"mouse x","var-mousey":"mouse y","var-loudness":"loudness","var-timer":"timer","var-dayssince2000":"days since 2000","var-volume":"volume","var-year":"year","var-month":"month","var-date":"date","var-day-of-week":"day of week","var-hour":"hour","var-minute":"minute","var-second":"second","var-get_counter":"counter","list-empty":"(empty)","list-length":"length {n}","list-import":"import","list-export":"export"}')},function(A,e,t){let n;n="undefined"==typeof TextEncoder?t(41).TextEncoder:TextEncoder;const i=t(37),r=t(43),s=t(25).Buffer,o=t(99),a=t(176),B=t(8),c=t(11),g=t(106),Q=t(16),E=t(79),l=t(81),u=t(7),w=t(24),h=t(140),{loadCostume:C}=t(61),{loadSound:d}=t(60),{serializeSounds:I,serializeCostumes:M}=t(548);t(549);const{exportCostume:p}=t(139),m=t(29),F=["_mouse_","_stage_","_edge_","_myself_","_random_"],D=[];u.setup({missingTranslation:"ignore"});A.exports=class extends i{constructor(){super(),this.runtime=new g,o.setService("runtime",(A=>{const e={};return e._refreshExtensionPrimitives=A._refreshExtensionPrimitives.bind(A),e._registerExtensionPrimitives=A._registerExtensionPrimitives.bind(A),e._removeExtensionPrimitive=A._removeExtensionPrimitive.bind(A),e})(this.runtime)).catch(A=>{B.error("Failed to register runtime service: ".concat(JSON.stringify(A)))}),this.editingTarget=null,this._dragTarget=null,this.runtime.on(g.SCRIPT_GLOW_ON,A=>{this.emit(g.SCRIPT_GLOW_ON,A)}),this.runtime.on(g.SCRIPT_GLOW_OFF,A=>{this.emit(g.SCRIPT_GLOW_OFF,A)}),this.runtime.on(g.BLOCK_GLOW_ON,A=>{this.emit(g.BLOCK_GLOW_ON,A)}),this.runtime.on(g.BLOCK_GLOW_OFF,A=>{this.emit(g.BLOCK_GLOW_OFF,A)}),this.runtime.on(g.PROJECT_START,()=>{this.emit(g.PROJECT_START)}),this.runtime.on(g.PROJECT_RUN_START,()=>{this.emit(g.PROJECT_RUN_START)}),this.runtime.on(g.PROJECT_RUN_STOP,()=>{this.emit(g.PROJECT_RUN_STOP)}),this.runtime.on(g.PROJECT_CHANGED,()=>{this.emit(g.PROJECT_CHANGED)}),this.runtime.on(g.VISUAL_REPORT,A=>{this.emit(g.VISUAL_REPORT,A)}),this.runtime.on(g.BLOCK_STACK_ERROR,A=>{this.emit(g.BLOCK_STACK_ERROR,A)}),this.runtime.on(g.TARGETS_UPDATE,A=>{this.emitTargetsUpdate(A)}),this.runtime.on(g.MONITORS_UPDATE,A=>{this.emit(g.MONITORS_UPDATE,A)}),this.runtime.on(g.BLOCK_DRAG_UPDATE,A=>{this.emit(g.BLOCK_DRAG_UPDATE,A)}),this.runtime.on(g.BLOCK_DRAG_END,(A,e)=>{this.emit(g.BLOCK_DRAG_END,A,e)}),this.runtime.on(g.EXTENSION_ADDED,A=>{this.emit(g.EXTENSION_ADDED,A)}),this.runtime.on(g.EXTENSION_REMOVED,()=>{this.emit(g.EXTENSION_REMOVED)}),this.runtime.on(g.EXTENSION_FIELD_ADDED,(A,e)=>{this.emit(g.EXTENSION_FIELD_ADDED,A,e)}),this.runtime.on(g.BLOCKSINFO_UPDATE,A=>{this.emit(g.BLOCKSINFO_UPDATE,A)}),this.runtime.on(g.BLOCKS_NEED_UPDATE,()=>{this.emitWorkspaceUpdate()}),this.runtime.on(g.TOOLBOX_EXTENSIONS_NEED_UPDATE,()=>{this.extensionManager.refreshBlocks()}),this.runtime.on(g.PERIPHERAL_LIST_UPDATE,A=>{this.emit(g.PERIPHERAL_LIST_UPDATE,A)}),this.runtime.on(g.USER_PICKED_PERIPHERAL,A=>{this.emit(g.USER_PICKED_PERIPHERAL,A)}),this.runtime.on(g.PERIPHERAL_CONNECTED,()=>this.emit(g.PERIPHERAL_CONNECTED)),this.runtime.on(g.PERIPHERAL_REQUEST_ERROR,()=>this.emit(g.PERIPHERAL_REQUEST_ERROR)),this.runtime.on(g.PERIPHERAL_DISCONNECTED,()=>this.emit(g.PERIPHERAL_DISCONNECTED)),this.runtime.on(g.PERIPHERAL_CONNECTION_LOST_ERROR,A=>this.emit(g.PERIPHERAL_CONNECTION_LOST_ERROR,A)),this.runtime.on(g.PERIPHERAL_SCAN_TIMEOUT,()=>this.emit(g.PERIPHERAL_SCAN_TIMEOUT)),this.runtime.on(g.MIC_LISTENING,A=>{this.emit(g.MIC_LISTENING,A)}),this.runtime.on(g.RUNTIME_STARTED,()=>{this.emit(g.RUNTIME_STARTED)}),this.runtime.on(g.RUNTIME_PAUSED,()=>{this.emit(g.RUNTIME_PAUSED)}),this.runtime.on(g.RUNTIME_UNPAUSED,()=>{this.emit(g.RUNTIME_UNPAUSED)}),this.runtime.on(g.RUNTIME_STOPPED,()=>{this.emit(g.RUNTIME_STOPPED)}),this.runtime.on(g.HAS_CLOUD_DATA_UPDATE,A=>{this.emit(g.HAS_CLOUD_DATA_UPDATE,A)}),this.runtime.on(g.RUNTIME_OPTIONS_CHANGED,A=>{this.emit(g.RUNTIME_OPTIONS_CHANGED,A)}),this.runtime.on(g.COMPILER_OPTIONS_CHANGED,A=>{this.emit(g.COMPILER_OPTIONS_CHANGED,A)}),this.runtime.on(g.FRAMERATE_CHANGED,A=>{this.emit(g.FRAMERATE_CHANGED,A)}),this.runtime.on(g.INTERPOLATION_CHANGED,A=>{this.emit(g.INTERPOLATION_CHANGED,A)}),this.runtime.on(g.STAGE_SIZE_CHANGED,(A,e)=>{this.emit(g.STAGE_SIZE_CHANGED,A,e)}),this.runtime.on(g.COMPILE_ERROR,(A,e)=>{this.emit(g.COMPILE_ERROR,A,e)}),this.runtime.on(g.TURBO_MODE_OFF,()=>{this.emit(g.TURBO_MODE_OFF)}),this.runtime.on(g.TURBO_MODE_ON,()=>{this.emit(g.TURBO_MODE_ON)}),this.extensionManager=new a(this),this.securityManager=this.extensionManager.securityManager,this.runtime.extensionManager=this.extensionManager,this.runtime.vm=this;for(const A of D)this.extensionManager.loadExtensionIdSync(A);this.blockListener=this.blockListener.bind(this),this.flyoutBlockListener=this.flyoutBlockListener.bind(this),this.monitorBlockListener=this.monitorBlockListener.bind(this),this.variableListener=this.variableListener.bind(this),this.addListener("workspaceUpdate",()=>{this.extensionManager.refreshDynamicCategorys()}),this.exports={Sprite:l,RenderedTarget:E,JSZip:r}}start(){this.runtime.start()}stop(){this.runtime.stop()}greenFlag(){this.runtime.greenFlag()}setTurboMode(A){this.runtime.turboMode=!!A,this.runtime.turboMode?this.emit(g.TURBO_MODE_ON):this.emit(g.TURBO_MODE_OFF)}setCompatibilityMode(A){this.runtime.setCompatibilityMode(!!A)}setFramerate(A){this.runtime.setFramerate(A)}setInterpolation(A){this.runtime.setInterpolation(A)}setRuntimeOptions(A){this.runtime.setRuntimeOptions(A)}setCompilerOptions(A){this.runtime.setCompilerOptions(A)}setStageSize(A,e){this.runtime.setStageSize(A,e)}setInEditor(A){this.runtime.setInEditor(A)}convertToPackagedRuntime(){this.runtime.convertToPackagedRuntime()}addAddonBlock(A){this.runtime.addAddonBlock(A)}getAddonBlock(A){return this.runtime.getAddonBlock(A)}storeProjectOptions(){this.runtime.storeProjectOptions(),this.editingTarget.isStage&&this.emitWorkspaceUpdate()}enableDebug(){return this.runtime.enableDebug(),"enabled debug mode"}stopAll(){this.runtime.stopAll()}clear(){this.runtime.dispose(),this.editingTarget=null,this.emitTargetsUpdate(!1)}getPlaygroundData(){const A=this,e=this.runtime.threads.filter(e=>e.target===A.editingTarget),t=JSON.stringify(e,(A,e)=>{if("target"!==A&&"blockContainer"!==A)return e},2);this.emit("playgroundData",{blocks:this.editingTarget.blocks,threads:t})}postIOData(A,e){this.runtime.ioDevices[A]&&this.runtime.ioDevices[A].postData(e)}setVideoProvider(A){this.runtime.ioDevices.video.setProvider(A)}setCloudProvider(A){this.runtime.ioDevices.cloud.setProvider(A)}scanForPeripheral(A){this.runtime.scanForPeripheral(A)}connectPeripheral(A,e){this.runtime.connectPeripheral(A,e)}disconnectPeripheral(A){this.runtime.disconnectPeripheral(A)}getPeripheralIsConnected(A){return this.runtime.getPeripheralIsConnected(A)}loadProject(A){"object"!=typeof A||A instanceof ArrayBuffer||ArrayBuffer.isView(A)||(A=JSON.stringify(A));return new Promise((e,n)=>{t(141)(A,!1,(A,t)=>{if(A)return n(A);e(t)})}).catch(e=>{const{SB1File:n,ValidationError:i}=t(609);try{const e=new n(A),t=e.json;return t.projectVersion=2,Promise.resolve([t,e.zip])}catch(A){if(!(A instanceof i||"".concat(A).includes("Non-ascii character in FixedAsciiString")))return Promise.reject(A)}return Promise.reject(e)}).then(A=>this.deserializeProject(A[0],A[1])).then(()=>this.runtime.emitProjectLoaded()).catch(A=>A.hasOwnProperty("validationError")?Promise.reject(JSON.stringify(A,null,4)):Promise.reject(A))}downloadProjectId(A){const e=this.runtime.storage;if(!e)return void B.error("No storage module present; cannot load project: ",A);const t=this;e.load(e.AssetType.Project,A).then(e=>e?t.loadProject(e.data):(B.error("Failed to fetch project with id: ".concat(A)),null))}_saveProjectZip(){const A=this.toJSON(),e=new r;return e.file("project.json",A),this._addFileDescsToZip(this.serializeAssets(),e),e}saveProjectSb3(A){return this._saveProjectZip().generateAsync({type:A||"blob",mimeType:"application/x.scratch.sb3",compression:"DEFLATE"})}saveProjectSb3Stream(A){return this._saveProjectZip().generateInternalStream({type:A||"arraybuffer",mimeType:"application/x.scratch.sb3",compression:"DEFLATE"})}saveProjectSb3DontZip(){const A=this.toJSON(),e={"project.json":(new n).encode(A)};for(const A of this.serializeAssets())e[A.fileName]=A.fileContent;return e}get assets(){return[...this.runtime.targets.reduce((A,e)=>A.concat(e.sprite.sounds.map(A=>A.asset)).concat(e.sprite.costumes.map(A=>A.asset)),[]),...this.runtime.fontManager.serializeAssets()]}serializeAssets(A){return[...M(this.runtime,A),...I(this.runtime,A),...this.runtime.fontManager.serializeAssets().map(A=>({fileName:"".concat(A.assetId,".").concat(A.dataFormat),fileContent:A.data}))]}_addFileDescsToZip(A,e){for(let t=0;t<A.length;t++){const n=A[t];e.file(n.fileName,n.fileContent)}}exportSprite(A,e){const t=this.toJSON(A),n=new r;return n.file("sprite.json",t),this._addFileDescsToZip(this.serializeAssets(A),n),n.generateAsync({type:"string"==typeof e?e:"blob",mimeType:"application/x.scratch.sprite3",compression:"DEFLATE",compressionOptions:{level:6}})}toJSON(A,e){const n=t(64);return Q.stringify(n.serialize(this.runtime,A,e))}fromJSON(A){return B.warning("fromJSON is now just a wrapper around loadProject, please use that function instead."),this.loadProject(A)}deserializeProject(A,e){this.clear(),"undefined"!=typeof performance&&performance.mark("scratch-vm-deserialize-start");const n=this.runtime;return function(){const i=A.projectVersion;if(2===i){return t(143).deserialize(A,n,!1,e)}if(3===i){return t(64).deserialize(A,n,e,!1,this)}return Promise.reject("Unable to verify Scratch Project version.")}().then(A=>{let{targets:e,extensions:t}=A;if("undefined"!=typeof performance){performance.mark("scratch-vm-deserialize-end");try{performance.measure("scratch-vm-deserialize","scratch-vm-deserialize-start","scratch-vm-deserialize-end")}catch(A){B.error(A)}}return this.installTargets(e,t,!0)})}async _loadExtensions(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Map;const t=[];for(const n of A)if(this.extensionManager.isExtensionLoaded(n));else{if(this.extensionManager.isBuiltinExtension(n)){this.extensionManager.loadExtensionIdSync(n);continue}{const A=e.get(n);if(!A)throw new Error("Unknown extension: ".concat(n));if(!await this.securityManager.canLoadExtensionFromProject(A))throw new Error("Permission to load extension denied: ".concat(n));t.push(this.extensionManager.loadExtensionURL(A))}}return Promise.all(t)}async installTargets(A,e,t){return await this.extensionManager.allAsyncExtensionsLoaded(),A=A.filter(A=>!!A),this._loadExtensions(e.extensionIDs,e.extensionURLs).then(()=>{for(const A of e.extensionIDs)"ext_".concat(A)in this.runtime&&"function"==typeof this.runtime["ext_".concat(A)].deserialize&&e.extensionData[A]&&this.runtime["ext_".concat(A)].deserialize(e.extensionData[A]);A.forEach(A=>{this.runtime.addTarget(A),A.updateAllDrawableProperties(),A.isSprite()&&this.renameSprite(A.id,A.getName())}),this.runtime.executableTargets.sort((A,e)=>A.layerOrder-e.layerOrder),A.forEach(A=>{delete A.layerOrder}),t&&A.length>1?this.editingTarget=A[1]:this.editingTarget=A[0],t||this.editingTarget.fixUpVariableReferences(),t&&this.runtime.parseProjectOptions(),this.emitTargetsUpdate(!1),this.emitWorkspaceUpdate(),this.runtime.setEditingTarget(this.editingTarget),this.runtime.ioDevices.cloud.setStage(this.runtime.getTargetForStage())})}addSprite(A){"object"!=typeof A||A instanceof ArrayBuffer||ArrayBuffer.isView(A)||(A=JSON.stringify(A));return new Promise((e,n)=>{t(141)(A,!0,(A,t)=>{if(A)return n(A);e(t)})}).then(A=>{const e=A[0].projectVersion;return 2===e?this._addSprite2(A[0],A[1]):3===e?this._addSprite3(A[0],A[1]):Promise.reject("".concat("Sprite Upload Error:"," Unable to verify sprite version."))}).then(()=>this.runtime.emitProjectChanged()).catch(A=>A.hasOwnProperty("validationError")?Promise.reject(JSON.stringify(A)):Promise.reject("".concat("Sprite Upload Error:"," ").concat(A)))}_addSprite2(A,e){return t(143).deserialize(A,this.runtime,!0,e).then(A=>{let{targets:e,extensions:t}=A;return this.installTargets(e,t,!1)})}_addSprite3(A,e){return t(64).deserialize(A,this.runtime,e,!0).then(A=>{let{targets:e,extensions:t}=A;return this.installTargets(e,t,!1)})}addCostume(A,e,t,n){const i=t?this.runtime.getTargetById(t):this.editingTarget;return i?!0===e.fromPenguinModLibrary?new Promise((A,t)=>{fetch("".concat("https://library.penguinmod.com/","files/").concat(e.libraryId)).then(A=>A.arrayBuffer()).then(t=>{const r=e.dataFormat,s=this.runtime.storage,o=new s.Asset(s.AssetType["svg"===r?"ImageVector":"ImageBitmap"],null,s.DataFormat[r.toUpperCase()],new Uint8Array(t),!0),a={md5:o.assetId+"."+o.dataFormat,asset:o,name:e.name};C(a.md5,a,this.runtime,n).then(e=>{i.addCostume(a),i.setCostume(i.getCostumes().length-1),this.runtime.emitProjectChanged(),A(e,a)})}).catch(t)}):C(A,e,this.runtime,n).then(A=>{i.addCostume(A),i.setCostume(i.getCostumes().length-1),this.runtime.emitProjectChanged()}):Promise.reject()}addCostumeFromLibrary(A,e){return this.editingTarget?this.addCostume(A,e,this.editingTarget.id,2):Promise.reject()}duplicateCostume(A){const e=this.editingTarget.getCostumes()[A],t=Object.assign({},e),n="".concat(t.assetId,".").concat(t.dataFormat);return C(n,t,this.runtime).then(()=>{this.editingTarget.addCostume(t,A+1),this.editingTarget.setCostume(A+1),this.emitTargetsUpdate()})}duplicateSound(A){const e=this.editingTarget.getSounds()[A],t=Object.assign({},e);return d(t,this.runtime,this.editingTarget.sprite.soundBank).then(()=>{this.editingTarget.addSound(t,A+1),this.emitTargetsUpdate()})}renameCostume(A,e){this.editingTarget.renameCostume(A,e),this.emitTargetsUpdate()}deleteCostume(A){const e=this.editingTarget.deleteCostume(A);if(e){const A=this.editingTarget;return this.runtime.emitProjectChanged(),()=>{A.addCostume(e),this.emitTargetsUpdate()}}return null}pause(){this.runtime.pause()}play(){this.runtime.play()}addSound(A,e){const t=e?this.runtime.getTargetById(e):this.editingTarget;return t?!0===A.fromPenguinModLibrary?new Promise((e,n)=>{fetch("".concat("https://library.penguinmod.com/","files/").concat(A.libraryId)).then(A=>A.arrayBuffer()).then(n=>{const i=this.runtime.storage,r=new i.Asset(i.AssetType.Sound,null,i.DataFormat.MP3,new Uint8Array(n),!0),s={md5:r.assetId+"."+r.dataFormat,asset:r,name:A.name};d(s,this.runtime,t.sprite.soundBank).then(A=>{t.addSound(s),this.emitTargetsUpdate(),e(A,s)})}).catch(n)}):d(A,this.runtime,t.sprite.soundBank).then(()=>{t.addSound(A),this.emitTargetsUpdate()}):Promise.reject(new Error("No target with ID: ".concat(e)))}renameSound(A,e){this.editingTarget.renameSound(A,e),this.emitTargetsUpdate()}getSoundBuffer(A){const e=this.editingTarget.sprite.sounds[A].soundId;return e&&this.runtime&&this.runtime.audioEngine?this.editingTarget.sprite.soundBank.getSoundPlayer(e).buffer:null}updateSoundBuffer(A,e,t){const n=this.editingTarget.sprite.sounds[A];n&&n.broken&&delete n.broken;const i=n?n.soundId:null;if(i&&this.runtime&&this.runtime.audioEngine&&(this.editingTarget.sprite.soundBank.getSoundPlayer(i).buffer=e),t){n.format="";const A=this.runtime.storage;n.asset=A.createAsset(A.AssetType.Sound,A.DataFormat.WAV,t,null,!0),n.assetId=n.asset.assetId,n.dataFormat=A.DataFormat.WAV,n.md5="".concat(n.assetId,".").concat(n.dataFormat),n.sampleCount=e.length,n.rate=e.sampleRate}this.emitTargetsUpdate()}deleteSound(A){const e=this.editingTarget,t=this.editingTarget.deleteSound(A);if(t){this.runtime.emitProjectChanged();return()=>{e.addSound(t),this.emitTargetsUpdate()}}return null}getCostume(A){const e=this.editingTarget.getCostumes()[A].asset;if(!e||!this.runtime||!this.runtime.storage)return null;const t=e.dataFormat;return t===this.runtime.storage.DataFormat.SVG?e.decodeText():t===this.runtime.storage.DataFormat.PNG||t===this.runtime.storage.DataFormat.JPG?e.encodeDataURI():(B.error("Unhandled format: ".concat(e.dataFormat)),null)}getExportedCostume(A){return p(A)}getExportedCostumeBase64(A){const e=this.getExportedCostume(A);return m.uint8ArrayToBase64(e)}updateBitmap(A,e,t,n,i){return this._updateBitmap(this.editingTarget.getCostumes()[A],e,t,n,i)}_updateBitmap(A,e,t,n,i){if(!(A&&this.runtime&&this.runtime.renderer))return;A&&A.broken&&delete A.broken,A.rotationCenterX=t,A.rotationCenterY=n;const r=0===e.sourceWidth?0:e.width,o=0===e.sourceHeight?0:e.height,a=document.createElement("canvas");a.width=r,a.height=o;a.getContext("2d").putImageData(e,0,0),this.runtime.renderer.updateBitmapSkin(A.skinId,a,i,[t/i,n/i]),a.toBlob(e=>{const t=new FileReader;t.addEventListener("loadend",()=>{const e=this.runtime.storage;A.dataFormat=e.DataFormat.PNG,A.bitmapResolution=i,A.size=[r,o],A.asset=e.createAsset(e.AssetType.ImageBitmap,A.dataFormat,s.from(t.result),null,!0),A.assetId=A.asset.assetId,A.md5="".concat(A.assetId,".").concat(A.dataFormat),this.emitTargetsUpdate()}),e&&t.readAsArrayBuffer(e)})}updateSvg(A,e,t,n){return this._updateSvg(this.editingTarget.getCostumes()[A],e,t,n)}_updateSvg(A,e,t,i){A&&A.broken&&delete A.broken,A&&this.runtime&&this.runtime.renderer&&(A.rotationCenterX=t,A.rotationCenterY=i,this.runtime.renderer.updateSVGSkin(A.skinId,e,[t,i]),A.size=this.runtime.renderer.getSkinSize(A.skinId));const r=this.runtime.storage;A.dataFormat=r.DataFormat.SVG,A.bitmapResolution=1,A.asset=r.createAsset(r.AssetType.ImageVector,A.dataFormat,(new n).encode(e),null,!0),A.assetId=A.asset.assetId,A.md5="".concat(A.assetId,".").concat(A.dataFormat),this.emitTargetsUpdate()}addBackdrop(A,e){return C(A,e,this.runtime).then(()=>{const A=this.runtime.getTargetForStage();A.addCostume(e),A.setCostume(A.getCostumes().length-1),this.runtime.emitProjectChanged()})}renameSprite(A,e){const t=this.runtime.getTargetById(A);if(!t)throw new Error("No target with the provided id.");{if(!t.isSprite())throw new Error("Cannot rename non-sprite targets.");const A=t.sprite;if(!A)throw new Error("No sprite associated with this target.");if(e&&-1===F.indexOf(e)){const n=this.runtime.targets.filter(A=>A.isSprite()&&A.id!==t.id).map(A=>A.sprite.name),i=A.name,r=Q.unusedName(e,n);if(A.name=r,i===r)return;const s=this.runtime.targets;for(let A=0;A<s.length;A++){s[A].blocks.updateAssetName(i,e,"sprite")}r!==i&&this.emitTargetsUpdate()}}}deleteSprite(A){const e=this.runtime.getTargetById(A);if(e){const t=this.runtime.targets.map(A=>A.id).indexOf(e.id);if(!e.isSprite())throw new Error("Cannot delete non-sprite targets.");const n=e.sprite;if(!n)throw new Error("No sprite associated with this target.");const i=this.exportSprite(A,"uint8array"),r=()=>i.then(A=>this.addSprite(A));e.deleteMonitors();const s=this.editingTarget;for(let A=0;A<n.clones.length;A++){const e=n.clones[A];if(this.runtime.stopForTarget(n.clones[A]),this.runtime.disposeTarget(n.clones[A]),e===s){const A=Math.min(this.runtime.targets.length-1,t);this.runtime.targets.length>0?this.setEditingTarget(this.runtime.targets[A].id):this.editingTarget=null}}return this.emitTargetsUpdate(),r}throw new Error("No target with the provided id.")}deleteSpriteInternal(A){const e=this.runtime.getTargetById(A);if(e){const t=this.runtime.targets.map(A=>A.id).indexOf(e.id);if(!e.isSprite())throw new Error("Cannot delete non-sprite targets.");const n=e.sprite;if(!n)throw new Error("No sprite associated with this target.");const i=this.exportSprite(A,"uint8array"),r=()=>i.then(A=>this.addSprite(A));e.deleteMonitors();const s=this.editingTarget;for(let A=0;A<n.clones.length;A++){const e=n.clones[A];if(this.runtime.stopForTarget(n.clones[A]),this.runtime.disposeTarget(n.clones[A]),e===s){const A=Math.min(this.runtime.targets.length-1,t);this.runtime.targets.length>0?this.setEditingTarget(this.runtime.targets[A].id):this.editingTarget=null}}return this.emitTargetsUpdate(),r}throw new Error("No target with the provided id.")}duplicateSprite(A){const e=this.runtime.getTargetById(A);if(!e)throw new Error("No target with the provided id.");if(!e.isSprite())throw new Error("Cannot duplicate non-sprite targets.");if(!e.sprite)throw new Error("No sprite associated with this target.");return e.duplicate().then(A=>{this.runtime.addTarget(A),A.goBehindOther(e),this.setEditingTarget(A.id)})}attachAudioEngine(A){this.runtime.attachAudioEngine(A)}attachRenderer(A){this.runtime.attachRenderer(A)}get renderer(){return this.runtime&&this.runtime.renderer}attachV2SVGAdapter(){}attachV2BitmapAdapter(A){this.runtime.attachV2BitmapAdapter(A)}attachStorage(A){this.runtime.attachStorage(A)}setLocale(A,e){return A!==u.setup().locale&&u.setup({locale:A,translations:{[A]:e}}),this.emit("LOCALE_CHANGED",A),this.extensionManager.refreshBlocks()}getLocale(){return u.setup().locale}blockListener(A){this.editingTarget&&this.editingTarget.blocks.blocklyListen(A)}flyoutBlockListener(A){this.runtime.flyoutBlocks.blocklyListen(A)}monitorBlockListener(A){-1!==["create","change"].indexOf(A.type)&&this.runtime.monitorBlocks.blocklyListen(A)}variableListener(A){-1!==["var_create","var_rename","var_delete"].indexOf(A.type)&&this.runtime.getTargetForStage().blocks.blocklyListen(A)}setEditingTarget(A){if(this.editingTarget&&A===this.editingTarget.id)return;const e=this.runtime.getTargetById(A);e&&(this.editingTarget=e,this.emitTargetsUpdate(!1),this.emitWorkspaceUpdate(),this.runtime.setEditingTarget(e))}shareBlocksToTarget(A,e,n){const i=t(64),r=JSON.parse(JSON.stringify(A));h(r);const s=this.runtime.getTargetById(e);if(n){this.runtime.getTargetById(n).resolveVariableSharingConflictsWithTarget(r,s)}const o=new Set(r.map(A=>i.getExtensionIdForOpcode(A.opcode)).filter(A=>!!A).filter(A=>!this.extensionManager.isExtensionLoaded(A)));return this._loadExtensions(o).then(()=>{r.forEach(A=>{s.blocks.createBlock(A)}),s.blocks.updateTargetSpecificBlocks(s.isStage)})}shareCostumeToTarget(A,e){const t=this.editingTarget.getCostumes()[A],n=Object.assign({},t),i="".concat(n.assetId,".").concat(n.dataFormat);return C(i,n,this.runtime).then(()=>{const A=this.runtime.getTargetById(e);A&&(A.addCostume(n),A.setCostume(A.getCostumes().length-1))})}shareSoundToTarget(A,e){const t=this.editingTarget.getSounds()[A],n=Object.assign({},t),i=this.runtime.getTargetById(e);return d(n,this.runtime,i.sprite.soundBank).then(()=>{i&&(i.addSound(n),this.emitTargetsUpdate())})}refreshWorkspace(){this.editingTarget&&(this.emitWorkspaceUpdate(),this.runtime.setEditingTarget(this.editingTarget),this.emitTargetsUpdate(!1))}emitTargetsUpdate(A){let e;void 0===A&&(A=!0);const t=()=>(e||(e=this.runtime.targets.filter(A=>!A.hasOwnProperty("isOriginal")||A.isOriginal).map(A=>A.toJSON())),e);this.emit("targetsUpdate",{get targetList(){return t()},editingTarget:this.editingTarget?this.editingTarget.id:null}),A&&this.runtime.emitProjectChanged()}emitWorkspaceUpdate(){const A=this.runtime.getTargetForStage().variables;let e=[];for(const t in A)A[t].type===w.BROADCAST_MESSAGE_TYPE&&e.push(t);for(let A=0;A<this.runtime.targets.length;A++){const t=this.runtime.targets[A].blocks._blocks;for(const A in t)if(t[A].fields.BROADCAST_OPTION){const n=t[A].fields.BROADCAST_OPTION.id,i=e.indexOf(n);-1!==i&&(e=e.slice(0,i).concat(e.slice(i+1)))}}for(let A=0;A<e.length;A++){const t=e[A];delete this.runtime.getTargetForStage().variables[t]}const t=Object.assign({},this.runtime.getTargetForStage().variables),n=this.editingTarget.isStage?Object.create(null):Object.assign({},this.editingTarget.variables),i=Object.keys(t).map(A=>t[A]),r=Object.keys(n).map(A=>n[A]),s=Object.keys(this.editingTarget.comments).map(A=>this.editingTarget.comments[A]).filter(A=>null===A.blockId),o='<xml xmlns="http://www.w3.org/1999/xhtml">\n <variables>\n '.concat(i.map(A=>A.toXML()).join(),"\n ").concat(r.map(A=>A.toXML(!0)).join(),"\n </variables>\n ").concat(s.map(A=>A.toXML()).join(),"\n ").concat(this.editingTarget.blocks.toXML(this.editingTarget.comments),"\n </xml>");this.emit("workspaceUpdate",{xml:o})}getTargetIdForDrawableId(A){const e=this.runtime.getTargetByDrawableId(A);return e&&e.hasOwnProperty("id")&&e.hasOwnProperty("isStage")&&!e.isStage?e.id:null}reorderTarget(A,e){let t=this.runtime.targets;if((A=c.clamp(A,0,t.length-1))===(e=c.clamp(e,0,t.length-1)))return!1;const n=t[A];return t=t.slice(0,A).concat(t.slice(A+1)),t.splice(e,0,n),this.runtime.targets=t,this.emitTargetsUpdate(),!0}reorderCostume(A,e,t){const n=this.runtime.getTargetById(A);if(n){const A=n.reorderCostume(e,t);return A&&this.runtime.emitProjectChanged(),A}return!1}reorderSound(A,e,t){const n=this.runtime.getTargetById(A);if(n){const A=n.reorderSound(e,t);return A&&this.runtime.emitProjectChanged(),A}return!1}startDrag(A){const e=this.runtime.getTargetById(A);e&&(this._dragTarget=e,e.startDrag())}stopDrag(A){const e=this.runtime.getTargetById(A);e&&(this._dragTarget=null,e.stopDrag(),this.setEditingTarget(e.sprite&&e.sprite.clones[0]?e.sprite.clones[0].id:e.id))}postSpriteInfo(A){this._dragTarget?this._dragTarget.postSpriteInfo(A):this.editingTarget.postSpriteInfo(A),this.runtime.emitProjectChanged()}setVariableValue(A,e,t){const n=this.runtime.getTargetById(A);if(n){const A=n.lookupVariableById(e);if(A)return A.value=t,A.isCloud&&this.runtime.ioDevices.cloud.requestUpdateVariable(A.name,A.value),!0}return!1}getVariableValue(A,e){const t=this.runtime.getTargetById(A);if(t){const A=t.lookupVariableById(e);if(A)return A.value}return null}configureScratchLinkSocketFactory(A){this.runtime.configureScratchLinkSocketFactory(A)}}},function(A,e,t){"use strict";e.byteLength=function(A){var e=B(A),t=e[0],n=e[1];return 3*(t+n)/4-n},e.toByteArray=function(A){var e,t,n=B(A),s=n[0],o=n[1],a=new r(function(A,e,t){return 3*(e+t)/4-t}(0,s,o)),c=0,g=o>0?s-4:s;for(t=0;t<g;t+=4)e=i[A.charCodeAt(t)]<<18|i[A.charCodeAt(t+1)]<<12|i[A.charCodeAt(t+2)]<<6|i[A.charCodeAt(t+3)],a[c++]=e>>16&255,a[c++]=e>>8&255,a[c++]=255&e;2===o&&(e=i[A.charCodeAt(t)]<<2|i[A.charCodeAt(t+1)]>>4,a[c++]=255&e);1===o&&(e=i[A.charCodeAt(t)]<<10|i[A.charCodeAt(t+1)]<<4|i[A.charCodeAt(t+2)]>>2,a[c++]=e>>8&255,a[c++]=255&e);return a},e.fromByteArray=function(A){for(var e,t=A.length,i=t%3,r=[],s=0,o=t-i;s<o;s+=16383)r.push(c(A,s,s+16383>o?o:s+16383));1===i?(e=A[t-1],r.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(A[t-2]<<8)+A[t-1],r.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return r.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o<a;++o)n[o]=s[o],i[s.charCodeAt(o)]=o;function B(A){var e=A.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=A.indexOf("=");return-1===t&&(t=e),[t,t===e?0:4-t%4]}function c(A,e,t){for(var i,r,s=[],o=e;o<t;o+=3)i=(A[o]<<16&16711680)+(A[o+1]<<8&65280)+(255&A[o+2]),s.push(n[(r=i)>>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(A,e){
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
e.read=function(A,e,t,n,i){var r,s,o=8*i-n-1,a=(1<<o)-1,B=a>>1,c=-7,g=t?i-1:0,Q=t?-1:1,E=A[e+g];for(g+=Q,r=E&(1<<-c)-1,E>>=-c,c+=o;c>0;r=256*r+A[e+g],g+=Q,c-=8);for(s=r&(1<<-c)-1,r>>=-c,c+=n;c>0;s=256*s+A[e+g],g+=Q,c-=8);if(0===r)r=1-B;else{if(r===a)return s?NaN:1/0*(E?-1:1);s+=Math.pow(2,n),r-=B}return(E?-1:1)*s*Math.pow(2,r-n)},e.write=function(A,e,t,n,i,r){var s,o,a,B=8*r-i-1,c=(1<<B)-1,g=c>>1,Q=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,E=n?0:r-1,l=n?1:-1,u=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+g>=1?Q/a:Q*Math.pow(2,1-g))*a>=2&&(s++,a/=2),s+g>=c?(o=0,s=c):s+g>=1?(o=(e*a-1)*Math.pow(2,i),s+=g):(o=e*Math.pow(2,g-1)*Math.pow(2,i),s=0));i>=8;A[t+E]=255&o,E+=l,o/=256,i-=8);for(s=s<<i|o,B+=i;B>0;A[t+E]=255&s,E+=l,s/=256,B-=8);A[t+E-l]|=128*u}},function(A,e){var t={}.toString;A.exports=Array.isArray||function(A){return"[object Array]"==t.call(A)}},function(A,e,t){(function(A){var n=void 0!==A&&A||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(A,e){this._id=A,this._clearFn=e}e.setTimeout=function(){return new r(i.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(A){A&&A.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(n,this._id)},e.enroll=function(A,e){clearTimeout(A._idleTimeoutId),A._idleTimeout=e},e.unenroll=function(A){clearTimeout(A._idleTimeoutId),A._idleTimeout=-1},e._unrefActive=e.active=function(A){clearTimeout(A._idleTimeoutId);var e=A._idleTimeout;e>=0&&(A._idleTimeoutId=setTimeout((function(){A._onTimeout&&A._onTimeout()}),e))},t(165),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==A&&A.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==A&&A.clearImmediate||this&&this.clearImmediate}).call(this,t(19))},function(A,e,t){(function(A,e){!function(A,t){"use strict";if(!A.setImmediate){var n,i,r,s,o,a=1,B={},c=!1,g=A.document,Q=Object.getPrototypeOf&&Object.getPrototypeOf(A);Q=Q&&Q.setTimeout?Q:A,"[object process]"==={}.toString.call(A.process)?n=function(A){e.nextTick((function(){l(A)}))}:!function(){if(A.postMessage&&!A.importScripts){var e=!0,t=A.onmessage;return A.onmessage=function(){e=!1},A.postMessage("","*"),A.onmessage=t,e}}()?A.MessageChannel?((r=new MessageChannel).port1.onmessage=function(A){l(A.data)},n=function(A){r.port2.postMessage(A)}):g&&"onreadystatechange"in g.createElement("script")?(i=g.documentElement,n=function(A){var e=g.createElement("script");e.onreadystatechange=function(){l(A),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(A){setTimeout(l,0,A)}:(s="setImmediate$"+Math.random()+"$",o=function(e){e.source===A&&"string"==typeof e.data&&0===e.data.indexOf(s)&&l(+e.data.slice(s.length))},A.addEventListener?A.addEventListener("message",o,!1):A.attachEvent("onmessage",o),n=function(e){A.postMessage(s+e,"*")}),Q.setImmediate=function(A){"function"!=typeof A&&(A=new Function(""+A));for(var e=new Array(arguments.length-1),t=0;t<e.length;t++)e[t]=arguments[t+1];var i={callback:A,args:e};return B[a]=i,n(a),a++},Q.clearImmediate=E}function E(A){delete B[A]}function l(A){if(c)setTimeout(l,0,A);else{var e=B[A];if(e){c=!0;try{!function(A){var e=A.callback,t=A.args;switch(t.length){case 0:e();break;case 1:e(t[0]);break;case 2:e(t[0],t[1]);break;case 3:e(t[0],t[1],t[2]);break;default:e.apply(void 0,t)}}(e)}finally{E(A),c=!1}}}}}("undefined"==typeof self?void 0===A?this:A:self)}).call(this,t(19),t(50))},function(A,e,t){const n=t(8);A.exports=class{constructor(){this.callbacks=[],this.nextResponseId=0}call(A,e){for(var t=arguments.length,n=new Array(t>2?t-2:0),i=2;i<t;i++)n[i-2]=arguments[i];return this.transferCall(A,e,null,...n)}transferCall(A,e,t){try{const{provider:s,isRemote:o}=this._getServiceProvider(A);if(s){for(var n=arguments.length,i=new Array(n>3?n-3:0),r=3;r<n;r++)i[r-3]=arguments[r];if(o)return this._remoteTransferCall(s,A,e,t,...i);const a=s[e].apply(s,i);return Promise.resolve(a)}return Promise.reject(new Error("Service not found: ".concat(A)))}catch(A){return Promise.reject(A)}}_isRemoteService(A){return this._getServiceProvider(A).isRemote}_remoteCall(A,e,t){for(var n=arguments.length,i=new Array(n>3?n-3:0),r=3;r<n;r++)i[r-3]=arguments[r];return this._remoteTransferCall(A,e,t,null,...i)}_remoteTransferCall(A,e,t,n){for(var i=arguments.length,r=new Array(i>4?i-4:0),s=4;s<i;s++)r[s-4]=arguments[s];return new Promise((i,s)=>{const o=this._storeCallbacks(i,s);r.length>0&&"function"==typeof r[r.length-1].func&&(r.pop(),r.pop()),n?A.postMessage({service:e,method:t,responseId:o,args:r},n):A.postMessage({service:e,method:t,responseId:o,args:r})})}_storeCallbacks(A,e){const t=this.nextResponseId++;return this.callbacks[t]=[A,e],t}_deliverResponse(A,e){try{const[t,n]=this.callbacks[A];delete this.callbacks[A],e.error?n(e.error):t(e.result)}catch(A){n.error("Dispatch callback failed: ".concat(A))}}_onMessage(A,e){const t=e.data;let i;t.args=t.args||[],t.service?i="dispatch"===t.service?this._onDispatchMessage(A,t):this.call(t.service,t.method,...t.args):void 0===t.responseId?n.error("Dispatch caught malformed message from a worker: ".concat(JSON.stringify(e))):this._deliverResponse(t.responseId,t),i&&(void 0===t.responseId?n.error("Dispatch message missing required response ID: ".concat(JSON.stringify(e))):i.then(e=>A.postMessage({responseId:t.responseId,result:e}),e=>A.postMessage({responseId:t.responseId,error:"".concat(e)})))}_getServiceProvider(A){throw new Error("Could not get provider for ".concat(A,": _getServiceProvider not implemented"))}_onDispatchMessage(A,e){throw new Error("Unimplemented dispatch message handler cannot handle ".concat(e.method," method"))}}},function(A,e,t){var n=t(26),i=t(169),r=new n,s=Array.prototype.slice;(e=A.exports=function(A){var t=function(){return r.write(A,void 0,s.call(arguments)),t};return t.debug=function(){return r.write(A,"debug",s.call(arguments)),t},t.info=function(){return r.write(A,"info",s.call(arguments)),t},t.warn=function(){return r.write(A,"warn",s.call(arguments)),t},t.error=function(){return r.write(A,"error",s.call(arguments)),t},t.log=t.debug,t.suggest=e.suggest,t.format=r.format,t}).defaultBackend=e.defaultFormatter=null,e.pipe=function(A){return r.pipe(A)},e.end=e.unpipe=e.disable=function(A){return r.unpipe(A)},e.Transform=n,e.Filter=i,e.suggest=new i,e.enable=function(){return e.defaultFormatter?r.pipe(e.suggest).pipe(e.defaultFormatter).pipe(e.defaultBackend):r.pipe(e.suggest).pipe(e.defaultBackend)}},function(A,e){function t(){this._events={}}t.prototype={on:function(A,e){this._events||(this._events={});var t=this._events;return(t[A]||(t[A]=[])).push(e),this},removeListener:function(A,e){var t,n=this._events[A]||[];for(t=n.length-1;t>=0&&n[t];t--)n[t]!==e&&n[t].cb!==e||n.splice(t,1)},removeAllListeners:function(A){A?this._events[A]&&(this._events[A]=[]):this._events={}},listeners:function(A){return this._events&&this._events[A]||[]},emit:function(A){this._events||(this._events={});var e,t=Array.prototype.slice.call(arguments,1),n=this._events[A]||[];for(e=n.length-1;e>=0&&n[e];e--)n[e].apply(this,t);return this},when:function(A,e){return this.once(A,e,!0)},once:function(A,e,t){if(!e)return this;function n(){t||this.removeListener(A,n),e.apply(this,arguments)&&t&&this.removeListener(A,n)}return n.cb=e,this.on(A,n),this}},t.mixin=function(A){var e,n=t.prototype;for(e in n)n.hasOwnProperty(e)&&(A.prototype[e]=n[e])},A.exports=t},function(A,e,t){var n=t(26),i={debug:1,info:2,warn:3,error:4};function r(){this.enabled=!0,this.defaultResult=!0,this.clear()}function s(A,e){return A.n.test?A.n.test(e):A.n==e}n.mixin(r),r.prototype.allow=function(A,e){return this._white.push({n:A,l:i[e]}),this},r.prototype.deny=function(A,e){return this._black.push({n:A,l:i[e]}),this},r.prototype.clear=function(){return this._white=[],this._black=[],this},r.prototype.test=function(A,e){var t,n=Math.max(this._white.length,this._black.length);for(t=0;t<n;t++){if(this._white[t]&&s(this._white[t],A)&&i[e]>=this._white[t].l)return!0;if(this._black[t]&&s(this._black[t],A)&&i[e]<=this._black[t].l)return!1}return this.defaultResult},r.prototype.write=function(A,e,t){if(!this.enabled||this.test(A,e))return this.emit("item",A,e,t)},A.exports=r},function(A,e,t){var n=t(26),i=/\n+$/,r=new n;r.write=function(A,e,t){var n=t.length-1;if("undefined"!=typeof console&&console.log){if(console.log.apply)return console.log.apply(console,[A,e].concat(t));if(JSON&&JSON.stringify){t[n]&&"string"==typeof t[n]&&(t[n]=t[n].replace(i,""));try{for(n=0;n<t.length;n++)t[n]=JSON.stringify(t[n])}catch(A){}console.log(t.join(" "))}}},r.formatters=["color","minilog"],r.color=t(171),r.minilog=t(172),A.exports=r},function(A,e,t){var n=t(26),i=t(100),r={debug:["cyan"],info:["purple"],warn:["yellow",!0],error:["red",!0]},s=new n;s.write=function(A,e,t){console.log;console[e]&&console[e].apply&&console[e].apply(console,["%c"+A+" %c"+e,i("gray"),i.apply(i,r[e])].concat(t))},s.pipe=function(){},A.exports=s},function(A,e,t){var n=t(26),i=t(100),r={debug:["gray"],info:["purple"],warn:["yellow",!0],error:["red",!0]},s=new n;s.write=function(A,e,t){var n=console.log;"debug"!=e&&console[e]&&(n=console[e]);var s=0;if("info"!=e){for(;s<t.length&&"string"==typeof t[s];s++);n.apply(console,["%c"+A+" "+t.slice(0,s).join(" "),i.apply(i,r[e])].concat(t.slice(s)))}else n.apply(console,["%c"+A,i.apply(i,r[e])].concat(t))},s.pipe=function(){},A.exports=s},function(A,e,t){var n=t(26),i=[],r=new n;r.write=function(A,e,t){i.push([A,e,t])},r.get=function(){return i},r.empty=function(){i=[]},A.exports=r},function(A,e,t){var n=t(26),i=!1,r=new n;r.write=function(A,e,t){if("undefined"!=typeof window&&"undefined"!=typeof JSON&&JSON.stringify&&JSON.parse)try{i||(i=window.localStorage.minilog?JSON.parse(window.localStorage.minilog):[]),i.push([(new Date).toString(),A,e,t]),window.localStorage.minilog=JSON.stringify(i)}catch(A){}},A.exports=r},function(A,e,t){var n=t(26),i=(new Date).valueOf().toString(36);function r(A){this.url=A.url||"",this.cache=[],this.timer=null,this.interval=A.interval||3e4,this.enabled=!0,this.jQuery=window.jQuery,this.extras={}}n.mixin(r),r.prototype.write=function(A,e,t){this.timer||this.init(),this.cache.push([A,e].concat(t))},r.prototype.init=function(){if(this.enabled&&this.jQuery){var A=this;this.timer=setTimeout((function(){var e,t,n=[],r=A.url;if(0==A.cache.length)return A.init();for(e=0;e<A.cache.length;e++)try{JSON.stringify(A.cache[e]),n.push(A.cache[e])}catch(A){}A.jQuery.isEmptyObject(A.extras)?(t=JSON.stringify({logs:n}),r=A.url+"?client_id="+i):t=JSON.stringify(A.jQuery.extend({logs:n},A.extras)),A.jQuery.ajax(r,{type:"POST",cache:!1,processData:!1,data:t,contentType:"application/json",timeout:1e4}).success((function(e,t,n){e.interval&&(A.interval=Math.max(1e3,e.interval))})).error((function(){A.interval=3e4})).always((function(){A.init()})),A.cache=[]}),this.interval)}},r.prototype.end=function(){},r.jQueryWait=function(A){if("undefined"!=typeof window&&(window.jQuery||window.$))return A(window.jQuery||window.$);"undefined"!=typeof window&&setTimeout((function(){r.jQueryWait(A)}),200)},A.exports=r},function(A,e,t){const n=t(99),i=t(8),r=t(101),s=t(1),o=t(179),a=t(2),B=t(180),c=new URLSearchParams(location.search),g=String(window.location.href).startsWith("http://localhost:"),Q=c.has("livetests"),E={coreExample:()=>t(182),pen:()=>t(183),wedo2:()=>t(184),music:()=>t(187),microbit:()=>t(250),text2speech:()=>t(251),translate:()=>t(252),videoSensing:()=>t(253),ev3:()=>t(289),makeymakey:()=>t(291),boost:()=>t(292),gdxfor:()=>t(293),text:()=>t(296),tw:()=>t(297),twFiles:()=>t(298),pmMotionExpansion:()=>t(299),pmOperatorsExpansion:()=>t(300),pmSensingExpansion:()=>t(311),pmControlsExpansion:()=>t(312),pmEventsExpansion:()=>t(313),pmInlineBlocks:()=>t(314),jgFiles:()=>t(315),jgWebsiteRequests:()=>t(316),jgJSON:()=>t(317),jgRuntime:()=>t(318),jgPrism:()=>t(319),jgIframe:()=>t(322),jgExtendedAudio:()=>t(323),jgScratchAuthenticate:()=>t(325),JgPermissionBlocks:()=>t(328),jgClones:()=>t(329),jgTween:()=>t(330),jgDebugging:()=>t(331),jgEasySave:()=>t(332),jgPackagerApplications:()=>t(333),jgTailgating:()=>t(335),jgScripts:()=>t(336),jg3d:()=>t(337),jg3dVr:()=>t(350),jgVr:()=>t(353),jgInterfaces:()=>t(354),jgJavascript:()=>t(366),jgPathfinding:()=>t(367),jgStorage:()=>t(387),jgTimers:()=>t(388),jgDev:()=>t(390),jgDooDoo:()=>t(391),jwUnite:()=>t(394),jwProto:()=>t(395),jwPostLit:()=>t(396),jwReflex:()=>t(397),blockly2math:()=>t(398),jwStructs:()=>t(399),Gamepad:()=>t(400),theshovelcanvaseffects:()=>t(401),shovellzcompresss:()=>t(402),shovelColorPicker:()=>t(404),shovelcss:()=>t(405),profanityAPI:()=>t(406),canvas:()=>t(407),tempVars:()=>t(409),colors:()=>t(410),pmCamera:()=>t(411),oddMessage:()=>t(412),lmsutilsblocks:()=>t(413),xeltallivclipblend:()=>t(414),DTcameracontrols:()=>t(415),iygPerlin:()=>t(416),fr3d:()=>t(419)},l=Object.getOwnPropertyNames(E),u=[];(g||Q)&&u.push("jgDev");A.exports=class{constructor(A){this.nextExtensionWorker=0,this.pendingExtensions=[],this.pendingWorkers=[],this.workerURLs=[],this._loadedExtensions=new Map,this.securityManager=new o,this.vm=A,this.runtime=A.runtime,this.loadingAsyncExtensions=0,this.asyncExtensionsLoadedCallbacks=[],n.setService("extensions",(A=>{const e={};return e.registerExtensionServiceSync=A.registerExtensionServiceSync.bind(A),e.allocateWorker=A.allocateWorker.bind(A),e.onWorkerInit=A.onWorkerInit.bind(A),e.registerExtensionService=A.registerExtensionService.bind(A),e})(this)).catch(A=>{i.error("ExtensionManager was unable to register extension service: ".concat(JSON.stringify(A)))}),u.forEach(A=>{this.loadExtensionURL(A)})}getCoreExtensionList(){return l}getBuiltInExtensionsList(){return E}getAddonBlockSwitches(){return B()}isExtensionLoaded(A){return this._loadedExtensions.has(A)}isBuiltinExtension(A){return Object.prototype.hasOwnProperty.call(E,A)}loadExtensionIdSync(A){if(!this.isBuiltinExtension(A))return void i.warn("Could not find extension ".concat(A," in the built in extensions."));if(this.isExtensionLoaded(A)){const e="Rejecting attempt to load a second extension with ID ".concat(A);return void i.warn(e)}const e=new(E[A]())(this.runtime),t=this._registerInternalExtension(e),n=e.getInfo().id;this._loadedExtensions.set(A,t),this.runtime.compilerRegisterExtension(n,e)}_isValidExtensionURL(A){try{const e=new URL(A);return"https:"===e.protocol||"http:"===e.protocol||"data:"===e.protocol||"file:"===e.protocol}catch(A){return!1}}async loadExtensionURL(A){if(this.isBuiltinExtension(A))return this.loadExtensionIdSync(A),A;if(this.isExtensionURLLoaded(A))return;if(!this._isValidExtensionURL(A))throw new Error("Invalid extension URL: ".concat(A));this.runtime.setExternalCommunicationMethod("customExtensions",!0),this.loadingAsyncExtensions++;const e=await this.securityManager.getSandboxMode(A);if("unsandboxed"===e){const{load:e}=t(422),i=await e(A,this.vm).catch(A=>this._failedLoadingExtensionScript(A)),r=this.nextExtensionWorker++,s=[];this.workerURLs[r]=A;for(const A of i){const e=A.getInfo(),t="unsandboxed.".concat(r,".").concat(e.id);n.setServiceSync(t,A),n.callSync("extensions","registerExtensionServiceSync",t),this._loadedExtensions.set(e.id,t),s.push(e.id),this.runtime.compilerRegisterExtension(e.id,A)}return this._finishedLoadingExtensionScript(),s}let i;if("worker"===e)i=t(425);else{if("iframe"!==e)throw new Error("Invalid sandbox mode: ".concat(e));i=(await t.e(1).then(t.t.bind(null,613,7))).default}return new Promise((e,t)=>{this.pendingExtensions.push({extensionURL:A,resolve:e,reject:t}),n.addWorker(new i)}).catch(A=>this._failedLoadingExtensionScript(A))}allAsyncExtensionsLoaded(){if(0!==this.loadingAsyncExtensions)return new Promise((A,e)=>{this.asyncExtensionsLoadedCallbacks.push({resolve:A,reject:e})})}refreshDynamicCategorys(){if(!this._loadedExtensions)return Promise.reject("_loadedExtensions is not readable yet");const A=Array.from(this._loadedExtensions.values()).map(A=>n.call(A,"getInfo").then(e=>{(e=this._prepareExtensionInfo(A,e)).isDynamic&&n.call("runtime","_refreshExtensionPrimitives",e)}).catch(A=>{i.error("Failed to refresh built-in extension primitives: ".concat(A))}));return Promise.all(A)}refreshBlocks(){const A=Array.from(this._loadedExtensions.values()).map(A=>n.call(A,"getInfo").then(e=>{e=this._prepareExtensionInfo(A,e),n.call("runtime","_refreshExtensionPrimitives",e)}).catch(A=>{i.error("Failed to refresh built-in extension primitives: ".concat(A))}));return Promise.all(A)}removeExtension(A){const e=this._loadedExtensions.get(A),{provider:t}=n._getServiceProvider(e);"function"==typeof t.remove&&n.call(e,"dispose"),this._loadedExtensions.delete(A);const i=+e.split(".")[1];delete this.workerURLs[i],n.call("runtime","_removeExtensionPrimitive",A),this.refreshBlocks()}allocateWorker(){const A=this.nextExtensionWorker++,e=this.pendingExtensions.shift();return this.pendingWorkers[A]=e,this.workerURLs[A]=e.extensionURL,[A,e.extensionURL]}registerExtensionServiceSync(A){const e=n.callSync(A,"getInfo");this._registerExtensionInfo(A,e)}registerExtensionService(A){n.call(A,"getInfo").then(e=>{this._loadedExtensions.set(e.id,A),this._registerExtensionInfo(A,e),this._finishedLoadingExtensionScript()})}_finishedLoadingExtensionScript(){this.loadingAsyncExtensions--,0===this.loadingAsyncExtensions&&(this.asyncExtensionsLoadedCallbacks.forEach(A=>A.resolve()),this.asyncExtensionsLoadedCallbacks=[])}_failedLoadingExtensionScript(A){throw this.loadingAsyncExtensions--,this.asyncExtensionsLoadedCallbacks.forEach(e=>e.reject(A)),this.asyncExtensionsLoadedCallbacks=[],A}onWorkerInit(A,e){const t=this.pendingWorkers[A];delete this.pendingWorkers[A],e?t.reject(e):t.resolve()}_registerInternalExtension(A){const e=A.getInfo(),t=this.nextExtensionWorker++,i="extension_".concat(t,"_").concat(e.id);return n.setServiceSync(i,A),n.callSync("extensions","registerExtensionServiceSync",i),i}_registerExtensionInfo(A,e){e=this._prepareExtensionInfo(A,e),n.call("runtime","_registerExtensionPrimitives",e).catch(e=>{i.error("Failed to register primitives for extension on service ".concat(A,":"),e)})}_prepareExtensionInfo(A,e){if(e=Object.assign({},e),!/^[a-z0-9]+$/i.test(e.id))throw new Error("Invalid extension id");return e.name=e.name||e.id,e.blocks=e.blocks||[],e.targetTypes=e.targetTypes||[],e.blocks=e.blocks.reduce((e,t)=>{try{let n;switch(t){case"---":n="---";break;default:n=this._prepareBlockInfo(A,t)}e.push(n)}catch(A){i.error("Error processing block: ".concat(A.message,", Block:\n").concat(JSON.stringify(t)))}return e},[]),e.menus=e.menus||{},e.menus=this._prepareMenuInfo(A,e.menus),e}_prepareMenuInfo(A,e){const t=Object.getOwnPropertyNames(e);for(let i=0;i<t.length;i++){const r=t[i];let s=e[r];if(s.items||(s={items:s},e[r]=s),"string"==typeof s.items){const e=s.items,t=n.services[A];s.items=this._getExtensionMenuItems.bind(this,t,e)}}return e}_getExtensionMenuItems(A,e){const t=this.runtime.getEditingTarget()||this.runtime.getTargetForStage(),n=t?t.id:null,i=this.runtime.makeMessageContextForTarget(t),s=A[e].call(A,n).map(A=>{switch(typeof(A=r(A,i))){case"object":return[r(A.text,i),A.value];case"string":return[A,A];default:return A}});if(!s||s.length<1)throw new Error("Extension menu returned no items: ".concat(e));return s}_normalize(A,e){switch(e){case"string":return a.toString(A);case"bigint":case"number":return a.toNumber(A);case"boolean":return a.toBoolean(A);case"function":return new Function(A);default:return a.toString(A)}}_prepareBlockInfo(A,e){if(e.blockType===s.XML)return(e=Object.assign({},e)).xml=String(e.xml)||"",e;switch((e=Object.assign({},{blockType:s.COMMAND,terminal:!1,blockAllThreads:!1,arguments:{}},e)).text=e.text||e.opcode,e.blockType){case s.EVENT:e.func&&i.warn('Ignoring function "'.concat(e.func,'" for event block ').concat(e.opcode));break;case s.BUTTON:if(!e.opcode&&!e.func)throw new Error("Missing opcode or func for button: ".concat(e.text));e.func&&!e.opcode&&(e.opcode=e.func);const t=e.opcode,r=function(){for(var e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];return n.call(A,t,...i)};e.func=r;break;case s.LABEL:break;default:{if(!e.opcode)throw new Error("Missing opcode for block");const t=e.func||e.opcode,r=e.isDynamic?A=>A&&A.mutation&&A.mutation.blockInfo:()=>e,s=(()=>{if(n._isRemoteService(A))return(e,i,r)=>n.call(A,t,e,i,r).then(A=>"number"==typeof A||"string"==typeof A||"boolean"==typeof A?A:"".concat(A)).catch(A=>(console.error("Custom extension block error",A),"".concat(A)));const e=n.services[A];return e[t]||i.warn("Could not find extension block function called ".concat(t)),(A,n,i)=>e[t](A,n,i)})();e.func=(A,e)=>{const t={angle:"number",Boolean:"boolean",color:"string",number:"number",string:"string",matrix:"string",note:"number",image:"string",polygon:"object",list:"exception",broadcast:"exception"},n=r(A);return Object.keys(n.arguments).forEach(e=>{const i=t[n.arguments[e].type];"exception"!==i&&(e.startsWith("substack")||typeof A[e]!==i&&(A[e]=this._normalize(A[e],i)))}),s(A,e,n)};break}}return e}getExtensionURLs(){const A={};for(const[e,t]of this._loadedExtensions.entries()){if(E.hasOwnProperty(e))continue;const n=+t.split(".")[1],i=this.workerURLs[n];"string"==typeof i&&(A[e]=i)}return A}isExtensionURLLoaded(A){return this.workerURLs.includes(A)}}},function(A,e,t){"use strict";var n=["number","date","time","ordinal","duration","spellout"],i=["plural","select","selectordinal"];function r(A,e){var t=A.pattern,n=t.length,i=[],r=A.index,o=s(A,e);for(o&&i.push(o),o&&A.tokens&&A.tokens.push(["text",t.slice(r,A.index)]);A.index<n;){if("}"===t[A.index]){if(!e)throw l(A);break}if(e&&A.tagsType&&"</"===t.slice(A.index,A.index+"</".length))break;i.push(B(A)),r=A.index,(o=s(A,e))&&i.push(o),o&&A.tokens&&A.tokens.push(["text",t.slice(r,A.index)])}return i}function s(A,e){for(var t=A.pattern,n=t.length,i="plural"===e||"selectordinal"===e,r=!!A.tagsType,s="{style}"===e,a="";A.index<n;){var B=t[A.index];if("{"===B||"}"===B||i&&"#"===B||r&&"<"===B||s&&o(B.charCodeAt(0)))break;if("'"===B)if("'"===(B=t[++A.index]))a+=B,++A.index;else if("{"===B||"}"===B||i&&"#"===B||r&&"<"===B||s)for(a+=B;++A.index<n;)if("'"===(B=t[A.index])&&"'"===t[A.index+1])a+="'",++A.index;else{if("'"===B){++A.index;break}a+=B}else a+="'";else a+=B,++A.index}return a}function o(A){return A>=9&&A<=13||32===A||133===A||160===A||6158===A||A>=8192&&A<=8205||8232===A||8233===A||8239===A||8287===A||8288===A||12288===A||65279===A}function a(A){for(var e=A.pattern,t=e.length,n=A.index;A.index<t&&o(e.charCodeAt(A.index));)++A.index;n<A.index&&A.tokens&&A.tokens.push(["space",A.pattern.slice(n,A.index)])}function B(A){var e=A.pattern;if("#"===e[A.index])return A.tokens&&A.tokens.push(["syntax","#"]),++A.index,["#"];var t=function(A){var e=A.tagsType;if(!e||"<"!==A.pattern[A.index])return;if("</"===A.pattern.slice(A.index,A.index+"</".length))throw l(A,null,"closing tag without matching opening tag");A.tokens&&A.tokens.push(["syntax","<"]);++A.index;var t=c(A,!0);if(!t)throw l(A,"placeholder id");A.tokens&&A.tokens.push(["id",t]);if(a(A),"/>"===A.pattern.slice(A.index,A.index+"/>".length))return A.tokens&&A.tokens.push(["syntax","/>"]),A.index+="/>".length,[t,e];if(">"!==A.pattern[A.index])throw l(A,">");A.tokens&&A.tokens.push(["syntax",">"]);++A.index;var n=r(A,e),i=A.index;if("</"!==A.pattern.slice(A.index,A.index+"</".length))throw l(A,"</"+t+">");A.tokens&&A.tokens.push(["syntax","</"]);A.index+="</".length;var s=c(A,!0);s&&A.tokens&&A.tokens.push(["id",s]);if(t!==s)throw A.index=i,l(A,"</"+t+">","</"+s+">");if(a(A),">"!==A.pattern[A.index])throw l(A,">");A.tokens&&A.tokens.push(["syntax",">"]);return++A.index,[t,e,{children:n}]}(A);if(t)return t;if("{"!==e[A.index])throw l(A,"{");A.tokens&&A.tokens.push(["syntax","{"]),++A.index,a(A);var i=c(A);if(!i)throw l(A,"placeholder id");A.tokens&&A.tokens.push(["id",i]),a(A);var s=e[A.index];if("}"===s)return A.tokens&&A.tokens.push(["syntax","}"]),++A.index,[i];if(","!==s)throw l(A,", or }");A.tokens&&A.tokens.push(["syntax",","]),++A.index,a(A);var o,B=c(A);if(!B)throw l(A,"placeholder type");if(A.tokens&&A.tokens.push(["type",B]),a(A),"}"===(s=e[A.index])){if(A.tokens&&A.tokens.push(["syntax","}"]),"plural"===B||"selectordinal"===B||"select"===B)throw l(A,B+" sub-messages");return++A.index,[i,B]}if(","!==s)throw l(A,", or }");if(A.tokens&&A.tokens.push(["syntax",","]),++A.index,a(A),"plural"===B||"selectordinal"===B){var E=function(A){var e=A.pattern,t=e.length,n=0;if("offset:"===e.slice(A.index,A.index+"offset:".length)){A.tokens&&A.tokens.push(["offset","offset"],["syntax",":"]),A.index+="offset:".length,a(A);for(var i=A.index;A.index<t&&((r=e.charCodeAt(A.index))>=48&&r<=57);)++A.index;if(i===A.index)throw l(A,"offset number");A.tokens&&A.tokens.push(["number",e.slice(i,A.index)]),n=+e.slice(i,A.index)}var r;return n}(A);a(A),o=[i,B,E,Q(A,B)]}else if("select"===B)o=[i,B,Q(A,B)];else if(n.indexOf(B)>=0)o=[i,B,g(A)];else{var u=A.index,w=g(A);a(A),"{"===e[A.index]&&(A.index=u,w=Q(A,B)),o=[i,B,w]}if(a(A),"}"!==e[A.index])throw l(A,"}");return A.tokens&&A.tokens.push(["syntax","}"]),++A.index,o}function c(A,e){for(var t=A.pattern,n=t.length,i="";A.index<n;){var r=t[A.index];if("{"===r||"}"===r||","===r||"#"===r||"'"===r||o(r.charCodeAt(0))||e&&("<"===r||">"===r||"/"===r))break;i+=r,++A.index}return i}function g(A){var e=A.index,t=s(A,"{style}");if(!t)throw l(A,"placeholder style name");return A.tokens&&A.tokens.push(["style",A.pattern.slice(e,A.index)]),t}function Q(A,e){for(var t=A.pattern,n=t.length,r={};A.index<n&&"}"!==t[A.index];){var s=c(A);if(!s)throw l(A,"sub-message selector");A.tokens&&A.tokens.push(["selector",s]),a(A),r[s]=E(A,e),a(A)}if(!r.other&&i.indexOf(e)>=0)throw l(A,null,null,'"other" sub-message must be specified in '+e);return r}function E(A,e){if("{"!==A.pattern[A.index])throw l(A,"{ to start sub-message");A.tokens&&A.tokens.push(["syntax","{"]),++A.index;var t=r(A,e);if("}"!==A.pattern[A.index])throw l(A,"} to end sub-message");return A.tokens&&A.tokens.push(["syntax","}"]),++A.index,t}function l(A,e,t,n){var i=A.pattern,r=i.slice(0,A.index).split(/\r?\n/),s=A.index,o=r.length,a=r.slice(-1)[0].length;return t=t||(A.index>=i.length?"end of message pattern":c(A)||i[A.index]),n||(n=function(A,e){return A?"Expected "+A+" but found "+e:"Unexpected "+e+" found"}(e,t)),new u(n+=" in "+i.replace(/\r?\n/g,"\n"),e,t,s,o,a)}function u(A,e,t,n,i,r){Error.call(this,A),this.name="SyntaxError",this.message=A,this.expected=e,this.found=t,this.offset=n,this.line=i,this.column=r}e=A.exports=function(A,e){return r({pattern:String(A),index:0,tagsType:e&&e.tagsType||null,tokens:e&&e.tokens||null},"")},u.prototype=Object.create(Error.prototype),e.SyntaxError=u},function(A,e,t){"use strict";var n=t(102),i=t(103),r=t(104);function s(A,e,t,n,i){var r=A.map((function(A){return function(A,e,t,n,i){if("string"==typeof A){var r=A;return function(){return r}}var a,B=A[0],c=A[1];if(e&&"#"===A[0]){B=e[0];var g=e[2],E=(n.number||Q.number)([B,"number"],t);return function(A){return E(o(B,A)-g,A)}}"plural"===c||"selectordinal"===c?(a={},Object.keys(A[3]).forEach((function(e){a[e]=s(A[3][e],A,t,n,i)})),A=[A[0],A[1],A[2],a]):A[2]&&"object"==typeof A[2]&&(a={},Object.keys(A[2]).forEach((function(e){a[e]=s(A[2][e],A,t,n,i)})),A=[A[0],A[1],a]);var l=c&&(n[c]||Q[c]);if(l){var u=l(A,t);return function(A){return u(o(B,A),A)}}return i?function(A){return String(o(B,A))}:function(A){return o(B,A)}}(A,e,t,n,i)}));return i?1===r.length?r[0]:function(A){for(var e="",t=0;t<r.length;++t)e+=r[t](A);return e}:function(A){return r.reduce((function(e,t){return e.concat(t(A))}),[])}}function o(A,e){if(e&&A in e)return e[A];for(var t=A.split("."),n=e,i=0,r=t.length;n&&i<r;++i)n=n[t[i]];return n}function a(A,e){var t=A[2],i=n.number[t]||n.parseNumberPattern(t)||n.number.default;return new Intl.NumberFormat(e,i).format}function B(A,e){var t=A[1],i=A[2],r=n[t][i]||n.parseDatePattern(i)||n[t].default;return new Intl.DateTimeFormat(e,r).format}function c(A,e){var t,n="selectordinal"===A[1]?"ordinal":"cardinal",s=A[2],o=A[3];if(Intl.PluralRules&&Intl.PluralRules.supportedLocalesOf(e).length>0)t=new Intl.PluralRules(e,{type:n});else{var a=i(e,r),B=a&&r[a][n]||g;t={select:B}}return function(A,e){return(o["="+ +A]||o[t.select(A-s)]||o.other)(e)}}function g(){return"other"}(e=A.exports=function(A,e,t){return s(A,null,e||"en",t||{},!0)}).toParts=function(A,e,t){return s(A,null,e||"en",t||{},!1)};var Q={number:a,ordinal:a,spellout:a,duration:function(A,e){var t=A[2],i=n.duration[t]||n.duration.default,r=new Intl.NumberFormat(e,i.seconds).format,s=new Intl.NumberFormat(e,i.minutes).format,o=new Intl.NumberFormat(e,i.hours).format,a=/^fi$|^fi-|^da/.test(String(e))?".":":";return function(A,e){if(A=+A,!isFinite(A))return r(A);var t=~~(A/60/60),n=~~(A/60%60),i=(t?o(Math.abs(t))+a:"")+s(Math.abs(n))+a+r(Math.abs(A%60));return A<0?o(-1).replace(o(1),i):i}},date:B,time:B,plural:c,selectordinal:c,select:function(A,e){var t=A[2];return function(A,e){return(t[A]||t.other)(e)}}};e.types=Q},function(A,e){A.exports=class{getSandboxMode(A){return Promise.resolve("worker")}canLoadExtensionFromProject(A){return Promise.resolve(!1)}canFetch(A){return Promise.resolve(!0)}canOpenWindow(A){return Promise.resolve(!0)}canRedirect(A){return Promise.resolve(!0)}canRecordAudio(){return Promise.resolve(!0)}canRecordVideo(){return Promise.resolve(!0)}canReadClipboard(){return Promise.resolve(!0)}canNotify(){return Promise.resolve(!0)}canGeolocate(){return Promise.resolve(!0)}}},function(A,e,t){const n={},i={jgFiles:t(181)},r={isNoop:!0};function s(A){return String(A).match(/([A-Z]?[^A-Z]*)/g).slice(0,-1).join(" ").toLowerCase()}Object.getOwnPropertyNames(i).forEach(A=>{const e=i[A];Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t];for(let e=0;e<n.length;e++){const t=n[e];if("hide"!==t)if("same"!==t&&"noop"!==t&&"normal"!==t&&""!==t&&null!==t)if("string"!=typeof t){if(n[e].msg||(n[e].msg=s(n[e].opcode)),n[e].opcode){if(String(n[e].opcode).startsWith(A+"_"))continue;n[e].opcode="".concat(A,"_").concat(n[e].opcode)}}else n[e]={opcode:"".concat(A,"_").concat(t),msg:"".concat(s(t))};else n[e]=r}e[t]=n.filter(A=>"hide"!==A)}),n[A]=e}),A.exports=function(){return n}},function(A){A.exports=JSON.parse('{"askUserForFileOfType":["hide","askUserForFileOfTypeAsArrayBuffer","askUserForFileOfTypeAsDataUri"],"askUserForFileOfTypeAsArrayBuffer":["askUserForFileOfType","hide","askUserForFileOfTypeAsDataUri"],"askUserForFileOfTypeAsDataUri":["askUserForFileOfType","askUserForFileOfTypeAsArrayBuffer","hide"],"downloadFile":["hide","downloadFileDataUri","downloadFileBuffer"],"downloadFileDataUri":["downloadFile","hide","downloadFileBuffer"],"downloadFileBuffer":["downloadFile","downloadFileDataUri","hide"]}')},function(A,e,t){const n=t(1),i=t(3);A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"coreExample",name:"CoreEx",blocks:[{opcode:"exampleOpcode",blockType:n.REPORTER,text:"example block"},{opcode:"exampleWithInlineImage",blockType:n.COMMAND,text:"block with image [CLOCKWISE] inline",arguments:{CLOCKWISE:{type:i.IMAGE,dataURI:'data:image/svg+xml,%3Csvg id="rotate-counter-clockwise" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%233d79cc;%7D.cls-2%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Erotate-counter-clockwise%3C/title%3E%3Cpath class="cls-1" d="M22.68,12.2a1.6,1.6,0,0,1-1.27.63H13.72a1.59,1.59,0,0,1-1.16-2.58l1.12-1.41a4.82,4.82,0,0,0-3.14-.77,4.31,4.31,0,0,0-2,.8,4.25,4.25,0,0,0-1.34,1.73,5.06,5.06,0,0,0,.54,4.62A5.58,5.58,0,0,0,12,17.74h0a2.26,2.26,0,0,1-.16,4.52A10.25,10.25,0,0,1,3.74,18,10.14,10.14,0,0,1,2.25,8.78,9.7,9.7,0,0,1,5.08,4.64,9.92,9.92,0,0,1,9.66,2.5a10.66,10.66,0,0,1,7.72,1.68l1.08-1.35a1.57,1.57,0,0,1,1.24-.6,1.6,1.6,0,0,1,1.54,1.21l1.7,7.37A1.57,1.57,0,0,1,22.68,12.2Z"/%3E%3Cpath class="cls-2" d="M21.38,11.83H13.77a.59.59,0,0,1-.43-1l1.75-2.19a5.9,5.9,0,0,0-4.7-1.58,5.07,5.07,0,0,0-4.11,3.17A6,6,0,0,0,7,15.77a6.51,6.51,0,0,0,5,2.92,1.31,1.31,0,0,1-.08,2.62,9.3,9.3,0,0,1-7.35-3.82A9.16,9.16,0,0,1,3.17,9.12,8.51,8.51,0,0,1,5.71,5.4,8.76,8.76,0,0,1,9.82,3.48a9.71,9.71,0,0,1,7.75,2.07l1.67-2.1a.59.59,0,0,1,1,.21L22,11.08A.59.59,0,0,1,21.38,11.83Z"/%3E%3C/svg%3E'}}},{opcode:"exampleNodeInputs",blockType:n.COMMAND,text:"block with some node inputs [CLOCKWISE]",arguments:{CLOCKWISE:{type:i.POLYGON,nodes:3}}}]}}exampleOpcode(){const A=this.runtime.getTargetForStage();return A?A.getName():"no stage yet"}exampleWithInlineImage(){}exampleNodeInputs(A,e){const t=A.CLOCKWISE;this.runtime.ext_pen._penUp(e.target),this.runtime.ext_pen.clear(),e.target.setXY(t[0].x,t[0].y),this.runtime.ext_pen._penDown(e.target),t.forEach(A=>{e.target.setXY(A.x,A.y)}),e.target.setXY(t[0].x,t[0].y)}}},function(A,e,t){const n=t(3),i=t(1),r=t(38),s=t(2),o=t(10),a=t(13),{translateForCamera:B}=t(52),c=t(7),g=t(11),Q=t(8),E=t(27),l="color",u="saturation",w="brightness",h="transparency",C="front",d="back",I="on",M="off",p={front:E.PEN_LAYER,back:E.SPRITE_LAYER};class m{constructor(A){this.runtime=A,this._penDrawableId=-1,this._penSkinId=-1,this.printTextAttribute={weight:"400",italic:!1,size:"28",font:"Arial",color:"#000000"},this._onTargetCreated=this._onTargetCreated.bind(this),this._onTargetMoved=this._onTargetMoved.bind(this),this._onCameraMoved=this._onCameraMoved.bind(this),A.on("targetWasCreated",this._onTargetCreated),A.on("RUNTIME_DISPOSED",this.clear.bind(this)),this.preloadedImages={},this.cameraBound=-1}static get DEFAULT_PEN_STATE(){return{penDown:!1,color:66.66,saturation:100,brightness:100,transparency:0,_shade:50,penAttributes:{color4f:[0,0,1,1],diameter:1}}}static get PEN_SIZE_RANGE(){return{min:1,max:1e308}}static get STATE_KEY(){return"Scratch.pen"}_clampPenSize(A){return this.runtime.renderer&&this.runtime.renderer.useHighQualityRender||!this.runtime.runtimeOptions.miscLimits?Math.max(0,A):g.clamp(A,m.PEN_SIZE_RANGE.min,m.PEN_SIZE_RANGE.max)}_getPenLayerID(){return this._penSkinId<0&&this.runtime.renderer&&(this._penSkinId=this.runtime.renderer.createPenSkin(),this._penDrawableId=this.runtime.renderer.createDrawable(E.PEN_LAYER),this.runtime.renderer.updateDrawableSkinId(this._penDrawableId,this._penSkinId),this.bitmapCanvas=document.createElement("canvas"),this.bitmapCanvas.width=this.runtime.stageWidth,this.bitmapCanvas.height=this.runtime.stageHeight,this.bitmapSkinID=this.runtime.renderer.createBitmapSkin(this.bitmapCanvas,1),this.bitmapDrawableID=this.runtime.renderer.createDrawable(E.PEN_LAYER),this.runtime.renderer.updateDrawableSkinId(this.bitmapDrawableID,this.bitmapSkinID),this.runtime.renderer.updateDrawableVisible(this.bitmapDrawableID,!1)),this._penRes=this.runtime.renderer._allSkins[this._penSkinId].renderQuality,this._penSkinId}_getPenState(A){let e=A._customState["Scratch.pen"];return e||(e=o.simple(m.DEFAULT_PEN_STATE),A.setCustomState(m.STATE_KEY,e)),e}_onTargetCreated(A,e){if(e){const t=e.getCustomState(m.STATE_KEY);t&&(A.setCustomState(m.STATE_KEY,o.simple(t)),t.penDown&&(A.onTargetMoved=this._onTargetMoved))}}_onTargetMoved(A,e,t,n){if(!n){const n=this._getPenLayerID();if(n>=0){const i=this._getPenState(A),[r,s]=A._translatePossitionToCamera();A.cameraBound>=0&&([e,t]=B(this.runtime,A.cameraBound,e,t)),this.runtime.renderer.penLine(n,i.penAttributes,e,t,r,s),this.runtime.requestRedraw()}}}_onCameraMoved(A){if(A!==this.cameraBound)return;const e=this.runtime.cameraStates[A],t=this._getPenLayerID();t>=0&&this.runtime.renderer.penTranslate(t,...e.pos,e.scale,e.dir),this.runtime.requestRedraw()}bindToCamera(A){this.cameraBound=A,this._onCameraMoved()}removeCameraBinding(){this.cameraBound=-1;const A=this._getPenLayerID();A>=0&&this.runtime.renderer.penTranslate(A,0,0,1,0)}_wrapColor(A){return g.wrapClamp(A,0,100)}_initColorParam(){return[{text:c({id:"pen.colorMenu.color",default:"color",description:"label for color element in color picker for pen extension"}),value:l},{text:c({id:"pen.colorMenu.saturation",default:"saturation",description:"label for saturation element in color picker for pen extension"}),value:u},{text:c({id:"pen.colorMenu.brightness",default:"brightness",description:"label for brightness element in color picker for pen extension"}),value:w},{text:c({id:"pen.colorMenu.transparency",default:"transparency",description:"label for transparency element in color picker for pen extension"}),value:h}]}getLayerParam(){return[{text:c({id:"pen.layerMenu.front",default:"front",description:"label for front"}),value:C},{text:c({id:"pen.layerMenu.back",default:"back",description:"label for back"}),value:d}]}getItalicsToggleParam(){return[{text:c({id:"pen.italicsToggle.on",default:"on",description:"label for on"}),value:I},{text:c({id:"pen.italicsToggle.off",default:"off",description:"label for off"}),value:M}]}_clampColorParam(A){return g.clamp(A,0,100)}_alphaToTransparency(A){return 100*(1-A)}_transparencyToAlpha(A){return 1-A/100}_getFonts(){return[{text:"Sans Serif",value:"Sans Serif"},{text:"Serif",value:"Serif"},{text:"Handwriting",value:"Handwriting"},{text:"Marker",value:"Marker"},{text:"Curly",value:"Curly"},{text:"Pixel",value:"Pixel"},{text:"Playful",value:"Playful"},{text:"Bubbly",value:"Bubbly"},{text:"Arcade",value:"Arcade"},{text:"Bits and Bytes",value:"Bits and Bytes"},{text:"Technological",value:"Technological"},{text:"Scratch",value:"Scratch"},{text:"Archivo",value:"Archivo"},{text:"Archivo Black",value:"Archivo Black"},...this.runtime.fontManager.getFonts().map(A=>({text:A.name,value:A.family})),{text:"random font",value:"Random"}]}getInfo(){return{id:"pen",name:c({id:"pen.categoryName",default:"Pen",description:"Label for the pen extension category"}),blockIconURI:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+cGVuLWljb248L3RpdGxlPjxnIHN0cm9rZT0iIzU3NUU3NSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04Ljc1MyAzNC42MDJsLTQuMjUgMS43OCAxLjc4My00LjIzN2MxLjIxOC0yLjg5MiAyLjkwNy01LjQyMyA1LjAzLTcuNTM4TDMxLjA2NiA0LjkzYy44NDYtLjg0MiAyLjY1LS40MSA0LjAzMi45NjcgMS4zOCAxLjM3NSAxLjgxNiAzLjE3My45NyA0LjAxNUwxNi4zMTggMjkuNTljLTIuMTIzIDIuMTE2LTQuNjY0IDMuOC03LjU2NSA1LjAxMiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yOS40MSA2LjExcy00LjQ1LTIuMzc4LTguMjAyIDUuNzcyYy0xLjczNCAzLjc2Ni00LjM1IDEuNTQ2LTQuMzUgMS41NDYiLz48cGF0aCBkPSJNMzYuNDIgOC44MjVjMCAuNDYzLS4xNC44NzMtLjQzMiAxLjE2NGwtOS4zMzUgOS4zYy4yODItLjI5LjQxLS42NjguNDEtMS4xMiAwLS44NzQtLjUwNy0xLjk2My0xLjQwNi0yLjg2OC0xLjM2Mi0xLjM1OC0zLjE0Ny0xLjgtNC4wMDItLjk5TDMwLjk5IDUuMDFjLjg0NC0uODQgMi42NS0uNDEgNC4wMzUuOTYuODk4LjkwNCAxLjM5NiAxLjk4MiAxLjM5NiAyLjg1NU0xMC41MTUgMzMuNzc0Yy0uNTczLjMwMi0xLjE1Ny41Ny0xLjc2NC44M0w0LjUgMzYuMzgybDEuNzg2LTQuMjM1Yy4yNTgtLjYwNC41My0xLjE4Ni44MzMtMS43NTcuNjkuMTgzIDEuNDQ4LjYyNSAyLjEwOCAxLjI4Mi42Ni42NTggMS4xMDIgMS40MTIgMS4yODcgMi4xMDIiIGZpbGw9IiM0Qzk3RkYiLz48cGF0aCBkPSJNMzYuNDk4IDguNzQ4YzAgLjQ2NC0uMTQuODc0LS40MzMgMS4xNjVsLTE5Ljc0MiAxOS42OGMtMi4xMyAyLjExLTQuNjczIDMuNzkzLTcuNTcyIDUuMDFMNC41IDM2LjM4bC45NzQtMi4zMTYgMS45MjUtLjgwOGMyLjg5OC0xLjIxOCA1LjQ0LTIuOSA3LjU3LTUuMDFsMTkuNzQzLTE5LjY4Yy4yOTItLjI5Mi40MzItLjcwMi40MzItMS4xNjUgMC0uNjQ2LS4yNy0xLjQtLjc4LTIuMTIyLjI1LjE3Mi41LjM3Ny43MzcuNjE0Ljg5OC45MDUgMS4zOTYgMS45ODMgMS4zOTYgMi44NTYiIGZpbGw9IiM1NzVFNzUiIG9wYWNpdHk9Ii4xNSIvPjxwYXRoIGQ9Ik0xOC40NSAxMi44M2MwIC41LS40MDQuOTA1LS45MDQuOTA1cy0uOTA1LS40MDUtLjkwNS0uOTA0YzAtLjUuNDA3LS45MDMuOTA2LS45MDMuNSAwIC45MDQuNDA0LjkwNC45MDR6IiBmaWxsPSIjNTc1RTc1Ii8+PC9nPjwvc3ZnPg==",blocks:[{opcode:"clear",blockType:i.COMMAND,text:c({id:"pen.clear",default:"erase all",description:"erase all pen trails and stamps"})},{opcode:"stamp",blockType:i.COMMAND,text:c({id:"pen.stamp",default:"stamp",description:"render current costume on the background"}),filter:[r.SPRITE]},{opcode:"setPrintFont",blockType:i.COMMAND,text:c({id:"pen.setPrintFont",default:"set print font to [FONT]",description:"set print font"}),arguments:{FONT:{type:n.STRING,defaultValue:"Arial",menu:"FONT"}}},{opcode:"setPrintFontSize",blockType:i.COMMAND,text:c({id:"pen.setPrintFontSize",default:"set print font size to [SIZE]",description:"set print font size"}),arguments:{SIZE:{type:n.NUMBER,defaultValue:24}}},{opcode:"setPrintFontColor",blockType:i.COMMAND,text:c({id:"pen.setPrintFontColor",default:"set print font color to [COLOR]",description:"set print font color"}),arguments:{COLOR:{type:n.COLOR}}},{opcode:"setPrintFontWeight",blockType:i.COMMAND,text:c({id:"pen.setPrintFontWeight",default:"set print font weight to [WEIGHT]",description:"set print font weight"}),arguments:{WEIGHT:{type:n.NUMBER,defaultValue:700}}},{opcode:"setPrintFontItalics",blockType:i.COMMAND,text:c({id:"pen.setPrintFontItalics",default:"turn print font italics [OPTION]",description:"toggle print font italics"}),arguments:{OPTION:{type:n.STRING,menu:"italicsToggleParam",defaultValue:I}}},{opcode:"printText",blockType:i.COMMAND,text:c({id:"pen.printText",default:"print [TEXT] on x:[X] y:[Y]",description:"print text"}),arguments:{TEXT:{type:n.STRING,defaultValue:"Foobars are yummy"},X:{type:n.NUMBER,defaultValue:0},Y:{type:n.NUMBER,defaultValue:0}}},{opcode:"preloadUriImage",blockType:i.COMMAND,text:"preload image [URI] as [NAME]",arguments:{URI:{type:n.STRING,defaultValue:"data:image/png;base64,"},NAME:{type:n.STRING,defaultValue:"preloaded image"}}},{opcode:"unloadUriImage",blockType:i.COMMAND,text:"unload image [NAME]",arguments:{NAME:{type:n.STRING,defaultValue:"preloaded image"}}},{opcode:"drawUriImage",blockType:i.COMMAND,text:c({id:"pen.drawUriImage",default:"draw image [URI] at x:[X] y:[Y]",description:"draw image"}),arguments:{URI:{type:n.STRING,defaultValue:"data:image/png;base64,"},X:{type:n.NUMBER,defaultValue:0},Y:{type:n.NUMBER,defaultValue:0}}},{opcode:"drawUriImageWHR",blockType:i.COMMAND,text:c({id:"pen.drawUriImageWHR",default:"draw image [URI] at x:[X] y:[Y] width:[WIDTH] height:[HEIGHT] pointed at: [ROTATE]",description:"draw image width height rotation"}),arguments:{URI:{type:n.STRING,defaultValue:"data:image/png;base64,"},X:{type:n.NUMBER,defaultValue:0},Y:{type:n.NUMBER,defaultValue:0},WIDTH:{type:n.NUMBER,defaultValue:64},HEIGHT:{type:n.NUMBER,defaultValue:64},ROTATE:{type:n.ANGLE,defaultValue:90}}},{opcode:"drawUriImageWHCX1Y1X2Y2R",blockType:i.COMMAND,text:"draw image [URI] at x:[X] y:[Y] width:[WIDTH] height:[HEIGHT] cropping from x:[CROPX] y:[CROPY] width:[CROPW] height:[CROPH] pointed at: [ROTATE]",arguments:{URI:{type:n.STRING,defaultValue:"data:image/png;base64,"},X:{type:n.NUMBER,defaultValue:0},Y:{type:n.NUMBER,defaultValue:0},WIDTH:{type:n.NUMBER,defaultValue:64},HEIGHT:{type:n.NUMBER,defaultValue:64},CROPX:{type:n.NUMBER,defaultValue:0},CROPY:{type:n.NUMBER,defaultValue:0},CROPW:{type:n.NUMBER,defaultValue:100},CROPH:{type:n.NUMBER,defaultValue:100},ROTATE:{type:n.ANGLE,defaultValue:90}}},{opcode:"drawRect",blockType:i.COMMAND,text:c({id:"pen.drawRect",default:"use [COLOR] to draw a square on x:[X] y:[Y] width:[WIDTH] height:[HEIGHT]",description:"draw a square"}),arguments:{COLOR:{type:n.COLOR},X:{type:n.NUMBER,defaultValue:0},Y:{type:n.NUMBER,defaultValue:0},WIDTH:{type:n.NUMBER,defaultValue:10},HEIGHT:{type:n.NUMBER,defaultValue:10}}},{opcode:"drawComplexShape",blockType:i.COMMAND,text:"draw triangle [SHAPE] with fill [COLOR]",arguments:{SHAPE:{type:n.POLYGON,nodes:3},COLOR:{type:n.COLOR}},hideFromPalette:!1},{opcode:"penDown",blockType:i.COMMAND,text:c({id:"pen.penDown",default:"pen down",description:"start leaving a trail when the sprite moves"}),filter:[r.SPRITE]},{opcode:"penUp",blockType:i.COMMAND,text:c({id:"pen.penUp",default:"pen up",description:"stop leaving a trail behind the sprite"}),filter:[r.SPRITE]},{opcode:"setPenColorToColor",blockType:i.COMMAND,text:c({id:"pen.setColor",default:"set pen color to [COLOR]",description:"set the pen color to a particular (RGB) value"}),arguments:{COLOR:{type:n.COLOR}},filter:[r.SPRITE]},{opcode:"changePenColorParamBy",blockType:i.COMMAND,text:c({id:"pen.changeColorParam",default:"change pen [COLOR_PARAM] by [VALUE]",description:"change the state of a pen color parameter"}),arguments:{COLOR_PARAM:{type:n.STRING,menu:"colorParam",defaultValue:l},VALUE:{type:n.NUMBER,defaultValue:10}},filter:[r.SPRITE]},{opcode:"setPenColorParamTo",blockType:i.COMMAND,text:c({id:"pen.setColorParam",default:"set pen [COLOR_PARAM] to [VALUE]",description:"set the state for a pen color parameter e.g. saturation"}),arguments:{COLOR_PARAM:{type:n.STRING,menu:"colorParam",defaultValue:l},VALUE:{type:n.NUMBER,defaultValue:50}},filter:[r.SPRITE]},{opcode:"changePenSizeBy",blockType:i.COMMAND,text:c({id:"pen.changeSize",default:"change pen size by [SIZE]",description:"change the diameter of the trail left by a sprite"}),arguments:{SIZE:{type:n.NUMBER,defaultValue:1}},filter:[r.SPRITE]},{opcode:"setPenSizeTo",blockType:i.COMMAND,text:c({id:"pen.setSize",default:"set pen size to [SIZE]",description:"set the diameter of a trail left by a sprite"}),arguments:{SIZE:{type:n.NUMBER,defaultValue:1}},filter:[r.SPRITE]},{opcode:"setPenShadeToNumber",blockType:i.COMMAND,text:c({id:"pen.setShade",default:"LEGACY - set pen shade to [SHADE]",description:"legacy pen blocks - set pen shade"}),arguments:{SHADE:{type:n.NUMBER,defaultValue:1}},hideFromPalette:!1},{opcode:"changePenShadeBy",blockType:i.COMMAND,text:c({id:"pen.changeShade",default:"LEGACY - change pen shade by [SHADE]",description:"legacy pen blocks - change pen shade"}),arguments:{SHADE:{type:n.NUMBER,defaultValue:1}},hideFromPalette:!1},{opcode:"setPenHueToNumber",blockType:i.COMMAND,text:c({id:"pen.setHue",default:"LEGACY - set pen color to [HUE]",description:"legacy pen blocks - set pen color to number"}),arguments:{HUE:{type:n.NUMBER,defaultValue:1}},hideFromPalette:!1},{opcode:"changePenHueBy",blockType:i.COMMAND,text:c({id:"pen.changeHue",default:"LEGACY - change pen color by [HUE]",description:"legacy pen blocks - change pen color"}),arguments:{HUE:{type:n.NUMBER,defaultValue:1}},hideFromPalette:!1},{opcode:"goPenLayer",blockType:i.COMMAND,hideFromPalette:!0,text:c({id:"pen.GoPenLayer",default:"go to [OPTION] layer",description:"go to front layer(pen)"}),arguments:{OPTION:{type:n.STRING,menu:"layerParam",defaultValue:C}}}],menus:{colorParam:{acceptReporters:!0,items:this._initColorParam()},layerParam:{acceptReporters:!1,items:this.getLayerParam()},italicsToggleParam:{acceptReporters:!1,items:this.getItalicsToggleParam()},FONT:{items:"_getFonts",isTypeable:!0}}}}clear(){const A=this._getPenLayerID();A>=0&&(this.runtime.renderer.penClear(A),this.runtime.requestRedraw())}setPrintFont(A){this.printTextAttribute.font=A.FONT}setPrintFontSize(A){this.printTextAttribute.size=A.SIZE}setPrintFontColor(A){const e=s.toRgbColorObject(A.COLOR),t=a.rgbToHex(e);this.printTextAttribute.color=t}setPrintFontWeight(A){this.printTextAttribute.weight=A.WEIGHT}setPrintFontItalics(A){this.printTextAttribute.italic=A.OPTION==I}printText(A){const e=this._getBitmapCanvas();let t="";t+="".concat(this.printTextAttribute.italic?"italic ":""),t+="".concat(this.printTextAttribute.weight," "),t+="".concat(this.printTextAttribute.size*this._penRes,"px "),t+=this.printTextAttribute.font,e.font=t,e.strokeStyle=this.printTextAttribute.color,e.fillStyle=e.strokeStyle,e.fillText(A.TEXT,A.X*this._penRes,-A.Y*this._penRes),this._drawContextToPen(e)}_drawUriImagePromiseHandler(A){return(e,t,n)=>{let i,r,o,a,B,c,g,Q,E,l=null;t&&(i=t.URI,r=t.X,o=t.Y,a=t.WIDTH,B=t.HEIGHT,c=t.ROTATE,g=t.CROPX,Q=t.CROPY,E=t.CROPW,l=t.CROPH);const u=A._getBitmapCanvas(),w=[s.toNumber(a),s.toNumber(B)];function h(t){const n=s.toNumber(r)*A._penRes-A.bitmapCanvas.width/2,i=s.toNumber(o)*A._penRes+A.bitmapCanvas.height/2;if(w[0]||w[1]){u.rotate((s.toNumber(c)-90)*(Math.PI/180)),w[0]||(w[0]=t.width),w[1]||(w[1]=t.height);const e=[w[0]*A._penRes,w[1]*A._penRes];if(void 0!==g){const A=s.toNumber(g),r=s.toNumber(Q),o=[s.toNumber(E),s.toNumber(l)];u.drawImage(t,A,r,o[0],o[1],n,-i,e[0],e[1])}else u.drawImage(t,n,-i,e[0],e[1])}else u.drawImage(t,n,-i);A._drawContextToPen(u),e&&e()}if(n)return h(n);const C=new Image;C.crossOrigin="anonymous",C.onload=()=>h(C),C.onerror=()=>e(),C.src=s.toString(i)}}_drawUriImage(A){const e=this,t=s.toString(A.URI);if(this.preloadedImages.hasOwnProperty(t)){return this._drawUriImagePromiseHandler(e)(null,A,this.preloadedImages[t])}return new Promise(t=>{this._drawUriImagePromiseHandler(e)(t,A)})}drawUriImage(A){return this._drawUriImage(A)}drawUriImageWHR(A){return this._drawUriImage(A)}drawUriImageWHCX1Y1X2Y2R(A){return this._drawUriImage(A)}preloadUriImage(A){let{URI:e,NAME:t}=A;return new Promise(A=>{const n=new Image;n.crossOrigin="anonymous",n.onload=()=>{this.preloadedImages[s.toString(t)]=n,A()},n.onerror=A,n.src=s.toString(e)})}unloadUriImage(A){let{NAME:e}=A;const t=s.toString(e);this.preloadedImages.hasOwnProperty(t)&&(this.preloadedImages[t].remove(),delete this.preloadedImages[t])}drawRect(A){const e=this._getBitmapCanvas(),t=s.toString(A.COLOR);e.fillStyle=t,e.strokeStyle=e.fillStyle,e.fillRect(A.X*this._penRes,-A.Y*this._penRes,A.WIDTH*this._penRes,A.HEIGHT*this._penRes),this._drawContextToPen(e)}_drawContextToPen(A){const e=this._getPenLayerID(),t=this.bitmapCanvas.width,n=this.bitmapCanvas.height;A.restore();const i=this.runtime.renderer._allSkins[this.bitmapSkinID],r=A.getImageData(0,0,t,n);i._setTexture(r),this.runtime.renderer.penStamp(e,this.bitmapDrawableID),this.runtime.requestRedraw()}_getBitmapCanvas(){const A=this._getPenLayerID(),e=this.runtime.renderer._allSkins[A],t=e._size[0],n=e._size[1],i=this.bitmapCanvas.getContext("2d");return this.bitmapCanvas.width=t,this.bitmapCanvas.height=n,i.clearRect(0,0,t,n),i.save(),i.translate(t/2,n/2),i}stamp(A,e){this._stamp(e.target)}_stamp(A){const e=this._getPenLayerID();e>=0&&(this.runtime.renderer.penStamp(e,A.drawableID),this.runtime.requestRedraw())}penDown(A,e){this._penDown(e.target)}_penDown(A){const e=this._getPenState(A);e.penDown||(e.penDown=!0,A.onTargetMoved=this._onTargetMoved);const t=this._getPenLayerID();t>=0&&(this.runtime.renderer.penPoint(t,e.penAttributes,A.x,A.y),this.runtime.requestRedraw())}penUp(A,e){this._penUp(e.target)}_penUp(A){const e=this._getPenState(A);e.penDown&&(e.penDown=!1,A.onTargetMoved=null)}setPenColorToColor(A,e){this._setPenColorToColor(A.COLOR,e.target)}_setPenColorToColor(A,e){const t=this._getPenState(e),n=s.toRgbColorObject(A),i=a.rgbToHsv(n);t.color=i.h/360*100,t.saturation=100*i.s,t.brightness=100*i.v,n.hasOwnProperty("a")?t.transparency=100*(1-n.a/255):t.transparency=0,t._shade=t.brightness/2,this._updatePenColor(t)}_updatePenColor(A){const e=a.hsvToRgb({h:360*A.color/100,s:A.saturation/100,v:A.brightness/100});A.penAttributes.color4f[0]=e.r/255,A.penAttributes.color4f[1]=e.g/255,A.penAttributes.color4f[2]=e.b/255,A.penAttributes.color4f[3]=this._transparencyToAlpha(A.transparency)}_setOrChangeColorParam(A,e,t,n){switch(A){case l:t.color=this._wrapColor(e+(n?t.color:0));break;case u:t.saturation=this._clampColorParam(e+(n?t.saturation:0));break;case w:t.brightness=this._clampColorParam(e+(n?t.brightness:0));break;case h:t.transparency=this._clampColorParam(e+(n?t.transparency:0));break;default:Q.warn("Tried to set or change unknown color parameter: ".concat(A))}this._updatePenColor(t)}changePenColorParamBy(A,e){const t=this._getPenState(e.target);this._setOrChangeColorParam(A.COLOR_PARAM,s.toNumber(A.VALUE),t,!0)}setPenColorParamTo(A,e){const t=this._getPenState(e.target);this._setOrChangeColorParam(A.COLOR_PARAM,s.toNumber(A.VALUE),t,!1)}changePenSizeBy(A,e){this._changePenSizeBy(s.toNumber(A.SIZE),e.target)}_changePenSizeBy(A,e){const t=this._getPenState(e).penAttributes;t.diameter=this._clampPenSize(t.diameter+A)}setPenSizeTo(A,e){this._setPenSizeTo(s.toNumber(A.SIZE),e.target)}_setPenSizeTo(A,e){this._getPenState(e).penAttributes.diameter=this._clampPenSize(A)}setPenHueToNumber(A,e){this._setPenHueToNumber(s.toNumber(A.HUE),e.target)}_setPenHueToNumber(A,e){const t=this._getPenState(e),n=A/2;this._setOrChangeColorParam(l,n,t,!1),this._setOrChangeColorParam(h,0,t,!1),this._legacyUpdatePenColor(t)}changePenHueBy(A,e){this._changePenHueBy(s.toNumber(A.HUE),e.target)}_changePenHueBy(A,e){const t=this._getPenState(e),n=A/2;this._setOrChangeColorParam(l,n,t,!0),this._legacyUpdatePenColor(t)}setPenShadeToNumber(A,e){this._setPenShadeToNumber(s.toNumber(A.SHADE),e.target)}_setPenShadeToNumber(A,e){const t=this._getPenState(e);let n=s.toNumber(A);n%=200,n<0&&(n+=200),t._shade=n,this._legacyUpdatePenColor(t)}changePenShadeBy(A,e){this._changePenShadeBy(A.SHADE,e.target)}_changePenShadeBy(A,e){const t=this._getPenState(e),n=s.toNumber(A);this._setPenShadeToNumber(t._shade+n,e)}_legacyUpdatePenColor(A){let e=a.hsvToRgb({h:360*A.color/100,s:1,v:1});const t=A._shade>100?200-A._shade:A._shade;e=t<50?a.mixRgb(a.RGB_BLACK,e,(10+t)/60):a.mixRgb(e,a.RGB_WHITE,(t-50)/60);const n=a.rgbToHsv(e);A.color=100*n.h/360,A.saturation=100*n.s,A.brightness=100*n.v,this._updatePenColor(A)}goPenLayer(A){this._getPenLayerID(),this._penDrawableId&&this.runtime.renderer._groupOrdering.at(-1)!==p[A.OPTION]&&(A.OPTION===C?(console.log("setting the layer order to",E.LAYER_GROUPS_PEN),this.runtime.renderer.setLayerGroupOrdering(E.LAYER_GROUPS_PEN),this._penDrawableId=this.runtime.renderer.setDrawableOrder(this._penDrawableId,1/0,E.PEN_LAYER)):(console.log("setting the layer order to",E.LAYER_GROUPS),this.runtime.renderer.setLayerGroupOrdering(E.LAYER_GROUPS),this._penDrawableId=this.runtime.renderer.setDrawableOrder(this._penDrawableId,-1/0,E.PEN_LAYER)))}_getPenColor(A){const e={},t=this._getPenState(A);return e.r=255*t.penAttributes.color4f[0],e.g=255*t.penAttributes.color4f[1],e.b=255*t.penAttributes.color4f[2],e.a=this._alphaToTransparency(t.penAttributes.color4f[3]),a.rgbToHex(e)}drawComplexShape(A,e){const t=e.target,n=this._getPenState(t),i=n.penAttributes,r=this._getPenColor(e.target),o=A.SHAPE.map(A=>({x:A.x*this._penRes,y:A.y*this._penRes})),a=o.at(-1),B=this._getBitmapCanvas(),c=s.toString(A.COLOR);B.fillStyle=c,B.strokeStyle=r,B.lineWidth=i.diameter,B.beginPath(),B.moveTo(a.x,-a.y);for(const A of o)B.lineTo(A.x,-A.y);B.closePath(),n.penDown&&B.stroke(),B.fill(),this._drawContextToPen(B)}}A.exports=m},function(A,e,t){const n=t(3),i=t(1),r=t(2),s=t(7),o=t(13),a=t(53),B=t(29),c=t(11),g=t(71),Q=t(8),E="00001523-1212-efde-1523-785feabcd123",l="00004f0e-1212-efde-1523-785feabcd123",u="00001527-1212-efde-1523-785feabcd123",w="00001528-1212-efde-1523-785feabcd123",h="00001560-1212-efde-1523-785feabcd123",C="00001563-1212-efde-1523-785feabcd123",d="00001565-1212-efde-1523-785feabcd123",I=1,M=23,p=34,m=35,F=6,D=5,Y=1,f=2,N=3,U=4,y={TILT:0,DISTANCE:0,LED:1},x={TILT:0,DISTANCE:1,LED:0};class T{constructor(A,e){this._parent=A,this._index=e,this._direction=1,this._power=100,this._isOn=!1,this._pendingTimeoutId=null,this._pendingTimeoutStartTime=null,this._pendingTimeoutDelay=null,this.startBraking=this.startBraking.bind(this),this.turnOff=this.turnOff.bind(this)}static get BRAKE_TIME_MS(){return 1e3}get direction(){return this._direction}set direction(A){this._direction=A<0?-1:1}get power(){return this._power}set power(A){const e=Math.max(0,Math.min(A,100));if(0===e)this._power=0;else{const A=100/e;this._power=30+70/A}}get isOn(){return this._isOn}get pendingTimeoutStartTime(){return this._pendingTimeoutStartTime}get pendingTimeoutDelay(){return this._pendingTimeoutDelay}turnOn(){if(0===this._power)return;const A=this._parent.generateOutputCommand(this._index+1,Y,[this._power*this._direction]);this._parent.send(d,A),this._isOn=!0,this._clearTimeout()}turnOnFor(A){0!==this._power&&(A=Math.max(0,A),this.turnOn(),this._setNewTimeout(this.startBraking,A))}startBraking(){if(0===this._power)return;const A=this._parent.generateOutputCommand(this._index+1,Y,[127]);this._parent.send(d,A),this._isOn=!1,this._setNewTimeout(this.turnOff,T.BRAKE_TIME_MS)}turnOff(){let A=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(0===this._power)return;const e=this._parent.generateOutputCommand(this._index+1,Y,[0]);this._parent.send(d,e,A),this._isOn=!1}_clearTimeout(){null!==this._pendingTimeoutId&&(clearTimeout(this._pendingTimeoutId),this._pendingTimeoutId=null,this._pendingTimeoutStartTime=null,this._pendingTimeoutDelay=null)}_setNewTimeout(A,e){this._clearTimeout();const t=setTimeout(()=>{this._pendingTimeoutId===t&&(this._pendingTimeoutId=null,this._pendingTimeoutStartTime=null,this._pendingTimeoutDelay=null),A()},e);this._pendingTimeoutId=t,this._pendingTimeoutStartTime=Date.now(),this._pendingTimeoutDelay=e}}class R{constructor(A,e){this._runtime=A,this._runtime.on("PROJECT_STOP_ALL",this.stopAll.bind(this)),this._extensionId=e,this._ports=["none","none"],this._motors=[null,null],this._sensors={tiltX:0,tiltY:0,distance:0},this._ble=null,this._runtime.registerPeripheralExtension(e,this),this._rateLimiter=new g(20),this._batteryLevelIntervalId=null,this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this),this._onMessage=this._onMessage.bind(this),this._checkBatteryLevel=this._checkBatteryLevel.bind(this)}get tiltX(){return this._sensors.tiltX}get tiltY(){return this._sensors.tiltY}get distance(){return this._sensors.distance}motor(A){return this._motors[A]}stopAllMotors(){this._motors.forEach(A=>{A&&A.turnOff(!1)})}setLED(A){const e=[A>>16&255,A>>8&255,255&A],t=this.generateOutputCommand(F,U,e);return this.send(d,t)}setLEDMode(){const A=this.generateInputCommand(F,M,y.LED,0,x.LED,!1);return this.send(C,A)}stopLED(){const A=this.generateOutputCommand(F,U,[0,0,0]);return this.send(d,A)}playTone(A,e){const t=this.generateOutputCommand(D,f,[A,A>>8,e,e>>8]);return this.send(d,t)}stopTone(){const A=this.generateOutputCommand(D,N);return this.send(d,A,!1)}stopAll(){this.isConnected()&&(this.stopTone(),this.stopAllMotors())}scan(){this._ble&&this._ble.disconnect(),this._ble=new a(this._runtime,this._extensionId,{filters:[{services:[E]}],optionalServices:[l]},this._onConnect,this.reset)}connect(A){this._ble&&this._ble.connectPeripheral(A)}disconnect(){this._ble&&this._ble.disconnect(),this.reset()}reset(){this._ports=["none","none"],this._motors=[null,null],this._sensors={tiltX:0,tiltY:0,distance:0},this._batteryLevelIntervalId&&(window.clearInterval(this._batteryLevelIntervalId),this._batteryLevelIntervalId=null)}isConnected(){let A=!1;return this._ble&&(A=this._ble.isConnected()),A}send(A,e){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.isConnected()?t&&!this._rateLimiter.okayToSend()?Promise.resolve():this._ble.write(l,A,B.uint8ArrayToBase64(e),"base64"):Promise.resolve()}generateOutputCommand(A,e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=[A,e];return t&&(n=n.concat(t.length).concat(t)),n}generateInputCommand(A,e,t,n,i,r){return[1,2,A,e,t,n,0,0,0,i,r?1:0]}_onConnect(){this.setLEDMode(),this.setLED(255),this._ble.startNotifications(E,u,this._onMessage),this._batteryLevelIntervalId=window.setInterval(this._checkBatteryLevel,5e3)}_onMessage(A){const e=B.base64ToUint8Array(A);switch(e[0]){case 1:case 2:{const A=e[0];0===e[1]?this._clearPort(A):this._registerSensorOrMotor(A,e[3]);break}default:{const A=e[1],t=this._ports[A-1];t===m&&(this._sensors.distance=e[2]),t===p&&(this._sensors.tiltX=e[2],this._sensors.tiltY=e[3]);break}}}_checkBatteryLevel(){this._ble.read(E,w,!1)}_registerSensorOrMotor(A,e){if(this._ports[A-1]=e,e===I)this._motors[A-1]=new T(this,A-1);else{const t=e===m?"DISTANCE":"TILT",n=this.generateInputCommand(A,e,y[t],1,x[t],!0);this.send(C,n),this._ble.startNotifications(l,h,this._onMessage)}}_clearPort(A){const e=this._ports[A-1];e===p&&(this._sensors.tiltX=this._sensors.tiltY=0),e===m&&(this._sensors.distance=0),this._ports[A-1]="none",this._motors[A-1]=null}}const G="motor",S="motor A",H="motor B",b="all motors",k="this way",J="that way",j="reverse",z="up",v="down",L="left",P="right",O="any";class W{static get EXTENSION_ID(){return"wedo2"}static get TILT_THRESHOLD(){return 15}constructor(A){this.runtime=A,this._peripheral=new R(this.runtime,W.EXTENSION_ID)}getInfo(){return{id:W.EXTENSION_ID,name:"WeDo 2.0",blockIconURI:"data:image/png;base64,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",showStatusButton:!0,blocks:[{opcode:"motorOnFor",text:s({id:"wedo2.motorOnFor",default:"turn [MOTOR_ID] on for [DURATION] seconds",description:"turn a motor on for some time"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:G},DURATION:{type:n.NUMBER,defaultValue:1}}},{opcode:"motorOn",text:s({id:"wedo2.motorOn",default:"turn [MOTOR_ID] on",description:"turn a motor on indefinitely"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:G}}},{opcode:"motorOff",text:s({id:"wedo2.motorOff",default:"turn [MOTOR_ID] off",description:"turn a motor off"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:G}}},{opcode:"startMotorPower",text:s({id:"wedo2.startMotorPower",default:"set [MOTOR_ID] power to [POWER]",description:"set the motor's power and turn it on"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:G},POWER:{type:n.NUMBER,defaultValue:100}}},{opcode:"setMotorDirection",text:s({id:"wedo2.setMotorDirection",default:"set [MOTOR_ID] direction to [MOTOR_DIRECTION]",description:"set the motor's turn direction"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:G},MOTOR_DIRECTION:{type:n.STRING,menu:"MOTOR_DIRECTION",defaultValue:k}}},{opcode:"setLightHue",text:s({id:"wedo2.setLightHue",default:"set light color to [HUE]",description:"set the LED color"}),blockType:i.COMMAND,arguments:{HUE:{type:n.NUMBER,defaultValue:50}}},{opcode:"playNoteFor",text:s({id:"wedo2.playNoteFor",default:"play note [NOTE] for [DURATION] seconds",description:"play a certain note for some time"}),blockType:i.COMMAND,arguments:{NOTE:{type:n.NUMBER,defaultValue:60},DURATION:{type:n.NUMBER,defaultValue:.5}},hideFromPalette:!0},{opcode:"whenDistance",text:s({id:"wedo2.whenDistance",default:"when distance [OP] [REFERENCE]",description:"check for when distance is < or > than reference"}),blockType:i.HAT,arguments:{OP:{type:n.STRING,menu:"OP",defaultValue:"<"},REFERENCE:{type:n.NUMBER,defaultValue:50}}},{opcode:"whenTilted",text:s({id:"wedo2.whenTilted",default:"when tilted [TILT_DIRECTION_ANY]",description:"check when tilted in a certain direction"}),func:"isTilted",blockType:i.HAT,arguments:{TILT_DIRECTION_ANY:{type:n.STRING,menu:"TILT_DIRECTION_ANY",defaultValue:O}}},{opcode:"getDistance",text:s({id:"wedo2.getDistance",default:"distance",description:"the value returned by the distance sensor"}),blockType:i.REPORTER},{opcode:"isTilted",text:s({id:"wedo2.isTilted",default:"tilted [TILT_DIRECTION_ANY]?",description:"whether the tilt sensor is tilted"}),blockType:i.BOOLEAN,arguments:{TILT_DIRECTION_ANY:{type:n.STRING,menu:"TILT_DIRECTION_ANY",defaultValue:O}}},{opcode:"getTiltAngle",text:s({id:"wedo2.getTiltAngle",default:"tilt angle [TILT_DIRECTION]",description:"the angle returned by the tilt sensor"}),blockType:i.REPORTER,arguments:{TILT_DIRECTION:{type:n.STRING,menu:"TILT_DIRECTION",defaultValue:z}}}],menus:{MOTOR_ID:{acceptReporters:!0,items:[{text:s({id:"wedo2.motorId.default",default:"motor",description:"label for motor element in motor menu for LEGO WeDo 2 extension"}),value:G},{text:s({id:"wedo2.motorId.a",default:"motor A",description:"label for motor A element in motor menu for LEGO WeDo 2 extension"}),value:S},{text:s({id:"wedo2.motorId.b",default:"motor B",description:"label for motor B element in motor menu for LEGO WeDo 2 extension"}),value:H},{text:s({id:"wedo2.motorId.all",default:"all motors",description:"label for all motors element in motor menu for LEGO WeDo 2 extension"}),value:b}]},MOTOR_DIRECTION:{acceptReporters:!0,items:[{text:s({id:"wedo2.motorDirection.forward",default:"this way",description:"label for forward element in motor direction menu for LEGO WeDo 2 extension"}),value:k},{text:s({id:"wedo2.motorDirection.backward",default:"that way",description:"label for backward element in motor direction menu for LEGO WeDo 2 extension"}),value:J},{text:s({id:"wedo2.motorDirection.reverse",default:"reverse",description:"label for reverse element in motor direction menu for LEGO WeDo 2 extension"}),value:j}]},TILT_DIRECTION:{acceptReporters:!0,items:[{text:s({id:"wedo2.tiltDirection.up",default:"up",description:"label for up element in tilt direction menu for LEGO WeDo 2 extension"}),value:z},{text:s({id:"wedo2.tiltDirection.down",default:"down",description:"label for down element in tilt direction menu for LEGO WeDo 2 extension"}),value:v},{text:s({id:"wedo2.tiltDirection.left",default:"left",description:"label for left element in tilt direction menu for LEGO WeDo 2 extension"}),value:L},{text:s({id:"wedo2.tiltDirection.right",default:"right",description:"label for right element in tilt direction menu for LEGO WeDo 2 extension"}),value:P}]},TILT_DIRECTION_ANY:{acceptReporters:!0,items:[{text:s({id:"wedo2.tiltDirection.up",default:"up"}),value:z},{text:s({id:"wedo2.tiltDirection.down",default:"down"}),value:v},{text:s({id:"wedo2.tiltDirection.left",default:"left"}),value:L},{text:s({id:"wedo2.tiltDirection.right",default:"right"}),value:P},{text:s({id:"wedo2.tiltDirection.any",default:"any",description:"label for any element in tilt direction menu for LEGO WeDo 2 extension"}),value:O}]},OP:{acceptReporters:!0,items:["<",">"]}}}}motorOnFor(A){let e=1e3*r.toNumber(A.DURATION);return e=c.clamp(e,0,15e3),new Promise(t=>{this._forEachMotor(A.MOTOR_ID,A=>{const t=this._peripheral.motor(A);t&&t.turnOnFor(e)}),setTimeout(t,e)})}motorOn(A){return this._forEachMotor(A.MOTOR_ID,A=>{const e=this._peripheral.motor(A);e&&e.turnOn()}),new Promise(A=>{window.setTimeout(()=>{A()},100)})}motorOff(A){return this._forEachMotor(A.MOTOR_ID,A=>{const e=this._peripheral.motor(A);e&&e.turnOff()}),new Promise(A=>{window.setTimeout(()=>{A()},100)})}startMotorPower(A){return this._forEachMotor(A.MOTOR_ID,e=>{const t=this._peripheral.motor(e);t&&(t.power=c.clamp(r.toNumber(A.POWER),0,100),t.turnOn())}),new Promise(A=>{window.setTimeout(()=>{A()},100)})}setMotorDirection(A){return this._forEachMotor(A.MOTOR_ID,e=>{const t=this._peripheral.motor(e);if(t){switch(A.MOTOR_DIRECTION){case k:t.direction=1;break;case J:t.direction=-1;break;case j:t.direction=-t.direction;break;default:Q.warn("Unknown motor direction in setMotorDirection: ".concat(A.DIRECTION))}t.isOn&&(t.pendingTimeoutDelay?t.turnOnFor(t.pendingTimeoutStartTime+t.pendingTimeoutDelay-Date.now()):t.turnOn())}}),new Promise(A=>{window.setTimeout(()=>{A()},100)})}setLightHue(A){let e=r.toNumber(A.HUE);e=c.wrapClamp(e,0,100);const t=360*e/100,n=o.hsvToRgb({h:t,s:1,v:1}),i=o.rgbToDecimal(n);return this._peripheral.setLED(i),new Promise(A=>{window.setTimeout(()=>{A()},100)})}playNoteFor(A){let e=1e3*r.toNumber(A.DURATION);e=c.clamp(e,0,3e3);const t=c.clamp(r.toNumber(A.NOTE),25,125);if(0!==e)return new Promise(A=>{const n=this._noteToTone(t);this._peripheral.playTone(n,e),setTimeout(A,e)})}whenDistance(A){switch(A.OP){case"<":return this._peripheral.distance<r.toNumber(A.REFERENCE);case">":return this._peripheral.distance>r.toNumber(A.REFERENCE);default:return Q.warn("Unknown comparison operator in whenDistance: ".concat(A.OP)),!1}}whenTilted(A){return this._isTilted(A.TILT_DIRECTION_ANY)}getDistance(){return this._peripheral.distance}isTilted(A){return this._isTilted(A.TILT_DIRECTION_ANY)}getTiltAngle(A){return this._getTiltAngle(A.TILT_DIRECTION)}_isTilted(A){switch(A){case O:return this._getTiltAngle(z)>=W.TILT_THRESHOLD||this._getTiltAngle(v)>=W.TILT_THRESHOLD||this._getTiltAngle(L)>=W.TILT_THRESHOLD||this._getTiltAngle(P)>=W.TILT_THRESHOLD;default:return this._getTiltAngle(A)>=W.TILT_THRESHOLD}}_getTiltAngle(A){switch(A){case z:return this._peripheral.tiltY>45?256-this._peripheral.tiltY:-this._peripheral.tiltY;case v:return this._peripheral.tiltY>45?this._peripheral.tiltY-256:this._peripheral.tiltY;case L:return this._peripheral.tiltX>45?256-this._peripheral.tiltX:-this._peripheral.tiltX;case P:return this._peripheral.tiltX>45?this._peripheral.tiltX-256:this._peripheral.tiltX;default:Q.warn("Unknown tilt direction in _getTiltAngle: ".concat(A))}}_forEachMotor(A,e){let t;switch(A){case S:t=[0];break;case H:t=[1];break;case b:case G:t=[0,1];break;default:Q.warn("Invalid motor ID: ".concat(A)),t=[]}for(const A of t)e(A)}_noteToTone(A){return 440*Math.pow(2,(A-69)/12)}}A.exports=W},function(A,e,t){(function(A,e){!function(t){"use strict";var n,i="function"==typeof(n=t.atob)?n:"function"==typeof A?function(e){
//!! Deliberately using an API that's deprecated in node.js because
//!! this file is for browsers and we expect them to cope with it.
//!! Discussion: github.com/node-browser-compat/atob/pull/9
return new A(e,"base64").toString("binary")}:"object"==typeof t.base64js?function(A){var e=t.base64js.b64ToByteArray(A);return Array.prototype.map.call(e,(function(A){return String.fromCharCode(A)})).join("")}:function(){throw new Error("You're probably in an old browser or an iOS webworker. It might help to include beatgammit's base64-js.")};t.atob=i,e&&e.exports&&(e.exports=i)}(window)}).call(this,t(25).Buffer,t(28)(A))},function(A,e,t){(function(e){!function(){"use strict";A.exports=function(A){return(A instanceof e?A:e.from(A.toString(),"binary")).toString("base64")}}()}).call(this,t(25).Buffer)},function(A,e,t){const n=t(3),i=t(1),r=t(10),s=t(2),o=t(7),a=t(11),B=t(23);let c={};try{c=t(188)}catch(A){}class g{constructor(A){this.runtime=A,this._concurrencyCounter=0,this._drumPlayers=[],this._instrumentPlayerArrays=[],this._instrumentPlayerNoteArrays=[],this._bufferSources=[],this._loadAllSounds(),this._onTargetCreated=this._onTargetCreated.bind(this),this.runtime.on("targetWasCreated",this._onTargetCreated),this._playNoteForPicker=this._playNoteForPicker.bind(this),this.runtime.on("PLAY_NOTE",this._playNoteForPicker)}_loadAllSounds(){const A=[];this.DRUM_INFO.forEach((e,t)=>{const n="drums/".concat(e.fileName),i=this._storeSound(n,t,this._drumPlayers);A.push(i)}),this.INSTRUMENT_INFO.forEach((e,t)=>{this._instrumentPlayerArrays[t]=[],this._instrumentPlayerNoteArrays[t]=[],e.samples.forEach((n,i)=>{const r="instruments/".concat(e.dirName,"/").concat(n),s=this._storeSound(r,i,this._instrumentPlayerArrays[t]);A.push(s)})}),Promise.all(A).then(()=>{})}_storeSound(A,e,t){const n="".concat(A,".mp3");if(!c[n])return;const i=c[n];return fetch(i).then(A=>A.arrayBuffer()).then(A=>this._decodeSound(A)).then(A=>{t[e]=A})}_decodeSound(A){const e=this.runtime.audioEngine;return e?e.decodeSoundPlayer({data:{buffer:A}}):Promise.reject(new Error("No Audio Context Detected"))}_buildMenu(A){return A.map((A,e)=>{const t={};return t.text=A.name,t.value=String(e+1),t})}get DRUM_INFO(){return[{name:o({id:"music.drumSnare",default:"(1) Snare Drum",description:"Sound of snare drum as used in a standard drum kit"}),fileName:"1-snare"},{name:o({id:"music.drumBass",default:"(2) Bass Drum",description:"Sound of bass drum as used in a standard drum kit"}),fileName:"2-bass-drum"},{name:o({id:"music.drumSideStick",default:"(3) Side Stick",description:"Sound of a drum stick hitting the side of a drum (usually the snare)"}),fileName:"3-side-stick"},{name:o({id:"music.drumCrashCymbal",default:"(4) Crash Cymbal",description:"Sound of a drum stick hitting a crash cymbal"}),fileName:"4-crash-cymbal"},{name:o({id:"music.drumOpenHiHat",default:"(5) Open Hi-Hat",description:"Sound of a drum stick hitting a hi-hat while open"}),fileName:"5-open-hi-hat"},{name:o({id:"music.drumClosedHiHat",default:"(6) Closed Hi-Hat",description:"Sound of a drum stick hitting a hi-hat while closed"}),fileName:"6-closed-hi-hat"},{name:o({id:"music.drumTambourine",default:"(7) Tambourine",description:"Sound of a tambourine being struck"}),fileName:"7-tambourine"},{name:o({id:"music.drumHandClap",default:"(8) Hand Clap",description:"Sound of two hands clapping together"}),fileName:"8-hand-clap"},{name:o({id:"music.drumClaves",default:"(9) Claves",description:"Sound of claves being struck together"}),fileName:"9-claves"},{name:o({id:"music.drumWoodBlock",default:"(10) Wood Block",description:"Sound of a wood block being struck"}),fileName:"10-wood-block"},{name:o({id:"music.drumCowbell",default:"(11) Cowbell",description:"Sound of a cowbell being struck"}),fileName:"11-cowbell"},{name:o({id:"music.drumTriangle",default:"(12) Triangle",description:"Sound of a triangle (instrument) being struck"}),fileName:"12-triangle"},{name:o({id:"music.drumBongo",default:"(13) Bongo",description:"Sound of a bongo being struck"}),fileName:"13-bongo"},{name:o({id:"music.drumConga",default:"(14) Conga",description:"Sound of a conga being struck"}),fileName:"14-conga"},{name:o({id:"music.drumCabasa",default:"(15) Cabasa",description:"Sound of a cabasa being shaken"}),fileName:"15-cabasa"},{name:o({id:"music.drumGuiro",default:"(16) Guiro",description:"Sound of a guiro being played"}),fileName:"16-guiro"},{name:o({id:"music.drumVibraslap",default:"(17) Vibraslap",description:"Sound of a Vibraslap being played"}),fileName:"17-vibraslap"},{name:o({id:"music.drumCuica",default:"(18) Cuica",description:"Sound of a cuica being played"}),fileName:"18-cuica"}]}get INSTRUMENT_INFO(){return[{name:o({id:"music.instrumentPiano",default:"(1) Piano",description:"Sound of a piano"}),dirName:"1-piano",releaseTime:.5,samples:[24,36,48,60,72,84,96,108]},{name:o({id:"music.instrumentElectricPiano",default:"(2) Electric Piano",description:"Sound of an electric piano"}),dirName:"2-electric-piano",releaseTime:.5,samples:[60]},{name:o({id:"music.instrumentOrgan",default:"(3) Organ",description:"Sound of an organ"}),dirName:"3-organ",releaseTime:.5,samples:[60]},{name:o({id:"music.instrumentGuitar",default:"(4) Guitar",description:"Sound of an accoustic guitar"}),dirName:"4-guitar",releaseTime:.5,samples:[60]},{name:o({id:"music.instrumentElectricGuitar",default:"(5) Electric Guitar",description:"Sound of an electric guitar"}),dirName:"5-electric-guitar",releaseTime:.5,samples:[60]},{name:o({id:"music.instrumentBass",default:"(6) Bass",description:"Sound of an accoustic upright bass"}),dirName:"6-bass",releaseTime:.25,samples:[36,48]},{name:o({id:"music.instrumentPizzicato",default:"(7) Pizzicato",description:"Sound of a string instrument (e.g. violin) being plucked"}),dirName:"7-pizzicato",releaseTime:.25,samples:[60]},{name:o({id:"music.instrumentCello",default:"(8) Cello",description:"Sound of a cello being played with a bow"}),dirName:"8-cello",releaseTime:.1,samples:[36,48,60]},{name:o({id:"music.instrumentTrombone",default:"(9) Trombone",description:"Sound of a trombone being played"}),dirName:"9-trombone",samples:[36,48,60]},{name:o({id:"music.instrumentClarinet",default:"(10) Clarinet",description:"Sound of a clarinet being played"}),dirName:"10-clarinet",samples:[48,60]},{name:o({id:"music.instrumentSaxophone",default:"(11) Saxophone",description:"Sound of a saxophone being played"}),dirName:"11-saxophone",samples:[36,60,84]},{name:o({id:"music.instrumentFlute",default:"(12) Flute",description:"Sound of a flute being played"}),dirName:"12-flute",samples:[60,72]},{name:o({id:"music.instrumentWoodenFlute",default:"(13) Wooden Flute",description:"Sound of a wooden flute being played"}),dirName:"13-wooden-flute",samples:[60,72]},{name:o({id:"music.instrumentBassoon",default:"(14) Bassoon",description:"Sound of a bassoon being played"}),dirName:"14-bassoon",samples:[36,48,60]},{name:o({id:"music.instrumentChoir",default:"(15) Choir",description:"Sound of a choir singing"}),dirName:"15-choir",releaseTime:.25,samples:[48,60,72]},{name:o({id:"music.instrumentVibraphone",default:"(16) Vibraphone",description:"Sound of a vibraphone being struck"}),dirName:"16-vibraphone",releaseTime:.5,samples:[60,72]},{name:o({id:"music.instrumentMusicBox",default:"(17) Music Box",description:"Sound of a music box playing"}),dirName:"17-music-box",releaseTime:.25,samples:[60]},{name:o({id:"music.instrumentSteelDrum",default:"(18) Steel Drum",description:"Sound of a steel drum being struck"}),dirName:"18-steel-drum",releaseTime:.5,samples:[60]},{name:o({id:"music.instrumentMarimba",default:"(19) Marimba",description:"Sound of a marimba being struck"}),dirName:"19-marimba",samples:[60]},{name:o({id:"music.instrumentSynthLead",default:"(20) Synth Lead",description:'Sound of a "lead" synthesizer being played'}),dirName:"20-synth-lead",releaseTime:.1,samples:[60]},{name:o({id:"music.instrumentSynthPad",default:"(21) Synth Pad",description:'Sound of a "pad" synthesizer being played'}),dirName:"21-synth-pad",releaseTime:.25,samples:[60]}]}get MIDI_INSTRUMENTS(){return[1,1,1,1,2,2,4,4,17,17,17,16,19,16,17,17,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,6,6,6,6,6,6,6,6,8,8,8,8,8,7,8,19,8,8,8,8,15,15,15,19,9,9,9,9,9,9,9,9,11,11,11,11,14,14,14,10,12,12,13,13,13,13,12,12,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,4,4,4,4,17,14,8,10,17,17,18,19,1,1,1,1,21,21,21,21,21,21,21,21]}get MIDI_DRUMS(){return[[1,-4],[1,0],[2,0],[0,0],[7,0],[0,2],[1,-6,4],[5,0],[1,-3,3.2],[5,0],[1,0,3],[4,-8],[1,4,3],[1,7,2.7],[3,-8],[1,10,2.7],[4,-2],[3,-11],[4,2],[6,0],[3,0,3.5],[10,0],[3,-8,3.5],[16,-6],[4,2],[12,2],[12,0],[13,0,.2],[13,0,2],[13,-5,2],[12,12],[12,5],[10,19],[10,12],[14,0],[14,0],[17,12],[17,5],[15,0],[15,0],[8,0],[9,0],[9,-4],[17,-5],[17,0],[11,-6,1],[11,-6,3]]}static get STATE_KEY(){return"Scratch.music"}static get DEFAULT_MUSIC_STATE(){return{currentInstrument:0}}static get MIDI_NOTE_RANGE(){return{min:0,max:130}}static get BEAT_RANGE(){return{min:0,max:100}}static get TEMPO_RANGE(){return{min:20,max:500}}static get CONCURRENCY_LIMIT(){return 30}_getMusicState(A){let e=A.getCustomState(g.STATE_KEY);return e||(e=r.simple(g.DEFAULT_MUSIC_STATE),A.setCustomState(g.STATE_KEY,e)),e}_onTargetCreated(A,e){if(e){const t=e.getCustomState(g.STATE_KEY);t&&A.setCustomState(g.STATE_KEY,r.simple(t))}}getInfo(){return{id:"music",name:o({id:"music.categoryName",default:"Music",description:"Label for the Music extension category"}),menuIconURI:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE2LjA5IDEyLjkzN2MuMjI4IDEuMTQxLS44MzMgMi4wNjMtMi4zNzMgMi4wNjMtMS41MzUgMC0yLjk2Mi0uOTIyLTMuMTg2LTIuMDYzLS4yMy0xLjE0Mi44MzMtMi4wNjggMi4zNzItMi4wNjguMzIzIDAgLjY0MS4wNDIuOTQ1LjExN2EzLjUgMy41IDAgMCAxIC40NjguMTUxYy40MzUtLjAxLS4wNTItMS4xNDctLjkxNy02LjExNC0xLjA2Ny02LjE1MiAxLjUzLS45MzUgNC4zODQtMS4zNzcgMi44NTQtLjQ0Mi4wMzggMi40MS0xLjgyNSAxLjkyMi0xLjg2Mi0uNDkzLTIuMzI1LTMuNTc3LjEzMiA3LjM3ek03LjQ2IDguNTYzYy0xLjg2Mi0uNDkzLTIuMzI1LTMuNTc2LjEzIDcuMzdDNy44MTYgMTcuMDczIDYuNzU0IDE4IDUuMjIgMThjLTEuNTM1IDAtMi45NjEtLjkyNi0zLjE5LTIuMDY4LS4yMjQtMS4xNDIuODM3LTIuMDY3IDIuMzc1LTIuMDY3LjUwMSAwIC45ODcuMDk4IDEuNDI3LjI3Mi40MTItLjAyOC0uMDc0LTEuMTg5LS45My02LjExNEMzLjgzNCAxLjg3IDYuNDMgNy4wODcgOS4yODIgNi42NDZjMi44NTQtLjQ0Ny4wMzggMi40MS0xLjgyMyAxLjkxN3oiIGZpbGw9IiM1NzVFNzUiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==",blockIconURI:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHRpdGxlPm11c2ljLWJsb2NrLWljb248L3RpdGxlPjxkZWZzPjxwYXRoIGQ9Ik0zMi4xOCAyNS44NzRDMzIuNjM2IDI4LjE1NyAzMC41MTIgMzAgMjcuNDMzIDMwYy0zLjA3IDAtNS45MjMtMS44NDMtNi4zNzItNC4xMjYtLjQ1OC0yLjI4NSAxLjY2NS00LjEzNiA0Ljc0My00LjEzNi42NDcgMCAxLjI4My4wODQgMS44OS4yMzQuMzM4LjA4Ni42MzcuMTguOTM4LjMwMi44Ny0uMDItLjEwNC0yLjI5NC0xLjgzNS0xMi4yMy0yLjEzNC0xMi4zMDIgMy4wNi0xLjg3IDguNzY4LTIuNzUyIDUuNzA4LS44ODUuMDc2IDQuODItMy42NSAzLjg0NC0zLjcyNC0uOTg3LTQuNjUtNy4xNTMuMjYzIDE0LjczOHptLTE2Ljk5OCA1Ljk5QzE1LjYzIDM0LjE0OCAxMy41MDcgMzYgMTAuNDQgMzZjLTMuMDcgMC01LjkyMi0xLjg1Mi02LjM4LTQuMTM2LS40NDgtMi4yODQgMS42NzQtNC4xMzUgNC43NS00LjEzNSAxLjAwMyAwIDEuOTc1LjE5NiAyLjg1NS41NDMuODIyLS4wNTUtLjE1LTIuMzc3LTEuODYyLTEyLjIyOC0yLjEzMy0xMi4zMDMgMy4wNi0xLjg3IDguNzY0LTIuNzUzIDUuNzA2LS44OTQuMDc2IDQuODItMy42NDggMy44MzQtMy43MjQtLjk4Ny00LjY1LTcuMTUyLjI2MiAxNC43Mzh6IiBpZD0iYSIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0ZGRiIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2Utb3BhY2l0eT0iLjEiIHN0cm9rZT0iIzAwMCIgZD0iTTI4LjQ1NiAyMS42NzVjLS4wMS0uMzEyLS4wODctLjgyNS0uMjU2LTEuNzAyLS4wOTYtLjQ5NS0uNjEyLTMuMDIyLS43NTMtMy43My0uMzk1LTEuOTgtLjc2LTMuOTItMS4xNDItNi4xMTMtLjczMi00LjIyMy0uNjkzLTYuMDUuMzQ0LTYuNTI3LjUtLjIzIDEuMDYtLjA4IDEuODQuMzUuNDE0LjIyNyAyLjE4MiAxLjM2NSAyLjA3IDEuMjk2IDEuOTk0IDEuMjQyIDMuNDY0IDEuNzc0IDQuOTMgMS41NDggMS41MjYtLjIzNyAyLjUwNC0uMDYgMi44NzYuNjE4LjM0OC42MzUuMDE1IDEuNDE2LS43MyAyLjE4LTEuNDcyIDEuNTE2LTMuOTc1IDIuNTE0LTUuODQ4IDIuMDIzLS44MjItLjIyLTEuMjM4LS40NjUtMi4zOC0xLjI2N2wtLjA5NS0uMDY2Yy4wNDcuNTkzLjI2NCAxLjc0LjcxNyAzLjgwMy4yOTQgMS4zMzYgMi4wOCA5LjE4NyAyLjYzNyAxMS42NzRsLjAwMi4wMTJjLjUyOCAyLjYzNy0xLjg3MyA0LjcyNC01LjIzNiA0LjcyNC0zLjI5IDAtNi4zNjMtMS45ODgtNi44NjItNC41MjgtLjUzLTIuNjQgMS44NzMtNC43MzQgNS4yMzMtNC43MzQuNjcyIDAgMS4zNDcuMDg1IDIuMDE0LjI1LjIyNy4wNTcuNDM2LjExOC42MzYuMTg3em0tMTYuOTk2IDUuOTljLS4wMS0uMzE4LS4wOS0uODM4LS4yNjYtMS43MzctLjA5LS40Ni0uNTk1LTIuOTM3LS43NTMtMy43MjctLjM5LTEuOTYtLjc1LTMuODktMS4xMy02LjA3LS43MzItNC4yMjMtLjY5Mi02LjA1LjM0NC02LjUyNi41MDItLjIzIDEuMDYtLjA4MiAxLjg0LjM1LjQxNS4yMjcgMi4xODIgMS4zNjQgMi4wNyAxLjI5NSAxLjk5MyAxLjI0MiAzLjQ2MiAxLjc3NCA0LjkyNiAxLjU0OCAxLjUyNS0uMjQgMi41MDQtLjA2NCAyLjg3Ni42MTQuMzQ4LjYzNS4wMTUgMS40MTUtLjcyOCAyLjE4LTEuNDc0IDEuNTE3LTMuOTc3IDIuNTEzLTUuODQ3IDIuMDE3LS44Mi0uMjItMS4yMzYtLjQ2NC0yLjM3OC0xLjI2N2wtLjA5NS0uMDY1Yy4wNDcuNTkzLjI2NCAxLjc0LjcxNyAzLjgwMi4yOTQgMS4zMzcgMi4wNzggOS4xOSAyLjYzNiAxMS42NzVsLjAwMy4wMTNjLjUxNyAyLjYzOC0xLjg4NCA0LjczMi01LjIzNCA0LjczMi0zLjI4NyAwLTYuMzYtMS45OTMtNi44Ny00LjU0LS41Mi0yLjY0IDEuODg0LTQuNzMgNS4yNC00LjczLjkwNSAwIDEuODAzLjE1IDIuNjUuNDM2eiIvPjwvZz48L3N2Zz4=",blocks:[{opcode:"playDrumForBeats",blockType:i.COMMAND,text:o({id:"music.playDrumForBeats",default:"play drum [DRUM] for [BEATS] beats",description:"play drum sample for a number of beats"}),arguments:{DRUM:{type:n.NUMBER,menu:"DRUM",defaultValue:1},BEATS:{type:n.NUMBER,defaultValue:.25}}},{opcode:"midiPlayDrumForBeats",blockType:i.COMMAND,text:o({id:"music.midiPlayDrumForBeats",default:"play drum [DRUM] for [BEATS] beats",description:"play drum sample for a number of beats according to a mapping of MIDI codes"}),arguments:{DRUM:{type:n.NUMBER,menu:"DRUM",defaultValue:1},BEATS:{type:n.NUMBER,defaultValue:.25}},hideFromPalette:!0},{opcode:"restForBeats",blockType:i.COMMAND,text:o({id:"music.restForBeats",default:"rest for [BEATS] beats",description:"rest (play no sound) for a number of beats"}),arguments:{BEATS:{type:n.NUMBER,defaultValue:.25}}},{opcode:"playNoteForBeats",blockType:i.COMMAND,text:o({id:"music.playNoteForBeats",default:"play note [NOTE] for [BEATS] beats",description:"play a note for a number of beats"}),arguments:{NOTE:{type:n.NOTE,defaultValue:60},BEATS:{type:n.NUMBER,defaultValue:.25}}},{opcode:"setInstrument",blockType:i.COMMAND,text:o({id:"music.setInstrument",default:"set instrument to [INSTRUMENT]",description:"set the instrument (e.g. piano, guitar, trombone) for notes played"}),arguments:{INSTRUMENT:{type:n.NUMBER,menu:"INSTRUMENT",defaultValue:1}}},{opcode:"midiSetInstrument",blockType:i.COMMAND,text:o({id:"music.midiSetInstrument",default:"set instrument to [INSTRUMENT]",description:"set the instrument for notes played according to a mapping of MIDI codes"}),arguments:{INSTRUMENT:{type:n.NUMBER,defaultValue:1}},hideFromPalette:!0},{opcode:"setTempo",blockType:i.COMMAND,text:o({id:"music.setTempo",default:"set tempo to [TEMPO]",description:"set tempo (speed) for notes, drums, and rests played"}),arguments:{TEMPO:{type:n.NUMBER,defaultValue:60}}},{opcode:"changeTempo",blockType:i.COMMAND,text:o({id:"music.changeTempo",default:"change tempo by [TEMPO]",description:"change tempo (speed) for notes, drums, and rests played"}),arguments:{TEMPO:{type:n.NUMBER,defaultValue:20}}},{opcode:"getTempo",text:o({id:"music.getTempo",default:"tempo",description:"get the current tempo (speed) for notes, drums, and rests played"}),blockType:i.REPORTER}],menus:{DRUM:{acceptReporters:!0,items:this._buildMenu(this.DRUM_INFO)},INSTRUMENT:{acceptReporters:!0,items:this._buildMenu(this.INSTRUMENT_INFO)}}}}playDrumForBeats(A,e){this._playDrumForBeats(A.DRUM,A.BEATS,e)}midiPlayDrumForBeats(A,e){let t=s.toNumber(A.DRUM);t=Math.round(t);const n=this.MIDI_DRUMS[t-35];t=n?n[0]:2,t+=1,this._playDrumForBeats(t,A.BEATS,e)}_playDrumForBeats(A,e,t){this._stackTimerNeedsInit(t)?(A=s.toNumber(A),A=Math.round(A),A-=1,A=a.wrapClamp(A,0,this.DRUM_INFO.length-1),e=s.toNumber(e),e=this._clampBeats(e),this._playDrumNum(t,A),this._startStackTimer(t,this._beatsToSec(e))):this._checkStackTimer(t)}_playDrumNum(A,e){if(null===A.runtime.audioEngine)return;if(null===A.target.sprite.soundBank)return;if(this._concurrencyCounter>g.CONCURRENCY_LIMIT)return;const t=this._drumPlayers[e];if(void 0===t)return;t.isPlaying&&!t.isStarting&&t.take();const n=A.runtime.audioEngine,i=n.audioContext.createGain();i.gain.setValueAtTime(A.target.volume/100,n.currentTime),i.connect(n.getInputNode()),this._concurrencyCounter++,t.once("stop",()=>{this._concurrencyCounter--}),t.play(),t.connect({getInputNode:()=>i})}restForBeats(A,e){if(this._stackTimerNeedsInit(e)){let t=s.toNumber(A.BEATS);t=this._clampBeats(t),this._startStackTimer(e,this._beatsToSec(t))}else this._checkStackTimer(e)}playNoteForBeats(A,e){if(this._stackTimerNeedsInit(e)){let t=s.toNumber(A.NOTE);t=a.clamp(t,g.MIDI_NOTE_RANGE.min,g.MIDI_NOTE_RANGE.max);let n=s.toNumber(A.BEATS);if(n=this._clampBeats(n),0===n)return;const i=this._beatsToSec(n);this._playNote(e,t,i),this._startStackTimer(e,i)}else this._checkStackTimer(e)}_playNoteForPicker(A,e){if(e!==this.getInfo().name)return;const t={runtime:this.runtime,target:this.runtime.getEditingTarget()};this._playNote(t,A,.25)}_playNote(A,e,t){if(null===A.runtime.audioEngine)return;if(null===A.target.sprite.soundBank)return;if(this._concurrencyCounter>g.CONCURRENCY_LIMIT)return;const n=this._getMusicState(A.target).currentInstrument,i=this.INSTRUMENT_INFO[n].samples,r=this._selectSampleIndexForNote(e,i);if(void 0===this._instrumentPlayerArrays[n])return;if(void 0===this._instrumentPlayerArrays[n][r])return;const s=A.runtime.audioEngine;this._instrumentPlayerNoteArrays[n][e]||(this._instrumentPlayerNoteArrays[n][e]=this._instrumentPlayerArrays[n][r].take());const o=this._instrumentPlayerNoteArrays[n][e];o.isPlaying&&!o.isStarting&&o.take();const a=i[r],B=this._ratioForPitchInterval(e-a),c=s.audioContext,Q=c.createGain();Q.gain.setValueAtTime(A.target.volume/100,s.currentTime);const E=c.createGain();Q.connect(E),E.connect(s.getInputNode());let l=this.INSTRUMENT_INFO[n].releaseTime;void 0===l&&(l=.01);const u=c.currentTime+t,w=u+l;E.gain.setValueAtTime(1,u),E.gain.linearRampToValueAtTime(1e-4,w),this._concurrencyCounter++,o.once("stop",()=>{this._concurrencyCounter--}),o.play(),o.connect({getInputNode:()=>Q}),o.outputNode.playbackRate.value=B,o.outputNode.stop(w)}_selectSampleIndexForNote(A,e){for(let t=e.length-1;t>=0;t--)if(A>=e[t])return t;return 0}_ratioForPitchInterval(A){return Math.pow(2,A/12)}_clampBeats(A){return a.clamp(A,g.BEAT_RANGE.min,g.BEAT_RANGE.max)}_beatsToSec(A){return 60/this.getTempo()*A}_stackTimerNeedsInit(A){return!A.stackFrame.timer}_startStackTimer(A,e){A.stackFrame.timer=new B,A.stackFrame.timer.start(),A.stackFrame.duration=e,A.yield()}_checkStackTimer(A){A.stackFrame.timer.timeElapsed()<1e3*A.stackFrame.duration&&A.yield()}setInstrument(A,e){this._setInstrument(A.INSTRUMENT,e,!1)}midiSetInstrument(A,e){this._setInstrument(A.INSTRUMENT,e,!0)}_setInstrument(A,e,t){const n=this._getMusicState(e.target);A=s.toNumber(A),A=Math.round(A),A-=1,t&&(A=(this.MIDI_INSTRUMENTS[A]||0)-1),A=a.wrapClamp(A,0,this.INSTRUMENT_INFO.length-1),n.currentInstrument=A}setTempo(A){const e=s.toNumber(A.TEMPO);this._updateTempo(e)}changeTempo(A){const e=s.toNumber(A.TEMPO)+this.getTempo();this._updateTempo(e)}_updateTempo(A){A=a.clamp(A,g.TEMPO_RANGE.min,g.TEMPO_RANGE.max);const e=this.runtime.getTargetForStage();e&&(e.tempo=A)}getTempo(){const A=this.runtime.getTargetForStage();return A?A.tempo:60}}A.exports=g},function(A,e,t){A.exports={"drums/1-snare.mp3":t(189),"drums/2-bass-drum.mp3":t(190),"drums/3-side-stick.mp3":t(191),"drums/4-crash-cymbal.mp3":t(192),"drums/5-open-hi-hat.mp3":t(193),"drums/6-closed-hi-hat.mp3":t(194),"drums/7-tambourine.mp3":t(195),"drums/8-hand-clap.mp3":t(196),"drums/9-claves.mp3":t(197),"drums/10-wood-block.mp3":t(198),"drums/11-cowbell.mp3":t(199),"drums/12-triangle.mp3":t(200),"drums/13-bongo.mp3":t(201),"drums/14-conga.mp3":t(202),"drums/15-cabasa.mp3":t(203),"drums/16-guiro.mp3":t(204),"drums/17-vibraslap.mp3":t(205),"drums/18-cuica.mp3":t(206),"instruments/1-piano/24.mp3":t(207),"instruments/1-piano/36.mp3":t(208),"instruments/1-piano/48.mp3":t(209),"instruments/1-piano/60.mp3":t(210),"instruments/1-piano/72.mp3":t(211),"instruments/1-piano/84.mp3":t(212),"instruments/1-piano/96.mp3":t(213),"instruments/1-piano/108.mp3":t(214),"instruments/2-electric-piano/60.mp3":t(215),"instruments/3-organ/60.mp3":t(216),"instruments/4-guitar/60.mp3":t(217),"instruments/5-electric-guitar/60.mp3":t(218),"instruments/6-bass/36.mp3":t(219),"instruments/6-bass/48.mp3":t(220),"instruments/7-pizzicato/60.mp3":t(221),"instruments/8-cello/36.mp3":t(222),"instruments/8-cello/48.mp3":t(223),"instruments/8-cello/60.mp3":t(224),"instruments/9-trombone/36.mp3":t(225),"instruments/9-trombone/48.mp3":t(226),"instruments/9-trombone/60.mp3":t(227),"instruments/10-clarinet/48.mp3":t(228),"instruments/10-clarinet/60.mp3":t(229),"instruments/11-saxophone/36.mp3":t(230),"instruments/11-saxophone/60.mp3":t(231),"instruments/11-saxophone/84.mp3":t(232),"instruments/12-flute/60.mp3":t(233),"instruments/12-flute/72.mp3":t(234),"instruments/13-wooden-flute/60.mp3":t(235),"instruments/13-wooden-flute/72.mp3":t(236),"instruments/14-bassoon/36.mp3":t(237),"instruments/14-bassoon/48.mp3":t(238),"instruments/14-bassoon/60.mp3":t(239),"instruments/15-choir/48.mp3":t(240),"instruments/15-choir/60.mp3":t(241),"instruments/15-choir/72.mp3":t(242),"instruments/16-vibraphone/60.mp3":t(243),"instruments/16-vibraphone/72.mp3":t(244),"instruments/17-music-box/60.mp3":t(245),"instruments/18-steel-drum/60.mp3":t(246),"instruments/19-marimba/60.mp3":t(247),"instruments/20-synth-lead/60.mp3":t(248),"instruments/21-synth-pad/60.mp3":t(249)}},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e){A.exports=null},function(A,e,t){const n=t(3),i=t(1),r=t(8),s=t(2),o=t(7),a=t(53),B=t(29),c=129,g=130,Q=61445,E="5261da01-fa7e-42ab-850b-7c80220097cc",l="5261da02-fa7e-42ab-850b-7c80220097cc";class u{constructor(A,e){this._runtime=A,this._ble=null,this._runtime.registerPeripheralExtension(e,this),this._extensionId=e,this._sensors={tiltX:0,tiltY:0,buttonA:0,buttonB:0,touchPins:[0,0,0],gestureState:0,ledMatrixState:new Uint8Array(5)},this._gestures={moving:!1,move:{active:!1,timeout:!1},shake:{active:!1,timeout:!1},jump:{active:!1,timeout:!1}},this._timeoutID=null,this._busy=!1,this._busyTimeoutID=null,this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this),this._onMessage=this._onMessage.bind(this)}displayText(A){const e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return this.send(c,e)}displayMatrix(A){return this.send(g,A)}get tiltX(){return this._sensors.tiltX}get tiltY(){return this._sensors.tiltY}get buttonA(){return this._sensors.buttonA}get buttonB(){return this._sensors.buttonB}get gestureState(){return this._sensors.gestureState}get ledMatrixState(){return this._sensors.ledMatrixState}scan(){this._ble&&this._ble.disconnect(),this._ble=new a(this._runtime,this._extensionId,{filters:[{services:[Q]}]},this._onConnect,this.reset)}connect(A){this._ble&&this._ble.connectPeripheral(A)}disconnect(){this._ble&&this._ble.disconnect(),this.reset()}reset(){this._timeoutID&&(window.clearTimeout(this._timeoutID),this._timeoutID=null)}isConnected(){let A=!1;return this._ble&&(A=this._ble.isConnected()),A}send(A,e){if(!this.isConnected())return;if(this._busy)return;this._busy=!0,this._busyTimeoutID=window.setTimeout(()=>{this._busy=!1},5e3);const t=new Uint8Array(e.length+1);t[0]=A;for(let A=0;A<e.length;A++)t[A+1]=e[A];const n=B.uint8ArrayToBase64(t);this._ble.write(Q,l,n,"base64",!0).then(()=>{this._busy=!1,window.clearTimeout(this._busyTimeoutID)})}_onConnect(){this._ble.read(Q,E,!0,this._onMessage),this._timeoutID=window.setTimeout(()=>this._ble.handleDisconnectError("micro:bit extension stopped receiving data"),4500)}_onMessage(A){const e=B.base64ToUint8Array(A);this._sensors.tiltX=e[1]|e[0]<<8,this._sensors.tiltX>32768&&(this._sensors.tiltX-=65536),this._sensors.tiltY=e[3]|e[2]<<8,this._sensors.tiltY>32768&&(this._sensors.tiltY-=65536),this._sensors.buttonA=e[4],this._sensors.buttonB=e[5],this._sensors.touchPins[0]=e[6],this._sensors.touchPins[1]=e[7],this._sensors.touchPins[2]=e[8],this._sensors.gestureState=e[9],window.clearTimeout(this._timeoutID),this._timeoutID=window.setTimeout(()=>this._ble.handleDisconnectError("micro:bit extension stopped receiving data"),4500)}_checkPinState(A){return this._sensors.touchPins[A]}}const w="front",h="back",C="left",d="right",I="any",M="moved",p="shaken",m="jumped",F="A",D="B",Y="any",f="on",N="off";class U{static get EXTENSION_NAME(){return"micro:bit"}static get EXTENSION_ID(){return"microbit"}static get TILT_THRESHOLD(){return 15}get BUTTONS_MENU(){return[{text:"A",value:F},{text:"B",value:D},{text:o({id:"microbit.buttonsMenu.any",default:"any",description:'label for "any" element in button picker for micro:bit extension'}),value:Y}]}get GESTURES_MENU(){return[{text:o({id:"microbit.gesturesMenu.moved",default:"moved",description:"label for moved gesture in gesture picker for micro:bit extension"}),value:M},{text:o({id:"microbit.gesturesMenu.shaken",default:"shaken",description:"label for shaken gesture in gesture picker for micro:bit extension"}),value:p},{text:o({id:"microbit.gesturesMenu.jumped",default:"jumped",description:"label for jumped gesture in gesture picker for micro:bit extension"}),value:m}]}get PIN_STATE_MENU(){return[{text:o({id:"microbit.pinStateMenu.on",default:"on",description:"label for on element in pin state picker for micro:bit extension"}),value:f},{text:o({id:"microbit.pinStateMenu.off",default:"off",description:"label for off element in pin state picker for micro:bit extension"}),value:N}]}get TILT_DIRECTION_MENU(){return[{text:o({id:"microbit.tiltDirectionMenu.front",default:"front",description:"label for front element in tilt direction picker for micro:bit extension"}),value:w},{text:o({id:"microbit.tiltDirectionMenu.back",default:"back",description:"label for back element in tilt direction picker for micro:bit extension"}),value:h},{text:o({id:"microbit.tiltDirectionMenu.left",default:"left",description:"label for left element in tilt direction picker for micro:bit extension"}),value:C},{text:o({id:"microbit.tiltDirectionMenu.right",default:"right",description:"label for right element in tilt direction picker for micro:bit extension"}),value:d}]}get TILT_DIRECTION_ANY_MENU(){return[...this.TILT_DIRECTION_MENU,{text:o({id:"microbit.tiltDirectionMenu.any",default:"any",description:"label for any direction element in tilt direction picker for micro:bit extension"}),value:I}]}constructor(A){this.runtime=A,this._peripheral=new u(this.runtime,U.EXTENSION_ID)}getInfo(){return{id:U.EXTENSION_ID,name:U.EXTENSION_NAME,blockIconURI:"data:image/png;base64,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",showStatusButton:!0,blocks:[{opcode:"whenButtonPressed",text:o({id:"microbit.whenButtonPressed",default:"when [BTN] button pressed",description:"when the selected button on the micro:bit is pressed"}),blockType:i.HAT,arguments:{BTN:{type:n.STRING,menu:"buttons",defaultValue:F}}},{opcode:"isButtonPressed",text:o({id:"microbit.isButtonPressed",default:"[BTN] button pressed?",description:"is the selected button on the micro:bit pressed?"}),blockType:i.BOOLEAN,arguments:{BTN:{type:n.STRING,menu:"buttons",defaultValue:F}}},"---",{opcode:"whenGesture",text:o({id:"microbit.whenGesture",default:"when [GESTURE]",description:"when the selected gesture is detected by the micro:bit"}),blockType:i.HAT,arguments:{GESTURE:{type:n.STRING,menu:"gestures",defaultValue:M}}},"---",{opcode:"displaySymbol",text:o({id:"microbit.displaySymbol",default:"display [MATRIX]",description:"display a pattern on the micro:bit display"}),blockType:i.COMMAND,arguments:{MATRIX:{type:n.MATRIX,defaultValue:"0101010101100010101000100"}}},{opcode:"displayText",text:o({id:"microbit.displayText",default:"display text [TEXT]",description:"display text on the micro:bit display"}),blockType:i.COMMAND,arguments:{TEXT:{type:n.STRING,defaultValue:o({id:"microbit.defaultTextToDisplay",default:"Hello!",description:'default text to display.\n IMPORTANT - the micro:bit only supports letters a-z, A-Z.\n Please substitute a default word in your language\n that can be written with those characters,\n substitute non-accented characters or leave it as "Hello!".\n Check the micro:bit site documentation for details'})}}},{opcode:"displayClear",text:o({id:"microbit.clearDisplay",default:"clear display",description:"display nothing on the micro:bit display"}),blockType:i.COMMAND},"---",{opcode:"whenTilted",text:o({id:"microbit.whenTilted",default:"when tilted [DIRECTION]",description:"when the micro:bit is tilted in a direction"}),blockType:i.HAT,arguments:{DIRECTION:{type:n.STRING,menu:"tiltDirectionAny",defaultValue:I}}},{opcode:"isTilted",text:o({id:"microbit.isTilted",default:"tilted [DIRECTION]?",description:"is the micro:bit is tilted in a direction?"}),blockType:i.BOOLEAN,arguments:{DIRECTION:{type:n.STRING,menu:"tiltDirectionAny",defaultValue:I}}},{opcode:"getTiltAngle",text:o({id:"microbit.tiltAngle",default:"tilt angle [DIRECTION]",description:"how much the micro:bit is tilted in a direction"}),blockType:i.REPORTER,arguments:{DIRECTION:{type:n.STRING,menu:"tiltDirection",defaultValue:w}}},"---",{opcode:"whenPinConnected",text:o({id:"microbit.whenPinConnected",default:"when pin [PIN] connected",description:"when the pin detects a connection to Earth/Ground"}),blockType:i.HAT,arguments:{PIN:{type:n.STRING,menu:"touchPins",defaultValue:"0"}}}],menus:{buttons:{acceptReporters:!0,items:this.BUTTONS_MENU},gestures:{acceptReporters:!0,items:this.GESTURES_MENU},pinState:{acceptReporters:!0,items:this.PIN_STATE_MENU},tiltDirection:{acceptReporters:!0,items:this.TILT_DIRECTION_MENU},tiltDirectionAny:{acceptReporters:!0,items:this.TILT_DIRECTION_ANY_MENU},touchPins:{acceptReporters:!0,items:["0","1","2"]}}}}whenButtonPressed(A){return"any"===A.BTN?this._peripheral.buttonA|this._peripheral.buttonB:"A"===A.BTN?this._peripheral.buttonA:"B"===A.BTN&&this._peripheral.buttonB}isButtonPressed(A){return"any"===A.BTN?0!=(this._peripheral.buttonA|this._peripheral.buttonB):"A"===A.BTN?0!==this._peripheral.buttonA:"B"===A.BTN&&0!==this._peripheral.buttonB}whenGesture(A){const e=s.toString(A.GESTURE);return"moved"===e?this._peripheral.gestureState>>2&1:"shaken"===e?1&this._peripheral.gestureState:"jumped"===e&&this._peripheral.gestureState>>1&1}displaySymbol(A){const e=s.toString(A.MATRIX).replace(/\s/g,"").split("").reduce((A,e,t)=>"0"===e?A:A+Math.pow(2,t),0);return null!==e&&(this._peripheral.ledMatrixState[0]=31&e,this._peripheral.ledMatrixState[1]=e>>5&31,this._peripheral.ledMatrixState[2]=e>>10&31,this._peripheral.ledMatrixState[3]=e>>15&31,this._peripheral.ledMatrixState[4]=e>>20&31,this._peripheral.displayMatrix(this._peripheral.ledMatrixState)),new Promise(A=>{setTimeout(()=>{A()},100)})}displayText(A){const e=String(A.TEXT).substring(0,19);e.length>0&&this._peripheral.displayText(e);const t=120*(6*e.length+6);return new Promise(A=>{setTimeout(()=>{A()},t)})}displayClear(){for(let A=0;A<5;A++)this._peripheral.ledMatrixState[A]=0;return this._peripheral.displayMatrix(this._peripheral.ledMatrixState),new Promise(A=>{setTimeout(()=>{A()},100)})}whenTilted(A){return this._isTilted(A.DIRECTION)}isTilted(A){return this._isTilted(A.DIRECTION)}getTiltAngle(A){return this._getTiltAngle(A.DIRECTION)}_isTilted(A){switch(A){case I:return Math.abs(this._peripheral.tiltX/10)>=U.TILT_THRESHOLD||Math.abs(this._peripheral.tiltY/10)>=U.TILT_THRESHOLD;default:return this._getTiltAngle(A)>=U.TILT_THRESHOLD}}_getTiltAngle(A){switch(A){case w:return Math.round(this._peripheral.tiltY/-10);case h:return Math.round(this._peripheral.tiltY/10);case C:return Math.round(this._peripheral.tiltX/-10);case d:return Math.round(this._peripheral.tiltX/10);default:r.warn("Unknown tilt direction in _getTiltAngle: ".concat(A))}}whenPinConnected(A){const e=parseInt(A.PIN,10);if(!isNaN(e))return!(e<0||e>2)&&this._peripheral._checkPinState(e)}}A.exports=U},function(A,e,t){const n=t(7),i=t(105),r=t(3),s=t(1),o=t(2),a=t(11),B=t(10),c=t(8),g=t(72),Q=A=>Math.min(Math.max(A,.0625),16);class E{constructor(A){this.runtime=A,this._soundPlayers=new Map,this._stopAllSpeech=this._stopAllSpeech.bind(this),this.runtime&&this.runtime.on("PROJECT_STOP_ALL",this._stopAllSpeech),this._onTargetCreated=this._onTargetCreated.bind(this),this.runtime&&A.on("targetWasCreated",this._onTargetCreated),this._supportedLocales=this._getSupportedLocales()}get VOICE_INFO(){return{ALTO:{name:n({id:"text2speech.alto",default:"alto",description:"Name for a voice with ambiguous gender."}),gender:"female",playbackRate:1},TENOR:{name:n({id:"text2speech.tenor",default:"tenor",description:"Name for a voice with ambiguous gender."}),gender:"male",playbackRate:1},SQUEAK:{name:n({id:"text2speech.squeak",default:"squeak",description:"Name for a funny voice with a high pitch."}),gender:"female",playbackRate:1.19},GIANT:{name:n({id:"text2speech.giant",default:"giant",description:"Name for a funny voice with a low pitch."}),gender:"male",playbackRate:.84},KITTEN:{name:n({id:"text2speech.kitten",default:"kitten",description:"A baby cat."}),gender:"female",playbackRate:1.41},GOOGLE:{name:n({id:"text2speech.google",default:"google",description:"Name for a voice with ambiguous gender."}),special:"google",gender:"mixed",playbackRate:1}}}get LANGUAGE_INFO(){return{ar:{name:"Arabic",locales:["ar"],speechSynthLocale:"arb",penguinmodSynthLocale:"ar",singleGender:!0},"zh-cn":{name:"Chinese (Mandarin)",locales:["zh-cn","zh-tw"],speechSynthLocale:"cmn-CN",penguinmodSynthLocale:"zh-cn",singleGender:!0},da:{name:"Danish",locales:["da"],speechSynthLocale:"da-DK",penguinmodSynthLocale:"da"},nl:{name:"Dutch",locales:["nl"],speechSynthLocale:"nl-NL",penguinmodSynthLocale:"nl"},en:{name:"English",locales:["en"],speechSynthLocale:"en-US",penguinmodSynthLocale:"en"},fr:{name:"French",locales:["fr"],speechSynthLocale:"fr-FR",penguinmodSynthLocale:"fr"},de:{name:"German",locales:["de"],speechSynthLocale:"de-DE",penguinmodSynthLocale:"de"},hi:{name:"Hindi",locales:["hi"],speechSynthLocale:"hi-IN",penguinmodSynthLocale:"hi",singleGender:!0},is:{name:"Icelandic",locales:["is"],speechSynthLocale:"is-IS",penguinmodSynthLocale:"is"},it:{name:"Italian",locales:["it"],speechSynthLocale:"it-IT",penguinmodSynthLocale:"it"},ja:{name:"Japanese",locales:["ja","ja-hira"],speechSynthLocale:"ja-JP",penguinmodSynthLocale:"ja"},ko:{name:"Korean",locales:["ko"],speechSynthLocale:"ko-KR",penguinmodSynthLocale:"ko",singleGender:!0},nb:{name:"Norwegian",locales:["nb","nn"],speechSynthLocale:"nb-NO",penguinmodSynthLocale:"no",singleGender:!0},pl:{name:"Polish",locales:["pl"],speechSynthLocale:"pl-PL",penguinmodSynthLocale:"pl"},"pt-br":{name:"Portuguese (Brazilian)",locales:["pt-br"],speechSynthLocale:"pt-BR",penguinmodSynthLocale:"pt-br"},pt:{name:"Portuguese (European)",locales:["pt"],speechSynthLocale:"pt-PT",penguinmodSynthLocale:"pt"},ro:{name:"Romanian",locales:["ro"],speechSynthLocale:"ro-RO",penguinmodSynthLocale:"ro",singleGender:!0},ru:{name:"Russian",locales:["ru"],speechSynthLocale:"ru-RU",penguinmodSynthLocale:"ru"},es:{name:"Spanish (European)",locales:["es"],speechSynthLocale:"es-ES",penguinmodSynthLocale:"es-es"},"es-419":{name:"Spanish (Latin American)",locales:["es-419"],speechSynthLocale:"es-US",penguinmodSynthLocale:"es-us"},sv:{name:"Swedish",locales:["sv"],speechSynthLocale:"sv-SE",penguinmodSynthLocale:"sv",singleGender:!0},tr:{name:"Turkish",locales:["tr"],speechSynthLocale:"tr-TR",penguinmodSynthLocale:"tr",singleGender:!0},cy:{name:"Welsh",locales:["cy"],speechSynthLocale:"cy-GB",penguinmodSynthLocale:"cy",singleGender:!0}}}get PENGUINMOD_VOICES(){return["GOOGLE"]}get PENGUINMOD_VOICE_MAP(){return{GOOGLE:"google"}}get PENGUINMOD_VOICE_VOLUMES(){return{GOOGLE:100}}static get STATE_KEY(){return"Scratch.text2speech"}static get DEFAULT_TEXT2SPEECH_STATE(){return{voiceId:"ALTO"}}get DEFAULT_LANGUAGE(){return"en"}_getState(A){let e=A.getCustomState(E.STATE_KEY);return e||(e=B.simple(E.DEFAULT_TEXT2SPEECH_STATE),A.setCustomState(E.STATE_KEY,e)),e}_onTargetCreated(A,e){if(e){const t=e.getCustomState(E.STATE_KEY);t&&A.setCustomState(E.STATE_KEY,B.simple(t))}}getInfo(){let A="hello";return this.isSupportedLanguage(this.getEditorLanguage())&&(A=n({id:"text2speech.defaultTextToSpeak",default:"hello",description:"hello: the default text to speak"})),{id:"text2speech",name:n({id:"text2speech.categoryName",default:"Text to Speech",description:"Name of the Text to Speech extension."}),blockIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1RleHQtdG8tU3BlZWNoLUJsb2NrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IkV4dGVuc2lvbnMvU29mdHdhcmUvVGV4dC10by1TcGVlY2gtQmxvY2siIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1vcGFjaXR5PSIwLjE1Ij4KICAgICAgICA8ZyBpZD0idGV4dDJzcGVlY2giIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMDAwMDAwLCA0LjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMDAwMDAwIj4KICAgICAgICAgICAgPHBhdGggZD0iTTExLjUsMTcuNjY5MzQzNSBDMTEuNSwxNi42NTM5MjY5IDEwLjAwNjAxNDUsMTYuMDg0NDI3NCA5LjExMjU2MDI0LDE2Ljg4ODMgTDYuNDEyNTYwMjQsMTkuMDUwNzE0IEM1LjM5MzQ2NzU1LDE5Ljg2Njg5OTQgNC4wNzQ5NzM1MSwyMC4zMzE3NTc1IDIuNywyMC4zMzE3NTc1IEwyLjMsMjAuMzMxNzU3NSBDMS4yNjUxOTIzMywyMC4zMzE3NTc1IDAuNSwyMS4wMjEyMDAzIDAuNSwyMS45MDQwNzEgTDAuNSwyNi4xMzg3OTg2IEMwLjUsMjcuMDIxNjY5MyAxLjI2NTE5MjMzLDI3LjcxMTExMiAyLjMsMjcuNzExMTEyIEwyLjcsMjcuNzExMTEyIEM0LjE1NzU1NjgyLDI3LjcxMTExMiA1LjQ1MzcyMzIyLDI4LjEzMzUyNzEgNi41MTk3MjA5OCwyOC45OTggTDkuMTE4NDAyOTMsMzEuMTU5MzIxNiBDMTAuMDI2MTg1NSwzMS45MDkwNzkzIDExLjUsMzEuMzQ3MjY4OSAxMS41LDMwLjI4MzQyNTUgTDExLjUsMTcuNjY5MzQzNSBaIiBpZD0ic3BlYWtlciIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjEuNjQzNjA2NiwxNi41IEMxOS45NzcwMDk5LDE4LjQzNzAyMzQgMTcuMTA1MDI3NSwxOS45Mjg1NzE0IDE1LjY2NjY2NjcsMTkuOTI4NTcxNCBDMTUuNTEyNjM5NywxOS45Mjg1NzE0IDE1LjMxNjYyOTIsMTkuODk1OTAzIDE1LjEwOTcyNjUsMTkuNzkyNDUxNyBDMTQuNzM3NjAzOSwxOS42MDYzOTA0IDE0LjUsMTkuMjQ5OTg0NiAxNC41LDE4Ljc2MTkwNDggQzE0LjUsMTguNjU2ODA0MSAxNC41MTcwNTU1LDE4LjU1NDUwNzYgMTQuNTQ5NDQ2NywxOC40NTQwODQ0IEMxNC42MjU3NTQ1LDE4LjIxNzUwNjMgMTUuMTczNTcyMSwxNy40Njc1MzEgMTUuMjc3MjA3MSwxNy4yODA5ODgxIEMxNS41NDYzNTI2LDE2Ljc5NjUyNjEgMTUuNzM5MDI1LDE2LjIwNjM1NjEgMTUuODQzMjg5MSwxNS40MTYwMDM0IEMxMy4xODk3MDA1LDEzLjkyNjgzNjkgMTEuNSwxMS4xMTM5NjY4IDExLjUsOCBDMTEuNSwzLjMwNTU3OTYzIDE1LjMwNTU3OTYsLTAuNSAyMCwtMC41IEwyNCwtMC41IEMyOC42OTQ0MjA0LC0wLjUgMzIuNSwzLjMwNTU3OTYzIDMyLjUsOCBDMzIuNSwxMi42OTQ0MjA0IDI4LjY5NDQyMDQsMTYuNSAyNCwxNi41IEwyMS42NDM2MDY2LDE2LjUgWiIgaWQ9InNwZWVjaCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",menuIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1RleHQtdG8tU3BlZWNoLU1lbnU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iRXh0ZW5zaW9ucy9Tb2Z0d2FyZS9UZXh0LXRvLVNwZWVjaC1NZW51IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0idGV4dDJzcGVlY2giIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIuMDAwMDAwLCAyLjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01Ljc1LDguODM0NjcxNzMgQzUuNzUsOC4zMjY5NjM0NCA1LjAwMzAwNzI3LDguMDQyMjEzNzEgNC41NTYyODAxMiw4LjQ0NDE0OTk5IEwzLjIwNjI4MDEyLDkuNTI1MzU3MDIgQzIuNjk2NzMzNzgsOS45MzM0NDk2OCAyLjAzNzQ4Njc1LDEwLjE2NTg3ODggMS4zNSwxMC4xNjU4Nzg4IEwxLjE1LDEwLjE2NTg3ODggQzAuNjMyNTk2MTY1LDEwLjE2NTg3ODggMC4yNSwxMC41MTA2MDAyIDAuMjUsMTAuOTUyMDM1NSBMMC4yNSwxMy4wNjkzOTkzIEMwLjI1LDEzLjUxMDgzNDYgMC42MzI1OTYxNjUsMTMuODU1NTU2IDEuMTUsMTMuODU1NTU2IEwxLjM1LDEzLjg1NTU1NiBDMi4wNzg3Nzg0MSwxMy44NTU1NTYgMi43MjY4NjE2MSwxNC4wNjY3NjM2IDMuMjU5ODYwNDksMTQuNDk5IEw0LjU1OTIwMTQ3LDE1LjU3OTY2MDggQzUuMDEzMDkyNzYsMTUuOTU0NTM5NiA1Ljc1LDE1LjY3MzYzNDQgNS43NSwxNS4xNDE3MTI4IEw1Ljc1LDguODM0NjcxNzMgWiIgaWQ9InNwZWFrZXIiIHN0cm9rZS1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC41IiBmaWxsPSIjNEQ0RDREIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMC43MDQ4MzEzLDggQzkuNzkwNjc0NjgsOS4xMzExNDg0NyA4LjMwNjYxODQsOS43MTQyODU3MSA3LjgzMzMzMzMzLDkuNzE0Mjg1NzEgQzcuODMzMzMzMzMsOS43MTQyODU3MSA3LjUsOS43MTQyODU3MSA3LjUsOS4zODA5NTIzOCBDNy41LDkuMDg1MjI2ODQgOC4wNjIyMDE2OCw4LjkwMTk0MTY0IDguMTg5MDYwNjcsNy41Njc1NDA1OCBDNi44ODk5Njk5MSw2LjkwNjc5MDA1IDYsNS41NTczMjY4MyA2LDQgQzYsMS43OTA4NjEgNy43OTA4NjEsNC4wNTgxMjI1MWUtMTYgMTAsMCBMMTIsMCBDMTQuMjA5MTM5LC00LjA1ODEyMjUxZS0xNiAxNiwxLjc5MDg2MSAxNiw0IEMxNiw2LjIwOTEzOSAxNC4yMDkxMzksOCAxMiw4IEwxMC43MDQ4MzEzLDggWiIgaWQ9InNwZWVjaCIgZmlsbD0iIzBFQkQ4QyI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",blocks:[{opcode:"speakAndWait",text:n({id:"text2speech.speakAndWaitBlock",default:"speak [WORDS]",description:"Speak some words."}),blockType:s.COMMAND,arguments:{WORDS:{type:r.STRING,defaultValue:A}}},{opcode:"setVoice",text:n({id:"text2speech.setVoiceBlock",default:"set voice to [VOICE]",description:"Set the voice for speech synthesis."}),blockType:s.COMMAND,arguments:{VOICE:{type:r.STRING,menu:"voices",defaultValue:"ALTO"}}},{opcode:"setLanguage",text:n({id:"text2speech.setLanguageBlock",default:"set language to [LANGUAGE]",description:"Set the language for speech synthesis."}),blockType:s.COMMAND,arguments:{LANGUAGE:{type:r.STRING,menu:"languages",defaultValue:this.getCurrentLanguage()}}},{opcode:"setSpeed",text:n({id:"text2speech.setSpeedBlock",default:"set reading speed to [SPEED]%",description:"Set the reading speed and pitch for speech synthesis."}),blockType:s.COMMAND,arguments:{SPEED:{type:r.NUMBER,defaultValue:100}}}],menus:{voices:{acceptReporters:!0,items:this.getVoiceMenu()},languages:{acceptReporters:!0,items:this.getLanguageMenu()}}}}getEditorLanguage(){return(n.setup().locale||navigator.language||navigator.userLanguage||this.DEFAULT_LANGUAGE).toLowerCase()}getCurrentLanguage(){const A=this.runtime.getTargetForStage();return A?(A.textToSpeechLanguage||this.setCurrentLanguage(this.getEditorLanguage()),A.textToSpeechLanguage):this.DEFAULT_LANGUAGE}setCurrentLanguage(A){const e=this.runtime.getTargetForStage();if(!e)return;this.isSupportedLanguage(A)&&(e.textToSpeechLanguage=this._getExtensionLocaleForSupportedLocale(A));const t=i.nameMap[A.toLowerCase()];t&&this.isSupportedLanguage(t)&&(e.textToSpeechLanguage=this._getExtensionLocaleForSupportedLocale(t)),e.textToSpeechLanguage||(e.textToSpeechLanguage=this.DEFAULT_LANGUAGE)}_getExtensionLocaleForSupportedLocale(A){for(const e in this.LANGUAGE_INFO)if(this.LANGUAGE_INFO[e].locales.includes(A))return e;c.error("cannot find extension locale for locale ".concat(A))}_getSpeechSynthLocale(){let A=this.LANGUAGE_INFO[this.DEFAULT_LANGUAGE].speechSynthLocale;return this.LANGUAGE_INFO[this.getCurrentLanguage()]&&(A=this.LANGUAGE_INFO[this.getCurrentLanguage()].speechSynthLocale),A}_getPenguinModSynthLocale(){let A=this.LANGUAGE_INFO[this.DEFAULT_LANGUAGE].penguinmodSynthLocale;return this.LANGUAGE_INFO[this.getCurrentLanguage()]&&(A=this.LANGUAGE_INFO[this.getCurrentLanguage()].penguinmodSynthLocale),A}_getSupportedLocales(){return Object.keys(this.LANGUAGE_INFO).reduce((A,e)=>A.concat(this.LANGUAGE_INFO[e].locales),[])}isSupportedLanguage(A){return this._supportedLocales.includes(A)}getVoiceMenu(){return Object.keys(this.VOICE_INFO).map(A=>({text:this.VOICE_INFO[A].name,value:A}))}getLanguageMenu(){const A=this.getEditorLanguage(),e={};let t=i.menuMap[A];if(t){let n=[];i.spokenLanguages&&(n=i.spokenLanguages[A],t=t.concat(n)),t.forEach(A=>{e[A.code]=A.name})}return Object.keys(this.LANGUAGE_INFO).map(A=>{let t=this.LANGUAGE_INFO[A].name;const n=e[A];return n&&(t=n),t=t.charAt(0).toUpperCase()+t.slice(1),{text:t,value:A}})}setVoice(A,e){const t=this._getState(e.target);let n=A.VOICE,i=parseInt(n,10);isNaN(i)||(i-=1,i=a.wrapClamp(i,0,Object.keys(this.VOICE_INFO).length-1),n=Object.keys(this.VOICE_INFO)[i]),Object.keys(this.VOICE_INFO).includes(n)&&(t.voiceId=n)}setLanguage(A){this.setCurrentLanguage(A.LANGUAGE)}setSpeed(A,e){const t=this._getState(e.target),n=o.toNumber(A.SPEED)/100;t.speed=Q(n)}_stopAllSpeech(){this._soundPlayers.forEach(A=>{A.stop()})}speakAndWait(A,e){let t=o.toString(A.WORDS),n=this._getSpeechSynthLocale();const i=this._getState(e.target);let r=this.VOICE_INFO[i.voiceId].gender,s=this.VOICE_INFO[i.voiceId].playbackRate;this.LANGUAGE_INFO[this.getCurrentLanguage()].singleGender&&(r="female","TENOR"===i.voiceId&&(s=.89),"GIANT"===i.voiceId&&(s=.79)),"KITTEN"===i.voiceId&&(t=t.replace(/\S+/g,"meow"),n=this.LANGUAGE_INFO[this.DEFAULT_LANGUAGE].speechSynthLocale);let a=!1,B="",E=250;this.PENGUINMOD_VOICES.includes(i.voiceId)&&(a=!0,n=this._getPenguinModSynthLocale(),B=this.PENGUINMOD_VOICE_MAP[i.voiceId],E=this.PENGUINMOD_VOICE_VOLUMES[i.voiceId]);let l="";l=a?"".concat("https://pm-bapi.vercel.app/api","/tts"):"".concat("https://synthesis-service.scratch.mit.edu","/synth"),a?(l+="?lang=".concat(n),l+="&voice=".concat(B)):l+="?locale=".concat(n),l+="&gender=".concat(r);let u=128;return a&&(u=512),l+="&text=".concat(encodeURIComponent(t.substring(0,u))),"number"==typeof i.speed&&(s*=i.speed,s=Q(s)),g(l,{},1e4).then(A=>{if(200!==A.status)throw new Error("HTTP ".concat(A.status," error reaching translation service"));return A.arrayBuffer()}).then(A=>{const e={data:{buffer:A}};return this.runtime.audioEngine.decodeSoundPlayer(e)}).then(A=>{this._soundPlayers.set(A.id,A),A.setPlaybackRate(s);const e=this.runtime.audioEngine.createEffectChain();return e.set("volume",E),A.connect(e),A.play(),new Promise(e=>{A.on("stop",()=>{this._soundPlayers.delete(A.id),e()})})}).catch(A=>{c.warn(A)})}}A.exports=E},function(A,e,t){const n=t(3),i=t(1),r=t(2),s=t(8),o=t(72),a=t(105),B=t(7);A.exports=class{constructor(){this._viewerLanguageCode=this.getViewerLanguageCode(),this._supportedLanguages=[],this._randomLanguageCode="en",this._translateResult="",this._lastLangTranslated="",this._lastTextTranslated=""}static get STATE_KEY(){return"Scratch.translate"}getInfo(){return this._supportedLanguages=this._getSupportedLanguages(this.getViewerLanguageCode()),this._randomLanguageCode=this._supportedLanguages[Math.floor(Math.random()*this._supportedLanguages.length)].value,{id:"translate",name:B({id:"translate.categoryName",default:"Translate",description:"Name of extension that adds translate blocks"}),blockIconURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAN+UlEQVR4Ae1ce2xT1xn/Tkhq4hqHJKRLDAlQGI+GUfFc14HaLmxuGd0ab93GgK6Vmm01y9BUsaU0RfyRFTakaRHq3So6jVapWEUxa9dRuU8x6IAGCoO6wa1KXiSQOE9jkjivO/2u7yWOuff6XvvekFb5SUdx7ON7v/vz9zrnO+cwnudpAokjZYK75DBBYJKYIDBJTBCYJCYITBJfOgIZYzbGWA5jLJ8xNm/z5s334a/4P1omYyzNsPt9WdIYxhiUId/j8azPz89fY7VaF6ampjqi+4TD4Qvd3d0f7t+/fx/HcTVE1M7z/EBS99VDoCikTWzWMdTgYSLqIaIQGs/zwzKyOaqrq1+aOnVqUUZGBqWnp5PFYqG0tDQaHh6mvr4+GhwcpFAoJLSenp4P9+7dW8Zx3Fme5zsTFSxVa0eovtPpnL1ly5YfzJgxw2WxWBYketNEAO25dOmSp7Ky8iBjrFbmoW12u70oOzubMjMzR32QkpJCVqtVeG2322lgYIACgcDK0tLS1+6+++4yxpiH5/krCQkGDYzXiCi3qqrKXVNTE7x48SLf0dHB9/X18WMF3Av3xL0hA2SBTNFyE9E8v9/PX758WbNUuCa+4/F4ymKvp7XF1UDGWK7H43m0sLBwZ05Ozg2/7lgApoiGe3d2dk5ZsWLFcx6Px84Y2xelOcHW1taXiOiRcDgsaJ2gljab0GDKscD1Jk2ahHd3ejwePOtenufb9TySKoEw26qqKhfIy83NFdT/ZiP6oauqqoKMsf2iObeuXr26vKKiwpOVlTXFbrfb8/LyFubk5KyBu1H68aVnGh4e3uZ2u08yxo7pCixKqgrX4XQ6l8JkoOrjDZAJskFGyBolt0UMcGhgJ19yP2rm3dDQwJ85c+akXlNWI9B++PDh38PvjFdANsgIWVUfksheUVHxfZDY3d0t+zT9/f2CP3S73feJWYZFC4FqJmxDtJ06daphRnuiluhrDqJbLcZcD7JBRiJ6Dj5Qrg9jDHfLhlm3tbUdslgsj8i5IvhI+MpNmzaVLlq0yCN+9wMiCvA8H1KSQY1AK3yHFP6ThfcTouePEaVNItrzI6LbpiR/TcgmplOyQmLE4XQ6C3fv3v0y+iEQIbggjZELKiB2+vTpxXl5ecUIRD6fr/nQoUNuxtjbPM/3yN1DLREWPsNNjUBNC9HgMFEKI2q5asglo2VTeo7sioqKP6anpwtBZObMmZSfny9LHokRG5+jn8PhoFtuucVRXFzMQdmVZPiyTyakIblGBqE3/QKZIBLDQafTmavUT/NIRA3XwkSlB4jaFD3FCPqHiJ5+Xb3PNBvRnoeN85UYyiUCmDHg9XoVn8wQDTxRR9RxjQjxLl4DgfH64Fq4pgEY6OjoONTe3q6bRPTH9zBmFsfgsjBEA4vmE/kuE30eiPzfN0B0WYyJGelEWQpx6FJXhNC0FKIcG9Fk0TUVZEWuaQBad+zYUbF79+6FjY2NC+DfpBGKGkBeY2MjBYPBC2VlZU9g1sZUAoFf3zvyGia9/u8RbRrmiSofvrG/1IeEaEn0/E+NkmQEmLVhjPmIaAMisRYSo8nbunXrBq/X6+N5PqzU35QgAt8177bI655+ovPNN/Z50xeJyIyIlswwQ4oI8PAgAWSAFJCjZM56ySMzo/DP7iJKTSEaGibi/jP6M2jfwbNEQzzRpBSin68yS4oItJCYCHlkJoEYcWSKvu9KkOjwxyOf7T9F1DsQ0b6CTGOS6niQIxEJNSVBHhnpA+Xwm28RPfOvSAL9t+NEy2cShcJEr5+P+EcQ+PT9ZkowGiBF8olIsMPhcBFmrnt7e4Voi4Chhzwym0BoYWFexAcODBGVvUbU3RshbxIjWrdobLQvGhKJXq+3xO12z1q3bt2aN9544x2O45A4Neshj8wmENjmJHr8ZaJQ/0iizcRk+fFvmn13eYgk1TLGWjiOwxQWKY1148H0oRwiMohiUYky8Oz3zL5zfIA0qSV6DdM18NWPiF4+FXnNogh84h9EW9cQ3TV7pC+ceVTVTNPooa5OGLLMYkgmE0fcqp8STCPwYhvRn94jauqKBBHJbOED4Q8xAtn1FtH8rxA9WUSUNthJiQy5Zs2aRX6/35usvBqqfrJQrAujmu/3+/3z5s3TJQgCxsEzRP9riuSAUsBYXhCJysCWVyP+EHkgiA0Hr9D9Xw3S/QuJJlvShIlSca4vASr0A5MG0Piuri68vnr69OmyjRs3aip1GqaByPNePRuZCMDwTSIuPY1oy32jTfWFDUQvniB67RzRta4rtDwvSN8tJBrnVT9ZGEIgpupf+C/RgGh90CpMEKwtJFq/XH5aCiOVb0zvpH+fipD3Baj6yUKNQIEOqLcWU4IPx9ANGue6k+iBQvX5PPi6lHD7dc0bD+RJgCxDQ0O0bNmyXU6n8wRjrFsxsKhUshznzp2r0VrSbAny/OcB7eU7VMdQBfuiV/3U8sAQohIcqxZgRHH7NO2/MlIVEitr4xVRVT+bkoiqBCKkIyp1dia8eEkRiHokVtbGK+JV/VQJhM17vd5ahPRAIICZCkMfU8r3xipVSQQaqn7qURjRB0u/ENIRleBYb0aaEQ+Btk4qfXLnqF7bn/oF3bFgjun3jjsWRh7kcrn2VVdXb25pablaW1uLXOl6xWo84LD36A1SHDl6akwk05QHgkTkQwjpsQsstSa/V65cGeUGMIbFMMwIyJFVfdpHj2zopVut6YbcQwmaZ2Ngzl6v9+zatWv/sHjx4u9UVlYKAzMUoOMB5HV1dV09cODAQ/NFOJ1OpxEPAKJ6evtueB/vnTrtM+IWqtA1nYXAwvM81GgAi3CUFi5KQKBobm4WyDt48OCm8vLy93me/xQNSmjEAxw5NqJ91vTJQpNQ/dE4I5AikwxWjuPWZGVlFWM9shLgI+vr6zHDcoHjuAdF8gwN5dd6eulUFEkrlhUKTQI+Q4AxE4lMqOasWrXqafg9uRREquiDvKamppe2bdv2kz179pwwmjyS8X3Lly4SWjSqT38s/2WDkMhkggUBJHbsCuIQndH6+/ubjxw58ju32/0eXKCeCUo9iDbfadMyr2sfzFjyi4ffOkZrnatNoi8xAoX1JjabrRhDnehZZBDn9/v3uFyuV+ItTEwWdQ3NVN9w+fpVViwdMV0QeeTYaeF1W1un0HdWgcNoEQQkYsJd27dvfxa+7dKlS9TQ0NBcV1d36OTJk5sLCwtXuVwujuf5WjPJIxnzvWf18uuvY834TZk80Sjo1kBxdPLp4sWLizBnKr4NewnqLQkmg1gCy575s+LVkOo8UWKOHAlV5cSAgGmadnG/WWCsyZPL/ZSAvmaNTHRroLho2xFdlGaMXRSDxZiQGJvf3bHgdtl+n1y4OOo70WZuFHQRCPKwaHvXrl1/sVqtK7EsYs6cOdsee+yxd8vLy3+Lir/ZJCKvi879Zhbk0fanfinb91dP7hSCCEXlhDnTjJ0M0WzCEnlYZ5eZmbly7ty5woLs2bNnYzxchPfxuaihpiE2r7tnlbJWRUdmMikn1ERgNHl2u33UIkUM5fA/3h8LEpHXRWPFskWKfWNNNva7RkDLZkNF8iTgf7yPFaDoh9VPZpnzvVEaZ7VOVjVJ5H4/fOjbRoswGnG2SIG8pSgu1dXV8UNDQ6pFGHyOfugv7mFT3C5FRHNRVBrLbbN6AdkgI2RNZK+cLvIkyJCYonB9XVW/mwHIBhkhayJVuWxEWyWzVYJkzjabbcGOHTvKUbBT6Kqr6nczANkgo9o2BzVWbEhVMGWllbzrF01JIXwPU16IMwrdTK36JQuxbHEVMiZEoNPpFKaaE62axSPd7KpfMoAskAmyQUa12STFKOz1egODg4PN9fX1Dqxb0TJ1LwG/HuYEg8Hgu5i9Ueo3Hqt+kB3k+Xy+p8QVWqrmoZbGtGOrJ3YrNjc3O6StonhAOTKx4h21D0xvYTYa6+0wOlHb5UMjBat9WMiDtShdXV1TvkjL21TPjcEpQJiB5jhOWM28ZMkSV0FBQTG2gsoBJU/MQp8/f/5tt9v9gZ5F20Yeq4LJXlhNPEjaRjELLEWz1eaYNR57AlWwYTs88iJsj5cDFgxhWz2218fbhq90ToN4zgF+obk4ykRvk7b2azn+JGabf754b9m0S3ceqPCAuTiYAQc0KAGCR53tIgklHQKh6RyCZFr0+QhNTU1x81f0OX78uMe0c2Ni0I7jknDiTzAYxNEiN3SA6VgsFmGV57lz50oDgcA7fr9f2ErQ0dFxlTH2ERE1mVUnwVwlY+z9lpaWB0tKSv4aDocXwOUo+VOkW6FQqJjjOI94gpG+FfsJmFk2TvqB6iudgCGZBzJ5aCsaRif4ztGjR19M9NfWKadl3bp1d+J+uG9bW5uiNra2tkojjpm675OgcLkSiXqGYjBvcWw5z2wC+RGf6uA4bqPP52v67LPPZImMGvPqliuhNdKxqUdvb+8UrJFRW6VAN2Epm+gmmhlj/ySiDzwez4/nz59f2tnZ6ZCOhEJqhvQFlUa1nFUJCS8ylxYcud3umpKSkl2hUGilJFRqaipNnjz5+hEjyLOwoa+7u1tKrk2t2MnIKmygYYzhBI5XqqqqHpgzZ84au93+dRwqgRQGlUaxzqMLSR/AKJ4Gme12uxeuX7/+0YyMjJWxORxGND09PTWNjY3vuFyu/UTUaFYQ0SizRcwOpIU0Q2JVUf8Pa6C/AZGZYuqSL+VkYh6H/3OQS46F7xvLNnGSeZKYOMU3SUwQmCQmCEwSEwQmiQkCkwER/R+aET3lwEIlXgAAAABJRU5ErkJggg==",menuIconURI:"data:image/png;base64,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",blocks:[{opcode:"getTranslate",text:B({id:"translate.translateBlock",default:"translate [WORDS] to [LANGUAGE]",description:"translate some text to a different language"}),blockType:i.REPORTER,arguments:{WORDS:{type:n.STRING,defaultValue:B({id:"translate.defaultTextToTranslate",default:"hello",description:"hello: the default text to translate"})},LANGUAGE:{type:n.STRING,menu:"languages",defaultValue:this._randomLanguageCode}}},{opcode:"getViewerLanguage",text:B({id:"translate.viewerLanguage",default:"language",description:"the languge of the project viewer"}),blockType:i.REPORTER,arguments:{}}],menus:{languages:{acceptReporters:!0,items:this._supportedLanguages}}}}_getSupportedLanguages(A){return a.menuMap[A].map(A=>({text:A.name,value:A.code}))}getViewerLanguage(){this._viewerLanguageCode=this.getViewerLanguageCode();const A=a.menuMap[this._viewerLanguageCode];let e=A.find(A=>A.code===this._viewerLanguageCode);if(!e&&a.scratchToGoogleMap[this._viewerLanguageCode]){const t=a.scratchToGoogleMap[this._viewerLanguageCode];e=A.find(A=>A.code===t)}let t=this._viewerLanguageCode;return e&&(t=e.name),t}getViewerLanguageCode(){const A=[B.setup().locale].concat(navigator.languages),e=Object.keys(a.menuMap);return(A.reduce((A,t)=>A||(e.indexOf(t.toLowerCase())>-1?t:A),"")||"en").toLowerCase()}getLanguageCodeFromArg(A){const e=r.toString(A).toLowerCase();return a.menuMap.hasOwnProperty(e)?e:a.nameMap.hasOwnProperty(e)?a.nameMap[e]:-1!==a.previouslySupported.indexOf(e)?e:"en"}getTranslate(A){if(/^\d+$/.test(A.WORDS))return Promise.resolve(A.WORDS);if(this._lastTextTranslated===A.WORDS&&this._lastLangTranslated===A.LANGUAGE)return this._translateResult;const e=this.getLanguageCodeFromArg(A.LANGUAGE);let t="".concat("https://trampoline.turbowarp.org/translate/","translate?language=");t+=e,t+="&text=",t+=encodeURIComponent(A.WORDS);const n=this;return o(t,{},1e4).then(A=>A.text()).then(e=>{const t=JSON.parse(e).result;return n._translateResult=t,n._lastTextTranslated=A.WORDS,n._lastLangTranslated=A.LANGUAGE,t}).catch(A=>(s.warn("error fetching translate result! ".concat(A)),""))}}},function(A,e,t){const n=t(106),i=t(3),r=t(1),s=t(10),o=t(2),a=t(7),B=t(116),c=t(287),g={MOTION:"motion",DIRECTION:"direction"},Q={STAGE:"Stage",SPRITE:"this sprite"},E={OFF:"off",ON:"on",ON_FLIPPED:"on-flipped"};class l{constructor(A){this.runtime=A,this.detect=new c,this._lastUpdate=null,this.firstInstall=!0,this.runtime.ioDevices&&(this.runtime.on(n.PROJECT_LOADED,this.updateVideoDisplay.bind(this)),this.runtime.on(n.PROJECT_RUN_START,this.reset.bind(this)),this._loop())}static get INTERVAL(){return 33}static get DIMENSIONS(){return[480,360]}static get STATE_KEY(){return"Scratch.videoSensing"}static get DEFAULT_MOTION_STATE(){return{motionFrameNumber:0,motionAmount:0,motionDirection:0}}get globalVideoTransparency(){const A=this.runtime.getTargetForStage();return A?A.videoTransparency:50}set globalVideoTransparency(A){const e=this.runtime.getTargetForStage();return e&&(e.videoTransparency=A),A}get globalVideoState(){const A=this.runtime.getTargetForStage();return A?A.videoState:E.OFF}set globalVideoState(A){const e=this.runtime.getTargetForStage();return e&&(e.videoState=A),A}updateVideoDisplay(){this.setVideoTransparency({TRANSPARENCY:this.globalVideoTransparency}),this.videoToggle({VIDEO_STATE:this.globalVideoState})}reset(){this.detect.reset();const A=this.runtime.targets;for(let e=0;e<A.length;e++){const t=A[e].getCustomState(l.STATE_KEY);t&&(t.motionAmount=0,t.motionDirection=0)}}_loop(){setTimeout(this._loop.bind(this),Math.max(this.runtime.currentStepTime,l.INTERVAL));const A=Date.now();null===this._lastUpdate&&(this._lastUpdate=A);if(A-this._lastUpdate>l.INTERVAL){const e=this.runtime.ioDevices.video.getFrame({format:B.FORMAT_IMAGE_DATA,dimensions:l.DIMENSIONS});e&&(this._lastUpdate=A,this.detect.addFrame(e.data))}}_buildMenu(A){return A.map((A,e)=>{const t={};return t.text=A.name,t.value=A.value||String(e+1),t})}_getMotionState(A){let e=A.getCustomState(l.STATE_KEY);return e||(e=s.simple(l.DEFAULT_MOTION_STATE),A.setCustomState(l.STATE_KEY,e)),e}static get SensingAttribute(){return g}get ATTRIBUTE_INFO(){return[{name:a({id:"videoSensing.motion",default:"motion",description:'Attribute for the "video [ATTRIBUTE] on [SUBJECT]" block'}),value:g.MOTION},{name:a({id:"videoSensing.direction",default:"direction",description:'Attribute for the "video [ATTRIBUTE] on [SUBJECT]" block'}),value:g.DIRECTION}]}static get SensingSubject(){return Q}get SUBJECT_INFO(){return[{name:a({id:"videoSensing.sprite",default:"sprite",description:'Subject for the "video [ATTRIBUTE] on [SUBJECT]" block'}),value:Q.SPRITE},{name:a({id:"videoSensing.stage",default:"stage",description:'Subject for the "video [ATTRIBUTE] on [SUBJECT]" block'}),value:Q.STAGE}]}static get VideoState(){return E}get VIDEO_STATE_INFO(){return[{name:a({id:"videoSensing.off",default:"off",description:'Option for the "turn video [STATE]" block'}),value:E.OFF},{name:a({id:"videoSensing.on",default:"on",description:'Option for the "turn video [STATE]" block'}),value:E.ON},{name:a({id:"videoSensing.onFlipped",default:"on flipped",description:'Option for the "turn video [STATE]" block that causes the video to be flipped horizontally (reversed as in a mirror)'}),value:E.ON_FLIPPED}]}getInfo(){return this.firstInstall&&(this.globalVideoState=E.ON,this.globalVideoTransparency=50,this.updateVideoDisplay(),this.firstInstall=!1),{id:"videoSensing",name:a({id:"videoSensing.categoryName",default:"Video Sensing",description:"Label for the video sensing extension category"}),blockIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1ZpZGVvLVNlbnNpbmctQmxvY2s8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iRXh0ZW5zaW9ucy9Tb2Z0d2FyZS9WaWRlby1TZW5zaW5nLUJsb2NrIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2Utb3BhY2l0eT0iMC4xNSI+CiAgICAgICAgPGcgaWQ9InZpZGVvLW1vdGlvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDEwLjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMDAwMDAwIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjRkZGRkZGIiBvcGFjaXR5PSIwLjI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGN4PSIzMiIgY3k9IjE2IiByPSI0LjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLUNvcHkiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjeD0iMzIiIGN5PSIxMiIgcj0iNC41Ij48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjRkZGRkZGIiBvcGFjaXR5PSIwLjc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGN4PSIzMiIgY3k9IjgiIHI9IjQuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY3g9IjMyIiBjeT0iNCIgcj0iNC41Ij48L2NpcmNsZT4KICAgICAgICAgICAgPHBhdGggZD0iTTIyLjY3MTk0NzcsNC40MTk1NzY0OSBMMTYuNSw4LjQxOTkxMjk4IEwxNi41LDYuMSBDMTYuNSw0LjA4OTc2NDU0IDE0LjkzNzE4MDYsMi41IDEzLDIuNSBMNC4xLDIuNSBDMi4wNzYxNDIzNywyLjUgMC41LDQuMDc2MTQyMzcgMC41LDYuMSBMMC41LDE0IEMwLjUsMTUuOTI3Mzk4NyAyLjA4NDQ5ODM5LDE3LjUxMTg5NzEgNC4xLDE3LjYgTDEzLDE3LjYgQzE0LjkwMTY2MDIsMTcuNiAxNi41LDE1Ljk0NjU0NSAxNi41LDE0IEwxNi41LDExLjcxNjkwNDggTDIyLjc1NzI0NzksMTUuNDcxMjUzNSBMMjIuODUzNTUzNCwxNS41NDY0NDY2IEMyMi44NzM3ODg2LDE1LjU2NjY4MTggMjIuOTUxNTMxLDE1LjYgMjMsMTUuNiBDMjMuMjY2OTg2NSwxNS42IDIzLjUsMTUuMzgyNTIwNyAyMy41LDE1LjEgTDIzLjUsNC44IEMyMy41LDQuODM2NzY1MzggMjMuNDQzODA1OCw0LjcwNTY0NTYzIDIzLjM3MTI1MzUsNC41NTcyNDc4OCBDMjMuMjI1OTA1Niw0LjMxNTAwMTM5IDIyLjk0MTU5MzcsNC4yNTgxMzg5OSAyMi42NzE5NDc3LDQuNDE5NTc2NDkgWiIgaWQ9InZpZGVvXzM3XyIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",menuIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1ZpZGVvLVNlbnNpbmctTWVudTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxnIGlkPSJFeHRlbnNpb25zL1NvZnR3YXJlL1ZpZGVvLVNlbnNpbmctTWVudSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InZpZGVvLW1vdGlvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDUuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjMEVCRDhDIiBvcGFjaXR5PSIwLjI1IiBjeD0iMTYiIGN5PSI4IiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjMEVCRDhDIiBvcGFjaXR5PSIwLjUiIGN4PSIxNiIgY3k9IjYiIHI9IjIiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLUNvcHkiIGZpbGw9IiMwRUJEOEMiIG9wYWNpdHk9IjAuNzUiIGN4PSIxNiIgY3k9IjQiIHI9IjIiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsPSIjMEVCRDhDIiBjeD0iMTYiIGN5PSIyIiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgPHBhdGggZD0iTTExLjMzNTk3MzksMi4yMDk3ODgyNSBMOC4yNSw0LjIwOTk1NjQ5IEw4LjI1LDMuMDUgQzguMjUsMi4wNDQ4ODIyNyA3LjQ2ODU5MDMxLDEuMjUgNi41LDEuMjUgTDIuMDUsMS4yNSBDMS4wMzgwNzExOSwxLjI1IDAuMjUsMi4wMzgwNzExOSAwLjI1LDMuMDUgTDAuMjUsNyBDMC4yNSw3Ljk2MzY5OTM3IDEuMDQyMjQ5MTksOC43NTU5NDg1NiAyLjA1LDguOCBMNi41LDguOCBDNy40NTA4MzAwOSw4LjggOC4yNSw3Ljk3MzI3MjUgOC4yNSw3IEw4LjI1LDUuODU4NDUyNDEgTDguNjI4NjIzOTQsNi4wODU2MjY3NyBMMTEuNDI2Nzc2Nyw3Ljc3MzIyMzMgQzExLjQzNjg5NDMsNy43ODMzNDA5MSAxMS40NzU3NjU1LDcuOCAxMS41LDcuOCBDMTEuNjMzNDkzMiw3LjggMTEuNzUsNy42OTEyNjAzNCAxMS43NSw3LjU1IEwxMS43NSwyLjQgQzExLjc1LDIuNDE4MzgyNjkgMTEuNzIxOTAyOSwyLjM1MjgyMjgyIDExLjY4NTYyNjgsMi4yNzg2MjM5NCBDMTEuNjEyOTUyOCwyLjE1NzUwMDY5IDExLjQ3MDc5NjgsMi4xMjkwNjk1IDExLjMzNTk3MzksMi4yMDk3ODgyNSBaIiBpZD0idmlkZW9fMzdfIiBzdHJva2Utb3BhY2l0eT0iMC4xNSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNSIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",blocks:[{opcode:"whenMotionGreaterThan",text:a({id:"videoSensing.whenMotionGreaterThan",default:"when video motion > [REFERENCE]",description:"Event that triggers when the amount of motion is greater than [REFERENCE]"}),blockType:r.HAT,arguments:{REFERENCE:{type:i.NUMBER,defaultValue:10}}},{opcode:"videoOn",blockType:r.REPORTER,text:a({id:"videoSensing.videoOn",default:"video [ATTRIBUTE] on [SUBJECT]",description:"Reporter that returns the amount of [ATTRIBUTE] for the selected [SUBJECT]"}),arguments:{ATTRIBUTE:{type:i.STRING,menu:"ATTRIBUTE",defaultValue:g.MOTION},SUBJECT:{type:i.STRING,menu:"SUBJECT",defaultValue:Q.SPRITE}}},{opcode:"videoToggle",text:a({id:"videoSensing.videoToggle",default:"turn video [VIDEO_STATE]",description:"Controls display of the video preview layer"}),arguments:{VIDEO_STATE:{type:i.STRING,menu:"VIDEO_STATE",defaultValue:E.ON}}},{opcode:"setVideoTransparency",text:a({id:"videoSensing.setVideoTransparency",default:"set video transparency to [TRANSPARENCY]",description:"Controls transparency of the video preview layer"}),arguments:{TRANSPARENCY:{type:i.NUMBER,defaultValue:50}}}],menus:{ATTRIBUTE:{acceptReporters:!0,items:this._buildMenu(this.ATTRIBUTE_INFO)},SUBJECT:{acceptReporters:!0,items:this._buildMenu(this.SUBJECT_INFO)},VIDEO_STATE:{acceptReporters:!0,items:this._buildMenu(this.VIDEO_STATE_INFO)}}}}_analyzeLocalMotion(A){const e=this.runtime.renderer._allDrawables[A.drawableID],t=this._getMotionState(A);return this.detect.getLocalMotion(e,t),t}videoOn(A,e){this.detect.analyzeFrame();let t=this.detect;return A.SUBJECT===Q.SPRITE&&(t=this._analyzeLocalMotion(e.target)),A.ATTRIBUTE===g.MOTION?t.motionAmount:t.motionDirection}whenMotionGreaterThan(A,e){this.detect.analyzeFrame();return this._analyzeLocalMotion(e.target).motionAmount>Number(A.REFERENCE)}videoToggle(A){const e=A.VIDEO_STATE;this.globalVideoState=e,e===E.OFF?this.runtime.ioDevices.video.disableVideo():(this.runtime.ioDevices.video.enableVideo(),this.runtime.ioDevices.video.mirror=e===E.ON)}setVideoTransparency(A){const e=o.toNumber(A.TRANSPARENCY);this.globalVideoTransparency=e,this.runtime.ioDevices.video.setPreviewGhost(e)}}A.exports=l},function(A,e,t){const n=t(108),i=t(14),r=function A(e,t,r,s){var o,a,B,c;e.attributes.id||(e.attributes.id={},e.attributes.id.value=i()),null!==(a=(o=e.attributes).x)&&void 0!==a||(o.x={}),null!==(c=(B=e.attributes).y)&&void 0!==c||(B.y={});const g={id:e.attributes.id.value,opcode:e.attributes.type.value,inputs:{},fields:{},next:null,topLevel:r,parent:s,shadow:"shadow"===e.tagName,x:e.attributes.x.value,y:e.attributes.y.value};t[g.id]=g;for(let r=0;r<e.children.length;r++){const s=e.children[r];let o=null,a=null;for(let A=0;A<s.children.length;A++){const e=s.children[A];if(!e.tagName)continue;const t=e.tagName;"block"===t?o=e:"shadow"===t&&(a=e)}switch(!o&&a&&(o=a),s.tagName){case"field":{var Q,E,l,u;const A=s.attributes.name.value;null!==(E=(Q=s.attributes).id)&&void 0!==E||(Q.id={value:i()});const e=s.attributes.id.value;let t="";t=s.innerHTML?s.textContent:"",g.fields[A]={name:A,id:e,value:t},null!==(u=(l=s.attributes).variabletype)&&void 0!==u||(l.variabletype={});const n=s.attributes.variabletype.value;"string"==typeof n&&(g.fields[A].variableType=n);break}case"comment":g.comment=s.attributes.id.value;break;case"value":case"statement":{A(o,t,!1,g.id),a&&o!==a&&A(a,t,!1,g.id);const e=s.attributes.name.value;g.inputs[e]={name:e,block:o.attributes.id.value,shadow:a?a.attributes.id.value:null};break}case"next":if(!o||!o.attributes)continue;A(o,t,!1,g.id),g.next=o.attributes.id.value;break;case"mutation":g.mutation=n(s)}}};A.exports=function(A){if("object"!=typeof A)return;if("object"!=typeof A.xml)return;return function(A){const e={};for(let t=0;t<A.length;t++){const n=A[t];if(!n.tagName||!n.attributes)continue;const i=n.tagName;"block"!==i&&"shadow"!==i||r(n,e,!0,null)}const t=[];for(const A in e)e.hasOwnProperty(A)&&t.push(e[A]);return t}((new DOMParser).parseFromString(A.xml.outerHTML,"application/xml").childNodes)}},function(A,e){let t=0;const n={},i="object"==typeof window&&window.performance;class r{constructor(A){this.id=-1,this.totalTime=0,this.selfTime=0,this.arg=null,this.depth=A,this.count=0}}class s{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};this.records=[],this.increments=[],this.counters=[],this.nullFrame=new r(-1),this._stack=[new r(0)],this.onFrame=A,this.START=0,this.STOP=1}start(A,e){this.records.push(0,A,e,i.now())}stop(){this.records.push(1,i.now())}increment(A){this.increments[A]||(this.increments[A]=new r(-1),this.increments[A].id=A),this.increments[A].count+=1}frame(A,e){for(let t=0;t<this.counters.length;t++)if(this.counters[t].id===A&&this.counters[t].arg===e)return this.counters[t];const t=new r(-1);return t.id=A,t.arg=e,this.counters.push(t),t}reportFrames(){const A=this._stack;let e=1;for(let t=0;t<this.records.length;)if(0===this.records[t]){e>=A.length&&A.push(new r(e));const n=A[e++];n.id=this.records[t+1],n.arg=this.records[t+2],n.totalTime=this.records[t+3],n.selfTime=0,t+=4}else{if(1!==this.records[t])throw this.records.length=0,new Error("Unable to decode Profiler records.");{const n=this.records[t+1],i=A[--e];i.totalTime=n-i.totalTime,i.selfTime+=i.totalTime,A[e-1].selfTime-=i.totalTime,i.count=1,this.onFrame(i),t+=2}}for(let A=0;A<this.increments.length;A++)this.increments[A]&&this.increments[A].count>0&&(this.onFrame(this.increments[A]),this.increments[A].count=0);for(let A=0;A<this.counters.length;A++)this.counters[A].count>0&&(this.onFrame(this.counters[A]),this.counters[A].count=0);this.records.length=0}idByName(A){return s.idByName(A)}nameById(A){return s.nameById(A)}static idByName(A){return"number"!=typeof n[A]&&(n[A]=t++),n[A]}static nameById(A){for(const e in n)if(n[e]===A)return e;return null}static available(){return"object"==typeof window&&void 0!==window.performance}}s.START=0,s.STOP=1,A.exports=s},function(A,e,t){const n=t(23),i=t(55),r=t(115),s=t(74);let o=-1,a=-1,B=-1;class c{constructor(A){this.timer=new n,this.runtime=A,this.activeThread=null}static get WARP_TIME(){return 500}stepThreads(){const A=.75*this.runtime.currentStepTime;this.runtime.updateCurrentMSecs(),this.timer.start();let e=1/0,t=!1;const n=[];for(;this.runtime.threads.length>0&&e>0&&this.timer.timeElapsed()<A&&(this.runtime.turboMode||!this.runtime.redrawRequested);){null!==this.runtime.profiler&&(-1===a&&(a=this.runtime.profiler.idByName("Sequencer.stepThreads#inner")),this.runtime.profiler.start(a)),e=0;let A=!1;const r=this.runtime.threads;for(let n=0;n<r.length;n++){const s=this.activeThread=r[n];0!==s.stack.length&&s.status!==i.STATUS_DONE?s.status!==i.STATUS_PAUSED?(s.status!==i.STATUS_YIELD_TICK||t||(s.status=i.STATUS_RUNNING),s.status!==i.STATUS_RUNNING&&s.status!==i.STATUS_YIELD||(null!==this.runtime.profiler&&(-1===o&&(o=this.runtime.profiler.idByName("Sequencer.stepThread")),this.runtime.profiler.increment(o)),this.stepThread(s),s.warpTimer=null,s.isKilled&&n--),s.status===i.STATUS_RUNNING&&e++,0!==s.stack.length&&s.status!==i.STATUS_DONE||(A=!0)):s.timer&&!s.timer._pausedTime&&s.timer.pause():A=!0}if(t=!0,null!==this.runtime.profiler&&this.runtime.profiler.stop(),A){let A=0;for(let e=0;e<this.runtime.threads.length;e++){const t=this.runtime.threads[e];0!==t.stack.length&&t.status!==i.STATUS_DONE?(this.runtime.threads[A]=t,A++):(this.runtime.threadMap.delete(t.getId()),n.push(t))}this.runtime.threads.length=A}}return this.activeThread=null,n}stepThread(A){if(A.isCompiled)return void s(A);let e=A.peekStack();if(e||(A.popStack(),0!==A.stack.length))for(;e=A.peekStack();){let t=A.peekStackFrame().warpMode;if(t&&!A.warpTimer&&(A.warpTimer=new n,A.warpTimer.start()),null!==this.runtime.profiler&&(-1===B&&(B=this.runtime.profiler.idByName("execute")),this.runtime.profiler.increment(B)),null===A.target?this.retireThread(A):r(this,A),A.blockGlowInFrame=e,A.status===i.STATUS_YIELD){if(A.status=i.STATUS_RUNNING,t&&A.warpTimer.timeElapsed()<=c.WARP_TIME)continue;return}if(A.status===i.STATUS_PROMISE_WAIT)return;if(A.status===i.STATUS_YIELD_TICK)return;for(A.peekStack()===e&&A.goToNextBlock();!A.peekStack();){if(A.popStack(),0===A.stack.length)return void(A.status=i.STATUS_DONE);const e=A.peekStackFrame();if(t=e.warpMode,e.isLoop){if(!t||A.warpTimer.timeElapsed()>c.WARP_TIME)return}else{if(e.waitingReporter)return;A.goToNextBlock()}}}else A.status=i.STATUS_DONE}stepToBranch(A,e,t){e||(e=1);const n=A.peekStack(),i=A.target.blocks.getBranch(n,e);A.peekStackFrame().isLoop=t,i?A.pushStack(i):A.pushStack(null)}stepToProcedure(A,e){const t=A.target.blocks.getProcedureDefinition(e);if(!t)return;const n=A.isRecursiveCall(e);if(A.pushStack(t),A.peekStackFrame().warpMode&&A.warpTimer.timeElapsed()>c.WARP_TIME)A.status=i.STATUS_YIELD;else{const e=A.target.blocks.getBlock(t),r=A.target.blocks.getBlock(e.inputs.custom_block.block);let s=!1;if(r&&r.mutation){const A=r.mutation.warp;"boolean"==typeof A?s=A:"string"==typeof A&&(s=JSON.parse(A))}s?A.peekStackFrame().warpMode=!0:n&&(A.status=i.STATUS_YIELD)}}retireThread(A){A.stack=[],A.stackFrame=[],A.requestScriptGlowInFrame=!1,A.status=i.STATUS_DONE,A.isCompiled&&(A.procedures=null,A.generator=null)}}A.exports=c},function(A,e,t){const n=t(111),i=t(113);A.exports=A=>{const e=new n(A).generate(),t={},r=A.target,s=A=>{if(A.cachedCompileResult)return A.cachedCompileResult;const t=new i(A,e,r).compile();return A.cachedCompileResult=t,t},o=s(e.entry);for(const A of Object.keys(e.procedures)){const n=s(e.procedures[A]);t[A]=n}return{startingFunction:o,procedures:t,executableHat:e.entry.executableHat}}},function(A,e){A.exports={statementBlocks:["control_clear_counter","control_incr_counter","control_decr_counter","control_set_counter","looks_hideallsprites","looks_say","looks_sayforsecs","looks_setstretchto","looks_switchbackdroptoandwait","looks_think","looks_thinkforsecs","motion_align_scene","motion_glidesecstoxy","motion_glideto","motion_goto","motion_pointtowards","motion_scroll_right","motion_scroll_up","sensing_askandwait","sensing_setdragmode","sound_changeeffectby","sound_changevolumeby","sound_cleareffects","sound_play","sound_playuntildone","sound_stop","sound_seteffectto","sound_setvolumeto","sound_stopallsounds","looks_setStretch","data_reverselist","data_arraylist","control_switch","control_switch_default","control_case","control_exitCase","control_case_next","control_backToGreenFlag","looks_setHorizTransform","looks_setVertTransform","looks_layersSetLayer","control_waitsecondsoruntil","control_delete_clones_of","control_stop_sprite","looks_changeVisibilityOfSprite","looks_previouscostume","looks_previousbackdrop","motion_pointinrandomdirection","motion_move_sprite_to_scene_side","sound_playallsounds","looks_stoptalking","sensing_setclipboard","motion_movebacksteps","motion_moveupdownsteps","motion_turnrightaroundxy","motion_turnleftaroundxy","motion_turnaround","motion_pointinrandomdirection","motion_pointtowardsxy","motion_glidedirectionstepsinseconds","motion_changebyxy","motion_ifonspritebounce","motion_ifonxybounce","motion_move_sprite_to_scene_side","control_javascript_command","looks_changeVisibilityOfSpriteShow","looks_changeVisibilityOfSpriteHide","sound_pause","sound_set_stop_fadeout_to","sound_play_at_seconds","sound_play_at_seconds_until_done","sound_pauseallsounds"],outputBlocks:["control_get_counter","motion_xscroll","motion_yscroll","sensing_loud","sensing_loudness","sensing_userid","sound_volume","control_if_return_else_return","looks_stretchGetX","looks_stretchGetY","sensing_getspritewithattrib","sensing_thing_is_text","sensing_mobile","sensing_thing_is_number","sensing_regextest","operator_indexOfTextInText","operator_randomBoolean","operator_falseBoolean","operator_trueBoolean","operator_constrainnumber","operator_advMath","operator_lerpFunc","operator_stringify","operator_newLine","operator_readLineInMultilineText","operator_getLettersFromIndexToIndexInText","operator_replaceAll","operator_regexmatch","data_itemexistslist","data_listisempty","data_listarray","looks_sayHeight","looks_sayWidth","sensing_isUpperCase","operator_toUpperLowerCase","looks_getSpriteVisible","looks_getEffectValue","looks_layersGetLayer","sound_isSoundPlaying","sound_getEffectValue","sound_getLength","sensing_directionTo","sensing_distanceTo","operator_boolify","operator_tabCharacter","operator_character_to_code","operator_code_to_character","sensing_keyhit","sensing_mousescrolling","sensing_mouseclicked","sensing_thing_has_text","sensing_thing_has_number","sensing_objecttouchingobject","looks_getOtherSpriteVisible","operator_gtorequal","operator_ltorequal","operator_notequal","operator_join3","operator_replaceFirst","operator_lastIndexOfTextInText","operator_countAppearTimes","operator_textIncludesLetterFrom","operator_textStartsOrEndsWith","sensing_fingerdown","sensing_fingertapped","sensing_fingerx","sensing_fingery","sensing_getclipboard","sensing_getdragmode","sensing_getoperatingsystem","sensing_getbrowser","sensing_geturl","operator_javascript_output","operator_javascript_boolean","sensing_getxyoftouchingsprite","operator_nand","operator_nor","operator_xor","operator_xnor","looks_getinputofcostume","sound_getTimePosition","sound_getSoundVolume"]}},function(A,e){A.exports=class{constructor(A){if(0===A.trim().length)throw new Error("prefix cannot be empty");this.prefix=A,this.count=0}next(){return"".concat(this.prefix).concat(this.count++)}}},function(A,e,t){const n=t(114);A.exports=new class extends n{constructor(){super(),this._fakeBlockId=null}startBranch(){throw new Error("startBranch is not supported by this BlockUtility")}startProcedure(A,e){if(!e)return this.thread.procedures[A]();if("object"!=typeof e)throw new Error('procedure arguments can only be of type undefined|object. instead got "'.concat(typeof e,'"'));let t="this.thread.procedures[proccode](";const n=[];for(const A in e)n.push(String(e[A]));return t+="".concat(n.join(","),")"),new Function("Procedure ".concat(A),t)()}initParams(){throw new Error("initParams is not supported by this BlockUtility")}pushParam(){throw new Error("pushParam is not supported by this BlockUtility")}getParam(){throw new Error("getParam is not supported by this BlockUtility")}init(A,e){this.thread=A,this.sequencer=A.target.runtime.sequencer,A.stack[0]=e}}},function(A,e){A.exports={supportsNullishCoalescing:(()=>{try{new Function("undefined ?? 3");return!0}catch(A){return!1}})()}},function(A,e){A.exports={OUTPUT_SHAPE_HEXAGONAL:1,OUTPUT_SHAPE_ROUND:2,OUTPUT_SHAPE_SQUARE:3}},function(A,e){A.exports=class{constructor(A){this._type=A,this._onOpen=null,this._onClose=null,this._onError=null,this._handleMessage=null,this._ws=null}open(){if(!(this._onOpen&&this._onClose&&this._onError&&this._handleMessage))throw new Error("Must set open, close, message and error handlers before calling open on the socket");let A;switch(this._type){case"BLE":A="scratch/ble";break;case"BT":A="scratch/bt";break;default:throw new Error("Unknown ScratchLink socket Type: ".concat(this._type))}const e=(A,e)=>{e.onopen=e.onerror=null,e.close(),this._ws=A,this._ws.onopen=this._onOpen,this._ws.onclose=this._onClose,this._ws.onerror=this._onError,this._ws.onmessage=this._onMessage.bind(this)},t=new WebSocket("ws://127.0.0.1:20111/".concat(A)),n=new WebSocket("wss://device-manager.scratch.mit.edu:20110/".concat(A)),i=setTimeout(()=>{e(t,n),this._ws.onerror(new Event("timeout"))},15e3);let r,s;t.onopen=A=>{clearTimeout(i),e(t,n),this._ws.onopen(A)},n.onopen=A=>{clearTimeout(i),e(n,t),this._ws.onopen(A)};const o=()=>{r&&s&&(clearTimeout(i),e(t,n),this._ws.onerror(r))};t.onerror=A=>{r=A,o()},n.onerror=A=>{s=A,o()}}close(){this._ws.close(),this._ws=null}sendMessage(A){const e=JSON.stringify(A);this._ws.send(e)}setOnOpen(A){this._onOpen=A}setOnClose(A){this._onClose=A}setOnError(A){this._onError=A}setHandleMessage(A){this._handleMessage=A}isOpen(){return this._ws&&this._ws.readyState===this._ws.OPEN}_onMessage(A){const e=JSON.parse(A.data);this._handleMessage(e)}}},function(A,e,t){const n=t(37),i=t(265),r=t(16),s=t(8);A.exports=class extends n{constructor(A){super(),this.runtime=A,this.fonts=[]}isValidFamily(A){return/^[-\w ]+$/.test(A)}hasFont(A){return!!this.fonts.find(e=>e.family===A)}getSafeName(A){return A=A.replace(/[^-\w ]/g,""),r.unusedName(A,this.fonts.map(A=>A.family))}changed(){this.emit("change")}addSystemFont(A,e){if(!this.isValidFamily(A))throw new Error("Invalid family");this.fonts.push({system:!0,family:A,fallback:e}),this.changed()}addCustomFont(A,e,t){if(!this.isValidFamily(A))throw new Error("Invalid family");this.fonts.push({system:!1,family:A,fallback:e,asset:t}),this.updateRenderer(),this.changed()}getFonts(){return this.fonts.map(A=>({system:A.system,name:A.family,family:'"'.concat(A.family,'", ').concat(A.fallback),data:A.asset?A.asset.data:null,format:A.asset?A.asset.dataFormat:null}))}deleteFont(A){const[e]=this.fonts.splice(A,1);e.system||this.updateRenderer(),this.changed()}clear(){const A=this.fonts.some(A=>!A.system);this.fonts=[],A&&this.updateRenderer(),this.changed()}updateRenderer(){if(!this.runtime.renderer||!this.runtime.renderer.setCustomFonts)return;const A={};for(const e of this.fonts)if(!e.system){const t=e.asset.encodeDataURI(),n='@font-face { font-family: "'.concat(e.family,'"; src: url("').concat(t,'"); }');A['"'.concat(e.family,'", ').concat(e.fallback)]=n}this.runtime.renderer.setCustomFonts(A)}serializeJSON(){return 0===this.fonts.length?null:this.fonts.map(A=>{const e={system:A.system,family:A.family,fallback:A.fallback};if(!A.system){const t=A.asset;e.md5ext="".concat(t.assetId,".").concat(t.dataFormat)}return e})}serializeAssets(){return this.fonts.filter(A=>!A.system).map(A=>A.asset)}async deserialize(A,e,t){if(t||this.clear(),Array.isArray(A))for(const t of A)if(t&&"object"==typeof t)try{const A=t.system,n=t.family,r=t.fallback;if("boolean"!=typeof A||"string"!=typeof n||"string"!=typeof r||this.hasFont(n))continue;if(A)this.addSystemFont(n,r);else{const A=t.md5ext;if("string"!=typeof A)continue;const s=await i.getByMd5ext(this.runtime,e,this.runtime.storage.AssetType.Font,A);this.addCustomFont(n,r,s)}}catch(A){s.error("could not add font",A)}}}},function(A,e,t){const n=t(16);A.exports=class{static getByMd5ext(A,e,t,i){const r=A.storage,s=n.splitFirst(i,"."),o=s[0],a=s[1].toLowerCase();if(e){let n=e.file(i);if(!n){const A=new RegExp("^([^/]*/)?".concat(i,"$"));n=e.file(A)[0]}if(n)return n.async("uint8array").then(e=>A.storage.createAsset(t,a,e,o,!1))}return r.load(t,o,a)}}},function(A,e){class t{constructor(A,e,t,n,i){this.runtime=A,this.extensionId_=e,this.tabId_=t,this.element_=null,this.name=n,this.icon=i}setName(A){this.name=A,this.update()}setIcon(A){this.icon=A,this.update()}setDOM(A){this.element_=A,this.update()}update(){this.runtime.emit("EDITOR_TABS_UPDATE")}}A.exports=class{constructor(A){this.runtime=A,this.tabs_={}}register(A,e,n,i){const r="".concat(A,"_").concat(e);if(r in this.tabs_)return console.warn("Tab",e,"for",A,"already exists."),this.tabs_[r];const s=new t(this.runtime,A,e,n,i);return this.tabs_[r]=s,this.runtime.emit("EDITOR_TABS_NEW",s),s}}},function(A,e){function t(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function n(A){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?t(Object(n),!0).forEach((function(e){i(A,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(n,e))}))}return A}function i(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}A.exports=class{constructor(A){this.runtime=A,this.modals={},this._updateId=0}updateModalComponents(){this._updateId++,this._updateId>1e6&&(this._updateId=0)}createModal(A,e){this.modals[A]=n(n({},e),{},{id:A}),this.updateModalComponents()}deleteModal(A){A in this.modals&&delete this.modals[A],this.updateModalComponents()}}},function(A,e,t){const n=t(23);A.exports=class{constructor(A){this._projectTimer=new n({now:()=>A.currentMSecs}),this._projectTimer.start(),this._pausedTime=null,this._paused=!1,this.runtime=A}projectTimer(){return this._paused?this._pausedTime/1e3:this._projectTimer.timeElapsed()/1e3}pause(){this._paused||(this._paused=!0,this._pausedTime=this._projectTimer.timeElapsed())}resume(){if(!this._paused)return;this._paused=!1;const A=this._projectTimer.timeElapsed()-this._pausedTime;this._projectTimer.startTime+=A}resetProjectTimer(){this._projectTimer.start()}}},function(A,e,t){const n=t(24),i=t(8);A.exports=class{constructor(A){this.provider=null,this.runtime=A,this.stage=null}setProvider(A){this.provider=A}setStage(A){this.stage=A}postData(A){A.varUpdate&&this.updateCloudVariable(A.varUpdate)}requestCreateVariable(A){this.runtime.canAddCloudVariable()&&this.provider&&this.provider.createVariable(A.name,A.value)}requestUpdateVariable(A,e){this.provider&&this.provider.updateVariable(A,e)}requestRenameVariable(A,e){this.provider&&this.provider.renameVariable(A,e)}requestDeleteVariable(A){this.provider&&this.provider.deleteVariable(A)}updateCloudVariable(A){const e=A.name,t=this.stage.lookupVariableByNameAndType(e,n.SCALAR_TYPE);t&&t.isCloud?t.value=A.value:i.warn("Received an update for a cloud variable that does not exist: ".concat(e))}clear(){this.provider&&(this.provider.requestCloseConnection(),this.provider=null,this.stage=null)}}},function(A,e,t){const n=t(2),i={SPACE:"space",LEFT:"left arrow",UP:"up arrow",RIGHT:"right arrow",DOWN:"down arrow",ENTER:"enter",BACKSPACE:"backspace",DELETE:"delete",SHIFT:"shift",CAPS_LOCK:"caps lock",SCROLL_LOCK:"scroll lock",CONTROL:"control",ESCAPE:"escape",INSERT:"insert",HOME:"home",END:"end",PAGE_UP:"page up",PAGE_DOWN:"page down"},r=Object.keys(i).map(A=>i[A]);A.exports=class{constructor(A){this._keysPressed=[],this._keysHit=[],this._keyTimestamps={},this.runtime=A,this.lastKeyPressed="",this._numeralKeyCodesToStringKey=new Map}_keyStringToScratchKey(A){switch(A=n.toString(A)){case" ":return i.SPACE;case"ArrowLeft":case"Left":return i.LEFT;case"ArrowUp":case"Up":return i.UP;case"Right":case"ArrowRight":return i.RIGHT;case"Down":case"ArrowDown":return i.DOWN;case"Enter":return i.ENTER;case"Backspace":return i.BACKSPACE;case"Delete":return i.DELETE;case"Shift":return i.SHIFT;case"CapsLock":return i.CAPS_LOCK;case"ScrollLock":return i.SCROLL_LOCK;case"Control":return i.CONTROL;case"Escape":return i.ESCAPE;case"Insert":return i.INSERT;case"Home":return i.HOME;case"End":return i.END;case"PageUp":return i.PAGE_UP;case"PageDown":return i.PAGE_DOWN}return A.length>1?"":A}_keyArgToScratchKey(A){if("number"==typeof A){if(A>=48&&A<=90)return String.fromCharCode(A);switch(A){case 32:return i.SPACE;case 37:return i.LEFT;case 38:return i.UP;case 39:return i.RIGHT;case 40:return i.DOWN}}return A=n.toString(A),r.includes(A)?A:(A.length>1&&(A=A[0])," "===A?i.SPACE:"\r"===A?i.ENTER:""===A?i.ESCAPE:A.toUpperCase())}postData(A){if(!A.key)return;const e=this._keyStringToScratchKey(A.key),t=1===e.length?e.toUpperCase():e;if(""===t)return;const n=this._keysPressed.indexOf(t);if(A.isDown?(this.lastKeyPressed=e,this.runtime.emit("KEY_PRESSED",t),n<0&&(this.runtime.emit("KEY_HIT",t),this._keysPressed.push(t),this._keyTimestamps[t]=Date.now(),this._keysHit.push(t),this.runtime.once("RUNTIME_STEP_START",()=>{this.runtime.once("RUNTIME_STEP_START",()=>{const A=this._keysHit.indexOf(t);A>-1&&this._keysHit.splice(A,1)})}))):n>-1&&(this._keysPressed.splice(n,1),t in this._keyTimestamps&&delete this._keyTimestamps[t]),A.hasOwnProperty("keyCode")){const e=A.keyCode;if(this._numeralKeyCodesToStringKey.has(e)){const A=this._numeralKeyCodesToStringKey.get(e);if(A!==t){const e=this._keysPressed.indexOf(A);-1!==e&&(this._keysPressed.splice(e,1),t in this._keyTimestamps&&delete this._keyTimestamps[A])}}this._numeralKeyCodesToStringKey.set(e,t)}}getKeyIsDown(A){if("any"===A)return this._keysPressed.length>0;const e=this._keyArgToScratchKey(A);return this._keysPressed.indexOf(e)>-1}getKeyIsHit(A){if("any"===A)return this._keysHit.length>0;const e=this._keyArgToScratchKey(A);return this._keysHit.indexOf(e)>-1}getLastKeyPressed(){return this.lastKeyPressed}getAllKeysPressed(){return this._keysPressed}getKeyTimestamp(A){if("any"===A){let A=1/0,e=!1;for(const t in this._keyTimestamps){const n=this._keyTimestamps[t];n<A&&(A=n,e=!0)}return e?A:0}const e=this._keyArgToScratchKey(A);return e in this._keyTimestamps?this._keyTimestamps[e]:0}getKeyTimestamps(){return this._keyTimestamps}}},function(A,e,t){const n=t(11),{translateScreenPos:i}=t(52),r=A=>Math.round(1e3*A)/1e3;A.exports=class{constructor(A){this._clientX=0,this._clientY=0,this._scratchX=0,this._scratchY=0,this._scrollDeltaY=0,this._buttons=new Set,this.usesRightClickDown=!1,this._isDown=!1,this._isClicked=!1,this._clickId=0,this.cameraBound=-1,this.runtime=A}bindToCamera(A){this.cameraBound=A}removeCameraBinding(){this.cameraBound=-1}_activateClickHats(A){this.runtime.startHats("event_whenthisspriteclicked",null,A),this.runtime.startHats("event_whenstageclicked",null,A),A.isStage?this.runtime.startHats("pmEventsExpansion_whenSpriteClicked",{SPRITE:"_stage_"}):A.sprite&&this.runtime.startHats("pmEventsExpansion_whenSpriteClicked",{SPRITE:A.sprite.name})}_pickTarget(A,e){if(this.runtime.renderer){const t=this.runtime.renderer.pick(A,e);for(let A=0;A<this.runtime.targets.length;A++){const e=this.runtime.targets[A];if(e.hasOwnProperty("drawableID")&&e.drawableID===t)return e}}return this.runtime.getTargetForStage()}postData(A){if(this._scrollDeltaY=A.deltaY,"number"==typeof A.x&&(this._clientX=A.x,this._scratchX=n.clamp(this.runtime.stageWidth*(A.x/A.canvasWidth-.5),-this.runtime.stageWidth/2,this.runtime.stageWidth/2)),"number"==typeof A.y&&(this._clientY=A.y,this._scratchY=n.clamp(-this.runtime.stageHeight*(A.y/A.canvasHeight-.5),-this.runtime.stageHeight/2,this.runtime.stageHeight/2)),void 0!==A.isDown){const e=void 0===A.button?0:A.button;A.isDown?this._buttons.add(e):this._buttons.delete(e);const t=this._isDown;this._isDown=A.isDown,A.isDown&&(this._isClicked=!0,this._clickId++,this._clickId>16777216&&(this._clickId=0));const n=this._clickId;if(this.runtime.once("RUNTIME_STEP_START",()=>{this.runtime.once("RUNTIME_STEP_START",()=>{n===this._clickId&&(this._isClicked=!1)})}),t===this._isDown)return;if(A.wasDragged)return;if(!(A.x>0&&A.x<A.canvasWidth&&A.y>0&&A.y<A.canvasHeight))return;const i=this._pickTarget(A.x,A.y),r=!t&&this._isDown,s=t&&!this._isDown;(i.draggable&&s||!i.draggable&&r)&&this._activateClickHats(i)}}getClientX(){return this._clientX}getClientY(){return this._clientY}getScratchX(){const A=this.cameraBound>=0?i(this.runtime,this.cameraBound,this._scratchX,this._scratchY)[0]:this._scratchX;return this.runtime.runtimeOptions.miscLimits?Math.round(A):r(A)}getScratchY(){const A=this.cameraBound>=0?i(this.runtime,this.cameraBound,this._scratchX,this._scratchY)[1]:this._scratchY;return this.runtime.runtimeOptions.miscLimits?Math.round(A):r(A)}getIsDown(){return this._isDown}getIsClicked(){return this._isClicked}getButtonIsDown(A){return 69===A?this._scrollDeltaY:(2===A&&(this.usesRightClickDown=!0),this._buttons.has(A))}getScrollDeltaY(){return this._scrollDeltaY}}},function(A,e){A.exports=class{constructor(A){this.runtime=A,this.scrollDelta=0}_addToScrollingDistanceBlock(A){"ext_pmSensingExpansion"in this.runtime&&(this.runtime.ext_pmSensingExpansion.scrollDistance+=A)}postData(A){this.scrollDelta=A.deltaY,this._addToScrollingDistanceBlock(0-A.deltaY),this.runtime.once("RUNTIME_STEP_START",()=>{this.runtime.once("RUNTIME_STEP_START",()=>{this.scrollDelta=0})});const e={},t={};if(A.deltaY<0)e.KEY_OPTION="up arrow",t.KEY_OPTION="up";else{if(!(A.deltaY>0))return;e.KEY_OPTION="down arrow",t.KEY_OPTION="down"}this.runtime.startHats("event_whenkeypressed",e),this.runtime.startHats("event_whenmousescrolled",t)}getScrollDelta(){return this.scrollDelta}}},function(A,e){A.exports=class{constructor(){this._username=""}postData(A){this._username=A.username}getUsername(){return this._username}}},function(A,e,t){const n=t(11),i=A=>Math.round(1e3*A)/1e3;A.exports=class{constructor(A){this.fingers=Array.from(Array(5).keys()).map(()=>({_clientX:0,_clientY:0,_scratchX:0,_scratchY:0,_isDown:!1,_isTapped:!1,_tapId:0})),this.runtime=A}postData(A){A.changedTouches.forEach(e=>{const t=this.fingers[e.identifier];"number"==typeof e.x&&(t._clientX=e.x,t._scratchX=n.clamp(this.runtime.stageWidth*(e.x/A.canvasWidth-.5),-this.runtime.stageWidth/2,this.runtime.stageWidth/2)),"number"==typeof e.y&&(t._clientY=e.y,t._scratchY=n.clamp(-this.runtime.stageHeight*(e.y/A.canvasHeight-.5),-this.runtime.stageHeight/2,this.runtime.stageHeight/2)),void 0!==A.isDown&&(t._isDown=A.isDown),!0===A.isDown&&(t._isTapped=!0,t._tapId++,t._tapId>16777216&&(t._tapId=0));const i=t._tapId;this.runtime.once("RUNTIME_STEP_START",()=>{this.runtime.once("RUNTIME_STEP_START",()=>{i===t._tapId&&(t._isTapped=!1)})})})}getClientX(A){const e=this.fingers[A];return e?e._clientX:0}getClientY(A){const e=this.fingers[A];return e?e._clientY:0}getScratchX(A){const e=this.fingers[A];return e?this.runtime.runtimeOptions.miscLimits?Math.round(e._scratchX):i(e._scratchX):0}getScratchY(A){const e=this.fingers[A];return e?this.runtime.runtimeOptions.miscLimits?Math.round(e._scratchY):i(e._scratchY):0}getIsDown(A){const e=this.fingers[A];return!!e&&e._isDown}getIsTapped(A){const e=this.fingers[A];return!!e&&e._isTapped}}},function(A,e,t){const n=t(2),i=t(46);A.exports=class{constructor(A){this.runtime=A,this._counter=0,this.runtime.on("RUNTIME_DISPOSED",this.clearCounter.bind(this))}getPrimitives(){return{control_repeat:this.repeat,control_repeat_until:this.repeatUntil,control_while:this.repeatWhile,control_for_each:this.forEach,control_forever:this.forever,control_wait:this.wait,control_repeatForSeconds:this.repeatForSeconds,control_waittick:this.waitTick,control_waitsecondsoruntil:this.waitOrUntil,control_wait_until:this.waitUntil,control_if:this.if,control_if_else:this.ifElse,control_stop:this.stop,control_stop_sprite:this.stopSprite,control_create_clone_of:this.createClone,control_delete_this_clone:this.deleteClone,control_delete_clones_of:this.deleteClonesOf,control_get_counter:this.getCounter,control_incr_counter:this.incrCounter,control_decr_counter:this.decrCounter,control_set_counter:this.setCounter,control_clear_counter:this.clearCounter,control_all_at_once:this.allAtOnce,control_backToGreenFlag:this.backToGreenFlag,control_if_return_else_return:this.if_return_else_return,control_javascript_command:this.runJavascript}}getMonitored(){return{control_get_counter:{getId:()=>"get_counter"}}}backToGreenFlag(){this.runtime.greenFlag()}if_return_else_return(A){return n.toBoolean(A.boolean)?A.TEXT1:A.TEXT2}getHats(){return{control_start_as_clone:{restartExistingThreads:!1}}}runJavascript(A){return new Promise(e=>{const t=n.toString(A.JS);i.execute(t).then(A=>{e(A.value)})})}repeat(A,e){const t=Math.round(n.toNumber(A.TIMES));void 0===e.stackFrame.loopCounter&&(e.stackFrame.loopCounter=t),e.stackFrame.loopCounter--,e.stackFrame.loopCounter>=0&&e.startBranch(1,!0)}repeatUntil(A,e){n.toBoolean(A.CONDITION)||e.startBranch(1,!0)}repeatWhile(A,e){n.toBoolean(A.CONDITION)&&e.startBranch(1,!0)}forEach(A,e){const t=e.target.lookupOrCreateVariable(A.VARIABLE.id,A.VARIABLE.name);void 0===e.stackFrame.index&&(e.stackFrame.index=0),e.stackFrame.index<Number(A.VALUE)&&(e.stackFrame.index++,t.value=e.stackFrame.index,e.startBranch(1,!0))}waitUntil(A,e){n.toBoolean(A.CONDITION)||e.yield()}forever(A,e){e.startBranch(1,!0)}wait(A,e){if(e.stackTimerNeedsInit()){const t=Math.max(0,1e3*n.toNumber(A.DURATION));e.startStackTimer(t),this.runtime.requestRedraw(),e.yield()}else e.stackTimerFinished()||e.yield()}repeatForSeconds(A,e){if(e.stackTimerNeedsInit()){const t=Math.max(0,1e3*n.toNumber(A.TIMES));e.startStackTimer(t),this.runtime.requestRedraw(),e.startBranch(1,!0),e.yield()}else e.stackTimerFinished()||(e.startBranch(1,!0),e.yield())}waitTick(A,e){e.yieldTick()}waitOrUntil(A,e){if(!n.toBoolean(A.CONDITION)){if(e.stackTimerNeedsInit()){const t=Math.max(0,1e3*n.toNumber(A.DURATION));return e.startStackTimer(t),this.runtime.requestRedraw(),void e.yield()}e.stackTimerFinished()||e.yield()}}if(A,e){n.toBoolean(A.CONDITION)&&e.startBranch(1,!1)}ifElse(A,e){n.toBoolean(A.CONDITION)?e.startBranch(1,!1):e.startBranch(2,!1)}stop(A,e){const t=A.STOP_OPTION;"all"===t?e.stopAll():"other scripts in sprite"===t||"other scripts in stage"===t?e.stopOtherTargetThreads():"this script"===t&&e.stopThisScript()}stopSprite(A,e){const t=A.STOP_OPTION;let n;n="_myself_"===t?e.target:"_stage_"===t?this.runtime.getTargetForStage():this.runtime.getSpriteTargetByName(t),n&&this.runtime.stopForTarget(n)}createClone(A,e){this._createClone(n.toString(A.CLONE_OPTION),e.target)}_createClone(A,e){let t;if(t="_myself_"===A?e:this.runtime.getSpriteTargetByName(A),!t)return;const n=t.makeClone();n&&(this.runtime.addTarget(n),n.goBehindOther(t))}deleteClone(A,e){e.target.isOriginal||(this.runtime.disposeTarget(e.target),this.runtime.stopForTarget(e.target))}deleteClonesOf(A,e){const t=n.toString(A.CLONE_OPTION);let i;if(i="_myself_"===t?e.target:this.runtime.getSpriteTargetByName(t),!i)return;const r=i.sprite;if(!r)return;if(!r.clones)return;[].concat(r.clones).forEach(A=>{A.isOriginal||A.isStage||(this.runtime.disposeTarget(A),this.runtime.stopForTarget(A))})}getCounter(){return this._counter}setCounter(A){const e=n.toNumber(A.VALUE);this._counter=e}clearCounter(){this._counter=0}incrCounter(){this._counter++}decrCounter(){this._counter--}allAtOnce(A){A.thread.peekStackFrame().warpMode=!1,A.startBranch(1,!1),A.thread.peekStackFrame().warpMode=!0}}},function(A,e,t){const n=t(2),i=t(46);A.exports=class{constructor(A){this.runtime=A,this.runtime.on("KEY_PRESSED",A=>{this.runtime.startHats("event_whenkeypressed",{KEY_OPTION:A}),this.runtime.startHats("event_whenkeypressed",{KEY_OPTION:"any"})}),this.runtime.on("KEY_HIT",A=>{this.runtime.startHats("event_whenkeyhit",{KEY_OPTION:A}),this.runtime.startHats("event_whenkeyhit",{KEY_OPTION:"any"})}),this.isStarting=!1,this.runtime.on("PROJECT_START_BEFORE_RESET",()=>{this.isStarting=!0}),this.runtime.on("PROJECT_STOP_ALL",()=>{this.isStarting||this.runtime.once("RUNTIME_STEP_START",()=>{this.runtime.startHats("event_whenstopclicked")}),this.isStarting=!1}),this.runtime.on("RUNTIME_STEP_START",()=>{this.runtime.startHats("event_always")})}getPrimitives(){return{event_whenanything:this.whenanything,event_whenjavascript:this.whenjavascript,event_whentouchingobject:this.touchingObject,event_broadcast:this.broadcast,event_broadcastandwait:this.broadcastAndWait,event_whengreaterthan:this.hatGreaterThanPredicate}}whenanything(A){return n.toBoolean(A.ANYTHING)}whenjavascript(A){return new Promise(e=>{const t=n.toString(A.JS);i.execute(t).then(A=>{e(!0===A.value)})})}getHats(){return{event_whenflagclicked:{restartExistingThreads:!0},event_whenstopclicked:{restartExistingThreads:!0},event_always:{restartExistingThreads:!1},event_whenkeypressed:{restartExistingThreads:!1},event_whenkeyhit:{restartExistingThreads:!1},event_whenmousescrolled:{restartExistingThreads:!1},event_whenanything:{restartExistingThreads:!1,edgeActivated:!0},event_whenjavascript:{restartExistingThreads:!1,edgeActivated:!0},event_whenthisspriteclicked:{restartExistingThreads:!0},event_whentouchingobject:{restartExistingThreads:!1,edgeActivated:!0},event_whenstageclicked:{restartExistingThreads:!0},event_whenbackdropswitchesto:{restartExistingThreads:!0},event_whengreaterthan:{restartExistingThreads:!1,edgeActivated:!0},event_whenbroadcastreceived:{restartExistingThreads:!0}}}touchingObject(A,e){return e.target.isTouchingObject(A.TOUCHINGOBJECTMENU)}hatGreaterThanPredicate(A,e){const t=n.toString(A.WHENGREATERTHANMENU).toLowerCase(),i=n.toNumber(A.VALUE);switch(t){case"timer":return e.ioQuery("clock","projectTimer")>i;case"loudness":return this.runtime.audioEngine&&this.runtime.audioEngine.getLoudness()>i}return!1}broadcast(A,e){const t=e.runtime.getTargetForStage().lookupBroadcastMsg(A.BROADCAST_OPTION.id,A.BROADCAST_OPTION.name);if(t){const A=t.name;e.startHats("event_whenbroadcastreceived",{BROADCAST_OPTION:A})}}broadcastAndWait(A,e){if(e.stackFrame.broadcastVar||(e.stackFrame.broadcastVar=e.runtime.getTargetForStage().lookupBroadcastMsg(A.BROADCAST_OPTION.id,A.BROADCAST_OPTION.name)),e.stackFrame.broadcastVar){const A=e.stackFrame.broadcastVar.name;if(!e.stackFrame.startedThreads&&(e.stackFrame.startedThreads=e.startHats("event_whenbroadcastreceived",{BROADCAST_OPTION:A}),0===e.stackFrame.startedThreads.length))return;const t=this;e.stackFrame.startedThreads.some(A=>-1!==t.runtime.threads.indexOf(A))&&(e.stackFrame.startedThreads.every(A=>t.runtime.isWaitingThread(A))?e.yieldTick():e.yield())}}}},function(A,e,t){const n=t(2),i=t(13),r=t(10),s=t(14),o=t(27),a=t(54),B=t(11);class c{constructor(A){this.runtime=A,this._onTargetChanged=this._onTargetChanged.bind(this),this._onResetBubbles=this._onResetBubbles.bind(this),this._onTargetWillExit=this._onTargetWillExit.bind(this),this._updateBubble=this._updateBubble.bind(this),this.SAY_BUBBLE_LIMITdefault=330,this.SAY_BUBBLE_LIMIT=this.SAY_BUBBLE_LIMITdefault,this.defaultBubble={MAX_LINE_WIDTH:170,MIN_WIDTH:50,STROKE_WIDTH:4,PADDING:10,CORNER_RADIUS:16,TAIL_HEIGHT:12,FONT:"Helvetica",FONT_SIZE:14,FONT_HEIGHT_RATIO:.9,LINE_HEIGHT:16,COLORS:{BUBBLE_FILL:"white",BUBBLE_STROKE:"rgba(0, 0, 0, 0.15)",TEXT_FILL:"#575E75"}},this.runtime.on("PROJECT_STOP_ALL",this._onResetBubbles),this.runtime.on("targetWasRemoved",this._onTargetWillExit),this.runtime.on(c.SAY_OR_THINK,this._updateBubble)}static get DEFAULT_BUBBLE_STATE(){return{drawableId:null,onSpriteRight:!0,skinId:null,text:"",type:"say",usageId:null,props:this.defaultBubble}}static get STATE_KEY(){return"Scratch.looks"}static get SAY_OR_THINK(){return"SAY"}static get EFFECT_GHOST_LIMIT(){return{min:0,max:100}}static get EFFECT_BRIGHTNESS_LIMIT(){return{min:-100,max:100}}_getBubbleState(A){let e=A.getCustomState(c.STATE_KEY);return e||(e=r.simple(c.DEFAULT_BUBBLE_STATE),A.setCustomState(c.STATE_KEY,e)),e}_resetBubbles(A){const e=this._getBubbleState(A);this.SAY_BUBBLE_LIMIT=this.SAY_BUBBLE_LIMITdefault,e.props=this.defaultBubble}_setBubbleProperty(A,e,t){const n=this._getBubbleState(A);n.props||(n.props=this.defaultBubble),e.forEach((A,e)=>{A.startsWith("COLORS")?n.props.COLORS[A.split(".")[1]]=t[e]:n.props[A]=t[e]}),A.setCustomState(c.STATE_KEY,n)}_onTargetChanged(A){this._getBubbleState(A).drawableId&&this._positionBubble(A)}_onTargetWillExit(A){const e=this._getBubbleState(A);e.drawableId&&e.skinId&&(this.runtime.renderer.destroyDrawable(e.drawableId,o.SPRITE_LAYER),this.runtime.renderer.destroySkin(e.skinId),e.drawableId=null,e.skinId=null,this.runtime.requestRedraw()),A.onTargetVisualChange=null}_onResetBubbles(){for(let A=0;A<this.runtime.targets.length;A++){this._getBubbleState(this.runtime.targets[A]).text="",this._onTargetWillExit(this.runtime.targets[A])}clearTimeout(this._bubbleTimeout)}_positionBubble(A){if(!A.visible)return;const e=this._getBubbleState(A),[t,n]=this.runtime.renderer.getCurrentSkinSize(e.drawableId);let i;try{i=A.getBoundsForBubble()}catch(e){i={left:A.x,right:A.x,top:A.y,bottom:A.y}}const r=this.runtime.renderer.getNativeSize(),s={left:-r[0]/2,right:r[0]/2,top:r[1]/2,bottom:-r[1]/2};e.onSpriteRight&&t+i.right>s.right&&i.left-t>s.left?(e.onSpriteRight=!1,this._renderBubble(A)):!e.onSpriteRight&&i.left-t<s.left&&t+i.right<s.right?(e.onSpriteRight=!0,this._renderBubble(A)):(this.runtime.renderer.updateDrawablePosition(e.drawableId,[e.onSpriteRight?Math.max(s.left,Math.min(s.right-t,i.right)):Math.min(s.right-t,Math.max(s.left,i.left-t)),Math.min(s.top,i.bottom+n)]),this.runtime.requestRedraw())}_renderBubble(A){if(!this.runtime.renderer)return;const e=this._getBubbleState(A),{type:t,text:n,onSpriteRight:i}=e;A.visible&&""!==n?(e.skinId?this.runtime.renderer.updateTextSkin(e.skinId,t,n,i,e.props):(A.onTargetVisualChange=this._onTargetChanged,e.drawableId=this.runtime.renderer.createDrawable(o.SPRITE_LAYER),e.skinId=this.runtime.renderer.createTextSkin(t,n,e.onSpriteRight,e.props),this.runtime.renderer.updateDrawableSkinId(e.drawableId,e.skinId)),this._positionBubble(A)):this._onTargetWillExit(A)}_formatBubbleText(A){return""===A?A:("number"==typeof A&&Math.abs(A)>=.01&&A%1!=0&&(A=A.toFixed(2)),A=String(A).slice(0,this.SAY_BUBBLE_LIMIT))}_updateBubble(A,e,t){const n=this._getBubbleState(A);n.type=e,n.text=this._formatBubbleText(t),n.usageId=s(),this._renderBubble(A)}_percentToRatio(A){return A/100}_doesFontSuport(A,e){const t=A+"px "+e;return document.fonts.check(t)}getPrimitives(){return{looks_say:this.say,looks_sayforsecs:this.sayforsecs,looks_think:this.think,looks_thinkforsecs:this.thinkforsecs,looks_setFont:this.setFont,looks_setColor:this.setColor,looks_setShape:this.setShape,looks_show:this.show,looks_hide:this.hide,looks_getSpriteVisible:this.getSpriteVisible,looks_getOtherSpriteVisible:this.getOtherSpriteVisible,looks_hideallsprites:()=>{},looks_switchcostumeto:this.switchCostume,looks_switchbackdropto:this.switchBackdrop,looks_switchbackdroptoandwait:this.switchBackdropAndWait,looks_nextcostume:this.nextCostume,looks_nextbackdrop:this.nextBackdrop,looks_previouscostume:this.previousCostume,looks_previousbackdrop:this.previousBackdrop,looks_changeeffectby:this.changeEffect,looks_seteffectto:this.setEffect,looks_cleargraphiceffects:this.clearEffects,looks_getEffectValue:this.getEffectValue,looks_changesizeby:this.changeSize,looks_setsizeto:this.setSize,looks_changestretchby:()=>{},looks_setstretchto:this.stretchSet,looks_gotofrontback:this.goToFrontBack,looks_goforwardbackwardlayers:this.goForwardBackwardLayers,looks_layersSetLayer:this.setSpriteLayer,looks_layersGetLayer:this.getSpriteLayer,looks_size:this.getSize,looks_costumenumbername:this.getCostumeNumberName,looks_backdropnumbername:this.getBackdropNumberName,looks_setStretch:this.stretchSet,looks_stretchGetX:this.getStretchX,looks_stretchGetY:this.getStretchY,looks_sayWidth:this.getBubbleWidth,looks_sayHeight:this.getBubbleHeight,looks_changeVisibilityOfSprite:this.showOrHideSprite,looks_changeVisibilityOfSpriteShow:this.showSprite,looks_changeVisibilityOfSpriteHide:this.hideSprite,looks_stoptalking:this.stopTalking,looks_getinputofcostume:this.getCostumeValue}}getSpriteLayer(A,e){return e.target.getLayerOrder()}setSpriteLayer(A,e){const t=e.target,i=n.toNumber(A.NUM),r=t.getLayerOrder();t.goForwardLayers(i-r)}_getBubbleSize(A){const e=this._getBubbleState(A);return this.runtime.renderer.getSkinSize(e.skinId)}getBubbleWidth(A,e){const t=e.target;let n=0;try{n=this._getBubbleSize(t)[0]}catch(A){n=0}return n}getBubbleHeight(A,e){const t=e.target;let n=0;try{n=this._getBubbleSize(t)[1]}catch(A){n=0}return n}getStretchY(A,e){return e.target._getRenderedDirectionAndScale().stretch[1]}getStretchX(A,e){return e.target._getRenderedDirectionAndScale().stretch[0]}stretchSet(A,e){e.target.setStretch(A.X,A.Y)}setFont(A,e){this._setBubbleProperty(e.target,["FONT","FONT_SIZE"],[A.font,A.size])}setColor(A,e){const t=Number(A.color);isNaN(t)||(A.color=i.decimalToHex(t)),this._setBubbleProperty(e.target,["COLORS."+A.prop],[A.color])}setShape(A,e){"texlim"!==A.prop?this._setBubbleProperty(e.target,[A.prop],[A.color]):this.SAY_BUBBLE_LIMIT=Math.max(A.color,1)}getMonitored(){return{looks_size:{isSpriteSpecific:!0,getId:A=>"".concat(A,"_size")},looks_costumenumbername:{isSpriteSpecific:!0,getId:(A,e)=>a("".concat(A,"_costumenumbername"),e)},looks_backdropnumbername:{getId:(A,e)=>a("backdropnumbername",e)}}}say(A,e){const t=A.MESSAGE;this._say(t,e.target)}_say(A,e){this.runtime.emit(c.SAY_OR_THINK,e,"say",A)}stopTalking(A,e){this.say({MESSAGE:""},e)}sayforsecs(A,e){this.say(A,e);const t=e.target,n=this._getBubbleState(t).usageId;return new Promise(e=>{this._bubbleTimeout=setTimeout(()=>{this._bubbleTimeout=null,this._getBubbleState(t).usageId===n&&this._updateBubble(t,"say",""),e()},1e3*A.SECS)})}think(A,e){this.runtime.emit(c.SAY_OR_THINK,e.target,"think",A.MESSAGE)}thinkforsecs(A,e){this.think(A,e);const t=e.target,n=this._getBubbleState(t).usageId;return new Promise(e=>{this._bubbleTimeout=setTimeout(()=>{this._bubbleTimeout=null,this._getBubbleState(t).usageId===n&&this._updateBubble(t,"think",""),e()},1e3*A.SECS)})}show(A,e){e.target.setVisible(!0),this._renderBubble(e.target)}hide(A,e){e.target.setVisible(!1),this._renderBubble(e.target)}showOrHideSprite(A,e){const t=A.VISIBLE_OPTION,i=n.toString(A.VISIBLE_TYPE).toLowerCase();let r;r="_myself_"===t?e.target:"_stage_"===t?this.runtime.getTargetForStage():this.runtime.getSpriteTargetByName(t),r&&(r.setVisible("show"===i),this._renderBubble(r))}showSprite(A,e){this.showOrHideSprite({VISIBLE_OPTION:A.VISIBLE_OPTION,VISIBLE_TYPE:"show"},e)}hideSprite(A,e){this.showOrHideSprite({VISIBLE_OPTION:A.VISIBLE_OPTION,VISIBLE_TYPE:"hide"},e)}getSpriteVisible(A,e){return e.target.visible}getOtherSpriteVisible(A,e){const t=A.VISIBLE_OPTION;let n;if(n="_myself_"===t?e.target:"_stage_"===t?this.runtime.getTargetForStage():this.runtime.getSpriteTargetByName(t),n)return n.visible}getEffectValue(A,e){const t=n.toString(A.EFFECT).toLowerCase(),i=e.target.effects;if(!i.hasOwnProperty(t))return 0;return n.toNumber(i[t])}_setCostume(A,e,t){if("number"==typeof e)A.setCostume(t?e:e-1);else{const i=A.getCostumeIndexByName(e.toString());-1!==i?A.setCostume(i):"next costume"===e?A.setCostume(A.currentCostume+1):"previous costume"===e?A.setCostume(A.currentCostume-1):isNaN(e)||n.isWhiteSpace(e)||A.setCostume(t?Number(e):Number(e)-1)}return[]}costumeValueToDefaultNone(A){switch(A){case"width":case"height":case"rotation center x":case"rotation center y":return 0;default:return""}}getCostumeValue(A,e){let t=0;const i=e.target,r=A.COSTUME,s=n.toString(A.INPUT);if(t="number"==typeof r?0===r?0:r-1:i.getCostumeIndexByName(n.toString(r)),t<0)return this.costumeValueToDefaultNone(s);if(!i.sprite)return this.costumeValueToDefaultNone(s);if(!i.sprite.costumes_)return this.costumeValueToDefaultNone(s);const o=i.sprite.costumes_[t];if(!o)return this.costumeValueToDefaultNone(s);switch(s){case"width":return o.size[0];case"height":return o.size[1];case"rotation center x":return o.rotationCenterX;case"rotation center y":return o.rotationCenterY;case"drawing mode":return"svg"===o.dataFormat?"Vector":"Bitmap";default:return""}}_setBackdrop(A,e,t){if("number"==typeof e)A.setCostume(t?e:e-1);else{const i=A.getCostumeIndexByName(e.toString());if(-1!==i)A.setCostume(i);else if("next backdrop"===e)A.setCostume(A.currentCostume+1);else if("previous backdrop"===e)A.setCostume(A.currentCostume-1);else if("random backdrop"===e){const e=A.getCostumes().length;if(e>1){const t=0,n=e-1,i=A.currentCostume,r=B.inclusiveRandIntWithout(t,n,i);A.setCostume(r)}}else isNaN(e)||n.isWhiteSpace(e)||A.setCostume(t?Number(e):Number(e)-1)}const i=A.getCostumes()[A.currentCostume].name;return this.runtime.startHats("event_whenbackdropswitchesto",{BACKDROP:i})}switchCostume(A,e){this._setCostume(e.target,A.COSTUME)}nextCostume(A,e){this._setCostume(e.target,e.target.currentCostume+1,!0)}previousCostume(A,e){this._setCostume(e.target,e.target.currentCostume-1,!0)}switchBackdrop(A){this._setBackdrop(this.runtime.getTargetForStage(),A.BACKDROP)}switchBackdropAndWait(A,e){if(!e.stackFrame.startedThreads&&(e.stackFrame.startedThreads=this._setBackdrop(this.runtime.getTargetForStage(),A.BACKDROP),0===e.stackFrame.startedThreads.length))return;const t=this;e.stackFrame.startedThreads.some(A=>-1!==t.runtime.threads.indexOf(A))&&(e.stackFrame.startedThreads.every(A=>t.runtime.isWaitingThread(A))?e.yieldTick():e.yield())}nextBackdrop(){const A=this.runtime.getTargetForStage();this._setBackdrop(A,A.currentCostume+1,!0)}previousBackdrop(){const A=this.runtime.getTargetForStage();this._setBackdrop(A,A.currentCostume-1,!0)}clampEffect(A,e){let t=e;switch(A){case"ghost":t=B.clamp(e,c.EFFECT_GHOST_LIMIT.min,c.EFFECT_GHOST_LIMIT.max);break;case"brightness":t=B.clamp(e,c.EFFECT_BRIGHTNESS_LIMIT.min,c.EFFECT_BRIGHTNESS_LIMIT.max)}return t}changeEffect(A,e){const t=n.toString(A.EFFECT).toLowerCase(),i=n.toNumber(A.CHANGE);if(!e.target.effects.hasOwnProperty(t))return;let r=i+e.target.effects[t];r=this.clampEffect(t,r),e.target.setEffect(t,r)}setEffect(A,e){const t=n.toString(A.EFFECT).toLowerCase();let i=n.toNumber(A.VALUE);i=this.clampEffect(t,i),e.target.setEffect(t,i)}clearEffects(A,e){e.target.clearEffects(),this._resetBubbles(e.target)}changeSize(A,e){const t=n.toNumber(A.CHANGE);e.target.setSize(e.target.size+t)}setSize(A,e){const t=n.toNumber(A.SIZE);e.target.setSize(t)}goToFrontBack(A,e){e.target.isStage||("front"===A.FRONT_BACK?e.target.goToFront():e.target.goToBack())}goForwardBackwardLayers(A,e){e.target.isStage||("forward"===A.FORWARD_BACKWARD?e.target.goForwardLayers(n.toNumber(A.NUM)):e.target.goBackwardLayers(n.toNumber(A.NUM)))}getSize(A,e){return Math.round(e.target.size)}getBackdropNumberName(A){const e=this.runtime.getTargetForStage();return"number"===A.NUMBER_NAME?e.currentCostume+1:e.getCostumes()[e.currentCostume].name}getCostumeNumberName(A,e){return"number"===A.NUMBER_NAME?e.target.currentCostume+1:e.target.getCostumes()[e.target.currentCostume].name}}A.exports=c},function(A,e,t){const n=t(2),i=t(11),r=t(23),s="top-left",o="top-right",a="bottom-left",B="bottom-right",c="top",g="left",Q="right",E="middle",l="bottom";A.exports=class{constructor(A){this.runtime=A}getPrimitives(){return{motion_movesteps:this.moveSteps,motion_movebacksteps:this.moveStepsBack,motion_moveupdownsteps:this.moveStepsUpDown,motion_gotoxy:this.goToXY,motion_goto:this.goTo,motion_turnright:this.turnRight,motion_turnleft:this.turnLeft,motion_turnrightaroundxy:this.turnRightAround,motion_turnleftaroundxy:this.turnLeftAround,motion_turnaround:this.turnAround,motion_pointinrandomdirection:this.pointInDirectionRandom,motion_pointtowardsxy:this.pointTowardsXY,motion_pointindirection:this.pointInDirection,motion_pointtowards:this.pointTowards,motion_glidesecstoxy:this.glide,motion_glideto:this.glideTo,motion_ifonedgebounce:this.ifOnEdgeBounce,motion_ifonxybounce:this.ifOnXYBounce,motion_ifonspritebounce:this.ifOnSpriteBounce,motion_setrotationstyle:this.setRotationStyle,motion_changexby:this.changeX,motion_setx:this.setX,motion_changeyby:this.changeY,motion_sety:this.setY,motion_changebyxy:this.changeXY,motion_xposition:this.getX,motion_yposition:this.getY,motion_direction:this.getDirection,motion_move_sprite_to_scene_side:this.moveToStageSide,motion_scroll_right:()=>{},motion_scroll_up:()=>{},motion_align_scene:()=>{},motion_xscroll:()=>{},motion_yscroll:()=>{}}}moveToStageSide(A,e){if(!this.runtime.renderer)return;const t=n.toString(A.ALIGNMENT),i=this.runtime.stageWidth/2,r=this.runtime.stageHeight/2,u=[];switch(t){case c:e.target.setXY(0,r),u.push("top");break;case g:e.target.setXY(0-i,0),u.push("left");break;case E:e.target.setXY(0,0);break;case Q:e.target.setXY(i,0),u.push("right");break;case l:e.target.setXY(0,0-r),u.push("bottom");break;case s:e.target.setXY(0-i,r),u.push("top"),u.push("left");break;case o:e.target.setXY(i,r),u.push("top"),u.push("right");break;case a:e.target.setXY(0-i,0-r),u.push("bottom"),u.push("left");break;case B:e.target.setXY(i,0-r),u.push("bottom"),u.push("right")}const w=e.target.drawableID,h=this.runtime.renderer._allDrawables[w],C=h._skin.getFenceBounds(h);u.forEach(A=>{switch(A){case"top":e.target.setXY(e.target.x,C.bottom);break;case"bottom":e.target.setXY(e.target.x,C.top);break;case"left":e.target.setXY(C.right,e.target.y);break;case"right":e.target.setXY(C.left,e.target.y)}})}getMonitored(){return{motion_xposition:{isSpriteSpecific:!0,getId:A=>"".concat(A,"_xposition")},motion_yposition:{isSpriteSpecific:!0,getId:A=>"".concat(A,"_yposition")},motion_direction:{isSpriteSpecific:!0,getId:A=>"".concat(A,"_direction")}}}moveSteps(A,e){const t=n.toNumber(A.STEPS);this._moveSteps(t,e.target)}moveStepsBack(A,e){const t=n.toNumber(A.STEPS);this._moveSteps(0-t,e.target)}moveStepsUpDown(A,e){const t=n.toString(A.DIRECTION),i=n.toNumber(A.STEPS);this.turnLeft({DEGREES:90},e),"up"===t?this._moveSteps(i,e.target):"down"===t&&this._moveSteps(0-i,e.target),this.turnRight({DEGREES:90},e)}_moveSteps(A,e){const t=i.degToRad(90-e.direction),n=A*Math.cos(t),r=A*Math.sin(t);e.setXY(e.x+n,e.y+r)}goToXY(A,e){const t=n.toNumber(A.X),i=n.toNumber(A.Y);e.target.setXY(t,i)}getTargetXY(A,e){let t=0,i=0;if("_mouse_"===A)t=e.ioQuery("mouse","getScratchX"),i=e.ioQuery("mouse","getScratchY");else if("_random_"===A){const A=this.runtime.stageWidth,e=this.runtime.stageHeight;t=Math.round(A*(Math.random()-.5)),i=Math.round(e*(Math.random()-.5))}else{A=n.toString(A);const e=this.runtime.getSpriteTargetByName(A);if(!e)return;t=e.x,i=e.y}return[t,i]}goTo(A,e){const t=this.getTargetXY(A.TO,e);t&&e.target.setXY(t[0],t[1])}turnRight(A,e){const t=n.toNumber(A.DEGREES);e.target.setDirection(e.target.direction+t)}turnLeft(A,e){const t=n.toNumber(A.DEGREES);e.target.setDirection(e.target.direction-t)}turnRightAround(A,e){this.turnLeftAround({DEGREES:-n.toNumber(A.DEGREES),X:n.toNumber(A.X),Y:n.toNumber(A.Y)},e)}turnLeftAround(A,e){const t=n.toNumber(A.DEGREES),i=n.toNumber(A.X),r=n.toNumber(A.Y),s=Math.PI*t/180,o=Math.cos(s),a=Math.sin(s),B=e.target.x-i,c=e.target.y-r,g={x:o*B-a*c+i,y:o*c+a*B+r};e.target.setXY(g.x,g.y)}pointInDirection(A,e){const t=n.toNumber(A.DIRECTION);e.target.setDirection(t)}turnAround(A,e){this.turnRight({DEGREES:180},e)}pointInDirectionRandom(A,e){this.pointTowards({TOWARDS:"_random_"},e)}pointTowardsXY(A,e){const t=n.toNumber(A.X),r=n.toNumber(A.Y),s=t-e.target.x,o=r-e.target.y,a=90-i.radToDeg(Math.atan2(o,s));e.target.setDirection(a)}pointTowards(A,e){let t=0,r=0;if("_mouse_"===A.TOWARDS)t=e.ioQuery("mouse","getScratchX"),r=e.ioQuery("mouse","getScratchY");else{if("_random_"===A.TOWARDS)return void e.target.setDirection(Math.round(360*Math.random())-180);{A.TOWARDS=n.toString(A.TOWARDS);const e=this.runtime.getSpriteTargetByName(A.TOWARDS);if(!e)return;t=e.x,r=e.y}}const s=t-e.target.x,o=r-e.target.y,a=90-i.radToDeg(Math.atan2(o,s));e.target.setDirection(a)}glide(A,e){if(e.stackFrame.timer){const A=e.stackFrame.timer.timeElapsed();if(A<1e3*e.stackFrame.duration){const t=A/(1e3*e.stackFrame.duration),n=t*(e.stackFrame.endX-e.stackFrame.startX),i=t*(e.stackFrame.endY-e.stackFrame.startY);e.target.setXY(e.stackFrame.startX+n,e.stackFrame.startY+i),e.yield()}else e.target.setXY(e.stackFrame.endX,e.stackFrame.endY)}else{if(e.stackFrame.timer=new r,e.stackFrame.timer.start(),e.stackFrame.duration=n.toNumber(A.SECS),e.stackFrame.startX=e.target.x,e.stackFrame.startY=e.target.y,e.stackFrame.endX=n.toNumber(A.X),e.stackFrame.endY=n.toNumber(A.Y),e.stackFrame.duration<=0)return void e.target.setXY(e.stackFrame.endX,e.stackFrame.endY);e.yield()}}glideTo(A,e){const t=this.getTargetXY(A.TO,e);t&&this.glide({SECS:A.SECS,X:t[0],Y:t[1]},e)}ifOnEdgeBounce(A,e){this._ifOnEdgeBounce(e.target)}_ifOnEdgeBounce(A){const e=A.getBounds();if(!e)return;const t=this.runtime.stageWidth,n=this.runtime.stageHeight,r=Math.max(0,t/2+e.left),s=Math.max(0,n/2-e.top),o=Math.max(0,t/2-e.right),a=Math.max(0,n/2+e.bottom);let B="",c=1/0;if(r<c&&(c=r,B="left"),s<c&&(c=s,B="top"),o<c&&(c=o,B="right"),a<c&&(c=a,B="bottom"),c>0)return;const g=i.degToRad(90-A.direction);let Q=Math.cos(g),E=-Math.sin(g);"left"===B?Q=Math.max(.2,Math.abs(Q)):"top"===B?E=Math.max(.2,Math.abs(E)):"right"===B?Q=0-Math.max(.2,Math.abs(Q)):"bottom"===B&&(E=0-Math.max(.2,Math.abs(E)));const l=i.radToDeg(Math.atan2(E,Q))+90;A.setDirection(l);const u=A.keepInFence(A.x,A.y);A.setXY(u[0],u[1])}ifOnXYBounce(A,e,t,r,s,o){const a=n.toNumber(A.X),B=n.toNumber(A.Y),c=e.target,g=c.getBounds();if(!g)return;const Q=a>=g.left&&a<=g.right,E=B>=g.bottom&&B<=g.top;if(!(!0===o||Q&&E))return;let l="",u=1/0;for(let A=0;A<4;A++){const e=["left","top","right","bottom"];let t,n;switch(e[A]){case"left":case"right":t=a-g[e[A]],n=B-c.y;break;case"top":case"bottom":t=a-c.x,n=B-g[e[A]]}const i=Math.sqrt(t*t+n*n);i<u&&(u=i,l=e[A])}const w=i.degToRad(90-c.direction);let h=Math.cos(w),C=-Math.sin(w);"left"===l?h=Math.max(.2,Math.abs(h)):"top"===l?C=Math.max(.2,Math.abs(C)):"right"===l?h=0-Math.max(.2,Math.abs(h)):"bottom"===l&&(C=0-Math.max(.2,Math.abs(C)));const d=i.radToDeg(Math.atan2(C,h))+90;c.setDirection(d);const I=c.keepInFence(c.x,c.y);c.setXY(I[0],I[1])}ifOnSpriteBounce(A,e){if("_mouse_"===A.SPRITE){const A=e.ioQuery("mouse","getScratchX"),t=e.ioQuery("mouse","getScratchY");return this.ifOnXYBounce({X:A,Y:t},e)}if("_random_"===A.SPRITE){const A=this.runtime.stageWidth,t=this.runtime.stageHeight,n=Math.round(A*(Math.random()-.5)),i=Math.round(t*(Math.random()-.5));return this.ifOnXYBounce({X:n,Y:i},e)}const t=n.toString(A.SPRITE);if(!this.runtime.getSpriteTargetByName(t))return;const i=e.target.spriteTouchingPoint(t);return i?this.ifOnXYBounce({X:i[0],Y:i[1]},e):void 0}setRotationStyle(A,e){e.target.setRotationStyle(A.STYLE)}changeX(A,e){const t=n.toNumber(A.DX);e.target.setXY(e.target.x+t,e.target.y)}setX(A,e){const t=n.toNumber(A.X);e.target.setXY(t,e.target.y)}changeY(A,e){const t=n.toNumber(A.DY);e.target.setXY(e.target.x,e.target.y+t)}setY(A,e){const t=n.toNumber(A.Y);e.target.setXY(e.target.x,t)}changeXY(A,e){const t=n.toNumber(A.DX),i=n.toNumber(A.DY);e.target.setXY(e.target.x+t,e.target.y+i)}getX(A,e){return this.limitPrecision(e.target.x)}getY(A,e){return this.limitPrecision(e.target.y)}getDirection(A,e){return e.target.direction}limitPrecision(A){const e=Math.round(A),t=A-e;return Math.abs(t)<1e-9?e:A}}},function(A,e,t){const n=t(2),i=t(11),r=t(46),{validateRegex:s}=t(17);A.exports=class{constructor(A){this.runtime=A}getPrimitives(){return{operator_add:this.add,operator_subtract:this.subtract,operator_multiply:this.multiply,operator_divide:this.divide,operator_lt:this.lt,operator_equals:this.equals,operator_notequal:this.notequals,operator_gt:this.gt,operator_ltorequal:this.ltorequal,operator_gtorequal:this.gtorequal,operator_and:this.and,operator_nand:this.nand,operator_nor:this.nor,operator_xor:this.xor,operator_xnor:this.xnor,operator_or:this.or,operator_not:this.not,operator_random:this.random,operator_join:this.join,operator_join3:this.join3,operator_letter_of:this.letterOf,operator_length:this.length,operator_contains:this.contains,operator_mod:this.mod,operator_round:this.round,operator_mathop:this.mathop,operator_advlog:this.advlog,operator_regexmatch:this.regexmatch,operator_replaceAll:this.replaceAll,operator_replaceFirst:this.replaceFirst,operator_getLettersFromIndexToIndexInText:this.getLettersFromIndexToIndexInText,operator_readLineInMultilineText:this.readLineInMultilineText,operator_newLine:this.newLine,operator_tabCharacter:this.tabCharacter,operator_stringify:this.stringify,operator_boolify:this.boolify,operator_lerpFunc:this.lerpFunc,operator_advMath:this.advMath,operator_constrainnumber:this.constrainnumber,operator_trueBoolean:this.true,operator_falseBoolean:this.false,operator_randomBoolean:this.randomBoolean,operator_indexOfTextInText:this.indexOfTextInText,operator_lastIndexOfTextInText:this.lastIndexOfTextInText,operator_toUpperLowerCase:this.toCase,operator_character_to_code:this.charToCode,operator_code_to_character:this.codeToChar,operator_textStartsOrEndsWith:this.textStartsOrEndsWith,operator_countAppearTimes:this.countAppearTimes,operator_textIncludesLetterFrom:this.textIncludesLetterFrom,operator_javascript_output:this.javascriptOutput,operator_javascript_boolean:this.javascriptBoolean}}javascriptOutput(A){return new Promise((e,t)=>{const i=n.toString(A.JS);r.execute(i).then(A=>{e(A.value)})})}javascriptBoolean(A){return new Promise((e,t)=>{const i=n.toString(A.JS);r.execute(i).then(A=>{e(!0===A.value)})})}charToCode(A){const e=n.toString(A.ONE);return e?e.charCodeAt(0):NaN}codeToChar(A){const e=n.toNumber(A.ONE);return String.fromCharCode(e)}toCase(A){const e=n.toString(A.TEXT);switch(A.OPTION){case"upper":return e.toUpperCase();case"lower":return e.toLowerCase()}}indexOfTextInText(A){const e=n.toString(A.TEXT1),t=n.toString(A.TEXT2);let i=0;return t.includes(e)&&(i=t.indexOf(e)+1),i}lastIndexOfTextInText(A){const e=n.toString(A.TEXT1),t=n.toString(A.TEXT2);let i=0;return t.includes(e)&&(i=t.lastIndexOf(e)+1),i}textStartsOrEndsWith(A){const e=n.toString(A.TEXT1),t=n.toString(A.OPTION),i=n.toString(A.TEXT2);return"starts"===t?e.startsWith(i):e.endsWith(i)}countAppearTimes(A){const e=n.toString(A.TEXT2),t=n.toString(A.TEXT1),i=e.split(t);return i.length<=1?0:i.length-1}textIncludesLetterFrom(A){const e=n.toString(A.TEXT1),t=n.toString(A.TEXT2);let i=!1;return t.split("").forEach(A=>{e.includes(A)&&(i=!0)}),i}true(){return!0}false(){return!1}randomBoolean(){return Boolean(Math.round(Math.random()))}constrainnumber(A){return Math.min(Math.max(A.min,A.inp),A.max)}lerpFunc(A){const e=isNaN(n.toNumber(A.ONE))?0:n.toNumber(A.ONE),t=isNaN(n.toNumber(A.TWO))?0:n.toNumber(A.TWO),i=isNaN(n.toNumber(A.AMOUNT))?0:n.toNumber(A.AMOUNT);let r=e;return r+=(t-e)/(i/(i*i)),r}advMath(A){const e=isNaN(n.toNumber(A.ONE))?0:n.toNumber(A.ONE),t=isNaN(n.toNumber(A.TWO))?0:n.toNumber(A.TWO);switch(n.toString(A.OPTION)){case"^":return e**t;case"root":return e**1/t;case"log":return Math.log(t)/Math.log(e);default:return 0}}stringify(A){return n.toString(A.ONE)}boolify(A){return n.toBoolean(A.ONE)}newLine(){return"\n"}tabCharacter(){return"\t"}readLineInMultilineText(A){const e=(n.toNumber(A.LINE)?n.toNumber(A.LINE):1)-1;return n.toString(A.TEXT).split("\n")[e]||""}getLettersFromIndexToIndexInText(A){const e=(n.toNumber(A.INDEX1)?n.toNumber(A.INDEX1):1)-1,t=(n.toNumber(A.INDEX2)?n.toNumber(A.INDEX2):1)-1;return n.toString(A.TEXT).substring(e,t)}replaceAll(A){return n.toString(A.text).replaceAll(A.term,A.res)}replaceFirst(A){return n.toString(A.text).replace(A.term,A.res)}regexmatch(A){if(!s(A.reg,A.regrule))return"[]";const e=new RegExp(A.reg,A.regrule),t=A.text.match(e);return JSON.stringify(t||[])}add(A){return n.toNumber(A.NUM1)+n.toNumber(A.NUM2)}subtract(A){return n.toNumber(A.NUM1)-n.toNumber(A.NUM2)}multiply(A){return n.toNumber(A.NUM1)*n.toNumber(A.NUM2)}divide(A){return n.toNumber(A.NUM1)/n.toNumber(A.NUM2)}lt(A){return n.compare(A.OPERAND1,A.OPERAND2)<0}equals(A){return 0===n.compare(A.OPERAND1,A.OPERAND2)}notequals(A){return!this.equals(A)}gt(A){return n.compare(A.OPERAND1,A.OPERAND2)>0}gtorequal(A){return!this.lt(A)}ltorequal(A){return!this.gt(A)}and(A){return n.toBoolean(A.OPERAND1)&&n.toBoolean(A.OPERAND2)}nand(A){return!(n.toBoolean(A.OPERAND1)&&n.toBoolean(A.OPERAND2))}nor(A){return!(n.toBoolean(A.OPERAND1)||n.toBoolean(A.OPERAND2))}xor(A){const e=n.toBoolean(A.OPERAND1),t=n.toBoolean(A.OPERAND2);return e?!t:t}xnor(A){return!this.xor(A)}or(A){return n.toBoolean(A.OPERAND1)||n.toBoolean(A.OPERAND2)}not(A){return!n.toBoolean(A.OPERAND)}random(A){return this._random(A.FROM,A.TO)}_random(A,e){const t=n.toNumber(A),i=n.toNumber(e),r=t<=i?t:i,s=t<=i?i:t;return r===s?r:n.isInt(A)&&n.isInt(e)?r+Math.floor(Math.random()*(s+1-r)):Math.random()*(s-r)+r}join(A){return n.toString(A.STRING1)+n.toString(A.STRING2)}join3(A){return n.toString(A.STRING1)+n.toString(A.STRING2)+n.toString(A.STRING3)}letterOf(A){const e=n.toNumber(A.LETTER)-1,t=n.toString(A.STRING);return e<0||e>=t.length?"":t.charAt(e)}length(A){return n.toString(A.STRING).length}contains(A){const e=function(A){return n.toString(A).toLowerCase()};return e(A.STRING1).includes(e(A.STRING2))}mod(A){const e=n.toNumber(A.NUM1),t=n.toNumber(A.NUM2);let i=e%t;return i/t<0&&(i+=t),i}round(A){return Math.round(n.toNumber(A.NUM))}mathop(A){const e=n.toString(A.OPERATOR).toLowerCase(),t=n.toNumber(A.NUM);switch(e){case"abs":return Math.abs(t);case"floor":return Math.floor(t);case"ceiling":return Math.ceil(t);case"sqrt":return Math.sqrt(t);case"sin":return Math.round(1e10*Math.sin(Math.PI*t/180))/1e10;case"cos":return Math.round(1e10*Math.cos(Math.PI*t/180))/1e10;case"tan":return i.tan(t);case"asin":return 180*Math.asin(t)/Math.PI;case"acos":return 180*Math.acos(t)/Math.PI;case"atan":return 180*Math.atan(t)/Math.PI;case"ln":return Math.log(t);case"log":return Math.log(t)/Math.LN10;case"e ^":return Math.exp(t);case"10 ^":return Math.pow(10,t)}return 0}advlog(A){return Math.log(n.toNumber(A.NUM2))/Math.log(n.toNumber(A.NUM1))}}},function(A,e,t){const n=t(11),i=t(2),r=t(10);class s{constructor(A){this.runtime=A,this.waitingSounds={},this.stopAllSounds=this.stopAllSounds.bind(this),this._stopWaitingSoundsForTarget=this._stopWaitingSoundsForTarget.bind(this),this._clearEffectsForAllTargets=this._clearEffectsForAllTargets.bind(this),this.runtime&&(this.runtime.on("PROJECT_STOP_ALL",this.stopAllSounds),this.runtime.on("PROJECT_STOP_ALL",this._clearEffectsForAllTargets),this.runtime.on("STOP_FOR_TARGET",this._stopWaitingSoundsForTarget),this.runtime.on("PROJECT_START",this._clearEffectsForAllTargets)),this._onTargetCreated=this._onTargetCreated.bind(this),this.runtime&&A.on("targetWasCreated",this._onTargetCreated)}static get STATE_KEY(){return"Scratch.sound"}static get DEFAULT_SOUND_STATE(){return{effects:{pitch:0,pan:0}}}static get MIDI_NOTE_RANGE(){return{min:36,max:96}}static get BEAT_RANGE(){return{min:0,max:100}}static get TEMPO_RANGE(){return{min:20,max:500}}static get EFFECT_RANGE(){return{pitch:{min:-360,max:360},pan:{min:-100,max:100}}}static get LARGER_EFFECT_RANGE(){return{pitch:{min:-1e3,max:1e3},pan:{min:-100,max:100}}}_getSoundState(A){let e=A.getCustomState(s.STATE_KEY);return e||(e=r.simple(s.DEFAULT_SOUND_STATE),A.setCustomState(s.STATE_KEY,e),A.soundEffects=e.effects),e}_onTargetCreated(A,e){if(e){const t=e.getCustomState(s.STATE_KEY);t&&A&&(A.setCustomState(s.STATE_KEY,r.simple(t)),this._syncEffectsForTarget(A))}}getPrimitives(){return{sound_play:this.playSound,sound_playallsounds:this.playSoundAllLolOpAOIUHFoiubea87fge87iufwhef87wye87fn,sound_playuntildone:this.playSoundAndWait,sound_stop:this.stopSpecificSound,sound_stopallsounds:this.stopAllSounds,sound_seteffectto:this.setEffect,sound_changeeffectby:this.changeEffect,sound_cleareffects:this.clearEffects,sound_sounds_menu:this.soundsMenu,sound_beats_menu:this.beatsMenu,sound_effects_menu:this.effectsMenu,sound_setvolumeto:this.setVolume,sound_changevolumeby:this.changeVolume,sound_volume:this.getVolume,sound_isSoundPlaying:this.isSoundPlaying,sound_getEffectValue:this.getEffectValue,sound_getLength:this.getLength,sound_set_stop_fadeout_to:this.setStopFadeout,sound_play_at_seconds:this.playAtSeconds,sound_play_at_seconds_until_done:this.playAtSecondsAndWait,sound_getSoundVolume:this.currentSoundVolume}}getMonitored(){return{sound_volume:{isSpriteSpecific:!0,getId:A=>"".concat(A,"_volume")}}}currentSoundVolume(A,e){}playAtSeconds(A,e){const t=i.toNumber(A.VALUE);t<0||this._playSoundAtTimePosition({sound:i.toString(A.SOUND_MENU),seconds:t},e,!0)}playAtSecondsAndWait(A,e){const t=i.toNumber(A.VALUE);if(!(t<0))return this._playSoundAtTimePosition({sound:i.toString(A.SOUND_MENU),seconds:t},e,!0)}_playSoundAtTimePosition(A,e,t){let{sound:n,seconds:i}=A;const r=this._getSoundIndex(n,e);if(r>=0){const{target:A}=e,{sprite:n}=A,{soundId:s}=n.sounds[r];if(n.soundBank)return!0===t?this._addWaitingSound(A.id,s):this._removeWaitingSound(A.id,s),n.soundBank.playSound(A,s,i)}}setStopFadeout(A,e){const t=i.toString(A.SOUND_MENU),n=this._getSoundIndex(t,e);if(n<0)return;const r=e.target.sprite;if(!r)return;if(!r.sounds)return;const{soundId:s}=r.sounds[n],o=r.soundBank;if(!o)return;const a=i.toNumber(A.VALUE);o.soundPlayers[s].stopFadeDecay=a<=0?0:a}getEffectValue(A,e){const t=e.target.soundEffects;if(!t)return 0;const n=i.toString(A.EFFECT).toLowerCase();if(!t.hasOwnProperty(n))return 0;return i.toNumber(t[n])}isSoundPlaying(A,e){const t=this._getSoundIndex(A.SOUND_MENU,e);if(t<0)return!1;const n=e.target.sprite;if(!n)return!1;const{soundId:i}=n.sounds[t],r=n.soundBank;if(!r)return!1;const s=r.soundPlayers;return!!s&&(!!s.hasOwnProperty(i)&&1==s[i].isPlaying)}getLength(A,e){const t=this._getSoundIndex(A.SOUND_MENU,e);if(t<0)return 0;const n=e.target.sprite;if(!n)return 0;const{soundId:r}=n.sounds[t],s=n.soundBank;if(!s)return 0;const o=s.soundPlayers;if(!o)return 0;if(!o.hasOwnProperty(r))return 0;const a=o[r].buffer;return a?i.toNumber(a.duration):0}stopSpecificSound(A,e){const t=this._getSoundIndex(A.SOUND_MENU,e);if(t<0)return;const n=e.target,i=n.sprite;if(!i)return;const{soundId:r}=i.sounds[t],s=i.soundBank;s&&s.stop(n,r)}playSound(A,e){this._playSound(A,e)}playSoundAndWait(A,e){return this._playSound(A,e,!0)}_playSound(A,e,t){const n=this._getSoundIndex(A.SOUND_MENU,e);if(n>=0){const{target:A}=e,{sprite:i}=A,{soundId:r}=i.sounds[n];if(i.soundBank)return!0===t?this._addWaitingSound(A.id,r):this._removeWaitingSound(A.id,r),i.soundBank.playSound(A,r)}}_addWaitingSound(A,e){this.waitingSounds[A]||(this.waitingSounds[A]=new Set),this.waitingSounds[A].add(e)}_removeWaitingSound(A,e){this.waitingSounds[A]&&this.waitingSounds[A].delete(e)}_getSoundIndex(A,e){const t=e.target.sprite.sounds.length;if(0===t)return-1;const i=this.getSoundIndexByName(A,e);if(-1!==i)return i;const r=parseInt(A,10);return isNaN(r)?-1:n.wrapClamp(r-1,0,t-1)}getSoundIndexByName(A,e){const t=e.target.sprite.sounds;for(let e=0;e<t.length;e++)if(t[e].name===A)return e;return-1}stopAllSounds(){if(null===this.runtime.targets)return;const A=this.runtime.targets;for(let e=0;e<A.length;e++)this._stopAllSoundsForTarget(A[e])}playSoundAllLolOpAOIUHFoiubea87fge87iufwhef87wye87fn(A,e){const t=e.target,n=t.sprite;if(n)for(let A=0;A<n.sounds.length;A++){const{soundId:e}=n.sounds[A];n.soundBank&&n.soundBank.playSound(t,e)}}_stopAllSoundsForTarget(A){A.sprite.soundBank&&(A.sprite.soundBank.stopAllSounds(A),this.waitingSounds[A.id]&&this.waitingSounds[A.id].clear())}_stopWaitingSoundsForTarget(A){if(A.sprite.soundBank&&this.waitingSounds[A.id]){for(const e of this.waitingSounds[A.id].values())A.sprite.soundBank.stop(A,e);this.waitingSounds[A.id].clear()}}setEffect(A,e){return this._updateEffect(A,e,!1)}changeEffect(A,e){return this._updateEffect(A,e,!0)}_updateEffect(A,e,t){const r=i.toString(A.EFFECT).toLowerCase(),o=i.toNumber(A.VALUE),a=this._getSoundState(e.target);if(!a.effects.hasOwnProperty(r))return;t?a.effects[r]+=o:a.effects[r]=o;const B=this.runtime.runtimeOptions.miscLimits,{min:c,max:g}=B?s.EFFECT_RANGE[r]:s.LARGER_EFFECT_RANGE[r];if(a.effects[r]=n.clamp(a.effects[r],c,g),this._syncEffectsForTarget(e.target),B)return Promise.resolve();this.runtime.requestRedraw()}_syncEffectsForTarget(A){A&&A.sprite.soundBank&&(A.soundEffects=this._getSoundState(A).effects,A.sprite.soundBank.setEffects(A))}clearEffects(A,e){this._clearEffectsForTarget(e.target)}_clearEffectsForTarget(A){const e=this._getSoundState(A);for(const A in e.effects)e.effects.hasOwnProperty(A)&&(e.effects[A]=0);this._syncEffectsForTarget(A)}_clearEffectsForAllTargets(){if(null===this.runtime.targets)return;const A=this.runtime.targets;for(let e=0;e<A.length;e++)this._clearEffectsForTarget(A[e])}setVolume(A,e){const t=i.toNumber(A.VOLUME);return this._updateVolume(t,e.target)}changeVolume(A,e){const t=i.toNumber(A.VOLUME)+e.target.volume;return this._updateVolume(t,e.target)}_updateVolume(A,e){if(A=n.clamp(A,0,100),e.volume=A,this._syncEffectsForTarget(e),this.runtime.runtimeOptions.miscLimits)return Promise.resolve();this.runtime.requestRedraw()}getVolume(A,e){return e.target.volume}soundsMenu(A){return A.SOUND_MENU}beatsMenu(A){return A.BEATS}effectsMenu(A){return A.EFFECT}}A.exports=s},function(A,e,t){const n=t(2),i=t(23),r=t(11),s=t(54),{validateRegex:o}=t(17);A.exports=class{constructor(A){this.runtime=A,this._answer="",this._timer=new i,this._cachedLoudness=-1,this._cachedLoudnessTimestamp=0,this._questionList=[],this.runtime.on("ANSWER",this._onAnswer.bind(this)),this.runtime.on("PROJECT_START",this._resetAnswer.bind(this)),this.runtime.on("PROJECT_STOP_ALL",this._clearAllQuestions.bind(this)),this.runtime.on("STOP_FOR_TARGET",this._clearTargetQuestions.bind(this)),this.runtime.on("RUNTIME_DISPOSED",this._resetAnswer.bind(this))}getPrimitives(){return{sensing_objecttouchingobject:this.objectTouchingObject,sensing_touchingobject:this.touchingObject,sensing_touchingcolor:this.touchingColor,sensing_coloristouchingcolor:this.colorTouchingColor,sensing_distanceto:this.distanceTo,sensing_timer:this.getTimer,sensing_resettimer:this.resetTimer,sensing_of:this.getAttributeOf,sensing_mousex:this.getMouseX,sensing_mousey:this.getMouseY,sensing_setdragmode:this.setDragMode,sensing_mousedown:this.getMouseDown,sensing_keypressed:this.getKeyPressed,sensing_current:this.current,sensing_dayssince2000:this.daysSince2000,sensing_loudness:this.getLoudness,sensing_loud:this.isLoud,sensing_askandwait:this.askAndWait,sensing_answer:this.getAnswer,sensing_username:this.getUsername,sensing_userid:()=>{},sensing_regextest:this.regextest,sensing_thing_is_number:this.thing_is_number,sensing_thing_has_number:this.thing_has_number,sensing_mobile:this.mobile,sensing_thing_is_text:this.thing_is_text,sensing_getspritewithattrib:this.getspritewithattrib,sensing_directionTo:this.getDirectionToFrom,sensing_distanceTo:this.getDistanceToFrom,sensing_isUpperCase:this.isCharecterUppercase,sensing_mouseclicked:this.mouseClicked,sensing_keyhit:this.keyHit,sensing_mousescrolling:this.mouseScrolling,sensing_fingerdown:this.fingerDown,sensing_fingertapped:this.fingerTapped,sensing_fingerx:this.getFingerX,sensing_fingery:this.getFingerY,sensing_setclipboard:this.setClipboard,sensing_getclipboard:this.getClipboard,sensing_getdragmode:this.getDragMode,sensing_getoperatingsystem:this.getOS,sensing_getbrowser:this.getBrowser,sensing_geturl:this.getUrl,sensing_getxyoftouchingsprite:this.getXYOfTouchingSprite}}getOS(){if(!("userAgent"in navigator))return"Unknown";const A=navigator.userAgent;return A.includes("Mac OS")?"MacOS":A.includes("CrOS")?"ChromeOS":A.includes("Linux")?"Linux":A.includes("Windows")?"Windows":A.includes("iPad")||A.includes("iPod")||A.includes("iPhone")?"iOS":A.includes("Android")?"Android":"Unknown"}getBrowser(){if(!("userAgent"in navigator))return"Unknown";const A=navigator.userAgent;if("userAgentData"in navigator){const A=JSON.stringify(navigator.userAgentData.brands);if(A.includes("Google Chrome"))return"Chrome";if(A.includes("Opera"))return"Opera";if(A.includes("Microsoft Edge"))return"Edge"}return A.includes("Chrome")?"Chrome":A.includes("Firefox")?"Firefox":A.includes("Safari")?"Safari":"Unknown"}getUrl(){return"href"in location?location.href:""}setClipboard(A){const e=n.toString(A.ITEM);navigator&&"clipboard"in navigator&&"writeText"in navigator.clipboard&&navigator.clipboard.writeText(e)}getClipboard(){return navigator&&"clipboard"in navigator&&"readText"in navigator.clipboard?navigator.clipboard.readText():""}getDragMode(A,e){return e.target.draggable}mouseClicked(A,e){return e.ioQuery("mouse","getIsClicked")}keyHit(A,e){return e.ioQuery("keyboard","getKeyIsHit",[A.KEY_OPTION])}mouseScrolling(A,e){const t=e.ioQuery("mouseWheel","getScrollDelta");switch(A.SCROLL_OPTION){case"up":return t<0;case"down":return t>0;default:return!1}}isCharecterUppercase(A){return/[A-Z]/g.test(A.text)}getDirectionToFrom(A){const e=A.x2-A.x1,t=A.y2-A.y1;return 90-r.radToDeg(Math.atan2(t,e))}getDistanceToFrom(A){const e=A.x2-A.x1,t=A.y2-A.y1;return Math.sqrt(e*e+t*t)}getspritewithattrib(A,e){const t=e.runtime.targets.map(A=>({id:A.id,name:A.sprite?A.sprite.name:"Unknown",variables:Object.values(A.variables).reduce((A,e)=>e.name?(A[e.name]=String(e.value),A):A,{})}));let n="No sprites found";for(let e=1,i=t[0];e<t.length;i=t[e++])if(i.variables[A.var]===A.val){n='{"id": "'.concat(i.id,'", "name": "').concat(i.name,'"}');break}return n}thing_is_number(A){return!n.toString(A.TEXT1).trim().endsWith(".")&&!this.thing_is_text(A)}thing_is_text(A){return isNaN(Number(A.TEXT1))}thing_has_number(A){return/\d/.test(n.toString(A.TEXT1))}mobile(){return"undefined"!=typeof window&&"ontouchstart"in window}regextest(A){if(!o(A.reg,A.regrule))return!1;return new RegExp(A.reg,A.regrule).test(A.text)}getMonitored(){return{sensing_answer:{getId:()=>"answer"},sensing_mousedown:{getId:()=>"mousedown"},sensing_mousex:{getId:()=>"mousex"},sensing_mousey:{getId:()=>"mousey"},sensing_loudness:{getId:()=>"loudness"},sensing_timer:{getId:()=>"timer"},sensing_dayssince2000:{getId:()=>"dayssince2000"},sensing_current:{getId:(A,e)=>s("current",e)}}}_onAnswer(A){this._answer=A;const e=this._questionList.shift();if(e){const[A,t,n,i,r]=e;i&&!r&&this.runtime.emit("SAY",n,"say",""),t(),this._askNextQuestion()}}_resetAnswer(){this._answer=""}_enqueueAsk(A,e,t,n,i){this._questionList.push([A,e,t,n,i])}_askNextQuestion(){if(this._questionList.length>0){const[A,e,t,n,i]=this._questionList[0];n&&!i?(this.runtime.emit("SAY",t,"say",A),this.runtime.emit("QUESTION","")):this.runtime.emit("QUESTION",A)}}_clearAllQuestions(){this._questionList=[],this.runtime.emit("QUESTION",null)}_clearTargetQuestions(A){const e=this._questionList.length>0&&this._questionList[0][2]===A;this._questionList=this._questionList.filter(e=>e[2]!==A),e&&(this.runtime.emit("SAY",A,"say",""),this._questionList.length>0?this._askNextQuestion():this.runtime.emit("QUESTION",null))}askAndWait(A,e){const t=e.target;return new Promise(e=>{const n=this._questionList.length>0;this._enqueueAsk(String(A.QUESTION),e,t,t.visible,t.isStage),n||this._askNextQuestion()})}getAnswer(){return this._answer}objectTouchingObject(A,e){const t="_myself_"===A.FULLTOUCHINGOBJECTMENU?e.target.getName():A.FULLTOUCHINGOBJECTMENU,n=A.SPRITETOUCHINGOBJECTMENU;if("_myself_"===n)return e.target.isTouchingObject(t);const i=this.runtime.getSpriteTargetByName(n);return!!i&&i.isTouchingObject(t)}touchingObject(A,e){return e.target.isTouchingObject(A.TOUCHINGOBJECTMENU)}getXYOfTouchingSprite(A,e){const t=A.SPRITE;if("_mouse_"===t){const t=e.ioQuery("mouse","getScratchX"),n=e.ioQuery("mouse","getScratchY");return"y"===A.XY?n:t}const n=e.target.spriteTouchingPoint(t);return n?"y"===A.XY?n[1]:n[0]:""}touchingColor(A,e){const t=n.toRgbColorList(A.COLOR);return e.target.isTouchingColor(t)}colorTouchingColor(A,e){const t=n.toRgbColorList(A.COLOR),i=n.toRgbColorList(A.COLOR2);return e.target.colorIsTouchingColor(i,t)}distanceTo(A,e){if(e.target.isStage)return 1e4;let t=0,i=0;if("_mouse_"===A.DISTANCETOMENU)t=e.ioQuery("mouse","getScratchX"),i=e.ioQuery("mouse","getScratchY");else{A.DISTANCETOMENU=n.toString(A.DISTANCETOMENU);const e=this.runtime.getSpriteTargetByName(A.DISTANCETOMENU);if(!e)return 1e4;t=e.x,i=e.y}const r=e.target.x-t,s=e.target.y-i;return Math.sqrt(r*r+s*s)}setDragMode(A,e){e.target.setDraggable("draggable"===A.DRAG_MODE)}getTimer(A,e){return e.ioQuery("clock","projectTimer")}resetTimer(A,e){e.ioQuery("clock","resetProjectTimer")}getMouseX(A,e){return e.ioQuery("mouse","getScratchX")}getMouseY(A,e){return e.ioQuery("mouse","getScratchY")}getMouseDown(A,e){return e.ioQuery("mouse","getIsDown")}getFingerX(A,e){return e.ioQuery("touch","getScratchX",[n.toNumber(A.FINGER_OPTION)-1])}getFingerY(A,e){return e.ioQuery("touch","getScratchY",[n.toNumber(A.FINGER_OPTION)-1])}fingerDown(A,e){return e.ioQuery("touch","getIsDown",[n.toNumber(A.FINGER_OPTION)-1])}fingerTapped(A,e){return e.ioQuery("touch","getIsTapped",[n.toNumber(A.FINGER_OPTION)-1])}current(A){const e=n.toString(A.CURRENTMENU).toLowerCase(),t=new Date;switch(e){case"year":return t.getFullYear();case"month":return t.getMonth()+1;case"date":return t.getDate();case"dayofweek":return t.getDay()+1;case"hour":return t.getHours();case"minute":return t.getMinutes();case"second":return t.getSeconds()}return 0}getKeyPressed(A,e){return e.ioQuery("keyboard","getKeyIsDown",[A.KEY_OPTION])}daysSince2000(){const A=new Date(2e3,0,1),e=new Date,t=e.getTimezoneOffset()-A.getTimezoneOffset();let n=e.valueOf()-A.valueOf();return n+=60*(e.getTimezoneOffset()-t)*1e3,n/864e5}getLoudness(){if(void 0===this.runtime.audioEngine)return-1;if(null===this.runtime.currentStepTime)return-1;return this._timer.time()-this._cachedLoudnessTimestamp<this.runtime.currentStepTime||(this._cachedLoudnessTimestamp=this._timer.time(),this._cachedLoudness=this.runtime.audioEngine.getLoudness()),this._cachedLoudness}isLoud(){return this.getLoudness()>10}getAttributeOf(A){let e;if("_stage_"===A.OBJECT?e=this.runtime.getTargetForStage():(A.OBJECT=n.toString(A.OBJECT),e=this.runtime.getSpriteTargetByName(A.OBJECT)),!e)return 0;if(e.isStage)switch(A.PROPERTY){case"background #":case"backdrop #":return e.currentCostume+1;case"backdrop name":return e.getCostumes()[e.currentCostume].name;case"volume":return e.volume}else switch(A.PROPERTY){case"x position":return e.x;case"y position":return e.y;case"direction":return e.direction;case"costume #":return e.currentCostume+1;case"costume name":return e.getCostumes()[e.currentCostume].name;case"size":return e.size;case"volume":return e.volume}const t=A.PROPERTY,i=e.lookupVariableByNameAndType(t,"",!0);return i?i.value:0}getUsername(A,e){return e.ioQuery("userData","getUsername")}}},function(A,e,t){const n=t(2),{validateArray:i}=t(17);A.exports=class{constructor(A){this.runtime=A}getPrimitives(){return{data_variable:this.getVariable,data_setvariableto:this.setVariableTo,data_changevariableby:this.changeVariableBy,data_hidevariable:this.hideVariable,data_showvariable:this.showVariable,data_listcontents:this.getListContents,data_addtolist:this.addToList,data_deleteoflist:this.deleteOfList,data_deletealloflist:this.deleteAllOfList,data_insertatlist:this.insertAtList,data_replaceitemoflist:this.replaceItemOfList,data_itemoflist:this.getItemOfList,data_itemnumoflist:this.getItemNumOfList,data_lengthoflist:this.lengthOfList,data_listcontainsitem:this.listContainsItem,data_hidelist:this.hideList,data_showlist:this.showList,data_reverselist:this.data_reverselist,data_itemexistslist:this.data_itemexistslist,data_listisempty:this.data_listisempty,data_listarray:this.data_listarray,data_arraylist:this.data_arraylist,data_listforeachnum:this.data_listforeachnum,data_listforeachitem:this.data_listforeachitem}}data_reverselist(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);t.value.reverse(),t._monitorUpToDate=!1}data_itemexistslist(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);return n.toListIndex(A.INDEX,t.value.length,!1)!==n.LIST_INVALID}data_listisempty(A,e){return e.target.lookupOrCreateList(A.LIST.id,A.LIST.name).value.length<1}data_listarray(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);return JSON.stringify(t.value)}data_arraylist(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name),n=i(A.VALUE).array.map(A=>"object"==typeof A?JSON.stringify(A):String(A));t.value=n}data_listforeachnum(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);void 0===e.stackFrame.loopCounter&&(e.stackFrame.loopCounter=t.value.length),e.stackFrame.loopCounter--,e.stackFrame.loopCounter>=0&&(this.setVariableTo({VARIABLE:A.INDEX,VALUE:e.stackFrame.loopCounter},e),e.startBranch(1,!0))}data_listforeachitem(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);void 0===e.stackFrame.loopCounter&&(e.stackFrame.loopCounter=t.value.length),e.stackFrame.loopCounter--,e.stackFrame.loopCounter>=0&&(this.setVariableTo({VARIABLE:A.INDEX,VALUE:t.value[e.stackFrame.loopCounter]},e),e.startBranch(1,!0))}getVariable(A,e){return e.target.lookupOrCreateVariable(A.VARIABLE.id,A.VARIABLE.name).value}setVariableTo(A,e){const t=e.target.lookupOrCreateVariable(A.VARIABLE.id,A.VARIABLE.name);t.value=A.VALUE,t.isCloud&&e.ioQuery("cloud","requestUpdateVariable",[t.name,A.VALUE])}changeVariableBy(A,e){const t=e.target.lookupOrCreateVariable(A.VARIABLE.id,A.VARIABLE.name),i=n.toNumber(t.value)+n.toNumber(A.VALUE);t.value=i,t.isCloud&&e.ioQuery("cloud","requestUpdateVariable",[t.name,i])}changeMonitorVisibility(A,e){this.runtime.monitorBlocks.changeBlock({id:A,element:"checkbox",value:e},this.runtime)}showVariable(A){this.changeMonitorVisibility(A.VARIABLE.id,!0)}hideVariable(A){this.changeMonitorVisibility(A.VARIABLE.id,!1)}showList(A){this.changeMonitorVisibility(A.LIST.id,!0)}hideList(A){this.changeMonitorVisibility(A.LIST.id,!1)}getListContents(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);if(e.thread.updateMonitor)return t._monitorUpToDate?t.value:(t._monitorUpToDate=!0,t.value.slice());let n=!0;for(let A=0;A<t.value.length;A++){const e=t.value[A];if("string"!=typeof e||1!==e.length){n=!1;break}}return n?t.value.join(""):t.value.join(" ")}addToList(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);t.value.push(A.ITEM),t._monitorUpToDate=!1}deleteOfList(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name),i=n.toListIndex(A.INDEX,t.value.length,!0);i!==n.LIST_INVALID&&(i!==n.LIST_ALL?(t.value.splice(i-1,1),t._monitorUpToDate=!1):t.value=[])}deleteAllOfList(A,e){e.target.lookupOrCreateList(A.LIST.id,A.LIST.name).value=[]}insertAtList(A,e){const t=A.ITEM,i=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name),r=n.toListIndex(A.INDEX,i.value.length+1,!1);r!==n.LIST_INVALID&&(i.value.splice(r-1,0,t),i._monitorUpToDate=!1)}replaceItemOfList(A,e){const t=A.ITEM,i=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name),r=n.toListIndex(A.INDEX,i.value.length,!1);r!==n.LIST_INVALID&&(i.value[r-1]=t,i._monitorUpToDate=!1)}getItemOfList(A,e){const t=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name),i=n.toListIndex(A.INDEX,t.value.length,!1);return i===n.LIST_INVALID?"":t.value[i-1]}getItemNumOfList(A,e){const t=A.ITEM,i=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);for(let A=0;A<i.value.length;A++)if(0===n.compare(i.value[A],t))return A+1;return 0}lengthOfList(A,e){return e.target.lookupOrCreateList(A.LIST.id,A.LIST.name).value.length}listContainsItem(A,e){const t=A.ITEM,i=e.target.lookupOrCreateList(A.LIST.id,A.LIST.name);if(i.value.indexOf(t)>=0)return!0;for(let A=0;A<i.value.length;A++)if(0===n.compare(i.value[A],t))return!0;return!1}}},function(A,e,t){t(2);A.exports=class{constructor(A){this.runtime=A}getPrimitives(){return{procedures_definition:this.definition,procedures_call:this.call,argument_reporter_string_number:this.argumentReporterStringNumber,argument_reporter_boolean:this.argumentReporterBoolean}}definition(){}call(A,e){if(!e.stackFrame.executed){const t=A.mutation.proccode,n=e.getProcedureParamNamesIdsAndDefaults(t);if(null===n)return;const[i,r,s]=n;e.initParams();for(let t=0;t<r.length;t++)A.hasOwnProperty(r[t])?e.pushParam(i[t],A[r[t]]):e.pushParam(i[t],s[t]);const o=e.runtime.getAddonBlock(t);if(o){const A=o.callback(e.thread.getAllparams(),e);return 1===e.thread.status&&(e.stackFrame.executed=!0),A}e.stackFrame.executed=!0,e.startProcedure(t)}}argumentReporterStringNumber(A,e){const t=e.getParam(A.VALUE);return null===t?0:t}argumentReporterBoolean(A,e){const t=e.getParam(A.VALUE);return null===t?0:t}}},function(A,e,t){const n=t(2);A.exports=class{constructor(A){this.runtime=A}getPrimitives(){return{looks_setVertTransform:this.setVerticalTransform,looks_setHorizTransform:this.setHorizontalTransform}}setVerticalTransform(A,e){let{target:t}=e;const i=n.toNumber(A.PERCENT)/100;t.setTransform([i,t.transform[1]])}setHorizontalTransform(A,e){let{target:t}=e;const i=n.toNumber(A.PERCENT)/100;t.setTransform([t.transform[0],i])}}},function(A,e,t){const{translateForCamera:n}=t(52);A.exports={setupInitialState:A=>{const e=A.renderer;for(const t of A.targets){const A=t._getRenderedDirectionAndScale();e&&t.interpolationData&&t.updateAllDrawableProperties(),t.visible&&!t.isStage?t.interpolationData={x:t.x,y:t.y,direction:A.direction,scale:A.scale,costume:t.currentCostume,ghost:t.effects.ghost}:t.interpolationData=null}},interpolate:(A,e)=>{const t=A.renderer;if(t)for(const i of A.targets){const r=i.interpolationData;if(!r)continue;if(!i.visible)continue;const s=i.drawableID,[o,a]=i.cameraBound>=0?n(A,i.cameraBound,r.x,r.y):[r.x,r.y],[B,c]=i._translatePossitionToCamera(),g=B-o,Q=c-a,E=Math.abs(g),l=Math.abs(Q);if(E>.1||l>.1){const A=t._allDrawables[s].getAABB(),n=Math.min(240,Math.max(50,1.5*(A.width+A.height)));if(Math.sqrt(E**2+l**2)<n){const A=o+g*e,n=a+Q*e;t.updateDrawablePosition(s,[A,n])}}const u=i.effects.ghost-r.ghost,w=Math.abs(u);if(w>0&&w<25){const A=i.effects.ghost+u*e;t.updateDrawableEffect(s,"ghost",A)}if(r.costume===i.currentCostume){let{direction:A,scale:n}=i._getRenderedDirectionAndScale(),o=!1;if(A!==r.direction&&(A%90!=0||r.direction%90!=0)){const t=A*Math.PI/180,n=r.direction*Math.PI/180;A=180*Math.atan2(Math.sin(t)*e+Math.sin(n)*(1-e),Math.cos(t)*e+Math.cos(n)*(1-e))/Math.PI,o=!0}const a=r.scale;if((n[0]!==a[0]||n[1]!==a[1])&&Math.sign(n[0])===Math.sign(a[0])&&Math.sign(n[1])===Math.sign(a[1])){const A=n[0]-a[0],t=n[1]-a[1],i=Math.abs(A),r=Math.abs(t);i<100&&r<100&&(n[0]=a[0]+A*e,n[1]=a[1]+t*e,o=!0)}o&&t.updateDrawableDirectionScale(s,A,n)}}}}},function(A,e){const t="function"==typeof requestAnimationFrame?requestAnimationFrame:A=>setTimeout(A,1e3/60),n="function"==typeof requestAnimationFrame?cancelAnimationFrame:clearTimeout,i=A=>{let e;const i=()=>{e=t(i),A()};return e=t(i),{cancel:()=>n(e)}};A.exports=class{constructor(A){this.runtime=A,this.running=!1,this.setFramerate(30),this.setInterpolation(!1),this.stepCallback=this.stepCallback.bind(this),this.interpolationCallback=this.interpolationCallback.bind(this),this._stepInterval=null,this._interpolationAnimation=null,this._stepAnimation=null}setFramerate(A){this.framerate=A,this._restart()}setInterpolation(A){this.interpolation=A,this._restart()}stepCallback(){this.runtime._step()}interpolationCallback(){this.runtime._renderInterpolatedPositions()}_restart(){this.running&&(this.stop(),this.start())}start(){this.running=!0,0===this.framerate?(this._stepAnimation=i(this.stepCallback),this.runtime.currentStepTime=1e3/60):(this.interpolation&&(this._interpolationAnimation=i(this.interpolationCallback)),this._stepInterval=setInterval(this.stepCallback,1e3/this.framerate),this.runtime.currentStepTime=1e3/this.framerate)}stop(){this.running=!1,clearInterval(this._stepInterval),this._interpolationAnimation&&this._interpolationAnimation.cancel(),this._stepAnimation&&this._stepAnimation.cancel(),this._interpolationAnimation=null,this._stepAnimation=null}}},function(A,e,t){const{motionVector:n,scratchAtan2:i}=t(288);A.exports=class{constructor(){this.frameNumber=0,this.lastAnalyzedFrame=0,this.motionAmount=0,this.motionDirection=0,this.curr=null,this.prev=null,this._arrays=new ArrayBuffer(345600),this._curr=new Uint8ClampedArray(this._arrays,0,172800),this._prev=new Uint8ClampedArray(this._arrays,172800,172800)}reset(){this.frameNumber=0,this.lastAnalyzedFrame=0,this.motionAmount=this.motionDirection=0,this.prev=this.curr=null}addFrame(A){this.frameNumber++,this.prev=this.curr,this.curr=new Uint32Array(A.buffer.slice(0));const e=this._prev;this._prev=this._curr,this._curr=e;for(let A=0;A<this.curr.length;A++)this._curr[A]=255&this.curr[A]}analyzeFrame(){if(!this.curr||!this.prev)return void(this.motionAmount=this.motionDirection=-1);if(this.lastAnalyzedFrame===this.frameNumber)return;this.lastAnalyzedFrame=this.frameNumber;const{_curr:A,_prev:e}=this;let t=0,r=0,s=0;for(let i=9;i<351;i+=17)for(let o=9;o<471;o+=17){let a=0,B=0,c=0,g=0,Q=0,E=480*(i-8)+o-8,l=E+17;const u=480*(i+8)+o+8;for(;E<=u;E+=463,l+=480)for(;E<=l;E+=1){const t=e[E]-A[E],n=A[E-1]-A[E+1],i=A[E-480]-A[E+480];a+=n*n,B+=n*i,c+=i*i,Q+=n*t,g+=i*t}const{u:w,v:h}=n(a,B,c,Q,g);-17<w&&w<17&&-17<h&&h<17&&(t+=w,r+=h,s++)}t/=s,r/=s,this.motionAmount=Math.round(100*Math.hypot(t,r)),this.motionAmount>10&&(this.motionDirection=i(r,t))}getLocalMotion(A,e){if(this.curr&&this.prev){if(e.motionFrameNumber!==this.frameNumber){const{_prev:t,_curr:r}=this;A.updateCPURenderAttributes();const s=A.getFastBounds(),o=Math.max(Math.floor(s.left+240),1),a=Math.min(Math.floor(s.right+240),479),B=Math.max(Math.floor(180-s.top),1),c=Math.min(Math.floor(180-s.bottom),359);let g=0,Q=0,E=0,l=0,u=0,w=0;const h=[0,0,0];for(let e=B;e<c;e++)for(let n=o;n<a;n++)if(h[0]=n-240,h[1]=180-e,A.isTouching(h)){const A=480*e+n,i=t[A]-r[A],s=r[A-1]-r[A+1],o=r[A-480]-r[A+480];g+=s*s,Q+=s*o,E+=o*o,u+=s*i,l+=o*i,w++}let{u:C,v:d}=n(g,Q,E,u,l),I=0;w&&(I=w,w/=256,C/=w,d/=w),e.motionAmount=Math.round(.02*I*Math.hypot(C,d)),e.motionAmount>100&&(e.motionAmount=100),e.motionAmount>10/3&&(e.motionDirection=i(d,C)),e.motionFrameNumber=this.frameNumber}}else e.motionAmount=e.motionDirection=-1}}},function(A,e){const t=180/Math.PI,n={u:0,v:0},i=function(A){return(A+270)%360-180};A.exports={motionVector:function(A,e,t,i,r){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:n;const o=e*e-A*t;if(o){const n=-(r*e-i*t),a=-(e*i-A*r),B=8/o;s.u=n*B,s.v=a*B}else{const n=(e+A)*(e+A)+(t+e)*(t+e);if(n){const o=-(r+i)*(8/n);s.u=(e+A)*o,s.v=(t+e)*o}else s.u=0,s.v=0}return s},scratchDegrees:i,scratchAtan2:function(A,e){return i(Math.atan2(A,e)*t)}}},function(A,e,t){const n=t(3),i=t(1),r=t(2),s=t(7),o=t(14),a=t(290),B=t(29),c=t(11),g=t(71),Q=t(8),E=129,l=130,u=131,w=225,h=32,C=96,d=0,I=128,M=2,p=175,m=163,F=179,D=148,Y=1,f=0,N=152,U=157,y=0,x=0,T=1,R=50,G=0,S=32,H={29:"color",30:"ultrasonic",32:"gyro",16:"touch",8:"mediumMotor",7:"largeMotor",126:"none",125:"none"},b={touch:0,color:1,ultrasonic:1,none:0},k={touch:"button",color:"brightness",ultrasonic:"distance"};class J{constructor(A,e,t){this._parent=A,this._index=e,this._type=t,this._direction=1,this._power=50,this._position=0,this._commandID=null,this._coastDelay=1e3}get type(){return this._type}set type(A){this._type=A}get direction(){return this._direction}set direction(A){this._direction=A<0?-1:1}get power(){return this._power}set power(A){this._power=A}get position(){return this._position}set position(A){let e=A[0]+256*A[1]+256*A[2]*256+256*A[3]*256*256;e>2147483647&&(e-=4294967296),this._position=e}turnOnFor(A){if(0===this._power)return;const e=this._portMask(this._index);let t=A,n=this._power*this._direction;const i=R;let r=[];r[0]=p,n<0&&(n*=-1,t*=-1);const s=t<0?256-n:n;t=Math.abs(t);let o=i,a=i,B=t-2*i;B<0&&(o=Math.floor(t/2),B=0,a=t-o);const c=this._runValues(B);r=r.concat([y,e,E,255&s,E,o]).concat(c.concat([E,a,T]));const g=this._parent.generateCommand(I,r);this._parent.send(g),this.coastAfter(A)}coastAfter(A){if(0===this._power)return;const e=o();this._commandID=e,setTimeout(()=>{this._commandID===e&&(this.coast(),this._commandID=null)},A+this._coastDelay)}coast(){if(0===this._power)return;const A=this._parent.generateCommand(I,[m,y,this._portMask(this._index),x]);this._parent.send(A,!1)}_runValues(A){return A<32767?[l,255&A,A>>8&255]:[u,255&A,A>>8&255,A>>16&255,A>>24&255]}_portMask(A){return Math.pow(2,A)}}class j{constructor(A,e){this._runtime=A,this._runtime.on("PROJECT_STOP_ALL",this.stopAll.bind(this)),this._extensionId=e,this._sensorPorts=[],this._motorPorts=[],this._sensors={distance:0,brightness:0,buttons:[0,0,0,0]},this._motors=[null,null,null,null],this._pollingInterval=150,this._pollingIntervalID=null,this._pollingCounter=0,this._bt=null,this._runtime.registerPeripheralExtension(e,this),this._rateLimiter=new g(40),this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this),this._onMessage=this._onMessage.bind(this),this._pollValues=this._pollValues.bind(this)}get distance(){let A=this._sensors.distance>100?100:this._sensors.distance;return A=A<0?0:A,A=Math.round(100*A)/100,A}get brightness(){return this._sensors.brightness}motor(A){return this._motors[A]}isButtonPressed(A){return 1===this._sensors.buttons[A]}beep(A,e){const t=this.generateCommand(I,[D,Y,E,2,l,A,A>>8,l,e,e>>8]);this.send(t)}stopAll(){this.stopAllMotors(),this.stopSound()}stopSound(){const A=this.generateCommand(I,[D,f]);this.send(A,!1)}stopAllMotors(){this._motors.forEach(A=>{A&&A.coast()})}scan(){this._bt&&this._bt.disconnect(),this._bt=new a(this._runtime,this._extensionId,{majorDeviceClass:8,minorDeviceClass:1},this._onConnect,this.reset,this._onMessage)}connect(A){this._bt&&this._bt.connectPeripheral(A,"1234")}disconnect(){this._bt&&this._bt.disconnect(),this.reset()}reset(){this._sensorPorts=[],this._motorPorts=[],this._sensors={distance:0,brightness:0,buttons:[0,0,0,0]},this._motors=[null,null,null,null],this._pollingIntervalID&&(window.clearInterval(this._pollingIntervalID),this._pollingIntervalID=null)}isConnected(){let A=!1;return this._bt&&(A=this._bt.isConnected()),A}send(A){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.isConnected()?e&&!this._rateLimiter.okayToSend()?Promise.resolve():this._bt.sendMessage({message:B.uint8ArrayToBase64(A),encoding:"base64"}):Promise.resolve()}generateCommand(A,e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=[];n[2]=0,n[3]=0,n[4]=A,n[5]=255&t,n[6]=t>>8&&255,n=n.concat(e);const i=n.length-2;return n[0]=255&i,n[1]=i>>8&&255,n}_onConnect(){this._pollingIntervalID=window.setInterval(this._pollValues,this._pollingInterval)}_pollValues(){if(!this.isConnected())return void window.clearInterval(this._pollingIntervalID);const A=[];let e=0,t=0;if(this._pollingCounter%20==0)A[0]=N,A[1]=E,A[2]=S,A[3]=C,A[4]=w,A[5]=h,e=33,this._updateDevices=!0;else{let n=0;for(let e=0;e<4;e++)"none"!==this._sensorPorts[e]&&(A[n+0]=U,A[n+1]=y,A[n+2]=e,A[n+3]=G,A[n+4]=b[this._sensorPorts[e]],A[n+5]=w,A[n+6]=4*t,n+=7),t++;for(let e=0;e<4;e++)A[n+0]=F,A[n+1]=y,A[n+2]=e,A[n+3]=w,A[n+4]=4*t,n+=5,t++;e=4*t}const n=this.generateCommand(d,A,e);this.send(n),this._pollingCounter++}_onMessage(A){const e=A.message,t=B.base64ToUint8Array(e);if(t[4]===M)if(this._updateDevices){for(let A=0;A<4;A++){const e=H[t[A+5]];this._sensorPorts[A]=e||"none"}for(let A=0;A<4;A++){const e=H[t[A+21]];this._motorPorts[A]=e||"none"}for(let A=0;A<4;A++){const e=this._motorPorts[A];"none"===e||this._motors[A]||(this._motors[A]=new J(this,A,e)),"none"===e&&this._motors[A]&&(this._motors[A]=null)}this._updateDevices=!1}else if(!this._sensorPorts.includes(void 0)&&!this._motorPorts.includes(void 0)){let A=5;for(let e=0;e<4;e++){const n=new Uint8Array([t[A],t[A+1],t[A+2],t[A+3]]).buffer,i=new DataView(n).getFloat32(0,!0);"button"===k[this._sensorPorts[e]]?this._sensors.buttons[e]=i||0:k[this._sensorPorts[e]]&&(this._sensors[k[this._sensorPorts[e]]]=i||0),A+=4}for(let e=0;e<4;e++){const n=[t[A],t[A+1],t[A+2],t[A+3]];this._motors[e]&&(this._motors[e].position=n),A+=4}}}}const z=["A","B","C","D"],v=["1","2","3","4"];class L{static get EXTENSION_ID(){return"ev3"}constructor(A){this.runtime=A,this._peripheral=new j(this.runtime,L.EXTENSION_ID),this._playNoteForPicker=this._playNoteForPicker.bind(this),this.runtime.on("PLAY_NOTE",this._playNoteForPicker)}getInfo(){return{id:L.EXTENSION_ID,name:"LEGO EV3",blockIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5ldjMtYmxvY2staWNvbjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJldjMtYmxvY2staWNvbiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImV2MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS41MDAwMDAsIDMuNTAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iMC41IiB5PSIzLjU5IiB3aWR0aD0iMjgiIGhlaWdodD0iMjUuODEiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjRTZFN0U4IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjIuNSIgeT0iMC41IiB3aWR0aD0iMjQiIGhlaWdodD0iMzIiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjRkZGRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjIuNSIgeT0iMTQuNSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjEzIj48L3JlY3Q+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNC41LDEwLjUgTDE0LjUsMTQuNSIgaWQ9IlNoYXBlIiBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNFNkU3RTgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiM0MTQ3NTciIHg9IjQuNSIgeT0iMi41IiB3aWR0aD0iMjAiIGhlaWdodD0iMTAiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iIzdDODdBNSIgb3BhY2l0eT0iMC41IiB4PSIxMy41IiB5PSIyMC4xMyIgd2lkdGg9IjIiIGhlaWdodD0iMiIgcng9IjAuNSI+PC9yZWN0PgogICAgICAgICAgICA8cGF0aCBkPSJNOS4wNiwyMC4xMyBMMTAuNTYsMjAuMTMgQzEwLjgzNjE0MjQsMjAuMTMgMTEuMDYsMjAuMzUzODU3NiAxMS4wNiwyMC42MyBMMTEuMDYsMjEuNjMgQzExLjA2LDIxLjkwNjE0MjQgMTAuODM2MTQyNCwyMi4xMyAxMC41NiwyMi4xMyBMOS4wNiwyMi4xMyBDOC41MDc3MTUyNSwyMi4xMyA4LjA2LDIxLjY4MjI4NDcgOC4wNiwyMS4xMyBDOC4wNiwyMC41Nzc3MTUzIDguNTA3NzE1MjUsMjAuMTMgOS4wNiwyMC4xMyBaIiBpZD0iU2hhcGUiIGZpbGw9IiM3Qzg3QTUiIG9wYWNpdHk9IjAuNSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTguOTEsMjAuMTMgTDIwLjQyLDIwLjEzIEMyMC42OTYxNDI0LDIwLjEzIDIwLjkyLDIwLjM1Mzg1NzYgMjAuOTIsMjAuNjMgTDIwLjkyLDIxLjYzIEMyMC45MiwyMS45MDYxNDI0IDIwLjY5NjE0MjQsMjIuMTMgMjAuNDIsMjIuMTMgTDE4LjkyLDIyLjEzIEMxOC4zNjc3MTUzLDIyLjEzIDE3LjkyLDIxLjY4MjI4NDcgMTcuOTIsMjEuMTMgQzE3LjkxOTk3MjYsMjAuNTgxNTk3IDE4LjM2MTYyNDUsMjAuMTM1NDg0IDE4LjkxLDIwLjEzIFoiIGlkPSJTaGFwZSIgZmlsbD0iIzdDODdBNSIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOS40MjAwMDAsIDIxLjEzMDAwMCkgcm90YXRlKC0xODAuMDAwMDAwKSB0cmFuc2xhdGUoLTE5LjQyMDAwMCwgLTIxLjEzMDAwMCkgIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04LjIzLDE3LjUgTDUsMTcuNSBDNC43MjM4NTc2MywxNy41IDQuNSwxNy4yNzYxNDI0IDQuNSwxNyBMNC41LDE0LjUgTDEwLjUsMTQuNSBMOC42NSwxNy4yOCBDOC41NTQ2Njk2MSwxNy40MTc5MDgyIDguMzk3NjUwMDYsMTcuNTAwMTU2NiA4LjIzLDE3LjUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjN0M4N0E1IiBvcGFjaXR5PSIwLjUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTE4LjE1LDE4Ljg1IEwxNy42NSwxOS4zNSBDMTcuNTUyMzQxNiwxOS40NDQwNzU2IDE3LjQ5ODAzMzksMTkuNTc0NDE0MiAxNy41LDE5LjcxIEwxNy41LDIwIEMxNy41LDIwLjI3NjE0MjQgMTcuMjc2MTQyNCwyMC41IDE3LDIwLjUgTDE2LjUsMjAuNSBDMTYuMjIzODU3NiwyMC41IDE2LDIwLjI3NjE0MjQgMTYsMjAgQzE2LDE5LjcyMzg1NzYgMTUuNzc2MTQyNCwxOS41IDE1LjUsMTkuNSBMMTMuNSwxOS41IEMxMy4yMjM4NTc2LDE5LjUgMTMsMTkuNzIzODU3NiAxMywyMCBDMTMsMjAuMjc2MTQyNCAxMi43NzYxNDI0LDIwLjUgMTIuNSwyMC41IEwxMiwyMC41IEMxMS43MjM4NTc2LDIwLjUgMTEuNSwyMC4yNzYxNDI0IDExLjUsMjAgTDExLjUsMTkuNzEgQzExLjUwMTk2NjEsMTkuNTc0NDE0MiAxMS40NDc2NTg0LDE5LjQ0NDA3NTYgMTEuMzUsMTkuMzUgTDEwLjg1LDE4Ljg1IEMxMC42NTgyMTY3LDE4LjY1MjE4NjMgMTAuNjU4MjE2NywxOC4zMzc4MTM3IDEwLjg1LDE4LjE0IEwxMi4zNiwxNi42NSBDMTIuNDUwMjgwMywxNi41NTI4NjE3IDEyLjU3NzM5NjEsMTYuNDk4MzgzNSAxMi43MSwxNi41IEwxNi4yOSwxNi41IEMxNi40MjI2MDM5LDE2LjQ5ODM4MzUgMTYuNTQ5NzE5NywxNi41NTI4NjE3IDE2LjY0LDE2LjY1IEwxOC4xNSwxOC4xNCBDMTguMzQxNzgzMywxOC4zMzc4MTM3IDE4LjM0MTc4MzMsMTguNjUyMTg2MyAxOC4xNSwxOC44NSBaIiBpZD0iU2hhcGUiIGZpbGw9IiM3Qzg3QTUiIG9wYWNpdHk9IjAuNSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAuODUsMjMuNDUgTDExLjM1LDIyLjk1IEMxMS40NDc2NTg0LDIyLjg1NTkyNDQgMTEuNTAxOTY2MSwyMi43MjU1ODU4IDExLjUsMjIuNTkgTDExLjUsMjIuMyBDMTEuNSwyMi4wMjM4NTc2IDExLjcyMzg1NzYsMjEuOCAxMiwyMS44IEwxMi41LDIxLjggQzEyLjc3NjE0MjQsMjEuOCAxMywyMi4wMjM4NTc2IDEzLDIyLjMgQzEzLDIyLjU3NjE0MjQgMTMuMjIzODU3NiwyMi44IDEzLjUsMjIuOCBMMTUuNSwyMi44IEMxNS43NzYxNDI0LDIyLjggMTYsMjIuNTc2MTQyNCAxNiwyMi4zIEMxNiwyMi4wMjM4NTc2IDE2LjIyMzg1NzYsMjEuOCAxNi41LDIxLjggTDE3LDIxLjggQzE3LjI3NjE0MjQsMjEuOCAxNy41LDIyLjAyMzg1NzYgMTcuNSwyMi4zIEwxNy41LDIyLjU5IEMxNy40OTgwMzM5LDIyLjcyNTU4NTggMTcuNTUyMzQxNiwyMi44NTU5MjQ0IDE3LjY1LDIyLjk1IEwxOC4xNSwyMy40NSBDMTguMzQwNTcxNCwyMy42NDQ0MjE4IDE4LjM0MDU3MTQsMjMuOTU1NTc4MiAxOC4xNSwyNC4xNSBMMTYuNjQsMjUuNjUgQzE2LjU0OTcxOTcsMjUuNzQ3MTM4MyAxNi40MjI2MDM5LDI1LjgwMTYxNjUgMTYuMjksMjUuOCBMMTIuNzEsMjUuOCBDMTIuNTc3Mzk2MSwyNS44MDE2MTY1IDEyLjQ1MDI4MDMsMjUuNzQ3MTM4MyAxMi4zNiwyNS42NSBMMTAuODUsMjQuMTUgQzEwLjY1OTQyODYsMjMuOTU1NTc4MiAxMC42NTk0Mjg2LDIzLjY0NDQyMTggMTAuODUsMjMuNDUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjN0M4N0E1IiBvcGFjaXR5PSIwLjUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTIxLjUsMjcuNSBMMjYuNSwyNy41IEwyNi41LDMxLjUgQzI2LjUsMzIuMDUyMjg0NyAyNi4wNTIyODQ3LDMyLjUgMjUuNSwzMi41IEwyMS41LDMyLjUgTDIxLjUsMjcuNSBaIiBpZD0iU2hhcGUiIHN0cm9rZT0iI0NDNEMyMyIgZmlsbD0iI0YxNUEyOSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",showStatusButton:!0,blocks:[{opcode:"motorTurnClockwise",text:s({id:"ev3.motorTurnClockwise",default:"motor [PORT] turn this way for [TIME] seconds",description:"turn a motor clockwise for some time"}),blockType:i.COMMAND,arguments:{PORT:{type:n.STRING,menu:"motorPorts",defaultValue:0},TIME:{type:n.NUMBER,defaultValue:1}}},{opcode:"motorTurnCounterClockwise",text:s({id:"ev3.motorTurnCounterClockwise",default:"motor [PORT] turn that way for [TIME] seconds",description:"turn a motor counter-clockwise for some time"}),blockType:i.COMMAND,arguments:{PORT:{type:n.STRING,menu:"motorPorts",defaultValue:0},TIME:{type:n.NUMBER,defaultValue:1}}},{opcode:"motorSetPower",text:s({id:"ev3.motorSetPower",default:"motor [PORT] set power [POWER] %",description:"set a motor's power to some value"}),blockType:i.COMMAND,arguments:{PORT:{type:n.STRING,menu:"motorPorts",defaultValue:0},POWER:{type:n.NUMBER,defaultValue:100}}},{opcode:"getMotorPosition",text:s({id:"ev3.getMotorPosition",default:"motor [PORT] position",description:"get the measured degrees a motor has turned"}),blockType:i.REPORTER,arguments:{PORT:{type:n.STRING,menu:"motorPorts",defaultValue:0}}},{opcode:"whenButtonPressed",text:s({id:"ev3.whenButtonPressed",default:"when button [PORT] pressed",description:"when a button connected to a port is pressed"}),blockType:i.HAT,arguments:{PORT:{type:n.STRING,menu:"sensorPorts",defaultValue:0}}},{opcode:"whenDistanceLessThan",text:s({id:"ev3.whenDistanceLessThan",default:"when distance < [DISTANCE]",description:"when the value measured by the distance sensor is less than some value"}),blockType:i.HAT,arguments:{DISTANCE:{type:n.NUMBER,defaultValue:5}}},{opcode:"whenBrightnessLessThan",text:s({id:"ev3.whenBrightnessLessThan",default:"when brightness < [DISTANCE]",description:"when value measured by brightness sensor is less than some value"}),blockType:i.HAT,arguments:{DISTANCE:{type:n.NUMBER,defaultValue:50}}},{opcode:"buttonPressed",text:s({id:"ev3.buttonPressed",default:"button [PORT] pressed?",description:"is a button on some port pressed?"}),blockType:i.BOOLEAN,arguments:{PORT:{type:n.STRING,menu:"sensorPorts",defaultValue:0}}},{opcode:"getDistance",text:s({id:"ev3.getDistance",default:"distance",description:"gets measured distance"}),blockType:i.REPORTER},{opcode:"getBrightness",text:s({id:"ev3.getBrightness",default:"brightness",description:"gets measured brightness"}),blockType:i.REPORTER},{opcode:"beep",text:s({id:"ev3.beepNote",default:"beep note [NOTE] for [TIME] secs",description:"play some note on EV3 for some time"}),blockType:i.COMMAND,arguments:{NOTE:{type:n.NOTE,defaultValue:60},TIME:{type:n.NUMBER,defaultValue:.5}}}],menus:{motorPorts:{acceptReporters:!0,items:this._formatMenu(z)},sensorPorts:{acceptReporters:!0,items:this._formatMenu(v)}}}}motorTurnClockwise(A){const e=r.toNumber(A.PORT);let t=1e3*r.toNumber(A.TIME);return t=c.clamp(t,0,15e3),new Promise(A=>{this._forEachMotor(e,A=>{const e=this._peripheral.motor(A);e&&(e.direction=1,e.turnOnFor(t))}),setTimeout(A,t)})}motorTurnCounterClockwise(A){const e=r.toNumber(A.PORT);let t=1e3*r.toNumber(A.TIME);return t=c.clamp(t,0,15e3),new Promise(A=>{this._forEachMotor(e,A=>{const e=this._peripheral.motor(A);e&&(e.direction=-1,e.turnOnFor(t))}),setTimeout(A,t)})}motorSetPower(A){const e=r.toNumber(A.PORT),t=c.clamp(r.toNumber(A.POWER),0,100);this._forEachMotor(e,A=>{const e=this._peripheral.motor(A);e&&(e.power=t)})}getMotorPosition(A){const e=r.toNumber(A.PORT);if(![0,1,2,3].includes(e))return;const t=this._peripheral.motor(e);let n=0;return t&&(n=c.wrapClamp(t.position,0,360)),n}whenButtonPressed(A){const e=r.toNumber(A.PORT);if([0,1,2,3].includes(e))return this._peripheral.isButtonPressed(e)}whenDistanceLessThan(A){const e=c.clamp(r.toNumber(A.DISTANCE),0,100);return this._peripheral.distance<e}whenBrightnessLessThan(A){const e=c.clamp(r.toNumber(A.DISTANCE),0,100);return this._peripheral.brightness<e}buttonPressed(A){const e=r.toNumber(A.PORT);if([0,1,2,3].includes(e))return this._peripheral.isButtonPressed(e)}getDistance(){return this._peripheral.distance}getBrightness(){return this._peripheral.brightness}_playNoteForPicker(A,e){e===this.getInfo().name&&this.beep({NOTE:A,TIME:.25})}beep(A){const e=c.clamp(r.toNumber(A.NOTE),47,99);let t=1e3*r.toNumber(A.TIME);if(t=c.clamp(t,0,3e3),0!==t)return new Promise(A=>{const n=440*Math.pow(2,(e-69+12)/12);this._peripheral.beep(n,t),setTimeout(A,t)})}_forEachMotor(A,e){let t;switch(A){case 0:t=[0];break;case 1:t=[1];break;case 2:t=[2];break;case 3:t=[3];break;default:Q.warn("Invalid motor ID: ".concat(A)),t=[]}for(const A of t)e(A)}_formatMenu(A){const e=[];for(let t=0;t<A.length;t++){const n={};n.text=A[t],n.value=t.toString(),e.push(n)}return e}}A.exports=L},function(A,e,t){const n=t(70);A.exports=class extends n{constructor(A,e,t,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5?arguments[5]:void 0;super(),this._socket=A.getScratchLinkSocket("BT"),this._socket.setOnOpen(this.requestPeripheral.bind(this)),this._socket.setOnError(this._handleRequestError.bind(this)),this._socket.setOnClose(this.handleDisconnectError.bind(this)),this._socket.setHandleMessage(this._handleMessage.bind(this)),this._sendMessage=this._socket.sendMessage.bind(this._socket),this._availablePeripherals={},this._connectCallback=n,this._connected=!1,this._characteristicDidChangeCallback=null,this._resetCallback=i,this._discoverTimeoutID=null,this._extensionId=e,this._peripheralOptions=t,this._messageCallback=r,this._runtime=A,this._socket.open()}requestPeripheral(){this._availablePeripherals={},this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._discoverTimeoutID=window.setTimeout(this._handleDiscoverTimeout.bind(this),15e3),this.sendRemoteRequest("discover",this._peripheralOptions).catch(A=>this._handleRequestError(A))}connectPeripheral(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const t={peripheralId:A};e&&(t.pin=e),this.sendRemoteRequest("connect",t).then(()=>{this._connected=!0,this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTED),this._connectCallback()}).catch(A=>{this._handleRequestError(A)})}disconnect(){this._connected&&(this._connected=!1),this._socket.isOpen()&&this._socket.close(),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_DISCONNECTED)}isConnected(){return this._connected}sendMessage(A){return this.sendRemoteRequest("send",A).catch(A=>{this.handleDisconnectError(A)})}didReceiveCall(A,e){switch(A){case"didDiscoverPeripheral":this._availablePeripherals[e.peripheralId]=e,this._runtime.emit(this._runtime.constructor.PERIPHERAL_LIST_UPDATE,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidPickPeripheral":this._availablePeripherals[e.peripheralId]=e,this._runtime.emit(this._runtime.constructor.USER_PICKED_PERIPHERAL,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidNotPickPeripheral":this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"didReceiveMessage":this._messageCallback(e);break;default:return"nah"}}handleDisconnectError(){this._connected&&(this.disconnect(),this._resetCallback&&this._resetCallback(),this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTION_LOST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId}))}_handleRequestError(){this._runtime.emit(this._runtime.constructor.PERIPHERAL_REQUEST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId})}_handleDiscoverTimeout(){this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT)}}},function(A,e,t){const n=t(7),i=t(3),r=t(1),s=t(2),o={SPACE:"space",LEFT:"left arrow",UP:"up arrow",RIGHT:"right arrow",DOWN:"down arrow"};A.exports=class{constructor(A){this.runtime=A,this.frameToggle=!1,setInterval(()=>{this.frameToggle=!this.frameToggle},this.runtime.currentStepTime),this.keyPressed=this.keyPressed.bind(this),this.runtime.on("KEY_PRESSED",this.keyPressed),this._clearkeyPressBuffer=this._clearkeyPressBuffer.bind(this),this.runtime.on("PROJECT_STOP_ALL",this._clearkeyPressBuffer),this.sequences={},this.keyPressBuffer=[]}get KEY_TEXT_SHORT(){return{SPACE:n({id:"makeymakey.spaceKey",default:"space",description:"The space key on a computer keyboard."}),LEFT:n({id:"makeymakey.leftArrowShort",default:"left",description:"Short name for the left arrow key on a computer keyboard."}),UP:n({id:"makeymakey.upArrowShort",default:"up",description:"Short name for the up arrow key on a computer keyboard."}),RIGHT:n({id:"makeymakey.rightArrowShort",default:"right",description:"Short name for the right arrow key on a computer keyboard."}),DOWN:n({id:"makeymakey.downArrowShort",default:"down",description:"Short name for the down arrow key on a computer keyboard."})}}get DEFAULT_SEQUENCES(){return["".concat("LEFT"," ").concat("UP"," ").concat("RIGHT"),"".concat("RIGHT"," ").concat("UP"," ").concat("LEFT"),"".concat("LEFT"," ").concat("RIGHT"),"".concat("RIGHT"," ").concat("LEFT"),"".concat("UP"," ").concat("DOWN"),"".concat("DOWN"," ").concat("UP"),"".concat("UP"," ").concat("RIGHT"," ").concat("DOWN"," ").concat("LEFT"),"".concat("UP"," ").concat("LEFT"," ").concat("DOWN"," ").concat("RIGHT"),"".concat("UP"," ").concat("UP"," ").concat("DOWN"," ").concat("DOWN"," ")+"".concat("LEFT"," ").concat("RIGHT"," ").concat("LEFT"," ").concat("RIGHT")]}getInfo(){return{id:"makeymakey",name:"Makey Makey",blockIconURI:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHN0eWxlPi5zdDJ7ZmlsbDpyZWR9LnN0M3tmaWxsOiNlMGUwZTB9LnN0NHtmaWxsOm5vbmU7c3Ryb2tlOiM2NjY7c3Ryb2tlLXdpZHRoOi41O3N0cm9rZS1taXRlcmxpbWl0OjEwfTwvc3R5bGU+PHBhdGggZD0iTTM1IDI4SDVhMSAxIDAgMCAxLTEtMVYxMmMwLS42LjQtMSAxLTFoMzBjLjUgMCAxIC40IDEgMXYxNWMwIC41LS41IDEtMSAxeiIgZmlsbD0iI2ZmZiIgaWQ9IkxheWVyXzYiLz48ZyBpZD0iTGF5ZXJfNCI+PHBhdGggY2xhc3M9InN0MiIgZD0iTTQgMjVoMzJ2Mi43SDR6TTEzIDI0aC0yLjJhMSAxIDAgMCAxLTEtMXYtOS43YzAtLjYuNC0xIDEtMUgxM2MuNiAwIDEgLjQgMSAxVjIzYzAgLjYtLjUgMS0xIDF6Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTYuMSAxOS4zdi0yLjJjMC0uNS40LTEgMS0xaDkuN2MuNSAwIDEgLjUgMSAxdjIuMmMwIC41LS41IDEtMSAxSDcuMWExIDEgMCAwIDEtMS0xeiIvPjxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjIyLjgiIGN5PSIxOC4yIiByPSIzLjQiLz48Y2lyY2xlIGNsYXNzPSJzdDIiIGN4PSIzMC42IiBjeT0iMTguMiIgcj0iMy40Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTQuMiAyN2gzMS45di43SDQuMnoiLz48L2c+PGcgaWQ9IkxheWVyXzUiPjxjaXJjbGUgY2xhc3M9InN0MyIgY3g9IjIyLjgiIGN5PSIxOC4yIiByPSIyLjMiLz48Y2lyY2xlIGNsYXNzPSJzdDMiIGN4PSIzMC42IiBjeT0iMTguMiIgcj0iMi4zIi8+PHBhdGggY2xhc3M9InN0MyIgZD0iTTEyLjUgMjIuOWgtMS4yYy0uMyAwLS41LS4yLS41LS41VjE0YzAtLjMuMi0uNS41LS41aDEuMmMuMyAwIC41LjIuNS41djguNGMwIC4zLS4yLjUtLjUuNXoiLz48cGF0aCBjbGFzcz0ic3QzIiBkPSJNNy4yIDE4Ljd2LTEuMmMwLS4zLjItLjUuNS0uNWg4LjRjLjMgMCAuNS4yLjUuNXYxLjJjMCAuMy0uMi41LS41LjVINy43Yy0uMyAwLS41LS4yLS41LS41ek00IDI2aDMydjJINHoiLz48L2c+PGcgaWQ9IkxheWVyXzMiPjxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0zNS4yIDI3LjlINC44YTEgMSAwIDAgMS0xLTFWMTIuMWMwLS42LjUtMSAxLTFoMzAuNWMuNSAwIDEgLjQgMSAxVjI3YTEgMSAwIDAgMS0xLjEuOXoiLz48cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMzUuMiAyNy45SDQuOGExIDEgMCAwIDEtMS0xVjEyLjFjMC0uNi41LTEgMS0xaDMwLjVjLjUgMCAxIC40IDEgMVYyN2ExIDEgMCAwIDEtMS4xLjl6Ii8+PC9nPjwvc3ZnPg==",blocks:[{opcode:"whenMakeyKeyPressed",text:n({id:"makeymakey.whenKeyPressed",default:"when [KEY] key pressed",description:"when a keyboard key is pressed"}),blockType:r.HAT,arguments:{KEY:{type:i.STRING,menu:"KEY",defaultValue:"SPACE"}}},{opcode:"whenCodePressed",text:n({id:"makeymakey.whenKeysPressedInOrder",default:"when [SEQUENCE] pressed in order",description:"when a sequence of keyboard keys is pressed in a specific order"}),blockType:r.HAT,arguments:{SEQUENCE:{type:i.STRING,menu:"SEQUENCE",defaultValue:this.DEFAULT_SEQUENCES[0]}}},"---",{opcode:"isMakeyKeyPressed",text:n({id:"makeymakey.isKeyPressed",default:"is [KEY] key pressed",description:"is a keyboard key is pressed"}),blockType:r.BOOLEAN,arguments:{KEY:{type:i.STRING,menu:"KEY",defaultValue:"SPACE"}}}],menus:{KEY:{acceptReporters:!0,items:[{text:n({id:"makeymakey.spaceKey",default:"space",description:"The space key on a computer keyboard."}),value:"SPACE"},{text:n({id:"makeymakey.upArrow",default:"up arrow",description:"The up arrow key on a computer keyboard."}),value:"UP"},{text:n({id:"makeymakey.downArrow",default:"down arrow",description:"The down arrow key on a computer keyboard."}),value:"DOWN"},{text:n({id:"makeymakey.rightArrow",default:"right arrow",description:"The right arrow key on a computer keyboard."}),value:"RIGHT"},{text:n({id:"makeymakey.leftArrow",default:"left arrow",description:"The left arrow key on a computer keyboard."}),value:"LEFT"},{text:"w",value:"w"},{text:"a",value:"a"},{text:"s",value:"s"},{text:"d",value:"d"},{text:"f",value:"f"},{text:"g",value:"g"}]},SEQUENCE:{acceptReporters:!0,items:this.buildSequenceMenu(this.DEFAULT_SEQUENCES)}}}}buildSequenceMenu(A){return A.map(A=>this.getMenuItemForSequenceString(A))}getMenuItemForSequenceString(A){let e=A.split(" ");return e=e.map(A=>this.KEY_TEXT_SHORT[A]),{text:e.join(" "),value:A}}whenMakeyKeyPressed(A,e){let t=A.KEY;o[A.KEY]&&(t=o[A.KEY]);return e.ioQuery("keyboard","getKeyIsDown",[t])&&this.frameToggle}isMakeyKeyPressed(A,e){let t=A.KEY;return o[A.KEY]&&(t=o[A.KEY]),e.ioQuery("keyboard","getKeyIsDown",[t])}keyPressed(A){A=(A=A.split(" ")[0]).toUpperCase(),this.keyPressBuffer.push(A),this.keyPressBuffer.length>100&&this.keyPressBuffer.shift();for(const A in this.sequences){const e=this.sequences[A].array;if(this.keyPressBuffer.length<e.length)continue;let t=!1;const n=this.keyPressBuffer.slice(-1*e.length);for(let A=0;A<e.length;A++)e[A]!==n[A]&&(t=!0);t||(this.sequences[A].completed=!0,setTimeout(()=>{this.sequences[A].completed=!1},100))}}_clearkeyPressBuffer(){this.keyPressBuffer=[]}addSequence(A,e){this.sequences.hasOwnProperty(A)||(this.sequences[A]={array:e,completed:!1})}whenCodePressed(A){const e=s.toString(A.SEQUENCE).toUpperCase(),t=e.split(" ");if(!(t.length<2))return this.addSequence(e,t),this.sequences[e].completed}}},function(A,e,t){const n=t(3),i=t(1),r=t(2),s=t(7),o=t(13),a=t(53),B=t(29),c=t(11),g=t(71),Q=t(8),E="00001623-1212-efde-1623-785feabcd123",l="00001624-1212-efde-1623-785feabcd123",u=100,w=20,h=20,C=21,d=23,I=37,M=38,p=39,m=40,F=1,D=2,Y=4,f={A:55,B:56,C:1,D:2},N={A:0,B:1,C:2,D:3};let U=N;const y="any",x="none",T="red",R="blue",G="green",S="yellow",H="white",b="black",k={[x]:255,[T]:9,[R]:3,[G]:5,[S]:7,[H]:10,[b]:0},J={HUB_PROPERTIES:1,HUB_ACTIONS:2,HUB_ALERTS:3,HUB_ATTACHED_IO:4,ERROR:5,PORT_INPUT_FORMAT_SETUP_SINGLE:65,PORT_INPUT_FORMAT_SETUP_COMBINED:66,PORT_INFORMATION:67,PORT_MODEINFORMATION:68,PORT_VALUE:69,PORT_VALUE_COMBINED:70,PORT_INPUT_FORMAT:71,PORT_INPUT_FORMAT_COMBINED:72,OUTPUT:129,PORT_FEEDBACK:130},j=3,z=5,v=1,L=7,P=11,O=81,W=16,V=1,K=0,X=127,Z=0,_=1,q=0,$=0,AA=1,eA=0,tA=2,nA=0,iA=0,rA=1,sA=2,oA=3,aA=function(A){const e=new ArrayBuffer(4),t=new DataView(e);return t.setInt32(0,A),[t.getInt8(3),t.getInt8(2),t.getInt8(1),t.getInt8(0)]},BA=function(A){const e=Uint8Array.from(A);return new DataView(e.buffer).getInt32(0,!0)};class cA{constructor(A,e){this._parent=A,this._index=e,this._direction=1,this._power=50,this._position=0,this._status=iA,this._pendingDurationTimeoutId=null,this._pendingDurationTimeoutStartTime=null,this._pendingDurationTimeoutDelay=null,this._pendingRotationDestination=null,this._pendingRotationPromise=null,this.turnOff=this.turnOff.bind(this)}get direction(){return this._direction}set direction(A){this._direction=A<0?-1:1}get power(){return this._power}set power(A){this._power=0===A?0:c.scale(A,1,100,10,100)}get position(){return this._position}set position(A){this._position=A}get status(){return this._status}set status(A){this._clearRotationState(),this._clearDurationTimeout(),this._status=A}get pendingDurationTimeoutStartTime(){return this._pendingDurationTimeoutStartTime}get pendingDurationTimeoutDelay(){return this._pendingDurationTimeoutDelay}get pendingRotationDestination(){return this._pendingRotationDestination}get pendingRotationPromise(){return this._pendingRotationPromise}set pendingRotationPromise(A){this._pendingRotationPromise=A}_turnOn(){const A=this._parent.generateOutputCommand(this._index,W,L,[this.power*this.direction,c.clamp(this.power+10,0,100),Z]);this._parent.send(l,A)}turnOnForever(){this.status=rA,this._turnOn()}turnOnFor(A){A=Math.max(0,A),this.status=sA,this._turnOn(),this._setNewDurationTimeout(this.turnOff,A)}turnOnForDegrees(A,e){A=Math.max(0,A);const t=this._parent.generateOutputCommand(this._index,W^V,P,[...aA(A),this.power*this.direction*e,c.clamp(this.power+10,0,100),X,Z]);this.status=oA,this._pendingRotationDestination=this.position+A*this.direction*e,this._parent.send(l,t)}turnOff(){let A=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const e=this._parent.generateOutputCommand(this._index,W,v,[K]);this.status=iA,this._parent.send(l,e,A)}_clearDurationTimeout(){null!==this._pendingDurationTimeoutId&&(clearTimeout(this._pendingDurationTimeoutId),this._pendingDurationTimeoutId=null,this._pendingDurationTimeoutStartTime=null,this._pendingDurationTimeoutDelay=null)}_setNewDurationTimeout(A,e){this._clearDurationTimeout();const t=setTimeout(()=>{this._pendingDurationTimeoutId===t&&(this._pendingDurationTimeoutId=null,this._pendingDurationTimeoutStartTime=null,this._pendingDurationTimeoutDelay=null),A()},e);this._pendingDurationTimeoutId=t,this._pendingDurationTimeoutStartTime=Date.now(),this._pendingDurationTimeoutDelay=e}_clearRotationState(){null!==this._pendingRotationPromise&&(this._pendingRotationPromise(),this._pendingRotationPromise=null),this._pendingRotationDestination=null}}class gA{constructor(A,e){this._runtime=A,this._runtime.on("PROJECT_STOP_ALL",this.stopAll.bind(this)),this._extensionId=e,this._ports=[],this._motors=[],this._sensors={tiltX:0,tiltY:0,color:x,previousColor:x},this._colorSamples=[],this._ble=null,this._runtime.registerPeripheralExtension(e,this),this._rateLimiter=new g(w),this._pingDeviceId=null,this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this),this._onMessage=this._onMessage.bind(this),this._pingDevice=this._pingDevice.bind(this)}get tiltX(){return this._sensors.tiltX}get tiltY(){return this._sensors.tiltY}get color(){return this._sensors.color}get previousColor(){return this._sensors.previousColor}boostColorForIndex(A){return Object.keys(k).find(e=>k[e]===A)||x}motor(A){return this._motors[A]}stopAllMotors(){this._motors.forEach(A=>{A&&A.turnOff(!1)})}setLED(A){const e=[A>>16&255,A>>8&255,255&A],t=this.generateOutputCommand(this._ports.indexOf(d),W^V,O,[AA,...e]);return this.send(l,t)}setLEDMode(){const A=this.generateInputCommand(this._ports.indexOf(d),AA,0,!1);return this.send(l,A)}stopAll(){this.isConnected()&&this.stopAllMotors()}scan(){this._ble&&this._ble.disconnect(),this._ble=new a(this._runtime,this._extensionId,{filters:[{services:[E],manufacturerData:{919:{dataPrefix:[0,64],mask:[0,255]}}}],optionalServices:[]},this._onConnect,this.reset)}connect(A){this._ble&&this._ble.connectPeripheral(A)}disconnect(){this._ble&&this._ble.disconnect(),this.reset()}reset(){this._ports=[],this._motors=[],this._sensors={tiltX:0,tiltY:0,color:x,previousColor:x},this._pingDeviceId&&(window.clearInterval(this._pingDeviceId),this._pingDeviceId=null)}isConnected(){let A=!1;return this._ble&&(A=this._ble.isConnected()),A}send(A,e){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.isConnected()?t&&!this._rateLimiter.okayToSend()?Promise.resolve():this._ble.write(E,A,B.uint8ArrayToBase64(e),"base64"):Promise.resolve()}generateOutputCommand(A,e,t,n){const i=[0,J.OUTPUT,A,e,t,...n];return i.unshift(i.length+1),i}generateInputCommand(A,e,t,n){const i=[0,J.PORT_INPUT_FORMAT_SETUP_SINGLE,A,e].concat(aA(t)).concat([n]);return i.unshift(i.length+1),i}_onConnect(){this._ble.startNotifications(E,l,this._onMessage),this._pingDeviceId=window.setInterval(this._pingDevice,5e3),setTimeout(()=>{const A=[0,J.HUB_PROPERTIES,j,z];A.unshift(A.length+1),this.send(l,A,!1)},500)}_onMessage(A){const e=B.base64ToUint8Array(A),t=e[2],n=e[3];switch(t){case J.HUB_PROPERTIES:switch(e[3]){case j:{const A=BA([36,2,0,16]);BA(e.slice(5,e.length))<A?(U=f,Q.info("Move Hub firmware older than version 1.0.00.0224 detected. Using old port mapping.")):U=N;break}}break;case J.HUB_ATTACHED_IO:{const A=e[4],t=e[5];switch(A){case _:this._registerSensorOrMotor(n,t);break;case q:this._clearPort(n)}break}case J.PORT_VALUE:{const A=this._ports[n];switch(A){case m:this._sensors.tiltX=e[4],this._sensors.tiltY=e[5];break;case I:this._colorSamples.unshift(e[4]),this._colorSamples.length>5?(this._colorSamples.pop(),this._colorSamples.every((A,e,t)=>A===t[0])?(this._sensors.previousColor=this._sensors.color,this._sensors.color=this.boostColorForIndex(this._colorSamples[0])):this._sensors.color=x):this._sensors.color=x;break;case M:case p:this.motor(n).position=BA(e.slice(4,8));break;case C:case h:case d:break;default:Q.warn("Unknown sensor value! Type: ".concat(A))}break}case J.PORT_FEEDBACK:{const A=e[4],t=this.motor(n);if(t){const e=A&(D^Y);!(A&F)&&e&&t.status===oA&&(t.status=iA)}break}case J.ERROR:Q.warn("Error reported by hub: ".concat(e))}}_pingDevice(){this._ble.read(E,l,!1)}_registerSensorOrMotor(A,e){this._ports[A]=e,e!==p&&e!==M||(this._motors[A]=new cA(this,A));let t=null,n=1;switch(e){case p:case M:t=tA;break;case I:t=eA,n=0;break;case d:t=AA,this.setLEDMode(),this.setLED(255);break;case m:t=$;break;default:t=nA}const i=this.generateInputCommand(A,t,n,!0);this.send(l,i)}_clearPort(A){const e=this._ports[A];e===m&&(this._sensors.tiltX=this._sensors.tiltY=0),e===I&&(this._sensors.color=x),this._ports[A]="none",this._motors[A]=null}}const QA="A",EA="B",lA="C",uA="D",wA="AB",hA="ABCD",CA="this way",dA="that way",IA="reverse",MA="up",pA="down",mA="left",FA="right",DA="any";class YA{static get EXTENSION_ID(){return"boost"}static get TILT_THRESHOLD(){return 15}constructor(A){this.runtime=A,this._peripheral=new gA(this.runtime,YA.EXTENSION_ID)}getInfo(){return{id:YA.EXTENSION_ID,name:"BOOST",blockIconURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACpQTFRF////fIel5ufolZ62/2YavsPS+YZOkJmy9/j53+Hk6+zs6N/b6dfO////tDhMHAAAAA50Uk5T/////////////////wBFwNzIAAAA6ElEQVR42uzX2w6DIBAEUGDVtlr//3dLaLwgiwUd2z7MJPJg5EQWiGhGcAxBggQJEiT436CIfqXJPTn3MKNYYMSDFpoAmp24OaYgvwKnFgL2zvVTCwHrMoMi+nUQLFthaNCCa0iwclLkDgYVsQp0mzxuqXgK1MRzoCLWgkPXNN2wI/q6Kvt7u/cX0HtejN8x2sXpnpb8J8D3b0Keuhh3X975M+i0xNVbg3s1TIasgK21bQyGO+s2PykaGMYbge8KrNrssvkOWDXkErB8UuBHETjoYLkKBA8ZfuDkbwVBggQJEiR4MC8BBgDTtMZLx2nFCQAAAABJRU5ErkJggg==",showStatusButton:!0,blocks:[{opcode:"motorOnFor",text:s({id:"boost.motorOnFor",default:"turn motor [MOTOR_ID] for [DURATION] seconds",description:"turn a motor on for some time"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:QA},DURATION:{type:n.NUMBER,defaultValue:1}}},{opcode:"motorOnForRotation",text:s({id:"boost.motorOnForRotation",default:"turn motor [MOTOR_ID] for [ROTATION] rotations",description:"turn a motor on for rotation"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:QA},ROTATION:{type:n.NUMBER,defaultValue:1}}},{opcode:"motorOn",text:s({id:"boost.motorOn",default:"turn motor [MOTOR_ID] on",description:"turn a motor on indefinitely"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:QA}}},{opcode:"motorOff",text:s({id:"boost.motorOff",default:"turn motor [MOTOR_ID] off",description:"turn a motor off"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:QA}}},{opcode:"setMotorPower",text:s({id:"boost.setMotorPower",default:"set motor [MOTOR_ID] speed to [POWER] %",description:"set the motor's speed without turning it on"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:hA},POWER:{type:n.NUMBER,defaultValue:100}}},{opcode:"setMotorDirection",text:s({id:"boost.setMotorDirection",default:"set motor [MOTOR_ID] direction [MOTOR_DIRECTION]",description:"set the motor's turn direction without turning it on"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:n.STRING,menu:"MOTOR_ID",defaultValue:QA},MOTOR_DIRECTION:{type:n.STRING,menu:"MOTOR_DIRECTION",defaultValue:CA}}},{opcode:"getMotorPosition",text:s({id:"boost.getMotorPosition",default:"motor [MOTOR_REPORTER_ID] position",description:"the position returned by the motor"}),blockType:i.REPORTER,arguments:{MOTOR_REPORTER_ID:{type:n.STRING,menu:"MOTOR_REPORTER_ID",defaultValue:QA}}},{opcode:"whenColor",text:s({id:"boost.whenColor",default:"when [COLOR] brick seen",description:"check for when color"}),blockType:i.HAT,arguments:{COLOR:{type:n.STRING,menu:"COLOR",defaultValue:y}}},{opcode:"seeingColor",text:s({id:"boost.seeingColor",default:"seeing [COLOR] brick?",description:"is the color sensor seeing a certain color?"}),blockType:i.BOOLEAN,arguments:{COLOR:{type:n.STRING,menu:"COLOR",defaultValue:y}}},{opcode:"whenTilted",text:s({id:"boost.whenTilted",default:"when tilted [TILT_DIRECTION_ANY]",description:"check when tilted in a certain direction"}),func:"isTilted",blockType:i.HAT,arguments:{TILT_DIRECTION_ANY:{type:n.STRING,menu:"TILT_DIRECTION_ANY",defaultValue:DA}}},{opcode:"getTiltAngle",text:s({id:"boost.getTiltAngle",default:"tilt angle [TILT_DIRECTION]",description:"the angle returned by the tilt sensor"}),blockType:i.REPORTER,arguments:{TILT_DIRECTION:{type:n.STRING,menu:"TILT_DIRECTION",defaultValue:MA}}},{opcode:"setLightHue",text:s({id:"boost.setLightHue",default:"set light color to [HUE]",description:"set the LED color"}),blockType:i.COMMAND,arguments:{HUE:{type:n.NUMBER,defaultValue:50}}}],menus:{MOTOR_ID:{acceptReporters:!0,items:[{text:"A",value:QA},{text:"B",value:EA},{text:"C",value:lA},{text:"D",value:uA},{text:"AB",value:wA},{text:"ABCD",value:hA}]},MOTOR_REPORTER_ID:{acceptReporters:!0,items:[{text:"A",value:QA},{text:"B",value:EA},{text:"C",value:lA},{text:"D",value:uA}]},MOTOR_DIRECTION:{acceptReporters:!0,items:[{text:s({id:"boost.motorDirection.forward",default:"this way",description:"label for forward element in motor direction menu for LEGO Boost extension"}),value:CA},{text:s({id:"boost.motorDirection.backward",default:"that way",description:"label for backward element in motor direction menu for LEGO Boost extension"}),value:dA},{text:s({id:"boost.motorDirection.reverse",default:"reverse",description:"label for reverse element in motor direction menu for LEGO Boost extension"}),value:IA}]},TILT_DIRECTION:{acceptReporters:!0,items:[{text:s({id:"boost.tiltDirection.up",default:"up",description:"label for up element in tilt direction menu for LEGO Boost extension"}),value:MA},{text:s({id:"boost.tiltDirection.down",default:"down",description:"label for down element in tilt direction menu for LEGO Boost extension"}),value:pA},{text:s({id:"boost.tiltDirection.left",default:"left",description:"label for left element in tilt direction menu for LEGO Boost extension"}),value:mA},{text:s({id:"boost.tiltDirection.right",default:"right",description:"label for right element in tilt direction menu for LEGO Boost extension"}),value:FA}]},TILT_DIRECTION_ANY:{acceptReporters:!0,items:[{text:s({id:"boost.tiltDirection.up",default:"up"}),value:MA},{text:s({id:"boost.tiltDirection.down",default:"down"}),value:pA},{text:s({id:"boost.tiltDirection.left",default:"left"}),value:mA},{text:s({id:"boost.tiltDirection.right",default:"right"}),value:FA},{text:s({id:"boost.tiltDirection.any",default:"any",description:"label for any element in tilt direction menu for LEGO Boost extension"}),value:DA}]},COLOR:{acceptReporters:!0,items:[{text:s({id:"boost.color.red",default:"red",description:"the color red"}),value:T},{text:s({id:"boost.color.blue",default:"blue",description:"the color blue"}),value:R},{text:s({id:"boost.color.green",default:"green",description:"the color green"}),value:G},{text:s({id:"boost.color.yellow",default:"yellow",description:"the color yellow"}),value:S},{text:s({id:"boost.color.white",default:"white",desription:"the color white"}),value:H},{text:s({id:"boost.color.black",default:"black",description:"the color black"}),value:b},{text:s({id:"boost.color.any",default:"any color",description:"any color"}),value:y}]}}}}motorOnFor(A){let e=1e3*r.toNumber(A.DURATION);return e=c.clamp(e,0,15e3),new Promise(t=>{this._forEachMotor(A.MOTOR_ID,A=>{const t=this._peripheral.motor(A);t&&t.turnOnFor(e)}),setTimeout(t,e)})}motorOnForRotation(A){let e=360*r.toNumber(A.ROTATION);const t=Math.sign(e);e=Math.abs(c.clamp(e,-36e4,36e4));const n=[];this._forEachMotor(A.MOTOR_ID,A=>{n.push(A)});const i=n.map(A=>{const n=this._peripheral.motor(A);return n?0===n.power?Promise.resolve():new Promise(A=>{n.turnOnForDegrees(e,t),n.pendingRotationPromise=A}):null});return Promise.all(i).then(()=>{})}motorOn(A){return this._forEachMotor(A.MOTOR_ID,A=>{const e=this._peripheral.motor(A);e&&e.turnOnForever()}),new Promise(A=>{window.setTimeout(()=>{A()},u)})}motorOff(A){return this._forEachMotor(A.MOTOR_ID,A=>{const e=this._peripheral.motor(A);e&&e.turnOff()}),new Promise(A=>{window.setTimeout(()=>{A()},u)})}setMotorPower(A){return this._forEachMotor(A.MOTOR_ID,e=>{const t=this._peripheral.motor(e);if(t)switch(t.power=c.clamp(r.toNumber(A.POWER),0,100),t.status){case rA:t.turnOnForever();break;case sA:t.turnOnFor(t.pendingDurationTimeoutStartTime+t.pendingDurationTimeoutDelay-Date.now())}}),new Promise(A=>{window.setTimeout(()=>{A()},u)})}setMotorDirection(A){return this._forEachMotor(A.MOTOR_ID,e=>{const t=this._peripheral.motor(e);if(t){switch(A.MOTOR_DIRECTION){case CA:t.direction=1;break;case dA:t.direction=-1;break;case IA:t.direction=-t.direction;break;default:Q.warn("Unknown motor direction in setMotorDirection: ".concat(A.DIRECTION))}if(t)switch(t.status){case rA:t.turnOnForever();break;case sA:t.turnOnFor(t.pendingDurationTimeoutStartTime+t.pendingDurationTimeoutDelay-Date.now())}}}),new Promise(A=>{window.setTimeout(()=>{A()},u)})}getMotorPosition(A){let e=null;switch(A.MOTOR_REPORTER_ID){case QA:e=U.A;break;case EA:e=U.B;break;case lA:e=U.C;break;case uA:e=U.D;break;default:return Q.warn("Asked for a motor position that doesnt exist!"),!1}if(null!==e&&this._peripheral.motor(e)){let A=this._peripheral.motor(e).position;return e===U.A&&(A*=-1),c.wrapClamp(A,0,360)}return 0}_forEachMotor(A,e){let t;switch(A){case QA:t=[U.A];break;case EA:t=[U.B];break;case lA:t=[U.C];break;case uA:t=[U.D];break;case wA:t=[U.A,U.B];break;case hA:t=[U.A,U.B,U.C,U.D];break;default:Q.warn("Invalid motor ID: ".concat(A)),t=[]}for(const A of t)e(A)}whenTilted(A){return this._isTilted(A.TILT_DIRECTION_ANY)}isTilted(A){return this._isTilted(A.TILT_DIRECTION_ANY)}getTiltAngle(A){return this._getTiltAngle(A.TILT_DIRECTION)}_isTilted(A){switch(A){case DA:return Math.abs(this._peripheral.tiltX)>=YA.TILT_THRESHOLD||Math.abs(this._peripheral.tiltY)>=YA.TILT_THRESHOLD;default:return this._getTiltAngle(A)>=YA.TILT_THRESHOLD}}_getTiltAngle(A){switch(A){case MA:return this._peripheral.tiltY>90?256-this._peripheral.tiltY:-this._peripheral.tiltY;case pA:return this._peripheral.tiltY>90?this._peripheral.tiltY-256:this._peripheral.tiltY;case mA:return this._peripheral.tiltX>90?this._peripheral.tiltX-256:this._peripheral.tiltX;case FA:return this._peripheral.tiltX>90?256-this._peripheral.tiltX:-this._peripheral.tiltX;default:Q.warn("Unknown tilt direction in _getTiltAngle: ".concat(A))}}whenColor(A){return A.COLOR===y?this._peripheral.color!==x&&this._peripheral.color!==this._peripheral.previousColor:A.COLOR===this._peripheral.color}seeingColor(A){return A.COLOR===y?this._peripheral.color!==x:A.COLOR===this._peripheral.color}setLightHue(A){let e=r.toNumber(A.HUE);e=c.wrapClamp(e,0,100);const t=360*e/100,n=o.hsvToRgb({h:t,s:1,v:1}),i=o.rgbToDecimal(n);return this._peripheral._led=e,this._peripheral.setLED(i),new Promise(A=>{window.setTimeout(()=>{A()},u)})}}A.exports=YA},function(A,e,t){const n=t(3),i=t(1),r=t(8),s=t(7),o=t(11),a=t(53),B=t(294),c=t(295),g={service:"d91714ef-28b9-4f91-ba16-f0d9a604f112",commandChar:"f4bf14a6-c7d5-4b6d-8aa8-df1a7c83adcb",responseChar:"b41e6675-a329-40e0-aa01-44d2f444babe"},Q=1,E=2,l=3,u=4,w=5,h=6,C=7;class d{constructor(A,e){this._runtime=A,this._ble=null,this._device=null,this._runtime.registerPeripheralExtension(e,this),this._extensionId=e,this._sensors={force:0,accelerationX:0,accelerationY:0,accelerationZ:0,spinSpeedX:0,spinSpeedY:0,spinSpeedZ:0},this._timeoutID=null,this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this)}scan(){this._ble&&this._ble.disconnect(),this._ble=new a(this._runtime,this._extensionId,{filters:[{namePrefix:"GDX-FOR"}],optionalServices:[g.service]},this._onConnect,this.reset)}connect(A){this._ble&&this._ble.connectPeripheral(A)}disconnect(){this._ble&&this._ble.disconnect(),this.reset()}reset(){this._sensors={force:0,accelerationX:0,accelerationY:0,accelerationZ:0,spinSpeedX:0,spinSpeedY:0,spinSpeedZ:0},this._timeoutID&&(window.clearInterval(this._timeoutID),this._timeoutID=null)}isConnected(){let A=!1;return this._ble&&(A=this._ble.isConnected()),A}_onConnect(){const A=new c(this._ble,g);B.createDevice(A,{open:!0,startMeasurements:!1}).then(A=>{this._device=A,this._device.keepValues=!1,this._device.sensors.forEach(A=>{A.setEnabled(!0)}),this._device.on("measurements-started",()=>{this._device.sensors.filter(A=>A.enabled).forEach(A=>{A.on("value-changed",A=>{this._onSensorValueChanged(A)})}),this._timeoutID=window.setInterval(()=>this._ble.handleDisconnectError("Force and Acceleration extension stopped receiving data"),4500)}),this._device.start(80)})}_onSensorValueChanged(A){switch(A.number){case Q:this._sensors.force=o.clamp(2*A.value,-100,100);break;case E:this._sensors.accelerationX=A.value;break;case l:this._sensors.accelerationY=A.value;break;case u:this._sensors.accelerationZ=A.value;break;case w:this._sensors.spinSpeedX=this._spinSpeedFromGyro(A.value);break;case h:this._sensors.spinSpeedY=this._spinSpeedFromGyro(A.value);break;case C:this._sensors.spinSpeedZ=this._spinSpeedFromGyro(A.value)}window.clearInterval(this._timeoutID),this._timeoutID=window.setInterval(()=>this._ble.handleDisconnectError("Force and Acceleration extension stopped receiving data"),4500)}_spinSpeedFromGyro(A){const e=1e3/this._runtime.currentStepTime;return A=o.radToDeg(A),A/=e,A*=-1}getForce(){return this._sensors.force}getTiltFrontBack(){let A=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const e=this.getAccelerationX(),t=this.getAccelerationY(),n=this.getAccelerationZ();let i=t*t+n*n;return i=Math.sqrt(i),i<.35?i=e<0?90:-90:(i=e/i,i=Math.atan(i),i=-1*o.radToDeg(i)),A&&(i*=-1),i}getTiltLeftRight(){let A=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const e=this.getAccelerationX(),t=this.getAccelerationY(),n=this.getAccelerationZ();let i=e*e+n*n;return i=Math.sqrt(i),i<.35?i=t<0?90:-90:(i=t/i,i=Math.atan(i),i=-1*o.radToDeg(i)),A&&(i*=-1),i}getAccelerationX(){return this._sensors.accelerationX}getAccelerationY(){return this._sensors.accelerationY}getAccelerationZ(){return this._sensors.accelerationZ}getSpinSpeedX(){return this._sensors.spinSpeedX}getSpinSpeedY(){return this._sensors.spinSpeedY}getSpinSpeedZ(){return this._sensors.spinSpeedZ}}const I="pushed",M="pulled",p="shaken",m="started falling",F="turned face up",D="turned face down",Y="front",f="back",N="left",U="right",y="any",x="x",T="y",R="z";class G{static get EXTENSION_NAME(){return"Force and Acceleration"}static get EXTENSION_ID(){return"gdxfor"}get AXIS_MENU(){return[{text:"x",value:x},{text:"y",value:T},{text:"z",value:R}]}get TILT_MENU(){return[{text:s({id:"gdxfor.tiltDirectionMenu.front",default:"front",description:"label for front element in tilt direction picker for gdxfor extension"}),value:Y},{text:s({id:"gdxfor.tiltDirectionMenu.back",default:"back",description:"label for back element in tilt direction picker for gdxfor extension"}),value:f},{text:s({id:"gdxfor.tiltDirectionMenu.left",default:"left",description:"label for left element in tilt direction picker for gdxfor extension"}),value:N},{text:s({id:"gdxfor.tiltDirectionMenu.right",default:"right",description:"label for right element in tilt direction picker for gdxfor extension"}),value:U}]}get TILT_MENU_ANY(){return[...this.TILT_MENU,{text:s({id:"gdxfor.tiltDirectionMenu.any",default:"any",description:"label for any direction element in tilt direction picker for gdxfor extension"}),value:y}]}get PUSH_PULL_MENU(){return[{text:s({id:"gdxfor.pushed",default:"pushed",description:"the force sensor was pushed inward"}),value:I},{text:s({id:"gdxfor.pulled",default:"pulled",description:"the force sensor was pulled outward"}),value:M}]}get GESTURE_MENU(){return[{text:s({id:"gdxfor.shaken",default:"shaken",description:"the sensor was shaken"}),value:p},{text:s({id:"gdxfor.startedFalling",default:"started falling",description:"the sensor started free falling"}),value:m},{text:s({id:"gdxfor.turnedFaceUp",default:"turned face up",description:"the sensor was turned to face up"}),value:F},{text:s({id:"gdxfor.turnedFaceDown",default:"turned face down",description:"the sensor was turned to face down"}),value:D}]}constructor(A){this.runtime=A,this._peripheral=new d(this.runtime,G.EXTENSION_ID)}getInfo(){return{id:G.EXTENSION_ID,name:G.EXTENSION_NAME,blockIconURI:"data:image/png;base64,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",menuIconURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAA9dJREFUWAnNmE2IFEcUgF/9dE/v7LoaM9kkK4JBRA0EFBIPRm85hBAvEXHXwyo5eFE87GFcReMkObgJiQnkkJzEg9n8HIJixKNe1IMKihgiCbviwV11V3d0d3pmuqsqr5ppcEnb3TNVggVFVVe9eu+r97qqq4tASqp8/fsboQgmU0TMugi571K29bPy9ovPU8Sf16HbpQj3EkYFBcJcr5Am2nZfs94AIWVfqMQeHNwhICUBZ4ypUIA/X2sbIm2AW8AJK0lkEP6TJpfqwXgg4QxmF/fB7Gtvxk1G5ZKHU1CqTgPJoSUXYJYeohSUJu+qrqdVUGh2/pVX4VFffx77WaqBZkrkEFj271+qWH0sXcU3FBzyQe/Mg7B//LbKMTRTxNiDbsMHHjTJlyM7HEJIBHXs2KXFj+oTNSdoQOCYLS5jD9IwBMm5H8NplwwPb/QV4yEIcycaAza9IuA76B38fuz1OF5RXUkmHCdu6rg0BpSMgV/sAe7DdzGFrvvdi0D3mSZjQA0wt7REQsY+iWF0XbfFzyal8SLRxuteD+Du4h4Z/flbqaBHibAQtZmQtcZaAZSMwtTylaR/4vaw1ju5YhWG10pwwAqghmp2FeHO2+t11WqyM80W0m7vAOhsM1kD7CGz8L57Jsq6bitZC/GcWgLf1H6KuHT92cTDAFy/BgXMXm0OCpgV50Bo9kK3BqiBboabQMMU/WoL5im4jToeq/AIgXsiRx5KKCjcwPEsiAv/BQMu9EwyDHXd/3kqCOSzDk6t5/YglQKKeJwq+PNRmJI8kwSTaj1HZy5AhSHqnXkIvU9mMUwEw4Q5wTM57LUtkg8QPw/cdcBJ+PhvKJ0Gj80nGq6JXrg6/XFiX97GXIBpyqTieKpKViOl+WEhWXMaUavvvdIZ8Giy5+Lh3bwKm/t+Be3JazMfxc1tldY26rastiHcsQevTG9pw0znovkAcRWHzSDKnZtaOJLSfMFLB5RqtRBS4LbCurqLCy0YPkU3C0IIPEimMqR2ei7ZX2+KQdRi/WahNT/GmfOD4Vyzhx/66pcjp85dUvcmp6J8+txldXh07PPskdkS+V6EbD0vTOKlB0x9B/O6BS8ULly9PgE6x4kDPR/XX5pyYKj8xcCucsUmkNUQE0JvKKm2VioVK5HRE7UKOHbi6B94RzP+93jtpC0vWgXUF0hr3ipuw8uadwd3jXxoA9IK4Pah8t6BneV9GgjD28Svw1mlxFobgFbeFTz13cKbth93fDryp2CEq0a4hTA+aAPQ/ESJFDdvXLzzzrqNjlTqOP6uDeFf0uhvJ0ZP2QD8D6ZzU6u8YIbBAAAAAElFTkSuQmCC",showStatusButton:!0,blocks:[{opcode:"whenGesture",text:s({id:"gdxfor.whenGesture",default:"when [GESTURE]",description:"when the sensor detects a gesture"}),blockType:i.HAT,arguments:{GESTURE:{type:n.STRING,menu:"gestureOptions",defaultValue:p}}},{opcode:"whenForcePushedOrPulled",text:s({id:"gdxfor.whenForcePushedOrPulled",default:"when force sensor [PUSH_PULL]",description:"when the force sensor is pushed or pulled"}),blockType:i.HAT,arguments:{PUSH_PULL:{type:n.STRING,menu:"pushPullOptions",defaultValue:I}}},{opcode:"getForce",text:s({id:"gdxfor.getForce",default:"force",description:"gets force"}),blockType:i.REPORTER},"---",{opcode:"whenTilted",text:s({id:"gdxfor.whenTilted",default:"when tilted [TILT]",description:"when the sensor detects tilt"}),blockType:i.HAT,arguments:{TILT:{type:n.STRING,menu:"tiltAnyOptions",defaultValue:y}}},{opcode:"isTilted",text:s({id:"gdxfor.isTilted",default:"tilted [TILT]?",description:"is the device tilted?"}),blockType:i.BOOLEAN,arguments:{TILT:{type:n.STRING,menu:"tiltAnyOptions",defaultValue:y}}},{opcode:"getTilt",text:s({id:"gdxfor.getTilt",default:"tilt angle [TILT]",description:"gets tilt"}),blockType:i.REPORTER,arguments:{TILT:{type:n.STRING,menu:"tiltOptions",defaultValue:Y}}},"---",{opcode:"isFreeFalling",text:s({id:"gdxfor.isFreeFalling",default:"falling?",description:"is the device in free fall?"}),blockType:i.BOOLEAN},{opcode:"getSpinSpeed",text:s({id:"gdxfor.getSpin",default:"spin speed [DIRECTION]",description:"gets spin speed"}),blockType:i.REPORTER,arguments:{DIRECTION:{type:n.STRING,menu:"axisOptions",defaultValue:R}}},{opcode:"getAcceleration",text:s({id:"gdxfor.getAcceleration",default:"acceleration [DIRECTION]",description:"gets acceleration"}),blockType:i.REPORTER,arguments:{DIRECTION:{type:n.STRING,menu:"axisOptions",defaultValue:x}}}],menus:{pushPullOptions:{acceptReporters:!0,items:this.PUSH_PULL_MENU},gestureOptions:{acceptReporters:!0,items:this.GESTURE_MENU},axisOptions:{acceptReporters:!0,items:this.AXIS_MENU},tiltOptions:{acceptReporters:!0,items:this.TILT_MENU},tiltAnyOptions:{acceptReporters:!0,items:this.TILT_MENU_ANY}}}}whenForcePushedOrPulled(A){switch(A.PUSH_PULL){case I:return this._peripheral.getForce()<-5;case M:return this._peripheral.getForce()>5;default:return r.warn("unknown push/pull value in whenForcePushedOrPulled: ".concat(A.PUSH_PULL)),!1}}getForce(){return Math.round(this._peripheral.getForce())}whenGesture(A){switch(A.GESTURE){case p:return this.gestureMagnitude()>30;case m:return this.isFreeFalling();case F:return this._isFacing(F);case D:return this._isFacing(D);default:return r.warn("unknown gesture value in whenGesture: ".concat(A.GESTURE)),!1}}_isFacing(A){void 0===this._facingUp&&(this._facingUp=!1),void 0===this._facingDown&&(this._facingDown=!1);let e=9;switch((this._facingUp||this._facingDown)&&(e-=5),this._facingUp=this._peripheral.getAccelerationZ()>e,this._facingDown=this._peripheral.getAccelerationZ()<-1*e,A){case F:return this._facingUp;case D:return this._facingDown;default:return!1}}whenTilted(A){return this._isTilted(A.TILT)}isTilted(A){return this._isTilted(A.TILT)}getTilt(A){return this._getTiltAngle(A.TILT)}_isTilted(A){switch(A){case y:return this._getTiltAngle(Y)>15||this._getTiltAngle(f)>15||this._getTiltAngle(N)>15||this._getTiltAngle(U)>15;default:return this._getTiltAngle(A)>15}}_getTiltAngle(A){if(!this._peripheral.isConnected())return 0;switch(A){case Y:return Math.round(this._peripheral.getTiltFrontBack(!0));case f:return Math.round(this._peripheral.getTiltFrontBack(!1));case N:return Math.round(this._peripheral.getTiltLeftRight(!0));case U:return Math.round(this._peripheral.getTiltLeftRight(!1));default:r.warn("Unknown direction in getTilt: ".concat(A))}}getSpinSpeed(A){switch(A.DIRECTION){case x:return Math.round(this._peripheral.getSpinSpeedX());case T:return Math.round(this._peripheral.getSpinSpeedY());case R:return Math.round(this._peripheral.getSpinSpeedZ());default:r.warn("Unknown direction in getSpinSpeed: ".concat(A.DIRECTION))}}getAcceleration(A){switch(A.DIRECTION){case x:return Math.round(this._peripheral.getAccelerationX());case T:return Math.round(this._peripheral.getAccelerationY());case R:return Math.round(this._peripheral.getAccelerationZ());default:r.warn("Unknown direction in getAcceleration: ".concat(A.DIRECTION))}}magnitude(A,e,t){return Math.sqrt(A*A+e*e+t*t)}accelMagnitude(){return this.magnitude(this._peripheral.getAccelerationX(),this._peripheral.getAccelerationY(),this._peripheral.getAccelerationZ())}gestureMagnitude(){return this.accelMagnitude()-9.8}spinMagnitude(){return this.magnitude(this._peripheral.getSpinSpeedX(),this._peripheral.getSpinSpeedY(),this._peripheral.getSpinSpeedZ())}isFreeFalling(){if(!this._peripheral.isConnected())return!1;return this.accelMagnitude()<.5+.3*this.spinMagnitude()}}A.exports=G},function(A,e,t){A.exports=function(){"use strict";function e(A,e,t,n,i,r,s){try{var o=A[r](s),a=o.value}catch(A){return void t(A)}o.done?e(a):Promise.resolve(a).then(n,i)}function n(A){return function(){var t=this,n=arguments;return new Promise((function(i,r){var s=A.apply(t,n);function o(A){e(s,i,r,o,a,"next",A)}function a(A){e(s,i,r,o,a,"throw",A)}o(void 0)}))}}function i(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}function r(A,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(A,n.key,n)}}function s(A,e,t){return e&&r(A.prototype,e),t&&r(A,t),A}function o(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&function(A,e){(Object.setPrototypeOf||function(A,e){return A.__proto__=e,A})(A,e)}(A,e)}function a(A){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(A){return A.__proto__||Object.getPrototypeOf(A)})(A)}function B(A,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}(A):e}!function(e){var t,n=Object.prototype,i=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag",B="object"==typeof A,c=e.regeneratorRuntime;if(c)B&&(A.exports=c);else{(c=e.regeneratorRuntime=B?A.exports:{}).wrap=I;var g="suspendedStart",Q="suspendedYield",E="executing",l="completed",u={},w={};w[s]=function(){return this};var h=Object.getPrototypeOf,C=h&&h(h(x([])));C&&C!==n&&i.call(C,s)&&(w=C);var d=F.prototype=p.prototype=Object.create(w);m.prototype=d.constructor=F,F.constructor=m,F[a]=m.displayName="GeneratorFunction",c.isGeneratorFunction=function(A){var e="function"==typeof A&&A.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},c.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,F):(A.__proto__=F,a in A||(A[a]="GeneratorFunction")),A.prototype=Object.create(d),A},c.awrap=function(A){return{__await:A}},D(Y.prototype),Y.prototype[o]=function(){return this},c.AsyncIterator=Y,c.async=function(A,e,t,n){var i=new Y(I(A,e,t,n));return c.isGeneratorFunction(e)?i:i.next().then((function(A){return A.done?A.value:i.next()}))},D(d),d[a]="Generator",d[s]=function(){return this},d.toString=function(){return"[object Generator]"},c.keys=function(A){var e=[];for(var t in A)e.push(t);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in A)return t.value=n,t.done=!1,t}return t.done=!0,t}},c.values=x,y.prototype={constructor:y,reset:function(A){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(U),!A)for(var e in this)"t"===e.charAt(0)&&i.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=t)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if("throw"===A.type)throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var e=this;function n(n,i){return o.type="throw",o.arg=A,e.next=n,i&&(e.method="next",e.arg=t),!!i}for(var r=this.tryEntries.length-1;r>=0;--r){var s=this.tryEntries[r],o=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var a=i.call(s,"catchLoc"),B=i.call(s,"finallyLoc");if(a&&B){if(this.prev<s.catchLoc)return n(s.catchLoc,!0);if(this.prev<s.finallyLoc)return n(s.finallyLoc)}else if(a){if(this.prev<s.catchLoc)return n(s.catchLoc,!0)}else{if(!B)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return n(s.finallyLoc)}}}},abrupt:function(A,e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var r=n;break}}r&&("break"===A||"continue"===A)&&r.tryLoc<=e&&e<=r.finallyLoc&&(r=null);var s=r?r.completion:{};return s.type=A,s.arg=e,r?(this.method="next",this.next=r.finallyLoc,u):this.complete(s)},complete:function(A,e){if("throw"===A.type)throw A.arg;return"break"===A.type||"continue"===A.type?this.next=A.arg:"return"===A.type?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):"normal"===A.type&&e&&(this.next=e),u},finish:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===A)return this.complete(t.completion,t.afterLoc),U(t),u}},catch:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===A){var n=t.completion;if("throw"===n.type){var i=n.arg;U(t)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(A,e,n){return this.delegate={iterator:x(A),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),u}}}function I(A,e,t,n){var i=e&&e.prototype instanceof p?e:p,r=Object.create(i.prototype),s=new y(n||[]);return r._invoke=function(A,e,t){var n=g;return function(i,r){if(n===E)throw new Error("Generator is already running");if(n===l){if("throw"===i)throw r;return T()}for(t.method=i,t.arg=r;;){var s=t.delegate;if(s){var o=f(s,t);if(o){if(o===u)continue;return o}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(n===g)throw n=l,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n=E;var a=M(A,e,t);if("normal"===a.type){if(n=t.done?l:Q,a.arg===u)continue;return{value:a.arg,done:t.done}}"throw"===a.type&&(n=l,t.method="throw",t.arg=a.arg)}}}(A,t,s),r}function M(A,e,t){try{return{type:"normal",arg:A.call(e,t)}}catch(A){return{type:"throw",arg:A}}}function p(){}function m(){}function F(){}function D(A){["next","throw","return"].forEach((function(e){A[e]=function(A){return this._invoke(e,A)}}))}function Y(A){var e;this._invoke=function(t,n){function r(){return new Promise((function(e,r){!function e(t,n,r,s){var o=M(A[t],A,n);if("throw"!==o.type){var a=o.arg,B=a.value;return B&&"object"==typeof B&&i.call(B,"__await")?Promise.resolve(B.__await).then((function(A){e("next",A,r,s)}),(function(A){e("throw",A,r,s)})):Promise.resolve(B).then((function(A){a.value=A,r(a)}),(function(A){return e("throw",A,r,s)}))}s(o.arg)}(t,n,e,r)}))}return e=e?e.then(r,r):r()}}function f(A,e){var n=A.iterator[e.method];if(n===t){if(e.delegate=null,"throw"===e.method){if(A.iterator.return&&(e.method="return",e.arg=t,f(A,e),"throw"===e.method))return u;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var i=M(n,A.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,u;var r=i.arg;return r?r.done?(e[A.resultName]=r.value,e.next=A.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,u):r:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function N(A){var e={tryLoc:A[0]};1 in A&&(e.catchLoc=A[1]),2 in A&&(e.finallyLoc=A[2],e.afterLoc=A[3]),this.tryEntries.push(e)}function U(A){var e=A.completion||{};e.type="normal",delete e.arg,A.completion=e}function y(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(N,this),this.reset(!0)}function x(A){if(A){var e=A[s];if(e)return e.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var n=-1,r=function e(){for(;++n<A.length;)if(i.call(A,n))return e.value=A[n],e.done=!1,e;return e.value=t,e.done=!0,e};return r.next=r}}return{next:T}}function T(){return{value:t,done:!0}}}(function(){return this||"object"==typeof self&&self}()||Function("return this")());var c=new Uint8Array([88,0,0,0]),g=new Uint8Array([26,165,74,6,73,7,72,8,71,9,70,10,69,11,68,12,67,13,66,14,65]),Q=new Uint8Array([24,255,1,0,0,0,0,0,0,0,0,0,0,0,0]),E=new Uint8Array([25,255,0,255,255,255,255]),l=new Uint8Array([27,255,0,0,0,0,0,0,0,0,0]),u={HEADER:c,INIT:g,DISCONNECT:new Uint8Array([84]),START_MEASUREMENTS:Q,STOP_MEASUREMENTS:E,SET_MEASUREMENT_PERIOD:l,GET_INFO:new Uint8Array([85]),GET_STATUS:new Uint8Array([16]),GET_SENSOR_IDS:new Uint8Array([81]),GET_SENSOR_INFO:new Uint8Array([80,0]),GET_DEFAULT_SENSORS_MASK:new Uint8Array([86])},w=function(A){return 0!==A},h=function(){function A(){i(this,A),this._listenerMap=new Map}return s(A,[{key:"on",value:function(A,e){this._listenerMap.has(A)||this._listenerMap.set(A,[]),this._listenerMap.get(A).push(e)}},{key:"off",value:function(A,e){var t=this._listenerMap.get(A);if(t&&t.length){var n=t.reduce((function(A,t,n){return"function"==typeof t&&t===e?A=n:A}),-1);if(n>-1)return t.splice(n,1),this._listenerMap.set(A,t),!0}return!1}},{key:"unbind",value:function(){this._listenerMap.clear()}},{key:"emit",value:function(A){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];var i=this._listenerMap.get(A);return!(!i||!i.length||(i.forEach((function(A){A.apply(void 0,t)})),0))}}]),A}();function C(A){return Array.from(new Uint8Array(A)).map((function(A){return A.toString(16).padStart(2,"0")})).join(" ")}var d,I=function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,A),this.type=e.type,this.mode=e.mode,this.minValue=e.minValue,this.maxValue=e.maxValue,this.uncertainty=e.uncertainty,this.minPeriod=e.minPeriod,this.maxPeriod=e.maxPeriod,this.typicalPeriod=e.typicalPeriod,this.granularity=e.granularity},M=function A(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,A),this.number=e.number,this.name=e.name,this.unit=e.unit,this.id=e.id,this.mutalExclusionMask=e.mutalExclusionMask,this.measurementInfo=e.measurementInfo},p=function(A){function e(A){var t;return i(this,e),(t=B(this,a(e).call(this))).number=A.number,t.name=A.name,t.unit=A.unit,t.specs=A,t.enabled=!1,t.values=[],t.value=null,t}return o(e,h),s(e,[{key:"clear",value:function(){this.value=null,this.values=[]}},{key:"setValue",value:function(A,e){this.value=A,e&&this.values.push(this.value),this.emit("value-changed",this)}},{key:"setEnabled",value:function(A){this.enabled!==A&&(this.enabled=A,this.emit("state-changed",this))}}]),e}(),m=function(A){function e(A){var n;if(i(this,e),n=B(this,a(e).call(this)),"undefined"==typeof TextDecoder){var r=t(41);d=r.TextDecoder}else d=TextDecoder;return n.device=A,n.sensors=[],n.opened=!1,n.rollingCounter=0,n.collecting=!1,n.measurementPeriod=10,n.response=null,n.remainingResponseLength=0,n.defaultSensorsMask=0,n.keepValues=!0,n.minMeasurementPeriod=10,n.serialNumber="",n.orderCode="",n.name="",n}return o(e,h),s(e,[{key:"getBatteryLevel",value:function(){var A=n(regeneratorRuntime.mark((function A(){var e;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this._getStatus();case 2:return e=A.sent,A.abrupt("return",e.battery);case 4:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()},{key:"getChargingState",value:function(){var A=n(regeneratorRuntime.mark((function A(){var e;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this._getStatus();case 2:return e=A.sent,A.abrupt("return",e.chargingStatus);case 4:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()},{key:"open",value:function(){var A=n(regeneratorRuntime.mark((function A(){var e,t=arguments;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return e=t.length>0&&void 0!==t[0]&&t[0],A.prev=1,A.next=4,this._connect();case 4:return A.next=6,this._init();case 6:return A.next=8,this._getStatus();case 8:return A.next=10,this._getDeviceInfo();case 10:return A.next=12,this._getDefaultSensorsMask();case 12:return A.next=14,this._getAvailableSensors();case 14:this._onOpened(),e&&this.start(),A.next=21;break;case 18:A.prev=18,A.t0=A.catch(1),console.error(A.t0);case 21:case"end":return A.stop()}}),A,this,[[1,18]])})));return function(){return A.apply(this,arguments)}}()},{key:"close",value:function(){var A=n(regeneratorRuntime.mark((function A(){return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this._stopMeasurements();case 2:return A.next=4,this._sendCommand(u.DISCONNECT);case 4:return A.abrupt("return",this._disconnect());case 5:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()},{key:"enableDefaultSensors",value:function(){for(var A=1,e=0;e<32;++e){if((this.defaultSensorsMask&A)===A){var t=this.getSensor(e);t&&t.setEnabled(!0)}A<<=1}}},{key:"start",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.sensors.filter((function(A){return A.enabled}));0===e.length&&(this.enableDefaultSensors(),e=this.sensors.filter((function(A){return A.enabled}))),e.forEach((function(A){return A.clear()})),A&&(this.measurementPeriod=A),this._startMeasurements()}},{key:"stop",value:function(){this._stopMeasurements()}},{key:"getSensor",value:function(A){return this.sensors.find((function(e){return e.number===A}))}},{key:"_connect",value:function(){var A=n(regeneratorRuntime.mark((function A(){var e=this;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.abrupt("return",this.device.setup({onClosed:function(){return e._onClosed()},onResponse:function(A){return e._handleResponse(A)}}));case 1:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()},{key:"_disconnect",value:function(){var A=n(regeneratorRuntime.mark((function A(){return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.abrupt("return",this.device.close());case 1:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()},{key:"_init",value:function(){return this.collecting=!1,this.rollingCounter=255,this.writeQueue=[],this._sendCommand(u.INIT)}},{key:"_handleResponse",value:function(A){if("command notified: ".concat(C(A.buffer)),this.remainingResponseLegnth>0){if(this.remainingResponseLegnth-=A.buffer.byteLength,this.response=new DataView((e=this.response.buffer,t=A.buffer.slice(0),(n=new Uint8Array(e.byteLength+t.byteLength)).set(new Uint8Array(e),0),n.set(new Uint8Array(t),e.byteLength),n.buffer)),this.remainingResponseLegnth>0)return}else this.response=A;var e,t,n,i=this.response.getUint8(1);if(i>this.response.buffer.byteLength)this.remainingResponseLegnth=i-this.response.buffer.byteLength;else switch("handle command: ".concat(C(this.response.buffer)),this.response.getUint8(0)){case 32:this._processMeasurements(this.response);break;default:var r=this.response.getUint8(4),s=this.response.getUint8(5),o=new DataView(this.response.buffer,6);this._resolveWriteCommand(r,s,o),this.remainingResponseLegnth=0,this.response=null}}},{key:"_getSensorsWithMask",value:function(A){for(var e=[],t=1,n=0;n<32;++n){if((A&t)===t){var i=this.getSensor(n);i&&(e.push(i),"available: [".concat(A,"] ").concat(e[e.length-1].number))}t<<=1}return e}},{key:"_processMeasurements",value:function(A){var e=[],t=!0,n=0,i=0,r=A.getUint8(4);switch(r){case 6:e=this._getSensorsWithMask(A.getUint16(5,!0)),n=A.getUint8(7,!0),i=9;break;case 7:e=this._getSensorsWithMask(A.getUint32(5,!0)),n=A.getUint8(9,!0),i=11;break;case 10:case 8:e[0]=this.getSensor(A.getUint8(6)),n=A.getUint8(7,!0),i=8;break;case 11:case 9:e[0]=this.getSensor(A.getUint8(6)),n=A.getUint8(7,!0),i=8,t=!1;break;case 12:case 13:case 14:"Purposely Ignoring packet type: ".concat(r);break;default:"Unknown packet type: ".concat(r)}for(var s=0;s<n;++s)for(var o=0;o<e.length;++o)t?e[o].setValue(A.getFloat32(i,!0),this.keepValues):e[o].setValue(A.getInt32(i,!0),this.keepValues),i+=4}},{key:"_resolveWriteCommand",value:function(A,e,t){var n=this.writeQueue.find((function(t){return t.command===A&&t.rollingCounter===e}));n&&(n.resolve(t),this.writeQueue=this.writeQueue.filter((function(A){return A!==n})))}},{key:"_onOpened",value:function(){this.opened=!0,this.emit("device-opened")}},{key:"_onClosed",value:function(){this.opened=!1,this.emit("device-closed")}},{key:"_decRollingCounter",value:function(){return this.rollingCounter-=1,this.rollingCounter}},{key:"_calculateChecksum",value:function(A){for(var e=A[1],t=-1*A[3],n=0;n<e;++n)t+=A[n],t&=255;return t<0||t>255?0:t}},{key:"_sendCommand",value:function(A){var e=new Uint8Array(u.HEADER.byteLength+A.byteLength);return e.set(new Uint8Array(u.HEADER),0),e.set(new Uint8Array(A),u.HEADER.byteLength),e[1]=e.length,e[2]=this._decRollingCounter(),e[3]=this._calculateChecksum(e),this._queueWriteCommand(e,0,e.length)}},{key:"_writeCommand",value:function(){var A=n(regeneratorRuntime.mark((function A(e,t,n){var i;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(!(n>0)){A.next=12;break}return A.prev=1,n>20?(i=e.subarray(t,t+20),n-=20,t+=20):(i=e.subarray(t,t+n),n=0),A.next=5,this.device.writeCommand(i);case 5:A.next=10;break;case 7:A.prev=7,A.t0=A.catch(1),"Write Failure: ".concat(A.t0);case 10:A.next=0;break;case 12:case"end":return A.stop()}}),A,this,[[1,7]])})));return function(e,t,n){return A.apply(this,arguments)}}()},{key:"_queueWriteCommand",value:function(A,e,t){var n=this;"command queued: ".concat(C(A));var i=new Promise((function(e,t){n.writeQueue.push({command:A[4],rollingCounter:A[2],resolve:e,reject:t}),setTimeout((function(){n.writeQueue=n.writeQueue.filter((function(e){return e.command===A[4]&&e.rollingCounter!==A[2]})),t(new Error("write command timed out after 5s. Command: ".concat(A[4].toString(16)," Rolling Counter: ").concat(A[2].toString(16))))}),1e4)}));return this._writeCommand(A,e,t),i}},{key:"_getStatus",value:function(){var A=n(regeneratorRuntime.mark((function A(){var e,t;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this._sendCommand(u.GET_STATUS);case 2:return e=A.sent,t={masterFirmwareVersion:"".concat(e.getUint8(2),".").concat(e.getUint8(3)),bleFirmwareVersion:"".concat(e.getUint8(6),".").concat(e.getUint8(9)),battery:e.getUint8(10),chargingStatus:"".concat(e.getUint8(11))},A.abrupt("return",t);case 5:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()},{key:"_getAvailableSensors",value:function(){var A=n(regeneratorRuntime.mark((function A(){var e,t,n=this;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this._sendCommand(u.GET_SENSOR_IDS).then((function(A){n.availableSensors=A.getUint32(0,!0),"Get Available Sensors Returned ".concat(n.availableSensors)}));case 2:e=1,t=0;case 4:if(!(t<31)){A.next=12;break}if((this.availableSensors&e)!==e){A.next=8;break}return A.next=8,this._getSensorInfo(t);case 8:e<<=1;case 9:++t,A.next=4;break;case 12:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()},{key:"_getDefaultSensorsMask",value:function(){var A=this;return this._sendCommand(u.GET_DEFAULT_SENSORS_MASK).then((function(e){A.defaultSensorsMask=e.getUint32(0,!0)}))}},{key:"_getDeviceInfo",value:function(){var A=this;return this._sendCommand(u.GET_INFO).then((function(e){var t=new d("utf-8");A.orderCode=t.decode(new Uint8Array(e.buffer,6,16).filter(w)),A.serialNumber=t.decode(new Uint8Array(e.buffer,22,16).filter(w)),A.name=t.decode(new Uint8Array(e.buffer,38,32).filter(w))}))}},{key:"_getSensorInfo",value:function(){var A=n(regeneratorRuntime.mark((function A(e){var t,n=this;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return(t=new Uint8Array(u.GET_SENSOR_INFO))[1]=e,A.abrupt("return",this._sendCommand(t).then((function(A){var e=A.getUint32(2,!0);if(e>0){var t=new d("utf-8"),i=new I({type:A.getUint8(6),mode:A.getUint8(7),minValue:A.getFloat64(108,!0),maxValue:A.getFloat64(116,!0),uncertainty:A.getFloat64(100,!0),minPeriod:A.getUint32(124,!0)/1e3,maxPeriod:((A.getUint32(132,!0)<<32)+A.getUint32(128,!0))/1e3,typicalPeriod:A.getUint32(136,!0)/1e3,granularity:A.getUint32(140,!0)/1e3}),r=new M({number:A.getUint8(0),name:t.decode(new Uint8Array(A.buffer,14,60).filter(w)),unit:t.decode(new Uint8Array(A.buffer,74,32).filter(w)),mutalExclusiveMask:A.getUint32(144,!0),measurementInfo:i,sensorId:e}),s=new p(r);n.sensors.push(s),s.on("state-changed",(function(){"Sensor Restart: ".concat(s.number),s.enabled&&(n.measurementPeriod=s.specs.measurementInfo.typicalPeriod,n.sensors.forEach((function(A){if(s.number!==A.number&&A.enabled){var e=1<<A.number;(e&s.specs.mutalExclusiveMask)===e?A.enabled=!1:A.specs.measurementInfo.typicalPeriod>n.measurementPeriod&&(n.measurementPeriod=A.specs.measurementInfo.typicalPeriod)}}))),n._restartMeasurements()}))}})));case 3:case"end":return A.stop()}}),A,this)})));return function(e){return A.apply(this,arguments)}}()},{key:"_restartMeasurements",value:function(){var A=n(regeneratorRuntime.mark((function A(){var e;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(e=this.collecting,!this.collecting){A.next=10;break}return A.prev=2,A.next=5,this._stopMeasurements();case 5:A.next=10;break;case 7:A.prev=7,A.t0=A.catch(2),console.error(A.t0);case 10:if(this.collecting||!e){A.next=19;break}return A.prev=11,A.next=14,this._startMeasurements();case 14:A.next=19;break;case 16:A.prev=16,A.t1=A.catch(11),console.error(A.t1);case 19:case"end":return A.stop()}}),A,this,[[2,7],[11,16]])})));return function(){return A.apply(this,arguments)}}()},{key:"_setMeasurementPeriod",value:function(A){var e=new Uint8Array(u.SET_MEASUREMENT_PERIOD),t=1e3*this.minMeasurementPeriod;return A<t&&(A=t),"MeasurementPeriod: ".concat(A),e[3]=A>>0&255,e[4]=A>>8&255,e[5]=A>>16&255,e[6]=A>>24&255,this._sendCommand(e)}},{key:"_getEnabledChannelMask",value:function(){var A=0;return this.sensors.filter((function(A){return A.enabled})).forEach((function(e){A+=1<<e.number})),A}},{key:"_startMeasurements",value:function(){var A=this;return this._setMeasurementPeriod(1e3*this.measurementPeriod).then((function(){var e=A._getEnabledChannelMask();"ChannelMask: ".concat(e);var t=new Uint8Array(u.START_MEASUREMENTS);return t[3]=e>>0&255,t[4]=e>>8&255,t[5]=e>>16&255,t[6]=e>>24&255,A._sendCommand(t).then((function(e){0===e.getUint8(0)&&(A.collecting=!0,A.emit("measurements-started"))}))}))}},{key:"_stopMeasurements",value:function(){var A=this;return this._sendCommand(u.STOP_MEASUREMENTS).then((function(e){0===e.getUint8(0)&&(A.collecting=!1,A.emit("measurements-stopped"))}))}}]),e}(),F=function(){function A(e){i(this,A),this.webBluetoothNativeDevice=e,this.deviceCommand=null,this.deviceResponse=null}return s(A,[{key:"writeCommand",value:function(){var A=n(regeneratorRuntime.mark((function A(e){return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.abrupt("return",this.deviceCommand.writeValue(e));case 1:case"end":return A.stop()}}),A,this)})));return function(e){return A.apply(this,arguments)}}()},{key:"setup",value:function(){var A=n(regeneratorRuntime.mark((function A(e){var t,n,i,r,s=this;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return t=e.onClosed,n=e.onResponse,this.webBluetoothNativeDevice.addEventListener("gattserverdisconnected",t),A.prev=2,A.next=5,this.webBluetoothNativeDevice.gatt.connect();case 5:return i=A.sent,A.next=8,i.getPrimaryService("d91714ef-28b9-4f91-ba16-f0d9a604f112");case 8:return r=A.sent,A.next=11,r.getCharacteristics();case 11:A.sent.forEach((function(A){switch(A.uuid){case"f4bf14a6-c7d5-4b6d-8aa8-df1a7c83adcb":s.deviceCommand=A;break;case"b41e6675-a329-40e0-aa01-44d2f444babe":s.deviceResponse=A,s.deviceResponse.addEventListener("characteristicvaluechanged",(function(A){var e=A.target.value;n(e)})),s.deviceResponse.startNotifications();break;default:"No case found for ".concat(A.uuid)}})),A.next=18;break;case 15:A.prev=15,A.t0=A.catch(2),console.error(A.t0);case 18:if(this.deviceCommand&&this.deviceResponse){A.next=20;break}throw new Error("Expected command and response characteristics not found.");case 20:case"end":return A.stop()}}),A,this,[[2,15]])})));return function(e){return A.apply(this,arguments)}}()},{key:"close",value:function(){var A=n(regeneratorRuntime.mark((function A(){return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.abrupt("return",this.webBluetoothNativeDevice.gatt.disconnect());case 1:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()},{key:"godirectAdapter",get:function(){return!0}}]),A}(),D={createDevice:function(){var A=n(regeneratorRuntime.mark((function A(e){var t,n,i,r,s,o,a,B=arguments;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(t=B.length>1&&void 0!==B[1]?B[1]:{},n=t.open,i=void 0===n||n,r=t.startMeasurements,s=void 0===r||r,(o=e).godirectAdapter||(o=new F(e)),a=new m(o),!i){A.next=14;break}return A.prev=5,A.next=8,a.open(s);case 8:A.next=14;break;case 10:throw A.prev=10,A.t0=A.catch(5),console.error(A.t0),A.t0;case 14:return A.abrupt("return",a);case 15:case"end":return A.stop()}}),A,this,[[5,10]])})));return function(e){return A.apply(this,arguments)}}(),selectDevice:function(){var A=n(regeneratorRuntime.mark((function A(){var e;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(navigator.bluetooth){A.next=2;break}return A.abrupt("return",Promise.reject(new Error("No Web Bluetooth support.")));case 2:return A.next=4,navigator.bluetooth.requestDevice({filters:[{namePrefix:"GDX"}],optionalServices:["d91714ef-28b9-4f91-ba16-f0d9a604f112"]});case 4:return e=A.sent,A.abrupt("return",D.createDevice(e));case 6:case"end":return A.stop()}}),A,this)})));return function(){return A.apply(this,arguments)}}()};return D}()},function(A,e,t){const n=t(29);A.exports=class{constructor(A,e){let{service:t,commandChar:n,responseChar:i}=e;this.socket=A,this._service=t,this._commandChar=n,this._responseChar=i,this._onResponse=this._onResponse.bind(this),this._deviceOnResponse=null}get godirectAdapter(){return!0}writeCommand(A){const e=n.uint8ArrayToBase64(A);return this.socket.write(this._service,this._commandChar,e,"base64")}setup(A){let{onResponse:e}=A;return this._deviceOnResponse=e,this.socket.startNotifications(this._service,this._responseChar,this._onResponse)}_onResponse(A){const e=n.base64ToUint8Array(A),t=new DataView(e.buffer);return this._deviceOnResponse(t)}}},function(A,e,t){const n=t(7),i=t(3),r=t(1),s=t(2),o=(t(13),t(10)),a=t(23),B="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMjcuODM0IDlhMyAzIDAgMDEyLjU0NiAxLjQxMmwuMDk3LjE2Ny4wNTQuMTEuMDUyLjExMi4wNDguMTEyIDYuMjIyIDE2YTMuMDAxIDMuMDAxIDAgMDEtMi4yNyA0LjA0MWwtLjE4LjAyNS0uMTE1LjAxMS0uMTE2LjAwNy0uMTE1LjAwM2gtMS44NTVhMyAzIDAgMDEtMi41NDUtMS40MTJsLS4wOTYtLjE2Ny0uMTA3LS4yMjItLjA0OC0uMTExTDI4Ljk4MyAyOGgtNC45M2wtLjQyMiAxLjA4N2EzLjAwMyAzLjAwMyAwIDAxLTIuNDEgMS44ODlsLS4xOTMuMDE4LS4xOTQuMDA2LTEuOTQtLjAwMi0uMDk2LjAwMkg3YTMgMyAwIDAxLTIuODctMy44NzJsLjA3Mi0uMjA5IDYuMTgzLTE2YTMuMDAxIDMuMDAxIDAgMDEyLjYwNC0xLjkxM0wxMy4xODQgOWwzLjkuMDAxLjA5OS0uMDAxIDMuOTI0LjAwMi4wOTUtLjAwMiAzLjkwNS4wMDIuMDk1LS4wMDJoMi42MzJ6IiBmaWxsLW9wYWNpdHk9Ii4xNSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNS42NjMgMjFsLjgxNi0yLjA5OS44MTYgMi4wOTloLTEuNjMyem0xMC4yNTggNi4yNzVsLTYuMjIzLTE2LS4wNzUtLjE2OC0uMDg1LS4xNDVjLS4zODctLjYxMS0xLjAxOS0uOTYyLTEuNzAzLS45NjJoLTIuNjMzbC0uMDk2LjAwMi0uMDYyLS4wMDFMMjEuMjAyIDEwbC0uMDk2LjAwMi0uMDYyLS4wMDFMMTcuMTgzIDEwbC0uMDg2LjAwMkwxMy4xODQgMTBsLS4xNjUuMDA3YTIuMDAzIDIuMDAzIDAgMDAtMS43MDIgMS4yNzJsLTYuMTgyIDE2LS4wNTkuMTc1QTIgMiAwIDAwNyAzMGgxMS43OThsLjA4OC0uMDAyIDEuOTQ5LjAwMi4xNjMtLjAwNy4xNjEtLjAxOWEyIDIgMCAwMDEuNTM5LTEuMjQ5bC42Ny0xLjcyNWg2LjI5OWwuNjcyIDEuNzI2LjA3NC4xNjcuMDg2LjE0NWMuMzg3LjYxMSAxLjAxOC45NjIgMS43MDMuOTYyaDEuODU1bC4xNzQtLjAwOS4xNjQtLjAyNGMuOTc2LS4xODcgMS42NjItMS4wMDMgMS42NjItMS45NjcgMC0uMjQ4LS4wNDYtLjQ5NC0uMTM2LS43MjV6IiBmaWxsLW9wYWNpdHk9Ii4yNSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0xMy4xODMgMTFoMy44MThhMSAxIDAgMDEuOTQxIDEuMzM4bC01Ljc0MiAxNmExIDEgMCAwMS0uOTQuNjYySDdhMSAxIDAgMDEtLjkzMy0xLjM2bDYuMTgzLTE2YTEgMSAwIDAxLjkzMy0uNjR6IiBmaWxsPSIjNEM5N0ZGIi8+PHBhdGggZD0iTTE3LjE4MyAxMUgyMWExIDEgMCAwMS45NDIgMS4zMzhsLTUuNzQyIDE2YTEgMSAwIDAxLS45NDEuNjYyaC00LjI2YTEgMSAwIDAxLS45MzItMS4zNmw2LjE4My0xNmExIDEgMCAwMS45MzMtLjY0eiIgZmlsbD0iI0NGNjNDRiIvPjxwYXRoIGQ9Ik0yMS4yMDIgMTFIMjVhMSAxIDAgMDEuOTMzIDEuMzYxbC02LjIwMyAxNmExIDEgMCAwMS0uOTMyLjYzOUgxNWExIDEgMCAwMS0uOTMzLTEuMzYxbDYuMjAzLTE2YTEgMSAwIDAxLjkzMi0uNjM5eiIgZmlsbD0iI0ZGQkYwMCIvPjxwYXRoIGQ9Ik0yNy44MzQgMTFhMSAxIDAgMDEuOTMyLjYzOGw2LjIyMiAxNkExIDEgMCAwMTM0LjA1NiAyOWgtMS44NTRhMSAxIDAgMDEtLjkzMi0uNjM4TDMwLjM1MSAyNmgtNy42NjZsLS45MTkgMi4zNjJhMSAxIDAgMDEtLjkzMi42MzhIMTguOThhMSAxIDAgMDEtLjkzMi0xLjM2Mmw2LjIyMi0xNmExIDEgMCAwMS45MzItLjYzOHptLTEuMzE2IDUuMTQzTDI0LjI0IDIyaDQuNTU2bC0yLjI3OC01Ljg1N3oiIGZpbGw9IiNGRkYiLz48L2c+PC9zdmc+";A.exports=class{constructor(A){this.runtime=A,this._onTargetWillExit=this._onTargetWillExit.bind(this),this.runtime.on("targetWasRemoved",this._onTargetWillExit),this._onTargetCreated=this._onTargetCreated.bind(this),this.runtime.on("targetWasCreated",this._onTargetCreated),this.runtime.on("PROJECT_STOP_ALL",this.stopAll.bind(this))}get FONT_IDS(){return["Sans Serif","Serif","Handwriting","Marker","Curly","Pixel","Playful","Bubbly","Arcade","Bits and Bytes","Technological","Scratch","Archivo","Archivo Black"]}get DEFAULT_TEXT_STATE(){return{skinId:null,text:"Welcome to my project!",font:"Handwriting",color:"hsla(225, 15%, 40%, 1)",size:24,maxWidth:480,align:"center",strokeWidth:0,strokeColor:"black",rainbow:!1,visible:!1,targetSize:null,fullText:null}}get STATE_KEY(){return"Scratch.text"}_getFonts(){return[{text:"Sans Serif",value:"Sans Serif"},{text:"Serif",value:"Serif"},{text:"Handwriting",value:"Handwriting"},{text:"Marker",value:"Marker"},{text:"Curly",value:"Curly"},{text:"Pixel",value:"Pixel"},{text:"Playful",value:"Playful"},{text:"Bubbly",value:"Bubbly"},{text:"Arcade",value:"Arcade"},{text:"Bits and Bytes",value:"Bits and Bytes"},{text:"Technological",value:"Technological"},{text:"Scratch",value:"Scratch"},{text:"Archivo",value:"Archivo"},{text:"Archivo Black",value:"Archivo Black"},...this.runtime.fontManager.getFonts().map(A=>({text:A.name,value:A.family})),{text:"random font",value:"Random"}]}getInfo(){return{id:"text",name:"Animated Text",blockIconURI:B,menuIconURI:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMjcuODM0IDlhMyAzIDAgMDEyLjU0NiAxLjQxMmwuMDk3LjE2Ny4wNTQuMTEuMDUyLjExMi4wNDguMTEyIDYuMjIyIDE2YTMuMDAxIDMuMDAxIDAgMDEtMi4yNyA0LjA0MWwtLjE4LjAyNS0uMTE1LjAxMS0uMTE2LjAwNy0uMTE1LjAwM2gtMS44NTVhMyAzIDAgMDEtMi41NDUtMS40MTJsLS4wOTYtLjE2Ny0uMTA3LS4yMjItLjA0OC0uMTExTDI4Ljk4MyAyOGgtNC45M2wtLjQyMiAxLjA4N2EzLjAwMyAzLjAwMyAwIDAxLTIuNDEgMS44ODlsLS4xOTMuMDE4LS4xOTQuMDA2LTEuOTQtLjAwMi0uMDk2LjAwMkg3YTMgMyAwIDAxLTIuODctMy44NzJsLjA3Mi0uMjA5IDYuMTgzLTE2YTMuMDAxIDMuMDAxIDAgMDEyLjYwNC0xLjkxM0wxMy4xODQgOWwzLjkuMDAxLjA5OS0uMDAxIDMuOTI0LjAwMi4wOTUtLjAwMiAzLjkwNS4wMDIuMDk1LS4wMDJoMi42MzJ6IiBmaWxsLW9wYWNpdHk9Ii4xNSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNS42NjMgMjFsLjgxNi0yLjA5OS44MTYgMi4wOTloLTEuNjMyem0xMC4yNTggNi4yNzVsLTYuMjIzLTE2LS4wNzUtLjE2OC0uMDg1LS4xNDVjLS4zODctLjYxMS0xLjAxOS0uOTYyLTEuNzAzLS45NjJoLTIuNjMzbC0uMDk2LjAwMi0uMDYyLS4wMDFMMjEuMjAyIDEwbC0uMDk2LjAwMi0uMDYyLS4wMDFMMTcuMTgzIDEwbC0uMDg2LjAwMkwxMy4xODQgMTBsLS4xNjUuMDA3YTIuMDAzIDIuMDAzIDAgMDAtMS43MDIgMS4yNzJsLTYuMTgyIDE2LS4wNTkuMTc1QTIgMiAwIDAwNyAzMGgxMS43OThsLjA4OC0uMDAyIDEuOTQ5LjAwMi4xNjMtLjAwNy4xNjEtLjAxOWEyIDIgMCAwMDEuNTM5LTEuMjQ5bC42Ny0xLjcyNWg2LjI5OWwuNjcyIDEuNzI2LjA3NC4xNjcuMDg2LjE0NWMuMzg3LjYxMSAxLjAxOC45NjIgMS43MDMuOTYyaDEuODU1bC4xNzQtLjAwOS4xNjQtLjAyNGMuOTc2LS4xODcgMS42NjItMS4wMDMgMS42NjItMS45NjcgMC0uMjQ4LS4wNDYtLjQ5NC0uMTM2LS43MjV6IiBmaWxsLW9wYWNpdHk9Ii4yNSIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0xMy4xODMgMTFoMy44MThhMSAxIDAgMDEuOTQxIDEuMzM4bC01Ljc0MiAxNmExIDEgMCAwMS0uOTQuNjYySDdhMSAxIDAgMDEtLjkzMy0xLjM2bDYuMTgzLTE2YTEgMSAwIDAxLjkzMy0uNjR6IiBmaWxsPSIjNEM5N0ZGIi8+PHBhdGggZD0iTTE3LjE4MyAxMUgyMWExIDEgMCAwMS45NDIgMS4zMzhsLTUuNzQyIDE2YTEgMSAwIDAxLS45NDEuNjYyaC00LjI2YTEgMSAwIDAxLS45MzItMS4zNmw2LjE4My0xNmExIDEgMCAwMS45MzMtLjY0eiIgZmlsbD0iI0NGNjNDRiIvPjxwYXRoIGQ9Ik0yMS4yMDIgMTFIMjVhMSAxIDAgMDEuOTMzIDEuMzYxbC02LjIwMyAxNmExIDEgMCAwMS0uOTMyLjYzOUgxNWExIDEgMCAwMS0uOTMzLTEuMzYxbDYuMjAzLTE2YTEgMSAwIDAxLjkzMi0uNjM5eiIgZmlsbD0iI0ZGQkYwMCIvPjxwYXRoIGQ9Ik0yNy44MzQgMTFhMSAxIDAgMDEuOTMyLjYzOGw2LjIyMiAxNkExIDEgMCAwMTM0LjA1NiAyOWgtMS44NTRhMSAxIDAgMDEtLjkzMi0uNjM4TDMwLjM1MSAyNmgtNy42NjZsLS45MTkgMi4zNjJhMSAxIDAgMDEtLjkzMi42MzhIMTguOThhMSAxIDAgMDEtLjkzMi0xLjM2Mmw2LjIyMi0xNmExIDEgMCAwMS45MzItLjYzOHptLTEuMzE2IDUuMTQzTDI0LjI0IDIyaDQuNTU2bC0yLjI3OC01Ljg1N3oiIGZpbGw9IiNGRkYiLz48L2c+PC9zdmc+",blocks:[{opcode:"setText",text:n({id:"text.setText",default:"show text [TEXT]",description:""}),blockType:r.COMMAND,arguments:{TEXT:{type:i.STRING,defaultValue:"Welcome to my project!"}}},{opcode:"animateText",text:n({id:"text.animateText",default:"[ANIMATE] text [TEXT]",description:""}),blockType:r.COMMAND,arguments:{ANIMATE:{type:i.STRING,menu:"ANIMATE",defaultValue:"rainbow"},TEXT:{type:i.STRING,defaultValue:"Here we go!"}}},{opcode:"clearText",text:n({id:"text.clearText",default:"show sprite",description:""}),blockType:r.COMMAND,arguments:{}},"---",{opcode:"setFont",text:n({id:"text.setFont",default:"set font to [FONT]",description:""}),blockType:r.COMMAND,arguments:{FONT:{type:i.STRING,menu:"FONT",defaultValue:"Pixel"}}},{opcode:"setColor",text:n({id:"text.setColor",default:"set text color to [COLOR]",description:""}),blockType:r.COMMAND,arguments:{COLOR:{type:i.COLOR}}},{opcode:"setWidth",text:n({id:"text.setWidth",default:"set width to [WIDTH] aligned [ALIGN]",description:""}),blockType:r.COMMAND,arguments:{WIDTH:{type:i.NUMBER,defaultValue:200},ALIGN:{type:i.STRING,defaultValue:"left",menu:"ALIGN"}}},{opcode:"rainbow",text:n({id:"text.rainbow",default:"rainbow for [SECS] seconds",description:""}),blockType:r.COMMAND,arguments:{SECS:{type:i.NUMBER,defaultValue:1}}},"---",{opcode:"addLine",text:n({id:"text.addLine",default:"add line [TEXT]",description:""}),blockType:r.COMMAND,arguments:{TEXT:{type:i.STRING,defaultValue:"more lines!"}}},"---",{opcode:"setOutlineWidth",text:n({id:"text.setOutlineWidth",default:"set outline width to [WIDTH]",description:""}),blockType:r.COMMAND,arguments:{WIDTH:{type:i.NUMBER,defaultValue:1}}},{opcode:"setOutlineColor",text:n({id:"text.setOutlineColor",default:"set outline color to [COLOR]",description:""}),blockType:r.COMMAND,arguments:{COLOR:{type:i.COLOR}}},"---",{opcode:"getVisible",text:"is text visible?",blockType:r.BOOLEAN},{opcode:"getWidth",text:"get width of the text",blockType:r.REPORTER},{opcode:"getHeight",text:"get height of the text",blockType:r.REPORTER}],menus:{FONT:{items:"_getFonts",isTypeable:!0},ALIGN:{items:[{text:"left",value:"left"},{text:"center",value:"center"},{text:"right",value:"right"}]},ANIMATE:{items:[{text:"type",value:"type"},{text:"rainbow",value:"rainbow"},{text:"zoom",value:"zoom"}]}}}}setText(A,e){const t=this._getTextState(e.target);t.text=this._formatText(A.TEXT),t.visible=!0,t.animating=!1,this._renderText(e.target)}clearText(A,e){const t=e.target,n=this._getTextState(t);n.visible=!1,n.animating=!1;const i=t.getCostumes()[t.currentCostume];this.runtime.renderer.updateDrawableSkinId(t.drawableID,i.skinId)}stopAll(){this.runtime.targets.forEach(A=>{this.clearText({},{target:A})})}addLine(A,e){const t=this._getTextState(e.target);t.text+="\n".concat(this._formatText(A.TEXT)),t.visible=!0,t.animating=!1,this._renderText(e.target)}setFont(A,e){const t=this._getTextState(e.target);"Random"===A.FONT?t.font=this._randomFontOtherThan(t.font):t.font=A.FONT,this._renderText(e.target)}_randomFontOtherThan(A){const e=this.FONT_IDS.filter(e=>e!==A);return e[Math.floor(Math.random()*e.length)]}setColor(A,e){this._getTextState(e.target).color=s.toString(A.COLOR),this._renderText(e.target)}setWidth(A,e){const t=this._getTextState(e.target);t.maxWidth=s.toNumber(A.WIDTH),t.align=A.ALIGN,this._renderText(e.target)}setSize(A,e){this._getTextState(e.target).size=s.toNumber(A.SIZE),this._renderText(e.target)}setAlign(A,e){const t=this._getTextState(e.target);t.maxWidth=s.toNumber(A.WIDTH),t.align=A.ALIGN,this._renderText(e.target)}setOutlineWidth(A,e){this._getTextState(e.target).strokeWidth=s.toNumber(A.WIDTH),this._renderText(e.target)}setOutlineColor(A,e){const t=this._getTextState(e.target);t.strokeColor=s.toString(A.COLOR),t.visible=!0,this._renderText(e.target)}getVisible(A,e){return this._getTextState(e.target).visible}getWidth(A,e){const t=this._getTextSkin(e.target);return"number"!=typeof t.width?0:t.width}getHeight(A,e){const t=this._getTextSkin(e.target);return"number"!=typeof t.height?0:t.height}_getTextSkin(A){const e=this._getTextState(A);if(!e)return[0,0];if(!e.skinId)return[0,0];return this.runtime.renderer._allSkins[e.skinId]}_animateText(A,e){const t=e.target,n=this._getTextState(t);if(null===n.fullText)return n.fullText=this._formatText(A.TEXT),n.text=n.fullText[0],n.visible=!0,n.animating=!0,this._renderText(t),this.runtime.requestRedraw(),new Promise(A=>{const e=setInterval(()=>{n.animating&&n.visible&&n.text!==n.fullText?n.text=n.fullText.substring(0,n.text.length+1):(n.fullText=null,clearInterval(e),A()),this._renderText(t),this.runtime.requestRedraw()},60)})}_zoomText(A,e){const t=e.target,n=this._getTextState(t);if(null!==n.targetSize)return;const i=new a,r=1e3*s.toNumber(A.SECS||.5);return n.text=this._formatText(A.TEXT),n.visible=!0,n.animating=!0,n.targetSize=t.size,t.setSize(0),this._renderText(t),this.runtime.requestRedraw(),i.start(),new Promise(A=>{const e=setInterval(()=>{const s=i.timeElapsed();n.animating&&n.visible&&s<r?t.setSize(n.targetSize*s/r):(t.setSize(n.targetSize),n.targetSize=null,clearInterval(e),A()),this._renderText(t),this.runtime.requestRedraw()},this.runtime.currentStepTime)})}animateText(A,e){switch(A.ANIMATE){case"rainbow":return this.rainbow(A,e);case"type":return this._animateText(A,e);case"zoom":return this._zoomText(A,e)}}rainbow(A,e){const t=e.target,n=this._getTextState(t);if(n.rainbow)return;const i=new a,r=1e3*s.toNumber(A.SECS||2);return A.TEXT||(A.TEXT=n.text,n.visible)?(n.text=this._formatText(A.TEXT),n.visible=!0,n.animating=!0,n.rainbow=!0,this._renderText(t),i.start(),new Promise(A=>{const e=setInterval(()=>{const s=i.timeElapsed();n.animating&&n.visible&&s<r?(n.rainbow=!0,t.setEffect("color",s/-5)):(n.rainbow=!1,t.setEffect("color",0),clearInterval(e),A()),this._renderText(t)},this.runtime.currentStepTime)})):void 0}_getTextState(A){let e=A.getCustomState(this.STATE_KEY);return e||(e=o.simple(this.DEFAULT_TEXT_STATE),A.setCustomState(this.STATE_KEY,e)),e}_formatText(A){return""===A?A:("number"==typeof A&&Math.abs(A)>=.01&&A%1!=0&&(A=A.toFixed(2)),A=s.toString(A))}_renderText(A){if(!this.runtime.renderer)return;const e=this._getTextState(A);e.visible&&(e.skinId=this.runtime.renderer.updateTextCostumeSkin(e),this.runtime.renderer.updateDrawableSkinId(A.drawableID,e.skinId))}_onTargetCreated(A,e){if(e){const t=e.getCustomState(this.STATE_KEY);if(t){A.setCustomState(this.STATE_KEY,o.simple(t));const e=A.getCustomState(this.STATE_KEY);e.skinId=null,e.rainbow=!1,e.targetSize=null,e.fullText=null,e.animating=!1;const n=()=>{this._renderText(A),A.off("EVENT_TARGET_VISUAL_CHANGE",n)};A.on("EVENT_TARGET_VISUAL_CHANGE",n)}}}_onTargetWillExit(A){const e=this._getTextState(A);e.skinId&&(this.runtime.renderer.destroySkin(e.skinId),e.skinId=null)}}},function(A,e,t){const n=t(7),i=t(1),r=t(3),s=t(2),o="data:image/svg+xml;base64,".concat(btoa('<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="none" stroke="#fff" stroke-width="11.51815371" d="M24.457 7.707a18.41 18.41 0 0 0-.365 2.31c-.02.224 0 .507.06.852.061.405.092.689.092.851 0 .527-.345.79-1.034.79-.446 0-.74-.131-.881-.395-.02-.446-.01-1.054.03-1.824.04-.912.061-1.52.061-1.824-.02 0-.05-.02-.091-.06a98.522 98.522 0 0 0-5.32.364c-.04.264-.04.588 0 .973l.122 1.094c-.081.629-.122 1.56-.122 2.797.061.527.091 2.786.091 6.779v2.219c0 .344.051.587.152.73h1.885c.77-.102 1.155.222 1.155.972 0 .446-.213.76-.638.942-.264.102-.73.122-1.399.061-.405-.04-.881-.05-1.428-.03-.75.101-1.662.182-2.736.243-1.094.06-1.763-.091-2.006-.456-.162-.243-.162-.496 0-.76.283-.446 1.023-.669 2.219-.669.628 0 .942-.172.942-.516 0-.183-.01-.355-.03-.517 0-.507.01-.953.03-1.338.06-1.094.06-2.634 0-4.62-.081-2.878-.05-5.462.091-7.752l-.09-.09c-.63.04-1.805.03-3.527-.031-.081 0-.7.04-1.854.121.283 1.946.446 3.334.486 4.165l-.06.82c-.021.305-.274.457-.76.457-.386 0-.71-.73-.973-2.19-.122-.87-.244-1.752-.365-2.644 0-.142-.071-.385-.213-.73-.122-.364-.39-.97-.39-1.152 0-.641.593-.489 1.363-.61.06 0 .162.01.304.03.142.02.243.03.304.03H17.1a57.098 57.098 0 0 0 5.411-.486c.122-.06.304-.121.547-.182.426-.04.79.06 1.095.304.304.223.405.547.304.972z"/><path fill="none" stroke="#ff4c4c" stroke-width="5.75909785" d="M24.333 7.71q-.244 1.065-.365 2.311-.03.335.06.851.092.608.092.851 0 .79-1.034.79-.669 0-.881-.394-.03-.67.03-1.824.06-1.368.06-1.824-.03 0-.09-.061-2.827.122-5.32.365-.06.395 0 .973l.122 1.094q-.122.942-.122 2.796.091.79.091 6.78v2.218q0 .517.152.73h1.885q1.155-.152 1.155.973 0 .668-.638.942-.396.152-1.399.06-.608-.06-1.428-.03-1.125.152-2.736.243-1.642.092-2.006-.456-.244-.364 0-.76.425-.668 2.219-.668.942 0 .942-.517 0-.274-.03-.517 0-.76.03-1.337.091-1.642 0-4.62-.122-4.317.091-7.752l-.091-.091q-.942.06-3.526-.03-.122 0-1.854.12.425 2.919.486 4.165l-.06.821q-.031.456-.76.456-.578 0-.974-2.189-.182-1.307-.364-2.644 0-.213-.213-.73-.182-.547-.182-.82 0-.76 1.155-.943.09 0 .304.03.212.03.304.03h7.538q2.797-.12 5.411-.485.182-.092.547-.183.639-.06 1.095.304.456.335.304.973z"/><path fill="#fff" d="M24.31 7.714q-.243 1.064-.365 2.31-.03.335.061.852.091.608.091.85 0 .791-1.033.791-.67 0-.882-.395-.03-.669.03-1.824.061-1.368.061-1.824-.03 0-.09-.06-2.828.121-5.32.364-.061.396 0 .973l.121 1.094q-.121.943-.121 2.797.09.79.09 6.779v2.219q0 .517.153.73h1.884q1.156-.153 1.156.972 0 .669-.639.942-.395.152-1.398.061-.608-.06-1.429-.03-1.125.152-2.736.243-1.641.091-2.006-.456-.243-.365 0-.76.426-.669 2.22-.669.941 0 .941-.516 0-.274-.03-.517 0-.76.03-1.338.092-1.641 0-4.62-.121-4.317.092-7.752l-.092-.09q-.942.06-3.526-.031-.121 0-1.854.121.426 2.919.486 4.165l-.06.82q-.03.457-.76.457-.578 0-.973-2.19-.182-1.306-.365-2.644 0-.212-.213-.73-.182-.546-.182-.82 0-.76 1.155-.942.091 0 .304.03t.304.03h7.539q2.796-.121 5.41-.486.183-.091.548-.182.638-.061 1.094.304.456.334.304.972z"/></svg>'));A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"tw",name:"TurboWarp",color1:"#ff4c4c",color2:"#e64444",color3:"#c73a3a",docsURI:"https://docs.turbowarp.org/blocks",menuIconURI:o,blockIconURI:o,blocks:[{opcode:"getLastKeyPressed",text:n({id:"tw.blocks.lastKeyPressed",default:"last key pressed",description:"Block that returns the last key that was pressed"}),blockType:i.REPORTER},{opcode:"getButtonIsDown",text:n({id:"tw.blocks.buttonIsDown",default:"[MOUSE_BUTTON] mouse button down?",description:"Block that returns whether a specific mouse button is down"}),blockType:i.BOOLEAN,arguments:{MOUSE_BUTTON:{type:r.NUMBER,menu:"mouseButton",defaultValue:"0"}}}],menus:{mouseButton:{items:[{text:n({id:"tw.blocks.mouseButton.primary",default:"(0) primary",description:"Dropdown item to select primary (usually left) mouse button"}),value:"0"},{text:n({id:"tw.blocks.mouseButton.middle",default:"(1) middle",description:"Dropdown item to select middle mouse button"}),value:"1"},{text:n({id:"tw.blocks.mouseButton.secondary",default:"(2) secondary",description:"Dropdown item to select secondary (usually right) mouse button"}),value:"2"}],acceptReporters:!0}}}}getLastKeyPressed(A,e){return e.ioQuery("keyboard","getLastKeyPressed")}getButtonIsDown(A,e){const t=s.toNumber(A.MOUSE_BUTTON);return e.ioQuery("mouse","getButtonIsDown",[t])}}},function(A,e,t){const n=t(1),i=t(3),{validateArray:r}=t(17),s=new(t(31)),o=["modal","selector","only-selector"];let a="modal",B="";const c=(A,e)=>new Promise(t=>{const n=A=>{t(A),g.remove(),document.body.removeEventListener("keydown",c)};let i=!1,r=!1;const o=A=>{if(i)return;i=!0;const t=new FileReader;t.onload=()=>{n(r?JSON.stringify(s.bufferToArray(t.result)):t.result)},t.onerror=()=>{console.error("Failed to read file as text",t.error),n("")},"url"===e?t.readAsDataURL(A):"buffer"===e?(r=!0,t.readAsArrayBuffer(A)):t.readAsText(A)},c=A=>{"Escape"===A.key&&(A.stopPropagation(),A.preventDefault(),n(""))};document.body.addEventListener("keydown",c,{capture:!0});const g=document.createElement("div");g.className="extension-content",g.style.position="fixed",g.style.top="0",g.style.left="0",g.style.width="100%",g.style.height="100%",g.style.display="flex",g.style.alignItems="center",g.style.justifyContent="center",g.style.background="rgba(0, 0, 0, 0.5)",g.style.zIndex="20000",g.style.color="black",g.style.colorScheme="light",g.addEventListener("dragover",A=>{A.dataTransfer.types.includes("Files")&&(A.preventDefault(),A.dataTransfer.dropEffect="copy",Q.style.borderColor="#03a9fc")}),g.addEventListener("dragleave",()=>{Q.style.borderColor="#888"}),g.addEventListener("drop",A=>{const e=A.dataTransfer.files[0];e&&(B=e.name,A.preventDefault(),o(e))}),g.addEventListener("click",A=>{A.target===g&&n("")});const Q=document.createElement("button");Q.style.boxShadow="0 0 10px -5px currentColor",Q.style.cursor="pointer",Q.style.font="inherit",Q.style.background="white",Q.style.padding="16px",Q.style.borderRadius="16px",Q.style.border="8px dashed ".concat("#888"),Q.style.position="relative",Q.style.textAlign="center",Q.addEventListener("click",()=>{E.click()}),Q.focus(),g.appendChild(Q);const E=document.createElement("input");E.type="file",E.accept=A,E.addEventListener("change",A=>{const e=A.target.files[0];e&&(B=e.name,o(e))});const l=document.createElement("div");l.textContent="Select or drop file",l.style.fontSize="1.5em",l.style.marginBottom="8px",Q.appendChild(l);const u=document.createElement("div"),w=A||"any";u.textContent="Accepted formats: ".concat(w),Q.appendChild(u),document.body.appendChild(g),"selector"!==a&&"only-selector"!==a||E.click(),"only-selector"===a&&(E.addEventListener("cancel",()=>{n("")}),g.remove())}),g=(A,e,t)=>{let n;if("url"===t)n=(A=>{for(var e=A.split(","),t=e[0].match(/:(.*?);/)[1],n=atob(e[1]),i=n.length,r=new Uint8Array(i);i--;)r[i]=n.charCodeAt(i);return new Blob([r],{type:t})})(A);else if("buffer"===t){const e=r(A);e.isValid&&(A=s.arrayToBuffer(e.array)),n=new Blob([A])}else n=new Blob([A]);const i=n,o=URL.createObjectURL(i),a=document.createElement("a");a.href=o,a.download=e,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(o)};A.exports=class{getInfo(){return{id:"twFiles",name:"Files",color1:"#ffbb00",color2:"#ffaa00",blocks:[{opcode:"showPicker",blockType:n.REPORTER,text:"open a file",disableMonitor:!0,hideFromPalette:!0},{opcode:"showPickerExtensions",blockType:n.REPORTER,text:"open a [extension] file",arguments:{extension:{type:i.STRING,defaultValue:".txt"}},hideFromPalette:!0},{opcode:"showPickerAs",blockType:n.REPORTER,text:"open a file as [as]",arguments:{as:{type:i.STRING,menu:"encoding"}}},{opcode:"showPickerExtensionsAs",blockType:n.REPORTER,text:"open a [extension] file as [as]",arguments:{extension:{type:i.STRING,defaultValue:".txt"},as:{type:i.STRING,menu:"encoding"}}},"---",{opcode:"download",blockType:n.COMMAND,text:"download [encoding] [text] as [file]",arguments:{encoding:{type:i.STRING,menu:"encoding"},text:{type:i.STRING,defaultValue:"Hello, world!"},file:{type:i.STRING,defaultValue:"save.txt"}}},{opcode:"setOpenMode",blockType:n.COMMAND,text:"set open file selector mode to [mode]",arguments:{mode:{type:i.STRING,defaultValue:"modal",menu:"automaticallyOpen"}}},"---",{opcode:"getFileName",blockType:n.REPORTER,text:"last opened file name",disableMonitor:!0}],menus:{encoding:{acceptReporters:!0,items:[{text:"text",value:"text"},{text:"data: URL",value:"url"},{text:"array buffer",value:"buffer"}]},automaticallyOpen:{acceptReporters:!0,items:[{text:"show modal",value:"modal"},{text:"open selector immediately",value:"selector"}]}}}}showPicker(){return c("","text")}showPickerExtensions(A){return c(A.extension,"text")}showPickerAs(A){return c("",A.as)}showPickerExtensionsAs(A){return c(A.extension,A.as)}download(A){g(A.text,A.file,A.encoding)}setOpenMode(A){o.includes(A.mode)?a=A.mode:console.warn("unknown mode",A.mode)}getFileName(){return B||""}}},function(A,e,t){const n=t(1),i=t(3),r=t(10),s=t(2),o="\n%block6>\n%block7>\n%block2>\n%block3>\n".concat('<sep gap="36"/>','\n<block type="motion_turnrightaroundxy">\n <value name="DEGREES">\n <shadow type="math_number">\n <field name="NUM">15</field>\n </shadow>\n </value>\n <value name="X">\n <shadow type="math_number">\n <field name="NUM">0</field>\n </shadow>\n </value>\n <value name="Y">\n <shadow type="math_number">\n <field name="NUM">0</field>\n </shadow>\n </value>\n</block>\n<block type="motion_turnleftaroundxy">\n <value name="DEGREES">\n <shadow type="math_number">\n <field name="NUM">15</field>\n </shadow>\n </value>\n <value name="X">\n <shadow type="math_number">\n <field name="NUM">0</field>\n </shadow>\n </value>\n <value name="Y">\n <shadow type="math_number">\n <field name="NUM">0</field>\n </shadow>\n </value>\n</block>\n<block type="motion_ifonxybounce">\n <value name="X">\n <shadow type="math_number">\n <field name="NUM">10</field>\n </shadow>\n </value>\n <value name="Y">\n <shadow type="math_number">\n <field name="NUM">10</field>\n </shadow>\n </value>\n</block>\n%block1>\n').concat('<sep gap="36"/>',"\n%block0>\n%block4>\n%block5>\n");A.exports=class{constructor(A){this.runtime=A,this.spriteHomes={},this.cloneHomes={}}deserialize(A){this.spriteHomes=A}serialize(){return this.filterHomes("sprite",this.spriteHomes)}filterHomes(A,e){const t={};for(const n in e){let i=!0;"clone"===A?this.runtime.getTargetById(n)||(i=!1):this.runtime.getSpriteTargetByName(n)||(i=!1),i&&(t[n]=e[n])}return t}orderCategoryBlocks(A){if("undefined"!=typeof vm&&vm.editingTarget){if(vm.editingTarget.isStage)return['<label text="Stage selected: no motion blocks"></label>']}let e=o,t=0;for(const n of A)e=e.replace("%block"+t+">",n),t++;return[e]}getInfo(){return{id:"pmMotionExpansion",name:"Motion Expansion",color1:"#4C97FF",color2:"#4280D7",color3:"#3373CC",isDynamic:!0,orderBlocks:this.orderCategoryBlocks,blocks:[{opcode:"rotationStyle",blockType:n.REPORTER,text:"rotation style",disableMonitor:!0},{opcode:"fence",blockType:n.COMMAND,text:"manually fence"},{opcode:"steptowards",blockType:n.COMMAND,text:"move [STEPS] steps towards x: [X] y: [Y]",arguments:{STEPS:{type:i.NUMBER,defaultValue:"10"},X:{type:i.NUMBER,defaultValue:"0"},Y:{type:i.NUMBER,defaultValue:"0"}}},{opcode:"tweentowards",blockType:n.COMMAND,text:"move [PERCENT]% of the way to x: [X] y: [Y]",arguments:{PERCENT:{type:i.NUMBER,defaultValue:"10"},X:{type:i.NUMBER,defaultValue:"0"},Y:{type:i.NUMBER,defaultValue:"0"}}},{opcode:"touchingxy",blockType:n.BOOLEAN,text:"touching x: [X] y: [Y]?",arguments:{X:{type:i.NUMBER,defaultValue:"0"},Y:{type:i.NUMBER,defaultValue:"0"}}},{opcode:"touchingrect",blockType:n.BOOLEAN,text:"touching rectangle x1: [X1] y1: [Y1] x2: [X2] y2: [Y2]?",arguments:{X1:{type:i.NUMBER,defaultValue:"-100"},Y1:{type:i.NUMBER,defaultValue:"-100"},X2:{type:i.NUMBER,defaultValue:"100"},Y2:{type:i.NUMBER,defaultValue:"100"}}},{opcode:"setHome",blockType:n.COMMAND,text:"set my home"},{opcode:"gotoHome",blockType:n.COMMAND,text:"go to home"}]}}rotationStyle(A,e){return e.target.rotationStyle}fence(A,e){const t=this.runtime.renderer.getFencedPositionOfDrawable(e.target.drawableID,[e.target.x,e.target.y]);e.target.setXY(t[0],t[1])}steptowards(A,e){const t=s.toNumber(A.X),n=s.toNumber(A.Y),i=s.toNumber(A.STEPS)/Math.sqrt((t-e.target.x)**2+(n-e.target.y)**2);i>=1?e.target.setXY(t,n):e.target.setXY((t-e.target.x)*i+e.target.x,(n-e.target.y)*i+e.target.y)}tweentowards(A,e){const t=s.toNumber(A.X),n=s.toNumber(A.Y),i=s.toNumber(A.PERCENT);e.target.setXY((t-e.target.x)*(i/100)+e.target.x,(n-e.target.y)*(i/100)+e.target.y)}touchingrect(A,e){let t=s.toNumber(A.X1),n=s.toNumber(A.X2),i=s.toNumber(A.Y1),r=s.toNumber(A.Y2);if(t>n){let A=t;t=n,n=A}if(i>r){let A=i;i=r,i=A}const o=this.runtime.renderer._allDrawables[e.target.drawableID];if(!o)return!1;const a=o.getFastBounds();a.snapToInt();const B=this.runtime.renderer.exports.Rectangle,c=new B;if(c.initFromBounds(t,n,i,r),c.snapToInt(),!c.intersects(a))return!1;o.updateCPURenderAttributes();const g=B.intersect(a,c);for(let A=g.left;A<g.right;A++)for(let e=g.bottom;e<g.top;e++)if(o.isTouching([A,e]))return!0;return!1}touchingxy(A,e){const t=s.toNumber(A.X),n=s.toNumber(A.Y),i=this.runtime.renderer._allDrawables[e.target.drawableID];return!!i&&(i.updateCPURenderAttributes(),i.isTouching([t,n]))}setHome(A,e){const t=e.target;if(t.isStage)return;const n={x:t.x,y:t.y,size:t.size,stretch:r.simple(t.stretch),transform:r.simple(t.transform),direction:t.direction,rotationStyle:t.rotationStyle,visible:t.visible,effects:r.simple(t.effects),draggable:t.draggable,currentCostume:t.currentCostume,tintColor:t.tintColor,volume:t.volume};if(t.isOriginal){const A=t.getName();return this.spriteHomes[A]=n,void(this.spriteHomes=this.filterHomes("sprite",this.spriteHomes))}this.cloneHomes[t.id]=n,this.cloneHomes=this.filterHomes("clone",this.cloneHomes)}gotoHome(A,e){const t=e.target;if(t.isStage)return;const n=t.isOriginal?t.getName():t.id,i=t.isOriginal?this.spriteHomes:this.cloneHomes;if(!(n in i))return;const r=i[n];if(r){if(t.setXY(r.x,r.y),t.setSize(r.size),t.setStretch(...r.stretch),t.setTransform(r.transform),t.setDirection(r.direction),t.setRotationStyle(r.rotationStyle),t.setVisible(r.visible),r.effects)for(const A in r.effects){const e=r.effects[A];t.setEffect(A,e)}t.setDraggable(r.draggable),t.setCostume(r.currentCostume),t.tintColor=r.tintColor,t.volume=r.volume,this.runtime.requestRedraw()}}}},function(A,e,t){function n(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function i(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach((function(e){r(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}function r(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const s=t(1),o=t(3),a=t(117),B=t(608),c=t(2),g='\n<block type="operator_randomBoolean" />\n'.concat('<sep gap="36"/>','\n<block type="operator_nand" />\n<block type="operator_nor" />\n<block type="operator_xor" />\n<block type="operator_xnor" />\n').concat('<sep gap="36"/>',"\n%b20> ")+'\n<block type="operator_countAppearTimes">\n <value name="TEXT1">\n <shadow type="text">\n <field name="TEXT">a</field>\n </shadow>\n </value>\n <value name="TEXT2">\n <shadow type="text">\n <field name="TEXT">abc abc abc</field>\n </shadow>\n </value>\n</block>\n<block type="operator_readLineInMultilineText">\n <value name="LINE">\n <shadow type="math_number">\n <field name="NUM">1</field>\n </shadow>\n </value>\n <value name="TEXT">\n <shadow type="text">\n <field name="TEXT">Text with multiple lines here</field>\n </shadow>\n </value>\n</block>\n<block type="operator_textIncludesLetterFrom">\n <value name="TEXT1">\n <shadow type="text">\n <field name="TEXT">abcdef</field>\n </shadow>\n </value>\n <value name="TEXT2">\n <shadow type="text">\n <field name="TEXT">fgh</field>\n </shadow>\n </value>\n</block>\n'.concat('<sep gap="36"/>','\n<block type="operator_character_to_code">\n <value name="ONE">\n <shadow type="text">\n <field name="TEXT">a</field>\n </shadow>\n </value>\n</block>\n<block type="operator_code_to_character">\n <value name="ONE">\n <shadow type="text">\n <field name="TEXT">97</field>\n </shadow>\n </value>\n</block>\n').concat('<sep gap="36"/>',"\n")+"\n%b18> "+"\n".concat('<sep gap="36"/>',"\n%b6> ")+"\n%b7> "+"\n".concat('<sep gap="36"/>',"\n%b12> ")+"\n%b15> \n%b13> \n%b14> \n%b19> \n%b11> "+"\n".concat('<sep gap="36"/>',"\n%b16> ")+"\n%b17> "+"\n".concat('<sep gap="36"/>',"\n")+'\n<block type="operator_join">\n <value name="STRING1">\n <shadow type="text">\n <field name="TEXT">apple </field>\n </shadow>\n </value>\n <value name="STRING2">\n <shadow type="text">\n <field name="TEXT">banana</field>\n </shadow>\n </value>\n</block>\n<block type="operator_join3">\n <value name="STRING1">\n <shadow type="text">\n <field name="TEXT">apple </field>\n </shadow>\n </value>\n <value name="STRING2">\n <shadow type="text">\n <field name="TEXT">banana </field>\n </shadow>\n </value>\n <value name="STRING3">\n <shadow type="text">\n <field name="TEXT">pear</field>\n </shadow>\n </value>\n</block>\n\n%b0>\n%b1>\n%b2>\n%b3>\n%b4>\n%b5>\n'+"\n".concat('<sep gap="36"/>',"\n%b8> ")+"\n%b9> \n%b10> "+"\n".concat('<sep gap="36"/>',"\n"),Q=a(vm);function E(A){const e=["apple","banana","pear","orange","mango","strawberry","pineapple","grape","kiwi"],t=[],n={};for(let i=0;i<A;i++)t.push("[STRING"+(i+1)+"]"),n["STRING"+(i+1)]={type:o.STRING,defaultValue:e[i]+(i===A-1?"":" ")};const i="join"+A,r="join "+t.join(" ");return{opcode:i,text:Q({id:i,default:r}),blockType:s.REPORTER,disableMonitor:!0,arguments:n}}function l(A,e,t){switch(t){case 1:const t={};for(let n=0;n<A;n++){let i="".concat(e," ");for(let e=0;e<A;e++)i+="[STRING".concat(e+1,"]");t["join".concat(n+1)]=i}return t}}A.exports=class{constructor(A){this.runtime=A,Q.setup({"zh-cn":i({},l(9,"连接字符串",1)),"zh-tw":i({},l(9,"字串組合",1))})}orderCategoryBlocks(A){let e=g,t=0;for(const n of A)e=e.replace("%b"+t+">",n),t++;return[e]}getInfo(){return{id:"pmOperatorsExpansion",name:"Operators Expansion",color1:"#59C059",color2:"#46B946",color3:"#389438",isDynamic:!0,orderBlocks:this.orderCategoryBlocks,blocks:[E(4),E(5),E(6),E(7),E(8),E(9),{opcode:"partOfRatio",text:"[PART] part of ratio [RATIO]",blockType:s.REPORTER,disableMonitor:!0,arguments:{PART:{type:o.STRING,menu:"part"},RATIO:{type:o.STRING,defaultValue:"1:2"}}},{opcode:"simplifyRatio",text:"simplify ratio [RATIO]",blockType:s.REPORTER,disableMonitor:!0,arguments:{RATIO:{type:o.STRING,defaultValue:"1:2"}}},{opcode:"pi",text:"π",blockType:s.REPORTER,disableMonitor:!0},{opcode:"euler",text:"e",blockType:s.REPORTER,disableMonitor:!0},{opcode:"infinity",text:"∞",blockType:s.REPORTER,disableMonitor:!0},{opcode:"truncateNumber",text:"truncate number [NUM]",blockType:s.REPORTER,disableMonitor:!0,arguments:{NUM:{type:o.NUMBER,defaultValue:"2.5"}}},{opcode:"isNumberMultipleOf",text:"is [NUM] multiple of [MULTIPLE]?",blockType:s.BOOLEAN,disableMonitor:!0,arguments:{NUM:{type:o.NUMBER,defaultValue:"20"},MULTIPLE:{type:o.NUMBER,defaultValue:"10"}}},{opcode:"isInteger",text:"is [NUM] an integer?",blockType:s.BOOLEAN,disableMonitor:!0,arguments:{NUM:{type:o.NUMBER,defaultValue:"0.5"}}},{opcode:"isPrime",text:"is [NUM] a prime number?",blockType:s.BOOLEAN,disableMonitor:!0,arguments:{NUM:{type:o.NUMBER,defaultValue:"13"}}},{opcode:"isEven",text:"is [NUM] even?",blockType:s.BOOLEAN,disableMonitor:!0,arguments:{NUM:{type:o.NUMBER,defaultValue:"4"}}},{opcode:"reverseChars",text:"reverse [TEXT]",blockType:s.REPORTER,disableMonitor:!0,arguments:{TEXT:{type:o.STRING,defaultValue:"Hello!"}}},{opcode:"shuffleChars",text:"shuffle [TEXT]",blockType:s.REPORTER,disableMonitor:!0,arguments:{TEXT:{type:o.STRING,defaultValue:"Hello!"}}},{opcode:"exactlyEqual",text:"[ONE] exactly equals [TWO]?",blockType:s.BOOLEAN,disableMonitor:!0,arguments:{ONE:{type:o.STRING,defaultValue:"a"},TWO:{type:o.STRING,defaultValue:"b"}}},{opcode:"betweenNumbers",text:"is [NUM] between [MIN] and [MAX]?",blockType:s.BOOLEAN,disableMonitor:!0,arguments:{NUM:{type:o.NUMBER,defaultValue:5},MIN:{type:o.NUMBER,defaultValue:0},MAX:{type:o.NUMBER,defaultValue:10}}},{opcode:"evaluateMath",text:"answer to [EQUATION]",blockType:s.REPORTER,disableMonitor:!0,arguments:{EQUATION:{type:o.STRING,defaultValue:"5 * 2"}}}],menus:{part:{acceptReporters:!0,items:["first","last"].map(A=>({text:A,value:A}))}}}}reduce(A,e){let t=function A(e,t){return t?A(t,e%t):e};return t=t(A,e),[A/t,e/t]}checkPrime(A){if((A=Math.trunc(A))<=1)return!1;for(var e=2;e<A;e++)if(A%e==0)return!1;return!0}pi(){return Math.PI}euler(){return Math.E}infinity(){return 1/0}partOfRatio(A){const e=c.toString(A.RATIO),t=c.toString(A.PART).toLowerCase();if(!e.includes(":"))return"";const n=e.split(":")[Number("last"===t)];return c.toNumber(n)}simplifyRatio(A){const e=c.toString(A.RATIO);if(!e.includes(":"))return"";const t=e.split(":"),n=c.toNumber(t[0]),i=c.toNumber(t[1]),r=this.reduce(n,i);return c.toNumber(r[0])+":"+c.toNumber(r[1])}truncateNumber(A){const e=c.toNumber(A.NUM);return Math.trunc(e)}isNumberMultipleOf(A){return c.toNumber(A.NUM)%c.toNumber(A.MULTIPLE)==0}isInteger(A){const e=c.toNumber(A.NUM);return Math.trunc(e)===e}isPrime(A){const e=c.toNumber(A.NUM);return this.checkPrime(e)}isEven(A){return c.toNumber(A.NUM)%2==0}evaluateMath(A){const e=c.toString(A.EQUATION);if(0===e.trim().length)return 0;let t=0;try{t=B.evaluate(e)}catch(A){t=0}if("object"==typeof t&&"entries"in t){const A=t.entries;if(0===A.length)return 0;const e=A.length-1;return Number(A[e])}return Number(t)}exactlyEqual(A){return A.ONE===A.TWO}betweenNumbers(A){const e=c.toNumber(A.NUM);let t=c.toNumber(A.MIN),n=c.toNumber(A.MAX);if(n<t){let A=n;n=t,t=A}return e<=n&&e>=t}reverseChars(A){return c.toString(A.TEXT).split("").reverse().join("")}shuffleChars(A){return c.toString(A.TEXT).split("").sort(()=>Math.random()-.5).join("")}join4(A){return c.toString(A.STRING1)+c.toString(A.STRING2)+c.toString(A.STRING3)+c.toString(A.STRING4)}join5(A){return c.toString(A.STRING1)+c.toString(A.STRING2)+c.toString(A.STRING3)+c.toString(A.STRING4)+c.toString(A.STRING5)}join6(A){return c.toString(A.STRING1)+c.toString(A.STRING2)+c.toString(A.STRING3)+c.toString(A.STRING4)+c.toString(A.STRING5)+c.toString(A.STRING6)}join7(A){return c.toString(A.STRING1)+c.toString(A.STRING2)+c.toString(A.STRING3)+c.toString(A.STRING4)+c.toString(A.STRING5)+c.toString(A.STRING6)+c.toString(A.STRING7)}join8(A){return c.toString(A.STRING1)+c.toString(A.STRING2)+c.toString(A.STRING3)+c.toString(A.STRING4)+c.toString(A.STRING5)+c.toString(A.STRING6)+c.toString(A.STRING7)+c.toString(A.STRING8)}join9(A){return c.toString(A.STRING1)+c.toString(A.STRING2)+c.toString(A.STRING3)+c.toString(A.STRING4)+c.toString(A.STRING5)+c.toString(A.STRING6)+c.toString(A.STRING7)+c.toString(A.STRING8)+c.toString(A.STRING9)}}},function(A,e,t){(function(A){var n;!function(A,i,r){function s(A){var e,t=this,n=(e=4022871197,function(A){A=String(A);for(var t=0;t<A.length;t++){var n=.02519603282416938*(e+=A.charCodeAt(t));n-=e=n>>>0,e=(n*=e)>>>0,e+=4294967296*(n-=e)}return 2.3283064365386963e-10*(e>>>0)});t.next=function(){var A=2091639*t.s0+2.3283064365386963e-10*t.c;return t.s0=t.s1,t.s1=t.s2,t.s2=A-(t.c=0|A)},t.c=1,t.s0=n(" "),t.s1=n(" "),t.s2=n(" "),t.s0-=n(A),t.s0<0&&(t.s0+=1),t.s1-=n(A),t.s1<0&&(t.s1+=1),t.s2-=n(A),t.s2<0&&(t.s2+=1),n=null}function o(A,e){return e.c=A.c,e.s0=A.s0,e.s1=A.s1,e.s2=A.s2,e}function a(A,e){var t=new s(A),n=e&&e.state,i=t.next;return i.int32=function(){return 4294967296*t.next()|0},i.double=function(){return i()+11102230246251565e-32*(2097152*i()|0)},i.quick=i,n&&("object"==typeof n&&o(n,t),i.state=function(){return o(t,{})}),i}i&&i.exports?i.exports=a:t(18)&&t(32)?void 0===(n=function(){return a}.call(e,t,e,i))||(i.exports=n):this.alea=a}(0,A,t(18))}).call(this,t(28)(A))},function(A,e,t){(function(A){var n;!function(A,i,r){function s(A){var e=this,t="";e.x=0,e.y=0,e.z=0,e.w=0,e.next=function(){var A=e.x^e.x<<11;return e.x=e.y,e.y=e.z,e.z=e.w,e.w^=e.w>>>19^A^A>>>8},A===(0|A)?e.x=A:t+=A;for(var n=0;n<t.length+64;n++)e.x^=0|t.charCodeAt(n),e.next()}function o(A,e){return e.x=A.x,e.y=A.y,e.z=A.z,e.w=A.w,e}function a(A,e){var t=new s(A),n=e&&e.state,i=function(){return(t.next()>>>0)/4294967296};return i.double=function(){do{var A=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===A);return A},i.int32=t.next,i.quick=i,n&&("object"==typeof n&&o(n,t),i.state=function(){return o(t,{})}),i}i&&i.exports?i.exports=a:t(18)&&t(32)?void 0===(n=function(){return a}.call(e,t,e,i))||(i.exports=n):this.xor128=a}(0,A,t(18))}).call(this,t(28)(A))},function(A,e,t){(function(A){var n;!function(A,i,r){function s(A){var e=this,t="";e.next=function(){var A=e.x^e.x>>>2;return e.x=e.y,e.y=e.z,e.z=e.w,e.w=e.v,(e.d=e.d+362437|0)+(e.v=e.v^e.v<<4^A^A<<1)|0},e.x=0,e.y=0,e.z=0,e.w=0,e.v=0,A===(0|A)?e.x=A:t+=A;for(var n=0;n<t.length+64;n++)e.x^=0|t.charCodeAt(n),n==t.length&&(e.d=e.x<<10^e.x>>>4),e.next()}function o(A,e){return e.x=A.x,e.y=A.y,e.z=A.z,e.w=A.w,e.v=A.v,e.d=A.d,e}function a(A,e){var t=new s(A),n=e&&e.state,i=function(){return(t.next()>>>0)/4294967296};return i.double=function(){do{var A=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===A);return A},i.int32=t.next,i.quick=i,n&&("object"==typeof n&&o(n,t),i.state=function(){return o(t,{})}),i}i&&i.exports?i.exports=a:t(18)&&t(32)?void 0===(n=function(){return a}.call(e,t,e,i))||(i.exports=n):this.xorwow=a}(0,A,t(18))}).call(this,t(28)(A))},function(A,e,t){(function(A){var n;!function(A,i,r){function s(A){var e=this;e.next=function(){var A,t,n=e.x,i=e.i;return A=n[i],t=(A^=A>>>7)^A<<24,t^=(A=n[i+1&7])^A>>>10,t^=(A=n[i+3&7])^A>>>3,t^=(A=n[i+4&7])^A<<7,A=n[i+7&7],t^=(A^=A<<13)^A<<9,n[i]=t,e.i=i+1&7,t},function(A,e){var t,n=[];if(e===(0|e))n[0]=e;else for(e=""+e,t=0;t<e.length;++t)n[7&t]=n[7&t]<<15^e.charCodeAt(t)+n[t+1&7]<<13;for(;n.length<8;)n.push(0);for(t=0;t<8&&0===n[t];++t);for(8==t?n[7]=-1:n[t],A.x=n,A.i=0,t=256;t>0;--t)A.next()}(e,A)}function o(A,e){return e.x=A.x.slice(),e.i=A.i,e}function a(A,e){null==A&&(A=+new Date);var t=new s(A),n=e&&e.state,i=function(){return(t.next()>>>0)/4294967296};return i.double=function(){do{var A=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===A);return A},i.int32=t.next,i.quick=i,n&&(n.x&&o(n,t),i.state=function(){return o(t,{})}),i}i&&i.exports?i.exports=a:t(18)&&t(32)?void 0===(n=function(){return a}.call(e,t,e,i))||(i.exports=n):this.xorshift7=a}(0,A,t(18))}).call(this,t(28)(A))},function(A,e,t){(function(A){var n;!function(A,i,r){function s(A){var e=this;e.next=function(){var A,t,n=e.w,i=e.X,r=e.i;return e.w=n=n+1640531527|0,t=i[r+34&127],A=i[r=r+1&127],t^=t<<13,A^=A<<17,t^=t>>>15,A^=A>>>12,t=i[r]=t^A,e.i=r,t+(n^n>>>16)|0},function(A,e){var t,n,i,r,s,o=[],a=128;for(e===(0|e)?(n=e,e=null):(e+="\0",n=0,a=Math.max(a,e.length)),i=0,r=-32;r<a;++r)e&&(n^=e.charCodeAt((r+32)%e.length)),0===r&&(s=n),n^=n<<10,n^=n>>>15,n^=n<<4,n^=n>>>13,r>=0&&(s=s+1640531527|0,i=0==(t=o[127&r]^=n+s)?i+1:0);for(i>=128&&(o[127&(e&&e.length||0)]=-1),i=127,r=512;r>0;--r)n=o[i+34&127],t=o[i=i+1&127],n^=n<<13,t^=t<<17,n^=n>>>15,t^=t>>>12,o[i]=n^t;A.w=s,A.X=o,A.i=i}(e,A)}function o(A,e){return e.i=A.i,e.w=A.w,e.X=A.X.slice(),e}function a(A,e){null==A&&(A=+new Date);var t=new s(A),n=e&&e.state,i=function(){return(t.next()>>>0)/4294967296};return i.double=function(){do{var A=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===A);return A},i.int32=t.next,i.quick=i,n&&(n.X&&o(n,t),i.state=function(){return o(t,{})}),i}i&&i.exports?i.exports=a:t(18)&&t(32)?void 0===(n=function(){return a}.call(e,t,e,i))||(i.exports=n):this.xor4096=a}(0,A,t(18))}).call(this,t(28)(A))},function(A,e,t){(function(A){var n;!function(A,i,r){function s(A){var e=this,t="";e.next=function(){var A=e.b,t=e.c,n=e.d,i=e.a;return A=A<<25^A>>>7^t,t=t-n|0,n=n<<24^n>>>8^i,i=i-A|0,e.b=A=A<<20^A>>>12^t,e.c=t=t-n|0,e.d=n<<16^t>>>16^i,e.a=i-A|0},e.a=0,e.b=0,e.c=-1640531527,e.d=1367130551,A===Math.floor(A)?(e.a=A/4294967296|0,e.b=0|A):t+=A;for(var n=0;n<t.length+20;n++)e.b^=0|t.charCodeAt(n),e.next()}function o(A,e){return e.a=A.a,e.b=A.b,e.c=A.c,e.d=A.d,e}function a(A,e){var t=new s(A),n=e&&e.state,i=function(){return(t.next()>>>0)/4294967296};return i.double=function(){do{var A=((t.next()>>>11)+(t.next()>>>0)/4294967296)/(1<<21)}while(0===A);return A},i.int32=t.next,i.quick=i,n&&("object"==typeof n&&o(n,t),i.state=function(){return o(t,{})}),i}i&&i.exports?i.exports=a:t(18)&&t(32)?void 0===(n=function(){return a}.call(e,t,e,i))||(i.exports=n):this.tychei=a}(0,A,t(18))}).call(this,t(28)(A))},function(A,e,t){var n;!function(i,r,s){var o,a=s.pow(256,6),B=s.pow(2,52),c=2*B;function g(A,e,t){var n=[],g=l(function A(e,t){var n,i=[],r=typeof e;if(t&&"object"==r)for(n in e)try{i.push(A(e[n],t-1))}catch(A){}return i.length?i:"string"==r?e:e+"\0"}((e=1==e?{entropy:!0}:e||{}).entropy?[A,u(r)]:null==A?function(){try{var A;return o&&(A=o.randomBytes)?A=A(256):(A=new Uint8Array(256),(i.crypto||i.msCrypto).getRandomValues(A)),u(A)}catch(A){var e=i.navigator,t=e&&e.plugins;return[+new Date,i,t,i.screen,u(r)]}}():A,3),n),w=new Q(n),h=function(){for(var A=w.g(6),e=a,t=0;A<B;)A=256*(A+t),e*=256,t=w.g(1);for(;A>=c;)A/=2,e/=2,t>>>=1;return(A+t)/e};return h.int32=function(){return 0|w.g(4)},h.quick=function(){return w.g(4)/4294967296},h.double=h,l(u(w.S),r),(e.pass||t||function(A,e,t,n){return n&&(n.S&&E(n,w),A.state=function(){return E(w,{})}),t?(s.random=A,e):A})(h,g,"global"in e?e.global:this==s,e.state)}function Q(A){var e,t=A.length,n=this,i=0,r=n.i=n.j=0,s=n.S=[];for(t||(A=[t++]);i<256;)s[i]=i++;for(i=0;i<256;i++)s[i]=s[r=255&r+A[i%t]+(e=s[i])],s[r]=e;(n.g=function(A){for(var e,t=0,i=n.i,r=n.j,s=n.S;A--;)e=s[i=255&i+1],t=256*t+s[255&(s[i]=s[r=255&r+e])+(s[r]=e)];return n.i=i,n.j=r,t})(256)}function E(A,e){return e.i=A.i,e.j=A.j,e.S=A.S.slice(),e}function l(A,e){for(var t,n=A+"",i=0;i<n.length;)e[255&i]=255&(t^=19*e[255&i])+n.charCodeAt(i++);return u(e)}function u(A){return String.fromCharCode.apply(0,A)}if(l(s.random(),r),A.exports){A.exports=g;try{o=t(308)}catch(A){}}else void 0===(n=function(){return g}.call(e,t,e,A))||(A.exports=n)}("undefined"!=typeof self?self:this,[],Math)},function(A,e){},function(A,e,t){var n=t(118).default,i=t(310);A.exports=function(A){var e=i(A,"string");return"symbol"===n(e)?e:String(e)},A.exports.__esModule=!0,A.exports.default=A.exports},function(A,e,t){var n=t(118).default;A.exports=function(A,e){if("object"!==n(A)||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var i=t.call(A,e||"default");if("object"!==n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)},A.exports.__esModule=!0,A.exports.default=A.exports},function(A,e,t){const n=t(1),i=t(3),r=t(2),s=t(13),o='\n<block type="sensing_thing_has_number">\n <value name="TEXT1">\n <shadow type="text">\n <field name="TEXT">abc 10 def</field>\n </shadow>\n </value>\n</block>\n<block type="sensing_isUpperCase">\n <value name="text">\n <shadow type="text">\n <field name="TEXT">A</field>\n </shadow>\n </value>\n</block>\n<block type="sensing_regextest">\n <value name="text">\n <shadow type="text">\n <field name="TEXT">foo bar</field>\n </shadow>\n </value>\n <value name="reg">\n <shadow type="text">\n <field name="TEXT">foo</field>\n </shadow>\n </value>\n <value name="regrule">\n <shadow type="text">\n <field name="TEXT">g</field>\n </shadow>\n </value>\n</block>\n'.concat('<sep gap="36"/>','\n%b16>\n%b17>\n%b20>\n<block type="pmSensingExpansion_amountOfTimeKeyHasBeenHeld">\n <value name="KEY">\n <shadow type="sensing_keyoptions" />\n </value>\n</block>\n%b18>\n%b19>\n').concat('<sep gap="36"/>','\n%b14>\n<block type="sensing_getspritewithattrib">\n <value name="var">\n <shadow type="text">\n <field name="TEXT">my variable</field>\n </shadow>\n </value>\n <value name="val">\n <shadow type="text">\n <field name="TEXT">0</field>\n </shadow>\n </value>\n</block>\n%b10>\n').concat('<sep gap="36"/>',"\n%b6>\n%b9>\n%b11>\n%b15>\n%b12>\n%b13>\n").concat('<sep gap="36"/>','\n<block type="sensing_getoperatingsystem"/>\n<block type="sensing_getbrowser"/>\n<block type="sensing_geturl"/>\n').concat('<sep gap="36"/>',"\n%b7>\n%b5>\n%b8>\n%b4>\n").concat('<sep gap="36"/>',"\n%b3>\n").concat('<sep gap="36"/>',"\n%b0>\n%b1>\n").concat('<sep gap="36"/>',"\n%b2>\n");A.exports=class{constructor(A){this.runtime=A,this.canVibrate=!0,this.lastUpdate=Date.now(),this.canGetLoudness=!1,this.loudnessArray=[0],this.scrollDistance=0}orderCategoryBlocks(A){let e=o,t=0;for(const n of A)e=e.replace("%b"+t+">",n),t++;return[e]}getInfo(){return{id:"pmSensingExpansion",name:"Sensing Expansion",color1:"#5CB1D6",color2:"#47A8D1",color3:"#2E8EB8",isDynamic:!0,orderBlocks:this.orderCategoryBlocks,blocks:[{opcode:"batteryPercentage",text:"battery percentage",blockType:n.REPORTER,disableMonitor:!0},{opcode:"batteryCharging",text:"is device charging?",blockType:n.BOOLEAN,disableMonitor:!0},{opcode:"vibrateDevice",text:"vibrate",blockType:n.COMMAND},{opcode:"browserLanguage",text:"preferred language",blockType:n.REPORTER,disableMonitor:!0},{opcode:"urlOptions",text:"url [OPTIONS]",blockType:n.REPORTER,disableMonitor:!0,arguments:{OPTIONS:{type:i.STRING,menu:"urlSections"}}},{opcode:"urlOptionsOf",text:"[OPTIONS] of url [URL]",blockType:n.REPORTER,disableMonitor:!0,arguments:{OPTIONS:{type:i.STRING,menu:"urlSections"},URL:{type:i.STRING,defaultValue:"https://home.penguinmod.com:3000/some/random/page?param=10#20"}}},{opcode:"setUsername",text:"set username to [NAME]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"Penguin"}}},{opcode:"setUrlEnd",text:"set url path to [PATH]",blockType:n.COMMAND,arguments:{PATH:{type:i.STRING,defaultValue:"?parameter=10#you-can-change-these-without-refreshing"}}},{opcode:"queryParamOfUrl",text:"query parameter [PARAM] of url [URL]",blockType:n.REPORTER,disableMonitor:!0,arguments:{PARAM:{type:i.STRING,defaultValue:"param"},URL:{type:i.STRING,defaultValue:"https://penguinmod.com/?param=10"}}},{opcode:"packaged",text:"project packaged?",blockType:n.BOOLEAN,disableMonitor:!0},{opcode:"spriteName",text:"sprite name",blockType:n.REPORTER,disableMonitor:!0},{opcode:"framed",text:"project in iframe?",blockType:n.BOOLEAN,disableMonitor:!0},{opcode:"currentMillisecond",text:"current millisecond",blockType:n.REPORTER,disableMonitor:!1},{opcode:"deltaTime",text:"delta time",blockType:n.REPORTER,disableMonitor:!1},{opcode:"pickColor",text:"grab color at x: [X] y: [Y]",blockType:n.REPORTER,arguments:{X:{type:i.NUMBER,defaultValue:0},Y:{type:i.NUMBER,defaultValue:0}}},{opcode:"maxSpriteLayers",text:"max sprite layers",blockType:n.REPORTER},{opcode:"averageLoudness",text:"average loudness",blockType:n.REPORTER},{opcode:"scrollingDistance",text:"scrolling distance",blockType:n.REPORTER},{opcode:"setScrollingDistance",text:"set scrolling distance to [AMOUNT]",blockType:n.COMMAND,arguments:{AMOUNT:{type:i.NUMBER,defaultValue:0}}},{opcode:"changeScrollingDistanceBy",text:"change scrolling distance by [AMOUNT]",blockType:n.COMMAND,arguments:{AMOUNT:{type:i.NUMBER,defaultValue:100}}},{opcode:"currentKeyPressed",text:"current key pressed",blockType:n.REPORTER},{opcode:"amountOfTimeKeyHasBeenHeld",text:"seconds since holding [KEY]",blockType:n.REPORTER,arguments:{KEY:{type:i.STRING,defaultValue:"a"}}}],menus:{urlSections:{acceptReporters:!0,items:["protocol","host","hostname","port","pathname","search","hash","origin","subdomain","path"].map(A=>({text:A,value:A}))}}}}pickColor(A){const e=this.runtime.renderer,t=r.toNumber(A.X),n=r.toNumber(A.Y),i=Math.round((this.runtime.stageWidth/2+t)/this.runtime.stageWidth*e._gl.canvas.clientWidth),o=Math.round((this.runtime.stageHeight/2-n)/this.runtime.stageHeight*e._gl.canvas.clientHeight),a=e.extractColor(i,o,20);return s.rgbToHex(a.color)}urlOptionFromObject(A,e){if(!["protocol","host","hostname","port","pathname","search","hash","origin","subdomain","path"].includes(A))return"";switch(A){case"subdomain":{const A=e.origin;if(A.split(".").length<=2)return"";const t=A.split(".")[0].split("//")[1];return t?t.replace(/\./gim,""):""}case"path":{const A=e.origin;return A.endsWith("/")?e.href.replace(A,""):e.href.replace(A+"/","")}}return r.toString(e[A])}validateUrl(A){let e=!0;try{new URL(A)}catch(A){e=!1}return e}batteryPercentage(){return"getBattery"in navigator?new Promise(A=>{navigator.getBattery().then(e=>{A(100*e.level)}).catch(()=>100)}):100}batteryCharging(){return!("getBattery"in navigator)||new Promise(A=>{navigator.getBattery().then(e=>{A(e.charging)}).catch(()=>!0)})}maxSpriteLayers(){return this.runtime.renderer._drawList.length-1}averageLoudness(){this.canGetLoudness||(console.log("created average loudness loop"),setInterval(()=>{if(!this.canGetLoudness)return;const A=this.runtime.audioEngine.getLoudness();"number"==typeof A&&(this.loudnessArray.length>20&&this.loudnessArray.shift(),A<0?this.loudnessArray.push(0):this.loudnessArray.push(A))},50)),this.canGetLoudness=!0;let A=0,e=this.loudnessArray.length;for(const e of this.loudnessArray)A+=e;return A/e}scrollingDistance(){return this.scrollDistance}setScrollingDistance(A){const e=r.toNumber(A.AMOUNT);this.scrollDistance=e}changeScrollingDistanceBy(A){const e=r.toNumber(A.AMOUNT);this.scrollDistance+=e}currentKeyPressed(A,e){const t=e.ioQuery("keyboard","getAllKeysPressed"),n=t[t.length-1];return n?r.toString(n).toLowerCase():""}amountOfTimeKeyHasBeenHeld(A,e){const t=r.toString(A.KEY),n=e.ioQuery("keyboard","getKeyTimestamp",[t]);if(0===n)return 0;return(Date.now()-n)/1e3}vibrateDevice(){this.canVibrate&&"vibrate"in navigator&&(this.canVibrate=!1,navigator.vibrate(250),setTimeout(()=>{this.canVibrate=!0},1e3))}browserLanguage(){if(!("language"in navigator))return"Unknown";switch(r.toString(navigator.language).split("-")[0].toLowerCase()){case"en":return"English";case"es":return"Spanish";case"fr":return"French";case"it":return"Italian";case"pt":return"Portuguese";case"de":return"German";case"ru":return"Russian";case"ar":return"Arabic";case"zh":return"Chinese (Mandarin)";case"he":return"Hebrew";case"ja":return"Japanese";case"ko":return"Korean";case"sw":return"Swahili";case"sq":return"Albanian";case"hy":return"Armenian";case"eu":return"Basque";case"nl":return"Dutch";case"ka":return"Georgian";case"gd":return"Scottish Gaelic";case"ga":return"Modern Irish";case"fa":return"Persian (Farsi)";case"bo":return"Tibetan";case"cy":return"Welsh";case"el":return"Modern Greek";case"grc":return"Ancient Greek";case"la":return"Latin";case"ang":return"Anglo-Saxon";case"enm":return"Middle English";default:return"Unknown"}}urlOptions(A){if(!("location"in window))return"";const e=r.toString(A.OPTIONS).toLowerCase();return this.urlOptionFromObject(e,location)}urlOptionsOf(A){if(!("location"in window))return"";const e=r.toString(A.OPTIONS).toLowerCase(),t=r.toString(A.URL);return this.validateUrl(t)?this.urlOptionFromObject(e,new URL(t)):""}setUsername(A){const e=r.toString(A.NAME);vm.postIOData("userData",{username:e})}setUrlEnd(A){if(!("history"in window))return;const e=r.toString(A.PATH),t=location.origin.endsWith("/")?location.origin+e:location.origin+"/"+e;history.replaceState("","",t)}queryParamOfUrl(A){if(!("URLSearchParams"in window))return"";const e=r.toString(A.URL);if(!this.validateUrl(e))return"";const t=new URL(e);return new URLSearchParams(t.search).get(r.toString(A.PARAM))}packaged(){return this.runtime.isPackaged}spriteName(A,e){return e.target.getName()}framed(){return!!window.parent&&window.parent!==window}currentMillisecond(){return Date.now()%1e3}deltaTime(){let A=Date.now(),e=A-this.lastUpdate;return this.lastUpdate=A,e}}},function(A,e,t){const n=t(1),i=t(3),r=t(2),s='\n\x3c!-- this one dont work right --\x3e\n\x3c!--<block type="control_new_script"></block>--\x3e\n<block type="control_repeatForSeconds">\n <value name="TIMES">\n <shadow type="math_whole_number">\n <field name="NUM">1</field>\n </shadow>\n </value>\n</block>\n%block0>\n%block1>\n<block type="control_inline_stack_output">\n <value name="SUBSTACK">\n <block type="procedures_return">\n <value name="return">\n \t<shadow type="text">\n \t\t<field name="TEXT">1</field>\n \t</shadow>\n </value>\n </block>\n </value>\n</block>\n<block type="control_waittick"/>\n<block type="control_exitLoop"/>\n'.concat('<sep gap="36"/>','\n<block type="control_get_counter"/>\n<block type="control_incr_counter"/>\n<block type="control_decr_counter"/>\n<block type="control_set_counter">\n <value name="VALUE">\n <shadow type="math_whole_number">\n <field name="NUM">10</field>\n </shadow>\n </value>\n</block>\n<block type="control_clear_counter"/>\n');A.exports=class{constructor(A){this.runtime=A,this.runtime.registerCompiledExtensionBlocks("pmControlsExpansion",this.getCompileInfo())}orderCategoryBlocks(A){let e=s,t=0;for(const n of A)e=e.replace("%block"+t+">",n),t++;return[e]}getInfo(){return{id:"pmControlsExpansion",name:"Controls Expansion",color1:"#FFAB19",color2:"#EC9C13",color3:"#CF8B17",isDynamic:!0,orderBlocks:this.orderCategoryBlocks,blocks:[{opcode:"ifElseIf",text:["if [CONDITION1] then","else if [CONDITION2] then"],branchCount:2,blockType:n.CONDITIONAL,arguments:{CONDITION1:{type:i.BOOLEAN},CONDITION2:{type:i.BOOLEAN}}},{opcode:"ifElseIfElse",text:["if [CONDITION1] then","else if [CONDITION2] then","else"],branchCount:3,blockType:n.CONDITIONAL,arguments:{CONDITION1:{type:i.BOOLEAN},CONDITION2:{type:i.BOOLEAN}}}]}}getCompileInfo(){return{ir:{ifElseIf:(A,e)=>({kind:"stack",condition1:A.descendInputOfBlock(e,"CONDITION1"),condition2:A.descendInputOfBlock(e,"CONDITION2"),whenTrue1:A.descendSubstack(e,"SUBSTACK"),whenTrue2:A.descendSubstack(e,"SUBSTACK2")}),ifElseIfElse:(A,e)=>({kind:"stack",condition1:A.descendInputOfBlock(e,"CONDITION1"),condition2:A.descendInputOfBlock(e,"CONDITION2"),whenTrue1:A.descendSubstack(e,"SUBSTACK"),whenTrue2:A.descendSubstack(e,"SUBSTACK2"),whenTrue3:A.descendSubstack(e,"SUBSTACK3")})},js:{ifElseIf:(A,e,t)=>{e.source+="if (".concat(e.descendInput(A.condition1).asBoolean(),") {\n"),e.descendStack(A.whenTrue1,new t.Frame(!1)),e.source+="} else if (".concat(e.descendInput(A.condition2).asBoolean(),") {\n"),e.descendStack(A.whenTrue2,new t.Frame(!1)),e.source+="}\n"},ifElseIfElse:(A,e,t)=>{e.source+="if (".concat(e.descendInput(A.condition1).asBoolean(),") {\n"),e.descendStack(A.whenTrue1,new t.Frame(!1)),e.source+="} else if (".concat(e.descendInput(A.condition2).asBoolean(),") {\n"),e.descendStack(A.whenTrue2,new t.Frame(!1)),e.source+="} else {\n",e.descendStack(A.whenTrue3,new t.Frame(!1)),e.source+="}\n"}}}}ifElseIf(A,e){const t=r.toBoolean(A.CONDITION1),n=r.toBoolean(A.CONDITION2);t?e.startBranch(1,!1):n&&e.startBranch(2,!1)}ifElseIfElse(A,e){const t=r.toBoolean(A.CONDITION1),n=r.toBoolean(A.CONDITION2);t?e.startBranch(1,!1):n?e.startBranch(2,!1):e.startBranch(3,!1)}}},function(A,e,t){const n=t(1),i=t(3),r=t(2),s='\n\x3c!-- %b4 > nah --\x3e\n<block type="event_whenbroadcastreceived"></block>\n<block type="pmEventsExpansion_sendWithData">\n <value name="BROADCAST">\n <shadow type="event_broadcast_menu"></shadow>\n </value>\n <value name="DATA">\n <shadow type="text">\n <field name="TEXT">abc</field>\n </shadow>\n </value>\n</block>\n%b5>\n'.concat('<sep gap="36"/>','\n\x3c!-- %b6 > --\x3e\n<block type="pmEventsExpansion_broadcastToSprite">\n <value name="BROADCAST">\n <shadow type="event_broadcast_menu"></shadow>\n </value>\n</block>\n<block type="pmEventsExpansion_broadcastFunction">\n <value name="BROADCAST">\n <shadow type="event_broadcast_menu"></shadow>\n </value>\n</block>\n%b8>\n').concat('<sep gap="36"/>',"\n%b2>\n%b0>\n%b1>\n").concat('<sep gap="36"/>','\n<block type="pmEventsExpansion_broadcastThreadCount">\n <value name="BROADCAST">\n <shadow type="event_broadcast_menu"></shadow>\n </value>\n</block>\n');A.exports=class{constructor(A){this.runtime=A,this._otherFrame=!1,this.runtime.on("RUNTIME_STEP_START",()=>{this._everyOtherFrame()})}_everyOtherFrame(){this._otherFrame?(this.runtime.startHats("pmEventsExpansion_everyOtherFrame"),this._otherFrame=!1):this._otherFrame=!0}orderCategoryBlocks(A){let e=s,t=0;for(const n of A)e=e.replace("%b"+t+">",n),t++;return[e]}getInfo(){return{id:"pmEventsExpansion",name:"Events Expansion",color1:"#FFBF00",color2:"#E6AC00",color3:"#CC9900",isDynamic:!0,orderBlocks:this.orderCategoryBlocks,blocks:[{opcode:"everyOtherFrame",text:"every other frame",blockType:n.EVENT,isEdgeActivated:!1},{opcode:"neverr",text:"never",blockType:n.EVENT,isEdgeActivated:!1},{opcode:"whenSpriteClicked",text:"when [SPRITE] clicked",blockType:n.EVENT,isEdgeActivated:!1,arguments:{SPRITE:{type:i.STRING,menu:"spriteName"}}},{opcode:"sendWithData",text:"broadcast [BROADCAST] with data [DATA]",blockType:n.COMMAND,arguments:{BROADCAST:{type:i.STRING,defaultValue:"your not supposed to see this?"},DATA:{type:i.STRING,defaultValue:"abc"}}},{opcode:"receivedData",text:"when I receive [BROADCAST] with data",blockType:n.EVENT,isEdgeActivated:!1,arguments:{BROADCAST:{type:i.STRING,menu:"broadcastMenu"}}},{opcode:"recievedDataReporter",text:"recieved data",blockType:n.REPORTER,disableMonitor:!0},{opcode:"broadcastToSprite",text:"broadcast [BROADCAST] to [SPRITE]",blockType:n.COMMAND,arguments:{BROADCAST:{type:i.STRING,defaultValue:"your not supposed to see this?"},SPRITE:{type:i.STRING,menu:"spriteName"}}},{opcode:"broadcastFunction",text:"broadcast [BROADCAST] and wait",blockType:n.REPORTER,disableMonitor:!0,arguments:{BROADCAST:{type:i.STRING,defaultValue:"your not supposed to see this?"}}},{opcode:"returnFromBroadcastFunc",text:"return [VALUE]",blockType:n.COMMAND,isTerminal:!0,disableMonitor:!0,arguments:{VALUE:{type:i.STRING,defaultValue:"1"}}},{opcode:"broadcastThreadCount",text:"broadcast [BROADCAST] and get # of blocks started",blockType:n.REPORTER,disableMonitor:!0}],menus:{spriteName:"_spriteName",broadcastMenu:"_broadcastMenu"}}}_spriteId(){const A=[];for(const e of this.runtime.targets)e.isOriginal&&(e.isStage?A.push({text:"stage",value:e.id}):A.push({text:e.sprite.name,value:e.id}));return A.length<=0?[{text:"",value:""}]:A}_spriteName(){const A=[];for(const e of this.runtime.targets)e.isOriginal&&(e.isStage?A.push({text:"stage",value:"_stage_"}):A.push({text:e.sprite.name,value:e.sprite.name}));return A.length<=0?[{text:"",value:""}]:A}_broadcastMenu(){const A=[];for(const e of this.runtime.targets)e.isOriginal&&(e.isStage?A.push({text:"stage",value:e.id}):A.push({text:e.sprite.name,value:e.id}));return A.length<=0?[{text:"",value:""}]:A}sendWithData(A,e){const t=r.toString(A.BROADCAST),n=r.toString(A.DATA),i=e.startHats("event_whenbroadcastreceived",{BROADCAST_OPTION:t});for(const A of i)A.__evex_recievedDataa=n}broadcastToSprite(A,e){const t=r.toString(A.BROADCAST),n=r.toString(A.SPRITE),i="_stage_"===n?this.runtime.getTargetForStage():this.runtime.getSpriteTargetByName(n);e.startHats("event_whenbroadcastreceived",{BROADCAST_OPTION:t},i)}broadcastThreadCount(A,e){const t=r.toString(A.BROADCAST);return e.startHats("event_whenbroadcastreceived",{BROADCAST_OPTION:t}).length}recievedDataReporter(A,e){return e.thread.__evex_recievedDataa}returnFromBroadcastFunc(A,e){e.thread.__evex_returnDataa=A.VALUE}broadcastFunction(){}}},function(A,e){A.exports=class{constructor(A){this.runtime=A}orderCategoryBlocks(){return['\n<block type="control_inline_stack_output">\n <value name="SUBSTACK">\n <block type="procedures_return">\n <value name="return">\n \t<shadow type="text">\n \t\t<field name="TEXT">1</field>\n \t</shadow>\n </value>\n </block>\n </value>\n</block>\n']}getInfo(){return{id:"pmInlineBlocks",name:"Inline Blocks",color1:"#FFAB19",color2:"#EC9C13",color3:"#CF8B17",isDynamic:!0,orderBlocks:this.orderCategoryBlocks,blocks:[]}}}},function(A,e,t){const n=t(1),i=t(3),{validateArray:r}=t(17),s=new(t(31));A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"jgFiles",name:"Files (legacy)",color1:"#ffbb00",color2:"#ffaa00",blocks:[{opcode:"isFileReaderSupported",text:"can files be used?",disableMonitor:!1,blockType:n.BOOLEAN},{opcode:"askUserForFileOfType",text:"ask user for a file of type [FILE_TYPE]",disableMonitor:!0,blockType:n.REPORTER,arguments:{FILE_TYPE:{type:i.STRING,defaultValue:"txt savefile"}}},{opcode:"askUserForFileOfTypeAsArrayBuffer",text:"ask user for an array buffer file of type [FILE_TYPE]",disableMonitor:!0,blockType:n.REPORTER,arguments:{FILE_TYPE:{type:i.STRING,defaultValue:"txt savefile"}}},{opcode:"askUserForFileOfTypeAsDataUri",text:"ask user for a data uri file of type [FILE_TYPE]",disableMonitor:!0,blockType:n.REPORTER,arguments:{FILE_TYPE:{type:i.STRING,defaultValue:"png"}}},{opcode:"downloadFile",text:"download content [FILE_CONTENT] as file name [FILE_NAME]",blockType:n.COMMAND,arguments:{FILE_CONTENT:{type:i.STRING,defaultValue:"Hello!"},FILE_NAME:{type:i.STRING,defaultValue:"text.txt"}}},{opcode:"downloadFileDataUri",text:"download data uri [FILE_CONTENT] as file name [FILE_NAME]",blockType:n.COMMAND,arguments:{FILE_CONTENT:{type:i.STRING,defaultValue:"data:image/png;base64,"},FILE_NAME:{type:i.STRING,defaultValue:"content.png"}}},{opcode:"downloadFileBuffer",text:"download array buffer [FILE_CONTENT] as file name [FILE_NAME]",blockType:n.COMMAND,arguments:{FILE_CONTENT:{type:i.STRING,defaultValue:"[]"},FILE_NAME:{type:i.STRING,defaultValue:"data.bin"}}}]}}isFileReaderSupported(){return null!==window.FileReader&&null!==window.document}dataURLtoBlob(A){for(var e=A.split(","),t=e[0].match(/:(.*?);/)[1],n=atob(e[1]),i=n.length,r=new Uint8Array(i);i--;)r[i]=n.charCodeAt(i);return new Blob([r],{type:t})}__askUserForFile(A){try{return new Promise(e=>{const t=new FileReader;t.onload=A=>{e(A.target.result)};const n=document.createElement("input");n.type="file",null!==A&&(n.accept=A),n.style.display="none",document.body.append(n),n.onchange=()=>{const A=n.files[0];A?(t.readAsText(A),n.remove()):e("")},n.onblur=()=>{n.onchange()},n.focus(),n.click()})}catch(A){return}}__askUserForFilearraybuffer(A){try{return new Promise(e=>{const t=new FileReader;t.onload=A=>{e(JSON.stringify(s.bufferToArray(A.target.result)))};const n=document.createElement("input");n.type="file",null!==A&&(n.accept=A),n.style.display="none",document.body.append(n),n.onchange=()=>{const A=n.files[0];A?(t.readAsArrayBuffer(A),n.remove()):e("")},n.onblur=()=>{n.onchange()},n.focus(),n.click()})}catch(A){return}}__askUserForFiledatauri(A){try{return new Promise(e=>{const t=new FileReader;t.onload=A=>{e(A.target.result)};const n=document.createElement("input");n.type="file",null!==A&&(n.accept=A),n.style.display="none",document.body.append(n),n.onchange=()=>{const A=n.files[0];A?(t.readAsDataURL(A),n.remove()):e("")},n.onblur=()=>{n.onchange()},n.focus(),n.click()})}catch(A){return}}askUserForFileOfType(A){const e=[],t=A.FILE_TYPE.toLowerCase().replace(/.,/gim,"");return"any"===t?this.__askUserForFile(null):(t.split(" ").forEach(A=>{e.push(".".concat(A))}),this.__askUserForFile(e.join(","),!1))}askUserForFileOfTypeAsArrayBuffer(A){const e=[],t=A.FILE_TYPE.toLowerCase().replace(/.,/gim,"");return"any"===t?this.__askUserForFilearraybuffer(null):(t.split(" ").forEach(A=>{e.push(".".concat(A))}),this.__askUserForFilearraybuffer(e.join(",")))}askUserForFileOfTypeAsDataUri(A){const e=[],t=A.FILE_TYPE.toLowerCase().replace(/.,/gim,"");return"any"===t?this.__askUserForFiledatauri(null):(t.split(" ").forEach(A=>{e.push(".".concat(A))}),this.__askUserForFiledatauri(e.join(",")))}downloadFile(A,e,t,n,i){let o="",a="text.txt";o=String(A.FILE_CONTENT)||o,a=String(A.FILE_NAME)||a;const B=r(A.FILE_CONTENT);let c;B.isValid&&n&&(o=s.arrayToBuffer(B.array)),c=i?this.dataURLtoBlob(o):new Blob([o]);const g=document.createElement("a");g.style.display="none",document.body.append(g);const Q=window.URL.createObjectURL(c);g.href=Q,g.download=a,g.click(),window.URL.revokeObjectURL(Q),g.remove()}downloadFileDataUri(A){return this.downloadFile(A,null,null,!1,!0)}downloadFileBuffer(A){return this.downloadFile(A,null,null,!0,!1)}}},function(A,e,t){const n=t(7),i=t(1),r=t(3),s=new(t(31));A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"jgWebsiteRequests",name:"Website Requests",color1:"#004299",color2:"#003478",blocks:[{opcode:"encodeTextForURL",text:n({id:"jgWebsiteRequests.blocks.encodeTextForURL",default:"encode [TEXT] for URL",description:"Encodes text to be usable in a URL."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{TEXT:{type:r.STRING,defaultValue:n({id:"jgWebsiteRequests.text_encode_for_url",default:"Text here",description:"The text to encode."})}}},{opcode:"decodeUrlForText",text:n({id:"jgWebsiteRequests.blocks.decodeUrlForText",default:"decode [TEXT] for text",description:"Decodes text used in query parameters and other areas."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{TEXT:{type:r.STRING,defaultValue:n({id:"jgWebsiteRequests.text_decode_for_url",default:"Text%20here",description:"The text to decode."})}}},{opcode:"getWebsiteContent",text:n({id:"jgWebsiteRequests.blocks.getWebsiteContent",default:"get [WEBSITE]'s content",description:"Gets the contents of the specified website. Includes HTML if it's a normal website."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{WEBSITE:{type:r.STRING,defaultValue:n({id:"jgWebsiteRequests.website_fetch_content",default:"https://www.google.com",description:"The website to get the content of."})}}},{opcode:"getWebsiteBinaryData",text:n({id:"jgWebsiteRequests.blocks.getWebsiteBinaryData",default:"get binary data from [WEBSITE]",description:"Gets the data of the specified website."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{WEBSITE:{type:r.STRING,defaultValue:n({id:"jgWebsiteRequests.website_fetch_content",default:"https://www.google.com",description:"The website to get the content of."})}}},{opcode:"postWithContentToWebsite",text:n({id:"jgWebsiteRequests.blocks.postWithContentToWebsite",default:"post [CONTENT] as [KEY] to [WEBSITE]",description:"Posts to a website using a JSON body with the key text set to the content."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{CONTENT:{type:r.STRING,defaultValue:n({id:"jgWebsiteRequests.website_post_content",default:"value",description:"The content of the key to post."})},KEY:{type:r.STRING,defaultValue:n({id:"jgWebsiteRequests.website_post_key",default:"key",description:"The key in the request body to post."})},WEBSITE:{type:r.STRING,defaultValue:n({id:"jgWebsiteRequests.website_post_website",default:"https://httpbin.org/post",description:"The website to post the key and content to."})}}}]}}encodeTextForURL(A){return encodeURIComponent(String(A.TEXT))}decodeUrlForText(A){return decodeURI(String(A.TEXT))}getWebsiteContent(A){return new Promise(e=>{if(window&&!window.fetch)return e("");const t=A.WEBSITE.replace("rawRequest()","");fetch(t,{cache:"no-cache"}).then(A=>{A.text().then(A=>{e(String(A))}).catch(()=>{e("")})}).catch(()=>{e("")})})}getWebsiteBinaryData(A){return new Promise(e=>{if(window&&!window.fetch)return e("[]");const t=A.WEBSITE.replace("rawRequest()","");fetch(t,{cache:"no-cache"}).then(A=>{A.arrayBuffer().then(A=>{e(String(JSON.stringify(s.bufferToArray(A))))}).catch(()=>{e("[]")})}).catch(()=>{e("[]")})})}postWithContentToWebsite(A){return new Promise(e=>{if(window&&!window.fetch)return e("");const t={},n=String(A.CONTENT);let i=!0;try{JSON.parse(n)}catch(A){i=!1}t[String(A.KEY)]="true"===n||"false"!==n&&(Number(n)?Number(n):"null"===n?null:i?JSON.parse(n):n),fetch(A.WEBSITE,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-cache",body:JSON.stringify(t)}).then(A=>{A.text().then(A=>{e(String(A))}).catch(()=>{e("")})}).catch(()=>{e("")})})}}},function(A,e,t){const n=t(7),i=t(1),r=t(3),s=t(2),{validateJSON:o,validateArray:a,stringToEqivalint:B,valueToString:c,validateRegex:g}=t(17);A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"jgJSON",name:"JSON",color1:"#0FBD8C",color2:"#0EAF82",blocks:[{opcode:"json_validate",blockType:i.BOOLEAN,arguments:{json:{type:r.STRING,defaultValue:"{}"}},text:"is json [json] valid?"},"---",{opcode:"getValueFromJSON",text:n({id:"jgJSON.blocks.getValueFromJSON",default:"get [VALUE] from [JSON]",description:"Gets a value from a JSON object."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{VALUE:{type:r.STRING,defaultValue:n({id:"jgJSON.getValueFromJSON_value",default:"key",description:"The name of the item you want to get from the JSON."})},JSON:{type:r.STRING,defaultValue:'{"key": "value"}'}}},{opcode:"getTreeValueFromJSON",text:"get path [VALUE] from [JSON]",disableMonitor:!0,blockType:i.REPORTER,arguments:{VALUE:{type:r.STRING,defaultValue:"first/second"},JSON:{type:r.STRING,defaultValue:'{"first": {"second": 2, "third": 3}}'}}},{opcode:"setValueToKeyInJSON",text:n({id:"jgJSON.blocks.setValueToKeyInJSON",default:"set [KEY] to [VALUE] in [JSON]",description:"Returns the JSON with the key set to the value."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{VALUE:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_value",default:"value",description:"The value of the key you are setting."})},KEY:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_key",default:"key",description:"The key you are setting in the JSON."})},JSON:{type:r.STRING,defaultValue:"{}"}}},{opcode:"json_delete",blockType:i.REPORTER,arguments:{json:{type:r.STRING,defaultValue:"{}"},key:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_key",default:"key",description:"The key you are setting in the JSON."})}},text:"in json [json] delete key [key]"},{opcode:"json_values",blockType:i.REPORTER,arguments:{json:{type:r.STRING,defaultValue:"{}"}},text:"get all values from json [json]"},{opcode:"json_keys",blockType:i.REPORTER,arguments:{json:{type:r.STRING,defaultValue:"{}"}},text:"get all keys from json [json]"},{opcode:"json_has",blockType:i.BOOLEAN,arguments:{json:{type:r.STRING,defaultValue:"{}"},key:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_key",default:"key",description:"The key you are setting in the JSON."})}},text:"json [json] has key [key] ?"},{blockType:i.LABEL,text:"Arrays"},{opcode:"json_array_validate",blockType:i.BOOLEAN,arguments:{array:{type:r.STRING,defaultValue:"[]"}},text:"is array [array] valid?"},{opcode:"json_array_split",blockType:i.REPORTER,arguments:{text:{type:r.STRING,defaultValue:"A, B, C"},delimeter:{type:r.STRING,defaultValue:", "}},text:"create an array from text [text] with delimeter [delimeter]"},{opcode:"json_array_join",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},delimeter:{type:r.STRING,defaultValue:", "}},text:"create text from array [array] with delimeter [delimeter]"},"---",{opcode:"json_array_push",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},item:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_value",default:"value",description:"The value of the key you are setting."})}},text:"in array [array] add [item]"},"---",{opcode:"json_array_concatLayer1",blockType:i.REPORTER,arguments:{array1:{type:r.STRING,defaultValue:'["A", "B", "C"]'},array2:{type:r.STRING,defaultValue:'["D", "E", "F"]'}},text:"add items from array [array2] to array [array1]"},{opcode:"json_array_concatLayer2",blockType:i.REPORTER,arguments:{array1:{type:r.STRING,defaultValue:'["A", "B", "C"]'},array2:{type:r.STRING,defaultValue:'["D", "E", "F"]'},array3:{type:r.STRING,defaultValue:'["G", "H", "I"]'}},text:"add items from array [array2] and array [array3] to array [array1]"},"---",{opcode:"json_array_delete",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},index:{type:r.NUMBER,defaultValue:2}},text:"in array [array] delete [index]"},{opcode:"json_array_reverse",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'}},text:"reverse array [array]"},{opcode:"json_array_insert",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},index:{type:r.NUMBER,defaultValue:2},value:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_value",default:"value",description:"The value of the key you are setting."})}},text:"in array [array] insert [value] at [index]"},{opcode:"json_array_set",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},index:{type:r.NUMBER,defaultValue:2},value:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_value",default:"value",description:"The value of the key you are setting."})}},text:"in array [array] set [index] to [value]"},"---",{opcode:"json_array_get",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},index:{type:r.NUMBER,defaultValue:2}},text:"in array [array] get [index]"},{opcode:"json_array_indexofNostart",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},value:{type:r.STRING,defaultValue:"value"}},text:"in array [array] get index of [value]"},{opcode:"json_array_indexof",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},number:{type:r.NUMBER,defaultValue:2},value:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_value",default:"value",description:"The value of the key you are setting."})}},text:"in array [array] from [number] get index of [value]"},{opcode:"json_array_length",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'}},text:"length of array [array]"},{opcode:"json_array_contains",blockType:i.BOOLEAN,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},value:{type:r.STRING,defaultValue:n({id:"jgJSON.setValueToKeyInJSON_value",default:"value",description:"The value of the key you are setting."})}},text:"array [array] contains [value] ?"},"---",{opcode:"json_array_flat",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'[["A", "B"], ["C", "D"]]'},layer:{type:r.NUMBER,defaultValue:1}},text:"flatten nested array [array] by [layer] layers"},"---",{opcode:"json_array_getrange",blockType:i.REPORTER,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'},index1:{type:r.NUMBER,defaultValue:2},index2:{type:r.NUMBER,defaultValue:2}},text:"in array [array] get all items from [index1] to [index2]"},"---",{opcode:"json_array_isempty",blockType:i.BOOLEAN,arguments:{array:{type:r.STRING,defaultValue:'["A", "B", "C"]'}},text:"is array [array] empty?"},"---",{opcode:"json_array_listtoarray",blockType:i.REPORTER,arguments:{list:{type:r.STRING,defaultValue:"select a list",menu:"lists"}},hideFromPalette:!0,text:"get contents of list [list] as array"},{opcode:"json_array_tolist",blockType:i.COMMAND,arguments:{list:{type:r.STRING,defaultValue:"select a list",menu:"lists"},array:{type:r.STRING,defaultValue:'["A", "B", "C"]'}},hideFromPalette:!0,text:"set contents of list [list] to contents of array [array]"}],menus:{lists:"getAllLists"}}}getAllLists(){const A=[].concat(Object.values(vm.runtime.getTargetForStage().variables),Object.values(vm.editingTarget.variables)).filter(A=>"list"===A.type);return 0===A.length?[{text:"select a list",value:"select a list"}]:A.map(A=>({text:A.name,value:JSON.stringify({id:A.id,name:A.name})}))}getValueFromJSON(A){const e=A.VALUE,t=o(A.JSON).object;return c(t[e])}getTreeValueFromJSON(A){const e=s.toString(A.VALUE);let t;t=s.toString(A.JSON).startsWith("[")?a(A.JSON).array:o(A.JSON).object;const n=t;if(!e.includes("/"))return Array.isArray(n)?this.json_array_get({array:s.toString(A.JSON),index:s.toNumber(A.VALUE)}):this.getValueFromJSON(A);let i="",r=n;const B=e.split("/");for(const A of B)i="",Array.isArray(r)?(r=r[s.toNumber(A)],i=r):"object"==typeof r?(r=r[A],i=r):i=r;return void 0===i?"":c(i)}setValueToKeyInJSON(A){const e=o(A.JSON).object,t=A.KEY,n=A.VALUE;return e[t]=B(n),JSON.stringify(e)}json_has(A){const e=o(A.json).object,t=A.key;return e.hasOwnProperty(t)}json_delete(A){const e=o(A.json).object,t=A.key;return e.hasOwnProperty(t)?(delete e[t],JSON.stringify(e)):JSON.stringify(e)}json_values(A){const e=o(A.json).object;return JSON.stringify(Object.values(e))}json_keys(A){const e=o(A.json).object;return JSON.stringify(Object.keys(e))}json_array_length(A){return a(A.array).array.length}json_array_isempty(A){return!a(A.array).array.length}json_array_contains(A){const e=a(A.array).array,t=A.value;return e.includes(B(t))}json_array_reverse(A){const e=a(A.array).array;return JSON.stringify(e.reverse())}json_array_indexof(A){const e=a(A.array).array,t=A.number,n=A.value;return e.indexOf(B(n),t)}json_array_indexofNostart(A){const e=a(A.array).array,t=A.value;return e.indexOf(B(t))}json_array_set(A){const e=a(A.array).array,t=A.index,n=A.value;return e[t]=B(n),JSON.stringify(e)}json_array_insert(A){const e=a(A.array).array,t=A.index,n=A.value;return e.splice(t,0,B(n)),JSON.stringify(e)}json_array_get(A){const e=a(A.array).array,t=A.index;return c(e[t])}json_array_getrange(A){const e=a(A.array).array,t=A.index1,n=A.index2;return JSON.stringify(e.slice(t,n))}json_array_push(A){const e=a(A.array).array,t=A.item;return e.push(B(t)),JSON.stringify(e)}json_array_concatLayer1(A){const e=a(A.array1).array,t=a(A.array2).array,n=e.concat(t);return JSON.stringify(n)}json_array_concatLayer2(A){const e=a(A.array1).array,t=a(A.array2).array,n=a(A.array3).array,i=e.concat(t,n);return JSON.stringify(i)}json_array_flat(A){const e=a(A.array).array,t=s.toNumber(A.layer),n=e.flat(t);return JSON.stringify(n)}json_array_tolist(A,e){let t;try{t=JSON.parse(A.list)}catch(A){return}const n=a(A.array).array;e.target.lookupOrCreateList(t.id,t.name).value=n.map(A=>c(A))}json_array_listtoarray(A,e){let t;try{t=JSON.parse(A.list)}catch(A){return}const n=e.target.lookupOrCreateList(t.id,t.name).value;return JSON.stringify(n.map(A=>B(A)))}json_array_delete(A){const e=a(A.array).array,t=A.index;return e.splice(t,1),JSON.stringify(e)}json_array_split(A){return JSON.stringify(A.text.split(A.delimeter))}json_array_join(A){return a(A.array).array.join(A.delimeter)}json_validate(A){return o(A.json).isValid}json_array_validate(A){return a(A.array).isValid}}},function(A,e,t){const n=t(7),i=t(1),r=t(3),s=new(t(31)),o=t(2),a=t(13);let B=0;A.exports=class{constructor(A){this.runtime=A,this.pausedScripts=Object.create({});const e=[];B=this.runtime.frameLoop.framerate;const t=this.runtime._step;this.runtime._step=function(){for(var A=arguments.length,n=new Array(A),i=0;i<A;i++)n[i]=arguments[i];t.call(this,...n);const r=performance.now();for(;e.length>0&&e[0]<=r-1e3;)e.shift();e.push(r),B=e.length},this.runtime.on("PROJECT_STOP_ALL",()=>{this.pausedScripts=Object.create({})})}_typeIsBitmap(A){return"image/png"===A||"image/bmp"===A||"image/jpg"===A||"image/jpeg"===A||"image/jfif"===A||"image/webp"===A||"image/gif"===A}getInfo(){return{id:"jgRuntime",name:"Runtime",color1:"#777777",color2:"#6a6a6a",blocks:[{opcode:"addSpriteUrl",text:"add sprite from [URL]",blockType:i.COMMAND,arguments:{URL:{type:r.STRING,defaultValue:"https://api.allorigins.win/raw?url=https://github.com/PenguinMod/FreshPkg/raw/main/pkgs/anticors/anticors.sprite3"}}},{opcode:"addCostumeUrl",text:"add costume [name] from [URL]",blockType:i.COMMAND,arguments:{URL:{type:r.STRING,defaultValue:"https://api.allorigins.win/raw?url=https://studio.penguinmod.com/static/assets/9525874be2b1d66bd448bf53400011a9.svg"},name:{type:r.STRING,defaultValue:"blue flag"}}},{opcode:"addSoundUrl",text:"add sound [NAME] from [URL]",blockType:i.COMMAND,arguments:{URL:{type:r.STRING,defaultValue:"https://pm-bapi.vercel.app/buauauau.mp3"},NAME:{type:r.STRING,defaultValue:"Buauauau"}}},{opcode:"loadProjectDataUrl",text:"load project from [URL]",blockType:i.COMMAND,arguments:{URL:{type:r.STRING,defaultValue:""}}},{opcode:"getIndexOfCostume",text:"get costume index of [costume]",blockType:i.REPORTER,arguments:{costume:{type:r.STRING,defaultValue:"costume1"}}},{opcode:"getIndexOfSound",text:"get sound index of [NAME]",blockType:i.REPORTER,arguments:{NAME:{type:r.STRING,defaultValue:"Pop"}}},{opcode:"getProjectDataUrl",text:"get data url of project",blockType:i.REPORTER,disableMonitor:!0},"---",{opcode:"setStageSize",text:n({id:"jgRuntime.blocks.setStageSize",default:"set stage width: [WIDTH] height: [HEIGHT]",description:"Sets the width and height of the stage."}),blockType:i.COMMAND,arguments:{WIDTH:{type:r.NUMBER,defaultValue:480},HEIGHT:{type:r.NUMBER,defaultValue:360}}},{opcode:"getStageWidth",text:n({id:"jgRuntime.blocks.getStageWidth",default:"stage width",description:"Block that returns the width of the stage."}),disableMonitor:!1,blockType:i.REPORTER},{opcode:"getStageHeight",text:n({id:"jgRuntime.blocks.getStageHeight",default:"stage height",description:"Block that returns the height of the stage."}),disableMonitor:!1,blockType:i.REPORTER},"---",{opcode:"updateRuntimeConfig",text:n({id:"jgRuntime.blocks.updateRuntimeConfig",default:"set [OPTION] to [ENABLED]",description:"Block that enables or disables configuration on the runtime like high quality pen or turbo mode."}),disableMonitor:!1,blockType:i.COMMAND,arguments:{OPTION:{menu:"runtimeConfig"},ENABLED:{menu:"onoff"}}},{opcode:"changeRenderingCapping",text:n({id:"jgRuntime.blocks.changeRenderingCapping",default:"change render setting [OPTION] to [CAPPED]",description:"Block that updates configuration on the renderer like resolution for certain content."}),disableMonitor:!1,blockType:i.COMMAND,arguments:{OPTION:{menu:"renderConfigCappable"},CAPPED:{menu:"cappableSettings"}}},{opcode:"setRenderingNumber",text:n({id:"jgRuntime.blocks.setRenderingNumber",default:"set render setting [OPTION] to [NUM]",description:"Block that sets configuration on the renderer like resolution for certain content."}),disableMonitor:!1,blockType:i.COMMAND,arguments:{OPTION:{menu:"renderConfigNumber"},NUM:{type:r.NUMBER,defaultValue:0}}},{opcode:"runtimeConfigEnabled",text:n({id:"jgRuntime.blocks.runtimeConfigEnabled",default:"[OPTION] enabled?",description:"Block that returns whether a runtime option like Turbo Mode is enabled on the project or not."}),disableMonitor:!1,blockType:i.BOOLEAN,arguments:{OPTION:{menu:"runtimeConfig"}}},{opcode:"turboModeEnabled",text:n({id:"jgRuntime.blocks.turboModeEnabled",default:"turbo mode enabled?",description:"Block that returns whether Turbo Mode is enabled on the project or not."}),disableMonitor:!1,hideFromPalette:!0,blockType:i.BOOLEAN},"---",{opcode:"setMaxClones",text:n({id:"jgRuntime.blocks.setMaxClones",default:"set max clones to [MAX]",description:"Block that enables or disables configuration on the runtime like high quality pen or turbo mode."}),disableMonitor:!1,blockType:i.COMMAND,arguments:{MAX:{menu:"cloneLimit",defaultValue:300}}},{opcode:"maxAmountOfClones",text:n({id:"jgRuntime.blocks.maxAmountOfClones",default:"max clone count",description:"Block that returns the maximum amount of clones that may exist."}),disableMonitor:!1,blockType:i.REPORTER},{opcode:"amountOfClones",text:n({id:"jgRuntime.blocks.amountOfClones",default:"clone count",description:"Block that returns the amount of clones that currently exist."}),disableMonitor:!1,blockType:i.REPORTER},{opcode:"getIsClone",text:n({id:"jgRuntime.blocks.getIsClone",default:"is clone?",description:"Block that returns whether the sprite is a clone or not."}),disableMonitor:!0,blockType:i.BOOLEAN},"---",{opcode:"setMaxFrameRate",text:n({id:"jgRuntime.blocks.setMaxFrameRate",default:"set max framerate to: [FRAMERATE]",description:"Sets the max allowed framerate."}),blockType:i.COMMAND,arguments:{FRAMERATE:{type:r.NUMBER,defaultValue:30}}},{opcode:"getMaxFrameRate",text:n({id:"jgRuntime.blocks.getMaxFrameRate",default:"max framerate",description:"Block that returns the amount of FPS allowed."}),disableMonitor:!1,blockType:i.REPORTER},{opcode:"getFrameRate",text:n({id:"jgRuntime.blocks.getFrameRate",default:"framerate",description:"Block that returns the amount of FPS."}),disableMonitor:!1,blockType:i.REPORTER},"---",{opcode:"setBackgroundColor",text:n({id:"jgRuntime.blocks.setBackgroundColor",default:"set stage background color to [COLOR]",description:"Sets the background color of the stage."}),blockType:i.COMMAND,arguments:{COLOR:{type:r.COLOR}}},{opcode:"getBackgroundColor",text:n({id:"jgRuntime.blocks.getBackgroundColor",default:"stage background color",description:"Block that returns the stage background color in HEX."}),disableMonitor:!1,blockType:i.REPORTER},"---",{opcode:"pauseScript",blockType:i.COMMAND,text:"pause this script using name: [NAME]",arguments:{NAME:{type:r.STRING,defaultValue:"my script"}}},{opcode:"unpauseScript",blockType:i.COMMAND,text:"unpause script named: [NAME]",arguments:{NAME:{type:r.STRING,defaultValue:"my script"}}},{opcode:"isScriptPaused",blockType:i.BOOLEAN,text:"is script named [NAME] paused?",arguments:{NAME:{type:r.STRING,defaultValue:"my script"}}},"---",{opcode:"variables_createVariable",text:"create variable named [NAME] for [SCOPE]",blockType:i.COMMAND,arguments:{NAME:{type:r.STRING,defaultValue:"my variable"},SCOPE:{type:r.STRING,menu:"variableScope"}}},{opcode:"variables_createCloudVariable",text:"create cloud variable named [NAME]",blockType:i.COMMAND,arguments:{NAME:{type:r.STRING,defaultValue:"cloud variable"}}},{opcode:"variables_createList",text:"create list named [NAME] for [SCOPE]",blockType:i.COMMAND,arguments:{NAME:{type:r.STRING,defaultValue:"list"},SCOPE:{type:r.STRING,menu:"variableScope"}}},{opcode:"variables_getVariable",text:"get value of variable named [NAME] in [SCOPE]",disableMonitor:!0,blockType:i.REPORTER,arguments:{NAME:{type:r.STRING,defaultValue:"my variable"},SCOPE:{type:r.STRING,menu:"variableTypes"}}},{opcode:"variables_getList",text:"get array of list named [NAME] in [SCOPE]",disableMonitor:!0,blockType:i.REPORTER,arguments:{NAME:{type:r.STRING,defaultValue:"list"},SCOPE:{type:r.STRING,menu:"variableScope"}}},{opcode:"variables_existsVariable",text:"variable named [NAME] exists in [SCOPE]?",disableMonitor:!0,blockType:i.BOOLEAN,arguments:{NAME:{type:r.STRING,defaultValue:"my variable"},SCOPE:{type:r.STRING,menu:"variableTypes"}}},{opcode:"variables_existsList",text:"list named [NAME] exists in [SCOPE]?",disableMonitor:!0,blockType:i.BOOLEAN,arguments:{NAME:{type:r.STRING,defaultValue:"list"},SCOPE:{type:r.STRING,menu:"variableScope"}}},"---",{opcode:"getDataOption",text:n({id:"jgRuntime.blocks.getDataOption",default:"get binary data of [OPTION] named [NAME]",description:"Block that returns the binary data of a sprite, sound or costume."}),disableMonitor:!1,blockType:i.REPORTER,arguments:{OPTION:{type:r.STRING,menu:"objectType"},NAME:{type:r.STRING,defaultValue:"Sprite1"}}},{opcode:"getDataUriOption",text:n({id:"jgRuntime.blocks.getDataUriOption",default:"get data uri of [OPTION] named [NAME]",description:"Block that returns the data URI of a sprite, sound or costume."}),disableMonitor:!1,blockType:i.REPORTER,arguments:{OPTION:{type:r.STRING,menu:"objectType"},NAME:{type:r.STRING,defaultValue:"Sprite1"}}},"---",{opcode:"getAllSprites",text:"get all sprites",disableMonitor:!1,blockType:i.REPORTER},{opcode:"getAllCostumes",text:"get all costumes",disableMonitor:!1,blockType:i.REPORTER},{opcode:"getAllSounds",text:"get all sounds",disableMonitor:!1,blockType:i.REPORTER},{opcode:"getAllFonts",text:"get all fonts",disableMonitor:!1,blockType:i.REPORTER},"---",{opcode:"getAllVariables",text:"get all variables [ALLSCOPE]",disableMonitor:!1,blockType:i.REPORTER,arguments:{ALLSCOPE:{type:r.STRING,menu:"allVariableType"}}},{opcode:"getAllLists",text:"get all lists [ALLSCOPE]",disableMonitor:!1,blockType:i.REPORTER,arguments:{ALLSCOPE:{type:r.STRING,menu:"allVariableScope"}}},"---",{blockType:i.LABEL,text:"Potentially Dangerous"},{opcode:"deleteCostume",text:n({id:"jgRuntime.blocks.deleteCostume",default:"delete costume at index [COSTUME]",description:"Deletes a costume at the specified index."}),blockType:i.COMMAND,arguments:{COSTUME:{type:r.NUMBER,defaultValue:1}}},{opcode:"deleteSound",text:n({id:"jgRuntime.blocks.deleteSound",default:"delete sound at index [SOUND]",description:"Deletes a sound at the specified index."}),blockType:i.COMMAND,arguments:{SOUND:{type:r.NUMBER,defaultValue:1}}},"---",{opcode:"variables_deleteVariable",text:"delete variable named [NAME] in [SCOPE]",blockType:i.COMMAND,arguments:{NAME:{type:r.STRING,defaultValue:"my variable"},SCOPE:{type:r.STRING,menu:"variableTypes"}}},{opcode:"variables_deleteList",text:"delete list named [NAME] in [SCOPE]",blockType:i.COMMAND,arguments:{NAME:{type:r.STRING,defaultValue:"list"},SCOPE:{type:r.STRING,menu:"variableScope"}}},"---",{opcode:"deleteSprite",text:n({id:"jgRuntime.blocks.deleteSprite",default:"delete sprite named [NAME]",description:"Deletes a sprite with the specified name."}),blockType:i.COMMAND,arguments:{NAME:{type:r.STRING,defaultValue:"Sprite1"}}}],menus:{objectType:{acceptReporters:!0,items:["sprite","costume","sound"].map(A=>({text:A,value:A}))},variableScope:{acceptReporters:!0,items:["all sprites","this sprite"].map(A=>({text:A,value:A}))},allVariableScope:{acceptReporters:!0,items:["for all sprites","in every sprite","in this sprite"].map(A=>({text:A,value:A}))},allVariableType:{acceptReporters:!0,items:["for all sprites","in every sprite","in this sprite","in the cloud"].map(A=>({text:A,value:A}))},variableTypes:{acceptReporters:!0,items:["all sprites","this sprite","cloud"].map(A=>({text:A,value:A}))},cloneLimit:{items:["100","128","300","500","1000","1024","5000","10000","16384","Infinity"],isTypeable:!0,isNumeric:!0},runtimeConfig:{acceptReporters:!0,items:["turbo mode","high quality pen","offscreen sprites","remove miscellaneous limits","interpolation"]},renderConfigCappable:{acceptReporters:!0,items:["animated text resolution"]},renderConfigNumber:{acceptReporters:!0,items:["animated text resolution"]},onoff:{items:["on","off"]},cappableSettings:{items:["uncapped","capped","fixed"]}}}}_generateScratchId(){const A=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9","/","|",",",".","{","}","[","]","(",")","+","-","!","?","`"];return Array.from(Array(20).keys()).map(()=>A[Math.round(Math.random()*(A.length-1))]).join("")}addCostumeUrl(A,e){const t=e.target.id;return new Promise(e=>{fetch(A.URL,{method:"GET"}).then(n=>n.blob().then(n=>{if(!this._typeIsBitmap(n.type)&&"image/svg+xml"!==n.type)throw e(),new Error('Invalid mime type: "'.concat(n.type,'"'));const i=this._typeIsBitmap(n.type)?this.runtime.storage.AssetType.ImageBitmap:this.runtime.storage.AssetType.ImageVector,r="image/svg+xml"===n.type?"svg":n.type.split("/")[1];n.arrayBuffer().then(n=>{const s="image/svg+xml"===r?n:new Uint8Array(n),o=this.runtime.storage.createAsset(i,r,s,null,!0),a="".concat(o.assetId,".").concat(o.dataFormat),B={asset:o,md5ext:a,name:A.name},c=vm.addCostume(a,B,t);c.then?c.then(e):e()}).catch(A=>{console.error("Failed to Load Costume: ".concat(A)),console.warn(A),e()})}))})}deleteCostume(A,e){const t=Math.round(o.toNumber(A.COSTUME))-1;t<0||e.target.deleteCostume(t)}deleteSound(A,e){const t=Math.round(o.toNumber(A.SOUND))-1;t<0||e.target.deleteSound(t)}getIndexOfCostume(A,e){return e.target.getCostumeIndexByName(A.costume)+1}getIndexOfSound(A,e){let t=0;const n=e.target.getSounds();for(let e=0;e<n.length;e++){n[e].name===A.NAME&&(t=e+1)}return t}setStageSize(A){let e=o.toNumber(A.WIDTH),t=o.toNumber(A.HEIGHT);e<=0&&(e=1),t<=0&&(t=1),vm&&vm.setStageSize(e,t)}turboModeEnabled(){return this.runtime.turboMode}amountOfClones(){return this.runtime._cloneCounter}getStageWidth(){return this.runtime.stageWidth}getStageHeight(){return this.runtime.stageHeight}getMaxFrameRate(){return this.runtime.frameLoop.framerate}getIsClone(A,e){return!e.target.isOriginal}changeRenderingCapping(A){const e=o.toString(A.OPTION).toLowerCase(),t=o.toString(A.CAPPED).toLowerCase();switch(e){case"animated text resolution":this.runtime.renderer.customRenderConfig.textCostumeResolution.fixed=!1,this.runtime.renderer.customRenderConfig.textCostumeResolution.capped=!1,"fixed"===t?this.runtime.renderer.customRenderConfig.textCostumeResolution.fixed=!0:"capped"===t&&(this.runtime.renderer.customRenderConfig.textCostumeResolution.capped=!0)}this.runtime.renderer.dirty=!0,this.runtime.requestRedraw()}setRenderingNumber(A){const e=o.toString(A.OPTION).toLowerCase(),t=o.toNumber(A.NUM);switch(e){case"animated text resolution":this.runtime.renderer.customRenderConfig.textCostumeResolution.value=t;break;case"max texture scale for new svg images":this.runtime.renderer.setMaxTextureDimension(t)}this.runtime.renderer.dirty=!0,this.runtime.requestRedraw()}updateRuntimeConfig(A){const e="on"===o.toString(A.ENABLED).toLowerCase();switch(o.toString(A.OPTION).toLowerCase()){case"turbo mode":this.runtime.vm.setTurboMode(e);break;case"high quality pen":this.runtime.renderer.setUseHighQualityRender(e);break;case"offscreen sprites":this.runtime.vm.setRuntimeOptions({fencing:!e});break;case"remove miscellaneous limits":this.runtime.vm.setRuntimeOptions({miscLimits:!e});break;case"interpolation":this.runtime.vm.setInterpolation(e)}}runtimeConfigEnabled(A){switch(o.toString(A.OPTION).toLowerCase()){case"turbo mode":return this.runtime.turboMode;case"high quality pen":return this.runtime.renderer.useHighQualityRender;case"offscreen sprites":return!this.runtime.runtimeOptions.fencing;case"remove miscellaneous limits":return!this.runtime.runtimeOptions.miscLimits;case"interpolation":return this.runtime.interpolationEnabled;default:return!1}}setMaxClones(A){const e=Math.round(o.toNumber(A.MAX));this.runtime.vm.setRuntimeOptions({maxClones:e})}maxAmountOfClones(){return this.runtime.runtimeOptions.maxClones}setBackgroundColor(A){const e=o.toRgbColorObject(A.COLOR);this.runtime.renderer.setBackgroundColor(e.r/255,e.g/255,e.b/255)}getBackgroundColor(){const A=this.runtime.renderer._backgroundColor3b,e={r:Math.round(o.toNumber(A[0])),g:Math.round(o.toNumber(A[1])),b:Math.round(o.toNumber(A[2]))};return a.rgbToHex(e)}pauseScript(A,e){const t=o.toString(A.NAME),n=e.stackFrame.pausedScript;n?n in this.pausedScripts&&e.yield():(this.pausedScripts[t]=!0,e.stackFrame.pausedScript=t,e.yield())}unpauseScript(A){const e=o.toString(A.NAME);e in this.pausedScripts&&delete this.pausedScripts[e]}isScriptPaused(A){return o.toString(A.NAME)in this.pausedScripts}setMaxFrameRate(A){let e=o.toNumber(A.FRAMERATE);this.runtime.frameLoop.setFramerate(e)}deleteSprite(A){const e=this.runtime.getSpriteTargetByName(A.NAME);e&&vm.deleteSpriteInternal(e.id)}getDataOption(A,e){switch(A.OPTION){case"sprite":{const e=this.runtime.targets.filter(A=>A.isOriginal).filter(e=>e.sprite.name===A.NAME)[0];return e?new Promise(A=>{vm.exportSprite(e.id).then(e=>{e.arrayBuffer().then(e=>{const t=s.bufferToArray(e),n=JSON.stringify(t);A(n)}).catch(()=>A("[]"))}).catch(()=>A("[]"))}):"[]"}case"costume":{const t=e.target.getCostumes(),n=e.target.getCostumeIndexByName(A.NAME);if(!t[n])return"[]";const i=t[n].asset.data,r=s.bufferToArray(i.buffer);return JSON.stringify(r)}case"sound":{const t=e.target.getSounds(),n=this.getIndexOfSound(A,e)-1;if(!t[n])return"[]";const i=t[n].asset.data,r=s.bufferToArray(i.buffer);return JSON.stringify(r)}default:return"[]"}}getDataUriOption(A,e){switch(A.OPTION){case"sprite":{const e=this.runtime.targets.filter(A=>A.isOriginal).filter(e=>e.sprite.name===A.NAME)[0];return e?new Promise(A=>{vm.exportSprite(e.id).then(e=>{const t=new FileReader;t.onload=()=>A(t.result),t.onerror=()=>A(""),t.onabort=()=>A(""),t.readAsDataURL(e)}).catch(()=>A(""))}):""}case"costume":{const t=e.target.getCostumes(),n=e.target.getCostumeIndexByName(A.NAME);if(!t[n])return"";return t[n].asset.encodeDataURI()}case"sound":{const t=e.target.getSounds(),n=this.getIndexOfSound(A,e)-1;if(!t[n])return"";return t[n].asset.encodeDataURI()}default:return""}}getAllSprites(){return JSON.stringify(this.runtime.targets.filter(A=>A.isOriginal&&!A.isStage).map(A=>A.sprite.name))}getAllCostumes(A,e){const t=e.target.getCostumes();return JSON.stringify(t.map(A=>A.name))}getAllSounds(A,e){const t=e.target.getSounds();return JSON.stringify(t.map(A=>A.name))}getAllFonts(){const A=this.runtime.fontManager.getFonts();return JSON.stringify(A.map(A=>A.name))}loadProjectDataUrl(A){const e=o.toString(A.URL);("undefined"==typeof ScratchBlocks||confirm("Runtime Extension - Editor: Are you sure you want to load a new project?\nEverything in the current project will be permanently deleted."))&&(console.log("Loading project from custom source..."),fetch(e).then(A=>A.arrayBuffer()).then(A=>vm.loadProject(A)).then(()=>{console.log("Loaded project!"),vm.greenFlag()}).catch(A=>{console.log("Error loading custom project;",A)}))}getProjectDataUrl(){return new Promise(A=>{const e="data:application/octet-stream;base64,";vm.saveProjectSb3().then(t=>{const n=new FileReader;n.onload=()=>{A(n.result)},n.onerror=()=>{A(e)},n.readAsDataURL(t)}).catch(()=>{A(e)})})}getAllVariables(A,e){switch(A.ALLSCOPE){case"for all sprites":{const A=this.runtime.getTargetForStage();if(!A)return"[]";const e=A.variables;return e?JSON.stringify(Object.values(e).filter(A=>"list"!==A.type).map(A=>A.name)):"[]"}case"in every sprite":{const A=this.runtime.targets;if(!A)return"[]";const e=A.filter(A=>A.isOriginal).map(A=>A.variables);return e?JSON.stringify(e.map(A=>Object.values(A)).map(A=>A.filter(A=>"list"!==A.type).map(A=>A.name)).flat(1)):"[]"}case"in this sprite":{const A=e.target;if(!A)return"[]";const t=A.variables;return t?JSON.stringify(Object.values(t).filter(A=>"list"!==A.type).map(A=>A.name)):"[]"}case"in the cloud":{const A=this.runtime.getTargetForStage();if(!A)return"[]";const e=A.variables;return e?JSON.stringify(Object.values(e).filter(A=>"list"!==A.type).filter(A=>!0===A.isCloud).map(A=>A.name)):"[]"}default:return"[]"}}getAllLists(A,e){switch(A.ALLSCOPE){case"for all sprites":{const A=this.runtime.getTargetForStage();if(!A)return"[]";const e=A.variables;return e?JSON.stringify(Object.values(e).filter(A=>"list"===A.type).map(A=>A.name)):"[]"}case"in every sprite":{const A=this.runtime.targets;if(!A)return"[]";const e=A.filter(A=>A.isOriginal).map(A=>A.variables);return e?JSON.stringify(e.map(A=>Object.values(A)).map(A=>A.filter(A=>"list"===A.type).map(A=>A.name)).flat(1)):"[]"}case"in this sprite":{const A=e.target;if(!A)return"[]";const t=A.variables;return t?JSON.stringify(Object.values(t).filter(A=>"list"===A.type).map(A=>A.name)):"[]"}default:return"[]"}}getFrameRate(){return B}addSoundUrl(A,e){const t=e.target.id;return new Promise(e=>{fetch(A.URL).then(A=>A.arrayBuffer()).then(n=>{const i=this.runtime.storage,r=new i.Asset(i.AssetType.Sound,null,i.DataFormat.MP3,new Uint8Array(n),!0);e(vm.addSound({md5:r.assetId+"."+r.dataFormat,asset:r,name:A.NAME},t))}).catch(e)})}addSpriteUrl(A){return new Promise(e=>{fetch(A.URL).then(A=>{A.arrayBuffer().then(A=>{vm.addSprite(A).finally(e)}).catch(e)}).catch(e)})}variables_createVariable(A,e){const t=A.NAME;switch(A.SCOPE){case"all sprites":return this.runtime.createNewGlobalVariable(t);case"this sprite":{const A=this._generateScratchId();return e.target.createVariable(A,t,"")}}}variables_createCloudVariable(A){const e="☁ ".concat(A.NAME),t=this.runtime.getTargetForStage();if(!t)return;const n=this._generateScratchId();t.createVariable(n,e,"",!0)}variables_createList(A,e){const t=A.NAME;switch(A.SCOPE){case"all sprites":return this.runtime.createNewGlobalVariable(t,null,"list");case"this sprite":{const A=this._generateScratchId();return e.target.createVariable(A,t,"list")}}}variables_getVariable(A,e){const t=A.NAME;let n,i=!1;switch(A.SCOPE){case"all sprites":n=this.runtime.getTargetForStage();break;case"this sprite":n=e.target;break;case"cloud":n=this.runtime.getTargetForStage(),i=!0;break;default:return""}const r=Object.values(n.variables).filter(A=>"list"!==A.type).filter(A=>A.isCloud?String(A.name).replace("☁ ","")===t:!i&&A.name===t);if(!r)return"";const s=r[0];return s?s.value:""}variables_getList(A,e){const t=A.NAME;let n;switch(A.SCOPE){case"all sprites":n=this.runtime.getTargetForStage();break;case"this sprite":n=e.target;break;default:return"[]"}const i=Object.values(n.variables).filter(A=>"list"===A.type).filter(A=>A.name===t);if(!i)return"[]";const r=i[0];return r?JSON.stringify(r.value):"[]"}variables_deleteVariable(A,e){const t=A.NAME;let n,i=!1;switch(A.SCOPE){case"all sprites":n=this.runtime.getTargetForStage();break;case"this sprite":n=e.target;break;case"cloud":n=this.runtime.getTargetForStage(),i=!0;break;default:return}const r=Object.values(n.variables).filter(A=>"list"!==A.type).filter(A=>A.isCloud?String(A.name).replace("☁ ","")===t:!i&&A.name===t);if(!r)return;const s=r[0];return s?n.deleteVariable(s.id):void 0}variables_deleteList(A,e){const t=A.NAME;let n;switch(A.SCOPE){case"all sprites":n=this.runtime.getTargetForStage();break;case"this sprite":n=e.target;break;default:return}const i=Object.values(n.variables).filter(A=>"list"===A.type).filter(A=>A.name===t);if(!i)return;const r=i[0];return r?n.deleteVariable(r.id):void 0}variables_existsVariable(A,e){const t=A.NAME;let n,i=!1;switch(A.SCOPE){case"all sprites":n=this.runtime.getTargetForStage();break;case"this sprite":n=e.target;break;case"cloud":n=this.runtime.getTargetForStage(),i=!0;break;default:return!1}const r=Object.values(n.variables).filter(A=>"list"!==A.type).filter(A=>A.isCloud?String(A.name).replace("☁ ","")===t:!i&&A.name===t);if(!r)return!1;return!!r[0]}variables_existsList(A,e){const t=A.NAME;let n;switch(A.SCOPE){case"all sprites":n=this.runtime.getTargetForStage();break;case"this sprite":n=e.target;break;default:return!1}const i=Object.values(n.variables).filter(A=>"list"===A.type).filter(A=>A.name===t);if(!i)return!1;return!!i[0]}}},function(A,e,t){const n=t(7),i=t(1),r=t(3),s=t(56),o=t(46),a={deflate:t(320),inflate:t(321)},{validateArray:B}=t(17),c=new(t(31)),g=t(2),Q="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC8SURBVDhPpZPBDYMwDEWhJw4MQzdgG0bi0APDlHuPZRv6X2xUaqJWpE8y2Pk/JkRJFVnXtVOMiqdig5yxzm1HJDZu+gWexqcZDCjuqHtcRo/gfTdRkf2yy7kGMG4i/5wlGYSXObqL9MFsRQw06C0voq9ZhxcHasH7m4cV/AUNFkuLWGgwW17EzB5wPB9Wn+aanmoysVGRJAovI5PLydAqzh7l1mWDAUV2JQE8n5P3SORo3xTxOjMWrnNVvQChGZRpEqnWPQAAAABJRU5ErkJggg==";A.exports=class{constructor(A){this.runtime=A,this.audioPlayer=new Audio,this.isJSPermissionGranted=!1,this.isCameraScreenshotEnabled=!1,this.mouseScrollDelta={x:0,y:0,z:0},addEventListener("wheel",A=>{this.mouseScrollDelta.x=A.deltaX,this.mouseScrollDelta.y=A.deltaY,this.mouseScrollDelta.z=A.deltaZ}),setInterval(()=>{this.mouseScrollDelta={x:0,y:0,z:0}},65),this.encodeCharacterLength=6}deserialize(){this.isJSPermissionGranted=!1,this.isCameraScreenshotEnabled=!1}getInfo(){return{id:"jgPrism",name:"Prism",color1:"#BC7FFF",color2:"#AD66FF",blocks:[{opcode:"playAudioFromUrl",text:n({id:"jgPrism.blocks.playAudioFromUrl",default:"play audio from [URL]",description:"Plays sound from a URL."}),blockType:i.COMMAND,hideFromPalette:!0,arguments:{URL:{type:r.STRING,defaultValue:"https://pm-bapi.vercel.app/buauauau.mp3"}}},{opcode:"setAudioToLooping",text:n({id:"jgPrism.blocks.setAudioToLooping",default:"set audio to loop",description:"Sets the audio to be looping."}),hideFromPalette:!0,blockType:i.COMMAND},{opcode:"setAudioToNotLooping",text:n({id:"jgPrism.blocks.setAudioToNotLooping",default:"set audio to not loop",description:"Sets the audio to not be looping."}),hideFromPalette:!0,blockType:i.COMMAND},{opcode:"pauseAudio",text:n({id:"jgPrism.blocks.pauseAudio",default:"pause audio",description:"Pauses the audio player."}),hideFromPalette:!0,blockType:i.COMMAND},{opcode:"playAudio",text:n({id:"jgPrism.blocks.playAudio",default:"resume audio",description:"Resumes the audio player."}),hideFromPalette:!0,blockType:i.COMMAND},{opcode:"setAudioPlaybackSpeed",text:n({id:"jgPrism.blocks.setAudioPlaybackSpeed",default:"set audio speed to [SPEED]%",description:"Sets the speed of the audio player."}),hideFromPalette:!0,blockType:i.COMMAND,arguments:{SPEED:{type:r.NUMBER,defaultValue:100}}},{opcode:"getAudioPlaybackSpeed",text:n({id:"jgRuntime.blocks.getAudioPlaybackSpeed",default:"audio speed",description:"Block that returns the playback speed of the audio player."}),hideFromPalette:!0,disableMonitor:!1,blockType:i.REPORTER},{opcode:"setAudioPosition",text:n({id:"jgPrism.blocks.setAudioPosition",default:"set audio position to [POSITION] seconds",description:"Sets the position of the current audio in the audio player."}),blockType:i.COMMAND,hideFromPalette:!0,arguments:{POSITION:{type:r.NUMBER,defaultValue:5}}},{opcode:"getAudioPosition",text:"audio position",disableMonitor:!1,hideFromPalette:!0,blockType:i.REPORTER},{opcode:"setAudioVolume",text:n({id:"jgPrism.blocks.setAudioVolume",default:"set audio volume to [VOLUME]%",description:"Sets the volume of the current audio in the audio player."}),blockType:i.COMMAND,hideFromPalette:!0,arguments:{VOLUME:{type:r.NUMBER,defaultValue:100}}},{opcode:"getAudioVolume",text:n({id:"jgRuntime.blocks.getAudioVolume",default:"audio volume",description:"Block that returns the volume of the audio player."}),disableMonitor:!1,hideFromPalette:!0,blockType:i.REPORTER},{blockType:i.LABEL,text:"Data URIs"},{opcode:"screenshotStage",text:n({id:"jgRuntime.blocks.screenshotStage",default:"screenshot the stage",description:"Block that screenshots the stage and returns a Data URI of it."}),blockType:i.REPORTER,disableMonitor:!0},{opcode:"dataUriOfCostume",text:n({id:"jgRuntime.blocks.dataUriOfCostume",default:"data url of costume #[INDEX]",description:"Block that returns a Data URI of the costume at the index."}),blockType:i.REPORTER,disableMonitor:!0,arguments:{INDEX:{type:r.NUMBER,defaultValue:"1"}}},{opcode:"dataUriFromImageUrl",text:n({id:"jgRuntime.blocks.dataUriFromImageUrl",default:"data url of image at url: [URL]",description:"Block that returns a Data URI of the content fetched from the URL."}),blockType:i.REPORTER,disableMonitor:!0,arguments:{URL:{type:r.STRING,defaultValue:"url"}}},{opcode:"dataUriFromArrayBuffer",text:n({id:"jgRuntime.blocks.dataUriFromArrayBuffer",default:"convert array buffer [BUFFER] to data url",description:"Block that returns a Data URI from an array buffer."}),blockType:i.REPORTER,disableMonitor:!0,arguments:{BUFFER:{type:r.STRING,defaultValue:"[72,101,108,108,111]"}}},{opcode:"arrayBufferFromDataUri",text:n({id:"jgRuntime.blocks.arrayBufferFromDataUri",default:"convert data url [URL] to array buffer",description:"Block that returns an array buffer from a Data URL."}),blockType:i.REPORTER,disableMonitor:!0,arguments:{URL:{type:r.STRING,defaultValue:"data:text/plain;base64,SGVsbG8="}}},{opcode:"currentMouseScrollX",text:n({id:"jgRuntime.blocks.currentMouseScrollX",default:"mouse scroll x",description:"im too lazy to write these anymore tbh"}),disableMonitor:!1,hideFromPalette:!0,blockIconURI:Q,blockType:i.REPORTER},{opcode:"currentMouseScroll",text:n({id:"jgRuntime.blocks.currentMouseScroll",default:"mouse scroll y",description:"im too lazy to write these anymore tbh"}),disableMonitor:!1,hideFromPalette:!0,blockIconURI:Q,blockType:i.REPORTER},{opcode:"currentMouseScrollZ",text:n({id:"jgRuntime.blocks.currentMouseScrollZ",default:"mouse scroll z",description:"im too lazy to write these anymore tbh"}),disableMonitor:!1,hideFromPalette:!0,blockIconURI:Q,blockType:i.REPORTER},{blockType:i.LABEL,text:"Base64"},{opcode:"base64Encode",text:n({id:"jgRuntime.blocks.base64Encode",default:"base64 encode [TEXT]",description:"Block that encodes and returns the result of it."}),blockType:i.REPORTER,disableMonitor:!0,arguments:{TEXT:{type:r.STRING,defaultValue:"abc"}}},{opcode:"base64Decode",text:n({id:"jgRuntime.blocks.base64Decode",default:"base64 decode [TEXT]",description:"Block that decodes and returns the result of it."}),blockType:i.REPORTER,disableMonitor:!0,arguments:{TEXT:{type:r.STRING,defaultValue:"YWJj"}}},{opcode:"fromCharacterCodeString",text:n({id:"jgRuntime.blocks.fromCharacterCodeString",default:"character from character code [TEXT]",description:"Block that decodes and returns the result of it."}),blockType:i.REPORTER,disableMonitor:!0,hideFromPalette:!0,blockIconURI:Q,arguments:{TEXT:{type:r.NUMBER,defaultValue:97}}},{opcode:"toCharacterCodeString",text:n({id:"jgRuntime.blocks.toCharacterCodeString",default:"character code of [TEXT]",description:"Block that encodes and returns the result of it."}),blockType:i.REPORTER,disableMonitor:!0,hideFromPalette:!0,blockIconURI:Q,arguments:{TEXT:{type:r.STRING,defaultValue:"a"}}},"---","---",{blockType:i.LABEL,text:"JS Deflate by BeatGammit"},{opcode:"lib_deflate_deflateArray",text:n({id:"jgRuntime.blocks.lib_deflate_deflateArray",default:"deflate [ARRAY]",description:"abc"}),blockType:i.REPORTER,disableMonitor:!0,arguments:{ARRAY:{type:r.STRING,defaultValue:"[]"}}},{opcode:"lib_deflate_inflateArray",text:n({id:"jgRuntime.blocks.lib_deflate_inflateArray",default:"inflate [ARRAY]",description:"abc"}),blockType:i.REPORTER,disableMonitor:!0,arguments:{ARRAY:{type:r.STRING,defaultValue:"[]"}}},{blockType:i.LABEL,text:"Numerical Encoding by cs2627883"},{opcode:"NumericalEncode",blockType:i.REPORTER,text:"encode [DATA] to number",arguments:{DATA:{type:r.STRING,defaultValue:"Hello!"}}},{opcode:"NumericalDecode",blockType:i.REPORTER,text:"decode [ENCODED] from number",arguments:{ENCODED:{type:r.STRING,defaultValue:"000072000101000108000108000111000033"}}},{opcode:"evaluate",text:n({id:"jgRuntime.blocks.evaluate",default:"eval [JAVASCRIPT]",description:"Block that runs JavaScript code."}),blockType:i.COMMAND,blockIconURI:Q,hideFromPalette:!0,arguments:{JAVASCRIPT:{type:r.STRING,defaultValue:"console.log('Hello!')"}}},{opcode:"evaluate2",text:n({id:"jgRuntime.blocks.evaluate2",default:"eval [JAVASCRIPT]",description:"Block that runs JavaScript code and returns the result of it."}),blockType:i.REPORTER,disableMonitor:!0,blockIconURI:Q,hideFromPalette:!0,arguments:{JAVASCRIPT:{type:r.STRING,defaultValue:"Math.random()"}}},{opcode:"evaluate3",text:n({id:"jgRuntime.blocks.evaluate3",default:"eval [JAVASCRIPT]",description:"Block that runs JavaScript code."}),blockType:i.HAT,blockIconURI:Q,hideFromPalette:!0,arguments:{JAVASCRIPT:{type:r.STRING,defaultValue:"Math.round(Math.random()) == 1"}}}]}}playAudioFromUrl(A){this.audioPlayer||(this.audioPlayer=new Audio),this.audioPlayer.pause(),this.audioPlayer.src="".concat(A.URL),this.audioPlayer.currentTime=0,this.audioPlayer.play()}setAudioToLooping(){this.audioPlayer.loop=!0}setAudioToNotLooping(){this.audioPlayer.loop=!1}pauseAudio(){this.audioPlayer.pause()}playAudio(){this.audioPlayer.play()}setAudioPlaybackSpeed(A){this.audioPlayer.playbackRate=(isNaN(Number(A.SPEED))?100:Number(A.SPEED))/100}getAudioPlaybackSpeed(){return 100*this.audioPlayer.playbackRate}setAudioPosition(A){this.audioPlayer.currentTime=isNaN(Number(A.POSITION))?0:Number(A.POSITION)}getAudioPosition(){return this.audioPlayer.currentTime}setAudioVolume(A){this.audioPlayer.volume=(isNaN(Number(A.VOLUME))?100:Number(A.VOLUME))/100}getAudioVolume(){return 100*this.audioPlayer.volume}evaluate(A,e,t){return new Promise((e,t)=>{o.execute(String(A.JAVASCRIPT)).then(A=>{if(!A.success)return alert(A.value),void console.error(A.value);e(A.value)})})}evaluate2(A,e,t){return new Promise((e,t)=>{o.execute(String(A.JAVASCRIPT)).then(A=>{A.success||console.error(A.value),e(A.value)})})}evaluate3(A,e,t){return new Promise((e,t)=>{o.execute(String(A.JAVASCRIPT)).then(A=>{A.success||console.error(A.value),e(!0===A.value)})})}screenshotStage(){return this.runtime.prism_screenshot_checkForExternalCanvas&&this.runtime.prism_screenshot_externalCanvas?this.runtime.prism_screenshot_externalCanvas.toDataURL():!this.runtime.ext_videoSensing&&!this.runtime.ioDevices.video.provider.enabled||this.isCameraScreenshotEnabled||(this.isCameraScreenshotEnabled=s.RequestPermission("cameraPictures"),this.isCameraScreenshotEnabled)?new Promise(A=>{vm.renderer.requestSnapshot(e=>{A(e)})}):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII="}dataUriOfCostume(A,e){const t=Number(A.INDEX);if(isNaN(t))return"";if(t<1)return"";const n=e.target;if(void 0===n.sprite.costumes[t-1]||null===n.sprite.costumes[t-1])return"";const i=n.sprite.costumes[t-1].asset.encodeDataURI();return String(i)}dataUriFromImageUrl(A){return new Promise(e=>window&&!window.FileReader||window&&!window.fetch?e(""):void fetch("https://api.allorigins.win/raw?url=".concat(encodeURIComponent(String(A.URL)))).then(A=>{A.blob().then(A=>{const t=new FileReader;t.onload=A=>{e(A.target.result)},t.readAsDataURL(A)}).catch(()=>{e("")})}).catch(()=>{e("")}))}dataUriFromArrayBuffer(A){const e=B(A.BUFFER);if(!e.isValid)return"data:text/plain;base64,";const t=c.arrayToBuffer(e.array);let n="",i=new Uint8Array(t),r=i.byteLength;for(let A=0;A<r;A++)n+=String.fromCharCode(i[A]);return"data:application/octet-stream;base64,".concat(btoa(n))}arrayBufferFromDataUri(A){const e=g.toString(A.URL);return new Promise(A=>{fetch(e).then(e=>{e.arrayBuffer().then(e=>{const t=c.bufferToArray(e);A(JSON.stringify(t))}).catch(()=>{A("[]")})}).catch(()=>{A("[]")})})}currentMouseScrollX(){return this.mouseScrollDelta.x}currentMouseScroll(){return this.mouseScrollDelta.y}currentMouseScrollZ(){return this.mouseScrollDelta.z}base64Encode(A){let e="";try{e=btoa(String(A.TEXT))}catch(A){}return e}base64Decode(A){let e="";try{e=atob(String(A.TEXT))}catch(A){}return e}fromCharacterCodeString(A){return String.fromCharCode(A.TEXT)}toCharacterCodeString(A){return String(A.TEXT).charCodeAt(0)}lib_deflate_deflateArray(A){const e=B(A.ARRAY).array;return JSON.stringify(a.deflate(e))}lib_deflate_inflateArray(A){const e=B(A.ARRAY).array;return JSON.stringify(a.inflate(e))}NumericalEncode(A){const e=String(A.DATA);let t="";for(let A=0;A<e.length;++A){let n=String(e.charCodeAt(A));n="0".repeat(this.encodeCharacterLength-n.length)+n,t+=n}return t}NumericalDecode(A){const e=String(A.ENCODED);if(""==e)return"";let t="";const n=new RegExp(".{1,"+this.encodeCharacterLength+"}","g");let i=e.match(n);for(let A=0;A<i.length;A++){t+=String.fromCharCode(i[A])}return t}}},function(A,e){var t,n,i,r,s,o,a,B,c,g,Q,E,l,u,w,h,C,d,I,M,p,m,F,D,Y,f,N,U,y,x,T,R,G,S,H,b,k,J,j,z,v,L,P,O,W,V,K,X,Z,_,q,$,AA,eA,tA,nA,iA=parseInt(17/3,10),rA=null;function sA(){this.fc=0,this.dl=0}function oA(){this.dyn_tree=null,this.static_tree=null,this.extra_bits=null,this.extra_base=0,this.elems=0,this.max_length=0,this.max_code=0}function aA(A,e,t,n){this.good_length=A,this.max_lazy=e,this.nice_length=t,this.max_chain=n}function BA(){this.next=null,this.len=0,this.ptr=[],this.off=0}var cA=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],gA=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],QA=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],EA=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],lA=[new aA(0,0,0,0),new aA(4,4,8,4),new aA(4,5,16,8),new aA(4,6,32,32),new aA(4,4,16,16),new aA(8,16,32,32),new aA(8,16,128,128),new aA(8,32,128,256),new aA(32,128,258,1024),new aA(32,258,258,4096)];function uA(A){A.next=t,t=A}function wA(A){return Q[32768+A]}function hA(A,e){return Q[32768+A]=e}function CA(A){rA[o+s++]=A,o+s===8192&&function(){var A,e;if(0!==s){for(null!==t?(r=t,t=t.next):r=new BA,r.next=null,r.len=r.off=0,A=r,null===n?n=i=A:i=i.next=A,A.len=s-o,e=0;e<A.len;e++)A.ptr[e]=rA[o+e];s=o=0}var r}()}function dA(A){A&=65535,o+s<8190?(rA[o+s++]=255&A,rA[o+s++]=A>>>8):(CA(255&A),CA(A>>>8))}function IA(){w=32767&(w<<iA^255&B[p+3-1]),h=wA(w),Q[32767&p]=h,hA(w,p)}function MA(A,e){JA(e[A].fc,e[A].dl)}function pA(A){return 255&(A<256?O[A]:O[256+(A>>7)])}function mA(A,e,t){return A[e].fc<A[t].fc||A[e].fc===A[t].fc&&L[e]<=L[t]}function FA(A,e,t){var n;for(n=0;n<t&&nA<tA.length;n++)A[e+n]=255&tA[nA++];return n}function DA(A){var e,t,n,i,r=Y,s=p,o=M,a=p>32506?p-32506:0,c=p+258,g=B[s+o-1],E=B[s+o];M>=U&&(r>>=2);do{if(B[(e=A)+o]===E&&B[e+o-1]===g&&B[e]===B[s]&&B[++e]===B[s+1]){for(s+=2,e++;s<c;){for(i=!1,n=0;n<8;n+=1)if(e+=1,B[s+=1]!==B[e]){i=!0;break}if(i)break}if(t=258-(c-s),s=c-258,t>o){if(m=A,o=t,t>=y)break;g=B[s+o-1],E=B[s+o]}}}while((A=Q[32767&A])>a&&0!=--r);return o}function YA(){var A,e,t=65536-D-p;if(-1===t)t--;else if(p>=65274){for(A=0;A<32768;A++)B[A]=B[A+32768];for(m-=32768,p-=32768,u-=32768,A=0;A<32768;A++)hA(A,(e=wA(A))>=32768?e-32768:0);for(A=0;A<32768;A++)e=Q[A],Q[A]=e>=32768?e-32768:0;t+=32768}F||((A=FA(B,p+D,t))<=0?F=!0:D+=A)}function fA(){F||(E=0,l=0,function(){var A,e,t,n,i;if(0!==G[0].dl)return;for(H.dyn_tree=x,H.static_tree=R,H.extra_bits=cA,H.extra_base=257,H.elems=286,H.max_length=15,H.max_code=0,b.dyn_tree=T,b.static_tree=G,b.extra_bits=gA,b.extra_base=0,b.elems=30,b.max_length=15,b.max_code=0,k.dyn_tree=S,k.static_tree=null,k.extra_bits=QA,k.extra_base=0,k.elems=19,k.max_length=7,k.max_code=0,t=0,n=0;n<28;n++)for(W[n]=t,A=0;A<1<<cA[n];A++)P[t++]=n;for(P[t-1]=n,i=0,n=0;n<16;n++)for(V[n]=i,A=0;A<1<<gA[n];A++)O[i++]=n;for(i>>=7;n<30;n++)for(V[n]=i<<7,A=0;A<1<<gA[n]-7;A++)O[256+i++]=n;for(e=0;e<=15;e++)J[e]=0;A=0;for(;A<=143;)R[A++].dl=8,J[8]++;for(;A<=255;)R[A++].dl=9,J[9]++;for(;A<=279;)R[A++].dl=7,J[7]++;for(;A<=287;)R[A++].dl=8,J[8]++;for(TA(R,287),A=0;A<30;A++)G[A].dl=5,G[A].fc=jA(A,5);yA()}(),function(){var A;for(A=0;A<32768;A++)Q[32768+A]=0;if(f=lA[N].max_lazy,U=lA[N].good_length,y=lA[N].nice_length,Y=lA[N].max_chain,p=0,u=0,(D=FA(B,0,65536))<=0)return F=!0,void(D=0);for(F=!1;D<262&&!F;)YA();for(w=0,A=0;A<2;A++)w=32767&(w<<iA^255&B[A])}(),n=null,s=0,o=0,N<=3?(M=2,I=0):(I=2,d=!1),a=!1)}function NA(A,e,t){var i;return r||(fA(),r=!0,0!==D)?(i=UA(A,e,t))===t?t:a?i:(N<=3?function(){for(;0!==D&&null===n;){var A;if(IA(),0!==h&&p-h<=32506&&(I=DA(h))>D&&(I=D),I>=3)if(A=bA(p-m,I-3),D-=I,I<=f){I--;do{p++,IA()}while(0!=--I);p++}else p+=I,I=0,w=32767&((w=255&B[p])<<iA^255&B[p+1]);else A=bA(0,255&B[p]),D--,p++;for(A&&(HA(0),u=p);D<262&&!F;)YA()}}():function(){for(;0!==D&&null===n;){if(IA(),M=I,C=m,I=2,0!==h&&M<f&&p-h<=32506&&((I=DA(h))>D&&(I=D),3===I&&p-m>4096&&I--),M>=3&&I<=M){var A;A=bA(p-1-C,M-3),D-=M-1,M-=2;do{p++,IA()}while(0!=--M);d=!1,I=2,p++,A&&(HA(0),u=p)}else d?(bA(0,255&B[p-1])&&(HA(0),u=p),p++,D--):(d=!0,p++,D--);for(;D<262&&!F;)YA()}}(),0===D&&(d&&bA(0,255&B[p-1]),HA(1),a=!0),i+UA(A,i+e,t-i)):(a=!0,0)}function UA(A,e,t){var i,r,a;for(i=0;null!==n&&i<t;){for((r=t-i)>n.len&&(r=n.len),a=0;a<r;a++)A[e+i+a]=n.ptr[n.off+a];var B;if(n.off+=r,n.len-=r,i+=r,0===n.len)B=n,n=n.next,uA(B)}if(i===t)return i;if(o<s){for((r=t-i)>s-o&&(r=s-o),a=0;a<r;a++)A[e+i+a]=rA[o+a];i+=r,s===(o+=r)&&(s=o=0)}return i}function yA(){var A;for(A=0;A<286;A++)x[A].fc=0;for(A=0;A<30;A++)T[A].fc=0;for(A=0;A<19;A++)S[A].fc=0;x[256].fc=1,AA=eA=0,X=Z=_=0,q=0,$=1}function xA(A,e){for(var t=j[e],n=e<<1;n<=z&&(n<z&&mA(A,j[n+1],j[n])&&n++,!mA(A,t,j[n]));)j[e]=j[n],e=n,n<<=1;j[e]=t}function TA(A,e){var t,n,i=[],r=0;for(t=1;t<=15;t++)r=r+J[t-1]<<1,i[t]=r;for(n=0;n<=e;n++){var s=A[n].dl;0!==s&&(A[n].fc=jA(i[s]++,s))}}function RA(A){var e,t,n=A.dyn_tree,i=A.static_tree,r=A.elems,s=-1,o=r;for(z=0,v=573,e=0;e<r;e++)0!==n[e].fc?(j[++z]=s=e,L[e]=0):n[e].dl=0;for(;z<2;){var a=j[++z]=s<2?++s:0;n[a].fc=1,L[a]=0,AA--,null!==i&&(eA-=i[a].dl)}for(A.max_code=s,e=z>>1;e>=1;e--)xA(n,e);do{e=j[1],j[1]=j[z--],xA(n,1),t=j[1],j[--v]=e,j[--v]=t,n[o].fc=n[e].fc+n[t].fc,L[e]>L[t]+1?L[o]=L[e]:L[o]=L[t]+1,n[e].dl=n[t].dl=o,j[1]=o++,xA(n,1)}while(z>=2);j[--v]=j[1],function(A){var e,t,n,i,r,s,o=A.dyn_tree,a=A.extra_bits,B=A.extra_base,c=A.max_code,g=A.max_length,Q=A.static_tree,E=0;for(i=0;i<=15;i++)J[i]=0;for(o[j[v]].dl=0,e=v+1;e<573;e++)(i=o[o[t=j[e]].dl].dl+1)>g&&(i=g,E++),o[t].dl=i,t>c||(J[i]++,r=0,t>=B&&(r=a[t-B]),s=o[t].fc,AA+=s*(i+r),null!==Q&&(eA+=s*(Q[t].dl+r)));if(0!==E){do{for(i=g-1;0===J[i];)i--;J[i]--,J[i+1]+=2,J[g]--,E-=2}while(E>0);for(i=g;0!==i;i--)for(t=J[i];0!==t;)(n=j[--e])>c||(o[n].dl!==i&&(AA+=(i-o[n].dl)*o[n].fc,o[n].fc=i),t--)}}(A),TA(n,s)}function GA(A,e){var t,n,i=-1,r=A[0].dl,s=0,o=7,a=4;for(0===r&&(o=138,a=3),A[e+1].dl=65535,t=0;t<=e;t++)n=r,r=A[t+1].dl,++s<o&&n===r||(s<a?S[n].fc+=s:0!==n?(n!==i&&S[n].fc++,S[16].fc++):s<=10?S[17].fc++:S[18].fc++,s=0,i=n,0===r?(o=138,a=3):n===r?(o=6,a=3):(o=7,a=4))}function SA(A,e){var t,n,i=-1,r=A[0].dl,s=0,o=7,a=4;for(0===r&&(o=138,a=3),t=0;t<=e;t++)if(n=r,r=A[t+1].dl,!(++s<o&&n===r)){if(s<a)do{MA(n,S)}while(0!=--s);else 0!==n?(n!==i&&(MA(n,S),s--),MA(16,S),JA(s-3,2)):s<=10?(MA(17,S),JA(s-3,3)):(MA(18,S),JA(s-11,7));s=0,i=n,0===r?(o=138,a=3):n===r?(o=6,a=3):(o=7,a=4)}}function HA(A){var e,t,n,i,r;if(i=p-u,K[_]=q,RA(H),RA(b),n=function(){var A;for(GA(x,H.max_code),GA(T,b.max_code),RA(k),A=18;A>=3&&0===S[EA[A]].dl;A--);return AA+=3*(A+1)+5+5+4,A}(),(t=eA+3+7>>3)<=(e=AA+3+7>>3)&&(e=t),i+4<=e&&u>=0)for(JA(0+A,3),zA(),dA(i),dA(~i),r=0;r<i;r++)CA(B[u+r]);else t===e?(JA(2+A,3),kA(R,G)):(JA(4+A,3),function(A,e,t){var n;for(JA(A-257,5),JA(e-1,5),JA(t-4,4),n=0;n<t;n++)JA(S[EA[n]].dl,3);SA(x,A-1),SA(T,e-1)}(H.max_code+1,b.max_code+1,n+1),kA(x,T));yA(),0!==A&&zA()}function bA(A,e){if(g[X++]=e,0===A?x[e].fc++:(A--,x[P[e]+256+1].fc++,T[pA(A)].fc++,c[Z++]=A,q|=$),$<<=1,0==(7&X)&&(K[_++]=q,q=0,$=1),N>2&&0==(4095&X)){var t,n=8*X,i=p-u;for(t=0;t<30;t++)n+=T[t].fc*(5+gA[t]);if(n>>=3,Z<parseInt(X/2,10)&&n<parseInt(i/2,10))return!0}return 8191===X||8192===Z}function kA(A,e){var t,n,i,r,s=0,o=0,a=0,B=0;if(0!==X)do{0==(7&s)&&(B=K[a++]),n=255&g[s++],0==(1&B)?MA(n,A):(MA((i=P[n])+256+1,A),0!==(r=cA[i])&&JA(n-=W[i],r),MA(i=pA(t=c[o++]),e),0!==(r=gA[i])&&JA(t-=V[i],r)),B>>=1}while(s<X);MA(256,A)}function JA(A,e){l>16-e?(dA(E|=A<<l),E=A>>16-l,l+=e-16):(E|=A<<l,l+=e)}function jA(A,e){var t=0;do{t|=1&A,A>>=1,t<<=1}while(--e>0);return t>>1}function zA(){l>8?dA(E):l>0&&CA(E),E=0,l=0}A.exports=function(A,e){var s,o;tA=A,nA=0,void 0===e&&(e=6),function(A){var e;if(A?A<1?A=1:A>9&&(A=9):A=6,N=A,r=!1,F=!1,null===rA){for(t=n=i=null,rA=[],B=[],c=[],g=[],Q=[],x=[],e=0;e<573;e++)x[e]=new sA;for(T=[],e=0;e<61;e++)T[e]=new sA;for(R=[],e=0;e<288;e++)R[e]=new sA;for(G=[],e=0;e<30;e++)G[e]=new sA;for(S=[],e=0;e<39;e++)S[e]=new sA;H=new oA,b=new oA,k=new oA,J=[],j=[],L=[],P=[],O=[],W=[],V=[],K=[]}}(e),o=[];do{s=NA(o,o.length,1024)}while(s>0);return tA=null,o},A.exports.DEFAULT_LEVEL=6},function(A,e){var t,n,i,r,s,o,a,B,c,g,Q,E,l,u,w,h,C,d=null,I=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],M=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],p=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99],m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],F=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],D=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function Y(){this.next=null,this.list=null}function f(){this.e=0,this.b=0,this.n=0,this.t=null}function N(A,e,t,n,i,r){var s;this.BMAX=16,this.N_MAX=288,this.status=0,this.root=null,this.m=0;var o,a,B,c,g,Q,E,l,u,w,h,C,d,I,M,p,m=[],F=[],D=new f,N=[],U=[],y=[];for(p=this.root=null,g=0;g<this.BMAX+1;g++)m[g]=0;for(g=0;g<this.BMAX+1;g++)F[g]=0;for(g=0;g<this.BMAX;g++)N[g]=null;for(g=0;g<this.N_MAX;g++)U[g]=0;for(g=0;g<this.BMAX+1;g++)y[g]=0;o=e>256?A[256]:this.BMAX,l=A,u=0,g=e;do{m[l[u]]++,u++}while(--g>0);if(m[0]===e)return this.root=null,this.m=0,void(this.status=0);for(Q=1;Q<=this.BMAX&&0===m[Q];Q++);for(E=Q,r<Q&&(r=Q),g=this.BMAX;0!==g&&0===m[g];g--);for(B=g,r>g&&(r=g),d=1<<Q;Q<g;Q++,d<<=1)if((d-=m[Q])<0)return this.status=2,void(this.m=r);if((d-=m[g])<0)return this.status=2,void(this.m=r);for(m[g]+=d,y[1]=Q=0,l=m,u=1,C=2;--g>0;)y[C++]=Q+=l[u++];l=A,u=0,g=0;do{0!==(Q=l[u++])&&(U[y[Q]++]=g)}while(++g<e);for(e=y[B],y[0]=g=0,l=U,u=0,c=-1,h=F[0]=0,w=null,I=0;E<=B;E++)for(s=m[E];s-- >0;){for(;E>h+F[1+c];){if(h+=F[1+c],c++,I=(I=B-h)>r?r:I,(a=1<<(Q=E-h))>s+1)for(a-=s+1,C=E;++Q<I&&!((a<<=1)<=m[++C]);)a-=m[C];for(h+Q>o&&h<o&&(Q=o-h),I=1<<Q,F[1+c]=Q,w=[],M=0;M<I;M++)w[M]=new f;(p=p?p.next=new Y:this.root=new Y).next=null,p.list=w,N[c]=w,c>0&&(y[c]=g,D.b=F[c],D.e=16+Q,D.t=w,Q=(g&(1<<h)-1)>>h-F[c],N[c-1][Q].e=D.e,N[c-1][Q].b=D.b,N[c-1][Q].n=D.n,N[c-1][Q].t=D.t)}for(D.b=E-h,u>=e?D.e=99:l[u]<t?(D.e=l[u]<256?16:15,D.n=l[u++]):(D.e=i[l[u]-t],D.n=n[l[u++]-t]),a=1<<E-h,Q=g>>h;Q<I;Q+=a)w[Q].e=D.e,w[Q].b=D.b,w[Q].n=D.n,w[Q].t=D.t;for(Q=1<<E-1;0!=(g&Q);Q>>=1)g^=Q;for(g^=Q;(g&(1<<h)-1)!==y[c];)h-=F[c],c--}this.m=F[1],this.status=0!==d&&1!==B?1:0}function U(A){for(;a<A;)o|=(h.length===C?-1:255&h[C++])<<a,a+=8}function y(A){return o&I[A]}function x(A){o>>=A,a-=A}function T(A,e,i){var r,s,o;if(0===i)return 0;for(o=0;;){for(U(u),r=(s=E.list[y(u)]).e;r>16;){if(99===r)return-1;x(s.b),U(r-=16),r=(s=s.t[y(r)]).e}if(x(s.b),16!==r){if(15===r)break;for(U(r),g=s.n+y(r),x(r),U(w),r=(s=l.list[y(w)]).e;r>16;){if(99===r)return-1;x(s.b),U(r-=16),r=(s=s.t[y(r)]).e}for(x(s.b),U(r),Q=n-s.n-y(r),x(r);g>0&&o<i;)g--,Q&=32767,n&=32767,A[e+o++]=t[n++]=t[Q++];if(o===i)return i}else if(n&=32767,A[e+o++]=t[n++]=s.n,o===i)return i}return B=-1,o}function R(A,e,i){var r;if(x(r=7&a),U(16),r=y(16),x(16),U(16),r!==(65535&~o))return-1;for(x(16),g=r,r=0;g>0&&r<i;)g--,n&=32767,U(8),A[e+r++]=t[n++]=y(8),x(8);return 0===g&&(B=-1),r}function G(A,e,t){if(!d){var n,o,a=[];for(n=0;n<144;n++)a[n]=8;for(;n<256;n++)a[n]=9;for(;n<280;n++)a[n]=7;for(;n<288;n++)a[n]=8;if(0!==(o=new N(a,288,257,M,p,r=7)).status)return console.error("HufBuild error: "+o.status),-1;for(d=o.root,r=o.m,n=0;n<30;n++)a[n]=5;if((o=new N(a,30,0,m,F,s=5)).status>1)return d=null,console.error("HufBuild error: "+o.status),-1;i=o.root,s=o.m}return E=d,l=i,u=r,w=s,T(A,e,t)}function S(A,e,t){var n,i,r,s,o,a,B,c,g,Q=[];for(n=0;n<316;n++)Q[n]=0;if(U(5),B=257+y(5),x(5),U(5),c=1+y(5),x(5),U(4),a=4+y(4),x(4),B>286||c>30)return-1;for(i=0;i<a;i++)U(3),Q[D[i]]=y(3),x(3);for(;i<19;i++)Q[D[i]]=0;if(0!==(g=new N(Q,19,19,null,null,u=7)).status)return-1;for(E=g.root,u=g.m,s=B+c,n=r=0;n<s;)if(U(u),x(i=(o=E.list[y(u)]).b),(i=o.n)<16)Q[n++]=r=i;else if(16===i){if(U(2),i=3+y(2),x(2),n+i>s)return-1;for(;i-- >0;)Q[n++]=r}else if(17===i){if(U(3),i=3+y(3),x(3),n+i>s)return-1;for(;i-- >0;)Q[n++]=0;r=0}else{if(U(7),i=11+y(7),x(7),n+i>s)return-1;for(;i-- >0;)Q[n++]=0;r=0}if(g=new N(Q,B,257,M,p,u=9),0===u&&(g.status=1),0!==g.status&&1!==g.status)return-1;for(E=g.root,u=g.m,n=0;n<c;n++)Q[n]=Q[n+B];return g=new N(Q,c,0,m,F,w=6),l=g.root,0===(w=g.m)&&B>257||0!==g.status?-1:T(A,e,t)}function H(A,e,i){var r,s;for(r=0;r<i;){if(c&&-1===B)return r;if(g>0){if(0!==B)for(;g>0&&r<i;)g--,Q&=32767,n&=32767,A[e+r++]=t[n++]=t[Q++];else{for(;g>0&&r<i;)g--,n&=32767,U(8),A[e+r++]=t[n++]=y(8),x(8);0===g&&(B=-1)}if(r===i)return r}if(-1===B){if(c)break;U(1),0!==y(1)&&(c=!0),x(1),U(2),B=y(2),x(2),E=null,g=0}switch(B){case 0:s=R(A,e+r,i-r);break;case 1:s=E?T(A,e+r,i-r):G(A,e+r,i-r);break;case 2:s=E?T(A,e+r,i-r):S(A,e+r,i-r);break;default:s=-1}if(-1===s)return c?0:-1;r+=s}return r}A.exports=function(A){var e,i=[];t||(t=[]),n=0,o=0,a=0,B=-1,c=!1,g=Q=0,E=null,h=A,C=0;do{e=H(i,i.length,1024)}while(e>0);return h=null,i}},function(A,e,t){function n(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function i(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach((function(e){r(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}function r(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const s=t(7),o=t(1),a=t(3),B=t(56),c=t(13),g=t(2),Q={acceptReporters:!0,items:[{text:"color",value:"color"},{text:"grayscale",value:"grayscale"},{text:"brightness",value:"brightness"},{text:"contrast",value:"contrast"},{text:"ghost",value:"ghost"},{text:"blur",value:"blur"},{text:"invert",value:"invert"},{text:"saturate",value:"saturate"},{text:"sepia",value:"sepia"}]},E={},l=(A,e)=>{const t={};return A.forEach(A=>{t[String(A)]=e}),t},u=A=>new Promise(e=>{const t=(A=>{let e;try{e=new URL(A)}catch(A){return"example.com"}return e.hostname})(A);if(E.hasOwnProperty(t))return e(E[t]);fetch("https://pm-bapi.vercel.app/api/safeurl?url=".concat(t)).then(A=>{A.ok?A.json().then(A=>{E[t]=A.safe,e(A.safe)}).catch(()=>e(!0)):e(!0)}).catch(()=>e(!0))});A.exports=class{constructor(A){this.runtime=A,this.createdIframe=null,this.iframeSettings={x:0,y:0,rotation:90,width:480,height:360,color:"#ffffff",opacity:0,clickable:!0},this.iframeFilters=l(Q.items.map(A=>A.value),0),this.iframeLoadedValue=!1,this.displayWebsiteUrl="",this.runtime.on("PROJECT_STOP_ALL",()=>{this.RemoveIFrame()})}getInfo(){return{id:"jgIframe",name:"IFrame",color1:"#F36518",color2:"#E64D18",blocks:[{opcode:"createIframeElement",text:s({id:"jgIframe.blocks.createIframeElement",default:"set new iframe",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND},{opcode:"deleteIframeElement",text:s({id:"jgIframe.blocks.deleteIframeElement",default:"delete iframe",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND},{opcode:"iframeElementExists",text:s({id:"jgIframe.blocks.iframeElementExists",default:"iframe exists?",description:"im too lazy to write these anymore tbh"}),blockType:o.BOOLEAN,disableMonitor:!0},"---","---",{opcode:"whenIframeIsLoaded",text:s({id:"jgIframe.blocks.whenIframeIsLoaded",default:"when iframe loads site",description:"im too lazy to write these anymore tbh"}),blockType:o.HAT},{opcode:"setIframeUrl",text:s({id:"jgIframe.blocks.setIframeUrl",default:"set iframe url to [URL]",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND,arguments:{URL:{type:a.STRING,defaultValue:"https://www.example.com"}}},{opcode:"setIframePosLeft",text:s({id:"jgIframe.blocks.setIframePosLeft",default:"set iframe x to [X]",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND,arguments:{X:{type:a.NUMBER,defaultValue:0}}},{opcode:"setIframePosTop",text:s({id:"jgIframe.blocks.setIframePosTop",default:"set iframe y to [Y]",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND,arguments:{Y:{type:a.NUMBER,defaultValue:0}}},{opcode:"setIframeSizeWidth",text:s({id:"jgIframe.blocks.setIframeSizeWidth",default:"set iframe width to [WIDTH]",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND,arguments:{WIDTH:{type:a.NUMBER,defaultValue:480}}},{opcode:"setIframeSizeHeight",text:s({id:"jgIframe.blocks.setIframeSizeHeight",default:"set iframe height to [HEIGHT]",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND,arguments:{HEIGHT:{type:a.NUMBER,defaultValue:360}}},{opcode:"setIframeRotation",text:s({id:"jgIframe.blocks.setIframeRotation",default:"point iframe in direction [ROTATE]",description:""}),blockType:o.COMMAND,arguments:{ROTATE:{type:a.ANGLE,defaultValue:90}}},{opcode:"setIframeBackgroundColor",text:s({id:"jgIframe.blocks.setIframeBackgroundColor",default:"set iframe background color to [COLOR]",description:""}),blockType:o.COMMAND,arguments:{COLOR:{type:a.COLOR}}},{opcode:"setIframeBackgroundOpacity",text:s({id:"jgIframe.blocks.setIframeBackgroundOpacity",default:"set iframe background transparency to [GHOST]%",description:""}),blockType:o.COMMAND,arguments:{GHOST:{type:a.NUMBER,defaultValue:100}}},{opcode:"setIframeClickable",text:s({id:"jgIframe.blocks.setIframeClickable",default:"toggle iframe to be [USABLE]",description:""}),blockType:o.COMMAND,arguments:{USABLE:{type:a.STRING,menu:"iframeClickable"}}},{opcode:"showIframeElement",text:s({id:"jgIframe.blocks.showIframeElement",default:"show iframe",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND},{opcode:"hideIframeElement",text:s({id:"jgIframe.blocks.hideIframeElement",default:"hide iframe",description:"im too lazy to write these anymore tbh"}),blockType:o.COMMAND},{opcode:"getIframeLeft",text:s({id:"jgIframe.blocks.getIframeLeft",default:"iframe x",description:""}),blockType:o.REPORTER},{opcode:"getIframeTop",text:s({id:"jgIframe.blocks.getIframeTop",default:"iframe y",description:""}),blockType:o.REPORTER},{opcode:"getIframeWidth",text:s({id:"jgIframe.blocks.getIframeWidth",default:"iframe width",description:""}),blockType:o.REPORTER},{opcode:"getIframeHeight",text:s({id:"jgIframe.blocks.getIframeHeight",default:"iframe height",description:""}),blockType:o.REPORTER},{opcode:"getIframeRotation",text:s({id:"jgIframe.blocks.getIframeRotation",default:"iframe rotation",description:""}),blockType:o.REPORTER},{opcode:"getIframeBackgroundColor",text:s({id:"jgIframe.blocks.getIframeBackgroundColor",default:"iframe background color",description:""}),blockType:o.REPORTER},{opcode:"getIframeBackgroundOpacity",text:s({id:"jgIframe.blocks.getIframeBackgroundOpacity",default:"iframe background transparency",description:""}),blockType:o.REPORTER},{opcode:"getIframeTargetUrl",text:s({id:"jgIframe.blocks.getIframeTargetUrl",default:"iframe target url",description:""}),blockType:o.REPORTER},{opcode:"iframeElementIsHidden",text:s({id:"jgIframe.blocks.iframeElementIsHidden",default:"iframe is hidden?",description:"im too lazy to write these anymore tbh"}),blockType:o.BOOLEAN,disableMonitor:!0},{opcode:"getIframeClickable",text:s({id:"jgIframe.blocks.getIframeClickable",default:"iframe is interactable?",description:""}),blockType:o.BOOLEAN,disableMonitor:!0},"---","---",{opcode:"iframeElementSetEffect",text:s({id:"jgIframe.blocks.iframeElementSetEffect",default:"set [EFFECT] effect on iframe to [AMOUNT]",description:"YAYYAYAWOOHOOO YEEAAAAAAAAAYAYYAYAWOOHOOO YEEAAAAAAAAA"}),blockType:o.COMMAND,arguments:{EFFECT:{type:a.STRING,menu:"effects",defaultValue:"color"},AMOUNT:{type:a.NUMBER,defaultValue:0}}},{opcode:"iframeElementChangeEffect",text:s({id:"jgIframe.blocks.iframeElementChangeEffect",default:"change [EFFECT] effect on iframe by [AMOUNT]",description:"YAYYAYAWOOHOOO YEEAAAAAAAAAYAYYAYAWOOHOOO YEEAAAAAAAAA"}),blockType:o.COMMAND,arguments:{EFFECT:{type:a.STRING,menu:"effects",defaultValue:"color"},AMOUNT:{type:a.NUMBER,defaultValue:25}}},{opcode:"iframeElementClearEffects",text:s({id:"jgIframe.blocks.iframeElementClearEffects",default:"clear iframe effects",description:"YAYYAYAWOOHOOO YEEAAAAAAAAAYAYYAYAWOOHOOO YEEAAAAAAAAA"}),blockType:o.COMMAND},{opcode:"getIframeEffectAmount",text:s({id:"jgIframe.blocks.getIframeEffectAmount",default:"iframe [EFFECT]",description:"YAYYAYAWOOHOOO YEEAAAAAAAAAYAYYAYAWOOHOOO YEEAAAAAAAAA"}),blockType:o.REPORTER,arguments:{EFFECT:{type:a.STRING,menu:"effects",defaultValue:"color"}}},"---"],menus:{effects:Q,iframeClickable:{acceptReporters:!0,items:["interactable","non-interactable"]}}}}async IsWebsiteAllowed(A){if(B.IsDataUrl(A))return!0;if(!B.IsUrlSafe(A))return!1;return await u(A)}GetCurrentCanvas(){return this.runtime.renderer.canvas}SetNewIFrame(){const A=document.createElement("iframe");return A.onload=()=>{this.iframeLoadedValue=!0},this.createdIframe=A,A}RemoveIFrame(){this.createdIframe&&(this.createdIframe.remove(),this.createdIframe=null)}GetIFrameState(){return!!this.createdIframe}SetIFramePosition(A,e,t,n,r,s){const o=A,a=this.runtime.stageWidth,B=this.runtime.stageHeight;o.style.position="absolute",o.style.width="".concat(n/a*100,"%"),o.style.height="".concat(r/B*100,"%"),o.style.transformOrigin="center center";let c=(a/2-n/2+e)/a*100,g=(B/2-r/2-t)/B*100;o.style.left="".concat(c,"%"),o.style.top="".concat(g,"%"),o.style.transform="rotate(".concat(s-90,"deg)"),this.iframeSettings=i(i({},this.iframeSettings),{},{x:e,y:t,rotation:s,width:n,height:r}),A.parentElement!==this.GetCurrentCanvas().parentElement&&this.GetCurrentCanvas().parentElement.prepend(A)}SetIFrameColors(A,e,t){const n=A,r=g.toRgbColorObject(e),s=c.rgbToHex(r);n.style.backgroundColor="rgba(".concat(r.r,", ").concat(r.g,", ").concat(r.b,", ").concat(100*t,"%)"),this.iframeSettings=i(i({},this.iframeSettings),{},{color:s,opacity:g.toNumber(t)}),A.parentElement!==this.GetCurrentCanvas().parentElement&&this.GetCurrentCanvas().parentElement.prepend(A)}SetIFrameClickable(A,e){A.style.pointerEvents=g.toBoolean(e)?"":"none",this.iframeSettings=i(i({},this.iframeSettings),{},{clickable:g.toBoolean(e)}),A.parentElement!==this.GetCurrentCanvas().parentElement&&this.GetCurrentCanvas().parentElement.prepend(A)}GenerateCssFilter(A,e,t,n,i,r,s,o,a){return"hue-rotate(".concat(A/200*360,"deg) ")+"grayscale(".concat(e,"%) ")+"brightness(".concat(t+100,"%) ")+"contrast(".concat(n+100,"%) ")+"opacity(".concat(100-i,"%) ")+"blur(".concat(r,"px) ")+"invert(".concat(s,"%) ")+"saturate(".concat(o+100,"%) ")+"sepia(".concat(a,"%)")}ApplyFilterOptions(A){A.style.filter=this.GenerateCssFilter(this.iframeFilters.color,this.iframeFilters.grayscale,this.iframeFilters.brightness,this.iframeFilters.contrast,this.iframeFilters.ghost,this.iframeFilters.blur,this.iframeFilters.invert,this.iframeFilters.saturate,this.iframeFilters.sepia)}createIframeElement(){this.RemoveIFrame();const A=this.SetNewIFrame();return A.style.zIndex=500,A.style.borderWidth="0px",A.src="data:text/html;base64,PERPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4tVVMiPgo8aGVhZD48L2hlYWQ+Cjxib2R5PjxoMT5IZWxsbyE8L2gxPjxwPllvdSd2ZSBqdXN0IGNyZWF0ZWQgYW4gaWZyYW1lIGVsZW1lbnQuPGJyPlVzZSB0aGlzIHRvIGVtYmVkIHdlYnNpdGVzIHdpdGggdGhlaXIgVVJMcy4gTm90ZSB0aGF0IHNvbWUgd2Vic2l0ZXMgbWlnaHQgbm90IGFsbG93IGlmcmFtZXMgdG8gd29yayBmb3IgdGhlaXIgd2Vic2l0ZS48L3A+PC9ib2R5Pgo8L2h0bWw+",this.displayWebsiteUrl=A.src,this.SetIFramePosition(A,0,0,this.runtime.stageWidth,this.runtime.stageHeight,90),this.SetIFrameColors(A,"#ffffff",0),this.SetIFrameClickable(A,!0),this.iframeFilters=l(Q.items.map(A=>A.value),0),this.GetCurrentCanvas().parentElement.prepend(A),A}deleteIframeElement(){this.RemoveIFrame()}iframeElementExists(){return this.GetIFrameState()}setIframeUrl(A){if(!this.GetIFrameState())return;let e=!1,t=A.URL;if(g.toString(A.URL).startsWith("proxy://")&&(e=!0,t=g.toString(A.URL).replace("proxy://","https://")),"about:blank"===g.toString(A.URL))return this.createdIframe.src="about:blank",void(this.displayWebsiteUrl="about:blank");this.IsWebsiteAllowed(t).then(t=>{if(!t)return this.createdIframe.src="about:blank",void(this.displayWebsiteUrl=A.URL);this.createdIframe.src=e?"https://detaproxy-1-s1965152.deta.app/?url=".concat(g.toString(A.URL).replace("proxy://","https://")):A.URL,this.displayWebsiteUrl=e?"".concat(g.toString(this.createdIframe.src).replace("https://detaproxy-1-s1965152.deta.app/?url=https://","proxy://")):this.createdIframe.src})}setIframePosLeft(A){if(!this.GetIFrameState())return;const e=this.createdIframe;this.SetIFramePosition(e,g.toNumber(A.X),this.iframeSettings.y,this.iframeSettings.width,this.iframeSettings.height,this.iframeSettings.rotation)}setIframePosTop(A){if(!this.GetIFrameState())return;const e=this.createdIframe;this.SetIFramePosition(e,this.iframeSettings.x,g.toNumber(A.Y),this.iframeSettings.width,this.iframeSettings.height,this.iframeSettings.rotation)}setIframeSizeWidth(A){if(!this.GetIFrameState())return;const e=this.createdIframe;this.SetIFramePosition(e,this.iframeSettings.x,this.iframeSettings.y,g.toNumber(A.WIDTH),this.iframeSettings.height,this.iframeSettings.rotation)}setIframeSizeHeight(A){if(!this.GetIFrameState())return;const e=this.createdIframe;this.SetIFramePosition(e,this.iframeSettings.x,this.iframeSettings.y,this.iframeSettings.width,g.toNumber(A.HEIGHT),this.iframeSettings.rotation)}setIframeRotation(A){if(!this.GetIFrameState())return;const e=this.createdIframe;this.SetIFramePosition(e,this.iframeSettings.x,this.iframeSettings.y,this.iframeSettings.width,this.iframeSettings.height,g.toNumber(A.ROTATE))}setIframeBackgroundColor(A){if(!this.GetIFrameState())return;const e=this.createdIframe;this.SetIFrameColors(e,A.COLOR,this.iframeSettings.opacity)}setIframeBackgroundOpacity(A){if(!this.GetIFrameState())return;const e=this.createdIframe;let t=g.toNumber(A.GHOST);t>100&&(t=100),t<0&&(t=0),t/=100,t=1-t,this.SetIFrameColors(e,this.iframeSettings.color,t)}setIframeClickable(A){if(!this.GetIFrameState())return;const e=this.createdIframe;let t=!1;"interactable"===g.toString(A.USABLE).toLowerCase()&&(t=!0),"on"===g.toString(A.USABLE).toLowerCase()&&(t=!0),"enabled"===g.toString(A.USABLE).toLowerCase()&&(t=!0),"true"===g.toString(A.USABLE).toLowerCase()&&(t=!0),this.SetIFrameClickable(e,t)}showIframeElement(){if(!this.GetIFrameState())return;this.createdIframe.style.display=""}hideIframeElement(){if(!this.GetIFrameState())return;this.createdIframe.style.display="none"}getIframeLeft(){return this.GetIFrameState()?this.iframeSettings.x:0}getIframeTop(){return this.GetIFrameState()?this.iframeSettings.y:0}getIframeWidth(){return this.GetIFrameState()?this.iframeSettings.width:480}getIframeHeight(){return this.GetIFrameState()?this.iframeSettings.height:360}getIframeRotation(){return this.GetIFrameState()?this.iframeSettings.rotation:90}getIframeTargetUrl(){return this.GetIFrameState()?this.displayWebsiteUrl:""}getIframeBackgroundColor(){if(!this.GetIFrameState())return"#ffffff";const A=this.iframeSettings.color,e=g.toRgbColorObject(A);return c.rgbToHex(e)}getIframeBackgroundOpacity(){if(!this.GetIFrameState())return 100;return 100*(1-this.iframeSettings.opacity)}getIframeClickable(){return!this.GetIFrameState()||this.iframeSettings.clickable}iframeElementIsHidden(){return!!this.GetIFrameState()&&"none"===this.createdIframe.style.display}whenIframeIsLoaded(){const A=this.iframeLoadedValue;return this.iframeLoadedValue=!1,A}iframeElementSetEffect(A){this.GetIFrameState()&&(this.iframeFilters[A.EFFECT]=g.toNumber(A.AMOUNT),this.ApplyFilterOptions(this.createdIframe))}iframeElementChangeEffect(A){this.GetIFrameState()&&(this.iframeFilters[A.EFFECT]+=g.toNumber(A.AMOUNT),this.ApplyFilterOptions(this.createdIframe))}iframeElementClearEffects(){this.GetIFrameState()&&(this.iframeFilters=l(Q.items.map(A=>A.value),0),this.ApplyFilterOptions(this.createdIframe))}getIframeEffectAmount(A){return this.GetIFrameState()?this.iframeFilters[A.EFFECT]:0}}},function(A,e,t){const n=t(1),i=t(3),r=new(t(324).Helper);A.exports=class{constructor(A){this.runtime=A,this.helper=r,r.SetRuntime(A),this.runtime.on("PROJECT_STOP_ALL",()=>{r.KillAllProcesses()})}deserialize(A){r.audioGroups={};for(const e of A)r.AddAudioGroup(e.id,e)}serialize(){return r.GetAllAudioGroups().map(A=>({id:A.id,sources:{},globalVolume:A.globalVolume,globalSpeed:A.globalSpeed,globalPitch:A.globalPitch,globalPan:A.globalPan}))}orderCategoryBlocks(A){const e={create:A[0],delete:A[1]},t=A[2];A.splice(0,3);const n=r.GetAllAudioGroups().map(A=>t.replace("{audioGroupId}",A.id));return n.length?(n.reverse(),n.push(e.delete),n.push(e.create),A=n.reverse().concat(A)):[e.create]}getInfo(){return{id:"jgExtendedAudio",name:"Extended Audio",color1:"#E256A1",color2:"#D33388",isDynamic:!0,orderBlocks:this.orderCategoryBlocks,blocks:[{opcode:"createAudioGroup",text:"New Audio Group",blockType:n.BUTTON},{opcode:"deleteAudioGroup",text:"Remove an Audio Group",blockType:n.BUTTON},{opcode:"audioGroupGet",text:"[AUDIOGROUP]",blockType:n.REPORTER,arguments:{AUDIOGROUP:{menu:"audioGroup",defaultValue:"{audioGroupId}",type:i.STRING}}},{text:"Operations",blockType:n.LABEL},{opcode:"audioGroupSetVolumeSpeedPitchPan",text:"set [AUDIOGROUP] [VSPP] to [VALUE]%",blockType:n.COMMAND,arguments:{AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""},VSPP:{type:i.STRING,menu:"vspp",defaultValue:""},VALUE:{type:i.NUMBER,defaultValue:100}}},{opcode:"audioGroupGetModifications",text:"[AUDIOGROUP] [OPTION]",blockType:n.REPORTER,disableMonitor:!0,arguments:{AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""},OPTION:{type:i.STRING,menu:"audioGroupOptions",defaultValue:""}}},"---",{opcode:"audioSourceCreate",text:"[CREATEOPTION] audio source named [NAME] in [AUDIOGROUP]",blockType:n.COMMAND,arguments:{CREATEOPTION:{type:i.STRING,menu:"createOptions",defaultValue:""},NAME:{type:i.STRING,defaultValue:"AudioSource1"},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""}}},{opcode:"audioSourceDeleteAll",text:"[DELETEOPTION] all audio sources in [AUDIOGROUP]",blockType:n.COMMAND,arguments:{DELETEOPTION:{type:i.STRING,menu:"deleteOptions",defaultValue:""},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""}}},"---",{opcode:"audioSourceSetScratch",text:"set audio source [NAME] in [AUDIOGROUP] to use [SOUND]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"AudioSource1"},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""},SOUND:{type:i.STRING,menu:"sounds",defaultValue:""}}},{opcode:"audioSourceSetUrl",text:"set audio source [NAME] in [AUDIOGROUP] to use [URL]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"AudioSource1"},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""},URL:{type:i.STRING,defaultValue:"https://pm-bapi.vercel.app/buauauau.mp3"}}},{opcode:"audioSourcePlayerOption",text:"[PLAYEROPTION] audio source [NAME] in [AUDIOGROUP]",blockType:n.COMMAND,arguments:{PLAYEROPTION:{type:i.STRING,menu:"playerOptions",defaultValue:""},NAME:{type:i.STRING,defaultValue:"AudioSource1"},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""}}},"---",{opcode:"audioSourceSetLoop",text:"set audio source [NAME] in [AUDIOGROUP] to [LOOP]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"AudioSource1"},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""},LOOP:{type:i.STRING,menu:"loop",defaultValue:"loop"}}},{opcode:"audioSourceSetTime",text:"set audio source [NAME] start position in [AUDIOGROUP] to [TIME] seconds",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"AudioSource1"},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""},TIME:{type:i.NUMBER,defaultValue:.3}}},{opcode:"audioSourceSetVolumeSpeedPitchPan",text:"set audio source [NAME] [VSPP] in [AUDIOGROUP] to [VALUE]%",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"AudioSource1"},VSPP:{type:i.STRING,menu:"vspp",defaultValue:""},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""},VALUE:{type:i.NUMBER,defaultValue:100}}},"---",{opcode:"audioSourceGetModificationsBoolean",text:"audio source [NAME] [OPTION] in [AUDIOGROUP]",blockType:n.BOOLEAN,disableMonitor:!0,arguments:{NAME:{type:i.STRING,defaultValue:"AudioSource1"},OPTION:{type:i.STRING,menu:"audioSourceOptionsBooleans",defaultValue:""},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""}}},{opcode:"audioSourceGetModificationsNormal",text:"audio source [NAME] [OPTION] in [AUDIOGROUP]",blockType:n.REPORTER,disableMonitor:!0,arguments:{NAME:{type:i.STRING,defaultValue:"AudioSource1"},OPTION:{type:i.STRING,menu:"audioSourceOptions",defaultValue:""},AUDIOGROUP:{type:i.STRING,menu:"audioGroup",defaultValue:""}}}],menus:{audioGroup:"fetchAudioGroupMenu",sounds:"fetchScratchSoundMenu",vspp:{acceptReporters:!0,items:[{text:"volume",value:"volume"},{text:"speed",value:"speed"},{text:"pitch",value:"pitch"},{text:"pan",value:"pan"}]},playerOptions:{acceptReporters:!0,items:[{text:"play",value:"play"},{text:"stop",value:"stop"}]},loop:{acceptReporters:!0,items:[{text:"loop",value:"loop"},{text:"not loop",value:"not loop"}]},deleteOptions:{acceptReporters:!0,items:[{text:"delete",value:"delete"},{text:"stop",value:"stop"}]},createOptions:{acceptReporters:!0,items:[{text:"create",value:"create"},{text:"delete",value:"delete"}]},audioGroupOptions:{acceptReporters:!0,items:[{text:"volume",value:"volume"},{text:"speed",value:"speed"},{text:"pitch",value:"pitch"},{text:"pan",value:"pan"}]},audioSourceOptionsBooleans:{acceptReporters:!0,items:[{text:"playing",value:"playing"},{text:"looping",value:"looping"}]},audioSourceOptions:{acceptReporters:!0,items:[{text:"volume",value:"volume"},{text:"speed",value:"speed"},{text:"pitch",value:"pitch"},{text:"pan",value:"pan"},{text:"start position",value:"start position"},{text:"sound length",value:"sound length"},{text:"origin sound",value:"origin sound"}]}}}}createAudioGroup(){const A=prompt("Set a name for this Audio Group:","audio group "+(r.GetAllAudioGroups().length+1));return A?r.GetAudioGroup(A)?alert('"'.concat(A,'" is taken!')):(r.AddAudioGroup(A),vm.emitWorkspaceUpdate(),void this.serialize()):alert("Canceled")}deleteAudioGroup(){const A=prompt("Which audio group would you like to delete?");r.DeleteAudioGroup(A),vm.emitWorkspaceUpdate(),this.serialize()}fetchAudioGroupMenu(){const A=r.GetAllAudioGroups();return A.length<=0?[{text:"",value:""}]:A.map(A=>({text:A.id,value:A.id}))}fetchScratchSoundMenu(){const A=vm.editingTarget.sprite.sounds;return A.length<=0?[{text:"",value:""}]:A.map(A=>({text:A.name,value:A.name}))}audioGroupGet(A){const e=r.GetAudioGroup(A.AUDIOGROUP);return JSON.stringify(Object.getOwnPropertyNames(e.sources))}audioGroupSetVolumeSpeedPitchPan(A){const e=r.GetAudioGroup(A.AUDIOGROUP);switch(A.VSPP){case"volume":e.globalVolume=r.Clamp(r.SafeNumberConvert(A.VALUE)/100,0,1);break;case"speed":e.globalSpeed=r.Clamp(r.SafeNumberConvert(A.VALUE)/100,0,1/0);break;case"pitch":e.globalPitch=r.SafeNumberConvert(A.VALUE);break;case"pan":e.globalPan=r.Clamp(r.SafeNumberConvert(A.VALUE),-100,100)/100}r.UpdateAudioGroupSources(e)}audioSourceCreate(A){const e=r.GetAudioGroup(A.AUDIOGROUP);switch(A.CREATEOPTION){case"create":r.AppendAudioSource(e,A.NAME);break;case"delete":r.RemoveAudioSource(e,A.NAME)}}audioSourceDeleteAll(A){const e=r.GetAudioGroup(A.AUDIOGROUP);Object.getOwnPropertyNames(e.sources).forEach(t=>{switch(A.DELETEOPTION){case"delete":r.RemoveAudioSource(e,t);break;case"stop":e.sources[t].stop()}})}audioSourceSetScratch(A,e){return new Promise((t,n)=>{const i=r.GetAudioGroup(A.AUDIOGROUP);if(!i)return t();const s=r.GrabAudioSource(i,A.NAME);if(!s)return t();const o=r.FindSoundByName(e.target.sprite.sounds,A.SOUND);if(!o)return t();let a=!0;try{e.target.sprite.soundBank.getSoundPlayer(o.soundId).buffer}catch(A){a=!1}if(!a)return t();const B=e.target.sprite.soundBank.getSoundPlayer(o.soundId).buffer;s.duration=B.duration,s.src=B,s.originAudioName="".concat(A.SOUND),t()})}audioSourceSetUrl(A,e){return new Promise((t,n)=>{const i=r.GetAudioGroup(A.AUDIOGROUP);if(!i)return t();const s=r.GrabAudioSource(i,A.NAME);if(!s)return t();fetch(A.URL).then(e=>e.arrayBuffer().then(e=>{r.audioContext.decodeAudioData(e,e=>{s.duration=e.duration,s.src=e,s.originAudioName="".concat(A.URL),t()},t)}).catch(t)).catch(n=>{const i=r.FindSoundByName(e.target.sprite.sounds,A.URL);if(i){let n=!0;try{e.target.sprite.soundBank.getSoundPlayer(i.soundId).buffer}catch(A){n=!1}if(!n)return t();const r=e.target.sprite.soundBank.getSoundPlayer(i.soundId).buffer;return s.duration=r.duration,s.src=r,s.originAudioName="".concat(A.URL),t()}return console.warn(n),t()})})}audioSourcePlayerOption(A){const e=r.GetAudioGroup(A.AUDIOGROUP);if(!e)return;const t=r.GrabAudioSource(e,A.NAME);t&&["play","pause","stop"].includes(A.PLAYEROPTION)&&t[A.PLAYEROPTION]()}audioSourceSetLoop(A){const e=r.GetAudioGroup(A.AUDIOGROUP);if(!e)return;const t=r.GrabAudioSource(e,A.NAME);t&&["loop","not loop"].includes(A.LOOP)&&(t.looping="loop"==A.LOOP)}audioSourceSetTime(A){const e=r.GetAudioGroup(A.AUDIOGROUP);if(!e)return;const t=r.GrabAudioSource(e,A.NAME);t&&(t.timePosition=r.SafeNumberConvert(A.TIME))}audioSourceSetVolumeSpeedPitchPan(A){const e=r.GetAudioGroup(A.AUDIOGROUP);if(!e)return;const t=r.GrabAudioSource(e,A.NAME);if(t){switch(A.VSPP){case"volume":t.volume=r.Clamp(r.SafeNumberConvert(A.VALUE)/100,0,1);break;case"speed":t.speed=r.Clamp(r.SafeNumberConvert(A.VALUE)/100,0,1/0);break;case"pitch":t.pitch=r.SafeNumberConvert(A.VALUE);break;case"pan":t.pan=r.Clamp(r.SafeNumberConvert(A.VALUE),-100,100)/100}r.UpdateAudioGroupSources(e)}}audioGroupGetModifications(A){const e=r.GetAudioGroup(A.AUDIOGROUP);switch(A.OPTION){case"volume":return 100*e.globalVolume;case"speed":return 100*e.globalSpeed;case"pitch":return e.globalPitch;case"pan":return 100*e.globalPan;default:return 0}}audioSourceGetModificationsBoolean(A){const e=r.GetAudioGroup(A.AUDIOGROUP);if(!e)return!1;const t=r.GrabAudioSource(e,A.NAME);if(!t)return!1;switch(A.OPTION){case"playing":return!t.paused&&!t.notPlaying;case"paused":return t.paused;case"looping":return t.looping;default:return!1}}audioSourceGetModificationsNormal(A){const e=r.GetAudioGroup(A.AUDIOGROUP);if(!e)return"";const t=r.GrabAudioSource(e,A.NAME);if(!t)return"";switch(A.OPTION){case"volume":return 100*t.volume;case"speed":return 100*t.speed;case"pitch":return t.pitch;case"pan":return 100*t.pan;case"start position":return t.timePosition;case"sound length":return t.duration;case"origin sound":return t.originAudioName;default:return""}}}},function(A,e){function t(A,e){let t=A;for(;t>e;)t-=e;return t}const n=[];class i{constructor(A,e,t,n,i){null==t&&(t=""),null==n&&(n={}),this.src=t,this.volume=null!=n.volume?n.volume:1,this.speed=null!=n.speed?n.speed:1,this.pitch=null!=n.pitch?n.pitch:0,this.pan=null!=n.pan?n.pan:0,this.looping=null!=n.looping&&n.looping,this._startingTime=0,this._endingTime=null,this.timePosition=null!=n.timePosition?n.timePosition:0,this.resumeSpot=0,this.paused=!1,this.notPlaying=!0,this._pauseTime=null,this._pauseTimeOffset=null,this.parent=i,this._audioContext=null==A?new AudioContext:A,this._audioNode=null,this._audioGroup=e,this._audioPanner=this._audioContext.createPanner(),this._audioPanner.panningModel="equalpower",this._audioPanner.connect(i.audioGlobalVolumeNode),this._audioGainNode=this._audioContext.createGain(),this._audioGainNode.gain.value=1,this._audioGainNode.connect(this._audioPanner),this.duration=t.duration,this.originAudioName=""}play(){try{this._audioNode&&(this._audioNode.onended=null,this._audioNode.stop())}catch(A){}this._audioNode=this._audioContext.createBufferSource(),n.push(this._audioNode);const A=this._audioNode;this.update(),A.buffer=this.src,A.connect(this._audioGainNode),this._endingTime=null,this.paused?(this.paused=!1,A.start(0,this.resumeSpot),this._startingTime=this._pauseTime-this._pauseTimeOffset,this._pauseTime=null,this._pauseTimeOffset=null):(A.start(0,this.timePosition),this._startingTime=Date.now()),this.notPlaying=!1,A.onended=()=>{this.paused||(this._endingTime=Date.now(),A.onended=null,this.notPlaying=!0)}}stop(){try{this._audioNode&&(this._audioNode.stop(),this._audioNode=null,this.notPlaying=!0),this.paused=!1}catch(A){}}pause(){this._audioNode&&(this.paused=!0,this.resumeSpot=t((Date.now()-this._startingTime)*this.speed,1e3*this.duration)/1e3,this._audioNode.stop(),this._audioNode=null,this._pauseTime=Date.now(),this._pauseTimeOffset=Date.now()-this._startingTime,this.notPlaying=!0)}update(){if(!this._audioNode)return;const A=this._audioNode,e=this._audioGroup,t=this._audioGainNode,n=this._audioPanner;A.loop=this.looping,A.detune.value=this.pitch,A.playbackRate.value=this.speed,t.gain.value=this.volume,A.detune.value+=e.globalPitch,A.playbackRate.value*=e.globalSpeed,t.gain.value*=e.globalVolume;const i=this.calculatePannerPosition((r=function(A){const e=Number(A);return null==e||null==e||isNaN(e)?0:e}(this.pan/e.globalPan),o=1,r<(s=-1)?s:r>o?o:r));var r,s,o;n.setPosition(i.x,i.y,i.z)}calculateTimePosition(){return null!=this._endingTime?(this._endingTime-this._startingTime)*this.speed:t((Date.now()-this._startingTime)*this.speed,1e3*this.duration)}calculatePannerPosition(A){return{x:A,y:0,z:1-Math.abs(A)}}}A.exports.Helper=class{constructor(A){this.runtime=A,this.audioGroups={},this.audioContext=null,this.audioGlobalVolumeNode=null}SetRuntime(A){this.runtime=A}AddAudioGroup(A,e,t){return null==e&&(e={}),this.audioGroups[A]={id:A,sources:null==t?{}:t,globalVolume:null==e.globalVolume?1:e.globalVolume,globalSpeed:null==e.globalSpeed?1:e.globalSpeed,globalPitch:null==e.globalPitch?0:e.globalPitch,globalPan:null==e.globalPan?0:e.globalPan},this.audioGroups[A]}DeleteAudioGroup(A){null!=this.audioGroups[A]&&delete this.audioGroups[A]}GetAudioGroup(A){return this.audioGroups[A]}GetAllAudioGroups(){return Object.values(this.audioGroups)}UpdateAudioGroupSources(A){const e=this.GrabAllGrabAudioSources(A);for(let A=0;A<e.length;A++){e[A].update()}}AppendAudioSource(A,e,t,n){const r="string"==typeof A?this.GetAudioGroup(A):A;if(r)return this.audioContext||(this.audioContext=new AudioContext),this.audioGlobalVolumeNode||(this.audioGlobalVolumeNode=this.audioContext.createGain(),this.audioGlobalVolumeNode.gain.value=1,this.runtime.audioEngine&&(this.audioGlobalVolumeNode.gain.value=this.runtime.audioEngine.inputNode.gain.value),this.audioGlobalVolumeNode.connect(this.audioContext.destination)),r.sources[e]=new i(this.audioContext,r,t,n,this),r.sources[e]}RemoveAudioSource(A,e){const t="string"==typeof A?this.GetAudioGroup(A):A;t&&null!=t.sources[e]&&delete t.sources[e]}GrabAudioSource(A,e){const t="string"==typeof A?this.GetAudioGroup(A):A;if(t)return t.sources[e]}GrabAllGrabAudioSources(A){const e="string"==typeof A?this.GetAudioGroup(A):A;return e?Object.values(e.sources):[]}FindSoundBySoundId(A,e){for(let t=0;t<A.length;t++){const n=A[t];if(n.soundId==e)return n}return null}FindSoundByName(A,e){for(let t=0;t<A.length;t++){const n=A[t];if(n.name==e)return n}return null}SafeNumberConvert(A){const e=Number(A);return null==e||null==e||isNaN(e)?0:e}Clamp(A,e,t){return A<e?e:A>t?t:A}KillAllProcesses(){console.info("Attempting to kill",n.length,"audio nodes"),n.forEach(A=>{!function(A,e){try{A()}catch(A){e&&e(A)}}(()=>{A.stop()})}),n.splice(0,n.length)}},A.exports.AudioSource=i},function(A,e,t){const n=t(7),i=t(1),r=t(3),s=t(2),o=t(326),a=t(327);let B="";A.exports=class{constructor(A){this.runtime=A,this.promptStatus={inProgress:!1,blocked:!1,completed:!1,userClosed:!1},this.loginInfo={},this.keepAllowingAuthBlock=!0,this.disableConfirmationShown=!1}deserialize(){this.disableConfirmationShown=!1}getInfo(){return{id:"jgScratchAuthenticate",name:"Scratch Auth",color1:"#FFA01C",color2:"#ff8C00",blockIconURI:a,blocks:[{opcode:"authenticate",text:n({id:"jgScratchAuthenticate.blocks.authenticate",default:"get scratch username and set sign in location name to [NAME]",description:"Block that returns the user's name on Scratch."}),disableMonitor:!0,hideFromPalette:!0,arguments:{NAME:{type:r.STRING,defaultValue:"PenguinMod"}},blockType:i.REPORTER},{opcode:"showPrompt",text:n({id:"jgScratchAuthenticate.blocks.showPrompt",default:"show login message as [NAME]",description:"Block that shows the Log in menu from Scratch Authentication."}),arguments:{NAME:{type:r.STRING,menu:"loginLocation"}},blockType:i.COMMAND},{opcode:"getPromptStatus",text:n({id:"jgScratchAuthenticate.blocks.promptStatus",default:"login prompt [STATUS]?",description:"The status of the login prompt for Scratch Authentication."}),arguments:{STATUS:{type:r.STRING,menu:"promptStatus"}},disableMonitor:!0,blockType:i.BOOLEAN},{opcode:"privateCode",text:n({id:"jgScratchAuthenticate.blocks.privateCode",default:"authentication code",description:"The login code when Scratch Authentication closes the login prompt."}),disableMonitor:!0,blockType:i.REPORTER},{opcode:"serverRedirectLocation",text:n({id:"jgScratchAuthenticate.blocks.serverRedirectLocation",default:"redirect location",description:"The redirect location when Scratch Authentication closes the login prompt."}),disableMonitor:!0,blockType:i.REPORTER},"---",{text:n({id:"jgScratchAuthenticate.labels.loginInfo1",default:"The blocks below invalidate",description:"Label to denote that blocks invalidate the Scratch Auth private code below this label"}),blockType:i.LABEL},{text:n({id:"jgScratchAuthenticate.labels.loginInfo2",default:"the authentication code from above.",description:"Label to denote that blocks invalidate the Scratch Auth private code below this label"}),blockType:i.LABEL},{opcode:"validLogin",text:n({id:"jgScratchAuthenticate.blocks.validLogin",default:"login is valid?",description:"Whether or not the authentication was valid."}),disableMonitor:!0,hideFromPalette:!0,blockType:i.BOOLEAN},{opcode:"scratchUsername",text:n({id:"jgScratchAuthenticate.blocks.scratchUsername",default:"scratch username",description:"The username that was logged in."}),disableMonitor:!0,blockType:i.REPORTER}],menus:{loginLocation:{items:"_getLoginLocations",isTypeable:!0},promptStatus:[{text:"in progress",value:"inProgress"},{text:"blocked",value:"blocked"},{text:"complete",value:"completed"},{text:"closed by the user",value:"userClosed"}]}}}_getLoginLocations(){const A=document.title.split(" - ");A.pop();const e=s.toString(A.join(" - "));return["PenguinMod"===e?"Project":e,"PenguinMod","Game"]}async parseLoginCode_(){if(!B)throw new Error("Private code not present");const A=await fetch("https://pm-bapi.vercel.app/api/verifyToken?privateCode=".concat(B)),e=await A.json();return this.loginInfo={valid:e.valid,username:e.username},this.loginInfo}showPrompt(A){this.promptStatus={inProgress:!0,blocked:!1,completed:!1,userClosed:!1},this.loginInfo={};const e=s.toString(A.NAME),t=encodeURIComponent(e.substring(0,256).replace(/[^a-zA-Z0-9 _\-\.\[\]\(\)]+/gim,"")),n="https://studio.penguinmod.com/scratchAuthExt.html?openLocation=".concat(encodeURIComponent(window.origin));let i,r=!1;const o=A=>{if(A.origin!==new URL(n).origin)return;if(!A.data||!A.data.scratchauthd1)return;const e=A.data.scratchauthd1.pv;B=e,this.promptStatus.inProgress=!1,this.promptStatus.completed=!0,r=!0,window.removeEventListener("message",o),i.close()};if(window.addEventListener("message",o),i=window.open("https://auth.itinerary.eu.org/auth/?redirect=".concat(btoa(n)).concat(t.length>0?"&name=".concat(t):""),"Scratch Authentication","scrollbars=yes,resizable=yes,status=no,location=yes,toolbar=no,menubar=no,width=768,height=512,left=200,top=200"),!i)return this.promptStatus.inProgress=!1,void(this.promptStatus.blocked=!0);const a=setInterval(()=>{i.closed&&(this.promptStatus.inProgress=!1,r||(this.promptStatus.userClosed=!0),window.removeEventListener("message",o),clearInterval(a))},500)}privateCode(){const A=B;return B="",A}serverRedirectLocation(){return"https://studio.penguinmod.com/scratchAuthExt.html?openLocation=".concat(window.origin)}getPromptStatus(A){const e=s.toString(A.STATUS);return e in this.promptStatus&&this.promptStatus[e]}async validLogin(){if(Object.keys(this.loginInfo).length<=0)try{await this.parseLoginCode_()}catch(A){return!1}return!!this.loginInfo.valid}async scratchUsername(){if(Object.keys(this.loginInfo).length<=0)try{await this.parseLoginCode_()}catch(A){return""}return s.toString(this.loginInfo.username)}authenticate(){for(var A=arguments.length,e=new Array(A),t=0;t<A;t++)e[t]=arguments[t];return o.authenticate(this,...e)}}},function(A,e,t){const n=t(56);A.exports={authenticate:(A,e)=>{if(!A.keepAllowingAuthBlock){if(A.disableConfirmationShown)return"The user has declined the ability to authenticate.";if(!n.RequestPermission("scratchSignIn"))return A.disableConfirmationShown=!0,"The user has declined the ability to authenticate."}return new Promise(t=>{const n=encodeURIComponent(String(e.NAME).substring(0,256).replace(/[^a-zA-Z0-9 _-]+/gim,"_")),i="".concat(window.location.origin,"/wait.html"),r=window.open("https://auth.itinerary.eu.org/auth/?redirect=".concat(btoa(i),"&name=").concat(n.length>0?n:"PenguinMod"),"Scratch Authentication","scrollbars=yes,resizable=yes,status=no,location=yes,toolbar=no,menubar=no,width=768,height=512,left=200,top=200");r||t("Authentication failed to appear.");let s=!1,o=!1,a=null;a=setInterval(()=>{if(null!=r&&r.closed&&!o){A.keepAllowingAuthBlock=!1,clearInterval(a);try{r.close()}catch(A){}t("")}try{const A=r.location.search;if(!s)return;const e=new URLSearchParams(A).get("privateCode");e||(o=!0,clearInterval(a),r.close(),t("")),clearInterval(a),fetch("https://pm-bapi.vercel.app/api/verifyToken?privateCode=".concat(e)).then(A=>A.json().then(A=>{o=!0,r.close(),1!=A.valid&&t(""),t(String(A.username))}).catch(()=>{o=!0,r.close(),t("")})).catch(()=>{o=!0,r.close(),t("")})}catch(A){s=!0}},10)})}}},function(A,e,t){"use strict";t.r(e),e.default="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzNTkuODg4MzciIGhlaWdodD0iMzU5Ljg4ODM3IiB2aWV3Qm94PSIwLDAsMzU5Ljg4ODM3LDM1OS44ODgzNyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMDU1ODEsLTAuMDU1ODEpIj48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpc1BhaW50aW5nTGF5ZXImcXVvdDs6dHJ1ZX0iIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0wLjA1NTgxLDE4MGMwLC05OS4zODA0MyA4MC41NjM3NiwtMTc5Ljk0NDE5IDE3OS45NDQxOSwtMTc5Ljk0NDE5Yzk5LjM4MDQzLDAgMTc5Ljk0NDE5LDgwLjU2Mzc2IDE3OS45NDQxOSwxNzkuOTQ0MTljMCw5OS4zODA0MyAtODAuNTYzNzYsMTc5Ljk0NDE5IC0xNzkuOTQ0MTksMTc5Ljk0NDE5Yy05OS4zODA0MywwIC0xNzkuOTQ0MTksLTgwLjU2Mzc2IC0xNzkuOTQ0MTksLTE3OS45NDQxOXoiIGZpbGw9IiNmZmEwMWMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIwIi8+PHBhdGggZD0iTTI4Ny43NTE3OCwxOTMuOTAzOTJjMCw0OC43MzkxMyAtMzkuMjQxMzIsODguMjUgLTEwNy43NSw4OC4yNWMtNjguMDA4NjgsMCAtMTA3Ljc1LC0zOS41MTA4NyAtMTA3Ljc1LC04OC4yNWMwLC05LjE5MDg0IC0wLjIzMTIyLC0xOS4xOTU3NiAzLjAzODI3LC0yNy43NTgwN2M1LjIwNzY0LC0xMy42Mzc5OSA4LjkxMjAzLC03NC42MDAwOCAyMC40NjE3OCwtODYuNTA3OWM4Ljg2Mzg3LC05LjEzODY2IDI5Ljc5MTQsMzAuNjM4MTggNDMuOTQ5NzcsMjUuNTc0NzRjMTIuNjU3NTUsLTQuNTI2NyAyNS40NDQ2NiwtNC41NTg3NiAzOS44MDAxNywtNC41NTg3NmMxMy4wODE0OSwwIDI2LjU0NjAzLDIuMTAyNTggMzguMDMyNzIsNS45MDEwN2MxMC41MDM3OSwzLjQ3MzQ2IDM4LjkwMjM3LC0zMy43MjE1IDQ0LjI4MjQyLC0yOC4xMzYyN2MxNC42MDcxNSwxNS4xNjQyMSAxNi42NDA2LDY5LjQxMTk3IDIyLjUyNTM5LDg4Ljc4MzY1YzIuMjI3NDQsNy4zMzIzMyAzLjQwOTQ3LDE4Ljk1MDg0IDMuNDA5NDcsMjYuNzAxNTZ6IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMjUiLz48L2c+PC9nPjwvc3ZnPjwhLS1yb3RhdGlvbkNlbnRlcjoxNzkuOTQ0MTg2MDQ2NTExNjI6MTc5Ljk0NDE4NjA0NjUxMTYyLS0+"},function(A,e,t){const n=t(1),i=t(3),r=t(56);A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"JgPermissionBlocks",name:"Permissions",color1:"#00C4FF",color2:"#0093FF",blocks:[{blockType:n.LABEL,text:"This extension is deprecated."},{hideFromPalette:!0,opcode:"requestPermission",text:"request [PERMISSION] permission",disableMonitor:!1,blockType:n.BOOLEAN,arguments:{PERMISSION:{type:i.STRING,menu:"permissions",defaultValue:"javascript"}}},{hideFromPalette:!0,opcode:"requestPermission2",text:"request [PERMISSION] permission",disableMonitor:!1,blockType:n.BOOLEAN,arguments:{PERMISSION:{type:i.STRING,menu:"permissions2"}}},{hideFromPalette:!0,opcode:"requestAllPermission",text:"request all permissions",disableMonitor:!1,blockType:n.BOOLEAN},{hideFromPalette:!0,opcode:"requestSitePermission",text:"request permission to show [URL]",disableMonitor:!1,blockType:n.BOOLEAN,arguments:{URL:{type:i.STRING,defaultValue:"https://www.example.com"}}}],menus:{permissions:"fetchPermissionsList",permissions2:"fetchPermissionsList2"}}}fetchPermissionsList(){return Object.getOwnPropertyNames(r.permissions).filter(A=>"boolean"==typeof r.permissions[A]).map(A=>({text:A,value:A}))}fetchPermissionsList2(){return Object.getOwnPropertyNames(r.permissions).filter(A=>"boolean"==typeof r.permissions[A]).filter(A=>"javascript"!==A).map(A=>({text:A,value:A}))}requestPermission(A){const e=A.PERMISSION;return 1==r.permissions[e]||r.RequestPermission(e)}requestPermission2(A){const e=A.PERMISSION;return 1==r.permissions[e]||r.RequestPermission(e)}requestAllPermission(){return r.RequestAllPermissions()}requestSitePermission(A){const e=A.URL;return 1==r.permissions.limitedWebsites[e]||r.RequestPermission("limitedWebsite",e)}}},function(A,e,t){const n=t(7),i=t(1),r=t(3);A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"jgClones",name:"Clone Communication",color1:"#FFAB19",color2:"#EC9C13",blocks:[{blockType:i.LABEL,text:"Main Sprite Communication"},{opcode:"getCloneWithVariableSetTo",text:n({id:"jgClones.blocks.getCloneWithVariableSetTo",default:"get [DATA] of clone with [VAR] set to [VALUE]",description:"Block that returns the value of the item picked within a clone with a variable set to a certain value."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{DATA:{type:r.STRING,menu:"spriteData"},VAR:{type:r.STRING,menu:"spriteVariables"},VALUE:{type:r.STRING,defaultValue:"0"}}},{opcode:"getCloneVariableWithVariableSetTo",text:n({id:"jgClones.blocks.getCloneVariableWithVariableSetTo",default:"get [VAR1] of clone with [VAR2] set to [VALUE]",description:"Block that returns the value of the variable picked within a clone with a variable set to a certain value."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{VAR1:{type:r.STRING,menu:"spriteVariables"},VAR2:{type:r.STRING,menu:"spriteVariables"},VALUE:{type:r.STRING,defaultValue:"0"}}},{opcode:"setVariableOnCloneWithVariableSetTo",text:n({id:"jgClones.blocks.setVariableOnCloneWithVariableSetTo",default:"set [VAR1] to [VALUE1] on clone with [VAR2] set to [VALUE2]",description:"Block that sets a variable within a clone with a variable set to a certain value."}),blockType:i.COMMAND,arguments:{VAR1:{type:r.STRING,menu:"spriteVariables"},VALUE1:{type:r.STRING,defaultValue:"0"},VAR2:{type:r.STRING,menu:"spriteVariables"},VALUE2:{type:r.STRING,defaultValue:"0"}}},"---","---",{blockType:i.LABEL,text:"Clone Communication"},{opcode:"getMainSpriteData",text:n({id:"jgClones.blocks.getMainSpriteData",default:"get [DATA] of main sprite",description:"Block that returns the value of the item picked on the main sprite."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{DATA:{type:r.STRING,menu:"spriteData"}}},{opcode:"getVariableOnMainSprite",text:n({id:"jgClones.blocks.getVariableOnMainSprite",default:"get [VAR] of main sprite",description:"Block that returns the value of the variable picked on the main sprite."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{VAR:{type:r.STRING,menu:"spriteVariables"}}},{opcode:"setVariableOnMainSprite",text:n({id:"jgClones.blocks.setVariableOnMainSprite",default:"set [VAR] to [VALUE] on main sprite",description:"Block that sets a variable within the main sprite."}),blockType:i.COMMAND,arguments:{VAR:{type:r.STRING,menu:"spriteVariables"},VALUE:{type:r.STRING,defaultValue:"0"}}},"---","---",{blockType:i.LABEL,text:"Other"},{opcode:"getIsClone",text:n({id:"jgClones.blocks.getIsClone",default:"is clone?",description:"Block that returns whether the current sprite is a clone or not."}),disableMonitor:!0,blockType:i.BOOLEAN},{opcode:"clonesInSprite",text:n({id:"jgClones.blocks.clonesInSprite",default:"clone count of [SPRITE]",description:"Block that returns the amount of clones of this sprite that currently exist."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{SPRITE:{type:r.STRING,menu:"sprites"}}}],menus:{sprites:"getSpriteMenu",spriteVariables:"getSpriteVariablesMenu",spriteData:{acceptReporters:!0,items:["x position","y position","direction","rotation style","visible","costume number","costume name","size","x stretch","y stretch","volume","draggable","color effect","fisheye effect","whirl effect","pixelate effect","mosaic effect","brightness effect","ghost effect","saturation effect","red effect","green effect","blue effect","opaque effect"].map(A=>({text:A,value:A}))}}}}getClones(A){if(!A.clones)return[];return A.clones.filter(A=>!1===A.isOriginal)}getTargetBySpriteName(A){return this.runtime.targets.filter(A=>A.isOriginal).filter(e=>e.sprite.name==A)[0]}getTargetClonesByVariableSetToValue(A,e,t){return this.getClones(A.sprite).filter(A=>{const n=Object.getOwnPropertyNames(A.variables).map(e=>A.variables[e]).filter(A=>A.name==e)[0];return!!n&&String(n.value)==String(t)})}getTargetCloneByVariableSetToValue(A,e,t){const n=this.getTargetClonesByVariableSetToValue(A,e,t);if(n)return n[0]}menuOptionToTargetProperty(A){switch(A){case"x position":return"x";case"y position":return"y";case"x stretch":return"xStretch";case"y stretch":return"yStretch";case"rotation style":return"rotationStyle";case"costume number":return"currentCostume";case"costume name":return"costumeName";default:return A}}getMainSprite(A){if(!A.sprite)return;return A.sprite.clones.filter(A=>A.isOriginal)[0]}getSpriteMenu(){const A=this.runtime.targets,e=[{text:"",value:""}];if(!A)return e;const t=A.filter(A=>A.isOriginal&&!A.isStage).map(A=>({text:A.sprite.name,value:A.sprite.name}));return t.length>0?t:e}getSpriteVariablesMenu(){const A=vm.editingTarget,e=[{text:"",value:""}];if(!A)return e;if(!A.variables)return e;const t=Object.getOwnPropertyNames(A.variables).map(e=>{const t=A.variables[e];return{text:t.name,value:t.name}});return t.length>0?t:e}getIsClone(A,e){return!e.target.isOriginal}clonesInSprite(A){const e=this.getTargetBySpriteName(A.SPRITE);if(!e)return 0;return this.getClones(e.sprite).length}getCloneWithVariableSetTo(A,e){const t=e.target,n=this.getTargetCloneByVariableSetToValue(t,A.VAR,String(A.VALUE));if(!n)return"";const i=this.menuOptionToTargetProperty(A.DATA);switch(i){case"currentCostume":return n.currentCostume+1;case"costumeName":return n.sprite.costumes_[n.currentCostume].name;case"xStretch":return n.stretch[0];case"yStretch":return n.stretch[1];case"color effect":return n.effects.color;case"fisheye effect":return n.effects.fisheye;case"whirl effect":return n.effects.whirl;case"pixelate effect":return n.effects.pixelate;case"mosaic effect":return n.effects.mosaic;case"brightness effect":return n.effects.brightness;case"ghost effect":return n.effects.ghost;case"red effect":return n.effects.red;case"green effect":return n.effects.green;case"blue effect":return n.effects.blue;case"opaque effect":return n.effects.opaque;case"saturation effect":return n.effects.saturation;default:return n[i]}}getCloneVariableWithVariableSetTo(A,e){const t=e.target,n=this.getTargetCloneByVariableSetToValue(t,A.VAR2,String(A.VALUE));if(!n)return"";const i={};return Object.getOwnPropertyNames(n.variables).forEach(A=>{i[n.variables[A].name]=n.variables[A].value}),i[A.VAR1]}setVariableOnCloneWithVariableSetTo(A,e){const t=e.target;this.getTargetClonesByVariableSetToValue(t,A.VAR2,String(A.VALUE2)).forEach(e=>{Object.getOwnPropertyNames(e.variables).forEach(t=>{const n=e.variables[t];if(n.name!==A.VAR1)return;const i=isNaN(Number(A.VALUE1))?String(A.VALUE1):Number(A.VALUE1);n.value=i})})}getMainSpriteData(A,e){const t=e.target,n=this.getMainSprite(t);if(!n)return"";const i=this.menuOptionToTargetProperty(A.DATA);switch(i){case"currentCostume":return n.currentCostume+1;case"costumeName":return n.sprite.costumes_[n.currentCostume].name;case"xStretch":return n.stretch[0];case"yStretch":return n.stretch[1];case"color effect":return n.effects.color;case"fisheye effect":return n.effects.fisheye;case"whirl effect":return n.effects.whirl;case"pixelate effect":return n.effects.pixelate;case"mosaic effect":return n.effects.mosaic;case"brightness effect":return n.effects.brightness;case"ghost effect":return n.effects.ghost;case"red effect":return n.effects.red;case"green effect":return n.effects.green;case"blue effect":return n.effects.blue;case"opaque effect":return n.effects.opaque;case"saturation effect":return n.effects.saturation;default:return n[i]}}getVariableOnMainSprite(A,e){const t=e.target,n=this.getMainSprite(t);if(!n)return"";const i={};return Object.getOwnPropertyNames(n.variables).forEach(A=>{i[n.variables[A].name]=n.variables[A].value}),i[A.VAR]}setVariableOnMainSprite(A,e){const t=e.target,n=this.getMainSprite(t);Object.getOwnPropertyNames(n.variables).forEach(e=>{const t=n.variables[e];if(t.name!==A.VAR)return;const i=isNaN(Number(A.VALUE))?String(A.VALUE):Number(A.VALUE);t.value=i})}}},function(A,e,t){const n=t(7),i=t(1),r=t(3),s=t(2),o=(A,e,t)=>A*(t-e)+e,a=(A,e)=>{switch(e){case"in":return 1-a(1-A,"out");case"out":{const e=7.5625,t=2.75;return A<1/t?e*A*A:A<2/t?e*(A-=1.5/t)*A+.75:A<2.5/t?e*(A-=2.25/t)*A+.9375:e*(A-=2.625/t)*A+.984375}case"in out":return A<.5?(1-a(1-2*A,"out"))/2:(1+a(2*A-1,"out"))/2;default:return 0}},B={linear:A=>A,sine:(A,e)=>{switch(e){case"in":return 1-Math.cos(A*Math.PI/2);case"out":return Math.sin(A*Math.PI/2);case"in out":return-(Math.cos(Math.PI*A)-1)/2;default:return 0}},quad:(A,e)=>{switch(e){case"in":return A*A;case"out":return 1-(1-A)*(1-A);case"in out":return A<.5?2*A*A:1-Math.pow(-2*A+2,2)/2;default:return 0}},cubic:(A,e)=>{switch(e){case"in":return A*A*A;case"out":return 1-Math.pow(1-A,3);case"in out":return A<.5?4*A*A*A:1-Math.pow(-2*A+2,3)/2;default:return 0}},quart:(A,e)=>{switch(e){case"in":return A*A*A*A;case"out":return 1-Math.pow(1-A,4);case"in out":return A<.5?8*A*A*A*A:1-Math.pow(-2*A+2,4)/2;default:return 0}},quint:(A,e)=>{switch(e){case"in":return A*A*A*A*A;case"out":return 1-Math.pow(1-A,5);case"in out":return A<.5?16*A*A*A*A*A:1-Math.pow(-2*A+2,5)/2;default:return 0}},expo:(A,e)=>{switch(e){case"in":return 0===A?0:Math.pow(2,10*A-10);case"out":return 1===A?1:1-Math.pow(2,-10*A);case"in out":return 0===A?0:1===A?1:A<.5?Math.pow(2,20*A-10)/2:(2-Math.pow(2,-20*A+10))/2;default:return 0}},circ:(A,e)=>{switch(e){case"in":return 1-Math.sqrt(1-Math.pow(A,2));case"out":return Math.sqrt(1-Math.pow(A-1,2));case"in out":return A<.5?(1-Math.sqrt(1-Math.pow(2*A,2)))/2:(Math.sqrt(1-Math.pow(-2*A+2,2))+1)/2;default:return 0}},back:(A,e)=>{switch(e){case"in":{const e=1.70158;return(e+1)*A*A*A-e*A*A}case"out":{const e=1.70158;return 1+(e+1)*Math.pow(A-1,3)+e*Math.pow(A-1,2)}case"in out":{const e=1.525*1.70158;return A<.5?Math.pow(2*A,2)*(2*(e+1)*A-e)/2:(Math.pow(2*A-2,2)*((e+1)*(2*A-2)+e)+2)/2}default:return 0}},elastic:(A,e)=>{switch(e){case"in":{const e=2*Math.PI/3;return 0===A?0:1===A?1:-Math.pow(2,10*A-10)*Math.sin((10*A-10.75)*e)}case"out":{const e=2*Math.PI/3;return 0===A?0:1===A?1:Math.pow(2,-10*A)*Math.sin((10*A-.75)*e)+1}case"in out":{const e=2*Math.PI/4.5;return 0===A?0:1===A?1:A<.5?-Math.pow(2,20*A-10)*Math.sin((20*A-11.125)*e)/2:Math.pow(2,-20*A+10)*Math.sin((20*A-11.125)*e)/2+1}default:return 0}},bounce:a};A.exports=class{constructor(A){this.runtime=A}now(){return this.runtime.currentMSecs}getInfo(){return{id:"jgTween",name:"Tweening",blocks:[{opcode:"tweenValue",text:n({id:"jgTween.blocks.tweenValue",default:"[MODE] ease [DIRECTION] [START] to [END] by [AMOUNT]%",description:"Block for easing a value with a certain mode and direction by a certain amount."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{MODE:{type:r.STRING,menu:"modes"},DIRECTION:{type:r.STRING,menu:"direction"},START:{type:r.NUMBER,defaultValue:0},END:{type:r.NUMBER,defaultValue:100},AMOUNT:{type:r.NUMBER,defaultValue:50}}},{opcode:"tweenVariable",text:"tween variable [VAR] to [VALUE] over [SEC] seconds using [MODE] ease [DIRECTION]",blockType:i.COMMAND,arguments:{VAR:{type:r.STRING,menu:"vars"},VALUE:{type:r.NUMBER,defaultValue:100},SEC:{type:r.NUMBER,defaultValue:1},MODE:{type:r.STRING,menu:"modes"},DIRECTION:{type:r.STRING,menu:"direction"}}},{opcode:"tweenXY",text:"tween to x: [X] y: [Y] over [SEC] seconds using [MODE] ease [DIRECTION]",blockType:i.COMMAND,arguments:{PROPERTY:{type:r.STRING,menu:"properties"},X:{type:r.NUMBER,defaultValue:100},Y:{type:r.NUMBER,defaultValue:100},SEC:{type:r.NUMBER,defaultValue:1},MODE:{type:r.STRING,menu:"modes"},DIRECTION:{type:r.STRING,menu:"direction"}}},{opcode:"tweenProperty",text:"tween [PROPERTY] to [VALUE] over [SEC] seconds using [MODE] ease [DIRECTION]",blockType:i.COMMAND,arguments:{PROPERTY:{type:r.STRING,menu:"properties"},VALUE:{type:r.NUMBER,defaultValue:100},SEC:{type:r.NUMBER,defaultValue:1},MODE:{type:r.STRING,menu:"modes"},DIRECTION:{type:r.STRING,menu:"direction"}}}],menus:{modes:{acceptReporters:!0,items:Object.keys(B)},direction:{acceptReporters:!0,items:["in","out","in out"]},vars:{acceptReporters:!1,items:"getVariables"},properties:{acceptReporters:!0,items:["x position","y position","direction","size"]}}}}getVariables(){const A="undefined"==typeof Blockly?[]:Blockly.getMainWorkspace().getVariableMap().getVariablesOfType("").map(A=>({text:A.name,value:A.getId()}));return A.length>0?A:[{text:"",value:""}]}tweenValue(A){const e=s.toString(A.MODE),t=s.toString(A.DIRECTION),n=s.toNumber(A.START),i=s.toNumber(A.END),r=s.toNumber(A.AMOUNT)/100;if(!Object.prototype.hasOwnProperty.call(B,e))return n;const a=(0,B[e])(r,t);return o(a,n,i)}_tweenValue(A,e,t,n,i){const r=e.stackFrame[t];if(r){if(this.now()-r.startTimeMS>=r.durationMS)return e.stackFrame[t].end;{e.yield();const A=(this.now()-r.startTimeMS)/r.durationMS,t=r.easingFunction(A,r.easeDirection);return o(t,r.start,r.end)}}{e.yield();const r=1e3*s.toNumber(A.SEC),o=s.toString(A.MODE),a=s.toString(A.DIRECTION),c=i,g=s.toNumber(A[n]);let Q;return Q=Object.prototype.hasOwnProperty.call(B,o)?B[o]:B.linear,e.stackFrame[t]={startTimeMS:this.now(),durationMS:r,easingFunction:Q,easeDirection:a,start:c,end:g},c}}tweenVariable(A,e){const t=e.target.lookupVariableById(A.VAR),n=this._tweenValue(A,e,"","VALUE",t.value);t&&""===t.type&&(t.value=n)}tweenXY(A,e){const t=this._tweenValue(A,e,"x","X",e.target.x),n=this._tweenValue(A,e,"y","Y",e.target.y);e.target.setXY(t,n)}tweenProperty(A,e){let t=0;"x position"===A.PROPERTY?t=e.target.x:"y position"===A.PROPERTY?t=e.target.y:"direction"===A.PROPERTY?t=e.target.direction:"size"===A.PROPERTY&&(t=e.target.size);const n=this._tweenValue(A,e,"","VALUE",t);"x position"===A.PROPERTY?e.target.setXY(n,e.target.y):"y position"===A.PROPERTY?e.target.setXY(e.target.x,n):"direction"===A.PROPERTY?e.target.setDirection(n):"size"===A.PROPERTY&&e.target.setSize(n)}}},function(A,e,t){function n(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function i(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach((function(e){r(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}function r(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const s=t(1),o=t(3),a=t(2),B=t(45),c=(A,e)=>{if('"'!==A.charAt(e))return!1;let t=e-1,n=!1;for(;"\\"===A.charAt(t);)n=!n,t-=1;return n},g={help:"List all commands and how to use them.\n\tSpecify a command after to only include that explanation.",exit:"Closes the debugger.",start:"Restarts the project like the flag was clicked.",stop:"Stops the project.",pause:"Pauses the project.",resume:"Resumes the project.",broadcast:"Starts a broadcast by name.",getvar:"Gets the value of a variable by name.\n\tAdd a sprite name to specify a variable in a sprite.",setvar:"Sets the value of a variable by name.\n\tAdd a sprite name to specify a variable in a sprite.",getlist:"Gets the value of a list by name.\n\tReturns an array.\n\tAdd a sprite name to specify a list in a sprite.",setlist:"Sets the value of a list by name.\n\tThe list will be set to the array specified.\n\tUse a sprite name as the first parameter instead to specify a list in a sprite."};A.exports=class{constructor(A){this.runtime=A,this.console=document.body.appendChild(document.createElement("div")),this.console.style="display: none;position: absolute; left: 40px; top: 40px;resize: both; border-radius: 8px;box-shadow: 0px 0px 10px black; border: 1px solid rgba(0, 0, 0, 0.15);background: black; font-family: monospace;min-height: 3rem; min-width: 128px; width: 480px; height: 480px;overflow: hidden; z-index: 1000000;",this.consoleHeader=this.console.appendChild(document.createElement("div")),this.consoleHeader.style="width: 100%; height: 2rem;position: absolute; left: 0px; top: 0px;display: flex; flex-direction: column; align-items: center;justify-content: center; color: white; cursor: move;background: #333333; z-index: 1000001; user-select: none;",this.consoleHeader.innerHTML="<p>Debugger</p>",this.consoleLogs=this.console.appendChild(document.createElement("div")),this.consoleLogs.style="width: 100%; height: calc(100% - 3rem);position: absolute; left: 0px; top: 2rem;color: white; cursor: text; overflow: auto;background: transparent; outline: unset !important;border: 0; margin: 0; padding: 0; font-family: monospace;display: flex; flex-direction: column; align-items: flex-start;z-index: 1000005; user-select: text;",this.consoleBar=this.console.appendChild(document.createElement("div")),this.consoleBar.style="width: 100%; height: 1rem;position: absolute; left: 0px; bottom: 0px;display: flex; flex-direction: row;color: white; cursor: text; background: black;z-index: 1000001; user-select: none;",this.consoleBarInput=this.consoleBar.appendChild(document.createElement("input")),this.consoleBarInput.style="width: calc(100% - 16px); height: 100%;position: absolute; left: 16px; top: 0px;border: 0; padding: 0; margin: 0; font-family: monospace;color: white; cursor: text; background: black;z-index: 1000003; user-select: none; outline: unset !important;";const e=this.consoleBar.appendChild(document.createElement("div"));e.style="width: 16px; height: 100%;position: absolute; left: 0px; top: 0px;color: white; cursor: text;z-index: 1000002; user-select: none;",e.innerHTML=">",e.onclick=()=>{this.consoleBarInput.focus()},this.consoleBarInput.onkeydown=A=>{if(A.ctrlKey||A.metaKey||A.shiftKey||A.altKey)return;if("enter"!==A.key.toLowerCase())return;const e=this.consoleBarInput.value;this.consoleBarInput.value="",this._addLog("> ".concat(e),"opacity: 0.7;");let t={};try{t=this._parseCommand(e)}catch(A){return void this._addLog("".concat(A),"color: red;")}console.log(t),this._runCommand(t)};let t=!1,n=0,i=0;this.consoleHeader.onmousedown=A=>{if(0!==A.button)return;t=!0,A.preventDefault();const e=this.console.getBoundingClientRect();n=A.clientX-e.left,i=A.clientY-e.top},document.addEventListener("mousemove",A=>{t&&(A.preventDefault(),this.console.style.left="".concat(A.clientX-n,"px"),this.console.style.top="".concat(A.clientY-i,"px"))}),document.addEventListener("mouseup",A=>{t&&(t=!1)}),this._logs=[],this.commandSet={},this.commandExplanations={}}getInfo(){return{id:"jgDebugging",name:"Debugging",color1:"#878787",color2:"#757575",blocks:[{opcode:"openDebugger",text:"open debugger",blockType:s.COMMAND},{opcode:"closeDebugger",text:"close debugger",blockType:s.COMMAND},"---",{opcode:"log",text:"log [INFO]",blockType:s.COMMAND,arguments:{INFO:{type:o.STRING,defaultValue:"Hello!"}}},{opcode:"warn",text:"warn [INFO]",blockType:s.COMMAND,arguments:{INFO:{type:o.STRING,defaultValue:"Warning"}}},{opcode:"error",text:"error [INFO]",blockType:s.COMMAND,arguments:{INFO:{type:o.STRING,defaultValue:"Error"}}}]}}_addLog(A,e){const t=this.consoleLogs.appendChild(document.createElement("p"));this._logs.push(A),t.style="white-space: break-spaces;",e&&(t.style="white-space: break-spaces; ".concat(e)),t.innerHTML=B(A),this.consoleLogs.scrollBy(0,1e6)}_parseCommand(A){const e=a.toString(A),t={command:"",args:[]};let n="",i=!0,r=!1,s=-1;for(const A of e.split(""))if(s++,i){if(" "===A||"\t"===A){if(n.length<=0)throw new SyntaxError("No command before white-space");t.command=n,n="",i=!1;continue}n+=A}else if(r)'"'!==A||c(e,s)?n+=A:(r=!1,t.args.push(JSON.parse('"'.concat(n,'"'))),n="");else{if('"'!==A){if(" "===A||"\t"===A){t.args.push(n),n="";continue}n+=A;continue}if(n.length>0)throw new SyntaxError("Cannot prefix string argument");r=!0}if(r)throw new SyntaxError("String never terminates in command");return i&&n.length>0?(t.command=n,i=!1):n.length>0&&t.args.push(n),t}_runCommand(A){if(!A)return;if(!A.command)return;const e=A.command,t=A.args;switch(e){case"help":{if(t.length>0){const A=t[0];let e="No description defined for this command.";A in this.commandExplanations?e=this.commandExplanations[A]:A in g&&(e=g[A]),this._addLog("- Command: ".concat(A,"\n").concat(e));break}const A=i(i({},this.commandExplanations),g);let e="";for(const t in A)e+="".concat(t," - ").concat(A[t],"\n");this._addLog(e);break}case"exit":this.closeDebugger();break;default:if(!(e in this.commandSet)){this._addLog('Command "'.concat(e,'" not found. Check "help" for command list.'),"color: red;");break}try{this.commandSet[e](...t)}catch(A){this._addLog("Error: ".concat(A),"color: red;")}}}_findBlockFromId(A,e){if(!e)return;if(!e.blocks)return;if(!e.blocks._blocks)return;return e.blocks._blocks[A]}openDebugger(){this.console.style.display=""}closeDebugger(){this.console.style.display="none"}log(A){const e=a.toString(A.INFO);console.log(e),this._addLog(e)}warn(A){const e=a.toString(A.INFO);console.warn(e),this._addLog(e,"color: yellow;")}error(A,e){const t=[],n=e.target,i=e.thread;i.stackClick&&t.push("clicked blocks");const r=i.peekStack(),s=this._findBlockFromId(r,n);s?t.push("block ".concat(s.opcode)):t.push("block ".concat(r));const o=this._findBlockFromId(i.topBlock,n);o?t.push("event ".concat(o.opcode)):t.push("event ".concat(i.topBlock)),t.push("sprite ".concat(n.sprite.name));const B="Error: ".concat(a.toString(A.INFO))+"\n".concat(t.map(A=>"\tat ".concat(A)).join("\n"));console.error(B),this._addLog(B,"color: red;")}}},function(A,e,t){const n=t(1);t(3),t(2);A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"jgEasySave",name:"Easy Save",color1:"#48a3d4",color2:"#3d89b3",blocks:[{blockType:n.LABEL,text:"Saving"},{opcode:"addVarToSave",text:"add variable [VAR] to save",blockType:n.COMMAND,arguments:{VAR:{menu:"variable"}}},{opcode:"addListToSave",text:"add list [LIST] to save",blockType:n.COMMAND,arguments:{LIST:{menu:"list"}}},{blockType:n.LABEL,text:"Loading"}],menus:{variable:{items:[],variableType:"scalar"},list:{items:[],variableType:"list"}}}}}},function(A,e,t){const n=t(1),i=t(3),r=t(2),s=t(334);A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"jgPackagerApplications",name:"Packager Applications",color1:"#66b8ff",color2:"#5092cc",blockIconURI:s,blocks:[{opcode:"isPackaged",blockType:n.BOOLEAN,text:"is packaged?"},{opcode:"moveWindow",blockType:n.COMMAND,text:"move window to x: [X] y: [Y]",arguments:{X:{type:i.NUMBER,defaultValue:0},Y:{type:i.NUMBER,defaultValue:0}}},{opcode:"setX",blockType:n.COMMAND,text:"set window x to [X]",arguments:{X:{type:i.NUMBER,defaultValue:0}}},{opcode:"changeX",blockType:n.COMMAND,text:"change window x by [X]",arguments:{X:{type:i.NUMBER,defaultValue:10}}},{opcode:"setY",blockType:n.COMMAND,text:"set window y to [Y]",arguments:{Y:{type:i.NUMBER,defaultValue:0}}},{opcode:"changeY",blockType:n.COMMAND,text:"change window y by [Y]",arguments:{Y:{type:i.NUMBER,defaultValue:10}}},{opcode:"windowX",blockType:n.REPORTER,text:"window x"},{opcode:"windowY",blockType:n.REPORTER,text:"window y"},"---",{opcode:"resizeWindow",blockType:n.COMMAND,text:"set window size to width: [WIDTH] height: [HEIGHT]",arguments:{WIDTH:{type:i.NUMBER,defaultValue:640},HEIGHT:{type:i.NUMBER,defaultValue:360}}},{opcode:"windowWidth",blockType:n.REPORTER,text:"window width"},{opcode:"windowHeight",blockType:n.REPORTER,text:"window height"},"---",{opcode:"enableFullscreen",blockType:n.COMMAND,text:"enable fullscreen"},{opcode:"exitFullscreen",blockType:n.COMMAND,text:"exit fullscreen"},{opcode:"isFullscreen",blockType:n.BOOLEAN,text:"in fullscreen?"},{opcode:"screenWidth",blockType:n.REPORTER,text:"screen width"},{opcode:"screenHeight",blockType:n.REPORTER,text:"screen height"},"---",{opcode:"setWindowName",blockType:n.COMMAND,text:"set window name to [NAME]",arguments:{NAME:{type:i.STRING,defaultValue:"My Cool Game"}}},{opcode:"getWindowName",blockType:n.REPORTER,text:"window name"},{opcode:"isFocused",blockType:n.BOOLEAN,text:"is user using this window?"},{opcode:"closeWindow",blockType:n.COMMAND,isTerminal:!0,text:"close window"}]}}isPackaged(){return this.runtime.isPackaged}moveWindow(A){const e=r.toNumber(A.X),t=r.toNumber(A.Y);window.moveTo(e,t)}setX(A){const e=r.toNumber(A.X),t=window.screenY;window.moveTo(e,t)}changeX(A){const e=r.toNumber(A.X);window.moveBy(e,0)}setY(A){const e=window.screenX,t=r.toNumber(A.Y);window.moveTo(e,t)}changeY(A){const e=r.toNumber(A.Y);window.moveBy(0,e)}windowX(){return window.screenLeft}windowY(){return window.screenTop}resizeWindow(A){const e=r.toNumber(A.WIDTH),t=r.toNumber(A.HEIGHT);window.resizeTo(e,t)}windowWidth(){return window.outerWidth}windowHeight(){return window.outerHeight}screenWidth(){return screen.width}screenHeight(){return screen.height}enableFullscreen(){document.documentElement.requestFullscreen()}exitFullscreen(){document.exitFullscreen()}isFullscreen(){return!!document.fullscreenElement}setWindowName(A){const e=r.toString(A.NAME);document.title=e}getWindowName(){return document.title}isFocused(){return document.hasFocus()}closeWindow(){window.close()}}},function(A,e,t){"use strict";t.r(e),e.default="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgdmlld0JveD0iMCwwLDYwLDYwIj4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMTAsLTE1MCkiPgogICAgICAgIDxnIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2lzUGFpbnRpbmdMYXllciZxdW90Ozp0cnVlfSIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2UtbGluZWNhcD0iYnV0dCIKICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIgogICAgICAgICAgICBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6IG5vcm1hbCI+CiAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICBkPSJNMjE1LjE1Nzc4LDE2Ni4yNzM2MmwyNC44NDIyMywtMTMuNzI2MzhsMjQuODQyMjIsMTMuNzI2Mzh2MjcuNDUyNzZsLTI0Ljg0MjIyLDEzLjcyNjM4bC0yNC44NDIyMywtMTMuNzI2Mzh6IgogICAgICAgICAgICAgICAgZmlsbD0iIzY2YjhmZiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIiIC8+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMjMuNDA0MjksMTY5Ljk1MTIxbDI0LjMzMTg2LC0xMi40NTI5N2w3LjA5ODQ5LDQuMDE5MjNsLTIzLjY2MTgyLDEyLjU4Njk3eiIgZmlsbD0iI2ZmZmZmZiIKICAgICAgICAgICAgICAgIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIwIiAvPgogICAgICAgICAgICA8cGF0aCBkPSJNMjIzLjI0MTM1LDE3OC41NjU2NmwtMC4wMDA1OSwtOC41NzY1NWg3LjkwNjVsMC4wMDA4NywxMi41OTY4eiIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIgogICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPSIwIiAvPgogICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgZD0iTTIxNS4xNTc3OCwxNjYuMjczNjJsMjQuODQyMjMsLTEzLjcyNjM4bDI0Ljg0MjIyLDEzLjcyNjM4djI3LjQ1Mjc2bC0yNC44NDIyMiwxMy43MjYzOGwtMjQuODQyMjMsLTEzLjcyNjM4eiIKICAgICAgICAgICAgICAgIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIyIiAvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+PCEtLXJvdGF0aW9uQ2VudGVyOjI1Ljg0MjIyNTAwMDAwMDAxMzoyOC41OTUyNTg1NzIwNDQyLS0+"},function(A,e,t){const n=t(1),i=t(3),r=t(2);A.exports=class{constructor(A){this.runtime=A,this.trackers=Object.create({}),this.maxSaving=Object.create({}),this.positions=Object.create({});const e=(A,e)=>{const t=A[0];return"object"!=typeof t||(t.x!==e.x||t.y!==e.y)};this.runtime.on("RUNTIME_STEP_START",()=>{for(const A in this.trackers){const t=this.trackers[A];if(t.isDisposed){this.stopTrackingSprite({NAME:A});continue}const n=this.positions[A],i=this.maxSaving[A];i<=0||(e(n,t)&&n.unshift({x:t.x,y:t.y}),this.positions[A]=n.slice(0,i))}})}getInfo(){return{id:"jgTailgating",name:"Tailgating",blocks:[{opcode:"startTrackingSprite",blockType:n.COMMAND,text:"start tracking [SPRITE] as [NAME]",arguments:{SPRITE:{type:i.STRING,menu:"spriteMenu"},NAME:{type:i.STRING,defaultValue:"leader"}}},{opcode:"stopTrackingSprite",blockType:n.COMMAND,text:"stop tracking [NAME]",arguments:{NAME:{type:i.STRING,defaultValue:"leader"}}},"---",{opcode:"followSprite",blockType:n.COMMAND,text:"follow [INDEX] positions behind [NAME]",arguments:{INDEX:{type:i.NUMBER,defaultValue:20},NAME:{type:i.STRING,defaultValue:"leader"}}},{opcode:"savePositionsBehindSprite",blockType:n.COMMAND,text:"set max saved positions behind [NAME] to [MAX]",arguments:{MAX:{type:i.NUMBER,defaultValue:20},NAME:{type:i.STRING,defaultValue:"leader"}}},{opcode:"getSpriteFollowPos",blockType:n.REPORTER,disableMonitor:!0,text:"get position [INDEX] behind [NAME]",arguments:{INDEX:{type:i.NUMBER,defaultValue:20},NAME:{type:i.STRING,defaultValue:"leader"}}}],menus:{spriteMenu:"_getSpriteMenu"}}}_getSpriteMenu(){const A=[];this.runtime.vm.editingTarget&&!this.runtime.vm.editingTarget.isStage&&A.push({text:"this sprite",value:"_myself_"});for(const e of this.runtime.targets){if(!e.isOriginal)continue;if(e.isStage)continue;if(this.runtime.vm.editingTarget&&this.runtime.vm.editingTarget.id===e.id)continue;const t=e.getName();A.push({text:t,value:t})}return A.length>0?A:[{text:"",value:""}]}startTrackingSprite(A,e){const t=r.toString(A.SPRITE),n=r.toString(A.NAME),i="_myself_"===t?e.target:this.runtime.getSpriteTargetByName(t);i&&(this.trackers[n]=i,this.positions[n]=[],n in this.maxSaving||(this.maxSaving[n]=20))}stopTrackingSprite(A){const e=r.toString(A.NAME);delete this.trackers[e],this.positions[e]=[]}followSprite(A,e){const t=r.toString(A.NAME),n=r.toNumber(A.INDEX),i=this.positions[t];if(!i)return;let s=i[n];if("object"!=typeof s){if(i.length<=0)return;s=i[i.length-1]}e.target.setXY(s.x,s.y)}getSpriteFollowPos(A){const e=r.toString(A.NAME),t=r.toNumber(A.INDEX),n=this.positions[e];if(!n)return"{}";let i=n[t];if("object"!=typeof i){if(n.length<=0)return"{}";i=n[n.length-1]}return JSON.stringify({x:i.x,y:i.y})}savePositionsBehindSprite(A,e){const t=r.toString(A.NAME),n=r.toNumber(A.MAX);let i=Math.round(n);i<=0&&(i=0),i>0&&i++,this.maxSaving[t]=i}}},function(module,exports,__webpack_require__){const formatMessage=__webpack_require__(7),BlockType=__webpack_require__(1),ArgumentType=__webpack_require__(3),Cast=__webpack_require__(2);class JgScriptsBlocks{constructor(A){this.runtime=A,this.scripts={},this.runtime.registerCompiledExtensionBlocks("jgScripts",this.getCompileInfo())}getExtension_(){return"runtime.ext_jgScripts"}getInfo(){return{id:"jgScripts",name:"Scripts",color1:"#8c8c8c",color2:"#7a7a7a",blocks:[{opcode:"createScript",text:formatMessage({id:"jgScripts.blocks.createScript",default:"create script named [NAME]",description:"Block that creates a blank script with the specified name."}),arguments:{NAME:{type:ArgumentType.STRING,defaultValue:"Script1"}},blockType:BlockType.COMMAND},{opcode:"deleteScript",text:formatMessage({id:"jgScripts.blocks.deleteScript",default:"delete script named [NAME]",description:"Block that deletes a script with the specified name."}),arguments:{NAME:{type:ArgumentType.STRING,defaultValue:"Script1"}},blockType:BlockType.COMMAND},{opcode:"scriptExists",text:formatMessage({id:"jgScripts.blocks.scriptExists",default:"script named [NAME] exists?",description:"Block that checks whether a script with the specified name exists."}),arguments:{NAME:{type:ArgumentType.STRING,defaultValue:"Script1"}},blockType:BlockType.BOOLEAN},"---",{opcode:"addBlocksTo",text:[formatMessage({id:"jgScripts.blocks.addBlocksTo1",default:"add blocks",description:"Block that sets a script to the inserted blocks."}),formatMessage({id:"jgScripts.blocks.addBlocksTo2",default:"to script [NAME]",description:"Block that sets a script to the inserted blocks."})],branchCount:1,arguments:{NAME:{type:ArgumentType.STRING,defaultValue:"Script1"}},blockType:BlockType.COMMAND},{opcode:"runBlocks",text:formatMessage({id:"jgScripts.blocks.runBlocks",default:"run script [NAME]",description:"Block that runs a script."}),arguments:{NAME:{type:ArgumentType.STRING,defaultValue:"Script1"}},blockType:BlockType.COMMAND}]}}getCompileInfo(){return{ir:{createScript:(A,e)=>({kind:"stack",name:A.descendInputOfBlock(e,"NAME")}),deleteScript:(A,e)=>({kind:"stack",name:A.descendInputOfBlock(e,"NAME")}),scriptExists:(A,e)=>({kind:"input",name:A.descendInputOfBlock(e,"NAME")}),addBlocksTo:(A,e)=>({kind:"stack",name:A.descendInputOfBlock(e,"NAME"),blocks:A.descendSubstack(e,"SUBSTACK")}),runBlocks:(A,e)=>({kind:"stack",name:A.descendInputOfBlock(e,"NAME")})},js:{createScript:(A,e,t)=>{const n=e.descendInput(A.name).asString();e.source+="".concat(this.getExtension_(),".scripts[").concat(n,"] = [];\n")},deleteScript:(A,e,t)=>{const n=e.descendInput(A.name).asString();e.source+="delete ".concat(this.getExtension_(),".scripts[").concat(n,"];\n")},scriptExists:(A,e,t)=>{const n=e.descendInput(A.name).asString();return new t.TypedInput("(".concat(n," in ").concat(this.getExtension_(),".scripts)"),t.TYPE_BOOLEAN)},addBlocksTo:(A,e,t)=>{const n=e.descendInput(A.name).asString(),i=JSON.stringify(A.blocks),r="".concat(this.getExtension_(),".scripts[").concat(n,"]");e.source+="if (".concat(r,") {\n"),e.source+="".concat(r," = [].concat(").concat(r,", ").concat(i,");\n"),e.source+="}\n"},runBlocks:(node,compiler,imports)=>{const name=compiler.descendInput(node.name).asString(),realName=eval(name),realScriptObject=this.scripts[realName];realScriptObject&&(compiler.source+="{\n",compiler.descendStack(realScriptObject,new imports.Frame(!1)),compiler.source+="}\n")}}}}createScript(){}deleteScript(){}scriptExists(){}addBlocksTo(){}}module.exports=JgScriptsBlocks},function(A,e,t){const n=t(2),i=t(10),r=t(338),s=t(0),{ConvexGeometry:o}=(t(68),t(612)),{OBJLoader:a}=t(348),{GLTFLoader:B}=t(349),{FBXLoader:c}=t(611),g=t(13),Q={OBJ:new a,GLTF:new B,FBX:new c};function E(A){return A*(Math.PI/180)}function l(A){const e=function(A){return A*(180/Math.PI)}(A);if(!String(e).includes("."))return e;const t=String(e).split("."),n=t[1].substring(0,3);return"999"===n&&"9"===t[1].charAt(3)?Number(t[0])+1:Number(t[0]+"."+n)}A.exports=class{constructor(A){this.runtime=A,this.three=s,this.runtime.prism_screenshot_checkForExternalCanvas=!0,this.runtime.prism_screenshot_externalCanvas=null,this.scene=null,this.camera=null,this.renderer=null,this.existingSceneObjects=[],this.existingSceneLights=[],this.lastStageSizeWhenRendering={width:0,height:0},this.savedMeshes={},this.sceneLayer="front",this.lastStageColor=[255,255,255,0],this.runtime.on("PROJECT_STOP_ALL",()=>{this.dispose(),this.sceneLayer="front",this.updateScratchCanvasRelayering()})}dispose(){this.existingSceneObjects=[],this.existingSceneLights=[],this.scene&&(this.scene.remove(),this.scene=null),this.camera&&(this.camera.remove(),this.camera=null),this.renderer&&(this.renderer.domElement&&this.renderer.domElement.remove(),this.renderer.dispose(),this.renderer=null,this.runtime.prism_screenshot_externalCanvas=null)}stackWarning(A,e){if(!A)return;if(!A.thread)return;if(!A.thread.stackClick)return;const t=A.thread.blockGlowInFrame;this.runtime.visualReport(t,e)}getInfo(){return r}getScratchCanvas(){return this.runtime.renderer.canvas}restyleExternalCanvas(A){A.style.position="absolute",A.style.width="100%",A.style.height="100%",A.style.pointerEvents="none"}appendElementAboveScratchCanvas(A){A.style.zIndex=450,"back"===this.sceneLayer&&(A.style.zIndex=0),this.getScratchCanvas().parentElement.prepend(A)}updateScratchCanvasRelayering(){const A=this.getScratchCanvas();A.style.backgroundColor="transparent",A.style.position="relative",n.toNumber(A.style.zIndex)<1&&(A.style.zIndex=1);let e=this.runtime.renderer._backgroundColor4f[3];"front"===this.sceneLayer&&(this.runtime.renderer._backgroundColor4f[3]=1,this.runtime.renderer.setBackgroundColor(this.lastStageColor[0],this.lastStageColor[1],this.lastStageColor[2])),"back"===this.sceneLayer&&(this.runtime.renderer._backgroundColor4f[0]===this.lastStageColor[0]&&this.runtime.renderer._backgroundColor4f[1]===this.lastStageColor[1]&&this.runtime.renderer._backgroundColor4f[2]===this.lastStageColor[2]||(console.log("updated stage color"),this.lastStageColor=this.runtime.renderer._backgroundColor4f),this.runtime.renderer._backgroundColor4f[3]=0,this.runtime.renderer.setBackgroundColor(0,0,0)),e!==this.runtime.renderer._backgroundColor4f[3]&&(this.runtime.renderer.dirty=!0)}needsToResizeCanvas(){return{width:this.runtime.stageWidth,height:this.runtime.stageHeight}!==this.lastStageSizeWhenRendering}mergeVertices(A){const e=A.attributes.position.array,t={},n=[],i=[];let r=0;for(let A=0;A<e.length;A+=3){const s=e[A],o=e[A+1],a=e[A+2],B="".concat(s,",").concat(o,",").concat(a);void 0===t[B]?(t[B]=r,n.push(s,o,a),i.push(r),r++):i.push(t[B])}return A.setAttribute("position",new s.Float32BufferAttribute(n,3)),A.setIndex(new s.Uint32BufferAttribute(i,1)),A}performRaycast(A,e){const t=e.geometry,n=this.mergeVertices(t),i=(new s.BufferGeometry).copy(n);i.computeBoundingBox(),i.boundingBox.applyMatrix4(e.matrixWorld);return A.intersectObject(e,!0).length>0}initialize(){this.dispose(),this.scene=new s.Scene,this.renderer=new s.WebGLRenderer({preserveDrawingBuffer:!0,alpha:!0}),this.renderer.penguinMod={backgroundColor:0,backgroundOpacity:1},this.renderer.setClearColor(0,1);const A=this.renderer.domElement;this.runtime.prism_screenshot_externalCanvas=A,this.restyleExternalCanvas(A),this.appendElementAboveScratchCanvas(A),this.updateScratchCanvasRelayering()}render(){if(this.renderer&&this.scene&&this.camera)return this.needsToResizeCanvas()&&(this.lastStageSizeWhenRendering={width:this.runtime.stageWidth,height:this.runtime.stageHeight},this.renderer.setSize(2*this.lastStageSizeWhenRendering.width,2*this.lastStageSizeWhenRendering.height),this.restyleExternalCanvas(this.renderer.domElement)),this.appendElementAboveScratchCanvas(this.renderer.domElement),this.updateScratchCanvasRelayering(),new Promise(A=>{requestAnimationFrame(()=>{this.renderer&&A(this.renderer.render(this.scene,this.camera))})})}setCameraPerspective2(A){this.camera&&(this.camera.remove(),this.camera=null);const e=n.toNumber(A.FOV),t=n.toNumber(A.AR),i=n.toNumber(A.NEAR),r=n.toNumber(A.FAR);this.camera=new s.PerspectiveCamera(e,t,i,r)}setCameraPerspective1(A){return this.setCameraPerspective2({FOV:A.FOV,AR:A.AR,NEAR:.1,FAR:1e3})}setCameraPerspective0(A){const e=this.runtime.stageWidth/this.runtime.stageHeight;return this.setCameraPerspective2({FOV:A.FOV,AR:e,NEAR:.1,FAR:1e3})}setCameraPosition(A){if(!this.camera)return;const e={x:n.toNumber(A.X),y:n.toNumber(A.Y),z:n.toNumber(A.Z)};this.camera.position.set(e.x,e.y,e.z)}setCameraRotation(A){if(!this.camera)return;const e={x:n.toNumber(A.X),y:n.toNumber(A.Y),z:n.toNumber(A.Z)},t=new s.Euler(0,0,0);this.camera.setRotationFromEuler(t),this.camera.rotateY(E(e.y)),this.camera.rotateX(E(e.x)),this.camera.rotateZ(E(e.z))}getCameraPosition(A){if(!this.camera)return"";const e=A.VECTOR3;return e&&["x","y","z"].includes(e)?n.toNumber(this.camera.position[e]):""}getCameraRotation(A){if(!this.camera)return"";const e=A.VECTOR3;if(!e)return"";if(!["x","y","z"].includes(e))return"";return l(n.toNumber(this.camera.rotation[e]))}setSceneLayer(A){if(!this.renderer)return;let e=this.sceneLayer;this.sceneLayer="front","back"===n.toString(A.SIDE)&&(this.sceneLayer="back"),this.sceneLayer!==e&&(this.lastStageColor=this.runtime.renderer._backgroundColor4f),this.appendElementAboveScratchCanvas(this.renderer.domElement),this.updateScratchCanvasRelayering()}setSceneBackgroundColor(A){if(!this.renderer)return;const e=n.toRgbColorObject(A.COLOR),t=g.rgbToDecimal(e);this.renderer.penguinMod.backgroundColor=t,this.renderer.setClearColor(t,this.renderer.penguinMod.backgroundOpacity)}setSceneBackgroundOpacity(A){if(!this.renderer)return;let e=n.toNumber(A.OPACITY);e>100&&(e=100),e<0&&(e=0);const t=1-e/100;this.renderer.penguinMod.backgroundOpacity=t,this.renderer.setClearColor(this.renderer.penguinMod.backgroundColor,t)}show3d(){this.renderer.domElement.style.display=""}hide3d(){this.renderer.domElement.style.display="none"}is3dVisible(){return""===this.renderer.domElement.style.display||"absolute"===this.renderer.domElement.style.display}getCameraZoom(){return this.camera?100*n.toNumber(this.camera.zoom):""}setCameraZoom(A){this.camera&&(this.camera.zoom=n.toNumber(A.ZOOM)/100,this.camera.updateProjectionMatrix())}getCameraClipPlane(A){if(!this.camera)return"";const e=A.CLIPPLANE;return["near","far"].includes(e)?this.camera[e]:""}getCameraAspectRatio(){return this.camera?n.toNumber(this.camera.aspect):""}getCameraFov(){return this.camera?n.toNumber(this.camera.fov):""}isCameraPerspective(){return!!this.camera&&n.toBoolean(this.camera.isPerspectiveCamera)}isCameraOrthographic(){return!!this.camera&&n.toBoolean(!this.camera.isPerspectiveCamera)}doesObjectExist(A){if(!this.scene)return!1;const e=n.toString(A.NAME);return!!this.scene.getObjectByName(e)}createGameObject(A,e,t){if(!this.scene)return;const i=n.toString(A.NAME);if(this.scene.getObjectByName(i))return this.stackWarning(e,"An object with this name already exists!");const r={x:n.toNumber(A.X),y:n.toNumber(A.Y),z:n.toNumber(A.Z)};let o;switch(t){case"sphere":{const A=new s.SphereGeometry(1),e=new s.MeshStandardMaterial({color:16777215}),t=new s.Mesh(A,e);o=t;break}case"plane":{const A=new s.PlaneGeometry(1,1),e=new s.MeshStandardMaterial({color:16777215}),t=new s.Mesh(A,e);o=t;break}case"mesh":{const t=n.toString(A.URL);let a="obj";switch(n.toString(A.FILETYPE)){case".glb / .gltf":a="glb";break;case".fbx":a="fbx"}return new Promise(A=>{let n=Q.OBJ;switch(a){case"glb":n=Q.GLTF;break;case"fbx":n=Q.FBX}if(t in this.savedMeshes){const e=this.savedMeshes[t];return o=e.clone(),o.name=i,this.existingSceneObjects.push(i),o.isPenguinMod=!0,o.isMeshObj=!0,o.position.set(r.x,r.y,r.z),this.scene.add(o),void A()}n.load(t,e=>{if(n===Q.GLTF&&(e=e.scene),n===Q.OBJ){const A=new s.MeshStandardMaterial({color:16777215});A.wireframe=!1,this.updateMaterialOfObjObject(e,A),this.savedMeshes[t]=e}e.name=i,this.existingSceneObjects.push(i),e.isPenguinMod=!0,e.isMeshObj=!0,e.position.set(r.x,r.y,r.z),this.scene.add(e),A()},()=>{},t=>{console.warn("Failed to load 3D mesh obj;",t),this.stackWarning(e,"Failed to get the 3D mesh!"),A()})})}case"light":{n.toString(A.LIGHTTYPE);let e;e=new s.PointLight(16777215,1,100),o=e,this.existingSceneLights.push(i);break}default:{const A=new s.BoxGeometry(1,1,1),e=new s.MeshStandardMaterial({color:16777215}),t=new s.Mesh(A,e);o=t;break}}o.name=i,this.existingSceneObjects.push(i),o.isPenguinMod=!0,o.position.set(r.x,r.y,r.z),this.scene.add(o)}createCubeObject(A,e){this.createGameObject(A,e,"cube")}createSphereObject(A,e){this.createGameObject(A,e,"sphere")}createPlaneObject(A,e){this.createGameObject(A,e,"plane")}createMeshObject(A,e){this.createGameObject(A,e,"mesh")}createMeshObjectFileTyped(A,e){this.createGameObject(A,e,"mesh")}createLightObject(A,e){this.createGameObject(A,e,"light")}getMaterialOfObjObject(A){let e;return A.traverse(A=>{A instanceof s.Mesh&&(e=A.material)}),e}updateMaterialOfObjObject(A,e){A.traverse(A=>{A instanceof s.Mesh&&(A.material=e)})}setObjectPosition(A){if(!this.scene)return;const e=n.toString(A.NAME),t={x:n.toNumber(A.X),y:n.toNumber(A.Y),z:n.toNumber(A.Z)},i=this.scene.getObjectByName(e);i&&i.position.set(t.x,t.y,t.z)}setObjectRotation(A){if(!this.scene)return;const e=n.toString(A.NAME),t={x:n.toNumber(A.X),y:n.toNumber(A.Y),z:n.toNumber(A.Z)},i=this.scene.getObjectByName(e);if(!i)return;const r=new s.Euler(0,0,0);i.setRotationFromEuler(r),i.rotateY(E(t.y)),i.rotateX(E(t.x)),i.rotateZ(E(t.z))}setObjectSize(A){if(!this.scene)return;const e=n.toString(A.NAME),t={x:n.toNumber(A.X)/100,y:n.toNumber(A.Y)/100,z:n.toNumber(A.Z)/100},i=this.scene.getObjectByName(e);i&&i.scale.set(t.x,t.y,t.z)}moveObjectUnits(A){if(!this.scene)return;const e=n.toString(A.NAME),t=this.scene.getObjectByName(e);if(!t)return;const i=n.toNumber(A.AMOUNT),r=new s.Vector3;t.getWorldDirection(r),t.position.add(r.multiplyScalar(i))}getObjectPosition(A){if(!this.scene)return"";const e=n.toString(A.NAME),t=this.scene.getObjectByName(e);if(!t)return"";const i=A.VECTOR3;return i&&["x","y","z"].includes(i)?n.toNumber(t.position[i]):""}getObjectRotation(A){if(!this.scene)return"";const e=n.toString(A.NAME),t=this.scene.getObjectByName(e);if(!t)return"";const i=A.VECTOR3;if(!i)return"";if(!["x","y","z"].includes(i))return"";return l(n.toNumber(t.rotation[i]))}getObjectSize(A){if(!this.scene)return"";const e=n.toString(A.NAME),t=this.scene.getObjectByName(e);if(!t)return"";const i=A.VECTOR3;return i&&["x","y","z"].includes(i)?100*n.toNumber(t.scale[i]):""}deleteObject(A){if(!this.scene)return;const e=n.toString(A.NAME),t=this.scene.getObjectByName(e);if(!t)return;const i=t.isLight;t.clear(),this.scene.remove(t);const r=this.existingSceneObjects.indexOf(e);if(this.existingSceneObjects.splice(r,1),i){const A=this.existingSceneLights.indexOf(e);this.existingSceneLights.splice(A,1)}}setObjectColor(A){if(!this.scene)return;const e=n.toString(A.NAME),t=n.toRgbColorObject(A.COLOR),i=g.rgbToDecimal(t),r=this.scene.getObjectByName(e);if(r)if(r.isLight)r.color.set(i);else{if(r.isMeshObj){const A=this.getMaterialOfObjObject(r);if(!A)return;return A.color.set(i),void this.updateMaterialOfObjObject(r,A)}r.material.color.set(i)}}setObjectShading(A){if(!this.scene)return;const e=n.toString(A.NAME),t="on"===n.toString(A.ONOFF),i=this.scene.getObjectByName(e);if(!i)return;if(i.isLight)return;if(i.isMeshObj){const A=this.getMaterialOfObjObject(i);if(!A)return;const e="#"+A.color.getHexString();let n;return n=t?new s.MeshStandardMaterial({color:e}):new s.MeshBasicMaterial({color:e}),n.color.set(e),void this.updateMaterialOfObjObject(i,n)}const r="#"+i.material.color.getHexString();i.material=t?new s.MeshStandardMaterial({color:r}):new s.MeshBasicMaterial({color:r})}setObjectWireframe(A){if(!this.scene)return;const e=n.toString(A.NAME),t="on"===n.toString(A.ONOFF),i=this.scene.getObjectByName(e);if(i&&!i.isLight){if(i.isMeshObj){const A=this.getMaterialOfObjObject(i);if(!A)return;return A.wireframe=t,void this.updateMaterialOfObjObject(i,A)}i.material.wireframe=t}}existingObjectsArray(A){const e=n.toString(A.OBJECTLIST);if(!["objects","physical objects","lights"].includes(e))return"[]";switch(e){case"objects":return JSON.stringify(this.existingSceneObjects);case"lights":return JSON.stringify(this.existingSceneLights);case"physical objects":{const A=this.existingSceneObjects.filter(A=>!this.existingSceneLights.includes(A));return JSON.stringify(A)}default:return"[]"}}objectTouchingObject(A){if(!this.scene)return!1;const e=n.toString(A.NAME1),t=n.toString(A.NAME2),i=this.scene.getObjectByName(e),r=this.scene.getObjectByName(t);if(!i)return!1;if(!r)return!1;if(i.isLight)return!1;if(r.isLight)return!1;const o=(new s.Box3).setFromObject(i),a=(new s.Box3).setFromObject(r);return o.intersectsBox(a)}pointTowardsObject(A){if(!this.scene)return!1;const e=n.toString(A.NAME1),t=n.toString(A.NAME2),i=this.scene.getObjectByName(e),r=this.scene.getObjectByName(t);return!!i&&(!!r&&void i.lookAt(r.position))}pointTowardsXYZ(A){if(!this.scene)return!1;const e=n.toString(A.NAME),t=this.scene.getObjectByName(e);if(!t)return!1;const i={x:n.toNumber(A.X),y:n.toNumber(A.Y),z:n.toNumber(A.Z)};t.lookAt(i.x,i.y,i.z)}MoveCameraBy(A){if(!this.camera)return;const e=n.toNumber(A.AMOUNT),t=new s.Vector3;this.camera.getWorldDirection(t),this.camera.position.add(t.multiplyScalar(e))}changeCameraPosition(A){this.camera&&(this.camera.position.x+=n.toNumber(A.X),this.camera.position.y+=n.toNumber(A.Y),this.camera.position.z+=n.toNumber(A.Z))}changeCameraRotation(A){this.camera&&(this.camera.rotation.x+=n.toNumber(A.X),this.camera.rotation.y+=n.toNumber(A.Y),this.camera.rotation.z+=n.toNumber(A.Z))}raycastResultToReadable(A){const e=i.simple(A);for(const A of e)A.object=A.object.object.name;return e}rayCollision(A){if(!this.scene)return"";const e=new s.Raycaster,t={x:n.toNumber(A.X),y:n.toNumber(A.Y),z:n.toNumber(A.Z)},i={x:n.toNumber(A.DX),y:n.toNumber(A.DY),z:n.toNumber(A.DZ)};e.set(new s.Vector3(t.x,t.y,t.z),new s.Vector3(i.x,i.y,i.z));const r=e.intersectObjects(this.scene.children,!0);if(0===r.length)return"";return r[0].object.name}rayCollisionCamera(){if(!this.scene)return"";if(!this.camera)return"";const A=new s.Raycaster;A.setFromCamera(new s.Vector2,this.camera);const e=A.intersectObjects(this.scene.children,!0);if(0===e.length)return"";return e[0].object.name}rayCollisionArray(A){if(!this.scene)return"[]";const e=new s.Raycaster,t={x:n.toNumber(A.X),y:n.toNumber(A.Y),z:n.toNumber(A.Z)},i={x:n.toNumber(A.DX),y:n.toNumber(A.DY),z:n.toNumber(A.DZ)};e.set(new s.Vector3(t.x,t.y,t.z),new s.Vector3(i.x,i.y,i.z));const r=e.intersectObjects(this.scene.children,!0);if(0===r.length)return"[]";const o=this.raycastResultToReadable(r);return JSON.stringify(o)}rayCollisionCameraArray(){if(!this.scene)return"[]";if(!this.camera)return"[]";const A=new s.Raycaster;A.setFromCamera(new s.Vector2,this.camera);const e=A.intersectObjects(this.scene.children,!0);if(0===e.length)return"[]";const t=this.raycastResultToReadable(e);return JSON.stringify(t)}}},function(A,e,t){const n=t(1),i=t(3),r={Cube:t(339),Sphere:t(340),Plane:t(341),Light:t(342),OBJ:t(343),Camera:t(344),Touching:t(345),Wireframe:t(346),Raycast:t(347)};function s(A){return{acceptReporters:!0,items:A.map(A=>({text:A,value:A}))}}function o(A){return{blockType:n.LABEL,text:A}}function a(A,e,t){switch(typeof A){case"number":return{type:i.NUMBER,defaultValue:A};case"boolean":return{type:i.BOOLEAN,defaultValue:A};case"string":switch(A){case"COLOR":return{type:i.COLOR};case"ANGLE":return{type:i.ANGLE};case"MATRIX":return{type:i.MATRIX};case"NOTE":return{type:i.NOTE,defaultValue:60};case"POLYGON":return{type:i.POLYGON,nodes:e};case"IMAGE":return{type:i.IMAGE,dataURI:e,alt:t};default:return{type:i.STRING,defaultValue:A}}}}function B(A,e){return{type:A,menu:e}}function c(A,e,t,i,r){const s={opcode:A,text:e||A,blockType:n.COMMAND};return t&&(s.arguments=t),i&&(s.blockIconURI=i),!0===r&&(s.hideFromPalette=!0),s}function g(A,e,t,i,r){const s={opcode:A,text:e||A,blockType:n.REPORTER};return"boolean"==typeof r&&(s.disableMonitor=r),t&&(s.arguments=t),i&&(s.blockIconURI=i),s}function Q(A,e,t,i){const r={opcode:A,text:e||A,blockType:n.BOOLEAN,disableMonitor:!0};return t&&(r.arguments=t),i&&(r.blockIconURI=i),r}A.exports={id:"jg3d",name:"3D",color1:"#B100FE",color2:"#8600C3",color3:"#5B0088",blockIconURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAT6SURBVHhe7ZtdqBVVFMfXnHuvXG9i9/ZhWYGVYWoggqGVFSV9ywUpohch+lARFXwRAu1BEB97kNAKheiphyAKEqKXICIyKuhFS0Qh+yKvZqLXj+sZ//+99syZU/ecMx975pzDzA/WzFpzzszstWatvfeZmSMV3WXArkvHOMSPyFJIKRiChI6PL2kKAsWDFEqRJ6SDhgGcdeoAFG4ZRCNeNpujFNauIk40AblBVZH6fpx0mrPW6wjMOmson0OeUTU/anadB9sgvMbG+fdfhYGrPp3zpIaW8PMDr9kNIk9DuP+LxsqJPDLgRsgpVUXunyfy3ZtQkpwJbt/9hsjx8CiG6yAXVHWH6wCEdT42InJ6D5QsZ8DRZm8SOXfJ2orTNrs62J+QW1QVmXxHZJj9vSPOToqMbraG8gfkNlWzkbUPWA/hVTfO/7gTBurYpfPk+pl63P2v2A0icyE87xPGykDGBFWW3ynyLeu8CHDWFbtEDp2wtpLaj6Q78vsYsJQhTGQvvwvFVSElZAjD5lTYGkPiliTZ4STkdlVxIT7A4orqXQUeeBhiIxyGLFa1M3H6gNUQprtxft9aGJzF9YLzBC1je7Zx1qAsgrC9DxurA+0yYAxyWlWRNfi58jF74i6leyzg9sLtIj//ZW1lFHJW1f/Tyh1uN9U1MkPk/F67pV9AIGZsQJJetXab1rf6gAk+OPUZ5ucc4fuUr4+hDnYb9RBkhdH+Q9s+YGA+FisRUFZUH1FnezFTWLlK7XbEmgh57E4ozUNO70HHMT+sJZgjxp8J8uCPQB4wVu/Bn2B0PGG2Jp8K8y4ey4J9aw9QH8aCE2N01mlIHgCLdx8WCIQ0etpCMf0SHK9xsM5A6gCEPGolYeqlJXDcc/Jb0EUACLMAnaT/kJp54c9x53iAmwBYzO0u9g/skBxSH8SCVz2HpwhOAxDgLcSCgch4dJ+ZxTq/We08yCUAAd6DWLCjTDp/YJ0j1b071MyTXAMQgvmDv8zqHTDlk2I8T0sxAQAex2uWRYtOrM5xnHWecjxPS2EBCPDuwoKBsPMHn+XBOnfcccal8AAEeJw74MeWF95j6g5dC0CvUAXArktLFQC7Li1VAOy6tFQBsOvSUgXArktLFQC7Li3tA8B7cf3MrM5PdFt9YzYkfKTs/4JFHo/F+ODV+YtvYACONd4XIC0j0SoD/oWE92a8BSL3PAmloNtUWVjwenznSbsS4CNy7mxuYh37FcYikYkLndOqG5ycQPueEzn6u92AAoB0bGwSbw5CnlUVycD0/Uf11LgoAVxCr/mN4rchW1TtTJrLeRli3gQcRpFM/kQtJRkDUFuNC9Fclon9STMMsm8wL0BfRCj4EOSlrbQKAg4v3YzzIt0jzs+EpKrNVDtF4NsC36gq8ulekfEYb2WEJM2A4Zp4q5qGo3shHKNSkzUAAXwva46quDK/YXFO9bbEDcAIGvqY1RUG3cmjWFcBCAiT8qYxkb/D3GhBjADMel7k/EVrKE7bnKYPaAcbN4/KqTMw0D+89yGt5GzZh/1R5xHn50JcXzD3B4zwAuQjVTGt/B7TS/7lIco0GfDFDyJP7bCGwkcoX6nqnjwDENA0UPnHsQj+ABENAPpx73GrK8ihxn+N+h2WGgNhZPF8jGBHIF9CDop/62jjMyuuS7NnQH/ecPSTPUNRpyml4S1I1PGNkIqKiqIRuQYHeAEU9sBGCQAAAABJRU5ErkJggg==",blocks:[o("Initializing your scene"),c("initialize","create 3D scene"),c("dispose","remove 3D scene"),"---",c("setCameraPerspective0","set scene camera to perspective camera with fov: [FOV]",{FOV:a(70)},r.Camera),c("setCameraPerspective1","set scene camera to perspective camera with fov: [FOV] aspect ratio: [AR]",{FOV:a(70),AR:a(480/360)},r.Camera),c("setCameraPerspective2","set scene camera to perspective camera with fov: [FOV] aspect ratio: [AR] and only render objects within [NEAR] and [FAR] units of the camera",{FOV:a(70),AR:a(480/360),NEAR:a(.1),FAR:a(1e3)},r.Camera),"---",c("setCameraOrthographic0","set scene camera to orthographic camera",null,r.Camera),c("setCameraOrthographic1","set scene camera to orthographic camera with left plane: [LEFT] right plane: [RIGHT] top plane: [TOP] bottom plane: [BOTTOM]",{LEFT:a(-240),RIGHT:a(240),TOP:a(180),BOTTOM:a(-180)},r.Camera),c("setCameraOrthographic2","set scene camera to orthographic camera with left plane: [LEFT] right plane: [RIGHT] top plane: [TOP] bottom plane: [BOTTOM] and only render objects within [NEAR] and [FAR] units of the camera",{LEFT:a(-240),RIGHT:a(240),TOP:a(180),BOTTOM:a(-180),NEAR:a(1),FAR:a(1e3)},r.Camera),"---",c("render"),o("Scene customization"),c("setSceneLayer","move 3D scene layer to [SIDE]",{SIDE:B(i.STRING,"frontBack")}),c("setSceneBackgroundColor","set background color to [COLOR]",{COLOR:a("COLOR")}),c("setSceneBackgroundOpacity","set background transparency to [OPACITY]%",{OPACITY:a(100)}),c("show3d","show 3D scene",{}),c("hide3d","hide 3D scene",{}),Q("is3dVisible","is 3D scene visible?",{}),o("Camera controls"),c("MoveCameraBy","move camera by [AMOUNT]",{AMOUNT:a(10)},r.Camera),c("setCameraPosition","set camera position to x: [X] y: [Y] z: [Z]",{X:a(0),Y:a(0),Z:a(0)},r.Camera),c("changeCameraPosition","change camera position by x: [X] y: [Y] z: [Z]",{X:a(0),Y:a(0),Z:a(0)},r.Camera),c("setCameraRotation","set camera rotation to x: [X] y: [Y] z: [Z]",{X:a("ANGLE"),Y:a("ANGLE"),Z:a("ANGLE")},r.Camera),c("changeCameraRotation","change camera rotation by x: [X] y: [Y] z: [Z]",{X:a("ANGLE"),Y:a("ANGLE"),Z:a("ANGLE")},r.Camera),c("setCameraZoom","set camera zoom to [ZOOM]%",{ZOOM:a(100)},r.Camera),g("getCameraClipPlane","camera [CLIPPLANE]",{CLIPPLANE:B(i.STRING,"clippingPlanes")},r.Camera),g("getCameraPosition","camera [VECTOR3] position",{VECTOR3:B(i.STRING,"vector3")},r.Camera),g("getCameraRotation","camera [VECTOR3] rotation",{VECTOR3:B(i.STRING,"vector3")},r.Camera),g("getCameraAspectRatio","camera aspect ratio",null,r.Camera),g("getCameraZoom","camera zoom",null,r.Camera),g("getCameraFov","camera fov",null,r.Camera),"---",Q("isCameraPerspective","is scene camera a perspective camera?",null,r.Camera),Q("isCameraOrthographic","is scene camera an orthographic camera?",null,r.Camera),o("Objects"),Q("doesObjectExist","object named [NAME] exists?",{NAME:a("Object1")}),g("existingObjectsArray","existing [OBJECTLIST]",{OBJECTLIST:B(i.STRING,"objectTypeList")}),"---",c("createCubeObject","create cube named [NAME] at x: [X] y: [Y] z: [Z]",{NAME:a("Object1"),X:a(0),Y:a(0),Z:a(0)},r.Cube),c("createSphereObject","create sphere named [NAME] at x: [X] y: [Y] z: [Z]",{NAME:a("Object1"),X:a(0),Y:a(0),Z:a(0)},r.Sphere),c("createPlaneObject","create plane named [NAME] at x: [X] y: [Y] z: [Z]",{NAME:a("Object1"),X:a(0),Y:a(0),Z:a(0)},r.Plane),c("createMeshObject","create mesh named [NAME] with .obj data: [URL] at x: [X] y: [Y] z: [Z]",{NAME:a("Object1"),URL:a("data:text/plain;base64,"),X:a(0),Y:a(0),Z:a(0)},r.OBJ,!0),c("createMeshObjectFileTyped","create mesh named [NAME] with [FILETYPE] data: [URL] at x: [X] y: [Y] z: [Z]",{NAME:a("Object1"),FILETYPE:B(i.STRING,"meshFileTypes"),URL:a("data:text/plain;base64,"),X:a(0),Y:a(0),Z:a(0)},r.OBJ),c("createLightObject","create [LIGHTTYPE] light named [NAME] at x: [X] y: [Y] z: [Z]",{LIGHTTYPE:B(i.STRING,"lightType"),NAME:a("Light1"),X:a(0),Y:a(0),Z:a(0)},r.Light),"---",c("moveObjectUnits","move object named [NAME] by [AMOUNT]",{NAME:a("Object1"),AMOUNT:a(10)}),c("setObjectPosition","move object named [NAME] to x: [X] y: [Y] z: [Z]",{NAME:a("Object1"),X:a(1),Y:a(1),Z:a(1)}),c("setObjectRotation","set rotation of object named [NAME] to x: [X] y: [Y] z: [Z]",{NAME:a("Object1"),X:a("ANGLE"),Y:a("ANGLE"),Z:a("ANGLE")}),c("setObjectSize","set size of object named [NAME] to x: [X]% y: [Y]% z: [Z]%",{NAME:a("Object1"),X:a(100),Y:a(100),Z:a(100)}),c("pointTowardsObject","point object named [NAME1] towards object named [NAME2]",{NAME1:a("Object1"),NAME2:a("Object2")}),c("pointTowardsXYZ","point object named [NAME] towards x: [X] y: [Y] z: [Z]",{NAME:a("Object1"),X:a(31),Y:a(26),Z:a(47)}),g("getObjectPosition","[VECTOR3] position of object named [NAME]",{VECTOR3:B(i.STRING,"vector3"),NAME:a("Object1")}),g("getObjectRotation","[VECTOR3] rotation of object named [NAME]",{VECTOR3:B(i.STRING,"vector3"),NAME:a("Object1")}),g("getObjectSize","[VECTOR3] size of object named [NAME]",{VECTOR3:B(i.STRING,"vector3"),NAME:a("Object1")}),"---",Q("objectTouchingObject","object [NAME1] touching object [NAME2]?",{NAME1:a("Object1"),NAME2:a("Object2")},r.Touching),"---",c("deleteObject","remove object named [NAME]",{NAME:a("Object1")}),c("setObjectColor","recolor object named [NAME] to [COLOR]",{NAME:a("Object1"),COLOR:a("COLOR")}),c("setObjectShading","turn [ONOFF] shading on object named [NAME]",{ONOFF:B(i.STRING,"onoff"),NAME:a("Object1")}),c("setObjectWireframe","turn [ONOFF] wireframe view on object named [NAME]",{ONOFF:B(i.STRING,"onoff"),NAME:a("Object1")},r.Wireframe),"---",g("rayCollision","first object in raycast from x: [X] y: [Y] z: [Z] with direction x: [DX] y: [DY] z: [DZ]",{X:a(0),Y:a(0),Z:a(0),DX:a(0),DY:a(0),DZ:a(0)},r.Raycast,!0),g("rayCollisionArray","raycast result from x: [X] y: [Y] z: [Z] with direction x: [DX] y: [DY] z: [DZ]",{X:a(0),Y:a(0),Z:a(0),DX:a(0),DY:a(0),DZ:a(0)},r.Raycast,!0),g("rayCollisionCamera","first object from raycast in camera center",{},r.Raycast,!0),g("rayCollisionCameraArray","raycast result starting from the camera center",{},r.Raycast,!0)],menus:{cameraType:s(["perspective","orthographic"]),lightType:s(["point"]),clippingPlanes:s(["near","far"]),frontBack:s(["front","back"]),vector3:s(["x","y","z"]),vector2:s(["x","y"]),onoff:s(["on","off"]),objectTypeList:s(["objects","physical objects","lights"]),meshFileTypes:s([".obj",".glb / .gltf",".fbx"])}}},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAATpSURBVHhe7ZvLSzxHEMfLJ2h8rD/xlQiyCr7RKEpIkKggxKABIUTQqxARyfF38k8QPOWq+w/kalBUVIIIuSlCBNFT1KiJ0SASn5v+dvdM5rfOrDszPbMrOx8opqp3Z7eruqpntqeXApJLljymHd8wiRrkUyZpQQ4T3fHOzk5jECAZTHzFzy+Eg5yMjAza2NjgelZWFvX09HDdgG/98uOL/mLyTqhE6+vrlJmZKa3/eX5+pv7+fmlxlpkMCtU7XvZEHe+ZYNS581NTU7S5uWnqPEA7Xsf7JF8xwfnfccsjvMiAUiZ/CpUoHA7TwsKCpeNmIBtGR0fp4uJCtnA+YnIrVHWoDoBe5/n5+bS4uGjL8VgQiMHBQbq7u5MtHKV9VvVhfzCpECrRysoK5ebmSss9Nzc3NDQ0JC3OKZOPheoOt3PA90ww6tz5+fl5XscqnQcFBQX8cycnJ2ULVTHB9w5wywVuMkBP99raWopEItLyFpTFxMQEHR0dyRaOYz/snoj3PwtVXMNXV1dd1bkbcNlEQAzYDoSdE35n8olQiba2tujx8VFayaW3t1dqnN+YNAv1dRIZOsw+SHfuPNIP9ZgqzgP0Z3h4WFrUxAT9fXF7aUa8DChhcilUoq6uLpqdnU1auicCymF8fJxOT3GR0AkxuRbqS6wCoNc6ZvTl5eWUdjwWBGJgYICenp5ki/VAW73wwCR7Z2eHrq6uRMsbZG9vj6anp6H+yuQzKLHEHdaqqipqamqKnWlTHvS3pKSE+vr6ZIs1CeV1S0vLmwiE5nhpKX6OJIatwkYg6uvrpZVaFBYW2nJcw/bMhpsfZAN+7KQC2dnZfNRxdILjqb2mpiapZaGlO0beDY4DoIGyaG5u9i0QTuo8Hq4DAKLRKA9EQ0ODbPGGUCikzHENJQHQwM0SysJtWsaCeQejjsVU1SgNgEZ1dTUPhNsOa+leVFQkW9TjSQA0GhsbHU2Uqus8Hp4GQAPzQ11dnbTi4/R67hRfAgDwowrZgJE1w+313Cm+BUCjsrLyg7LQ0l31xJkovgdAA2VRUVHha7qbkbQApApBAOQxbQkCII9pSxAAeUxbggDIY9oSBEAe05YgAPKYtsQNANbi3jJ5eXlSs8Zq0Q6LcPojZWxXw8qvai4vL+n+/l5a6sDibGtrq7Q4louTVhnwDxN9p1NZWRl1dHTYXttLBthWl6jzIF4J4BE5Tubb0Y6Pj/lqzvW15V6DpHJ2dkZtbW10cnIiW6iAyavL0q++wcDPTL4Wqti7d3vrbuOmihIwSfcfmfwg1NexEwAN9Bjb3iknJ4dnhlPcBgAjHoNtf5xcBjE38A3QDw8PVF5eTmNjYzB9AZPxyMhIrPOY7p0MpuP7gL+Z4As/h7G2tsYDsbS0BNMzsLTe3t5u3CSJh5Hox7/ccoCjqJlwxqRcqOz6ySbKmA3OpiRaAnAcT5kMbDP5QqjuUBUADf1mobi4mA4ODqRlTiIB6O7u9nS3uNMSsAKdq4GCLEBZzM3NwbTNzMwMr3OD89ggrXrA1H+ggW+Z/CRUosPDwxdPf8wyYHt727grHHzJ5BehqsfLAGh8cA8Np7VttsYAmNQ5Jlr9v0ZvHZQaAsElHA5Hz8/Po/v7+9Hd3d1oKBTSX5OiujRTBmwt0x2NRCJGpyFpA2ZGo+P6X8UCAgJ8hOg/oTt1pR3DmKsAAAAASUVORK5CYII="},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAnDSURBVHhe1ZprjE3dGccXY4hxe92aQWhQSlFjGtci0brVlDTREQkJoTTVL/2i/ULRCCIRFanyRUoi+kW9iUunbq8PKIrQIk0QXp0OWqNuMxRj9fmvyz7PWnudc/aZOeeY/pPf2ev6rMtZe+211t6C1KbIzCNkgDFEKH1BsY5iqJT4r3ZqlZSUiKamJuOLVEKgQ4qituZaaH0kosbPnTtXSCnFhw8f1LWiosLEKKFHkL5ocoZEnnlGRMO8tLSU2ptebdq0idIa/kSE7OaTYGBL+TnhNMZX0jjDAiJUTj4IBjaXXoRT+fr6etMsLT+ew1VTUxNK04kIldsSgoHNwans6tWrTVNS8tMQsXy+qqurnXiDX3ZLCAbmwhMiqlzPnj1N1VPi8YaQHSeNr7KyMieeeESE7ORKMDAJPyacSvny4w0hW5ZYel+BNDOIkK2kBAOz4VTi8ePHpnpafrwhZCcdsfxcdXV1sXgiZCcJwcAQWDM4ha5cudJUScuPN4RsJcWx5Wv69OlOvCFkJy3WkU21RF/t1KLyjUuLnuHGFSmfiyxnYZSg7L8T39DO7LKdEOL7RNS7WKj44vGGkJ18ECvLVyDNFCJkixMM7EE4xmpra00xWn68IWQr38TK5bp9+3YsnviMCNkCsQCn8VVVVcZ0Sjze4NsoBk4dfE2ePNmJJ9J1guOJJrru3bsbUynZOAbP+6lw6uSrW7duPD6W3zqs3hMlmFQ+fkzNO4FJBirWTjKJYrtHartxOfX/CzFeO7WCjXj37p26ImOg8cjTmhoPxerE637p0iV1DSmXhrTGhvvKuY5JE7f2hvtKXF+MET7G1Rzw/v170a5dOz78uUE8JaYSvYkuCDDCpugecVH54hphrumE+/g18ZJ4gYAcVGmuXFfwg7ng8uXLYvx4devH5gDIdgL4QEjqADWDwm1A3LeJoywsHW+IXxLc7kgilDYd6MwtRDeC2wnxLSJkQwHRHGD9lwknv3VYpRsBC4nfaycNgR49xNSpU0Xv3r1Fly5dxJMnT8S9e/fExYvOnw8Pdox/I9QsPWJEeBDgifP69Wvx8uVL8eKF8+efJX5AYFSE1J/4Eo7KytQguHbtmnGpHsjLCFBMmjRJHjlyRMWF1NjYKNeuXcvz/JX4pvUnEXaWmzdvll27drU2viDaEbyelgGE7N+/v8mthTALlGkEEI4nbQcsWLBAhSXRhQsX5KhRo2xedIJy56IzZ87IkpISa+O3BK+npTgdMHjwYPXvcj18+FAeOnRIbtmyRZ46dSoWf+PGjSi/xYqGvKRhKU+ePCmPHTsW4WvXrl027wOC19NSnA44evSo8ltt3bo1irMMHDgwdnts2rTJSWOFDuDhFppT5NWrV00qKe/fv2/jPm0HcO3duzcKJ/5BnCYw86uwBw8emJRSvnr1Snbu3DlKb+V1wCniuPWvWbPGpCpOB+S8wKEhb1zidwQqMJ3A9P6Q4PGCGi9mzZplfGn1XeJ72ilEr144Wdfis3khxXsk4whg/wj4OsHz/oSQw4cPN6m12H1sQvQIWLZsmVyyZEnE0qVL5enTp00KrWnTptm8fyB4WZbi3gJnz561YaEhiSMo2bFjR5Naa//+/TE7SbR48eIoH/Edwi8PFPcWqKurMy7x2Fy5sHoTb968UQsaK+oQ48pNCxcuFEOGDDE+sYdor535le0Jq+BKUHcqLe1opTdx4kQ40dg+cDDh/f5VrBLr6+t1CIlGgKAhrtzWDq579uxRnYUVYIcOHUSnTp0EPUnEnDlzVBrozp07YuTIkXZ7vonAyq8zPEY/I76kESDosaxDSGwFq8pq8UrQ6tGjR1EYgQNTnnczIceMGWNSa+3YsSNmJ91jECxatMik0lq3bl0wHXGDwNwg+/XrZ1JrsTTKn7dboLy8XFRVVRmfWEfYxT3+tl/AUV1djUskWiQZV1r9mthF/BGeAwcOiNpanMJrTZgwQV1XrFghNm7cKPbt2ydoAYYgLLEHw1Faim8vmi/eI1nXAVjB2XBD9G6QNjuyqanJpJSSNkmybdu2UVorbwQgv/MdAW2sTEqpVosI2717twmR8vr161FaMG/ePBOjxeOgFo8AWpcblxBjx44V586d4zu7r+AH925NTY2gBqtAaOfOnc7ZYhohf3c4MMK2bdsmBg0aBK/SlStqWy9u3ryprtDo0aPFjBl4Jahl7u9mi/dIcAQMGzZMNjQ0qDAumqTUMtl/NwidOHEiym/hoslP5bt7965aPfrfEUDPnz+XNAmqvPREMKEpnT9/Xu05uPzvCqAWrwMAtsJocBIdP36cb2dPWhu5avbs2VH5YP369SYmrGfPnskpU6Y4eaB8dEAjrnhHv2HDhrQdgflh+fLlPB8aj1Md5c+kt2/fqn/81q1b8uDBg5ImP25ng3XTZCifPn1qcqV0+PBhWVlZadP/x6aH8tEBOA67y/xq9TVu3Dg5c+ZMWVFRoV6k8HgCs7o90lJh7du3j4EPp4BNEwD7BNiIOgH06dNH/dtoNOrC4tB4nFkqP5SPDkAcvs/5FeF0RAAsNn5EcLsdiFBaH3xKhzOx2wSO4LDq4nZWElhlhfKCzwmcESKtCoMydYB1WKU7E/SfFliRYSWI921W/yJwPod/IKRMS1lUDkL5SYSyv6adSg3Evwlsz63U4wf/Yz7OBHma/xdU3aFMIyDpSjDrw7yVKXF9c1kKw2hr74hm1ZEPCXUL4BnOhTAPnqe14NSRi4VnnQS7Es/hwAbDviW24ttMo1xGUKHk/OO6vSl5dY7V1w/ASYaa2fEkQOa+fVPfRvnGSZ/ytoiVzeuH88hsjbeyo4CDR5YdNgosb7n8eEPIVr6JlctFG7BYPBGyo7COdMLz9p/aqYXbgu+/i3xb5DLcIby9xhohrbJVFt/jIk2N8pFo+apejlqhEl5FCnFbODb9MnHu6DX+NwTqnbHxVnYUJAErNTus1IaFi8cxQnaSErPHNXTo0Fg8EbKTiWBgJmLfEOLkh8uPJ0J2MhGzwYWXr4E0OH4O2cpGMDAJ2Kg4lfDlxxMhOz5OHl9+POG/oMmVYGAuYBMUVWjAgAGmqlo8jhGy46TxVV5e7sQTfyZCdnIlGNgcnArOnz/fVF3LjzfE8gEu/4TH4JfdEoKBzeWrhFNZX348hwvHW4E0eCyHym0JwcCW8kMiqjiOxn3xeF/8KN2AE55QOS3GOgolZz1QVlYmGhpSj2Y8u6m9xqf9nrAvSS06CqBCrtog2McHTkqNjY2qkdu3b1d+2/hVq1aFGo98BW08VOgRwFVG4EPIbCr0n+KomIXhaB3l4V1gSD8litp4qJgjoBVKiP8Bry4LsSIeNPMAAAAASUVORK5CYII="},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAJBSURBVHhe5ZvLbsIwEEVD4QNYov4W/UQ+jlVhRyWSpnNdj+WENOXhx8zkSkcG16D6+JJVsmqaBiw2b35cbOYasPUjcvajuUwJ+Paj5YTmj38Cg81vt3EJTCXsc9wA94e+790bi1mtwnbd4ccNMHvcc4kbAAGfqP3pdPqdidJ1nepmbDYbN841wOV8nr7gr9fr+MOmwi0AOGI66GGu16vjcrn0+/0eazqi1QD/7xyaY9yebxoQB7WPgxodDoeGJPgZG/mzATDXtq07eTYJfBO4BV/EBxF/jwTuagAx+NCNAIDaK5SQTgDNddisMglJBbgvUyYhvQCgSEIWAdicFglZBGBTWiRkEYA1WiRkEwA0SMgqAEiXkF0AkCyhiAAgVUIxAUCihKICgDQJxQUASRKqCABSJFQTACRIqCoA1JZQXQCoKUGEAFBLghgBoIYEUQJAaQniBICSEkQKAKUkiBUASkgQLQDkliBeAMgpQYUAkEuCGgEghwRVAkBqCeoEgJQSVAoAqSSoFQBSSFAtALwqQb0A8IoEEwLAsxLMCADPSDAlADwqwZwA8IgEkwLAQxJ4nkNz6gWAeyV0PMehORMCwD0SwnsOrTcjAPwrAXe64jWH1r4kQDRTEhBI4NA6uwII3NHqTj4WEIfWDATwxjmDR2bInBu1Bc814PmGqUTPPLwTx9nb5bUGBzi+1Z+z2+38q9/MNsBixg1YsoDQfpYA+AJhCqr91LzbM288Tnio0HBuTt9y4qve0Y8hSxAwk6b5ATOEx/7P9VAiAAAAAElFTkSuQmCC"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),t.d(e,"OBJLoader",(function(){return w}));var n=t(0);const i=/^[og]\s*(.+)?/,r=/^mtllib /,s=/^usemtl /,o=/^usemap /,a=/\s+/,B=new n.Vector3,c=new n.Vector3,g=new n.Vector3,Q=new n.Vector3,E=new n.Vector3,l=new n.Color;function u(){const A={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(A,e){if(this.object&&!1===this.object.fromDeclaration)return this.object.name=A,void(this.object.fromDeclaration=!1!==e);const t=this.object&&"function"==typeof this.object.currentMaterial?this.object.currentMaterial():void 0;if(this.object&&"function"==typeof this.object._finalize&&this.object._finalize(!0),this.object={name:A||"",fromDeclaration:!1!==e,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:!1},materials:[],smooth:!0,startMaterial:function(A,e){const t=this._finalize(!1);t&&(t.inherited||t.groupCount<=0)&&this.materials.splice(t.index,1);const n={index:this.materials.length,name:A||"",mtllib:Array.isArray(e)&&e.length>0?e[e.length-1]:"",smooth:void 0!==t?t.smooth:this.smooth,groupStart:void 0!==t?t.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(A){const e={index:"number"==typeof A?A:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return e.clone=this.clone.bind(e),e}};return this.materials.push(n),n},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(A){const e=this.currentMaterial();if(e&&-1===e.groupEnd&&(e.groupEnd=this.geometry.vertices.length/3,e.groupCount=e.groupEnd-e.groupStart,e.inherited=!1),A&&this.materials.length>1)for(let A=this.materials.length-1;A>=0;A--)this.materials[A].groupCount<=0&&this.materials.splice(A,1);return A&&0===this.materials.length&&this.materials.push({name:"",smooth:this.smooth}),e}},t&&t.name&&"function"==typeof t.clone){const A=t.clone(0);A.inherited=!0,this.object.materials.push(A)}this.objects.push(this.object)},finalize:function(){this.object&&"function"==typeof this.object._finalize&&this.object._finalize(!0)},parseVertexIndex:function(A,e){const t=parseInt(A,10);return 3*(t>=0?t-1:t+e/3)},parseNormalIndex:function(A,e){const t=parseInt(A,10);return 3*(t>=0?t-1:t+e/3)},parseUVIndex:function(A,e){const t=parseInt(A,10);return 2*(t>=0?t-1:t+e/2)},addVertex:function(A,e,t){const n=this.vertices,i=this.object.geometry.vertices;i.push(n[A+0],n[A+1],n[A+2]),i.push(n[e+0],n[e+1],n[e+2]),i.push(n[t+0],n[t+1],n[t+2])},addVertexPoint:function(A){const e=this.vertices;this.object.geometry.vertices.push(e[A+0],e[A+1],e[A+2])},addVertexLine:function(A){const e=this.vertices;this.object.geometry.vertices.push(e[A+0],e[A+1],e[A+2])},addNormal:function(A,e,t){const n=this.normals,i=this.object.geometry.normals;i.push(n[A+0],n[A+1],n[A+2]),i.push(n[e+0],n[e+1],n[e+2]),i.push(n[t+0],n[t+1],n[t+2])},addFaceNormal:function(A,e,t){const n=this.vertices,i=this.object.geometry.normals;B.fromArray(n,A),c.fromArray(n,e),g.fromArray(n,t),E.subVectors(g,c),Q.subVectors(B,c),E.cross(Q),E.normalize(),i.push(E.x,E.y,E.z),i.push(E.x,E.y,E.z),i.push(E.x,E.y,E.z)},addColor:function(A,e,t){const n=this.colors,i=this.object.geometry.colors;void 0!==n[A]&&i.push(n[A+0],n[A+1],n[A+2]),void 0!==n[e]&&i.push(n[e+0],n[e+1],n[e+2]),void 0!==n[t]&&i.push(n[t+0],n[t+1],n[t+2])},addUV:function(A,e,t){const n=this.uvs,i=this.object.geometry.uvs;i.push(n[A+0],n[A+1]),i.push(n[e+0],n[e+1]),i.push(n[t+0],n[t+1])},addDefaultUV:function(){const A=this.object.geometry.uvs;A.push(0,0),A.push(0,0),A.push(0,0)},addUVLine:function(A){const e=this.uvs;this.object.geometry.uvs.push(e[A+0],e[A+1])},addFace:function(A,e,t,n,i,r,s,o,a){const B=this.vertices.length;let c=this.parseVertexIndex(A,B),g=this.parseVertexIndex(e,B),Q=this.parseVertexIndex(t,B);if(this.addVertex(c,g,Q),this.addColor(c,g,Q),void 0!==s&&""!==s){const A=this.normals.length;c=this.parseNormalIndex(s,A),g=this.parseNormalIndex(o,A),Q=this.parseNormalIndex(a,A),this.addNormal(c,g,Q)}else this.addFaceNormal(c,g,Q);if(void 0!==n&&""!==n){const A=this.uvs.length;c=this.parseUVIndex(n,A),g=this.parseUVIndex(i,A),Q=this.parseUVIndex(r,A),this.addUV(c,g,Q),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(A){this.object.geometry.type="Points";const e=this.vertices.length;for(let t=0,n=A.length;t<n;t++){const n=this.parseVertexIndex(A[t],e);this.addVertexPoint(n),this.addColor(n)}},addLineGeometry:function(A,e){this.object.geometry.type="Line";const t=this.vertices.length,n=this.uvs.length;for(let e=0,n=A.length;e<n;e++)this.addVertexLine(this.parseVertexIndex(A[e],t));for(let A=0,t=e.length;A<t;A++)this.addUVLine(this.parseUVIndex(e[A],n))}};return A.startObject("",!1),A}class w extends n.Loader{constructor(A){super(A),this.materials=null}load(A,e,t,i){const r=this,s=new n.FileLoader(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(A,(function(t){try{e(r.parse(t))}catch(e){i?i(e):console.error(e),r.manager.itemError(A)}}),t,i)}setMaterials(A){return this.materials=A,this}parse(A){const e=new u;-1!==A.indexOf("\r\n")&&(A=A.replace(/\r\n/g,"\n")),-1!==A.indexOf("\\\n")&&(A=A.replace(/\\\n/g,""));const t=A.split("\n");let B=[];for(let A=0,n=t.length;A<n;A++){const n=t[A].trimStart();if(0===n.length)continue;const c=n.charAt(0);if("#"!==c)if("v"===c){const A=n.split(a);switch(A[0]){case"v":e.vertices.push(parseFloat(A[1]),parseFloat(A[2]),parseFloat(A[3])),A.length>=7?(l.setRGB(parseFloat(A[4]),parseFloat(A[5]),parseFloat(A[6])).convertSRGBToLinear(),e.colors.push(l.r,l.g,l.b)):e.colors.push(void 0,void 0,void 0);break;case"vn":e.normals.push(parseFloat(A[1]),parseFloat(A[2]),parseFloat(A[3]));break;case"vt":e.uvs.push(parseFloat(A[1]),parseFloat(A[2]))}}else if("f"===c){const A=n.slice(1).trim().split(a),t=[];for(let e=0,n=A.length;e<n;e++){const n=A[e];if(n.length>0){const A=n.split("/");t.push(A)}}const i=t[0];for(let A=1,n=t.length-1;A<n;A++){const n=t[A],r=t[A+1];e.addFace(i[0],n[0],r[0],i[1],n[1],r[1],i[2],n[2],r[2])}}else if("l"===c){const A=n.substring(1).trim().split(" ");let t=[];const i=[];if(-1===n.indexOf("/"))t=A;else for(let e=0,n=A.length;e<n;e++){const n=A[e].split("/");""!==n[0]&&t.push(n[0]),""!==n[1]&&i.push(n[1])}e.addLineGeometry(t,i)}else if("p"===c){const A=n.slice(1).trim().split(" ");e.addPointGeometry(A)}else if(null!==(B=i.exec(n))){const A=(" "+B[0].slice(1).trim()).slice(1);e.startObject(A)}else if(s.test(n))e.object.startMaterial(n.substring(7).trim(),e.materialLibraries);else if(r.test(n))e.materialLibraries.push(n.substring(7).trim());else if(o.test(n))console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');else if("s"===c){if(B=n.split(" "),B.length>1){const A=B[1].trim().toLowerCase();e.object.smooth="0"!==A&&"off"!==A}else e.object.smooth=!0;const A=e.object.currentMaterial();A&&(A.smooth=e.object.smooth)}else{if("\0"===n)continue;console.warn('THREE.OBJLoader: Unexpected line: "'+n+'"')}}e.finalize();const c=new n.Group;c.materialLibraries=[].concat(e.materialLibraries);if(!0===!(1===e.objects.length&&0===e.objects[0].geometry.vertices.length))for(let A=0,t=e.objects.length;A<t;A++){const t=e.objects[A],i=t.geometry,r=t.materials,s="Line"===i.type,o="Points"===i.type;let a=!1;if(0===i.vertices.length)continue;const B=new n.BufferGeometry;B.setAttribute("position",new n.Float32BufferAttribute(i.vertices,3)),i.normals.length>0&&B.setAttribute("normal",new n.Float32BufferAttribute(i.normals,3)),i.colors.length>0&&(a=!0,B.setAttribute("color",new n.Float32BufferAttribute(i.colors,3))),!0===i.hasUVIndices&&B.setAttribute("uv",new n.Float32BufferAttribute(i.uvs,2));const g=[];for(let A=0,t=r.length;A<t;A++){const t=r[A],i=t.name+"_"+t.smooth+"_"+a;let B=e.materials[i];if(null!==this.materials)if(B=this.materials.create(t.name),!s||!B||B instanceof n.LineBasicMaterial){if(o&&B&&!(B instanceof n.PointsMaterial)){const A=new n.PointsMaterial({size:10,sizeAttenuation:!1});n.Material.prototype.copy.call(A,B),A.color.copy(B.color),A.map=B.map,B=A}}else{const A=new n.LineBasicMaterial;n.Material.prototype.copy.call(A,B),A.color.copy(B.color),B=A}void 0===B&&(B=s?new n.LineBasicMaterial:o?new n.PointsMaterial({size:1,sizeAttenuation:!1}):new n.MeshPhongMaterial,B.name=t.name,B.flatShading=!t.smooth,B.vertexColors=a,e.materials[i]=B),g.push(B)}let Q;if(g.length>1){for(let A=0,e=r.length;A<e;A++){const e=r[A];B.addGroup(e.groupStart,e.groupCount,A)}Q=s?new n.LineSegments(B,g):o?new n.Points(B,g):new n.Mesh(B,g)}else Q=s?new n.LineSegments(B,g[0]):o?new n.Points(B,g[0]):new n.Mesh(B,g[0]);Q.name=t.name,c.add(Q)}else if(e.vertices.length>0){const A=new n.PointsMaterial({size:1,sizeAttenuation:!1}),t=new n.BufferGeometry;t.setAttribute("position",new n.Float32BufferAttribute(e.vertices,3)),e.colors.length>0&&void 0!==e.colors[0]&&(t.setAttribute("color",new n.Float32BufferAttribute(e.colors,3)),A.vertexColors=!0);const i=new n.Points(t,A);c.add(i)}return c}}},function(A,e,t){"use strict";t.r(e),t.d(e,"GLTFLoader",(function(){return r}));var n=t(0),i=t(68);class r extends n.Loader{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register((function(A){return new g(A)})),this.register((function(A){return new d(A)})),this.register((function(A){return new I(A)})),this.register((function(A){return new M(A)})),this.register((function(A){return new E(A)})),this.register((function(A){return new l(A)})),this.register((function(A){return new u(A)})),this.register((function(A){return new w(A)})),this.register((function(A){return new c(A)})),this.register((function(A){return new h(A)})),this.register((function(A){return new Q(A)})),this.register((function(A){return new C(A)})),this.register((function(A){return new a(A)})),this.register((function(A){return new p(A)})),this.register((function(A){return new m(A)}))}load(A,e,t,i){const r=this;let s;s=""!==this.resourcePath?this.resourcePath:""!==this.path?this.path:n.LoaderUtils.extractUrlBase(A),this.manager.itemStart(A);const o=function(e){i?i(e):console.error(e),r.manager.itemError(A),r.manager.itemEnd(A)},a=new n.FileLoader(this.manager);a.setPath(this.path),a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(A,(function(t){try{r.parse(t,s,(function(t){e(t),r.manager.itemEnd(A)}),o)}catch(A){o(A)}}),t,o)}setDRACOLoader(A){return this.dracoLoader=A,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return-1===this.pluginCallbacks.indexOf(A)&&this.pluginCallbacks.push(A),this}unregister(A){return-1!==this.pluginCallbacks.indexOf(A)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,e,t,n){let i;const r={},s={},a=new TextDecoder;if("string"==typeof A)i=JSON.parse(A);else if(A instanceof ArrayBuffer){if(a.decode(new Uint8Array(A,0,4))===F){try{r[o.KHR_BINARY_GLTF]=new f(A)}catch(A){return void(n&&n(A))}i=JSON.parse(r[o.KHR_BINARY_GLTF].content)}else i=JSON.parse(a.decode(A))}else i=A;if(void 0===i.asset||i.asset.version[0]<2)return void(n&&n(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const c=new q(i,{path:e||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let A=0;A<this.pluginCallbacks.length;A++){const e=this.pluginCallbacks[A](c);s[e.name]=e,r[e.name]=!0}if(i.extensionsUsed)for(let A=0;A<i.extensionsUsed.length;++A){const e=i.extensionsUsed[A],t=i.extensionsRequired||[];switch(e){case o.KHR_MATERIALS_UNLIT:r[e]=new B;break;case o.KHR_DRACO_MESH_COMPRESSION:r[e]=new N(i,this.dracoLoader);break;case o.KHR_TEXTURE_TRANSFORM:r[e]=new U;break;case o.KHR_MESH_QUANTIZATION:r[e]=new y;break;default:t.indexOf(e)>=0&&void 0===s[e]&&console.warn('THREE.GLTFLoader: Unknown extension "'+e+'".')}}c.setExtensions(r),c.setPlugins(s),c.parse(t,n)}parseAsync(A,e){const t=this;return new Promise((function(n,i){t.parse(A,e,n,i)}))}}function s(){let A={};return{get:function(e){return A[e]},add:function(e,t){A[e]=t},remove:function(e){delete A[e]},removeAll:function(){A={}}}}const o={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class a{constructor(A){this.parser=A,this.name=o.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,e=this.parser.json.nodes||[];for(let t=0,n=e.length;t<n;t++){const n=e[t];n.extensions&&n.extensions[this.name]&&void 0!==n.extensions[this.name].light&&A._addNodeRef(this.cache,n.extensions[this.name].light)}}_loadLight(A){const e=this.parser,t="light:"+A;let i=e.cache.get(t);if(i)return i;const r=e.json,s=((r.extensions&&r.extensions[this.name]||{}).lights||[])[A];let o;const a=new n.Color(16777215);void 0!==s.color&&a.fromArray(s.color);const B=void 0!==s.range?s.range:0;switch(s.type){case"directional":o=new n.DirectionalLight(a),o.target.position.set(0,0,-1),o.add(o.target);break;case"point":o=new n.PointLight(a),o.distance=B;break;case"spot":o=new n.SpotLight(a),o.distance=B,s.spot=s.spot||{},s.spot.innerConeAngle=void 0!==s.spot.innerConeAngle?s.spot.innerConeAngle:0,s.spot.outerConeAngle=void 0!==s.spot.outerConeAngle?s.spot.outerConeAngle:Math.PI/4,o.angle=s.spot.outerConeAngle,o.penumbra=1-s.spot.innerConeAngle/s.spot.outerConeAngle,o.target.position.set(0,0,-1),o.add(o.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+s.type)}return o.position.set(0,0,0),o.decay=2,W(o,s),void 0!==s.intensity&&(o.intensity=s.intensity),o.name=e.createUniqueName(s.name||"light_"+A),i=Promise.resolve(o),e.cache.add(t,i),i}getDependency(A,e){if("light"===A)return this._loadLight(e)}createNodeAttachment(A){const e=this,t=this.parser,n=t.json.nodes[A],i=(n.extensions&&n.extensions[this.name]||{}).light;return void 0===i?null:this._loadLight(i).then((function(A){return t._getNodeRef(e.cache,i,A)}))}}class B{constructor(){this.name=o.KHR_MATERIALS_UNLIT}getMaterialType(){return n.MeshBasicMaterial}extendParams(A,e,t){const i=[];A.color=new n.Color(1,1,1),A.opacity=1;const r=e.pbrMetallicRoughness;if(r){if(Array.isArray(r.baseColorFactor)){const e=r.baseColorFactor;A.color.fromArray(e),A.opacity=e[3]}void 0!==r.baseColorTexture&&i.push(t.assignTexture(A,"map",r.baseColorTexture,n.SRGBColorSpace))}return Promise.all(i)}}class c{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(A,e){const t=this.parser.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const n=t.extensions[this.name].emissiveStrength;return void 0!==n&&(e.emissiveIntensity=n),Promise.resolve()}}class g{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_CLEARCOAT}getMaterialType(A){const e=this.parser.json.materials[A];return e.extensions&&e.extensions[this.name]?n.MeshPhysicalMaterial:null}extendMaterialParams(A,e){const t=this.parser,i=t.json.materials[A];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const r=[],s=i.extensions[this.name];if(void 0!==s.clearcoatFactor&&(e.clearcoat=s.clearcoatFactor),void 0!==s.clearcoatTexture&&r.push(t.assignTexture(e,"clearcoatMap",s.clearcoatTexture)),void 0!==s.clearcoatRoughnessFactor&&(e.clearcoatRoughness=s.clearcoatRoughnessFactor),void 0!==s.clearcoatRoughnessTexture&&r.push(t.assignTexture(e,"clearcoatRoughnessMap",s.clearcoatRoughnessTexture)),void 0!==s.clearcoatNormalTexture&&(r.push(t.assignTexture(e,"clearcoatNormalMap",s.clearcoatNormalTexture)),void 0!==s.clearcoatNormalTexture.scale)){const A=s.clearcoatNormalTexture.scale;e.clearcoatNormalScale=new n.Vector2(A,A)}return Promise.all(r)}}class Q{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_IRIDESCENCE}getMaterialType(A){const e=this.parser.json.materials[A];return e.extensions&&e.extensions[this.name]?n.MeshPhysicalMaterial:null}extendMaterialParams(A,e){const t=this.parser,n=t.json.materials[A];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();const i=[],r=n.extensions[this.name];return void 0!==r.iridescenceFactor&&(e.iridescence=r.iridescenceFactor),void 0!==r.iridescenceTexture&&i.push(t.assignTexture(e,"iridescenceMap",r.iridescenceTexture)),void 0!==r.iridescenceIor&&(e.iridescenceIOR=r.iridescenceIor),void 0===e.iridescenceThicknessRange&&(e.iridescenceThicknessRange=[100,400]),void 0!==r.iridescenceThicknessMinimum&&(e.iridescenceThicknessRange[0]=r.iridescenceThicknessMinimum),void 0!==r.iridescenceThicknessMaximum&&(e.iridescenceThicknessRange[1]=r.iridescenceThicknessMaximum),void 0!==r.iridescenceThicknessTexture&&i.push(t.assignTexture(e,"iridescenceThicknessMap",r.iridescenceThicknessTexture)),Promise.all(i)}}class E{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_SHEEN}getMaterialType(A){const e=this.parser.json.materials[A];return e.extensions&&e.extensions[this.name]?n.MeshPhysicalMaterial:null}extendMaterialParams(A,e){const t=this.parser,i=t.json.materials[A];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const r=[];e.sheenColor=new n.Color(0,0,0),e.sheenRoughness=0,e.sheen=1;const s=i.extensions[this.name];return void 0!==s.sheenColorFactor&&e.sheenColor.fromArray(s.sheenColorFactor),void 0!==s.sheenRoughnessFactor&&(e.sheenRoughness=s.sheenRoughnessFactor),void 0!==s.sheenColorTexture&&r.push(t.assignTexture(e,"sheenColorMap",s.sheenColorTexture,n.SRGBColorSpace)),void 0!==s.sheenRoughnessTexture&&r.push(t.assignTexture(e,"sheenRoughnessMap",s.sheenRoughnessTexture)),Promise.all(r)}}class l{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_TRANSMISSION}getMaterialType(A){const e=this.parser.json.materials[A];return e.extensions&&e.extensions[this.name]?n.MeshPhysicalMaterial:null}extendMaterialParams(A,e){const t=this.parser,n=t.json.materials[A];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();const i=[],r=n.extensions[this.name];return void 0!==r.transmissionFactor&&(e.transmission=r.transmissionFactor),void 0!==r.transmissionTexture&&i.push(t.assignTexture(e,"transmissionMap",r.transmissionTexture)),Promise.all(i)}}class u{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_VOLUME}getMaterialType(A){const e=this.parser.json.materials[A];return e.extensions&&e.extensions[this.name]?n.MeshPhysicalMaterial:null}extendMaterialParams(A,e){const t=this.parser,i=t.json.materials[A];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const r=[],s=i.extensions[this.name];e.thickness=void 0!==s.thicknessFactor?s.thicknessFactor:0,void 0!==s.thicknessTexture&&r.push(t.assignTexture(e,"thicknessMap",s.thicknessTexture)),e.attenuationDistance=s.attenuationDistance||1/0;const o=s.attenuationColor||[1,1,1];return e.attenuationColor=new n.Color(o[0],o[1],o[2]),Promise.all(r)}}class w{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_IOR}getMaterialType(A){const e=this.parser.json.materials[A];return e.extensions&&e.extensions[this.name]?n.MeshPhysicalMaterial:null}extendMaterialParams(A,e){const t=this.parser.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const n=t.extensions[this.name];return e.ior=void 0!==n.ior?n.ior:1.5,Promise.resolve()}}class h{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_SPECULAR}getMaterialType(A){const e=this.parser.json.materials[A];return e.extensions&&e.extensions[this.name]?n.MeshPhysicalMaterial:null}extendMaterialParams(A,e){const t=this.parser,i=t.json.materials[A];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const r=[],s=i.extensions[this.name];e.specularIntensity=void 0!==s.specularFactor?s.specularFactor:1,void 0!==s.specularTexture&&r.push(t.assignTexture(e,"specularIntensityMap",s.specularTexture));const o=s.specularColorFactor||[1,1,1];return e.specularColor=new n.Color(o[0],o[1],o[2]),void 0!==s.specularColorTexture&&r.push(t.assignTexture(e,"specularColorMap",s.specularColorTexture,n.SRGBColorSpace)),Promise.all(r)}}class C{constructor(A){this.parser=A,this.name=o.KHR_MATERIALS_ANISOTROPY}getMaterialType(A){const e=this.parser.json.materials[A];return e.extensions&&e.extensions[this.name]?n.MeshPhysicalMaterial:null}extendMaterialParams(A,e){const t=this.parser,n=t.json.materials[A];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();const i=[],r=n.extensions[this.name];return void 0!==r.anisotropyStrength&&(e.anisotropy=r.anisotropyStrength),void 0!==r.anisotropyRotation&&(e.anisotropyRotation=r.anisotropyRotation),void 0!==r.anisotropyTexture&&i.push(t.assignTexture(e,"anisotropyMap",r.anisotropyTexture)),Promise.all(i)}}class d{constructor(A){this.parser=A,this.name=o.KHR_TEXTURE_BASISU}loadTexture(A){const e=this.parser,t=e.json,n=t.textures[A];if(!n.extensions||!n.extensions[this.name])return null;const i=n.extensions[this.name],r=e.options.ktx2Loader;if(!r){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return e.loadTextureImage(A,i.source,r)}}class I{constructor(A){this.parser=A,this.name=o.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(A){const e=this.name,t=this.parser,n=t.json,i=n.textures[A];if(!i.extensions||!i.extensions[e])return null;const r=i.extensions[e],s=n.images[r.source];let o=t.textureLoader;if(s.uri){const A=t.options.manager.getHandler(s.uri);null!==A&&(o=A)}return this.detectSupport().then((function(i){if(i)return t.loadTextureImage(A,r.source,o);if(n.extensionsRequired&&n.extensionsRequired.indexOf(e)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return t.loadTexture(A)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(A){const e=new Image;e.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",e.onload=e.onerror=function(){A(1===e.height)}}))),this.isSupported}}class M{constructor(A){this.parser=A,this.name=o.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(A){const e=this.name,t=this.parser,n=t.json,i=n.textures[A];if(!i.extensions||!i.extensions[e])return null;const r=i.extensions[e],s=n.images[r.source];let o=t.textureLoader;if(s.uri){const A=t.options.manager.getHandler(s.uri);null!==A&&(o=A)}return this.detectSupport().then((function(i){if(i)return t.loadTextureImage(A,r.source,o);if(n.extensionsRequired&&n.extensionsRequired.indexOf(e)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return t.loadTexture(A)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(A){const e=new Image;e.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",e.onload=e.onerror=function(){A(1===e.height)}}))),this.isSupported}}class p{constructor(A){this.name=o.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const e=this.parser.json,t=e.bufferViews[A];if(t.extensions&&t.extensions[this.name]){const A=t.extensions[this.name],n=this.parser.getDependency("buffer",A.buffer),i=this.parser.options.meshoptDecoder;if(!i||!i.supported){if(e.extensionsRequired&&e.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return n.then((function(e){const t=A.byteOffset||0,n=A.byteLength||0,r=A.count,s=A.byteStride,o=new Uint8Array(e,t,n);return i.decodeGltfBufferAsync?i.decodeGltfBufferAsync(r,s,o,A.mode,A.filter).then((function(A){return A.buffer})):i.ready.then((function(){const e=new ArrayBuffer(r*s);return i.decodeGltfBuffer(new Uint8Array(e),r,s,o,A.mode,A.filter),e}))}))}return null}}class m{constructor(A){this.name=o.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const e=this.parser.json,t=e.nodes[A];if(!t.extensions||!t.extensions[this.name]||void 0===t.mesh)return null;const i=e.meshes[t.mesh];for(const A of i.primitives)if(A.mode!==G.TRIANGLES&&A.mode!==G.TRIANGLE_STRIP&&A.mode!==G.TRIANGLE_FAN&&void 0!==A.mode)return null;const r=t.extensions[this.name].attributes,s=[],o={};for(const A in r)s.push(this.parser.getDependency("accessor",r[A]).then(e=>(o[A]=e,o[A])));return s.length<1?null:(s.push(this.parser.createNodeMesh(A)),Promise.all(s).then(A=>{const e=A.pop(),t=e.isGroup?e.children:[e],i=A[0].count,r=[];for(const A of t){const e=new n.Matrix4,t=new n.Vector3,s=new n.Quaternion,a=new n.Vector3(1,1,1),B=new n.InstancedMesh(A.geometry,A.material,i);for(let A=0;A<i;A++)o.TRANSLATION&&t.fromBufferAttribute(o.TRANSLATION,A),o.ROTATION&&s.fromBufferAttribute(o.ROTATION,A),o.SCALE&&a.fromBufferAttribute(o.SCALE,A),B.setMatrixAt(A,e.compose(t,s,a));for(const e in o)"TRANSLATION"!==e&&"ROTATION"!==e&&"SCALE"!==e&&A.geometry.setAttribute(e,o[e]);n.Object3D.prototype.copy.call(B,A),this.parser.assignFinalMaterial(B),r.push(B)}return e.isGroup?(e.clear(),e.add(...r),e):r[0]}))}}const F="glTF",D=1313821514,Y=5130562;class f{constructor(A){this.name=o.KHR_BINARY_GLTF,this.content=null,this.body=null;const e=new DataView(A,0,12),t=new TextDecoder;if(this.header={magic:t.decode(new Uint8Array(A.slice(0,4))),version:e.getUint32(4,!0),length:e.getUint32(8,!0)},this.header.magic!==F)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const n=this.header.length-12,i=new DataView(A,12);let r=0;for(;r<n;){const e=i.getUint32(r,!0);r+=4;const n=i.getUint32(r,!0);if(r+=4,n===D){const n=new Uint8Array(A,12+r,e);this.content=t.decode(n)}else if(n===Y){const t=12+r;this.body=A.slice(t,t+e)}r+=e}if(null===this.content)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class N{constructor(A,e){if(!e)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=o.KHR_DRACO_MESH_COMPRESSION,this.json=A,this.dracoLoader=e,this.dracoLoader.preload()}decodePrimitive(A,e){const t=this.json,n=this.dracoLoader,i=A.extensions[this.name].bufferView,r=A.extensions[this.name].attributes,s={},o={},a={};for(const A in r){const e=J[A]||A.toLowerCase();s[e]=r[A]}for(const e in A.attributes){const n=J[e]||e.toLowerCase();if(void 0!==r[e]){const i=t.accessors[A.attributes[e]],r=S[i.componentType];a[n]=r.name,o[n]=!0===i.normalized}}return e.getDependency("bufferView",i).then((function(A){return new Promise((function(e){n.decodeDracoFile(A,(function(A){for(const e in A.attributes){const t=A.attributes[e],n=o[e];void 0!==n&&(t.normalized=n)}e(A)}),s,a)}))}))}}class U{constructor(){this.name=o.KHR_TEXTURE_TRANSFORM}extendTexture(A,e){return void 0!==e.texCoord&&e.texCoord!==A.channel||void 0!==e.offset||void 0!==e.rotation||void 0!==e.scale?(A=A.clone(),void 0!==e.texCoord&&(A.channel=e.texCoord),void 0!==e.offset&&A.offset.fromArray(e.offset),void 0!==e.rotation&&(A.rotation=e.rotation),void 0!==e.scale&&A.repeat.fromArray(e.scale),A.needsUpdate=!0,A):A}}class y{constructor(){this.name=o.KHR_MESH_QUANTIZATION}}class x extends n.Interpolant{constructor(A,e,t,n){super(A,e,t,n)}copySampleValue_(A){const e=this.resultBuffer,t=this.sampleValues,n=this.valueSize,i=A*n*3+n;for(let A=0;A!==n;A++)e[A]=t[i+A];return e}interpolate_(A,e,t,n){const i=this.resultBuffer,r=this.sampleValues,s=this.valueSize,o=2*s,a=3*s,B=n-e,c=(t-e)/B,g=c*c,Q=g*c,E=A*a,l=E-a,u=-2*Q+3*g,w=Q-g,h=1-u,C=w-g+c;for(let A=0;A!==s;A++){const e=r[l+A+s],t=r[l+A+o]*B,n=r[E+A+s],a=r[E+A]*B;i[A]=h*e+C*t+u*n+w*a}return i}}const T=new n.Quaternion;class R extends x{interpolate_(A,e,t,n){const i=super.interpolate_(A,e,t,n);return T.fromArray(i).normalize().toArray(i),i}}const G={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},S={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},H={9728:n.NearestFilter,9729:n.LinearFilter,9984:n.NearestMipmapNearestFilter,9985:n.LinearMipmapNearestFilter,9986:n.NearestMipmapLinearFilter,9987:n.LinearMipmapLinearFilter},b={33071:n.ClampToEdgeWrapping,33648:n.MirroredRepeatWrapping,10497:n.RepeatWrapping},k={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},J={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},j={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},z={CUBICSPLINE:void 0,LINEAR:n.InterpolateLinear,STEP:n.InterpolateDiscrete},v="OPAQUE",L="MASK",P="BLEND";function O(A,e,t){for(const n in t.extensions)void 0===A[n]&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[n]=t.extensions[n])}function W(A,e){void 0!==e.extras&&("object"==typeof e.extras?Object.assign(A.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function V(A,e){if(A.updateMorphTargets(),void 0!==e.weights)for(let t=0,n=e.weights.length;t<n;t++)A.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(A.morphTargetInfluences.length===t.length){A.morphTargetDictionary={};for(let e=0,n=t.length;e<n;e++)A.morphTargetDictionary[t[e]]=e}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function K(A){let e;const t=A.extensions&&A.extensions[o.KHR_DRACO_MESH_COMPRESSION];if(e=t?"draco:"+t.bufferView+":"+t.indices+":"+X(t.attributes):A.indices+":"+X(A.attributes)+":"+A.mode,void 0!==A.targets)for(let t=0,n=A.targets.length;t<n;t++)e+=":"+X(A.targets[t]);return e}function X(A){let e="";const t=Object.keys(A).sort();for(let n=0,i=t.length;n<i;n++)e+=t[n]+":"+A[t[n]]+";";return e}function Z(A){switch(A){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}const _=new n.Matrix4;class q{constructor(A={},e={}){this.json=A,this.extensions={},this.plugins={},this.options=e,this.cache=new s,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let t=!1,i=!1,r=-1;"undefined"!=typeof navigator&&(t=!0===/^((?!chrome|android).)*safari/i.test(navigator.userAgent),i=navigator.userAgent.indexOf("Firefox")>-1,r=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),"undefined"==typeof createImageBitmap||t||i&&r<98?this.textureLoader=new n.TextureLoader(this.options.manager):this.textureLoader=new n.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new n.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,e){const t=this,n=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll((function(A){return A._markDefs&&A._markDefs()})),Promise.all(this._invokeAll((function(A){return A.beforeRoot&&A.beforeRoot()}))).then((function(){return Promise.all([t.getDependencies("scene"),t.getDependencies("animation"),t.getDependencies("camera")])})).then((function(e){const r={scene:e[0][n.scene||0],scenes:e[0],animations:e[1],cameras:e[2],asset:n.asset,parser:t,userData:{}};O(i,r,n),W(r,n),Promise.all(t._invokeAll((function(A){return A.afterRoot&&A.afterRoot(r)}))).then((function(){A(r)}))})).catch(e)}_markDefs(){const A=this.json.nodes||[],e=this.json.skins||[],t=this.json.meshes||[];for(let t=0,n=e.length;t<n;t++){const n=e[t].joints;for(let e=0,t=n.length;e<t;e++)A[n[e]].isBone=!0}for(let e=0,n=A.length;e<n;e++){const n=A[e];void 0!==n.mesh&&(this._addNodeRef(this.meshCache,n.mesh),void 0!==n.skin&&(t[n.mesh].isSkinnedMesh=!0)),void 0!==n.camera&&this._addNodeRef(this.cameraCache,n.camera)}}_addNodeRef(A,e){void 0!==e&&(void 0===A.refs[e]&&(A.refs[e]=A.uses[e]=0),A.refs[e]++)}_getNodeRef(A,e,t){if(A.refs[e]<=1)return t;const n=t.clone(),i=(A,e)=>{const t=this.associations.get(A);null!=t&&this.associations.set(e,t);for(const[t,n]of A.children.entries())i(n,e.children[t])};return i(t,n),n.name+="_instance_"+A.uses[e]++,n}_invokeOne(A){const e=Object.values(this.plugins);e.push(this);for(let t=0;t<e.length;t++){const n=A(e[t]);if(n)return n}return null}_invokeAll(A){const e=Object.values(this.plugins);e.unshift(this);const t=[];for(let n=0;n<e.length;n++){const i=A(e[n]);i&&t.push(i)}return t}getDependency(A,e){const t=A+":"+e;let n=this.cache.get(t);if(!n){switch(A){case"scene":n=this.loadScene(e);break;case"node":n=this._invokeOne((function(A){return A.loadNode&&A.loadNode(e)}));break;case"mesh":n=this._invokeOne((function(A){return A.loadMesh&&A.loadMesh(e)}));break;case"accessor":n=this.loadAccessor(e);break;case"bufferView":n=this._invokeOne((function(A){return A.loadBufferView&&A.loadBufferView(e)}));break;case"buffer":n=this.loadBuffer(e);break;case"material":n=this._invokeOne((function(A){return A.loadMaterial&&A.loadMaterial(e)}));break;case"texture":n=this._invokeOne((function(A){return A.loadTexture&&A.loadTexture(e)}));break;case"skin":n=this.loadSkin(e);break;case"animation":n=this._invokeOne((function(A){return A.loadAnimation&&A.loadAnimation(e)}));break;case"camera":n=this.loadCamera(e);break;default:if(n=this._invokeOne((function(t){return t!=this&&t.getDependency&&t.getDependency(A,e)})),!n)throw new Error("Unknown type: "+A)}this.cache.add(t,n)}return n}getDependencies(A){let e=this.cache.get(A);if(!e){const t=this,n=this.json[A+("mesh"===A?"es":"s")]||[];e=Promise.all(n.map((function(e,n){return t.getDependency(A,n)}))),this.cache.add(A,e)}return e}loadBuffer(A){const e=this.json.buffers[A],t=this.fileLoader;if(e.type&&"arraybuffer"!==e.type)throw new Error("THREE.GLTFLoader: "+e.type+" buffer type is not supported.");if(void 0===e.uri&&0===A)return Promise.resolve(this.extensions[o.KHR_BINARY_GLTF].body);const i=this.options;return new Promise((function(A,r){t.load(n.LoaderUtils.resolveURL(e.uri,i.path),A,void 0,(function(){r(new Error('THREE.GLTFLoader: Failed to load buffer "'+e.uri+'".'))}))}))}loadBufferView(A){const e=this.json.bufferViews[A];return this.getDependency("buffer",e.buffer).then((function(A){const t=e.byteLength||0,n=e.byteOffset||0;return A.slice(n,n+t)}))}loadAccessor(A){const e=this,t=this.json,i=this.json.accessors[A];if(void 0===i.bufferView&&void 0===i.sparse){const A=k[i.type],e=S[i.componentType],t=!0===i.normalized,r=new e(i.count*A);return Promise.resolve(new n.BufferAttribute(r,A,t))}const r=[];return void 0!==i.bufferView?r.push(this.getDependency("bufferView",i.bufferView)):r.push(null),void 0!==i.sparse&&(r.push(this.getDependency("bufferView",i.sparse.indices.bufferView)),r.push(this.getDependency("bufferView",i.sparse.values.bufferView))),Promise.all(r).then((function(A){const r=A[0],s=k[i.type],o=S[i.componentType],a=o.BYTES_PER_ELEMENT,B=a*s,c=i.byteOffset||0,g=void 0!==i.bufferView?t.bufferViews[i.bufferView].byteStride:void 0,Q=!0===i.normalized;let E,l;if(g&&g!==B){const A=Math.floor(c/g),t="InterleavedBuffer:"+i.bufferView+":"+i.componentType+":"+A+":"+i.count;let B=e.cache.get(t);B||(E=new o(r,A*g,i.count*g/a),B=new n.InterleavedBuffer(E,g/a),e.cache.add(t,B)),l=new n.InterleavedBufferAttribute(B,s,c%g/a,Q)}else E=null===r?new o(i.count*s):new o(r,c,i.count*s),l=new n.BufferAttribute(E,s,Q);if(void 0!==i.sparse){const e=k.SCALAR,t=S[i.sparse.indices.componentType],a=i.sparse.indices.byteOffset||0,B=i.sparse.values.byteOffset||0,c=new t(A[1],a,i.sparse.count*e),g=new o(A[2],B,i.sparse.count*s);null!==r&&(l=new n.BufferAttribute(l.array.slice(),l.itemSize,l.normalized));for(let A=0,e=c.length;A<e;A++){const e=c[A];if(l.setX(e,g[A*s]),s>=2&&l.setY(e,g[A*s+1]),s>=3&&l.setZ(e,g[A*s+2]),s>=4&&l.setW(e,g[A*s+3]),s>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return l}))}loadTexture(A){const e=this.json,t=this.options,n=e.textures[A].source,i=e.images[n];let r=this.textureLoader;if(i.uri){const A=t.manager.getHandler(i.uri);null!==A&&(r=A)}return this.loadTextureImage(A,n,r)}loadTextureImage(A,e,t){const i=this,r=this.json,s=r.textures[A],o=r.images[e],a=(o.uri||o.bufferView)+":"+s.sampler;if(this.textureCache[a])return this.textureCache[a];const B=this.loadImageSource(e,t).then((function(e){e.flipY=!1,e.name=s.name||o.name||"",""===e.name&&"string"==typeof o.uri&&!1===o.uri.startsWith("data:image/")&&(e.name=o.uri);const t=(r.samplers||{})[s.sampler]||{};return e.magFilter=H[t.magFilter]||n.LinearFilter,e.minFilter=H[t.minFilter]||n.LinearMipmapLinearFilter,e.wrapS=b[t.wrapS]||n.RepeatWrapping,e.wrapT=b[t.wrapT]||n.RepeatWrapping,i.associations.set(e,{textures:A}),e})).catch((function(){return null}));return this.textureCache[a]=B,B}loadImageSource(A,e){const t=this,i=this.json,r=this.options;if(void 0!==this.sourceCache[A])return this.sourceCache[A].then(A=>A.clone());const s=i.images[A],o=self.URL||self.webkitURL;let a=s.uri||"",B=!1;if(void 0!==s.bufferView)a=t.getDependency("bufferView",s.bufferView).then((function(A){B=!0;const e=new Blob([A],{type:s.mimeType});return a=o.createObjectURL(e),a}));else if(void 0===s.uri)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const c=Promise.resolve(a).then((function(A){return new Promise((function(t,i){let s=t;!0===e.isImageBitmapLoader&&(s=function(A){const e=new n.Texture(A);e.needsUpdate=!0,t(e)}),e.load(n.LoaderUtils.resolveURL(A,r.path),s,void 0,i)}))})).then((function(A){var e;return!0===B&&o.revokeObjectURL(a),A.userData.mimeType=s.mimeType||((e=s.uri).search(/\.jpe?g($|\?)/i)>0||0===e.search(/^data\:image\/jpeg/)?"image/jpeg":e.search(/\.webp($|\?)/i)>0||0===e.search(/^data\:image\/webp/)?"image/webp":"image/png"),A})).catch((function(A){throw console.error("THREE.GLTFLoader: Couldn't load texture",a),A}));return this.sourceCache[A]=c,c}assignTexture(A,e,t,n){const i=this;return this.getDependency("texture",t.index).then((function(r){if(!r)return null;if(void 0!==t.texCoord&&t.texCoord>0&&((r=r.clone()).channel=t.texCoord),i.extensions[o.KHR_TEXTURE_TRANSFORM]){const A=void 0!==t.extensions?t.extensions[o.KHR_TEXTURE_TRANSFORM]:void 0;if(A){const e=i.associations.get(r);r=i.extensions[o.KHR_TEXTURE_TRANSFORM].extendTexture(r,A),i.associations.set(r,e)}}return void 0!==n&&(r.colorSpace=n),A[e]=r,r}))}assignFinalMaterial(A){const e=A.geometry;let t=A.material;const i=void 0===e.attributes.tangent,r=void 0!==e.attributes.color,s=void 0===e.attributes.normal;if(A.isPoints){const A="PointsMaterial:"+t.uuid;let e=this.cache.get(A);e||(e=new n.PointsMaterial,n.Material.prototype.copy.call(e,t),e.color.copy(t.color),e.map=t.map,e.sizeAttenuation=!1,this.cache.add(A,e)),t=e}else if(A.isLine){const A="LineBasicMaterial:"+t.uuid;let e=this.cache.get(A);e||(e=new n.LineBasicMaterial,n.Material.prototype.copy.call(e,t),e.color.copy(t.color),e.map=t.map,this.cache.add(A,e)),t=e}if(i||r||s){let A="ClonedMaterial:"+t.uuid+":";i&&(A+="derivative-tangents:"),r&&(A+="vertex-colors:"),s&&(A+="flat-shading:");let e=this.cache.get(A);e||(e=t.clone(),r&&(e.vertexColors=!0),s&&(e.flatShading=!0),i&&(e.normalScale&&(e.normalScale.y*=-1),e.clearcoatNormalScale&&(e.clearcoatNormalScale.y*=-1)),this.cache.add(A,e),this.associations.set(e,this.associations.get(t))),t=e}A.material=t}getMaterialType(){return n.MeshStandardMaterial}loadMaterial(A){const e=this,t=this.json,i=this.extensions,r=t.materials[A];let s;const a={},B=[];if((r.extensions||{})[o.KHR_MATERIALS_UNLIT]){const A=i[o.KHR_MATERIALS_UNLIT];s=A.getMaterialType(),B.push(A.extendParams(a,r,e))}else{const t=r.pbrMetallicRoughness||{};if(a.color=new n.Color(1,1,1),a.opacity=1,Array.isArray(t.baseColorFactor)){const A=t.baseColorFactor;a.color.fromArray(A),a.opacity=A[3]}void 0!==t.baseColorTexture&&B.push(e.assignTexture(a,"map",t.baseColorTexture,n.SRGBColorSpace)),a.metalness=void 0!==t.metallicFactor?t.metallicFactor:1,a.roughness=void 0!==t.roughnessFactor?t.roughnessFactor:1,void 0!==t.metallicRoughnessTexture&&(B.push(e.assignTexture(a,"metalnessMap",t.metallicRoughnessTexture)),B.push(e.assignTexture(a,"roughnessMap",t.metallicRoughnessTexture))),s=this._invokeOne((function(e){return e.getMaterialType&&e.getMaterialType(A)})),B.push(Promise.all(this._invokeAll((function(e){return e.extendMaterialParams&&e.extendMaterialParams(A,a)}))))}!0===r.doubleSided&&(a.side=n.DoubleSide);const c=r.alphaMode||v;if(c===P?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,c===L&&(a.alphaTest=void 0!==r.alphaCutoff?r.alphaCutoff:.5)),void 0!==r.normalTexture&&s!==n.MeshBasicMaterial&&(B.push(e.assignTexture(a,"normalMap",r.normalTexture)),a.normalScale=new n.Vector2(1,1),void 0!==r.normalTexture.scale)){const A=r.normalTexture.scale;a.normalScale.set(A,A)}return void 0!==r.occlusionTexture&&s!==n.MeshBasicMaterial&&(B.push(e.assignTexture(a,"aoMap",r.occlusionTexture)),void 0!==r.occlusionTexture.strength&&(a.aoMapIntensity=r.occlusionTexture.strength)),void 0!==r.emissiveFactor&&s!==n.MeshBasicMaterial&&(a.emissive=(new n.Color).fromArray(r.emissiveFactor)),void 0!==r.emissiveTexture&&s!==n.MeshBasicMaterial&&B.push(e.assignTexture(a,"emissiveMap",r.emissiveTexture,n.SRGBColorSpace)),Promise.all(B).then((function(){const t=new s(a);return r.name&&(t.name=r.name),W(t,r),e.associations.set(t,{materials:A}),r.extensions&&O(i,t,r),t}))}createUniqueName(A){const e=n.PropertyBinding.sanitizeNodeName(A||"");return e in this.nodeNamesUsed?e+"_"+ ++this.nodeNamesUsed[e]:(this.nodeNamesUsed[e]=0,e)}loadGeometries(A){const e=this,t=this.extensions,i=this.primitiveCache;function r(A){return t[o.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(A,e).then((function(t){return $(t,A,e)}))}const s=[];for(let t=0,a=A.length;t<a;t++){const a=A[t],B=K(a),c=i[B];if(c)s.push(c.promise);else{let A;A=a.extensions&&a.extensions[o.KHR_DRACO_MESH_COMPRESSION]?r(a):$(new n.BufferGeometry,a,e),i[B]={primitive:a,promise:A},s.push(A)}}return Promise.all(s)}loadMesh(A){const e=this,t=this.json,r=this.extensions,s=t.meshes[A],o=s.primitives,a=[];for(let A=0,e=o.length;A<e;A++){const e=void 0===o[A].material?(void 0===(B=this.cache).DefaultMaterial&&(B.DefaultMaterial=new n.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:n.FrontSide})),B.DefaultMaterial):this.getDependency("material",o[A].material);a.push(e)}var B;return a.push(e.loadGeometries(o)),Promise.all(a).then((function(t){const a=t.slice(0,t.length-1),B=t[t.length-1],c=[];for(let t=0,g=B.length;t<g;t++){const g=B[t],Q=o[t];let E;const l=a[t];if(Q.mode===G.TRIANGLES||Q.mode===G.TRIANGLE_STRIP||Q.mode===G.TRIANGLE_FAN||void 0===Q.mode)E=!0===s.isSkinnedMesh?new n.SkinnedMesh(g,l):new n.Mesh(g,l),!0===E.isSkinnedMesh&&E.normalizeSkinWeights(),Q.mode===G.TRIANGLE_STRIP?E.geometry=Object(i.toTrianglesDrawMode)(E.geometry,n.TriangleStripDrawMode):Q.mode===G.TRIANGLE_FAN&&(E.geometry=Object(i.toTrianglesDrawMode)(E.geometry,n.TriangleFanDrawMode));else if(Q.mode===G.LINES)E=new n.LineSegments(g,l);else if(Q.mode===G.LINE_STRIP)E=new n.Line(g,l);else if(Q.mode===G.LINE_LOOP)E=new n.LineLoop(g,l);else{if(Q.mode!==G.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+Q.mode);E=new n.Points(g,l)}Object.keys(E.geometry.morphAttributes).length>0&&V(E,s),E.name=e.createUniqueName(s.name||"mesh_"+A),W(E,s),Q.extensions&&O(r,E,Q),e.assignFinalMaterial(E),c.push(E)}for(let t=0,n=c.length;t<n;t++)e.associations.set(c[t],{meshes:A,primitives:t});if(1===c.length)return s.extensions&&O(r,c[0],s),c[0];const g=new n.Group;s.extensions&&O(r,g,s),e.associations.set(g,{meshes:A});for(let A=0,e=c.length;A<e;A++)g.add(c[A]);return g}))}loadCamera(A){let e;const t=this.json.cameras[A],i=t[t.type];if(i)return"perspective"===t.type?e=new n.PerspectiveCamera(n.MathUtils.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):"orthographic"===t.type&&(e=new n.OrthographicCamera(-i.xmag,i.xmag,i.ymag,-i.ymag,i.znear,i.zfar)),t.name&&(e.name=this.createUniqueName(t.name)),W(e,t),Promise.resolve(e);console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(A){const e=this.json.skins[A],t=[];for(let A=0,n=e.joints.length;A<n;A++)t.push(this._loadNodeShallow(e.joints[A]));return void 0!==e.inverseBindMatrices?t.push(this.getDependency("accessor",e.inverseBindMatrices)):t.push(null),Promise.all(t).then((function(A){const t=A.pop(),i=A,r=[],s=[];for(let A=0,o=i.length;A<o;A++){const o=i[A];if(o){r.push(o);const e=new n.Matrix4;null!==t&&e.fromArray(t.array,16*A),s.push(e)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',e.joints[A])}return new n.Skeleton(r,s)}))}loadAnimation(A){const e=this.json.animations[A],t=e.name?e.name:"animation_"+A,i=[],r=[],s=[],o=[],a=[];for(let A=0,t=e.channels.length;A<t;A++){const t=e.channels[A],n=e.samplers[t.sampler],B=t.target,c=B.node,g=void 0!==e.parameters?e.parameters[n.input]:n.input,Q=void 0!==e.parameters?e.parameters[n.output]:n.output;void 0!==B.node&&(i.push(this.getDependency("node",c)),r.push(this.getDependency("accessor",g)),s.push(this.getDependency("accessor",Q)),o.push(n),a.push(B))}return Promise.all([Promise.all(i),Promise.all(r),Promise.all(s),Promise.all(o),Promise.all(a)]).then((function(A){const e=A[0],i=A[1],r=A[2],s=A[3],o=A[4],a=[];for(let A=0,t=e.length;A<t;A++){const t=e[A],B=i[A],c=r[A],g=s[A],Q=o[A];if(void 0===t)continue;let E;switch(t.updateMatrix(),j[Q.path]){case j.weights:E=n.NumberKeyframeTrack;break;case j.rotation:E=n.QuaternionKeyframeTrack;break;case j.position:case j.scale:default:E=n.VectorKeyframeTrack}const l=t.name?t.name:t.uuid,u=void 0!==g.interpolation?z[g.interpolation]:n.InterpolateLinear,w=[];j[Q.path]===j.weights?t.traverse((function(A){A.morphTargetInfluences&&w.push(A.name?A.name:A.uuid)})):w.push(l);let h=c.array;if(c.normalized){const A=Z(h.constructor),e=new Float32Array(h.length);for(let t=0,n=h.length;t<n;t++)e[t]=h[t]*A;h=e}for(let A=0,e=w.length;A<e;A++){const e=new E(w[A]+"."+j[Q.path],B.array,h,u);"CUBICSPLINE"===g.interpolation&&(e.createInterpolant=function(A){return new(this instanceof n.QuaternionKeyframeTrack?R:x)(this.times,this.values,this.getValueSize()/3,A)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),a.push(e)}}return new n.AnimationClip(t,void 0,a)}))}createNodeMesh(A){const e=this.json,t=this,n=e.nodes[A];return void 0===n.mesh?null:t.getDependency("mesh",n.mesh).then((function(A){const e=t._getNodeRef(t.meshCache,n.mesh,A);return void 0!==n.weights&&e.traverse((function(A){if(A.isMesh)for(let e=0,t=n.weights.length;e<t;e++)A.morphTargetInfluences[e]=n.weights[e]})),e}))}loadNode(A){const e=this,t=this.json.nodes[A],n=e._loadNodeShallow(A),i=[],r=t.children||[];for(let A=0,t=r.length;A<t;A++)i.push(e.getDependency("node",r[A]));const s=void 0===t.skin?Promise.resolve(null):e.getDependency("skin",t.skin);return Promise.all([n,Promise.all(i),s]).then((function(A){const e=A[0],t=A[1],n=A[2];null!==n&&e.traverse((function(A){A.isSkinnedMesh&&A.bind(n,_)}));for(let A=0,n=t.length;A<n;A++)e.add(t[A]);return e}))}_loadNodeShallow(A){const e=this.json,t=this.extensions,i=this;if(void 0!==this.nodeCache[A])return this.nodeCache[A];const r=e.nodes[A],s=r.name?i.createUniqueName(r.name):"",o=[],a=i._invokeOne((function(e){return e.createNodeMesh&&e.createNodeMesh(A)}));return a&&o.push(a),void 0!==r.camera&&o.push(i.getDependency("camera",r.camera).then((function(A){return i._getNodeRef(i.cameraCache,r.camera,A)}))),i._invokeAll((function(e){return e.createNodeAttachment&&e.createNodeAttachment(A)})).forEach((function(A){o.push(A)})),this.nodeCache[A]=Promise.all(o).then((function(e){let o;if(o=!0===r.isBone?new n.Bone:e.length>1?new n.Group:1===e.length?e[0]:new n.Object3D,o!==e[0])for(let A=0,t=e.length;A<t;A++)o.add(e[A]);if(r.name&&(o.userData.name=r.name,o.name=s),W(o,r),r.extensions&&O(t,o,r),void 0!==r.matrix){const A=new n.Matrix4;A.fromArray(r.matrix),o.applyMatrix4(A)}else void 0!==r.translation&&o.position.fromArray(r.translation),void 0!==r.rotation&&o.quaternion.fromArray(r.rotation),void 0!==r.scale&&o.scale.fromArray(r.scale);return i.associations.has(o)||i.associations.set(o,{}),i.associations.get(o).nodes=A,o})),this.nodeCache[A]}loadScene(A){const e=this.extensions,t=this.json.scenes[A],i=this,r=new n.Group;t.name&&(r.name=i.createUniqueName(t.name)),W(r,t),t.extensions&&O(e,r,t);const s=t.nodes||[],o=[];for(let A=0,e=s.length;A<e;A++)o.push(i.getDependency("node",s[A]));return Promise.all(o).then((function(A){for(let e=0,t=A.length;e<t;e++)r.add(A[e]);return i.associations=(A=>{const e=new Map;for(const[A,t]of i.associations)(A instanceof n.Material||A instanceof n.Texture)&&e.set(A,t);return A.traverse(A=>{const t=i.associations.get(A);null!=t&&e.set(A,t)}),e})(r),r}))}}function $(A,e,t){const i=e.attributes,r=[];function s(e,n){return t.getDependency("accessor",e).then((function(e){A.setAttribute(n,e)}))}for(const e in i){const t=J[e]||e.toLowerCase();t in A.attributes||r.push(s(i[e],t))}if(void 0!==e.indices&&!A.index){const n=t.getDependency("accessor",e.indices).then((function(e){A.setIndex(e)}));r.push(n)}return W(A,e),function(A,e,t){const i=e.attributes,r=new n.Box3;if(void 0===i.POSITION)return;{const A=t.json.accessors[i.POSITION],e=A.min,s=A.max;if(void 0===e||void 0===s)return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(r.set(new n.Vector3(e[0],e[1],e[2]),new n.Vector3(s[0],s[1],s[2])),A.normalized){const e=Z(S[A.componentType]);r.min.multiplyScalar(e),r.max.multiplyScalar(e)}}const s=e.targets;if(void 0!==s){const A=new n.Vector3,e=new n.Vector3;for(let n=0,i=s.length;n<i;n++){const i=s[n];if(void 0!==i.POSITION){const n=t.json.accessors[i.POSITION],r=n.min,s=n.max;if(void 0!==r&&void 0!==s){if(e.setX(Math.max(Math.abs(r[0]),Math.abs(s[0]))),e.setY(Math.max(Math.abs(r[1]),Math.abs(s[1]))),e.setZ(Math.max(Math.abs(r[2]),Math.abs(s[2]))),n.normalized){const A=Z(S[n.componentType]);e.multiplyScalar(A)}A.max(e)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}r.expandByVector(A)}A.boundingBox=r;const o=new n.Sphere;r.getCenter(o.center),o.radius=r.min.distanceTo(r.max)/2,A.boundingSphere=o}(A,e,t),Promise.all(r).then((function(){return void 0!==e.targets?function(A,e,t){let n=!1,i=!1,r=!1;for(let A=0,t=e.length;A<t;A++){const t=e[A];if(void 0!==t.POSITION&&(n=!0),void 0!==t.NORMAL&&(i=!0),void 0!==t.COLOR_0&&(r=!0),n&&i&&r)break}if(!n&&!i&&!r)return Promise.resolve(A);const s=[],o=[],a=[];for(let B=0,c=e.length;B<c;B++){const c=e[B];if(n){const e=void 0!==c.POSITION?t.getDependency("accessor",c.POSITION):A.attributes.position;s.push(e)}if(i){const e=void 0!==c.NORMAL?t.getDependency("accessor",c.NORMAL):A.attributes.normal;o.push(e)}if(r){const e=void 0!==c.COLOR_0?t.getDependency("accessor",c.COLOR_0):A.attributes.color;a.push(e)}}return Promise.all([Promise.all(s),Promise.all(o),Promise.all(a)]).then((function(e){const t=e[0],s=e[1],o=e[2];return n&&(A.morphAttributes.position=t),i&&(A.morphAttributes.normal=s),r&&(A.morphAttributes.color=o),A.morphTargetsRelative=!0,A}))}(A,e.targets,t):A}))}},function(A,e,t){t(7);const n=t(1),i=t(3),r=t(2),s=t(351),o=t(352);function a(A){const e=function(A){return A*(180/Math.PI)}(A);if(!String(e).includes("."))return e;const t=String(e).split("."),n=t[1].substring(0,3);return"999"===n&&"9"===t[1].charAt(3)?Number(t[0])+1:Number(t[0]+"."+n)}A.exports=class{constructor(A){this.runtime=A,this.open=!1,this._3d={},this.three={},this.runtime.ext_jg3d?(this._3d=this.runtime.ext_jg3d,this.three=this._3d.three):vm.extensionManager.loadExtensionURL("jg3d").then(()=>{this._3d=this.runtime.ext_jg3d,this.three=this._3d.three})}getInfo(){return{id:"jg3dVr",name:"3D VR",color1:"#B100FE",color2:"#8000BC",blockIconURI:s,blocks:[{opcode:"isSupported",text:"is vr supported?",blockType:n.BOOLEAN,disableMonitor:!0},{opcode:"createSession",text:"create vr session",blockType:n.COMMAND},{opcode:"closeSession",text:"close vr session",blockType:n.COMMAND},{opcode:"isOpened",text:"is vr open?",blockType:n.BOOLEAN,disableMonitor:!0},"---",{opcode:"attachObject",text:"attach camera to object named [OBJECT]",blockType:n.COMMAND,arguments:{OBJECT:{type:i.STRING,defaultValue:"Object1"}}},{opcode:"detachObject",text:"detach camera from object",blockType:n.COMMAND},"---",{opcode:"getControllerPosition",text:"controller #[INDEX] position [VECTOR3]",blockType:n.REPORTER,blockIconURI:o,disableMonitor:!0,arguments:{INDEX:{type:i.NUMBER,menu:"count"},VECTOR3:{type:i.STRING,menu:"vector3"}}},{opcode:"getControllerRotation",text:"controller #[INDEX] rotation [VECTOR3]",blockType:n.REPORTER,blockIconURI:o,disableMonitor:!0,arguments:{INDEX:{type:i.NUMBER,menu:"count"},VECTOR3:{type:i.STRING,menu:"vector3"}}},{opcode:"getControllerSide",text:"side of controller #[INDEX]",blockType:n.REPORTER,blockIconURI:o,disableMonitor:!0,arguments:{INDEX:{type:i.NUMBER,menu:"count"}}},"---",{opcode:"getControllerStick",text:"joystick axis [XY] of controller #[INDEX]",blockType:n.REPORTER,blockIconURI:o,disableMonitor:!0,arguments:{XY:{type:i.STRING,menu:"vector2"},INDEX:{type:i.NUMBER,menu:"count"}}},{opcode:"getControllerTrig",text:"analog value of [TRIGGER] trigger on controller #[INDEX]",blockType:n.REPORTER,blockIconURI:o,disableMonitor:!0,arguments:{TRIGGER:{type:i.STRING,menu:"trig"},INDEX:{type:i.NUMBER,menu:"count"}}},{opcode:"getControllerButton",text:"button [BUTTON] on controller #[INDEX] pressed?",blockType:n.BOOLEAN,blockIconURI:o,disableMonitor:!0,arguments:{BUTTON:{type:i.STRING,menu:"butt"},INDEX:{type:i.NUMBER,menu:"count"}}},{opcode:"getControllerTouching",text:"[BUTTON] on controller #[INDEX] touched?",blockType:n.BOOLEAN,blockIconURI:o,disableMonitor:!0,arguments:{BUTTON:{type:i.STRING,menu:"buttAll"},INDEX:{type:i.NUMBER,menu:"count"}}}],menus:{vector3:{acceptReporters:!0,items:["x","y","z"].map(A=>({text:A,value:A}))},vector2:{acceptReporters:!0,items:["x","y"].map(A=>({text:A,value:A}))},butt:{acceptReporters:!0,items:["a","b","x","y","joystick"].map(A=>({text:A,value:A}))},trig:{acceptReporters:!0,items:["back","side"].map(A=>({text:A,value:A}))},buttAll:{acceptReporters:!0,items:["a button","b button","x button","y button","joystick","back trigger","side trigger"].map(A=>({text:A,value:A}))},count:{acceptReporters:!0,items:["1","2"].map(A=>({text:A,value:A}))}}}}_getRenderer(){if(this._3d)return this._3d.renderer}_getGamepad(A){const e=r.toNumber(A)-1;if(!this._3d.scene)return;const t=this._getRenderer();if(!t)return;const n=t.xr.getSession();if(!n)return;const i=n.inputSources[e];if(!i)return;return i.gamepad}_disposeImmersive(){this.session=null;const A=this._getRenderer();A&&(A.xr.enabled=!1)}async _createImmersive(){if(!("xr"in navigator))return!1;const A=this._getRenderer();if(!A)return!1;const e=await navigator.xr.requestSession("immersive-vr",{optionalFeatures:["local-floor","bounded-floor","hand-tracking","layers"]});this.session=e,this.open=!0,A.xr.enabled=!0,await A.xr.setSession(e),e.addEventListener("end",()=>{this.open=!1,this._disposeImmersive()});const t=(n,i)=>{if(!this.open)return;const r=this._3d;r.camera&&r.scene&&(A.render(r.scene,r.camera),e.requestAnimationFrame(t))};return e.requestAnimationFrame(t),e.requestReferenceSpace("local").then(A=>{this.localSpace=A}),e}isSupported(){return"xr"in navigator&&navigator.xr.isSessionSupported("immersive-vr")}isOpened(){return this.open}createSession(){if(!this.open&&!this.session)return this._createImmersive()}closeSession(){if(this.open=!1,this.session)return this.session.end()}attachObject(A){const e=this._3d;if(!e.scene)return;if(!e.camera)return;const t=r.toString(A.OBJECT),n=e.scene.getObjectByName(t);n&&n.add(e.camera)}detachObject(){const A=this._3d;A.scene&&A.camera&&A.scene.add(A.camera)}getControllerPosition(A){if(!this._3d.scene)return"";const e=r.toNumber(A.INDEX)-1,t=this._getRenderer();if(!t)return"";const n=t.xr.getController(e);if(!n)return"";const i=A.VECTOR3;return i&&["x","y","z"].includes(i)?r.toNumber(n.position[i]):""}getControllerRotation(A){const e=this._3d;if(!e.scene)return"";const t=r.toNumber(A.INDEX)-1,n=this._getRenderer();if(!n)return"";const i=n.xr.getController(t);if(!i)return"";const s=A.VECTOR3;if(!s)return"";if(!["x","y","z"].includes(s))return"";const o=new e.three.Euler(0,0,0);o.setFromQuaternion(i.quaternion,"YXZ");return a(r.toNumber(o[s]))}getControllerSide(A){if(!this._3d.scene)return"";const e=this._getRenderer();if(!e)return"";const t=e.xr.getSession();if(!t)return"";const n=t.inputSources[r.toNumber(A.INDEX)-1];return n?n.handedness:""}getControllerStick(A){const e=this._getGamepad(A.INDEX);return e?"y"===r.toString(A.XY)?e.axes[3]:e.axes[2]:0}getControllerTrig(A){const e=this._getGamepad(A.INDEX);return e?"side"===r.toString(A.TRIGGER)?e.buttons[1].value:e.buttons[0].value:0}getControllerButton(A){const e=this._getGamepad(A.INDEX);if(!e)return 0;switch(r.toString(A.BUTTON)){case"a":return e.buttons[4].pressed;case"b":return e.buttons[5].pressed;case"x":return e.buttons[4].pressed;case"y":return e.buttons[5].pressed;case"joystick":return e.buttons[3].pressed}return!1}getControllerTouching(A){const e=this._getGamepad(A.INDEX);if(!e)return 0;switch(r.toString(A.BUTTON)){case"a button":return e.buttons[4].touched;case"b button":return e.buttons[5].touched;case"x button":return e.buttons[4].touched;case"y button":return e.buttons[5].touched;case"joystick":return e.buttons[3].touched;case"back trigger":return e.buttons[0].touched;case"side trigger":return e.buttons[1].touched}return!1}}},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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uaQPjRLR5tor3V0I2p2sIKwAlJb2HH1BqNc+zKmmerOjiULHHHMMvdkRUouUNs2oFUdfd1HTfyttfNbm3O985ztu9R4AAMSfgn3Xrl1djtM+vAgDvnrvR9tSdo5+c18lcl1anGOrsy193BCKpspohVv/QpNO4XHdunXm3XffDXXymTYaX3755e4jIkRn/vz55tFHH3UHV+SDRlu+8cYbbgM0AABIFg0y0QQdfbKvRdqIZuBr9bq7rddtbdCDQgnSN/CBra/Zqu3uQlB7ThoOt1JLjjbRTpo0yXuSO7VwaJLQWWedRTtHhLQP4s9//nM+xl05l112mRk8eHAq95AAAFAq9Km7Fpw1+EWLgRHNwNc8c30UoOycn5nb5QiSIrU0vdjWxe4uJH0Eouk5SZ4mon7uV199NdT4S23iuOaaa0zbtm29JwhLn6L89re/dfPso6Z3+bfddpu54447TPv27WmjAgAg4bTY3Lp1azdNL0ybdRaFg562dChsJH/Dqgi6RDzVVl9boXtq9NHH2rVr3aFNSaU+bp1wGmb8pQ43uuCCC9wYRYSnN1x33323+0QlavqDr2k4X//6190YrTSOdQUAoNTo53mrVq3cq2bgr18fyUGz6nRpZetNW5E19FcmTP+H354TOo2qdUIjIBWakkYf27z99ttutGKYEUrnnXee6datG6eXRkBtUj/72c/cmQNR0/z6W2+91bXj6OuVYA8AQHr4h1AqS4waNcq9RqCNLc28f9/d5VmYcK8eFL0DOdPdhaT2HG1MrFWrlvckGVasWOEOQAizkbZZs2bmnHPOMc2bN6e9IyT9d9CKfdTBXm1jOnvg5ptvdqfOajoO/60AAEgftd6qRWf16tWutTeC+ffK25qe87atvM++DxPuRbPvB9oKvZvQH4+ZtNNrx48f7/qy1AYS1HHHHefGgqZp7n8xbNiwwW2e1UjSKE+e1X+XY4891nz72992G56TvgEcAABUTpMLteiqtmtNRIyADjBqZOtZd5dHYcO96COG62xVd3ch6PRa9eAfcsgh3pN4U6AfO3asWb58eeB++wYNGphTTz3VdOnShSk5IehrR+MudYhYmL0PZem/z8knn+xacU455RQOFwMAoARooVkBv2HDhua9994LtYjr0cf9Wgx/1Vb0x+RniSJNanbnclvnu7uQFi1a5NpUWrbUwV7xpj57bbjQhuCgdFKvVoV1uimCUSvOM8884/7wRdQb5yjIn3HGGW4izgknnJDoiU4AACA3NWrUcCPbdV6OBnRE0BWgk2vb2fqnu8uTqPpfhtgamrkM79lnn3WbbONOhx2oFSQoTcbRlJwkbiSOC4X5999/3x0gFsG7ake99PoDPWjQIPPd737X9drTXw8AQOnRyv2dd97pOiwicpqtEzKX+RFlc/v1tpZkLsNRSHviiSeiOiEsL/TPqBFJGzdu9J7kTp9OKNwnbRNxnEyZMsW89NJLUR4X7dqjtFL/k5/8xO2FAAAApUur9z/84Q/dnrsIFvs0FvH/bOmAq7yIMtxrCfvazGV4annRCn5cacVeu6iDnmCmXi6F+86dO3tPkCttwNbXyJo1ayLrs1ew16bu3/zmN+aII47wngIAgFJ26aWXmi9/+ctukk4EdFaU2tnzcrhR1Ds459nSjsMB7i4kBXz9S9RBQXGjEZjjxo0LvGKs/12HHXaY6d+/Py0fAejN1dChQ93KfVTtOAr2PXr0MA8//LA5/PDDvacAAKDUKSN07drV5Q61ZYfc46fFda3ufmxrsR5EKR8zJ39ia1LmMrxXXnnFLFkSSbdPZPQfdNOmTW7FOCiNV9ShVQT73O3YscNtntUYUl1HQZ+kdOzY0Tz11FMEewAA8AUK99dff73LCxHkt662rrQV+XztfIR7pa2rvNfQ1G7x2GOPRdpTHZYCpab6BG0F0ReEVu71RYLc6N+5JhQNGzYs1GbmbPrvoT+o//rXv0z37t29pwAAAHs7/fTTzWmnnRbFmTfK4GrNieQw2Gz5CPcy1dYPMpfhadOqVlSD9rdHbffu3e5E3aD00U7btm1No0Y6ywC5UDvUiy++aJYuXeo9CU+tOA8++KA59NBD+SQFAABUqH79+ubCCy90rdUR0Nz3S21FOg89n6cmjbbVx1Y3dxeSZslv2bKl6CurWjnWXgCNXwxKc1IvueSSWO4liDP999fq+qRJkyJ7o6evp1//+tfmxBNPdOMvAQAAKqOziXRqrWbfK5uEoBXF5rbU7TJSD6KQr5V7n6bnBF/iLkOnj3744YfeXXGoN1v/McOs8OpwJFpycqNNsyNGjHB99hqRGsFBEi7Y/+hHPzInnXQS40gBAECVaN+k2nMGDhzoPQmloS21sx/k7iKQ73CvpuhLbEWz69HSBtuZM2d6d4WnFeMwLTnSs2dPVolzNH36dLeJVn32UQR79djfcsst5uyzz3ZvtgAAAKpKi7TnnXeeO68oAh1t3Z65DC/f4V40OeemzGV4aovRAVfFOsFWk3u2b98eOGBqxV+93QceeKD3BPsyY8YM96Zu4cKFgTcxZ2vWrJm56qqrzAUXXGAaNGjgPQUAAKiamjVrmmOOOcacf772xIamefcX2tIBV6EVItzLEK8ioRaNwYMHm82bN3tPCker9tpQG5RWidu0acPKfRVt27bNbaaeOnVqJPPstRHmnHPOMZdffrk7RAwAACCI1q1bu9X7iFqtFUquyVyGU6hwL1q9j2z+/fr1690KfiEn6GjVWNNatHIfVJcuXUy9evVc7z727dVXX3X/raOYZ683VAMGDDBf+9rX3H8HAACAoKpVq2Z69+7tckUE1NIRSadLIROm0pn676MZTm4tWLDAPPPMM95d/mlntEJm0NYQteRoQg4jMKvmo48+cq04OlMgLI0f1Qbaa6+91vTt25c3VwAAIDR1BFx22WVRHYCpv0n7zGVwhU442omqCTqRmThxohk+fLh3l18axxlm1V4tOS1atKDPuwq0p2Ls2LFuOk5YCvKtWrUyV155pdtAS0sUAACIgr9we9ttt3lPQtEoxrttVXd3ARVj+fIFW7/OXEbjrbfeMlOmTPHu8mfTpk2hTkVVwFRxUFLl1Fs/efJkM3/+fDf2Mgz9u9a76osvvthcc8017mRgAACAKGlIhzbYqlUnpLNt9chcBlOs3oSf2HovcxmNJ598Mq8BX5tot27dGmoTr3rt2cS5bxp7qdIptGHHXmoq0QknnGC+9a1vmSZNmnhPAQAAoqPujNtvv91N5Au5iKv2Do3g0fz7QIoV7j+zdYGtGe4uAuqD1+mlWu3NB4V69dwHpdYQtYPoVDNUbPXq1ebjjz92LTmffaYvk+D0h6tbt27mpz/9aVRzaAEAAMp12mmnubOMIli9v9LWYZnL3BVzV6H6W86xtcbdRUBhUCMy8xHw1SoSZra+5qEq2GtjJ8qnf8eTJk1yLTn6lCSsxo0bm1//+tfmyCOP9J4AAADkh1p/L7zwQjfyPKQOtgbZ0vz7nBUz3Is22GoFP9wSbRZ/Bn7UAV8jN3WAVVB6F3fQQZGdLJxK2rCs/RPLli3zngRXvXp1c+edd5ozzjjDewIAAJBfp5xyiunRo0fYqXxaCT7dVk93l6Nih3sZaev6zGU0og74CvZaSQ5zeJX+Hp06dfLuUJbaqp5++mn3BiqKU2i/+tWvmhtvvNG7AwAAyD+1AR977LFRtGF3t3Vu5jI3cQj3otNr78pcRiPqgL9y5UrvKhgF1vbtQ48uTa1Ro0aZDz/8MPR0HFGf/fe///0oet4AAACqTPv9NMgjgpbgOra0et/K3eUgLuFeNEFnaOYyGlEFfPXJL1++PNTuZ52IGsWKdBrpjdNTTz3l9kyEnY5Tp04dt4GWFigAAFAMffr0cQE/gnN1DrF1Yeay6uIU7kUHXI3LXEbDD/jTpk3zngSjKS5hKNyrNQd70xue5557zr15ChvsRe04xx13HAdVAQCAotBC44ABA8xhhwUeeOOrZ+vLtnLK63EL91tsaYJO8J2r5VDAf+KJJ8y4ccHeN+hUWlWY8Kmd00zK+aKZM2eajz76KJJg369fP3dYlQ4KAwAAKJauXbua008/PezGWv3FvW11c3dVFLdwLytsKeAr6EdGK8TPPPOMef/9970nVacRmGFacjS5pVGjRqwml7Fjxw7z0ksvuc3KYcO9Do247LLLXI8bvfYAAKCYmjdvbs4888woDtDU6v1lmcuqiWO4l0m2NMMwshGZvtdee81NZcll8o1GNIZpqWndurU7KRV7mzp1qjuJNuxeBP27PfXUU93Yy/r163tPAQAAikMr9p07dzbnnKP16lDU9qETa6ssruFeNCJT71QiD/jjx483Dz30kDt1tir0+9TaE5RWlWvVquXdQdTmNGzYMLNp0ybvSXC9evUyl1xyCaNGAQBAbDRs2NBcfvnlUXRuqC2nReZy3+Ic7kXTcyKdge9btGiR+eMf/2gWLlzoPamYxjMqjAallpwGDRp4dxCdRKt++7DtOPrYS++Kjz/+eD4dAQAAsaG9lgMHDjS9e/cO1d5tqd/4BltVOrE27uFeNAP/tsxltLZs2WIeeOAB8+qrr1bYdqNgrxGNqiDU/123bl337g0Z27Ztc3PtN2zY4D0JRu+E/U20jRs39p4CAADEgwL+lVde6bJgSJfaqtKc7ySEe/mjrV9nLqOlfu8RI0aY++67zyxbtsx7+l9asQ9zsFLNmjXdinLI3dKpolX7yZMne3fB6N9nu3btzKWXXuracgAAAOJI+wJbtmwZdvW+s60qzdZMUuL8gS2F/LzQnHUFfE3TyV7FV699mJYcBXum5PyX9i9oJGlV9ztURDNk9Yfl3HPPDfuHBQAAIG+0sbZnz55h82B1Wyfb2merQtKWk9Wek7eAr1V8TdNRq866dev2PAsTRLXCzASX/1q8eLFryQlDH3Fp1f7666839eppQhQAAEA8qUVbh1o1bdrUexLYMba6Zi4rlsRekbwGfNFm2z/84Q9m+PDhbhU/TG+4NoxqQy0yexzefvvtUG1OWqXXH5LzzjsvipPfAAAA8k7n8LRv3967C6yjrSMzlxVLaiO4Av5PMpf5oXact956ywwZMiRUuFeQjeAAg1TQJyBBDhHLpjdL6lu78cYbvScAAADx1qNHD9OtW7ewezDVCtIvc1mxpIZ7ucvWtbYin4OfTXPYwxyypH59hVEY1+4UdvSl9jDcfPPN7uwAAACAJNDobnUchOzm0IFWaluotO8+yeFeNCbzAltb3F0MaQRm2BNY00An0epE2rAOOeQQc/7557NJGQAAJIZW7DXdT6v3IWkcZv/MZfmSHu7lFVun2Frh7mJG79TC9JinxeDBg0O/ydGq/U033RTFOCkAAICC0kn6Rx11lHcXmFpzTs9cli8N4V5G29IO4knuLkbUbx/0AKy0mDBhglmyZIl3F4zC/NFHH22OO+44JuQAAIDE0YJv//79w56or79YmbdCaQn3ssDW8baecHcxQRA15t1333UblMPQHwQdWHXwwQd7TwAAAJKjVq1aru++Q4cO3pNA1LpQ6TjMNIV7Ue/9VbZutxWL5fLatWu7ueylSnPt58yZE7ol56STTjL9+vVzh1cBAAAkkVqLNfM+JK0c98lcflHawr3vt7bUhx+uFyQCNWvWdO/UStXIkSP3HAgWVIMGDcygQYPMEUcc4T0BAABIHnV0nHKKImooWr0/O3P5RWkN9/KerUNtFa1NRyv26hVXwC9FGiM6c+bM0C05xx57rDnrrLNK+hMQAACQfMoyAwcOdAuXIYeD6B1CuSMx0xzuRadPqU3nEu+6oNSSo9NUS9W0adPMwoULvbtgWrVqZU488UTTvXt37wkAAEBytW7d2o3FDJkR1XffLnO5t7SHe99QW1rFf8PdFYg2gZbqyEYd3vXpp5+ajRs3ek9yp3932kB7ySV6bwYAAJB8yjfaWBuybbuJrS6Zy72VSrgX9d+fYesWWzv0IN9KNdjLypUr3cp9mBNpdQCYNp20b9/eewIAAJB8PXv2dDknBI3EPNLWF3q/Sync+/5s63Bb49xdHinYhpxlmkia66+59osWLfKeBKO2Jq3a61Q3AACAtOjatatp1qyZdxdYX1s6sXYvpZqaZtjSEWHX2srbyba7d+8uydV7teSMGjXK/Pvf//ae5E5vig4//HDTu3dv7wkAAEA6qCtBvfchqee+U+byv0p9SXSILfUr3WUr8lYdhftSHIO5Y8cOdyptGPp3d8MNN5jq1at7TwAAANJB8+47duzo3QWmvvsvnO5Jv4NxB1/9xJbGsWjjbWQ0ArIUx2B+8MEHZufOnd5dMH379nWHVgEAAKRN3bp1TefOnd3c+xBq2/rCabWE+/9aYEtjWU6yNUkPwtKprJpnGqY9JWm0av/mm296d8Fddtll7gsfAAAgbdS23alTJzfyOwS1NxySufwvwv0X6fArvx9/jh6EobaSMBNjkmbcuHFm7dq13l0wHTp0MMccc0xJn+wLAADSTT33yjwhKMd3zlz+F+G+fJ/ZUj++WnWm2gqcztWaU0rh/t1333WfWIRx2mmnmTZt2jAlBwAApFbTpk3deT4hfWHpn/RUOYV8TdYJ3EC+devWkgn3mzZtciMww/zvbdGihTn++ONN8+bNvScAAADpozn3PXr08O4CU9/9Xn8Twv2+bbAVeCl6zJgxoVeyk2LKlCnuzUwY2kjbvXt3U6NGDe8JAABA+ug8H+WekA6wdVzmMoNwv2/rbQVO5+o/L5WV+8mTJ7sNtUFpA+2RRx5punQp9zRlAACA1NDQlV69ermQH5Jm3e/J9IT7fdOIocBjWzZv3lwS4zDVkrN8+fJQk4HUd6ZwH3IsFAAAQCJoYbNnz54u6Icw0Nae424J9/u2zHsNRKG3FE6pnTVrllm1apV3lzt9USvcH3WUBhUBAACUhkMOOSTsoZ1aFW2cuSTcV8Ui7zWQbdu2lcSc+6VLl5r169XBFEz9+vXdYQ46sQ0AAKBUtG/fPuz472q2GmQuCfdVMdd7DUztKmmmNzArVqwwn32m4ULBaMf4gAEDSuJTDgAAAF/btm3DtiRr1b5N5pJwXxXhTmSy0h7u16xZY6ZPn+7d5U7z7LVyf/TRR3tPAAAASkOTJk3Chntt7myduSTcV8U67zWw+fPne1fppJV7teUEVa1aNbeZhJYcAABQapR/dKBVCJofvueoW8L9vq2xFfgQK1HLSlqpFWfevHmhWnL0155//vneHQAAQOlo1KiRW70PQaN22mcuCfdVobacbZnLYMJMkYk7rbq/88473l0wjRs3piUHAACUJLXkNGu2Z5JlENqw2CJzSbiviu22QoX7lStXpvaU2l27dplFi0INFDInnniiqVOnjncHAABQOrTvUBNzQlC4r5+5JNxXVahNtevWrUvtKbXvv/9+qFGf2kx70kknhZ3vCgAAkEjKQCF77mXPjlzCfdWs9F4D0ap92NXtuPrggw9CvXFRS0737t1ZuQcAACVJB3mq7z6k2t4r4b6KVtsKtfS+ZMkS7yo9tBF22bJlocJ9v3793CYSreADAACUGmUgnfcT0p5VUhJV1Sy2FXwcjBVmVGRcTZ061fXcB6Uv5l69eplWrVp5TwAAAEqLVu4jCPes3OdIy+47MpfBaIU7bWbNmhUq3OsjqI4dO4bdIQ4AAJBYWuzUeT8haVNtXV0Q7qtGs+63Zi6D0cSctNH8/jDhvkuXLqZz585mv/309QgAAFCaatasaRo0aODdBdZJ/4dwXzU6hUp994GtXh3qL4+dzZs3mw0bNgTut1egV6/9wQcf7D0BAAAoXRoyEpKbp0m4r5r1tkIdM6sgnCaLFy8O9YZF/WW1a9c2bdu29Z4AAACUrgjCfTv9H8J91WyyNT9zGYxWuJcvX+7dJd+mTZvc/P6g6tat64K9TrgFAAAodepoCEGtFK6vh3BfNZttLcxcBpemcZjqtd+2LfjBvQceeKDp1q2bdwcAAFC61q9f7/ruQ1C4dxNKCPdVs91W6GX3uXPnelfJtmPHDrNq1SrvLhjNyD/88MO9OwAAgNKlDo+QG2o1ncQt/RPuq2anrZmZy+A0OjItZs+e7V3lTptp//3vf5vevXt7TwAAAEpXRAdZuaZ9wn3V6ACrabb+4+4C0ibUNNDHRosWLfLucqd3pzqZVqv3AAAApY5wXxwbbYVqzVE/1c6d+hAg+cJO/znqqKMI9wAAAJa6GurXr+/dBVZd/4dwn5uJ3msgakVJQ9+9+u3DBvPu3bszKQcAAMBSrgp6dlBZhPvcTLYV6t98mF71uJg8Wf8agqtVq5Zp1aqVm3MPAACASOzW/yHc50bL7qH6aubPn+9W8JNszpw5od5ddu3a1dSoUcO7AwAAKG063DMCmphDuM+RZt2r9z4whfsw8+HjYO3ateY//wm+t7h9+/amXr163h0AAEBp0/k/mzfrWKXAFOx16CrhPkdLba3MXAajU111umuSbd++PdTKfcuWLU3z5s29OwAAgNKmSYQRDBrZYas64T43CvefZi6D2bp1q1m5MtT7g6LSm5Pdu11LVyBqx2ncuLEL+AAAAMhMy9myZYupXt0NvAlK7w7qEu5zs9XWmMxlMFrxnj59uneXPGvWrHEn1AZVp04dF/A1zxUAAAAZGpeu9pwQ1NdTjYSVG/Wi6DCrXe4uoCRPzFFLUZhwr4+dmJIDAACwt127drkV/BD0zuAAwn3u1JqzOnMZzJIlSxJ7mJX6wcJsCNZu8GbNmnl3AAAAELXlhMyHCmhbCfe5U7CfmbkMZuPGjWbRokXeXbIonIdZudeUHc24BwAAQIaCvVq3I9hUu4lwnzuNunkncxmM/sO1adPGu0sOf/xlmDn9WvU/6KCDvDsAAACsXr3ahfsQ0wgV0tzR/4T73Onzkmcyl8Fp3n3SKNxrQ20Y6tnv3LmzdwcAAID169e7nvsQFO7d6ivhPph5toL3plizZs3yrpKjWrVqZtWqVd5dMBqBmfQTegEAAKKklmedIxSCwpVr2CfcB6OGqFBL70kM9xJ25b5Dhw5u1j8AAAAydIbQhg0bvLtA1M/DCbUhfeC9BpLEthwJe7qu+u1DfuwEAACQOiEPOdUMTTfNkXAf3EveayArVqxw/VVJE/IjI9OkSRPvCgAAANpEq9bnkOFemX6hf4Fg3vdeA5s8ebJ3lRxhV90bNGgQ9vQ1AACA1NAURbUsqzUnBGX6Mf4Fgtlia0nmMpgpU6Z4V8kRdjNs3bp1Tb169bw7AAAArF271rsKTNNyFuuCcB9OqKX3qVOnelfJsHnz5lDHImvFfv/99zd16tTxngAAAJQ25aPly5d7d4FpN25tXRDuw3nLew1EBxYsWRJq8b+g1q1b510FQ0sOAADAFy1YsMDUqFHDuwtE7w4a6IJwH07ow6yStHqvXjBt+AhKX7RhVv4BAADSSAu+ITOSWnI4oTYCepfkdiYHlaS+e51QG+JYZPdFS7gHAAD4L+UrdUdoY20IagVxBwkR7sMb4b0GkrSJOfoCDEpvDEJ+5AQAAJAqy5Ytc6PGQw4t0Xx11z9NuA/vRe81kG3btpk5c+Z4d/FWvXr1UCv3O3fuZOUeAAAgi3KgMlKIjKUl/z3vDAj34Q33XgNLyup9rVq13BdfUPpr69ev790BAABg0aJFZsMGDbsJbIetzZlLwn0U9F9jQuYymKT03WuEZZh+MH1KwRhMAACADK3Wr1mzxqxYscJ7Eoh67edmLgn3UQk1ElMTczZt2uTdxZcOoAoT7tVLpmk7YQ/CAgAASAPlv/Xr15stW3Q2amBqq5iYuSTcR+V97zUQbVIdN26cdxdvYYO5WnvCbMoFAABIC51Mq1X7kNlIbTnzM5eE+6i8Z0v/YgMbM2aMdxVvOmE2DO0GD7MpFwAAIC10+v/s2bO9u0AUqtbY2vPugHAfDQX70ZnLYCZOnGh27drl3cVX2BNmtWGElXsAAADjst/06dO9u0AU7mdmLjMI99EJNRJTp78q4MddzZo1vatgFO7puQcAAKVO2U9tOaqQ9moPJ9xH5wXvNbCPPvrIu4qv2rVre1fBsHIPAACQ2XM5Y8aMsIueOkDojcxlBuE+OgtsTcpcBjNhwoTYr2prQ2wY+t+nqTsAAAClTIeDRjBQZaMtjcLcg3AfrVe810C0qUJjMeMsbM/9xo0bOaUWAACUPK3cf/LJJ2GHlXxqa6+2CsJ9tJ71XgMbO3asdxVPYQ+hWrdunXcFAABQupYsWeIWPUNOEfzA1rbMZQbhPlpqy1mSuQxGIzHj3JrTsGFD7yqYCDaNAAAAJN748ePda4hwr8Co+faE+zwLtbFW4Ve993HVuHFj7yoYVu4BAECpU6D/+OOPXUt2COq332Brr0klhPvohRqJKe+++653FT9Nmzb1roJZtWqVWblypXcHAABQetasWWPmzJljNm3a5D0JZIWtxZnL/yLcR0+n1epdVGBqzQn5Hztvmjdv7l0Fo5X7JBzWBQAAkC/Tpk0zy5cvN5999pn3JJDltmZkLv+LcB89/VcKNTVHu6ffeecd7y5eWrVqFWpXN4dYAQCAUqacN3PmTDN/vtrlA1PeXGTrC/3OhPv8SG1rTr169UKNslSPmT6V4CArAABQijQhR8E+ZJuyNtGOyVzujXCfH1q5X5O5DGbRokXuXV0cVatWzbsKRpuGCfcAAKAULV682EyfPj1sJ4P6t/c6mdZHuM+PHbaeyFwGN2zYMO8qXsIeZDV37lyzfft27w4AAKA0aHFTK/YTJ070ngSi2ZnzbC10d2UQ7vPnEe81sJEjR8YyBNeqVcu7Cmbp0qWEewAAUHKUf9SSo9X7ELTk/1Lm8osI9/kz1da4zGUwO3bsMB999JF3Fx9hD7LSO9atW7d6dwAAAKVB+ee99zRYMZTdtoZmLr+IcJ9foVfv33zzTe8qPjTrPszEHK3cc1ItAAAoNVq4jSDcL7BVbkuOEO7zS3336r8PbNasWe6Qgzhp1KhR6HGY2ikOAABQSiZPnuzm24f0tK0KgxjhPr+22Hoqcxncc889513FQ8uWLU316tW9u9xp1V4n1QIAAJSSF154IexgEvXbV3oYEuE+//7uvQamE2sjeJcXGa3c16xZ07vLnebcx+l/DwAAQL4p/yjThRyBqZ24OriqwpnihPv8U2PVF44GzoXGJr322mveXfEp3NepU8e7y93mzZvdHH8AAIBSMXz48CgO8hxta3XmsnyE+8IIvXqvjbX6gogDTctp3Lixd5e7LVu2mE8++cS7AwAASLfPPvvMvPjii2bdOi26B6Yl/0m2CPcxMMTWZ5nLYHbv3h2b1Xut2jdp0sS7y50+jlqwYIFZsybUIb4AAACJMGnSJDckJeQocAUnHV5V6dI/4b4wVtiqcB5pVWn1fteuXd5d8dSuXdt07drVu8vd559/blavXm2mTZvmPQEAAEivd955x8ybp1weikZgauW+UoT7wvmN9xqYRkjqi6PYNCnniCOO8O6CUd/91Kk65wsAACC9FOonTJjgDvEMQav1Cvdz3V0lCPeFo3dawzKXwalfKw6aNWtmDjjgAO8uGK3cb9u2zbsDAABIHwX7cePGeXeBabz6h7b2uRuXcF9YoVfvV6xY4cYoxUGDBg28q2A+/fRTs379eu8OAAAgXZRzlHfmzt3ngvu+qMX7X5nLyhHuC0sr9/vsldqXZ555xrsqrubNm3tXwcyePZvDrAAAQGqpJef111/37gLbbettW1UKTYT7wvud9xqY3v2NGjXKuyue1q1bm/33D/4lpIOsNDUn5GEOAAAAsbN9+3a3aj96tEbTh7LD1l8yl/tGuC+8p2xpQ0Qojz/+eNFDcdu2bUMdoaypOeq737hxo/cEAAAgHZRvnn/+ee8usM9tqR/7U3dXBYT7wtO8+3szl8Gp9/6NN97w7oqjXbt2pmbNmt5dMPoUgnn3AAAgTXQKrToUIshqCvc/zlxWDeG+OB6wtSFzGdzQoUPdRz7F0rFjR9OoUSPvLhi15SxdutS7AwAASD51Jzz22GNmxw511ISi4fgTM5dVQ7gvDv2X/nPmMjjNvS/maExNy2nTpo13F4yCfQQ7yAEAAGJDM+0jGoDyJ++1ygj3xXO/rdBv5xTuizVOUptpO3To4A61Cmrt2rWEewAAkCpDhgwxmzZt8u4CW2dLE1R2ubsqItwXj+aVqj0nFH3c869/VWnsaV5oU229evW8u9zppFrtJC9mexEAAEBUZs6c6RZfdVCn2nNC0G7chZnLqiPcF5cOtQq9ev/222+7TRvF0KpVK1dB7d692/0hmDp1qvcEAAAgmRTmn3rqKTffPuRUQx3hrxNpc546QrgvLq3ehz61VjuyNRqzGJo0aWJ69Ojh3QWjg6w++OAD7w4AACCZxo0bZ959990oWqan2xqfucwN4b74/mgr9CzIjz76yK2AF1rt2rXNMccc490Fo9acYcN0eC8AAEAyqQ3nlVdecd0IIVftNTZdJ19NcXc5ItwXn0Zi3p25DGfw4MHeVWHppNpatWp5d7n77LPPzIgRI9zmWgAAgCSaNGmS60SIYNV+pa2XMpe5I9zHg8ZizslcBjdr1izXf19ompYTdiTm1q1bzfDhw82uXTltCAcAACg6Bfp33nnHBXy1S4egv1in0b7n7gIg3MeDPn75eeYynIhGL+XsyCOPNPvtt593F4xaczS7HwAAICm0iVaT/958880oVu0323rEVuDVTsJ9fDxha1LmMjj1exWjPef444831apV8+6CGTVqFKfVAgCARFGgVzvOhAkTvCeBadVef5NX3V1AhPt4ud17DeX9998v+GhJ9d03btzYuwtGbUX6547gqGYAAIC808ZZ5Zdnn33WLbCGpEN/fmVri7sLiHAfLxoZE7jHKtsDDzwQdqd2zjp16uROrQ1KM+/HjBlTtJn9AAAAudiyZYvb7xjBqr1Ou3rX1vvuLgTCffzc5r2GovYWvYsspO7du5uaNWt6d8FMnjzZzJ0717sDAACIJ22cXbhwoXniiSfCbqIVLfv/1FboySKE+/hR3/1Tmctwhg4dWtBV8N69e4duzZk9e7ZrzQl5XDMAAEBebd++3R0iqracCDxta2LmMhzCfTz9wFboxnO1ufztb3/z7vKvbdu2pkOHDt5dMGvWrHFjpNatW+c9AQAAiJ+RI0eaRx55JPS0QEujAv+auQzvAO8V8aL/yGqYH+TuQlixYoU56KCDTPv27b0n+aMvbo2ynDFjhntjEYRW7GvUqOE+BQj7RgEAACAflK9uvvlmM3/+/LAtOWpV0JjDobYimSjCyn18/dZWJCNvNBpTh0QVQteuXUMfaLVgwQK3OYXWHAAAEDdawLz33nvNtGnT3Cn7Ia2ypU2SkR30Q7iPL321XJ+5DEer6f/85z+9u/xq166d6devn3cXzNq1a81bb71lFi9e7D0BAACIB40cf+6558zGjRu9J4Fpyf9FW9PcXUQI9/E22tbDmctwXnvtNfPxxx97d/lTvXp1c+ihh5patWp5T3KnEZ5z5swxr7/+uvcEAACg+LQ38P7773ddBhFYYkvhXqv3kSHcx58OtlqTuQznvvvui+JY5H1q1aqV6dKli3cXjN4Nawf6rl2hJ0IBAACEpt76hx56yJ2oH0E+0d7Kt22NdHcRItzHn3qwIpl9v3nzZhfw861evXrmtNNO8+6CUb/92LFjzYcffhjF7FgAAIBQhg8fbl588UWzalUkC+3qPdb4y03uLkKE+2R4wpZOrw1t4sSJ5uWXX/bu8kd992EPtNKGFR0MEUFPGwAAQGCLFi1y5wdp4TECGimoXBdJtiuLcJ8cN9mKZESS2l10olo+VatWzRxxxBGhZ7++8cYb7nAI9eEDAAAUmg6r0qCPCE/+n23rd7by0prAnPvk0KlOSsonu7sQ1OaiWfQnn3yyOeCA/H0JNGrUyLXVhBkTpVYijdbs0aOHqVu3rvcUAACgMMaPH29+9atfuWEfEdhs6y5bb7q7PGDlPll+bWtG5jIc7fLWCn4+KZDr8Kywq/evvPKKmT1bb3IBAAAKZ9myZebpp592bc0RnL+jlfp3bD3o7vKElftk0RfFZFtfc3chqd1Fh05puk2+aDf5p59+Gmr1XnP6Dz74YNOrV6/QffwAAABVsWXLFvPSSy+ZP/zhD2bTpkj2va60dYqtSNqsK0K4T55Ftlra6uvuQtLpagMHDjQ1atTwnkSradOmZvLkyWbdOnUVBaONtfrn6969u2nbtq33FAAAID+UPUaOHGnuvPNOM3/+fO9pKFqgvczWJ+4ujwj3yfS+rQttNXV3IWiTiD5yOv74470n0dJhVjrwYe7cuaE2xeods3rvBwwYELrNBwAAoCJqv1F3w49//GM3HSeCdhz5p63fZC7zi3CfTDo5YYwtteeE3jexdOlSN5teLTr5oFV39cyHOUBrx44driWnT58+plmzZt5TAACAaKnb4Gc/+5nb8xfRtD6145xta7u7yzPCfXIts6U5qYPcXUiTJk0yPXv2NM2bN/eeREdvHLR6r3fBQd/96q/T6r0+CVAbEQAAQNS2bdtm7r//fjN48GB3HcGqvd4dfMPWeFuRfASwL4T7ZBttS6Mx27m7EPTFq53gxx13nKldu7b3NBoat6lWGo3f1GjLoNRCtHXrVnP00UebFi1aeE8BAADCU5/9c889Z+655x53Cm1E7Tgv2fqrrchPoq0I4T7ZtDnjXVvX2Ao9RkatL5pso5XxqOff16lTx4Vz/f2D0h8yvTnQ5J0zzzzTewoAABCOzgAaNWqUueuuu6I8PFNdFj+3NdFWQVbthXCffBtsLbWlDbahqS9+7dq1bnU8StWrV3cBX39wNB4zKL2rXrx4sTn22GPdBlsAAICwFOh1UJVyihY7I6DW6b/ZeszWTj0oFMJ9Okyx1c1WL3cXkg64yscGW/XLr1y5MtRIKa3eqzVHf5/LLtNEKQAAgOBWr17tZtlrpv3GjRu9p6FolV6DT7Rqr9X7guKE2vS4ydaSzGV42kgydepU7y4amnZz8cUXm/33D/dlp4D/+uuvmw8++CCqj80AAEAJUsvwE0884Xrt1bkQkRW2/mxrlrsrMMJ9eqg95ypbwY+CzaLes9/97nduQ0mUdBpu586dvbvg1Hf/y1/+0q3gAwAA5EpZR+Mu//73v5tFi3RGaCS22hps62Vb2htZcLTlpMsCW/VtDXB3IannTKv3J554ojnwwAO9p+FpTr162vSHKox58+a58Z16s5CvE3YBAEA6vffee+Z///d/zbhx47wnoanPXtNx7rYV2ccAuSLcp4+m55xrq6W7C2nDhg1uRn3//v29J+E1btzYTJs2zfW4haWP0Pr27es+EeDkWgAAsC9q79Ui4w9+8AP3GhGtWE6w9UNbM/WgWAj36aMvrvdtXWkr9HhMWbhwoeuX79ZNe3bD05hNrd7rnXKYyTmybNky065dO9O9e3c3jQcAAKAi6hpQ/rjjjjvMhx9+6D2NhPY93m5rhLsrIsJ9Oq2xNdnWpbYi2VfxySefmLZt27qKQqNGjVwwX7JkSaj2HL371jHRas1Rhd2sCwAA0klDOJRnbr/9dhfslSEiohM6f2nrH+6uyAj36TXHlr5qdYJtaPoDMGHCBNOjRw+36h6WVu+bNm1qpkyZEurUWtGmX63aH3rooa7lBwAAIJsWEmfOnGluu+02M3LkSDeYIyL6Gz1i6053FwOE+3TTR0Oafd/D3YWkPwjqTTvqqKNMw4YNvafB1a9f3/X0a2NsmJGWeuOhfQF169Y1vXv3ZnMtAADYQ8F+7ty5LtiPGDEidEtwFi2ifmDrCltFmYxTHsJ9+r1uSxtsm7u7kBTwR48e7TaxKpyHoRaa5s2bu57+sCMtdeiE3ii0b9/eHb7F5loAACBz5swx3//+981bb71ldu6M9LDYhba+ZEvjL2ODcJ9+enuqgK8NtrX1ICyNyJw4caI59thj3amzYegk3N27d7vpOXoNY/369S7gH3nkka7lBwAAlDa14tx9993u9NmIg/0mW+fY0rH7kTXvR4FwXxp0wNVEW5fbimTH6ZYtW9xuc83Ar169uvc0GPXJa1Ps/Pn68xGcPlXQaEy96o1H2H8uAACQXLNnz3YHcg4dOtRs3bo1yg20Wo38pq1htiJr3o8K4b50zLO13dap7i4C2gg7ffp0M2DAgFCHXGn1v0GDBmb8+PHuU4Ew9NerzadDhw5ugy0AACg9M2bMMH/5y1/Mk08+aTZt2hRlsNff6D5bf7O1RQ/ihnBfWnRSQ2dbvd1dBLSRVWFaK+VhxlBqM6xoRFVY27ZtMwsWLDDHHXdcJJN9AABAMujTe52u/+c//9kFe7XsRkjBfqitH9nS2PFYItyXnrdtafW+tbuLgObVL1682AX8oKpVq2Y6duzojoLevl0fMASnd+f6Z9JHcGeccYb7ewMAgHRTT/2kSZPMr3/9a/P888+7YRsR0jSc92z9P1uL9CCuCPelx99gq/77zHJ5BHQYlcL0EUcc4T3JnVp71J4zZswY70k46uFv3bq1O72WgA8AQHppKIfm1//85z93U3HCLhSWoRX7j2zdamu6dx9bhPvSpB3e421pgk5kR7rOmjXL9bz36dPHe5I79cpro6422Iald/Aaf9WvXz/TsmVLd3AWAABIF82xf/HFF81PfvITdx5PmLNzyqEVew0lUbCf4N3HGmmndC2wpXefF9qKLOBr5FTYFfy2bduajz/+OJKRVZqeo42/msvP6bUAAKSLpvcNHjzY/PSnP3WbaCOmID/N1v/Y0r7F2Ad7IdyXtk9trbZ1truLiFbwNW/+8MMPD7TJVptg9QmARliFffet/nu1DCnY63CrOnXqeL8CAACSbPny5eZPf/qTueuuu8yqVau8p5FR643eLfzQ1pvefSIQ7jHOlpbIB7m7iOiYZ22y7d+/f6CAf/DBB7uWGv1hDTu+Sp8A6J+nVatWLuAz/x4AgGTTQqJC/d/+9jfXMRAxBY85tn5i6yXvPjEI95CRthra6u/uIqIVcwV8tejkOgdfv7958+buIzbNpw1LrTnz5s0zLVq0MD179jT77bef9ysAACAptHF2woQJrg3nlVdecW05EVOQ1zQcBft/efeJQriHTx85RToDXxTwP/3000AHXak9R5tktIK/a5eG/ASn1X9t0l25cqUL+J07dybgAwCQIJqAM2zYMLdi//777+djxV5W2vqerX+6uwQi3CPby7Z6eBUZHXSlgK8WnVxbYtRKo1C+aNEiF/TD0F+v+ffaZKvxmJqgQ8AHACDe/J/fjz32mPnrX/9qRo8eHcnQjXKstaU59v9wdwlFuEc2pWfNwD/BVjs9iIoCvubXH3PMMaZWrVre032rUaOGW8FfunSpW3UPS98g1Cq0evVqc/TRR5uGDdWNBAAA4kgnzmqC3kMPPWQeffRRM23atNCLfRXQxwBfs6VWnEQj3KMs9b88Y+tcW831ICrqe9cM+1wDfv369d2UG43Z3LZtm/c0OE3gUbuQVvDVLlS7dm3vVwAAQFxoYfCdd94xf/zjH82TTz7pJvHliYL9FbZesZWIcZeVIdyjPAr4z9vSiMymehAVBXz1yWnuvEJ7Vah1RqMsNXVH7T1RvGPXx3kLFy50QV//LPqEAAAAFJ+/CPf444+7E2fHjx8f9cFU2dQWcJGtYbY+04OkI9yjItp+rk22X7ZVVw+iohn2H330kdvUqok4VaHNuNoIq8k58+fP956Go405U6ZMMa1bt3YTdKpVq+b9CgAAKAaFeP1s1mmzDz/8sFu9DzsSuxKTbF1ga6ytxK/Y+wj3qMw6W6/autRWpL0rCvhawa9bt66bPV8VauVp06aN+0MfxXhM0Qq+3mgceuih7p+DDbYAABSHgv0jjzxibrnlFrdpNuykvEooyGuIyLW2ZulBmhDusS9rbOkPwMW2Il3B1ztxzarVQVVqjanKYVf16tVzIVw9eFG9k1cf/8SJE81hhx1m2rZtS8AHAKDAtFH21ltvNX/+858jOcCyEjtsPWrrDluaZ586hHtUhQK+VvDVgx/5eJkFCxaYSZMmuYBflY226r/X79NfExV97KcefLUKaUTmAQfwRwMAgHxbv3692yz7ox/9yLz77rvuk/080o7cB2z9ytYyPUgjEgyqSgFf46Ei32QrmlyjNh3Nn2/adN9/+/bt27tvCHpjEBX18q9YscLN1lcffq6HbgEAgKrRybL6FP7//u//zJAhQ9wp8hp7mUfaOPsHW3+1tVwP0opwj1xok+2ztk63FemYTPH78Js0aWI6duzoPS2fNr/26dPHTJ061b0xiIq+uWiHvsL9QQcdRMAHACBCOlVWLbmDBw92/fUjR450P8fzOA1H/T0Lbf3a1mBbWqxMNcI9cqWA/7ityA+6Eo25HDt2rBuZqfBeWR++Wmd0EJUOt4hqg616/HTIlUK+Jvm0a9cu51N1AQDA3rQ5ds6cOeb55593U3Befvlld5+nk2Z92jg73dYvbSm7aJ596hHuEYR/0NUAWx30IGqzZ892m2v2NYNewfvggw92v1cf8UXBP+ZaAb9BgwamU6dOBHwAAALQirxOmNcKvdpvVJpbH8WhlPugHp/xtn5o6zlbeftoIG4I9whKAf8ftnp4FbnVq1ebDz/80PTq1cs0atTIe/pFauPRSE2tAET1zUIr+NqtP3fuXPf3PuSQQ2jRAQAgB2q31eKb2m9+97vfmeHDh0f2Sfs+aFfu+7ZutjVKD0oJ4R5h6OMunWSbt4CvsP7222+7sK3NthW16XTo0MH9Hq22R/URn1bw1Qc4c+bMPT3+TNEBAGDfNPTi0UcfdVNwXnjhBXdfIBtt/dHWDbZW6EGpIakgLAV8tehoRGZ/PYiaQrve+asXXwG/YcPyp3GqfUY9fVHuuFfA1zekGTNmuBWI/v37E/ABAKjAxo0bzb/+9S9z7bXXmieeeMJ9Cl9An9g6x9ZTtlJz4myuSCmIypu28hbwZcOGDe4jPbXHdOnS5Qur+ArdOsFWO/E1IlPBPAr6++hjxFmzZpnt27e7fQC06AAAkKG++k8//dS139xxxx3mscceM8uXF3Ta5G5bml3/ZVsaeVnSCPeIkgK+5lKeamvfx80GoKA9efJkd4CVVvHr16/v/UqGDrfSGEutti9dutSt+kdBfx8FfI3e1KcDOs22KgduAQCQVlql1wjrBx980PzlL38xb775pjszRj8nC2iardNsabUeFuEeURtr6wNbmoVfVw/yQb3ww4YNK3cVv169eu6QK4201A79KOlTgYkTJ5p169aZbt26uWk6++23n/erAACkm1bpdaL7iBEjzOOPP+5Ol33jjTfcAApNrYtqUa0KtGl2iK3/Z2uqHiCDcI980LGxOuxqoK2WepAP2av4WkmvU6eO9yv2XUXduqZz585uBSHKQ65EG3YV8LXRVmM4daJtZfP4AQBIOrWl6hPx0aNHu1CvzbKvvPKKa4PN86z6svTuYb6t39j6k3eNLIR75MsGWxqVqYOueutBvvir+GqT6dq1q3um1XStquteKwxr1kR7IJ3eWGgWv77JtWzZ0n1SwCx8AEAaqdX19ddfN/fee6+55557zAcffOA+GY9qb1sOtFr/oa27bD1ta50tlEG4Rz6p6U6jMnVwhE60zdvytqbj6Dhr9cR37Nhxz1x8P+AvWbLEza2PmqYAjBo1yo3K1Gm2+sSANh0AQNLt3r3b/UzVabL/8z//414/+eQTNzmuCLRar4/hNZ3vZ7bU/lvQjwuShBSCQlEP/pO2yp9jGbGTTjrJXHrppaZ58+buXv33+ghR7TT50LhxY/OVr3zFfP3rXzeHHnooq/gAgERRL73abqZMmeIWrdRTrzHQ2mNWwD768ijEz7T1oC2t1kf7UXwKEe5RSN1saSVfr3mnzbZnnnmmueSSS1w/vsZy6djrjz/+OC/fqGrXru3eVHzzm980J5544l57AAAAiJvNmze7QK8Qr/1rCvY67V0/LzUJR5+KFzHY6/+xPnLXFJz7bM21hSog3KPQNEFHK/hnu7sCUOhWwFfQ105+jevSCn4+egXVnqPNvTfccIO58MILTdOmTb1fAQCguBTUdfK79qrpE20NpdCCl151AKTCfhH66Muz3dZLtrRpNj8fuacY4R7F8ktbP85cFkazZs1cq85RRx1l7r//fjNu3Dj3MWTU1HPfoUMH94biuuuuc6M6AQAoJoV2HcaoARSaTa9Qr1X7qE50j4j+Yd6zdYctQn1AhHsU08W2/marIH34PgXvK664wn1z07SbfH1jUx++2nRuueUWc8IJJ7DRFgCQdwrxOnRRgyQ0Dlonx6rdRkMndF/gsZVVpZU2zaq/25ZGacfi44OkIm2g2NrY+qutgrXp+Hr06OGm26jPMF+n6dWsWdNN0bn66qvdZtsmTZq4vQAAAIShFhv97FKQ16bXFStWmEWLFrnDpDSq2T/IUb+mllSF+iJvjC2P/oF0Ns5gW0NtzbNV0ONt04hwj7i40dY9tvJ2qm1FtMKub475WsHXAVeannPyySebW2+91fTt23fPqE4AAHKlUL9s2TI3mlL98jpUUWe6KNBr7LP66mNOoV5Tb4bbetzWCFtbbCEChHvESQdbj9rSybYFp7aZfK1q+H9vHXb1ta99zVx88cXudNsaNWp4vwMAUKo0U17tNNoHplfNkt+wYYNbeNIhjJpeo1edBqsQr4k2arEp0sz5MPRDdqutSbZ00OVztqI/hKbEEe4RR9+y9StbBV/FLwRN7zn22GPNN77xDTNgwADTqlUr71cAAKVEK/Bqp9FGV50Cq0Cv0uq7Nrsq0Kutxm+t0Yq8An0+hkHkmXro9U5E4yw1BedPtgj1eUK4R1xpFV8f1R3n7lJGrToK9VdddZU599xzTf/+/dlwCwAJpbZOBXCNmPTD+L6u9arAXgLUQz/aln8IVazG86QRaQJxVs3WrbY0NrOmHqSNevGPP/54c9FFF7kTbtX/DwAoDrXEVBbGyz7zr9U+gy9YZ+sZWz+1xSp9ARHukQQ60Va9+P3dXcpoxb5ly5bmtNNOcxN1jjsulR9WAEBBVRbGK3qmlhiEstvWp7but6Vgz7/QIiDcIylKYhX/0EMPdX34N910kznkkENc+w4AlDL1olcUxiu7RsFok6xC/FhbL9gaaWuOrcTt9k0Lwj2SprMtbbbVAVip1KBBA9O8eXNz4YUXmptvvtmt6lerVo2efACJtnHjxr0CeFUCujaUIrbUO6//QBNsvWbrbVuaU09PfZGRFpBUatFRyC/K2Mx8U5DXVB3Nw//2t79tLrjgAhfy9YzVfADFtHnz5n0G8/KeJXDCC75Iq/TaILvW1hhbOnjqDVt8VBIjhHsk3fm21KrTy92ljD8fv3fv3q4f/4QTTjCdOnUy9evX934HAASzdevWSsN4RdeayY6S5M+nV+vNs7bm20IMEe6RBurHv9KWVvJb6kEaHXjggW5kpibraNOtevLr1k3lUQAAcqDZ52UDeFXC+s6dO72/A1Ah9c1PtvWwLR04xQp9AhDukSbaaPtdW//PVkM9SKN69eq5TbennnqqG6PZq1cvU6tWLe9XASSVDieqLIz712WfJfCUUsSXPpZRgJ9ma5hXM20x6zNBCPdIIwX7n9m60VYqJ+tIs2bNzOGHH26OOuooF/L79evnevQBFJdOHa0sjJe99l+1Ag8UmH9yrDbGzrY10dY4W5/YWmSrJE7ZShvCPdJMk3UU8tWyk0rqyW/YsKFp166d6dy5s1vNP/vss03r1q293wEgKJ06WlkYr+i6RE4dRXJpU6xW6LUpVjPpP7Q13Jb66VmhTwHCPUpBH1vfsXWprdSu5NeoUcMFfQX7M88801x++eWmTZs27rkKKFWa0lJZGM++zn7GqaNIEW2wWGlrii0FeU24mWELKUS4RynRZtvrbN3sXafSAQcc4Ep9+Dr19rLLLjPdu3d3s/Np20GSaXJUZWG8orCu+epACdCKvGbMK8jrnekKW7NsjbKlA6Y03WaVLaQc4R6lSKv3OgRLG2+1qp9qCvlHH320W83XSE0F/bZt23IoFopKp45WFMbLPvOv9dcA2ENhXj3zCvM6IVY98uqbV+mEWB0otcSWVuw5WKqE8NMdpe44W2rZ0bx8jdRMLa3ma0b+wIED3Wu3bt1Mnz59TIcOHbzfAeRuw4YNFYbxstfZrwAqpNDuU3hXMN9uSzuuV9tSWNcqvCbaLLWlTbDMnMcehHsgQwlX7Tpq20ntGE2fTrrt0qWLa9XRKr7m5p9++ummVatWrvVBWNkvLeovryiMV3St1//8R9kDQAh+O41aadRDttm71kjK5ba0Ir/A1jKvFPC1Ug+Ui5/ewN50KtQ1thT0u+lB2inoayPu/vvvbw499FBzzjnnmC996UumTp06rqWnQYMGbtUfyaBJLZWF8bLP/GtNhgEQikL6v21pEo1W2nWiq4K6+sn0cZX63dUHr9V2P7CrdYaDChApwj1QsUG2vmJL/fmpX82XatWquZCn6TpazVcLT8+ePU3Lli1NixYt3Mo+B2YVhmaeVxbGy177r5qxDiA0hXT9YVLwVkj3V9X9kK7WGD+kL7SlHncOKkAsEO6BfdMG3NNtfdV7Te04zfLoRNzDDjvMtfE0bdrUTdw56KCD3Fx99e3r3m/hUUsP7Tx70+mhZQN4Va45dRSIhL+S7od0raSrpUUhXQc3+Svpi20ppM+1xQxUJBo/hYHcqG1H8/K1oj/QVqo34Zal9hyFeZXaebTSr1V9TeHp37+/OeSQQ9yqvwJ+zZo1XUuPXtNg586dlYbxisI6p44CkfBDuibDKKTrpLCyIV396JoOo82lKvWsAyWHcA8E18aWWna0op/6kZrlUYg/8MAD3avCr4J9x44dXe++Vvq1wq82Hr0J0JsBvSnQ6r8O2tK13ixotX/79u3uoCH9vurVq1e5x1+bOfXX6VV/jf76fdm9e3elYbyisL51q/IEgJC0A9tfSVdfur+Srr50bRRVSPc3kaqYzQ7kiHAPRKOzLYV8rerrGpaCev369d0KvjboKvwrzKsvXG8ItJFXp+iqNLmnWbNm7vfp96j8SSz6vf4bBP8Tgbp167oJL5p9rkOK9OZCf9/ygnn29ebNyhIAQvJHNGaHdPWk+yFdPekK6X67i0K67gHkGeEeiJ5W8dWbf5otzdEvqdadqtJ0HoV2rbxnU4jXGwKt7Pur+Ar62uirVXetoKs0FQZAaH5IV7uLH9LVc+6HdK2aqyfd3zyqnnRdA4gpwj2QX+rR19QdBX0Ffk6MApAP/qx0P6Tr3a8/K1096Qrp6klXMNcIRpVW1AGkDOEeKCzNzj/b1pdsaUNuSU3eAbBPfkjXGEY/pKvdxd886re7KKQrnCukazUdABzCPVA8CvYK+GfZ0qo+vfpAevgHGmkl3R/DWDaka/Ooprv4BxppVjpH/gIIhXAPxIdadvrbOtF7LckJPEDM+CHdP9BIK+n+hBe1u/gTXhTStXlUJ46qOE0MQFEQ7oH40qm42pB7rPfa1xZtPEBwanfJPtBIPen+SrpCutpd1JeukK7pLgrpHFQAIFEI90ByKNgr4GcHfr0BAEqNf6CRetIVvv2VdP9AIz+kq91FfekK6Zw6CqAkEO6BZFPrjlp4jvSue9lidR9J4Yd0raRnh3RNePFnpWeHdG0c1a8DACpAuAfSRTP1FfC1wt/Te1Xo10hOIF/KnjqqVXJtHs0O6Zru4m8eVUjXCjsAIGKEe6A0KPBrDKfaeU621cVWLVtANj+ka8KLVtL9MYz+rHRtHPVnpasnXaXgDgCICcI9ULoU9i+xpZX97rba2apjC8mXfepodkjXqaN+SPdnpWsEo0K6rgEACUe4ByBq22lmS20959i62lZXW9Vt7W+L7xXFUd6po35IV7uLTh1VSNd0F39WOqeOAkAJ4wc2gLIU5rXyq6Dfz9ZptrRhV4dsNbZVz1YNW3z/qLrKTh1VSFf57S4K6ZruotV0AABywg9nAFVV39bhtg6z1cZWE1tq5dEKf3NbpRD4y4Z0f1a6VtI1htFfSfdDugK6No9y6igAoCAI9wCCUthXK4825iroKvRqLOeptnrYOshWbVtq7VHpk4ADbMVB9qmjfkjXGEY/pGuTqL95VG0uanfh1FEAQOwR7gHkkw7Z0qSeg235bwTU2qNwrftGtpra0qcA2szrr/4reKv0hkH0+9UupDcJeoPgv2HQirgf0FWa9KJ7/0AjraQrpGsEo/rSFdTn2NLIRgAAUodwD6DQFNK1oq9SOFdbS/aKuJ6rv7+FLQV4vSHQ7/NHNPqjGdX6okkwAADAs9/nn2tBDAAAAEDSaQUNAAAAQAoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkBOEeAAAASAnCPQAAAJAShHsAAAAgJQj3AAAAQEoQ7gEAAICUINwDAAAAKUG4BwAAAFKCcA8AAACkgjH/HzxGtdo9ss0WAAAAAElFTkSuQmCC"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){const n=t(1),i=t(3),r=t(2);A.exports=class{constructor(A){this.runtime=A,this.open=!1,this.session=null,this.view=null,this.localSpace=null,this.splitState=!1}getInfo(){return{id:"jgVr",name:"Virtual Reality",color1:"#3888cf",color2:"#2f72ad",blocks:[{opcode:"isSupported",text:"is vr supported?",blockType:n.BOOLEAN,disableMonitor:!0},{opcode:"createSession",text:"create vr session",blockType:n.COMMAND},{opcode:"closeSession",text:"close vr session",blockType:n.COMMAND},{opcode:"isOpened",text:"is vr open?",blockType:n.BOOLEAN,disableMonitor:!0},"---",{opcode:"enableDisableSplitting",text:"turn auto-splitting [ONOFF]",blockType:n.COMMAND,arguments:{ONOFF:{type:i.STRING,menu:"onoff"}}},{opcode:"splittingOffset",text:"set auto-split offset to [PX] pixels",blockType:n.COMMAND,arguments:{PX:{type:i.NUMBER,defaultValue:40}}},{opcode:"placement169",text:"[SIDE] x placement",blockType:n.REPORTER,disableMonitor:!0,arguments:{SIDE:{type:i.STRING,menu:"side"}}},"---",{opcode:"headsetPosition",text:"headset position [VECTOR3]",blockType:n.REPORTER,disableMonitor:!0,arguments:{VECTOR3:{type:i.STRING,menu:"vector3"}}},{opcode:"headsetRotation",text:"headset rotation [VECTOR3]",blockType:n.REPORTER,disableMonitor:!0,arguments:{VECTOR3:{type:i.STRING,menu:"vector3"}}},"---",{opcode:"controllerPosition",text:"controller #[COUNT] position [VECTOR3]",blockType:n.REPORTER,disableMonitor:!0,arguments:{COUNT:{type:i.NUMBER,menu:"count"},VECTOR3:{type:i.STRING,menu:"vector3"}}},{opcode:"controllerRotation",text:"controller #[COUNT] rotation [VECTOR3]",blockType:n.REPORTER,disableMonitor:!0,arguments:{COUNT:{type:i.NUMBER,menu:"count"},VECTOR3:{type:i.STRING,menu:"vector3"}}}],menus:{vector3:{acceptReporters:!0,items:["x","y","z"].map(A=>({text:A,value:A}))},count:{acceptReporters:!0,items:["1","2"].map(A=>({text:A,value:A}))},side:{acceptReporters:!1,items:["left","right"].map(A=>({text:A,value:A}))},onoff:{acceptReporters:!1,items:["on","off"].map(A=>({text:A,value:A}))}}}}_isVector3Menu(A){const e=r.toString(A).toLowerCase().trim();return["x","y","z"].includes(e)}_onOffBoolean(A){return"on"===r.toString(A).toLowerCase().trim()}_getCanvas(){if(this.runtime&&this.runtime.renderer)return this.runtime.renderer.canvas}_getContext(){if(this.runtime&&this.runtime.renderer)return this.runtime.renderer.gl}_getRenderer(){if(this.runtime)return this.runtime.renderer}_disposeImmersive(){this.session=null;const A=this._getContext();if(!A)return;A.bindFramebuffer(A.FRAMEBUFFER,null);const e=this._getRenderer();e&&(e.xrEnabled=!1,e.xrSplitting=!1,e.xrLayer=null)}async _createImmersive(){if(!("xr"in navigator))return!1;const A=this._getContext();if(!A)return;const e=this._getRenderer();if(!e)return;await A.makeXRCompatible();const t=await navigator.xr.requestSession("immersive-vr");this.session=t,this.open=!0,e.xrEnabled=!0,e.xrSplitting=this.splitState,t.addEventListener("end",()=>{this.open=!1,this._disposeImmersive()});const n=new XRWebGLLayer(t,A,{alpha:!0,stencil:!0,antialias:!1});t.updateRenderState({baseLayer:n}),e.xrLayer=n,e._xrSession=t;const i=(A,n)=>{if(!this.open)return;const r=n.getViewerPose(this.localSpace).transform;this.view={position:[r.position.x,r.position.y,r.position.z],quaternion:[r.orientation.w,r.orientation.y,r.orientation.x,r.orientation.z]},e.dirty=!0,e.draw(),t.requestAnimationFrame(i)};return t.requestAnimationFrame(i),t.requestReferenceSpace("local").then(A=>{this.localSpace=A}),t}isSupported(){return"xr"in navigator&&navigator.xr.isSessionSupported("immersive-vr")}isOpened(){return this.open}createSession(){if(!this.open&&!this.session)return this._createImmersive()}closeSession(){if(this.open=!1,this.session)return this.session.end()}enableDisableSplitting(A){const e=this._getRenderer();if(!e)return;const t=this._onOffBoolean(A.ONOFF);this.splitState=t,e.xrEnabled&&(e.xrSplitting=this.splitState)}splittingOffset(A){const e=this._getRenderer();if(!e)return;const t=r.toNumber(A.PX);e.xrSplitOffset=0-t}headsetPosition(A){if(!this.open)return 0;if(!this.session)return 0;if(!this.view)return 0;const e=r.toString(A.VECTOR3).toLowerCase().trim();if(!this._isVector3Menu(e))return 0;const t=["x","y","z"].indexOf(e);return 100*this.view.position[t]}headsetRotation(A){if(!this.open)return 0;if(!this.session)return 0;if(!this.view)return 0;const e=r.toString(A.VECTOR3).toLowerCase().trim();if(!this._isVector3Menu(e))return 0;const t=["x","y","z"].indexOf(e),n=function(A){const e=A[0],t=A[1],n=A[2],i=A[3];return[Math.atan2(2*(e*t+n*i),1-2*(t*t+n*n)),Math.asin(2*(e*n-i*t)),Math.atan2(2*(e*i+t*n),1-2*(n*n+i*i))]}(this.view.quaternion);return n[t]*(180/Math.PI)}placement169(A){const e=r.toString(A.SIDE).toLowerCase().trim(),t=120*(this.runtime.stageWidth/640);return"right"===e?t:0-t}}},function(A,e,t){const n=t(1),i=t(3),r=t(355),s=t(2),o={Mouse:t(356),Button:t(357),Text:t(358),Textarea:t(359),Box:t(360),ScrollingBox:t(361),Checkbox:t(362),Dropdown:t(363),Multiselect:t(364),Slider:t(365)};A.exports=class{constructor(A){this.runtime=A,this.UIClient=new r(A)}getInfo(){return{id:"jgInterfaces",name:"Interfaces",color1:"#ac96b5",color2:"#8e7a96",blocks:[{opcode:"createButton",text:"create button named: [NAME] with text: [TEXT]",blockIconURI:o.Button,arguments:{NAME:{type:i.STRING,defaultValue:"Button"},TEXT:{type:i.STRING,defaultValue:"Click me"}},blockType:n.COMMAND},{opcode:"createTextInput",text:"create text input named: [NAME] with placeholder: [PLACEHOLDER] and default: [DEFAULT]",blockIconURI:o.Text,arguments:{NAME:{type:i.STRING,defaultValue:"TextInput"},PLACEHOLDER:{type:i.STRING,defaultValue:"Type here..."},DEFAULT:{type:i.STRING,defaultValue:" "}},blockType:n.COMMAND},{opcode:"createTextBox",text:"create textbox named: [NAME] with placeholder: [PLACEHOLDER] and default: [DEFAULT] being resizable? [RESIZE]",blockIconURI:o.Textarea,arguments:{NAME:{type:i.STRING,defaultValue:"Textbox"},PLACEHOLDER:{type:i.STRING,defaultValue:"Type here..."},DEFAULT:{type:i.STRING,defaultValue:" "},RESIZE:{type:i.BOOLEAN}},blockType:n.COMMAND},{opcode:"createDropdown",text:"create dropdown menu named: [NAME] with label: [LABEL]",blockIconURI:o.Dropdown,arguments:{NAME:{type:i.STRING,defaultValue:"Dropdown"},LABEL:{type:i.STRING,defaultValue:"Click me"}},blockType:n.COMMAND},{opcode:"createCheckbox",text:"create checkbox named: [NAME] with label: [LABEL]",blockIconURI:o.Checkbox,arguments:{NAME:{type:i.STRING,defaultValue:"Checkbox"},LABEL:{type:i.STRING,defaultValue:" "}},blockType:n.COMMAND},{opcode:"createSlider",text:"create slider named: [NAME] minimum number: [MIN] maximum number: [MAX]",blockIconURI:o.Slider,arguments:{NAME:{type:i.STRING,defaultValue:"Slider"},MIN:{type:i.NUMBER,defaultValue:0},MAX:{type:i.NUMBER,defaultValue:100}},blockType:n.COMMAND},{opcode:"createScrollingArea",text:"create scrolling box named: [NAME]",blockIconURI:o.ScrollingBox,arguments:{NAME:{type:i.STRING,defaultValue:"Scroll area"}},blockType:n.COMMAND},{opcode:"createMultiselect",text:"create multiselect box named: [NAME]",blockIconURI:o.Multiselect,arguments:{NAME:{type:i.STRING,defaultValue:"Multi-select"}},blockType:n.COMMAND},{opcode:"createGroup",text:"create group box named: [NAME]",blockIconURI:o.Box,arguments:{NAME:{type:i.STRING,defaultValue:"Box"}},blockType:n.COMMAND}]}}createElement(A,e){new r.Button(this.UIClient,e)}createButton(A){this.createElement("Button",{id:s.toString(A.NAME),label:s.toString(A.TEXT),shown:!0})}createTextInput(A){}createTextBox(A){}createDropdown(A){}createCheckbox(A){}createScrollingArea(A){}createMultiselect(A){}createGroup(A){}}},function(A,e){class t{constructor(A){this.runtime=A,this._div=document.createElement("div"),this.Realign(),this.buttons={}}Realign(){this._div.style="position: absolute;left: 0px;width: 100%;height: 100%;top: 0px;z-index: 1000;",this.runtime.renderer&&this.runtime.renderer.canvas.parentElement.prepend(this._div)}AddToCanvas(A){this._div.append(A),this.Realign()}DisposeAll(){const A=Object.values(this.buttons);[].concat(A).forEach(A=>{A.dispose()}),this.Realign()}}var n,i,r;n=t,i="Button",r=class{constructor(A,e){let{id:t,label:n,shown:i}=e;this.id=t,this.label=n,this._element=document.createElement("button"),this._element.style="position:absolute;left:0%;top:0%",!1===i&&(this._element.style.display="none"),this._element.innerText=n||"Button",A.AddToCanvas(this._element),A.buttons[t]&&(A.buttons[t].dispose(),delete A.buttons[t]),A.buttons[t]=this}show(){this._element.style.display=""}hide(){this._element.style.display="none"}dispose(){this._element.remove()}},(i=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(i))in n?Object.defineProperty(n,i,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[i]=r,A.exports=t},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,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"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGrSURBVGhD7ZjPK0RRFMfP8JQaFiRhakKKrKRmodhbWviRrK2ZsPAXWKDxX4iUrTI7MotXQ5EoUbOejGLKRHG+17t1Z95talLvUudT33n3vql53++886ZzhgRBEARBEAQrHmuV5bM+WF8RC9fEteEBXhqih3XJsn2wC8ELPIWIBUcTpEXysWRyiNbSWzQ1OU3xeJt6MyrK5Tc6Oz+h3cwmFQoPOHXFSrE+sdHYAuCWZWD+YD9HnR1dP2cd8Vwq0sLihA6RZu1hoWkKjiZLeME3r80Pj8aUatdRAA/wEqC8mdic4OHx8v5rqGxg/P4WJRktKKfxVDuWKJ8WLDS2O6Ce+Khrvh6Gl9CvkS3Av0ICuEYCuEYCuEYCuEYCuMYWQPXblcq72vwFDC9VswCwBcDgQBe5rNoA3UKjE426nQaGF+XNxOZknbU9ODBCR4e+864UrfTsfIoen+6w3WDtYKFpDo4medZM6aXYfZo9pkSin/p6k+R5Dc/VvwJlg5FyJT2nzd+wllmhMrKBAfqaVTtcuxK8WIf6erSyUE6u/1aBB3gRBEEQBEEQqiD6BqCP4cgUwOFKAAAAAElFTkSuQmCC"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAHcSURBVGhD7ZnRK0NRHMcPrlLjgSSslgdaPEntQfHOi6QkefbMwoO/QJHmv9BeKC8Ub2QPq1EkStSelylWFjW/79k962w7W6bcc9XvU997fvdu7X6/956dh/MTDMPUxCGtkpKkT1LBY+GeuDc8wEtD9JKuSKYftiF4gacqmtxRB2mRfDQUGhRr0S0xOTElAoF2+aFX5HLv4vziROzGNkU6/YhL16QI6QsnClMAvLIYzMf3E6Krs7t41RIv2YxYWBxXIaKkPRSKZnfUWcIBT962eQAP8OIivemY3gD+PE4q+VaaNuGR4tce7gpltVdgOo1FOlBi+rSiUJgCSGcmgzDvpXEd9eCIMs+mKfSv4AC24QC2+VEArABqBVK1X2hoGbUJL6N+hQPYhgPYhgPYhgPYhgPYhgPYhgPYhgP8FcdHB25VH18GgPnpmblSXQ/fBag0r+pamALI/fd8/kOeeEkt85qXst4AMAVAI0FcJs7kiZfUevKaF+lNxxQgjsP2zobc1vaaSvPwAC8u0ptOizvqpEiz2ddMz+nZoQgGB0R/X0g4TsN9tl8xFB6WI6YNWkwr0Xnx9HyPS7ekZVLVNDKBhtoNCbtbfhC8GJt89WgjrZNst1nhAV4YhqlCiG+BiAgQyyBzTgAAAABJRU5ErkJggg=="},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGbSURBVGhD7Zk/SwNBEMVHPUGIFoqIGjgs/AAipBC0t7QREWtrPdTCTyAoEr+FpLIVTKeYIhAFLSxEIXUwggYMCjpv3YOV2whBuDlhfvBu/wRy72XnUtyQoigdCVibrCrrnfWZsnBP3Bse4KUrxllXLN8XSwhe4ClBjx1dkBbJZ8JwmraiPVqYX6RcbtB8mBat1iudX5zSYXGX6vV7bF2zCqwPLGJ8AXBkRZgvHVdoZHj0e1eIp2aDVlbn4hAR6wiTmF47uqzhgl9e2jyAB3ixGG8uvhPAwxPUqi+pl00nUE6zhSFMUT79mMT4TsA88VkxDxwviX8jX4B/hQaQRgNIowGk0QDSaABpNIA0GkAaDSCNBpBGA0ijAaTRANJoAGl8Acz793b7zSyygOPlR28A+AKgkUCXlbJZZAHHi/Hm4gtQwmX/YMe81pYGHuDFYry59NnRpcZaaj43xs7KJ5TPT9HkREhB0HWf7U+gbNBi2oiW6eHxDlu3rHVWoox8oKF2w/I13CQEL94m328MsLZZ0m1WeIAXRVESEH0Bs4jYzXektn4AAAAASUVORK5CYII="},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVGhD7ZnfK4NRHMa/Y0qNC5KwDEV+XEntQnHv0o0k165ZuPAXKNL8F9oN5YayO+JCjaL5kQi3yxQrizbf5+x915kdW0vtnHQ+9bznvO+79j7Pe77vOnsPWSyWX/GyFlinrE9WtsrCNXFteICXimhjnbFUX6xD8AJPRXicVgZpkXw4EOilxdAqjY9NkM/XIE5Wi1TqnQ6P9mkjvEJPT3c4dM4Ksr6w46IKgCELw3xk64Sam1pyRzXxkkzQ9MyoGyLE2kTHpcZpZWaxwZ3XbR7AA7w4CG8yqhHAw+ONnb5VvWwEcISqB04f5TQSbMQRlE8dOi6qERBPvA7zHjaczWRob3c73weSl6JfI1UAbWT5bt/dXIv+7VWcQ5S3Z1QA8Pz4UNCWw7gAlWID6MYG0I0NoBsbQDfGBejs6iloy2FcgL7BoVw7wK1qrvwD1UfEZPYm7s5pqwdmoBmegWISJ/dB/1DeaoFno0YAs1HXsNwvhXElVCk2gG5sAN3YALqxAXRjA+jmXwYQ79/T6Q+xYwKSl4K1AaAKgIUEOj6Jih0TkLwIbzKqABFs1taXxWtt3cADvDgIbzK1TisTY00mXxOtB9Ed8vu7qaM9QF5vxetsfwJlgyWm+dAU3T+IN9aXrDlWURmpwILaBQt/y0wQvCgX+UpRz1pi6V5mhQd4sVgsRRB9A2hS/udykTpwAAAAAElFTkSuQmCC"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAPfSURBVGhD7ZlrSBRRFMf/m4+sLCsjw6joAUWZVCQifqgMsdcmUaBlSQSlZIVGUdSHgqAvUUYPCoWIVMosKl/YU3th7yRNKkwTs/fbKNNqu+d6dh1z1Jl12dkP+4Ozc86MuP//vXdm750LN27cdIiniGQRd0U0i7A4Oeg76btJA2nRxRARD0Wo/WMjgrSQpnaY+KiE3JLzScOGRSFpWRFmhAF9+8prTqOhASguBQ5mzEJd3Xk6VSYiRMRvKqyoGaAuSyXxxw4UIcCv5aRRvP0KxK+xmUgRsZcSKz34qCSOPqjljRZPkAbSwkhtStR6gG4ez9t5FqcPm46g4RRqllJp+HhRYkWtB+Qd7yriCYWWdk8jNQOGcO5iBl69qeVKOy5h4Gn1I2SdOYCUHTHYlpqAHz+/85WucQkDOQVp4tMCi+Uv3n96g969fFsuaMBwAx+/vEP5k3tcAXNmxHKmDcMNHM3ZI1ue8O3jh3kRi2WuFUMN0Fh/WHGTKyAifD5n2jHUwIn8w2hq/iVzb6+eiJm7SuZ6MMxAsxB+7VYhV0DY1Eh4CRN6McxAYclJ2+PSw8MTseZEmevFOAPFxzkDJo4LgX//wVzpwxADxaV5+PzlA1cmLF+4nnP9GGIg71ImZ8CYkRMQOGQEV/pxuoHHz+7j5esariDGfgJn9uF0A1nnDnIG2fLB40K5sg+nGqDZ5vMXlVwB0ZHxnNmPUw1knN1nmzb49Rso1tpmmXcH3QYyz+7Hll0r5CRMD/T3ZY/FKp2ZPT2Gs+6hy0BtfRUKLh9HVU0FkrcvQv6V1md5V+QUpOPPn5YXCjRdNs9cIvPuosvAheunbSJ+NTXi2KlUTb1B04Ybd2wLc4SHRNk1bVBDl4GVsZsQvygFPb19+Aw09Ua2WLAoJ21x0UkydwS67wGar+/dfkr8AAXxma57o6Q0nzNgclC4rhVXV+g2QNC8ZefGI5p6g/JvDZ9lbjL1wNIF62TuKOwyYEVLbxQWn+ArNGmbioBBgVw5BrUXW/QyFZUl8qAZauns3EPSgBUvT280/27iyoQdG9IxdlQw1/oYP90mtY3mbvWAErXeaBUPDB862m7xneEwA0RH9waxJHo1Z47FYUPof2j8707fjD7iieM/IACJcVv5in10NITUDMiXuw+KLPBp24iG0ShuqymzpFRNL3dpIwFXb8vcJVBokdqUqBnIpo/9afPla22jIQ2khZHalKgNIRo4tMUUNGqoGWtX5WKaWHM4ezjRsKGWJ/HV9Xl0qkIEbTG1Pqc7gTbUykXQnewKQVpUN/k6g9p8gwijt1lJg4s8Tty4cTWAf5pjuUXgo5yBAAAAAElFTkSuQmCC"},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAIhSURBVGhD7ZjBSwJBFMZfZRBYaiJRCYtBIHSKwENQ945dIqJz55Lq0F8QFGH/RXjqauStyINgQREJkWEdRYMSkoKab1pjFsfIlJ3R9gffzu66uN/beTPMG3LQGBfTGlOa6Y3pw2bhnXg3PMBLQwwznTPJ/liF4AWeaugyWxFEi8gnDWOc1qPbNDszR253P//RLsrlFzo5TdBebIvy+VvcumCKML3jooosAHRZDObjBynyDwa+7iqiWCrQ4tJ0NYgo0z5OqnSbrcgyDvjyqs0DeIAXE+5NRNYDGDyuTPrZ9rSpB9JpKjKAU6RPL06qyHqAj3hdzAPBS81sJAugrWj7AGRjAPMuZa95YwvhCZkNqwfhGcvDTgq1Allv/zYDtOkB0XAj6atVCsF4I+aBMwZU05EB8OVqpfLKL3RA8GJZSgNZAFh301kqyS90QPDCvYnIAojjsLO7yVeBqoEHeDHh3kR6zFYkwzRfeioMHScPKRgM0eiIQS5Xw2VpUyBtUJGtRhfoLneDW1dMK0w1aSQD9eclEyZlHQQv0pr4J/DJnV2JFqn5XYnQmL0V2n2uRbsS4bDawj6bbWJXQrV5AA9/3pWwO23qgXSqtyshCwCDhooF3miDP/Bt1eK5IxdzbYUTgGqcAFTjBKCajgyAr/YeH/Qp6gUv/6yoxyJKNfDQVFHv84XI6zHI47W3qEfaJI7+eVHfx7TBpLqohwd4cdAQok9fDasSl6ln/gAAAABJRU5ErkJggg=="},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAIzSURBVGhD7ZnNK0RRGMZfjFLja8T4qslCKSvJLBRrlhYkf4A1Exb+AkUa/gqJsiV2xGKEIlGi7HxkFIoo3ufMvbpjDueizrlT51fP3K+a93nu+ZjTHLJYLN8SYo2yUqxX1rtmoSZqwwO8/Io61j5L9sUmBC/wlEOBc/SCtEjeFos101hiirq7eikcLhUPdfH09EibW6s0m5yky8sz3DpgxVlvuHCRBUCTJWF+cWGHqiLVmbuGuEvf0uBQpxsiwZrDiYssAN5+x3xyiXp7+umdG/Dmmug+zW2JxtRAAbuqjBDVRDPnq2vLNJIYwKNdFlrhE1kADJ7QXupBdJvrK6L0XeaBbiJVRNHaTHdqj5fhFrpPMU5cCp2jFzHi3T6PN28Kt7Zn/OXMRrIAWejqNjL81FYGCDo2gGmUATCNmcJPbWWA8grnxAB+aisDYB6uqNTbEqiFmqitQmZLTF6nxwbnTwktrZ9Wszzn/SBWtkAQ1kLgzy0A81gL6fxFRi3URG0VygBBWAv9hDKAzjf/FT+1834Q2wCmUQbQ+Qv8FT+1lQHsWugPoJZdC+ULNoBpbADT2ACmkQUQ/7+/vDyLiyDg8ZK1NwBkAbCRQNs7G+IiCHi8CG9eZAEW8TE9MyH+1jYNPMCLg/Dmpcg5etlj9aXvb6PrGyvU2NhEDfUxCoV+vc/2L9BtsMWEjY3zixPcOmINs3K6kQxsqB2ysCAKguBFusn3EyWscZbpbVZ4gBeLxZID0QdAWhlm3o3juwAAAABJRU5ErkJggg=="},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAANbSURBVGhD7ZddSBRRGIa/mVUQ7CJFQijEzCxCyghBqAVBRbsTlAgS+gEjogKJAi+KqAslDaE/6EoixQwKoSBCQctMQQojQ1MzEcO9sDJISHZ1+97jnJh1ZtZxx6LgPPDu2TMz58z7nd85pFAoFAqFQqFQRCOHdYX1jjXNChsp8riezfoniWPVsYIsmHYS7uO5BNaq0Yx0rcnWNL05HF7cqetxVJB/hNLTd9G2rXmUmppJgcAYfRjto4/jr6m75z4Fgz+5iPae46ngPwOiBpf8iQB4SGh9bCZxc3oOnT7ZSBmcOjH1eZiu3z5KIxwQE2L5WSLjhmgBYAicYh1iwQHyLkCVYSouOkHHj90gn2/lYgsLIWpuvUCP2mqNKwIEg95oZt008hacAkhlPWU5N10U0PL1Nf2uzEsQRPVFv+yJ5SCQ/ayAyJmwCwBv7WflpKVl0tmqGvLvK6HExHXiphNDQwNUdiCXwjwt62v7ow4bJzCcqs7vpsXFELU09dB0YJKuNVTT5OQYbiOIXFZET+hGagbDRphvbemlkuLyFc2DZ+0PRStiwsZiHmzauJ38ew+KejqfPxbvhgd4YVApvEVgFwDGvGj55KQUccENHR1tIsVq44UtGXtEKuuDB3gxEN7M2AUgmg/DZjV8m50RKZZKL8jysj5g8mLpWrsAxMxzM2zMzMwszS+s816Q5WV9wOTFsirYBSAmyfw8Nhf3pKRg4eJlgjcpL8jysj5g8mJZSu0CEDvhq94OkXFL0vql+YId1guyvKwPmLxYdmm7AFrxc7XuHM3N/RAX3FBYWCrSiYm3Io0VfF4AWR88wIuB8GbGLgDseoPjn4apnNf1zq4nroZTcVEZ6bqPurqbxHoeCyiHbyPUU1hQKt4ND/DCDLLgLYJoO3E7K6ZP3SxeSWoud69qJwbYiYeGXxq5CGC+iGXZiX1GuhyMnUbWd1YyawPLrrds0OjL1ykKLQQpe0c+t6a7Yi0PLlHXi3v873ebYsK+YTWwKlmzLAtOPeAFrNX4FIlDT5zhr1HssE5g2Ny6UylbHqbX7GvUC3mapt/l80BWfHwC5fsrVjwP8PMj/PxhLuttGVtDcMLik5aGVl1+CjNJ3I/5RPY3wJD6L8/ECoVCoVAoFApFNIh+AUnILCG8z0g2AAAAAElFTkSuQmCC"},function(module,exports,__webpack_require__){const BlockType=__webpack_require__(1),ArgumentType=__webpack_require__(3),SandboxRunner=__webpack_require__(46),Cast=__webpack_require__(2);class jgJavascript{constructor(A){this.runtime=A,this.util}getInfo(){return{id:"jgJavascript",name:"JavaScript",blocks:[{opcode:"javascriptHat",text:"when javascript [CODE] == true",blockType:BlockType.HAT,hideFromPalette:!0,arguments:{CODE:{type:ArgumentType.STRING,defaultValue:"Math.round(Math.random()) === 1"}}},{opcode:"javascriptStack",text:"javascript [CODE]",blockType:BlockType.COMMAND,arguments:{CODE:{type:ArgumentType.STRING,defaultValue:"alert('Hello!')"}}},{opcode:"javascriptString",text:"javascript [CODE]",blockType:BlockType.REPORTER,disableMonitor:!0,arguments:{CODE:{type:ArgumentType.STRING,defaultValue:"Math.random()"}}},{opcode:"javascriptBool",text:"javascript [CODE]",blockType:BlockType.BOOLEAN,disableMonitor:!0,arguments:{CODE:{type:ArgumentType.STRING,defaultValue:"Math.round(Math.random()) === 1"}}}]}}evaluateCode(code){return!0===this.runtime.extensionRuntimeOptions.javascriptUnsandboxed?new Promise(resolve=>{let result;try{result=eval(code)}catch(A){result=A}resolve(result)}):new Promise(A=>{SandboxRunner.execute(code).then(e=>A(e.value))})}javascriptStack(A,e){this.util=e;const t=Cast.toString(A.CODE);return this.evaluateCode(t)}javascriptString(A,e){this.util=e;const t=Cast.toString(A.CODE);return this.evaluateCode(t)}javascriptBool(A,e){return this.util=e,new Promise(e=>{const t=Cast.toString(A.CODE);this.evaluateCode(t).then(A=>{e(Boolean(A))})})}javascriptHat(){return this.javascriptBool(...arguments)}}module.exports=jgJavascript},function(A,e,t){const n=t(1),i=t(3),r=t(7),s=t(2),o=t(10),a=t(368),B=t(384),c=t(385),g=t(386);A.exports=class{constructor(A){this.runtime=A,this.map=new g,this.pather={x:0,y:0,width:1,height:1},this.pathNodes=new B}getInfo(){return{id:"jgPathfinding",name:"Pathfinding",color1:"#5386E2",color2:"#4169B1",blocks:[{opcode:"createBlockadeAt",text:r({id:"jgPathfinding.blocks.createBlockadeAt",default:"create blockade at x1: [X1] y1: [Y1] x2: [X2] y2: [Y2]",description:"Block that creates a blockade in the pathfinding area."}),arguments:{X1:{type:i.NUMBER,defaultValue:-70},Y1:{type:i.NUMBER,defaultValue:20},X2:{type:i.NUMBER,defaultValue:70},Y2:{type:i.NUMBER,defaultValue:-20}},blockType:n.COMMAND},{opcode:"clearBlockades",text:r({id:"jgPathfinding.blocks.clearBlockades",default:"clear blockades",description:"Block that removes all blockades in the pathfinding area."}),blockType:n.COMMAND},{opcode:"setPatherXY",text:r({id:"jgPathfinding.blocks.setPatherXY",default:"set pather starting x: [X] y: [Y]",description:"Block that sets the starting position for the pather."}),arguments:{X:{type:i.NUMBER,defaultValue:0},Y:{type:i.NUMBER,defaultValue:120}},blockType:n.COMMAND},{opcode:"setWidthHeight",text:r({id:"jgPathfinding.blocks.setWidthHeight",default:"set pather width: [WIDTH] height: [HEIGHT]",description:"Block that sets the width and height of the path follower. This allows sprites to avoid clipping inside walls on the way to the destination."}),arguments:{WIDTH:{type:i.NUMBER,defaultValue:55},HEIGHT:{type:i.NUMBER,defaultValue:95}},blockType:n.COMMAND},{opcode:"pathToSpot",text:r({id:"jgPathfinding.blocks.pathToSpot",default:"find path to x: [X] y: [Y] around blockades",description:"Block that finds a path around blockades in the pathfinding area to get to a location."}),arguments:{X:{type:i.NUMBER,defaultValue:60},Y:{type:i.NUMBER,defaultValue:-60}},blockType:n.COMMAND},"---",{opcode:"setListToPath",text:r({id:"jgPathfinding.blocks.setListToPath",default:"set [LIST] to current path",description:"Block that sets a list to the current path."}),arguments:{LIST:{type:i.LIST}},hideFromPalette:!0,blockType:n.COMMAND},{opcode:"getPathAs",text:r({id:"jgPathfinding.blocks.getPathAs",default:"current path as [TYPE]",description:"Block that returns the current path in a certain way."}),arguments:{TYPE:{type:i.STRING,menu:"pathReturnType"}},disableMonitor:!0,blockType:n.REPORTER}],menus:{pathReturnType:{acceptReporters:!0,items:["json arrays","json array with objects","json object","comma seperated list"].map(A=>({text:A,value:A}))}}}}createBlockadeAt(A){const e=s.toNumber(A.X1),t=s.toNumber(A.Y1),n=s.toNumber(A.X2),i=s.toNumber(A.Y2);this.map.add(e,t,n,i)}clearBlockades(){this.map.clear()}setPatherXY(A){const e=s.toNumber(A.X),t=s.toNumber(A.Y);this.pather.x=e,this.pather.y=t}setWidthHeight(A){const e=s.toNumber(A.WIDTH),t=s.toNumber(A.HEIGHT);this.pather.width=e,this.pather.height=t}pathToSpot(A){const e=s.toNumber(A.X),t=s.toNumber(A.Y),n=this.map.toGrid(),i=this.runtime.stageWidth,r=this.runtime.stageHeight,g=(r>i?r:i)+(this.pather.height>this.pather.width?this.pather.height:this.pather.width)+24,Q=c.marginGrid(n.grid,g),E=c.padGrid(Q,this.pather.width,this.pather.height),l=n.offset;l.left-=g,l.top+=g;const u=new a.Grid(E),w=new a.AStarFinder({allowDiagonal:!0,dontCrossCorners:!0}),h=o.simple({start:{x:this.pather.x-l.left,y:Math.abs(this.pather.y-l.top)},end:{x:e-l.left,y:Math.abs(t-l.top)}}),C=a.Util.compressPath(w.findPath(h.start.x,h.start.y,h.end.x,h.end.y,u)),d=new B;for(const A of C){const e=A[0]+l.left,t=0-(A[1]-l.top);d.push([e,t])}this.pathNodes=d}setListToPath(A,e){console.log(A);e.target.lookupOrCreateList(A.LIST.id,A.LIST.name).value=push(A.ITEM)}getPathAs(A){switch(s.toString(A.TYPE).toLowerCase()){case"json array with objects":return JSON.stringify(this.pathNodes.getObjects());case"json object":return JSON.stringify(this.pathNodes.getAsObject());case"comma seperated list":return this.pathNodes.getCommaSeperated();default:return JSON.stringify(this.pathNodes.getRaw())}}}},function(A,e,t){A.exports=t(369)},function(A,e,t){A.exports={Heap:t(57),Node:t(75),Grid:t(371),Util:t(33),DiagonalMovement:t(15),Heuristic:t(47),AStarFinder:t(76),BestFirstFinder:t(372),BreadthFirstFinder:t(373),DijkstraFinder:t(374),BiAStarFinder:t(77),BiBestFirstFinder:t(375),BiBreadthFirstFinder:t(376),BiDijkstraFinder:t(377),IDAStarFinder:t(378),JumpPointFinder:t(379)}},function(A,e,t){(function(A){(function(){var e,t,n,i,r,s,o,a,B,c,g,Q,E,l,u;n=Math.floor,c=Math.min,t=function(A,e){return A<e?-1:A>e?1:0},B=function(A,e,i,r,s){var o;if(null==i&&(i=0),null==s&&(s=t),i<0)throw new Error("lo must be non-negative");for(null==r&&(r=A.length);i<r;)s(e,A[o=n((i+r)/2)])<0?r=o:i=o+1;return[].splice.apply(A,[i,i-i].concat(e)),e},s=function(A,e,n){return null==n&&(n=t),A.push(e),l(A,0,A.length-1,n)},r=function(A,e){var n,i;return null==e&&(e=t),n=A.pop(),A.length?(i=A[0],A[0]=n,u(A,0,e)):i=n,i},a=function(A,e,n){var i;return null==n&&(n=t),i=A[0],A[0]=e,u(A,0,n),i},o=function(A,e,n){var i;return null==n&&(n=t),A.length&&n(A[0],e)<0&&(e=(i=[A[0],e])[0],A[0]=i[1],u(A,0,n)),e},i=function(A,e){var i,r,s,o,a,B;for(null==e&&(e=t),a=[],r=0,s=(o=function(){B=[];for(var e=0,t=n(A.length/2);0<=t?e<t:e>t;0<=t?e++:e--)B.push(e);return B}.apply(this).reverse()).length;r<s;r++)i=o[r],a.push(u(A,i,e));return a},E=function(A,e,n){var i;if(null==n&&(n=t),-1!==(i=A.indexOf(e)))return l(A,0,i,n),u(A,i,n)},g=function(A,e,n){var r,s,a,B,c;if(null==n&&(n=t),!(s=A.slice(0,e)).length)return s;for(i(s,n),a=0,B=(c=A.slice(e)).length;a<B;a++)r=c[a],o(s,r,n);return s.sort(n).reverse()},Q=function(A,e,n){var s,o,a,g,Q,E,l,u,w;if(null==n&&(n=t),10*e<=A.length){if(!(a=A.slice(0,e).sort(n)).length)return a;for(o=a[a.length-1],g=0,E=(l=A.slice(e)).length;g<E;g++)n(s=l[g],o)<0&&(B(a,s,0,null,n),a.pop(),o=a[a.length-1]);return a}for(i(A,n),w=[],Q=0,u=c(e,A.length);0<=u?Q<u:Q>u;0<=u?++Q:--Q)w.push(r(A,n));return w},l=function(A,e,n,i){var r,s,o;for(null==i&&(i=t),r=A[n];n>e&&i(r,s=A[o=n-1>>1])<0;)A[n]=s,n=o;return A[n]=r},u=function(A,e,n){var i,r,s,o,a;for(null==n&&(n=t),r=A.length,a=e,s=A[e],i=2*e+1;i<r;)(o=i+1)<r&&!(n(A[i],A[o])<0)&&(i=o),A[e]=A[i],i=2*(e=i)+1;return A[e]=s,l(A,a,e,n)},e=function(){function A(A){this.cmp=null!=A?A:t,this.nodes=[]}return A.push=s,A.pop=r,A.replace=a,A.pushpop=o,A.heapify=i,A.updateItem=E,A.nlargest=g,A.nsmallest=Q,A.prototype.push=function(A){return s(this.nodes,A,this.cmp)},A.prototype.pop=function(){return r(this.nodes,this.cmp)},A.prototype.peek=function(){return this.nodes[0]},A.prototype.contains=function(A){return-1!==this.nodes.indexOf(A)},A.prototype.replace=function(A){return a(this.nodes,A,this.cmp)},A.prototype.pushpop=function(A){return o(this.nodes,A,this.cmp)},A.prototype.heapify=function(){return i(this.nodes,this.cmp)},A.prototype.updateItem=function(A){return E(this.nodes,A,this.cmp)},A.prototype.clear=function(){return this.nodes=[]},A.prototype.empty=function(){return 0===this.nodes.length},A.prototype.size=function(){return this.nodes.length},A.prototype.clone=function(){var e;return(e=new A).nodes=this.nodes.slice(0),e},A.prototype.toArray=function(){return this.nodes.slice(0)},A.prototype.insert=A.prototype.push,A.prototype.top=A.prototype.peek,A.prototype.front=A.prototype.peek,A.prototype.has=A.prototype.contains,A.prototype.copy=A.prototype.clone,A}(),(null!==A?A.exports:void 0)?A.exports=e:window.Heap=e}).call(this)}).call(this,t(28)(A))},function(A,e,t){var n=t(75),i=t(15);function r(A,e,t){var n;"object"!=typeof A?n=A:(e=A.length,n=A[0].length,t=A),this.width=n,this.height=e,this.nodes=this._buildNodes(n,e,t)}r.prototype._buildNodes=function(A,e,t){var i,r,s=new Array(e);for(i=0;i<e;++i)for(s[i]=new Array(A),r=0;r<A;++r)s[i][r]=new n(r,i);if(void 0===t)return s;if(t.length!==e||t[0].length!==A)throw new Error("Matrix size does not fit");for(i=0;i<e;++i)for(r=0;r<A;++r)t[i][r]&&(s[i][r].walkable=!1);return s},r.prototype.getNodeAt=function(A,e){return this.nodes[e][A]},r.prototype.isWalkableAt=function(A,e){return this.isInside(A,e)&&this.nodes[e][A].walkable},r.prototype.isInside=function(A,e){return A>=0&&A<this.width&&e>=0&&e<this.height},r.prototype.setWalkableAt=function(A,e,t){this.nodes[e][A].walkable=t},r.prototype.getNeighbors=function(A,e){var t=A.x,n=A.y,r=[],s=!1,o=!1,a=!1,B=!1,c=!1,g=!1,Q=!1,E=!1,l=this.nodes;if(this.isWalkableAt(t,n-1)&&(r.push(l[n-1][t]),s=!0),this.isWalkableAt(t+1,n)&&(r.push(l[n][t+1]),a=!0),this.isWalkableAt(t,n+1)&&(r.push(l[n+1][t]),c=!0),this.isWalkableAt(t-1,n)&&(r.push(l[n][t-1]),Q=!0),e===i.Never)return r;if(e===i.OnlyWhenNoObstacles)o=Q&&s,B=s&&a,g=a&&c,E=c&&Q;else if(e===i.IfAtMostOneObstacle)o=Q||s,B=s||a,g=a||c,E=c||Q;else{if(e!==i.Always)throw new Error("Incorrect value of diagonalMovement");o=!0,B=!0,g=!0,E=!0}return o&&this.isWalkableAt(t-1,n-1)&&r.push(l[n-1][t-1]),B&&this.isWalkableAt(t+1,n-1)&&r.push(l[n-1][t+1]),g&&this.isWalkableAt(t+1,n+1)&&r.push(l[n+1][t+1]),E&&this.isWalkableAt(t-1,n+1)&&r.push(l[n+1][t-1]),r},r.prototype.clone=function(){var A,e,t=this.width,i=this.height,s=this.nodes,o=new r(t,i),a=new Array(i);for(A=0;A<i;++A)for(a[A]=new Array(t),e=0;e<t;++e)a[A][e]=new n(e,A,s[A][e].walkable);return o.nodes=a,o},A.exports=r},function(A,e,t){var n=t(76);function i(A){n.call(this,A);var e=this.heuristic;this.heuristic=function(A,t){return 1e6*e(A,t)}}i.prototype=new n,i.prototype.constructor=i,A.exports=i},function(A,e,t){var n=t(33),i=t(15);function r(A){A=A||{},this.allowDiagonal=A.allowDiagonal,this.dontCrossCorners=A.dontCrossCorners,this.diagonalMovement=A.diagonalMovement,this.diagonalMovement||(this.allowDiagonal?this.dontCrossCorners?this.diagonalMovement=i.OnlyWhenNoObstacles:this.diagonalMovement=i.IfAtMostOneObstacle:this.diagonalMovement=i.Never)}r.prototype.findPath=function(A,e,t,i,r){var s,o,a,B,c,g=[],Q=this.diagonalMovement,E=r.getNodeAt(A,e),l=r.getNodeAt(t,i);for(g.push(E),E.opened=!0;g.length;){if((a=g.shift()).closed=!0,a===l)return n.backtrace(l);for(B=0,c=(s=r.getNeighbors(a,Q)).length;B<c;++B)(o=s[B]).closed||o.opened||(g.push(o),o.opened=!0,o.parent=a)}return[]},A.exports=r},function(A,e,t){var n=t(76);function i(A){n.call(this,A),this.heuristic=function(A,e){return 0}}i.prototype=new n,i.prototype.constructor=i,A.exports=i},function(A,e,t){var n=t(77);function i(A){n.call(this,A);var e=this.heuristic;this.heuristic=function(A,t){return 1e6*e(A,t)}}i.prototype=new n,i.prototype.constructor=i,A.exports=i},function(A,e,t){var n=t(33),i=t(15);function r(A){A=A||{},this.allowDiagonal=A.allowDiagonal,this.dontCrossCorners=A.dontCrossCorners,this.diagonalMovement=A.diagonalMovement,this.diagonalMovement||(this.allowDiagonal?this.dontCrossCorners?this.diagonalMovement=i.OnlyWhenNoObstacles:this.diagonalMovement=i.IfAtMostOneObstacle:this.diagonalMovement=i.Never)}r.prototype.findPath=function(A,e,t,i,r){var s,o,a,B,c,g=r.getNodeAt(A,e),Q=r.getNodeAt(t,i),E=[],l=[],u=this.diagonalMovement;for(E.push(g),g.opened=!0,g.by=0,l.push(Q),Q.opened=!0,Q.by=1;E.length&&l.length;){for((a=E.shift()).closed=!0,B=0,c=(s=r.getNeighbors(a,u)).length;B<c;++B)if(!(o=s[B]).closed)if(o.opened){if(1===o.by)return n.biBacktrace(a,o)}else E.push(o),o.parent=a,o.opened=!0,o.by=0;for((a=l.shift()).closed=!0,B=0,c=(s=r.getNeighbors(a,u)).length;B<c;++B)if(!(o=s[B]).closed)if(o.opened){if(0===o.by)return n.biBacktrace(o,a)}else l.push(o),o.parent=a,o.opened=!0,o.by=1}return[]},A.exports=r},function(A,e,t){var n=t(77);function i(A){n.call(this,A),this.heuristic=function(A,e){return 0}}i.prototype=new n,i.prototype.constructor=i,A.exports=i},function(A,e,t){t(33);var n=t(47),i=t(75),r=t(15);function s(A){A=A||{},this.allowDiagonal=A.allowDiagonal,this.dontCrossCorners=A.dontCrossCorners,this.diagonalMovement=A.diagonalMovement,this.heuristic=A.heuristic||n.manhattan,this.weight=A.weight||1,this.trackRecursion=A.trackRecursion||!1,this.timeLimit=A.timeLimit||1/0,this.diagonalMovement||(this.allowDiagonal?this.dontCrossCorners?this.diagonalMovement=r.OnlyWhenNoObstacles:this.diagonalMovement=r.IfAtMostOneObstacle:this.diagonalMovement=r.Never),this.diagonalMovement===r.Never?this.heuristic=A.heuristic||n.manhattan:this.heuristic=A.heuristic||n.octile}s.prototype.findPath=function(A,e,t,n,r){var s,o,a,B=(new Date).getTime(),c=function(A,e){return this.heuristic(Math.abs(e.x-A.x),Math.abs(e.y-A.y))}.bind(this),g=function(A,e,t,n,s){if(this.timeLimit>0&&(new Date).getTime()-B>1e3*this.timeLimit)return 1/0;var o,a,Q,l,u=e+c(A,E)*this.weight;if(u>t)return u;if(A==E)return n[s]=[A.x,A.y],A;var w,h,C=r.getNeighbors(A,this.diagonalMovement);for(Q=0,o=1/0;l=C[Q];++Q){if(this.trackRecursion&&(l.retainCount=l.retainCount+1||1,!0!==l.tested&&(l.tested=!0)),(a=g(l,e+(h=l,(w=A).x===h.x||w.y===h.y?1:Math.SQRT2),t,n,s+1))instanceof i)return n[s]=[A.x,A.y],a;this.trackRecursion&&0==--l.retainCount&&(l.tested=!1),a<o&&(o=a)}return o}.bind(this),Q=r.getNodeAt(A,e),E=r.getNodeAt(t,n),l=c(Q,E);for(s=0;;++s){if((a=g(Q,0,l,o=[],0))===1/0)return[];if(a instanceof i)return o;l=a}return[]},A.exports=s},function(A,e,t){var n=t(15),i=t(380),r=t(381),s=t(382),o=t(383);A.exports=function(A){return(A=A||{}).diagonalMovement===n.Never?new i(A):A.diagonalMovement===n.Always?new r(A):A.diagonalMovement===n.OnlyWhenNoObstacles?new s(A):new o(A)}},function(A,e,t){var n=t(58),i=t(15);function r(A){n.call(this,A)}r.prototype=new n,r.prototype.constructor=r,r.prototype._jump=function(A,e,t,n){var i=this.grid,r=A-t,s=e-n;if(!i.isWalkableAt(A,e))return null;if(!0===this.trackJumpRecursion&&(i.getNodeAt(A,e).tested=!0),i.getNodeAt(A,e)===this.endNode)return[A,e];if(0!==r){if(i.isWalkableAt(A,e-1)&&!i.isWalkableAt(A-r,e-1)||i.isWalkableAt(A,e+1)&&!i.isWalkableAt(A-r,e+1))return[A,e]}else{if(0===s)throw new Error("Only horizontal and vertical movements are allowed");if(i.isWalkableAt(A-1,e)&&!i.isWalkableAt(A-1,e-s)||i.isWalkableAt(A+1,e)&&!i.isWalkableAt(A+1,e-s))return[A,e];if(this._jump(A+1,e,A,e)||this._jump(A-1,e,A,e))return[A,e]}return this._jump(A+r,e+s,A,e)},r.prototype._findNeighbors=function(A){var e,t,n,r,s,o,a,B,c=A.parent,g=A.x,Q=A.y,E=this.grid,l=[];if(c)e=c.x,t=c.y,n=(g-e)/Math.max(Math.abs(g-e),1),r=(Q-t)/Math.max(Math.abs(Q-t),1),0!==n?(E.isWalkableAt(g,Q-1)&&l.push([g,Q-1]),E.isWalkableAt(g,Q+1)&&l.push([g,Q+1]),E.isWalkableAt(g+n,Q)&&l.push([g+n,Q])):0!==r&&(E.isWalkableAt(g-1,Q)&&l.push([g-1,Q]),E.isWalkableAt(g+1,Q)&&l.push([g+1,Q]),E.isWalkableAt(g,Q+r)&&l.push([g,Q+r]));else for(a=0,B=(s=E.getNeighbors(A,i.Never)).length;a<B;++a)o=s[a],l.push([o.x,o.y]);return l},A.exports=r},function(A,e,t){var n=t(58),i=t(15);function r(A){n.call(this,A)}r.prototype=new n,r.prototype.constructor=r,r.prototype._jump=function(A,e,t,n){var i=this.grid,r=A-t,s=e-n;if(!i.isWalkableAt(A,e))return null;if(!0===this.trackJumpRecursion&&(i.getNodeAt(A,e).tested=!0),i.getNodeAt(A,e)===this.endNode)return[A,e];if(0!==r&&0!==s){if(i.isWalkableAt(A-r,e+s)&&!i.isWalkableAt(A-r,e)||i.isWalkableAt(A+r,e-s)&&!i.isWalkableAt(A,e-s))return[A,e];if(this._jump(A+r,e,A,e)||this._jump(A,e+s,A,e))return[A,e]}else if(0!==r){if(i.isWalkableAt(A+r,e+1)&&!i.isWalkableAt(A,e+1)||i.isWalkableAt(A+r,e-1)&&!i.isWalkableAt(A,e-1))return[A,e]}else if(i.isWalkableAt(A+1,e+s)&&!i.isWalkableAt(A+1,e)||i.isWalkableAt(A-1,e+s)&&!i.isWalkableAt(A-1,e))return[A,e];return this._jump(A+r,e+s,A,e)},r.prototype._findNeighbors=function(A){var e,t,n,r,s,o,a,B,c=A.parent,g=A.x,Q=A.y,E=this.grid,l=[];if(c)e=c.x,t=c.y,n=(g-e)/Math.max(Math.abs(g-e),1),r=(Q-t)/Math.max(Math.abs(Q-t),1),0!==n&&0!==r?(E.isWalkableAt(g,Q+r)&&l.push([g,Q+r]),E.isWalkableAt(g+n,Q)&&l.push([g+n,Q]),E.isWalkableAt(g+n,Q+r)&&l.push([g+n,Q+r]),E.isWalkableAt(g-n,Q)||l.push([g-n,Q+r]),E.isWalkableAt(g,Q-r)||l.push([g+n,Q-r])):0===n?(E.isWalkableAt(g,Q+r)&&l.push([g,Q+r]),E.isWalkableAt(g+1,Q)||l.push([g+1,Q+r]),E.isWalkableAt(g-1,Q)||l.push([g-1,Q+r])):(E.isWalkableAt(g+n,Q)&&l.push([g+n,Q]),E.isWalkableAt(g,Q+1)||l.push([g+n,Q+1]),E.isWalkableAt(g,Q-1)||l.push([g+n,Q-1]));else for(a=0,B=(s=E.getNeighbors(A,i.Always)).length;a<B;++a)o=s[a],l.push([o.x,o.y]);return l},A.exports=r},function(A,e,t){var n=t(58),i=t(15);function r(A){n.call(this,A)}r.prototype=new n,r.prototype.constructor=r,r.prototype._jump=function(A,e,t,n){var i=this.grid,r=A-t,s=e-n;if(!i.isWalkableAt(A,e))return null;if(!0===this.trackJumpRecursion&&(i.getNodeAt(A,e).tested=!0),i.getNodeAt(A,e)===this.endNode)return[A,e];if(0!==r&&0!==s){if(this._jump(A+r,e,A,e)||this._jump(A,e+s,A,e))return[A,e]}else if(0!==r){if(i.isWalkableAt(A,e-1)&&!i.isWalkableAt(A-r,e-1)||i.isWalkableAt(A,e+1)&&!i.isWalkableAt(A-r,e+1))return[A,e]}else if(0!==s&&(i.isWalkableAt(A-1,e)&&!i.isWalkableAt(A-1,e-s)||i.isWalkableAt(A+1,e)&&!i.isWalkableAt(A+1,e-s)))return[A,e];return i.isWalkableAt(A+r,e)&&i.isWalkableAt(A,e+s)?this._jump(A+r,e+s,A,e):null},r.prototype._findNeighbors=function(A){var e,t,n,r,s,o,a,B,c,g=A.parent,Q=A.x,E=A.y,l=this.grid,u=[];if(g){if(e=g.x,t=g.y,n=(Q-e)/Math.max(Math.abs(Q-e),1),r=(E-t)/Math.max(Math.abs(E-t),1),0!==n&&0!==r)l.isWalkableAt(Q,E+r)&&u.push([Q,E+r]),l.isWalkableAt(Q+n,E)&&u.push([Q+n,E]),l.isWalkableAt(Q,E+r)&&l.isWalkableAt(Q+n,E)&&u.push([Q+n,E+r]);else if(0!==n){c=l.isWalkableAt(Q+n,E);var w=l.isWalkableAt(Q,E+1),h=l.isWalkableAt(Q,E-1);c&&(u.push([Q+n,E]),w&&u.push([Q+n,E+1]),h&&u.push([Q+n,E-1])),w&&u.push([Q,E+1]),h&&u.push([Q,E-1])}else if(0!==r){c=l.isWalkableAt(Q,E+r);var C=l.isWalkableAt(Q+1,E),d=l.isWalkableAt(Q-1,E);c&&(u.push([Q,E+r]),C&&u.push([Q+1,E+r]),d&&u.push([Q-1,E+r])),C&&u.push([Q+1,E]),d&&u.push([Q-1,E])}}else for(a=0,B=(s=l.getNeighbors(A,i.OnlyWhenNoObstacles)).length;a<B;++a)o=s[a],u.push([o.x,o.y]);return u},A.exports=r},function(A,e,t){var n=t(58),i=t(15);function r(A){n.call(this,A)}r.prototype=new n,r.prototype.constructor=r,r.prototype._jump=function(A,e,t,n){var i=this.grid,r=A-t,s=e-n;if(!i.isWalkableAt(A,e))return null;if(!0===this.trackJumpRecursion&&(i.getNodeAt(A,e).tested=!0),i.getNodeAt(A,e)===this.endNode)return[A,e];if(0!==r&&0!==s){if(i.isWalkableAt(A-r,e+s)&&!i.isWalkableAt(A-r,e)||i.isWalkableAt(A+r,e-s)&&!i.isWalkableAt(A,e-s))return[A,e];if(this._jump(A+r,e,A,e)||this._jump(A,e+s,A,e))return[A,e]}else if(0!==r){if(i.isWalkableAt(A+r,e+1)&&!i.isWalkableAt(A,e+1)||i.isWalkableAt(A+r,e-1)&&!i.isWalkableAt(A,e-1))return[A,e]}else if(i.isWalkableAt(A+1,e+s)&&!i.isWalkableAt(A+1,e)||i.isWalkableAt(A-1,e+s)&&!i.isWalkableAt(A-1,e))return[A,e];return i.isWalkableAt(A+r,e)||i.isWalkableAt(A,e+s)?this._jump(A+r,e+s,A,e):null},r.prototype._findNeighbors=function(A){var e,t,n,r,s,o,a,B,c=A.parent,g=A.x,Q=A.y,E=this.grid,l=[];if(c)e=c.x,t=c.y,n=(g-e)/Math.max(Math.abs(g-e),1),r=(Q-t)/Math.max(Math.abs(Q-t),1),0!==n&&0!==r?(E.isWalkableAt(g,Q+r)&&l.push([g,Q+r]),E.isWalkableAt(g+n,Q)&&l.push([g+n,Q]),(E.isWalkableAt(g,Q+r)||E.isWalkableAt(g+n,Q))&&l.push([g+n,Q+r]),!E.isWalkableAt(g-n,Q)&&E.isWalkableAt(g,Q+r)&&l.push([g-n,Q+r]),!E.isWalkableAt(g,Q-r)&&E.isWalkableAt(g+n,Q)&&l.push([g+n,Q-r])):0===n?E.isWalkableAt(g,Q+r)&&(l.push([g,Q+r]),E.isWalkableAt(g+1,Q)||l.push([g+1,Q+r]),E.isWalkableAt(g-1,Q)||l.push([g-1,Q+r])):E.isWalkableAt(g+n,Q)&&(l.push([g+n,Q]),E.isWalkableAt(g,Q+1)||l.push([g+n,Q+1]),E.isWalkableAt(g,Q-1)||l.push([g+n,Q-1]));else for(a=0,B=(s=E.getNeighbors(A,i.IfAtMostOneObstacle)).length;a<B;++a)o=s[a],l.push([o.x,o.y]);return l},A.exports=r},function(A,e,t){const n=t(10);A.exports=class{constructor(){for(var A=arguments.length,e=new Array(A),t=0;t<A;t++)e[t]=arguments[t];if(Array.isArray(e)&&Array.isArray(e[0]))this._nodes=e;else{this._nodes=[];for(let A of e)Array.isArray(A)||(A=[]),"number"!=typeof A[0]&&(A[0]=0),"number"!=typeof A[1]&&(A[1]=0),this._nodes.push([Cast.toNumber(A[0]),Cast.toNumber(A[1])])}}push(A){this._nodes.push(A)}getRaw(){return n.simple(this._nodes)}getAsObject(){const A=this.getRaw(),e={};let t=0;for(const n of A){e[Cast.toString(t+1)]={x:n[0],y:n[1]},t++}return e}getObjects(){const A=this.getRaw(),e=[];for(const t of A)e.push({x:t[0],y:t[1]});return e}getCommaSeperated(){return this.getRaw().flat(1/0).join(",")}}},function(A,e,t){const n=t(2),i=t(10);class r{static _createArrayOfLength(A,e){if((A=n.toNumber(A))<=0)return[];if(!isFinite(A))return[];const t=Array.from(Array(A).keys()).map(()=>e);return i.simple(t)}static _validateUnsignedInteger(A){return(A=n.toNumber(A))<0&&(A=0),isFinite(A)||(A=0),Math.round(A)}static _splitNumber(A){const e=Math.round(n.toNumber(A));return 0===e?[0,0]:isFinite(e)?[Math.ceil(e/2),Math.floor(e/2)]:[0,0]}static marginGrid(A,e){e=r._validateUnsignedInteger(e);const t=i.simple(A),n=r._validateUnsignedInteger(t[0]?t[0].length:0),s=r._createArrayOfLength(n,0);for(let A=0;A<e;A++){const A=i.simple(s),e=i.simple(s);t.unshift(A),t.push(e)}for(const A of t)for(let t=0;t<e;t++)A.unshift(0),A.push(0);return t}static padGrid(A,e,t){const s=Math.max(0,n.toNumber(e)-1),o=Math.max(0,n.toNumber(t)-1),a=r._splitNumber(s),B=r._splitNumber(o),c=i.simple(A),g=i.simple(A),Q={row:0,tile:0};for(const A of g){for(const e of A)if(c[Q.row][Q.tile]<=0)Q.tile++;else{for(let e=0;e<a[0];e++){const t=Q.tile+(e+1);"number"==typeof A[t]&&(A[t]=1)}for(let e=0;e<a[1];e++){const t=Q.tile-(e+1);"number"==typeof A[t]&&(A[t]=1)}for(let A=0;A<B[0];A++){const e=Q.row-(A+1);if(!c[e])continue;g[e][Q.tile]=1}for(let A=0;A<B[1];A++){const e=Q.row+(A+1);if(!c[e])continue;g[e][Q.tile]=1}for(let A=0;A<2;A++){const e=1===A;for(let A=0;A<B[e?1:0];A++){let t=Q.row-(A+1);if(e&&(t=Q.row+(A+1)),!c[t])continue;const n=g[t];for(let A=0;A<2;A++){const e=1===A;for(let A=0;A<a[e?1:0];A++){let t=Q.tile+(A+1);e&&(t=Q.tile-(A+1)),"number"==typeof n[t]&&(n[t]=1)}}}}Q.tile++}Q.row++,Q.tile=0}return g}}A.exports=r},function(A,e,t){const n=t(2),i=t(10),r={grid:[[0,0,0],[0,0,0],[0,0,0]],offset:{left:0,top:0}};class s{constructor(){this.boxes=[]}static new(){for(var A=arguments.length,e=new Array(A),t=0;t<A;t++)e[t]=arguments[t];return new s(...e)}add(A,e,t,i){const r={x1:A=Math.round(n.toNumber(A)),y1:e=Math.round(n.toNumber(e)),x2:t=Math.round(n.toNumber(t)),y2:i=Math.round(n.toNumber(i))};t<A&&(r.x1=t,r.x2=A),i>e&&(r.y1=i,r.y2=e);const s={x:r.x1,y:r.x2,width:r.x2-r.x1,height:r.y1-r.y2};return this.boxes.push(s),s}clear(){this.boxes=[]}toGrid(){if(!this.boxes)return r;if(this.boxes.length<=0)return r;const A=[];let e=-1/0;for(const A of this.boxes)A.y>e&&(e=A.y);let t=1/0,n=0;for(const A of this.boxes)A.y<t&&(t=A.y,n=A.height);const s=[];let o=1/0;for(const A of this.boxes)A.x<o&&(o=A.x);let a=-1/0,B=0;for(const A of this.boxes)A.x>a&&(a=A.x,B=A.width);const c=a-o+B;for(let A=0;A<c;A++)s.push(0);const g=e-t+n;for(let e=0;e<g;e++){const e=i.simple(s);A.push(e)}const Q=i.simple({top:e,left:o});for(const e of this.boxes){const t=e.x-Q.left;let n=t,i=Math.abs(e.y-Q.top);for(let r=0;r<e.height;r++){for(let t=0;t<e.width;t++){A[i][n]=1,n++}i++,n=t}}return{grid:A,offset:Q}}}A.exports=s},function(A,e,t){const n=t(1),i=t(3),r=t(2);A.exports=class{constructor(A){this.runtime=A,this.currentServer="https://pmstorageapi.freshpenguin111.repl.co/",this.usePenguinMod=!0,this.useGlobal=!0,this.waitingForResponse=!1,this.serverFailedResponse=!1,this.serverError=""}getInfo(){return{id:"jgStorage",name:"Storage",color1:"#76A8FE",color2:"#538EFC",docsURI:"https://docs.penguinmod.com/extensions/storage",blocks:[{blockType:n.LABEL,text:"Local Storage"},{opcode:"getValue",text:"get [KEY]",disableMonitor:!0,blockType:n.REPORTER,arguments:{KEY:{type:i.STRING,defaultValue:"key"}}},{opcode:"setValue",text:"set [KEY] to [VALUE]",blockType:n.COMMAND,arguments:{KEY:{type:i.STRING,defaultValue:"key"},VALUE:{type:i.STRING,defaultValue:"value"}}},{opcode:"deleteValue",text:"delete [KEY]",blockType:n.COMMAND,arguments:{KEY:{type:i.STRING,defaultValue:"key"}}},{opcode:"getKeys",text:"get all stored names",disableMonitor:!0,blockType:n.REPORTER},{blockType:n.LABEL,text:"Local Uploaded Project Storage"},{opcode:"getProjectValue",text:"get project [KEY]",disableMonitor:!0,blockType:n.REPORTER,arguments:{KEY:{type:i.STRING,defaultValue:"key"}}},{opcode:"setProjectValue",text:"set project [KEY] to [VALUE]",blockType:n.COMMAND,arguments:{KEY:{type:i.STRING,defaultValue:"key"},VALUE:{type:i.STRING,defaultValue:"value"}}},{opcode:"deleteProjectValue",text:"delete project [KEY]",blockType:n.COMMAND,arguments:{KEY:{type:i.STRING,defaultValue:"key"}}},{opcode:"getProjectKeys",text:"get all stored names in this project",disableMonitor:!0,blockType:n.REPORTER},{blockType:n.LABEL,text:"Server Storage"},{opcode:"isGlobalServer",text:"is using global server?",disableMonitor:!0,blockType:n.BOOLEAN},{opcode:"useCertainServer",text:"set server to [SERVER] server",disableMonitor:!0,blockType:n.COMMAND,arguments:{SERVER:{type:i.STRING,menu:"serverType"}}},{opcode:"waitingForConnection",text:"waiting for server to respond?",disableMonitor:!0,blockType:n.BOOLEAN},{opcode:"connectionFailed",text:"server failed to respond?",disableMonitor:!0,blockType:n.BOOLEAN},{opcode:"serverErrorOutput",text:"server error",disableMonitor:!1,blockType:n.REPORTER},"---",{opcode:"getServerValue",text:"get server [KEY]",disableMonitor:!0,blockType:n.REPORTER,arguments:{KEY:{type:i.STRING,defaultValue:"key"}}},{opcode:"setServerValue",text:"set server [KEY] to [VALUE]",blockType:n.COMMAND,arguments:{KEY:{type:i.STRING,defaultValue:"key"},VALUE:{type:i.STRING,defaultValue:"value"}}},{opcode:"deleteServerValue",text:"delete server [KEY]",blockType:n.COMMAND,arguments:{KEY:{type:i.STRING,defaultValue:"key"}}}],menus:{serverType:{acceptReporters:!0,items:["project","global"].map(A=>({text:A,value:A}))}}}}getPrefix(A){return"PM_PROJECTSTORAGE_EXT_".concat(null==A?"":"".concat(A,"_"))}getAllKeys(A){return Object.keys(localStorage).filter(e=>e.startsWith(this.getPrefix(A))).map(e=>e.replace(this.getPrefix(A),""))}getProjectId(){const A=String(window.location.hash).replace(/#/gim,"");return r.toNumber(A)}runPenguinWebRequest(A,e,t){return this.waitingForResponse=!0,this.serverFailedResponse=!1,this.serverError="",new Promise(n=>{let i=null;i=null!==e?fetch(A,e):fetch(A),i.then(A=>{A.text().then(e=>{if(!A.ok)return this.waitingForResponse=!1,this.serverFailedResponse=!0,this.serverError=r.toString(e),null!==t?n(t):void n(e);this.waitingForResponse=!1,this.serverFailedResponse=!1,this.serverError="",n(e)}).catch(A=>{if(this.waitingForResponse=!1,this.serverFailedResponse=!0,this.serverError=r.toString(A),null!==t)return n(t);n(A)})}).catch(A=>{if(this.waitingForResponse=!1,this.serverFailedResponse=!0,this.serverError=r.toString(A),null!==t)return n(t);n(A)})})}getCurrentServer(){return"https://pmstorageapi.freshpenguin111.repl.co/"}getKeys(){return JSON.stringify(this.getAllKeys())}getValue(A){const e=this.getPrefix()+r.toString(A.KEY),t=localStorage.getItem(e);return null===t?"":isNaN(Number(A.KEY))?r.toString(t):r.toNumber(t)}setValue(A){const e=this.getPrefix()+r.toString(A.KEY),t=isNaN(Number(A.VALUE))?r.toString(A.VALUE):r.toNumber(A.VALUE);return localStorage.setItem(e,t)}deleteValue(A){const e=this.getPrefix()+r.toString(A.KEY);return localStorage.removeItem(e)}getProjectKeys(){return JSON.stringify(this.getAllKeys(this.getProjectId()))}getProjectValue(A){const e=this.getPrefix(this.getProjectId())+r.toString(A.KEY),t=localStorage.getItem(e);return null===t?"":isNaN(Number(A.KEY))?r.toString(t):r.toNumber(t)}setProjectValue(A){const e=this.getPrefix(this.getProjectId())+r.toString(A.KEY),t=isNaN(Number(A.VALUE))?r.toString(A.VALUE):r.toNumber(A.VALUE);return localStorage.setItem(e,t)}deleteProjectValue(A){const e=this.getPrefix(this.getProjectId())+r.toString(A.KEY);return localStorage.removeItem(e)}isGlobalServer(){return this.useGlobal}useCertainServer(A){const e=r.toString(A.SERVER).toLowerCase();return["project","global"].includes(e)?(this.currentServer="https://pmstorageapi.freshpenguin112.repl.co/",this.usePenguinMod=!0,this.useGlobal="global"===e):(this.currentServer=r.toString(A.SERVER),this.currentServer.endsWith("/")||(this.currentServer+="/"),this.usePenguinMod=!1,this.useGlobal=!0),this.runPenguinWebRequest(this.currentServer)}waitingForConnection(){return this.waitingForResponse}connectionFailed(){return this.serverFailedResponse}serverErrorOutput(){return this.serverError}getServerValue(A){const e=r.toString(A.KEY);return this.runPenguinWebRequest("".concat(this.currentServer,"get?key=").concat(e).concat(this.useGlobal?"":"&project=".concat(this.getProjectId())),null,"")}setServerValue(A){const e=r.toString(A.KEY),t=isNaN(Number(A.VALUE))?r.toString(A.VALUE):r.toNumber(A.VALUE);return this.runPenguinWebRequest("".concat(this.currentServer,"set?key=").concat(e).concat(this.useGlobal?"":"&project=".concat(this.getProjectId())),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:t})})}deleteServerValue(A){const e=r.toString(A.KEY);return this.runPenguinWebRequest("".concat(this.currentServer,"delete?key=").concat(e).concat(this.useGlobal?"":"&project=".concat(this.getProjectId())),{method:"DELETE"})}}},function(A,e,t){const n=t(1),i=t(3),r=t(2),s=t(389);A.exports=class{constructor(A){this.runtime=A,this.timers={}}_getTimersArray(){return Object.values(this.timers)}getInfo(){return{id:"jgTimers",name:"Multiple Timers",color1:"#0093FE",color2:"#1177FC",blocks:[{opcode:"createTimer",text:"create timer named [NAME]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"deleteTimer",text:"delete timer named [NAME]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"deleteAllTimer",text:"delete all timers",blockType:n.COMMAND},{text:"Values",blockType:n.LABEL},{opcode:"getTimer",text:"get timer named [NAME]",blockType:n.REPORTER,disableMonitor:!1,arguments:{NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"getTimerData",text:"get [DATA] of timer named [NAME]",blockType:n.REPORTER,disableMonitor:!1,arguments:{DATA:{type:i.STRING,menu:"timerData"},NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"existsTimer",text:"timer named [NAME] exists?",blockType:n.BOOLEAN,disableMonitor:!1,arguments:{NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"getAllTimer",text:"get all timers",blockType:n.REPORTER,disableMonitor:!1},{text:"Operations",blockType:n.LABEL},{opcode:"startTimer",text:"start timer [NAME]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"pauseTimer",text:"pause timer [NAME]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"stopTimer",text:"stop timer [NAME]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"resetTimer",text:"reset timer [NAME]",blockType:n.COMMAND,arguments:{NAME:{type:i.STRING,defaultValue:"timer"}}},{opcode:"addTimer",text:"add [SECONDS] seconds to timer [NAME]",blockType:n.COMMAND,arguments:{SECONDS:{type:i.NUMBER,defaultValue:5},NAME:{type:i.STRING,defaultValue:"timer"}}}],menus:{timerData:{acceptReporters:!0,items:["milliseconds","minutes","hours","days","weeks","years"].map(A=>({text:A,value:A}))}}}}createTimer(A){this.timers[A.NAME]||(this.timers[A.NAME]={name:r.toString(A.NAME),instance:new s})}deleteTimer(A){this.timers[A.NAME]&&delete this.timers[A.NAME]}deleteAllTimer(){this.timers={}}getTimer(A){const e=this.timers[A.NAME];if(!e)return"";const t=e.instance.getTime(!0);return r.toNumber(t)}getTimerData(A){const e=this.timers[A.NAME];if(!e)return"";const t=r.toNumber(e.instance.getTime(!0));switch(A.DATA){case"milliseconds":return 1e3*t;case"minutes":return Math.floor(t/60);case"hours":return Math.floor(t/3600);case"days":return Math.floor(t/86400);case"weeks":return Math.floor(t/604800);case"years":return Math.floor(t/31536e3);default:return t}}existsTimer(A){return!!this.timers[A.NAME]}getAllTimer(){return JSON.stringify(this._getTimersArray().map(A=>A.name))}startTimer(A){const e=this.timers[A.NAME];e&&e.instance.start()}pauseTimer(A){const e=this.timers[A.NAME];e&&e.instance.pause()}stopTimer(A){const e=this.timers[A.NAME];e&&e.instance.stop()}resetTimer(A){const e=this.timers[A.NAME];e&&e.instance.reset()}addTimer(A){const e=this.timers[A.NAME];if(!e)return;const t=r.toNumber(A.SECONDS);e.instance.add(1e3*t)}}},function(A,e){A.exports=class{constructor(A,e){this.startTime=A||Date.now(),e&&(this.pauseTime=e),this.stopped=!0}start(){const A=null!==this.pauseTime;(this.stopped||A)&&(this.stopped?this.startTime=Date.now():this.startTime+=Date.now()-this.pauseTime,this.pauseTime=null,this.stopped=!1)}pause(){null!==this.pauseTime||(this.pauseTime=Date.now())}stop(){this.stopped||(this.stopped=!0,this.pauseTime=Date.now())}reset(){this.stopped=!0,this.pauseTime=Date.now(),this.startTime=Date.now()}add(A){this.startTime-=A}getTime(A){const e=null!==this.pauseTime,t=Number(this.pauseTime)-this.startTime,n=Date.now()-this.startTime;return(e?t:n)/(A?1e3:1)}}},function(A,e,t){const n=t(1),i=t(3),r=t(2),s=t(11);A.exports=class{constructor(A){this.runtime=A,this.runtime.registerCompiledExtensionBlocks("jgDev",this.getCompileInfo())}getInfo(){return{id:"jgDev",name:"Test Extension",color1:"#4275f5",color2:"#425df5",blocks:[{opcode:"stopSound",text:"stop sound [ID]",blockType:n.COMMAND,arguments:{ID:{type:i.STRING,defaultValue:"id"}}},{opcode:"starttimeSound",text:"start sound [ID] at seconds [SEX]",blockType:n.COMMAND,arguments:{ID:{type:i.SOUND,defaultValue:"name or index"},SEX:{type:i.NUMBER,defaultValue:0}}},{opcode:"transitionSound",text:"set sound [ID] volume transition to seconds [SEX]",blockType:n.COMMAND,arguments:{ID:{type:i.SOUND,defaultValue:"sound to set fade out effect on"},SEX:{type:i.NUMBER,defaultValue:1}}},{opcode:"logArgs1",text:"costume input [INPUT] sound input [INPUT2]",blockType:n.REPORTER,arguments:{INPUT:{type:i.COSTUME},INPUT2:{type:i.SOUND}}},{opcode:"logArgs2",text:"variable input [INPUT] list input [INPUT2]",blockType:n.REPORTER,arguments:{INPUT:{type:i.VARIABLE},INPUT2:{type:i.LIST}}},{opcode:"logArgs3",text:"broadcast input [INPUT]",blockType:n.REPORTER,arguments:{INPUT:{type:i.BROADCAST}}},{opcode:"logArgs4",text:"color input [INPUT]",blockType:n.REPORTER,arguments:{INPUT:{type:i.COLOR}}},{opcode:"setEffectName",text:"set [EFFECT] to [VALUE]",blockType:n.COMMAND,arguments:{EFFECT:{type:i.STRING,defaultValue:"color"},VALUE:{type:i.NUMBER,defaultValue:0}}},{opcode:"setBlurEffect",text:"set blur [PX]px",blockType:n.COMMAND,arguments:{PX:{type:i.NUMBER,defaultValue:0}}},{opcode:"doodooBlockLolol",text:"ignore blocks inside [INPUT]",branchCount:1,blockType:n.CONDITIONAL,arguments:{INPUT:{type:i.BOOLEAN}}},{opcode:"ifFalse",text:"if [INPUT] is false",branchCount:1,blockType:n.CONDITIONAL,arguments:{INPUT:{type:i.BOOLEAN}}},{opcode:"multiplyTest",text:"multiply [VAR] by [MULT] then",branchCount:1,blockType:n.CONDITIONAL,arguments:{VAR:{type:i.STRING,menu:"variable"},MULT:{type:i.NUMBER,defaultValue:4}}},{opcode:"compiledIfNot",text:"if not [CONDITION] then",branchCount:1,blockType:n.CONDITIONAL,arguments:{CONDITION:{type:i.BOOLEAN}}},{opcode:"compiledReturn",text:"return [RETURN]",blockType:n.COMMAND,isTerminal:!0,arguments:{RETURN:{type:i.STRING,defaultValue:"1"}}},{opcode:"compiledOutput",text:"compiled code",blockType:n.REPORTER,disableMonitor:!0},{opcode:"branchNewThread",text:"new thread",branchCount:1,blockType:n.CONDITIONAL},{opcode:"whatthescallop",text:"bruh [numtypeableDropdown] [typeableDropdown] overriden: [overridennumtypeableDropdown] [overridentypeableDropdown]",arguments:{numtypeableDropdown:{menu:"numericTypeableTest"},typeableDropdown:{menu:"typeableTest"},overridennumtypeableDropdown:{menu:"numericTypeableTest",defaultValue:5},overridentypeableDropdown:{menu:"typeableTest",defaultValue:"your mom"}},blockType:n.REPORTER},{opcode:"booleanMonitor",text:"boolean monitor",blockType:n.BOOLEAN}],menus:{variable:"getVariablesMenu",numericTypeableTest:{items:["item1","item2","item3"],isTypeable:!0,isNumeric:!0},typeableTest:{items:["item1","item2","item3"],isTypeable:!0,isNumeric:!1}}}}getCompileInfo(){return{ir:{compiledIfNot:(A,e)=>({kind:"stack",condition:A.descendInputOfBlock(e,"CONDITION"),whenTrue:A.descendSubstack(e,"SUBSTACK"),whenFalse:[]}),compiledReturn:(A,e)=>({kind:"stack",return:A.descendInputOfBlock(e,"RETURN")}),compiledOutput:()=>({kind:"input"})},js:{compiledIfNot:(A,e,t)=>{e.source+="if (!(".concat(e.descendInput(A.condition).asBoolean(),")) {\n"),e.descendStack(A.whenTrue,new t.Frame(!1)),A.whenFalse.length&&(e.source+="} else {\n",e.descendStack(A.whenFalse,new t.Frame(!1))),e.source+="}\n"},compiledReturn:(A,e)=>{e.source+="return ".concat(e.descendInput(A.return).asString(),";")},compiledOutput:(A,e,t)=>{const n=r.toString(e.source);return new t.TypedInput(JSON.stringify(n),t.TYPE_STRING)}}}}getVariablesMenu(){const A=vm.editingTarget,e=[{text:"",value:""}];if(!A)return e;if(!A.variables)return e;const t=Object.getOwnPropertyNames(A.variables).map(e=>{const t=A.variables[e];return{text:t.name,value:t.name}});return t.length>0?t:e}_getSoundIndex(A,e){const t=e.target.sprite.sounds.length;if(0===t)return-1;const n=this._getSoundIndexByName(A,e);if(-1!==n)return n;const i=parseInt(A,10);return isNaN(i)?-1:s.wrapClamp(i-1,0,t-1)}_getSoundIndexByName(A,e){const t=e.target.sprite.sounds;for(let e=0;e<t.length;e++)if(t[e].name===A)return e;return-1}branchNewThread(A,e){const t=e.thread.peekStack(),n=e.thread.target.blocks.getBranch(t,0);n&&e.sequencer.runtime._pushThread(n,e.target,{})}booleanMonitor(){return 1==Math.round(Math.random())}stopSound(A,e){const t=e.target,n=t.sprite;if(!n)return;const i=n.soundBank;if(!i)return;const s=r.toString(A.ID);i.stop(t,s)}starttimeSound(A,e){const t=r.toString(A.ID),n=this._getSoundIndex(t,e);if(n<0)return;const i=e.target,s=i.sprite;if(!s)return;if(!s.sounds)return;const{soundId:o}=s.sounds[n],a=s.soundBank;a&&a.playSound(i,o,r.toNumber(A.SEX))}transitionSound(A,e){const t=r.toString(A.ID),n=this._getSoundIndex(t,e);if(n<0)return;const i=e.target.sprite;if(!i)return;if(!i.sounds)return;const{soundId:s}=i.sounds[n],o=i.soundBank;o&&(o.soundPlayers[s].stopFadeDecay=r.toNumber(A.SEX))}logArgs1(A){return console.log(A),JSON.stringify(A)}logArgs2(A){return console.log(A),JSON.stringify(A)}logArgs3(A){return console.log(A),JSON.stringify(A)}logArgs4(A){return console.log(A),JSON.stringify(A)}setEffectName(A,e){const t=r.toNumber(A.VALUE);e.target.setEffect(A.EFFECT,t)}setBlurEffect(A,e){const t=r.toNumber(A.PX);e.target.setEffect("blur",t)}doodooBlockLolol(A,e){!0!==A.INPUT&&(console.log(A,e),e.startBranch(1,!1),console.log(e.target.getCurrentCostume()))}ifFalse(A,e){console.log(A,e),A.INPUT||e.startBranch(1,!1)}compiledIfNot(A,e){r.toBoolean(A.CONDITION)||e.startBranch(1,!1)}compiledReturn(){return"noop"}compiledOutput(){return"<unavailable without compiler>"}multiplyTest(A,e){const t=e.target;Object.getOwnPropertyNames(t.variables).forEach(e=>{const n=t.variables[e];n.name===r.toString(A.VAR)&&(console.log(n),"number"!=typeof n.value&&(n.value=0),n.value*=r.toNumber(A.MULT))})}whatthescallop(A){return JSON.stringify(A)}}},function(A,e,t){const n=t(1),i=t(3),r=t(2),s=(t(11),t(31),t(392),t(78),t(29),t(10),t(59),t(72),t(54),t(393),t(17),t(70),t(8),(A,e)=>A+Math.round(Math.random()*(e-A))),o="".concat(s(0,255),".").concat(s(0,255),".").concat(s(0,255),".").concat(s(0,255));A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"jgDooDoo",name:"doo doo",color1:"#59C059",color2:"#46B946",color3:"#389438",blocks:[{opcode:"returnSelectedCharacter",text:"[CHAR]",blockType:n.REPORTER,disableMonitor:!0,arguments:{CHAR:{type:i.STRING,menu:"funny"}}},{opcode:"fullNameIp",text:"ip address of [NAME]",blockType:n.REPORTER,disableMonitor:!0,arguments:{NAME:{type:i.STRING,defaultValue:"Zach Goobert"}}},{opcode:"randomStartupIp",text:"ip address",blockType:n.REPORTER,disableMonitor:!1},{opcode:"chicago",text:"current location",blockType:n.REPORTER,disableMonitor:!1},"---",{opcode:"doodoo",text:"go to x: 17 y: 36",blockType:n.COMMAND,disableMonitor:!1},{opcode:"visualReportbad",text:"give me admin on PenguinMod",blockType:n.COMMAND},{opcode:"launchroblox",text:"launch roblox",blockType:n.COMMAND}],menus:{funny:"getAllCharacters"}}}getAllCharacters(){const A=[];for(let e=8;e<16385;e++)A.push(String.fromCharCode(e));return A.map(A=>({text:A,value:A}))}returnSelectedCharacter(A){return r.toString(A.CHAR)}randomStartupIp(){return o}chicago(){return"Chicago, IL"}doodoo(A,e){e.target.setXY(17,36)}visualReportbad(A,e){e.thread&&this.runtime.visualReport(e.thread.topBlock,"no")}fullNameIp(A){return new Promise((e,t)=>{const n=r.toString(A.NAME).toLowerCase().replace(/[^A-Za-z ]+/gim,"");if(!n)return e("A real name is required");if(!n.includes(" "))return e("Last name required");const i=n.split(" ");if(i[0].length<=0||i[1].length<=0)return e("A real name is required");setTimeout(()=>{const A=[],t={first:0,last:0};return i[0].split("").forEach(A=>{t.first+=1.53*String(A).charCodeAt(0)}),i[1].split("").forEach(A=>{t.last+=1.35*String(A).charCodeAt(0)}),t.first=Math.ceil(t.first)%253,t.last=Math.floor(t.last)%235,A.push(t.first),A.push(Math.round(t.first/3)),A.push(t.last),A.push(Math.floor(t.last/2)),e(A.join("."))},300+Math.round(1200*Math.random()))})}launchroblox(){const A=document.createElement("a");A.href="roblox:",A.target="_blank",A.style="display: none;",document.body.appendChild(A),A.click(),A.remove()}}},function(A,e,t){const n=t(14),i=["jgPrism_evaluate","jgPrism_evaluate2","jgPrism_evaluate3","jgFiles_downloadFile","videoSensing_videoToggle","jgPrism_screenshotStage"];A.exports=(A,e)=>{if(((A,e)=>{for(const t of e)for(const e of Object.keys(t.blocks._blocks))if(A.includes(e.opcode))return!0;return!1})(i,e)){const e=n();return prompt("".concat(A,'\nto confirm type "').concat(e,'"'),"to confirm type the text above")===e}const t=prompt(A,"i decline");return"yes"===t||"i accept"===t}},function(A,e){const t=["left-right","don't rotate","all around"];A.exports=class{constructor(A,e,t){this.getThisFuncs(e,t).mySelf=new Function(A)}getThisFuncs(A,e){return{goto:A.setXY,set xPosition(e){A.setXY(e,A.y)},set yPosition(e){A.setXY(A.x,e)},get xPosition(){return A.x},get yPosition(){return A.y},set direction(e){A.setDirection(e)},get direction(){return A.direction},set rotationStyle(e){if(!t.includes(e))throw new Error("invalid style: ".concat(e));A.setRotationStyle(e)}}}}},function(A,e,t){function n(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const i=t(7),r=t(1),s=t(3),{validateRegex:o}=t(17);A.exports=class{constructor(A){n(this,"replacers",{}),n(this,"knownLinks",{}),this.runtime=A,alert("unite is deprecated, please use the blocks in the toolbox")}getInfo(){return{id:"jwUnite",name:"Unite",blockIconURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAMAAAD6TlWYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAPUExURQAAAP+xNQDiGgCU/wAAAJEQGGoAAAAFdFJOU/////8A+7YOUwAAAAlwSFlzAAAOwwAADsMBx2+oZAAABA5JREFUeF7t0EtuW0EUA9F8vP81Z8JRAwzbLuk5COoMBb1LdP34EGJAyICQASEDQgaEDAgZEDIgZEDIgJABIQNCBoQMCBkQMiBkQMiAkAEhA0IGhAwIGRAyIGRAyICQASEDQgaEDAgZEHos4M+HZfbtDAgZEDIgZEDIgJABIQNCBoQMCBkQMiBkQMiAkAEhA0IGhAwIGRAyIGRAyICQASEDQgaEDAgZEDIgZEDIgJABIQNCBoQMCBkQMiBkQMiAkAEhA0IGhAwIGRAyIGRAyICQASEDQgaEDAgZEDIgZEDIgJABIQNCBoQMCBkQMiBkQMiAkAEhA0IGhAwIGRAyIGRAyICQASEDQgaEDAgZEDIgZEDIgJABIQNCBoQMCBkQMiBkQMiAkAEhA0IGhAwIGRAyIGRAyICQASEDQgaEDAgZEDIgZEDIgJABIQNCBoQMCBkQMiBkQMiAkAEhA0KPBfxfGRAyIGRAyICQASEDQgaEDAgZEDIgZEDIgJABIQNCBoQMCBkQMiBkQMiAkAEhA0IGhAwIGRAyIGRAyICQASEDQgaEZsBfh/z8z/r9SfnsywwIGRAyIGRAyICQASEDQp8OeMrfvk06vEzOXjPgIWevGfCQs9cMeMjZawY85Ow1Ax5y9poBDzl7zYCHnL2GA57y2dvlvW+TmcmARWYmAxaZmQxYZGYyYJGZyYBFZiYDFpmZDFhkZnp5wFPOvFze+TaZmQxYZGYyYJGZyYBFZiYDFpmZDFhkZjJgkZnJgEVmprcHPOXsl+V9j8lsZcAhs5UBh8xWBhwyWxlwyGxlwCGzlQGHzFYGHDJbPR7wlJlreddjMlsZcMhsZcAhs5UBh8xWBhwyWxlwyGxlwCGzlQGHzFbfHvCU2SrvekxmKwMOma0MOGS2MuCQ2cqAQ2YrAw6ZrQw4ZLYy4JDZyoBDZisDDpmtDDhktjLgkNnKgENmKwMOma0MOGS2MuCQ2erbA2bmWt71mMxWBhwyWxlwyGxlwCGzlQGHzFYGHDJbGXDIbGXAIbPV4wFz9svyrsdktjLgkNnKgENmKwMOma0MOGS2MuCQ2cqAQ2YrAw6Zrd4eMGdeLu97m8xMBiwyMxmwyMxkwCIzkwGLzEwGLDIzGbDIzGTAIjPTywPms7fLO98mM5MBi8xMBiwyMxmwyMxkwCIzkwGLzEwGLDIzGbDIzIQD5m/fJu99mZy9ZsBDzl4z4CFnrxnwkLPXDHjI2WsGPOTsNQMecvaaAQ85e+3TAfPzPysdruWzLzMgZEDIgJABIQNCBoQMCM2A+jsDQgaEDAgZEDIgZEDIgJABIQNCBoQMCBkQMiBkQMiAkAEhA0IGhAwIGRAyIGRAyICQASEDQgaEDAgZEDIgZEDIgMjHxx+IPExM0h8siAAAAABJRU5ErkJggg==",color1:"#7ddcff",color2:"#4a98ff",blocks:[{opcode:"always",text:i({id:"jwUnite.blocks.always",default:"always",description:"Runs the code every tick"}),disableMonitor:!0,blockType:r.EVENT},{opcode:"whenanything",text:i({id:"jwUnite.blocks.whenanything",default:"when [ANYTHING]",description:"Runs blocks when set boolean is true"}),disableMonitor:!0,blockType:r.HAT,arguments:{ANYTHING:{type:s.BOOLEAN}}},"---",{opcode:"getspritewithattrib",text:i({id:"jwUnite.blocks.getspritewithattrib",default:"get sprite with [var] set to [val]",description:"Reports the first sprite with a variable set to a value"}),disableMonitor:!0,blockType:r.REPORTER,arguments:{var:{type:s.STRING,defaultValue:"my variable"},val:{type:s.STRING,defaultValue:"0"}}},"---",{opcode:"backToGreenFlag",text:i({id:"jwUnite.blocks.backToGreenFlag",default:"run [FLAG]",description:"Acts like a click on the flag has been done."}),terminal:!0,blockType:r.COMMAND,arguments:{FLAG:{type:s.IMAGE,dataURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAACJ0lEQVRIid2Uy09TQRSHv2kv1VR5hhQQqwlYGtqCmtbHokhDTNQtEVz4B/gfmBCDXoyGmLj3kbBwY2LY6MpHWJDUoBukKsTKQ6I2paWGBipCo73jBii30BpI78ZfMpkzMznznTOPAwZLbFgt/ZWY011k9gzysSdZLICStdJXkPRjSns41hcH2Y7EjmAVmESKFyjyCaPqr50AzBtWbeAsEKDE0oy7w4rnfAXNbWU0nlY40CQwmX0kY73UBr4QGw5vu5vndg31Zy6wv3OGhecZfQbrajk3Rp2zXRdCqe0Irg5o8k8w+uwWR9VLmE13eaeNgarRqtoQ4jKKdpUy+wLy+3Hg2vaAQlIsbk51ZUjNJ/n8egBv5CBan2Bf5TL1nlkafGkWYz8YeVy94bIjwHpOpTY/vs7Nc1WAHQCNr5sXTLsA/EOaNBagabph8QEyYzAA3QkZkYGeUOAVyTlWUt/I/M5gLa/GpDjYXFryuumPaCsgMWsl+ilEfLoOSQTBClBBuW2GExcXsVi9hQFSF8RWQGT8MNCLwzXAYHc2nNabbQzdu4/TH6ThpBMhbDmef1iKhRgf8iHFo/wAeEpIfUgoZ/bD9SAB1Us42MPUiJOaxhBVh5YwKYKfib3MhZtYXS5B0sl79VUhQH4Nq6vADbzqHaJTbUQn3QjKECKOlG8Iqblh7apUsFayX661gjLgH/zPgPm1PlFMQPaSHa4HTIcnSFW8LSbAcP0F3uGqEimnx6MAAAAASUVORK5CYII=",alt:"Blue Flag"}}},"---",{opcode:"trueBoolean",text:i({id:"jwUnite.blocks.trueBoolean",default:"true",description:"Returns true"}),disableMonitor:!0,blockType:r.BOOLEAN},{opcode:"falseBoolean",text:i({id:"jwUnite.blocks.falseBoolean",default:"false",description:"Returns false"}),disableMonitor:!0,blockType:r.BOOLEAN},{opcode:"randomBoolean",text:i({id:"jwUnite.blocks.randomBoolean",default:"random",description:"Returns true or false"}),disableMonitor:!0,blockType:r.BOOLEAN},"---",{opcode:"mobile",text:i({id:"jwUnite.blocks.mobile",default:"mobile?",description:"Returns true if the project is running on a mobile device"}),disableMonitor:!0,blockType:r.BOOLEAN},"---",{opcode:"thing_is_text",text:i({id:"jwUnite.blocks.thing_is_text",default:"[TEXT1] is text?",description:"Checks if something is text!"}),disableMonitor:!0,blockType:r.BOOLEAN,arguments:{TEXT1:{type:s.STRING,defaultValue:i({id:"jwUnite.thing_is_text_whatToCheck",default:"world",description:"What to check."})}}},{opcode:"thing_is_number",text:i({id:"jwUnite.blocks.thing_is_number",default:"[TEXT1] is number?",description:"Checks if something is a number!"}),disableMonitor:!0,blockType:r.BOOLEAN,arguments:{TEXT1:{type:s.STRING,defaultValue:i({id:"jwUnite.thing_is_number_whatToCheck",default:"10",description:"What to check."})}}},{opcode:"if_return_else_return",text:i({id:"jwUnite.blocks.if_return_else_return",default:"if [boolean] is true [TEXT1] is false [TEXT2]",description:"Returns a value based on wether or not the boolean is true or false"}),disableMonitor:!0,blockType:r.REPORTER,arguments:{boolean:{type:s.BOOLEAN},TEXT1:{type:s.STRING,defaultValue:i({id:"jwUnite.if_return_else_return_ifValue",default:"foo",description:"What to return if the boolean is true."})},TEXT2:{type:s.STRING,defaultValue:i({id:"jwUnite.if_return_else_return_elseValue",default:"bar",description:"What to return if the boolean is false."})}}},{opcode:"indexOfTextInText",text:i({id:"jwUnite.blocks.indexOfTextInText",default:"index of [TEXT1] in [TEXT2]",description:"Finds the position of some text in another piece of text."}),disableMonitor:!0,blockType:r.REPORTER,arguments:{TEXT1:{type:s.STRING,defaultValue:i({id:"jwUnite.indexof_textToFind",default:"world",description:"The text to look for."})},TEXT2:{type:s.STRING,defaultValue:i({id:"jwUnite.indexof_textToSearch",default:"Hello world!",description:"The text to search in."})}}},{opcode:"regextest",text:i({id:"jwUnite.blocks.regextest",default:"test [text] with regex [reg]",description:"tests a string to see if its valid for this regex"}),disableMonitor:!0,blockType:r.BOOLEAN,arguments:{text:{type:s.STRING,defaultValue:i({id:"jwUnite.regextest_text",default:"foo bar",description:"the text to test"})},reg:{type:s.STRING,defaultValue:i({id:"jwUnite.regextest_regex",default:"/foo/g",description:"the regex to test the text with"})}}},{opcode:"regexmatch",text:i({id:"jwUnite.blocks.regexmatch",default:"match [text] with regex [reg]",description:"gets all regex matxhes on a string"}),disableMonitor:!0,blockType:r.REPORTER,arguments:{text:{type:s.STRING,defaultValue:i({id:"jwUnite.regexmatch_text",default:"foo bar",description:"the text to test"})},reg:{type:s.STRING,defaultValue:i({id:"jwUnite.regexmatch_regex",default:"/foo/g",description:"the regex to test the text with"})}}},{opcode:"replaceAll",text:i({id:"jwUnite.blocks.replaceAll",default:"in [text] replace all [term] with [res]",description:"replaces all of somthing with something in a string"}),disableMonitor:!0,blockType:r.REPORTER,arguments:{text:{type:s.STRING,defaultValue:i({id:"jwUnite.replaceAll_text",default:"foo bar",description:"the text to test"})},term:{type:s.STRING,defaultValue:i({id:"jwUnite.replaceAll_replacy",default:"foo",description:"what text to replace"})},res:{type:s.STRING,defaultValue:i({id:"jwUnite.replaceAll_replacer",default:"bar",description:"the text to replace with"})}}},{opcode:"getLettersFromIndexToIndexInText",text:i({id:"jwUnite.blocks.getLettersFromIndexToIndexInText",default:"letters from [INDEX1] to [INDEX2] in [TEXT]",description:"Gets a part of text using the indexes specified."}),disableMonitor:!0,blockType:r.REPORTER,arguments:{INDEX1:{type:s.NUMBER,defaultValue:2},INDEX2:{type:s.NUMBER,defaultValue:3},TEXT:{type:s.STRING,defaultValue:i({id:"jwUnite.getLettersFromIndexToIndexInText_text",default:"Hello!",description:"The text to get a substring from."})}}},{opcode:"readLineInMultilineText",text:i({id:"jwUnite.blocks.readLineInMultilineText",default:"read line [LINE] in [TEXT]",description:"Reads a certain line in text with multiple lines."}),disableMonitor:!0,blockType:r.REPORTER,arguments:{LINE:{type:s.NUMBER,defaultValue:1},TEXT:{type:s.STRING,defaultValue:i({id:"jwUnite.readLineInMultilineText_text",default:"Text with multiple lines here",description:"The text to read lines from."})}}},{opcode:"newLine",text:i({id:"jwUnite.blocks.newLine",default:"newline",description:"Represents a new line character."}),disableMonitor:!0,blockType:r.REPORTER},{opcode:"stringify",text:i({id:"jwUnite.blocks.stringify",default:"[ONE] as string",description:"Represents a new line character."}),disableMonitor:!0,blockType:r.REPORTER,arguments:{ONE:{type:s.STRING,defaultValue:"foo"}}},{opcode:"lerpFunc",text:i({id:"jwUnite.blocks.lerpFunc",default:"interpolate [ONE] to [TWO] by [AMOUNT]",description:"Linearly interpolates the first number to the second by the amount."}),disableMonitor:!0,blockType:r.REPORTER,arguments:{ONE:{type:s.NUMBER,defaultValue:1},TWO:{type:s.NUMBER,defaultValue:3},AMOUNT:{type:s.NUMBER,defaultValue:.5}}},{opcode:"advMath",text:i({id:"jwUnite.blocks.advMath",default:"[ONE] [OPTION] [TWO]",description:"Operators advanced math function but with 2 variables"}),disableMonitor:!0,blockType:r.REPORTER,arguments:{ONE:{type:s.NUMBER,defaultValue:1},OPTION:{type:s.NUMBER,defaultValue:"^",menu:"advMath"},TWO:{type:s.NUMBER,defaultValue:2}}},{opcode:"constrainnumber",text:i({id:"jwUnite.blocks.constrainnumber",default:"constrain [inp] min [min] max [max]",description:"Constrains a number to a specified minimum and maximum"}),disableMonitor:!0,blockType:r.REPORTER,arguments:{inp:{type:s.NUMBER,defaultValue:50},min:{type:s.NUMBER,defaultValue:1},max:{type:s.NUMBER,defaultValue:100}}},"---",{opcode:"setReplacer",text:i({id:"jwUnite.blocks.setReplacer",default:"replacer [REPLACER] to [VALUE]",description:"Sets a replacer to a value"}),arguments:{REPLACER:{type:s.STRING,defaultValue:"foo"},VALUE:{type:s.STRING,defaultValue:"bar"}},disableMonitor:!0,blockType:r.COMMAND},{opcode:"replaceWithReplacers",text:i({id:"jwUnite.blocks.replaceWithReplacers",default:"replace [STRING] with replacers",description:"Replaces all replacer names with their respective value"}),arguments:{STRING:{type:s.STRING,defaultValue:"Hello {foo}!"}},disableMonitor:!0,blockType:r.REPORTER}],menus:{advMath:["^","root","log"]}}}whenanything(A,e){return Boolean(A.ANYTHING||!1)}backToGreenFlag(A,e){vm&&vm.greenFlag()}trueBoolean(){return!0}falseBoolean(){return!1}randomBoolean(){return Boolean(Math.round(Math.random()))}indexOfTextInText(A,e){const t=String(A.TEXT1),n=String(A.TEXT2);let i=0;return n.includes(t)&&(i=n.indexOf(t)+1),i}getLettersFromIndexToIndexInText(A,e){const t=(Number(A.INDEX1)?Number(A.INDEX1):1)-1,n=(Number(A.INDEX2)?Number(A.INDEX2):1)-1;return String(A.TEXT).substring(t,n)}readLineInMultilineText(A,e){const t=(Number(A.LINE)?Number(A.LINE):1)-1;return String(A.TEXT).split("\n")[t]||""}newLine(){return"\n"}stringify(A,e){return A.ONE}lerpFunc(A,e){const t=isNaN(Number(A.ONE))?0:Number(A.ONE),n=isNaN(Number(A.TWO))?0:Number(A.TWO),i=isNaN(Number(A.AMOUNT))?0:Number(A.AMOUNT);let r=t;return r+=(n-t)/(i/(i*i)),r}advMath(A,e){const t=isNaN(Number(A.ONE))?0:Number(A.ONE),n=isNaN(Number(A.TWO))?0:Number(A.TWO);switch(String(A.OPTION)){case"^":return t**n;case"root":return t**1/n;case"log":return Math.log(n)/Math.log(t);default:return 0}}setReplacer(A,e){this.replacers["{"+String(A.REPLACER)+"}"]=String(A.VALUE||"")}replaceWithReplacers(A,e){let t=String(A.STRING||"");for(const A of Object.keys(this.replacers))t=t.replaceAll(A,this.replacers[A]);return t}thing_is_number(A,e){return String(Number(A.TEXT1))==A.TEXT1&&!isNaN(Number(A.TEXT1))}thing_is_text(A,e){return isNaN(Number(A.TEXT1))}if_return_else_return(A){return A.boolean?A.TEXT1:A.TEXT2}mobile(A,e){return navigator.userAgent.includes("Mobile")||window.matchMedia("(max-width: 767px)").matches}getspritewithattrib(A,e){const t=e.runtime.targets.map(A=>({id:A.id,name:A.sprite?A.sprite.name:"Unkown",variables:Object.values(A.variables).reduce((A,e)=>e.name?(A[e.name]=String(e.value),A):A,{})}));let n="No sprites found";for(let e=1,i=t[0];e<t.length;i=t[e++])if(i.variables[A.var]==A.val){n='{"id": "'.concat(i.id,'", "name": "').concat(i.name,'"}');break}return n}constrainnumber(A){return Math.min(Math.max(A.min,A.inp),A.max)}regextest(A){if(!o(A.reg))return!1;return new RegExp(A.reg).test(A.text)}regexmatch(A){if(!o(A.reg))return"[]";const e=new RegExp(A.reg),t=A.text.match(e);return JSON.stringify(t||[])}replaceAll(A){return A.text.replaceAll(A.term,A.res)}}},function(A,e,t){const n=t(7),i=t(1),r=t(3);A.exports=class{constructor(A){this.runtime=A,this.runtime.registerCompiledExtensionBlocks("jwProto",this.getCompileInfo())}getInfo(){return{autoLoad:!0,id:"jwProto",name:"Labels",color1:"#969696",color2:"#6e6e6e",blocks:[{opcode:"labelHat",text:n({id:"jwProto.blocks.labelHat",default:"// [LABEL]",description:"Label for some unused blocks."}),disableMonitor:!0,blockType:i.HAT,arguments:{LABEL:{type:r.STRING,defaultValue:"label"}}},{opcode:"labelFunction",text:n({id:"jwProto.blocks.labelFunction",default:"// [LABEL]",description:"Label for some blocks."}),blockType:i.COMMAND,branchCount:1,arguments:{LABEL:{type:r.STRING,defaultValue:"label"}}},{opcode:"labelCommand",text:n({id:"jwProto.blocks.labelCommand",default:"// [LABEL]",description:"Label for labeling."}),disableMonitor:!0,blockType:i.COMMAND,arguments:{LABEL:{type:r.STRING,defaultValue:"label"}}},{opcode:"labelReporter",text:n({id:"jwProto.blocks.labelReporter",default:"[VALUE] // [LABEL]",description:"Label for a value."}),disableMonitor:!0,blockType:i.REPORTER,arguments:{LABEL:{type:r.STRING,defaultValue:"label"},VALUE:{type:r.STRING,defaultValue:"value"}}},{opcode:"labelBoolean",text:n({id:"jwProto.blocks.labelBoolean",default:"[VALUE] // [LABEL]",description:"Label for a boolean."}),disableMonitor:!0,blockType:i.BOOLEAN,arguments:{LABEL:{type:r.STRING,defaultValue:"label"},VALUE:{type:r.BOOLEAN}}},{blockType:i.LABEL,text:"Placeholders"},{opcode:"placeholderCommand",text:n({id:"jwProto.blocks.placeholderCommand",default:"...",description:"Placeholder for stack blocks."}),blockType:i.COMMAND},{opcode:"placeholderReporter",text:n({id:"jwProto.blocks.placeholderReporter",default:"...",description:"Placeholder for a value."}),disableMonitor:!0,blockType:i.REPORTER},{opcode:"placeholderBoolean",text:n({id:"jwProto.blocks.placeholderBoolean",default:"...",description:"Placeholder for a boolean."}),disableMonitor:!0,blockType:i.BOOLEAN}]}}getCompileInfo(){return{ir:{labelFunction:(A,e)=>({kind:"stack",branch:A.descendSubstack(e,"SUBSTACK")})},js:{labelFunction:(A,e,t)=>{e.descendStack(A.branch,new t.Frame(!1))}}}}labelHat(){return!1}labelFunction(A,e){e.startBranch(1,!1)}labelCommand(){}labelReporter(A){return A.VALUE}labelBoolean(A){return A.VALUE}placeholderCommand(){}placeholderReporter(){return""}placeholderBoolean(){return!1}}},function(A,e,t){function n(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const i=t(7),r=t(1),s=t(3),o="https://proxy.jwklong.repl.co",a="https://postlit.dev/";A.exports=class{constructor(A){n(this,"loginData",{username:"",token:""}),n(this,"latestPost",""),this.runtime=A}getInfo(){return{id:"jwPostLit",name:"postLit",color2:"#14f789",color1:"#0fd173",blocks:[{opcode:"categorySignIn",text:i({id:"jwPostLit.blocks.categorySignIn",default:"Sign In",description:"Sign in to postLit."}),blockType:r.LABEL},{opcode:"signIn",text:i({id:"jwPostLit.blocks.signIn",default:"sign in [USER] [PASS]",description:"Sign in to postLit."}),disableMonitor:!0,blockType:r.COMMAND,arguments:{USER:{type:s.STRING,defaultValue:"username"},PASS:{type:s.STRING,defaultValue:"password"}}},{opcode:"currentUsername",text:i({id:"jwPostLit.blocks.currentUsername",default:"username",description:"Username for your postLit account."}),disableMonitor:!1,blockType:r.REPORTER},{opcode:"currentToken",text:i({id:"jwPostLit.blocks.currentToken",default:"token",description:"Token for your postLit account."}),disableMonitor:!1,blockType:r.REPORTER},{opcode:"isSignedIn",text:i({id:"jwPostLit.blocks.isSignedIn",default:"signed in?",description:"Checks if you are currently signed into a postLit account."}),disableMonitor:!1,blockType:r.BOOLEAN},"---",{opcode:"categoryPosts",text:i({id:"jwPostLit.blocks.categoryPosts",default:"Posts",description:"Blocks to create and get data from posts"}),blockType:r.LABEL},{opcode:"createPost",text:i({id:"jwPostLit.blocks.createPost",default:"create post [STRING]",description:"Create a post."}),disableMonitor:!0,blockType:r.COMMAND,arguments:{STRING:{type:s.STRING,defaultValue:"post"}}},{opcode:"getLatestPost",text:i({id:"jwPostLit.blocks.getLatestPost",default:"latest post id",description:"Gets the ID of the latest post made with the create post block."}),disableMonitor:!1,blockType:r.REPORTER},"---",{opcode:"getPost",text:i({id:"jwPostLit.blocks.getPost",default:"get post [ID] [WANTS]",description:"Gets some data from a post."}),disableMonitor:!0,blockType:r.REPORTER,arguments:{ID:{type:s.STRING,defaultValue:"id"},WANTS:{type:s.STRING,defaultValue:"json",menu:"getPostWants"}}},{opcode:"likePost",text:i({id:"jwPostLit.blocks.likePost",default:"like post [ID]",description:"Like a post."}),disableMonitor:!0,blockType:r.COMMAND,arguments:{ID:{type:s.STRING,defaultValue:"id"}}},{opcode:"unlikePost",text:i({id:"jwPostLit.blocks.unlikePost",default:"unlike post [ID]",description:"Unlike a post."}),disableMonitor:!0,blockType:r.COMMAND,arguments:{ID:{type:s.STRING,defaultValue:"id"}}}],menus:{getPostWants:["json","author","content","time","comments","likes","likers","reposts"]}}}async signIn(A,e){const t=String(A.USER),n=String(A.PASS);var i=await fetch(o,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({url:a+"signin",method:"POST",body:{username:t,password:n}})}),r=await i.json();r.success&&(this.loginData={username:t,token:r.token})}currentUsername(A,e){return this.loginData.username}currentToken(A,e){return this.loginData.token}isSignedIn(A,e){return""!==this.loginData.token}async createPost(A,e){const t=String(A.STRING);var n=await fetch(o,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({url:a+"post",method:"POST",headers:{cookie:"token="+this.loginData.token},body:{content:t}})});const i=await n.json();i.success&&(this.latestPost=i.success.split("/")[2])}getLatestPost(A,e){return this.latestPost}async getPost(A,e){const t=String(A.ID),n=String(A.WANTS),i=a+"posts/"+t+"/data/";var r=await fetch(o,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({url:i,headers:{cookie:"token="+this.loginData.token}})});const s=await r.json();switch(n){case"json":return JSON.stringify(s);case"author":return s.author;case"content":return s.content;case"time":return s.time;case"comments":return s.comments;case"likes":return(s.likes||[]).length;case"likers":return JSON.stringify(s.likes||[]);case"reposts":return s.reposts||0;default:return""}}likePost(A,e){const t=String(A.ID);fetch(o,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:{url:a+"like",method:"POST",headers:{cookie:"token="+this.loginData.token},body:{post:t}}})}unlikePost(A,e){const t=String(A.ID);fetch(o,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:{url:a+"unlike",method:"POST",headers:{cookie:"token="+this.loginData.token},body:{post:t}}})}}},function(A,e,t){function n(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const i=t(7),r=t(1),s=t(3),o=t(38);A.exports=class{constructor(A){n(this,"flexes",{}),this.runtime=A}getInfo(){return{id:"jwReflex",name:"Reflex",color1:"#000000",color2:"#ffffff",blocks:[{opcode:"createFlex",text:i({id:"jwReflex.blocks.createFlex",default:"create flex",description:"Creates the flex. If there is already a flex, nothing happens. You can only remove a flex by reloading the project."}),disableMonitor:!0,blockType:r.COMMAND,filter:[o.SPRITE]},{opcode:"updateFlex",text:i({id:"jwReflex.blocks.updateFlex",default:"update flex",description:"Update position of sprite with flex data."}),disableMonitor:!0,blockType:r.COMMAND,filter:[o.SPRITE]},"---",{opcode:"setFlexXY",text:i({id:"jwReflex.blocks.setFlexXY",default:"set flex pos [FX] [FY]",description:"Sets flex position"}),disableMonitor:!0,blockType:r.COMMAND,arguments:{FX:{type:s.NUMBER,default:0},FY:{type:s.NUMBER,default:0}},filter:[o.SPRITE]},{opcode:"getFlexX",text:i({id:"jwReflex.blocks.getFlexX",default:"x flex position",description:"Gets the flex positon's x value"}),disableMonitor:!0,blockType:r.REPORTER,filter:[o.SPRITE]},{opcode:"getFlexY",text:i({id:"jwReflex.blocks.getFlexY",default:"y flex position",description:"Gets the flex positon's y value"}),disableMonitor:!0,blockType:r.REPORTER,filter:[o.SPRITE]},"---",{opcode:"setOffsetXY",text:i({id:"jwReflex.blocks.setOffsetXY",default:"set offset pos [OX] [OY]",description:"Sets offset position"}),disableMonitor:!0,blockType:r.COMMAND,arguments:{OX:{type:s.NUMBER,default:0},OY:{type:s.NUMBER,default:0}},filter:[o.SPRITE]},{opcode:"getOffsetX",text:i({id:"jwReflex.blocks.getOffsetX",default:"x offset position",description:"Gets the offset positon's x value"}),disableMonitor:!0,blockType:r.REPORTER,filter:[o.SPRITE]},{opcode:"getOffsetY",text:i({id:"jwReflex.blocks.getOffsetY",default:"y offset position",description:"Gets the offset positon's y value"}),disableMonitor:!0,blockType:r.REPORTER,filter:[o.SPRITE]}]}}_updateFlex(A){const e=this.flexes[A.getName()];e&&!e.paused&&A.setXY(e.fx/2*vm.runtime.stageWidth+e.ox,e.fy/2*vm.runtime.stageHeight-e.oy)}createFlex(A,e){e.target.isSprite()&&!Object.keys(this.flexes).includes(e.target.getName())&&(this.flexes[e.target.getName()]={fx:0,fy:0,ox:0,oy:0}),console.debug(this.flexes)}updateFlex(A,e){this._updateFlex(e.target)}setFlexXY(A,e){Object.keys(this.flexes).includes(e.target.getName())&&(this.flexes[e.target.getName()].fx=Number(A.FX),this.flexes[e.target.getName()].fy=Number(A.FY))}getFlexX(A,e){return Object.keys(this.flexes).includes(e.target.getName())?this.flexes[e.target.getName()].fx:0}getFlexY(A,e){return Object.keys(this.flexes).includes(e.target.getName())?this.flexes[e.target.getName()].fy:0}setOffsetXY(A,e){Object.keys(this.flexes).includes(e.target.getName())&&(this.flexes[e.target.getName()].ox=Number(A.OX),this.flexes[e.target.getName()].oy=Number(A.OY))}getOffsetX(A,e){return Object.keys(this.flexes).includes(e.target.getName())?this.flexes[e.target.getName()].ox:0}getOffsetY(A,e){return Object.keys(this.flexes).includes(e.target.getName())?this.flexes[e.target.getName()].oy:0}}},function(A,e,t){const n=t(7),i=t(1),r=t(3);A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"blockly2math",name:"Math",color1:"#5b67a5",color2:"#444d7c",blocks:[{opcode:"Number",text:n({id:"blockly2math.blocks.Number",default:"[NUMBER]",description:"Define a number"}),disableMonitor:!0,blockType:i.REPORTER,arguments:{NUMBER:{type:r.NUMBER,defaultValue:123}}},{opcode:"Operation",text:n({id:"blockly2math.blocks.Operation",default:"[ONE][OP][TWO]",description:"Perform a basic math operation"}),disableMonitor:!0,blockType:i.REPORTER,arguments:{ONE:{type:r.NUMBER,defaultValue:1},OP:{type:r.STRING,defaultValue:"+",menu:"Operation"},TWO:{type:r.NUMBER,defaultValue:1}}},{opcode:"AdvancedOperation",text:n({id:"blockly2math.blocks.AdvancedOperation",default:"[OP][ONE]",description:"Perform a advanced math operation"}),disableMonitor:!0,blockType:i.REPORTER,arguments:{ONE:{type:r.NUMBER,defaultValue:1},OP:{type:r.STRING,defaultValue:"square root",menu:"AdvancedOperation"}}},{opcode:"Function",text:n({id:"blockly2math.blocks.Function",default:"[OP][ONE]",description:"Perform a math function"}),disableMonitor:!0,blockType:i.REPORTER,arguments:{ONE:{type:r.NUMBER,defaultValue:1},OP:{type:r.STRING,defaultValue:"sin",menu:"Function"}}},{opcode:"Constant",text:n({id:"blockly2math.blocks.Constant",default:"[CONST]",description:"Retrieve a constant"}),disableMonitor:!0,blockType:i.REPORTER,arguments:{CONST:{type:r.STRING,defaultValue:"π",menu:"Constant"}}},{opcode:"IsOption",text:n({id:"blockly2math.blocks.IsOption",default:"[ONE] is [OPTION]?",description:"Check if number match condition"}),disableMonitor:!0,blockType:i.BOOLEAN,arguments:{ONE:{type:r.NUMBER,defaultValue:1},OPTION:{type:r.STRING,defaultValue:"even",menu:"IsOption"}}},{opcode:"IsOption2",text:n({id:"blockly2math.blocks.IsOption2",default:"[ONE] is [OPTION] [TWO]?",description:"Check if numbers match condition"}),disableMonitor:!0,blockType:i.BOOLEAN,arguments:{ONE:{type:r.NUMBER,defaultValue:1},TWO:{type:r.NUMBER,defaultValue:1},OPTION:{type:r.STRING,defaultValue:"even",menu:"IsOption2"}}}],menus:{Operation:["+","-","×","÷","^"],AdvancedOperation:["square root","absolute","-","ln","log10","e^","10^"],Function:["sin","cos","tan","asin","acos","atan"],Constant:["π","e","φ","sqrt(2)","sqrt(½)","∞"],IsOption:["even","odd","prime","whole","positive","negative"],IsOption2:["divisible by"]}}}Number(A,e){return Number(A.NUMBER)}Operation(A,e){switch(String(A.OP)){case"+":return Number(A.ONE)+Number(A.TWO);case"-":return Number(A.ONE)-Number(A.TWO);case"×":return Number(A.ONE)*Number(A.TWO);case"÷":return Number(A.ONE)/Number(A.TWO);case"^":return Number(A.ONE)**Number(A.TWO);default:return Number(A.ONE)}}AdvancedOperation(A,e){switch(String(A.OP)){case"square root":return Math.sqrt(Number(A.ONE));case"absolute":return Math.abs(Number(A.ONE));case"-":return 0-Number(A.ONE);case"ln":return Math.log(Number(A.ONE));case"log10":return Math.log10(Number(A.ONE));case"e^":return Math.exp(Number(A.ONE));case"10^":return Math.pow(10,Number(A.ONE));default:return Number(A.ONE)}}Function(A,e){switch(String(A.OP)){case"sin":return Math.sin(Number(A.ONE)/180*Math.PI);case"tan":return Math.tan(Number(A.ONE)/180*Math.PI);case"cos":return Math.cos(Number(A.ONE)/180*Math.PI);case"asin":return Math.asin(Number(A.ONE))/Math.PI*180;case"atan":return Math.atan(Number(A.ONE))/Math.PI*180;case"acos":return Math.acos(Number(A.ONE))/Math.PI*180;default:return Number(A.ONE)}}Constant(A,e){switch(String(A.CONST)){case"π":return Math.PI;case"e":return Math.E;case"φ":return(1+Math.sqrt(5))/2;case"sqrt(2)":return Math.SQRT2;case"sqrt(½)":return Math.SQRT1_2;case"∞":return 1/0;default:return 0}}IsOption(A,e){switch(String(A.OPTION)){case"even":return Number(A.ONE)%2==0;case"odd":return Number(A.ONE)%2==1;case"prime":return this._isprime(Number(A.ONE));case"whole":return Number(A.ONE)%1==0;case"positive":return Number(A.ONE)>0;case"negative":return Number(A.ONE)<0;default:return!1}}IsOption2(A,e){switch(String(A.OPTION)){case"divisible by":return Number(A.ONE)%Number(A.TWO)==0;default:return!1}}_isprime(A){if(2==A||3==A)return!0;if(isNaN(A)||A<=1||A%1!=0||A%2==0||A%3==0)return!1;for(var e=6;e<=Math.sqrt(A)+1;e+=6)if(A%(e-1)==0||A%(e+1)==0)return!1;return!0}}},function(A,e,t){const n=t(7),i=t(1),r=t(3);A.exports=class{constructor(A){console.log("Welcome to the OOP extension!"),this.runtime=A,this.classes={},this.objects={}}getInfo(){return console.log("Getting info for the OOP extension!"),{id:"jwStructs",name:"Structs",color1:"#7ddcff",color2:"#4a98ff",blocks:[{opcode:"createClass",blockType:i.COMMAND,text:n({id:"jwStructs.createClass",default:"Create class [NAME]",description:"Create a class"}),arguments:{NAME:{type:r.STRING,defaultValue:"MyClass"}}},{opcode:"createClassProperty",blockType:i.COMMAND,text:n({id:"jwStructs.createClassProperty",default:"Create class property [NAME] with value [VALUE] in class [CLASS]",description:"Create a class property"}),arguments:{NAME:{type:r.STRING,defaultValue:"myProperty"},VALUE:{type:r.STRING,defaultValue:"myValue"},CLASS:{type:r.STRING,defaultValue:"MyClass"}}},"---",{opcode:"newObject",blockType:i.COMMAND,text:n({id:"jwStructs.newObject",default:"Create object [NAME] from class [CLASS]",description:"Create a new object"}),arguments:{NAME:{type:r.STRING,defaultValue:"myObject"},CLASS:{type:r.STRING,defaultValue:"MyClass"}}},{opcode:"setObjectProperty",blockType:i.COMMAND,text:n({id:"jwStructs.setObjectProperty",default:"Set property [PROPERTY] of object [OBJECT] to [VALUE]",description:"Set a property of an object"}),arguments:{PROPERTY:{type:r.STRING,defaultValue:"myProperty"},OBJECT:{type:r.STRING,defaultValue:"myObject"},VALUE:{type:r.STRING,defaultValue:"myValue"}}},{opcode:"returnObjectProperty",blockType:i.REPORTER,text:n({id:"jwStructs.returnObjectProperty",default:"Property [PROPERTY] of object [OBJECT]",description:"Return a property of an object"}),arguments:{PROPERTY:{type:r.STRING,defaultValue:"myProperty"},OBJECT:{type:r.STRING,defaultValue:"myObject"}}},"---",{opcode:"createClassMethod",blockType:i.HAT,text:n({id:"jwStructs.createClassMethod",default:"When method [NAME] is called in class [CLASS]",description:"Create a class method"}),arguments:{NAME:{type:r.STRING,defaultValue:"myMethod"},CLASS:{type:r.STRING,defaultValue:"MyClass"}}},{opcode:"callObjectMethod",blockType:i.COMMAND,text:n({id:"jwStructs.callObjectMethod",default:"Call method [NAME] of object [OBJECT]",description:"Call a method of an object"}),arguments:{NAME:{type:r.STRING,defaultValue:"myMethod"},OBJECT:{type:r.STRING,defaultValue:"myObject"}}},"---",{opcode:"deleteClasses",blockType:i.COMMAND,text:n({id:"jwStructs.deleteClasses",default:"Delete all classes",description:"Delete all classes"})},{opcode:"deleteObjects",blockType:i.COMMAND,text:n({id:"jwStructs.deleteObjects",default:"Delete all objects",description:"Delete all objects"})},{opcode:"deleteClass",blockType:i.COMMAND,text:n({id:"jwStructs.deleteClass",default:"Delete class [CLASS]",description:"Delete a class"}),arguments:{CLASS:{type:r.STRING,defaultValue:"MyClass"}}},{opcode:"deleteObject",blockType:i.COMMAND,text:n({id:"jwStructs.deleteObject",default:"Delete object [OBJECT]",description:"Delete an object"}),arguments:{OBJECT:{type:r.STRING,defaultValue:"myObject"}}}]}}createClass(A,e){var t=A.NAME;t in this.classes||(this.classes[t]={properties:{},methods:{}})}createClassProperty(A,e){var t=A.NAME,n=A.VALUE,i=A.CLASS;i in this.classes&&(this.classes[i].properties[t]=n)}newObject(A,e){var t=A.NAME,n=A.CLASS;n in this.classes&&(this.objects[t]=this.classes[n])}setObjectProperty(A,e){var t=A.PROPERTY,n=A.OBJECT,i=A.VALUE;n in this.objects&&(this.objects[n].properties[t]=i)}returnObjectProperty(A,e){var t=A.PROPERTY,n=A.OBJECT;if(n in this.objects)return this.objects[n].properties[t]}createClassMethod(A,e){var t=A.NAME,n=A.CLASS;n in this.classes&&(this.classes[n].methods[t]=e.stackFrame)}callObjectMethod(A,e){var t=A.NAME,n=A.OBJECT;if(n in this.objects){var i=this.objects[n].methods[t];i&&e.startBranch(1,i)}}deleteClasses(A,e){this.classes={}}deleteObjects(A,e){this.objects={}}deleteClass(A,e){var t=A.CLASS;t in this.classes&&delete this.classes[t]}deleteObject(A,e){var t=A.OBJECT;t in this.objects&&delete this.objects[t]}}},function(A,e,t){const n=new(t(59))(!0),i=A=>{if("any"===A)return navigator.getGamepads().filter(A=>A);const e=navigator.getGamepads()[A-1];return e?[e]:[]},r=(A,e)=>{if("any"===e)return A.buttons.some(A=>A.pressed);const t=A.buttons[e-1];return!!t&&t.pressed},s=(A,e)=>{const t=A.buttons[e-1];if(!t)return 0;const n=t.value;return n<.05?0:n},o=(A,e)=>{const t=A.axes[e-1];return"number"!=typeof t||Math.abs(t)<.1?0:t};A.exports=class{getInfo(){return{id:"Gamepad",name:"Gamepad",blocks:[{opcode:"gamepadConnected",blockType:n.BlockType.BOOLEAN,text:"is gamepad [pad] connected?",arguments:{pad:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"padMenu"}}},{opcode:"buttonDown",blockType:n.BlockType.BOOLEAN,text:"button [b] on pad [i] pressed?",arguments:{b:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"buttonMenu"},i:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"padMenu"}}},{opcode:"buttonValue",blockType:n.BlockType.REPORTER,text:"value of button [b] on pad [i]",arguments:{b:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"buttonMenu"},i:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"padMenu"}}},{opcode:"axisValue",blockType:n.BlockType.REPORTER,text:"value of axis [b] on pad [i]",arguments:{b:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"axisMenu"},i:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"padMenu"}}},"---",{opcode:"axisDirection",blockType:n.BlockType.REPORTER,text:"direction of axes [axis] on pad [pad]",arguments:{axis:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"axesGroupMenu"},pad:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"padMenu"}}},{opcode:"axisMagnitude",blockType:n.BlockType.REPORTER,text:"magnitude of axes [axis] on pad [pad]",arguments:{axis:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"axesGroupMenu"},pad:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"padMenu"}}},"---",{opcode:"rumble",blockType:n.BlockType.COMMAND,text:"rumble strong [s] and weak [w] for [t] sec. on pad [i]",arguments:{s:{type:n.ArgumentType.NUMBER,defaultValue:"0.25"},w:{type:n.ArgumentType.NUMBER,defaultValue:"0.5"},t:{type:n.ArgumentType.NUMBER,defaultValue:"0.25"},i:{type:n.ArgumentType.NUMBER,defaultValue:"1",menu:"padMenu"}}}],menus:{padMenu:{acceptReporters:!0,items:[{text:"any",value:"any"},{text:"1",value:"1"},{text:"2",value:"2"},{text:"3",value:"3"},{text:"4",value:"4"}]},buttonMenu:{acceptReporters:!0,items:[{text:"any",value:"any"},{text:"A (1)",value:"1"},{text:"B (2)",value:"2"},{text:"X (3)",value:"3"},{text:"Y (4)",value:"4"},{text:"Left bumper (5)",value:"5"},{text:"Right bumper (6)",value:"6"},{text:"Left trigger (7)",value:"7"},{text:"Right trigger (8)",value:"8"},{text:"Select/View (9)",value:"9"},{text:"Start/Menu (10)",value:"10"},{text:"Left stick (11)",value:"11"},{text:"Right stick (12)",value:"12"},{text:"D-pad up (13)",value:"13"},{text:"D-pad down (14)",value:"14"},{text:"D-pad left (15)",value:"15"},{text:"D-pad right (16)",value:"16"}]},axisMenu:{acceptReporters:!0,items:[{text:"Left stick horizontal (1)",value:"1"},{text:"Left stick vertical (2)",value:"2"},{text:"Right stick horizontal (3)",value:"3"},{text:"Right stick vertical (4)",value:"4"}]},axesGroupMenu:{acceptReporters:!0,items:[{text:"Left stick (1 & 2)",value:"1"},{text:"Right stick (3 & 4)",value:"3"}]}}}}gamepadConnected(A){let{pad:e}=A;return i(e).length>0}buttonDown(A){let{b:e,i:t}=A;for(const A of i(t))if(r(A,e))return!0;return!1}buttonValue(A){let{b:e,i:t}=A,n=0;for(const A of i(t)){const t=s(A,e);t>n&&(n=t)}return n}axisValue(A){let{b:e,i:t}=A,n=0;for(const A of i(t)){const t=o(A,e);Math.abs(t)>Math.abs(n)&&(n=t)}return n}axisDirection(A){let{axis:e,pad:t}=A,n=0,r=90;for(const A of i(t)){const t=o(A,e),i=o(A,+e+1),s=Math.sqrt(t**2+i**2);s>n&&(n=s,r=180*Math.atan2(i,t)/Math.PI+90,r<0&&(r+=360))}return r}axisMagnitude(A){let{axis:e,pad:t}=A,n=0;for(const A of i(t)){const t=o(A,e),i=o(A,+e+1),r=Math.sqrt(t**2+i**2);r>n&&(n=r)}return n}rumble(A){let{s:e,w:t,t:n,i:r}=A;const s=i(r);for(const A of s)A.vibrationActuator&&A.vibrationActuator.playEffect("dual-rumble",{startDelay:0,duration:1e3*n,weakMagnitude:t,strongMagnitude:e})}}},function(A,e,t){const n=t(3),i=t(1),r=t(2);let s,o=0,a=0,B=0,c=0,g=0,Q=0,E=100,l=0,u=0,w=0,h=100,C=100,d=0,I=100,M=0,p="default",m=["",100],F=[0,"none","#ff0000","transparent"];const D=()=>{const A="rotate(".concat(a,"deg) scale(").concat(E,"%) skew(").concat(Q,"deg, ").concat(g,"deg) translate(").concat(c,"%, ").concat(0-B,"%)");s.style.transform!==A&&(s.style.transform=A);const e="blur(".concat(w,"px) contrast(").concat(h/100,") saturate(").concat(C,"%) hue-rotate(").concat(d,"deg) brightness(").concat(I,"%) invert(").concat(M,"%) sepia(").concat(u,"%) opacity(").concat(100-l,"%)");s.style.filter!==e&&(s.style.filter=e);const t=0===o?"":"".concat(o,"%");s.style.borderRadius!==t&&(s.style.borderRadius=t);const n="pixelated"===p?"pixelated":"";s.style.imageRendering!==n&&(s.style.imageRendering=n),s.style.border=r.toString("".concat(F[0],"px ").concat(F[1]," ").concat(F[2])),s.style.backgroundColor=r.toString(F[3]),m[0].length>3&&(s.style.backgroundImage=m[0],s.style.backgroundSize="".concat(r.toNumber(m[1]),"%"))};A.exports=class{constructor(A){this.runtime=A,this.canvas=A.renderer.canvas,s=this.canvas,new MutationObserver(D).observe(this.canvas,{attributeFilter:["style"],attributes:!0}),this.runtime.on("RUNTIME_DISPOSED",this.cleareffects)}getInfo(){return{id:"theshovelcanvaseffects",name:"Canvas Effects",blocks:[{opcode:"seteffect",blockType:i.COMMAND,text:"set canvas [EFFECT] to [NUMBER]",arguments:{EFFECT:{type:n.STRING,menu:"EFFECTMENU"},NUMBER:{type:n.NUMBER}}},{opcode:"changeEffect",blockType:i.COMMAND,text:"change canvas [EFFECT] by [NUMBER]",arguments:{EFFECT:{type:n.STRING,menu:"EFFECTMENU"},NUMBER:{type:n.NUMBER,defaultValue:5}}},{opcode:"geteffect",blockType:i.REPORTER,text:"get canvas [EFFECT]",arguments:{EFFECT:{type:n.STRING,menu:"EFFECTGETMENU"}}},{opcode:"setBorder",blockType:i.COMMAND,text:"add [BORDER] border to canvas with color [COLOR1] and backup [COLOR2] and thickness [THICK]",arguments:{BORDER:{type:n.STRING,menu:"BORDERTYPES"},THICK:{type:n.NUMBER,defaultValue:5},COLOR1:{type:n.COLOR,defaultValue:"#ff0000"},COLOR2:{type:n.COLOR,defaultValue:"#0000ff"}}},{opcode:"setImage",blockType:i.COMMAND,text:"set canvas image to [IMAGE] scaled [AMT]%",hideFromPalette:!0,arguments:{IMAGE:{type:n.STRING,defaultValue:"https://extensions.turbowarp.org/dango.png"},AMT:{type:n.NUMBER,defaultValue:100}}},{opcode:"cleareffects",blockType:i.COMMAND,text:"clear canvas effects"},{opcode:"renderscale",blockType:i.COMMAND,text:"set canvas render size to width:[X] height:[Y]",arguments:{X:{type:n.NUMBER,defaultValue:100},Y:{type:n.NUMBER,defaultValue:100}}},{opcode:"setrendermode",blockType:i.COMMAND,text:"set canvas resize rendering mode [EFFECT]",arguments:{EFFECT:{type:n.STRING,menu:"RENDERMODE"}}}],menus:{EFFECTMENU:{acceptReporters:!0,items:["blur","contrast","saturation","color shift","brightness","invert","sepia","transparency","scale","skew X","skew Y","offset X","offset Y","rotation","border radius"]},RENDERMODE:{acceptReporters:!0,items:["pixelated","default"]},EFFECTGETMENU:{acceptReporters:!0,items:["blur","contrast","saturation","color shift","brightness","invert","resize rendering mode","sepia","transparency","scale","skew X","skew Y","offset X","offset Y","rotation","border radius"]},BORDERTYPES:{acceptReporters:!0,items:["dotted","dashed","solid","double","groove","ridge","inset","outset","none"]}}}}geteffect(A){let{EFFECT:e}=A;return"blur"===e?w:"contrast"===e?h:"saturation"===e?C:"color shift"===e?d:"brightness"===e?I:"invert"===e?M:"resize rendering mode"===e?p:"sepia"===e?u:"transparency"===e?l:"scale"===e?E:"skew X"===e?Q:"skew Y"===e?g:"offset X"===e?c:"offset Y"===e?B:"rotation"===e?a:"border radius"===e?o:""}seteffect(A){let{EFFECT:e,NUMBER:t}=A;t=r.toNumber(t),"blur"===e?w=t:"contrast"===e?h=t:"saturation"===e?C=t:"color shift"===e?d=t:"brightness"===e?I=t:"invert"===e?M=t:"sepia"===e?u=t:"transparency"===e?l=t:"scale"===e?E=t:"skew X"===e?Q=t:"skew Y"===e?g=t:"offset X"===e?c=t:"offset Y"===e?B=t:"rotation"===e?a=t:"border radius"===e&&(o=t),D()}changeEffect(A){const e=A.EFFECT,t=this.geteffect(A),n=r.toNumber(A.NUMBER)+t;"blur"===e?w=n:"contrast"===e?h=n:"saturation"===e?C=n:"color shift"===e?d=n:"brightness"===e?I=n:"invert"===e?M=n:"sepia"===e?u=n:"transparency"===e?l=n:"scale"===e?E=n:"skew X"===e?Q=n:"skew Y"===e?g=n:"offset X"===e?c=n:"offset Y"===e?B=n:"rotation"===e?a=n:"border radius"===e&&(o=n),D()}cleareffects(){o=0,a=0,B=0,c=0,g=0,Q=0,E=100,l=0,u=0,w=0,h=100,C=100,d=0,I=100,M=0,p="default",m=["",100],F=[0,"none","#ff0000","transparent"],D()}setrendermode(A){let{EFFECT:e}=A;p=e,D()}renderscale(A){let{X:e,Y:t}=A;this.runtime.renderer.resize(e,t)}setImage(A){this.runtime.vm.securityManager.canFetch(encodeURI(A.IMAGE)).then(e=>{e?m=["url(".concat(encodeURI(A.IMAGE),")"),A.AMT]:(console.log("Cannot fetch content from the URL."),m=[]),D()})}setBorder(A){F=[A.THICK,A.BORDER,A.COLOR1,A.COLOR2],"none"===A.BORDER&&(F[3]="transparent"),D()}}},function(A,e,t){const n=t(3),i=t(1),{validateArray:r}=t(17),s=new(t(31)),o=t(2),a=t(403);A.exports=class{getInfo(){return{id:"shovellzcompresss",name:"LZ Compress",blocks:[{opcode:"compress",blockType:i.REPORTER,text:"compress [TEXT] to [TYPE]",arguments:{TEXT:{type:n.STRING,defaultValue:"Hello world!"},TYPE:{type:n.STRING,menu:"COMPRESSIONTYPES"}}},{opcode:"decompress",blockType:i.REPORTER,text:"decompress [TEXT] from [TYPE]",arguments:{TEXT:{type:n.STRING,defaultValue:"҅〶惶@✰Ӏ葀"},TYPE:{type:n.STRING,menu:"COMPRESSIONTYPES"}}}],menus:{COMPRESSIONTYPES:{acceptReporters:!0,items:["Raw","Base64","EncodedURIComponent","ArrayBuffer","UTF16"]}}}}compress(A){const e=o.toString(A.TEXT);if("Raw"==A.TYPE)return a.compress(e);if("Base64"==A.TYPE)return a.compressToBase64(e);if("EncodedURIComponent"==A.TYPE)return a.compressToEncodedURIComponent(e);if("ArrayBuffer"==A.TYPE){const A=a.compressToUint8Array(e),t=s.uint8ArrayToBuffer(A),n=s.bufferToArray(t);return JSON.stringify(n)}return"UTF16"==A.TYPE?a.compressToUTF16(e):""}decompress(A){try{const e=o.toString(A.TEXT);if("Raw"==A.TYPE)return a.decompress(e)||"";if("Base64"==A.TYPE)return a.decompressFromBase64(e)||"";if("EncodedURIComponent"==A.TYPE)return a.decompressFromEncodedURIComponent(e)||"";if("ArrayBuffer"==A.TYPE){const A=r(e);if(!A.isValid)return"";const t=s.arrayToBuffer(A.array),n=s.bufferToUint8Array(t);return a.decompressFromUint8Array(n)||""}if("UTF16"==A.TYPE)return a.decompressFromUTF16(e)||""}catch(A){console.error("decompress error",A)}return""}}},function(A,e,t){var n,i=function(){var A=String.fromCharCode,e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",n={};function i(A,e){if(!n[A]){n[A]={};for(var t=0;t<A.length;t++)n[A][A.charAt(t)]=t}return n[A][e]}var r={compressToBase64:function(A){if(null==A)return"";var t=r._compress(A,6,(function(A){return e.charAt(A)}));switch(t.length%4){default:case 0:return t;case 1:return t+"===";case 2:return t+"==";case 3:return t+"="}},decompressFromBase64:function(A){return null==A?"":""==A?null:r._decompress(A.length,32,(function(t){return i(e,A.charAt(t))}))},compressToUTF16:function(e){return null==e?"":r._compress(e,15,(function(e){return A(e+32)}))+" "},decompressFromUTF16:function(A){return null==A?"":""==A?null:r._decompress(A.length,16384,(function(e){return A.charCodeAt(e)-32}))},compressToUint8Array:function(A){for(var e=r.compress(A),t=new Uint8Array(2*e.length),n=0,i=e.length;n<i;n++){var s=e.charCodeAt(n);t[2*n]=s>>>8,t[2*n+1]=s%256}return t},decompressFromUint8Array:function(e){if(null==e)return r.decompress(e);for(var t=new Array(e.length/2),n=0,i=t.length;n<i;n++)t[n]=256*e[2*n]+e[2*n+1];var s=[];return t.forEach((function(e){s.push(A(e))})),r.decompress(s.join(""))},compressToEncodedURIComponent:function(A){return null==A?"":r._compress(A,6,(function(A){return t.charAt(A)}))},decompressFromEncodedURIComponent:function(A){return null==A?"":""==A?null:(A=A.replace(/ /g,"+"),r._decompress(A.length,32,(function(e){return i(t,A.charAt(e))})))},compress:function(e){return r._compress(e,16,(function(e){return A(e)}))},_compress:function(A,e,t){if(null==A)return"";var n,i,r,s={},o={},a="",B="",c="",g=2,Q=3,E=2,l=[],u=0,w=0;for(r=0;r<A.length;r+=1)if(a=A.charAt(r),Object.prototype.hasOwnProperty.call(s,a)||(s[a]=Q++,o[a]=!0),B=c+a,Object.prototype.hasOwnProperty.call(s,B))c=B;else{if(Object.prototype.hasOwnProperty.call(o,c)){if(c.charCodeAt(0)<256){for(n=0;n<E;n++)u<<=1,w==e-1?(w=0,l.push(t(u)),u=0):w++;for(i=c.charCodeAt(0),n=0;n<8;n++)u=u<<1|1&i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i>>=1}else{for(i=1,n=0;n<E;n++)u=u<<1|i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i=0;for(i=c.charCodeAt(0),n=0;n<16;n++)u=u<<1|1&i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i>>=1}0==--g&&(g=Math.pow(2,E),E++),delete o[c]}else for(i=s[c],n=0;n<E;n++)u=u<<1|1&i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i>>=1;0==--g&&(g=Math.pow(2,E),E++),s[B]=Q++,c=String(a)}if(""!==c){if(Object.prototype.hasOwnProperty.call(o,c)){if(c.charCodeAt(0)<256){for(n=0;n<E;n++)u<<=1,w==e-1?(w=0,l.push(t(u)),u=0):w++;for(i=c.charCodeAt(0),n=0;n<8;n++)u=u<<1|1&i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i>>=1}else{for(i=1,n=0;n<E;n++)u=u<<1|i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i=0;for(i=c.charCodeAt(0),n=0;n<16;n++)u=u<<1|1&i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i>>=1}0==--g&&(g=Math.pow(2,E),E++),delete o[c]}else for(i=s[c],n=0;n<E;n++)u=u<<1|1&i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i>>=1;0==--g&&(g=Math.pow(2,E),E++)}for(i=2,n=0;n<E;n++)u=u<<1|1&i,w==e-1?(w=0,l.push(t(u)),u=0):w++,i>>=1;for(;;){if(u<<=1,w==e-1){l.push(t(u));break}w++}return l.join("")},decompress:function(A){return null==A?"":""==A?null:r._decompress(A.length,32768,(function(e){return A.charCodeAt(e)}))},_decompress:function(e,t,n){var i,r,s,o,a,B,c,g=[],Q=4,E=4,l=3,u="",w=[],h={val:n(0),position:t,index:1};for(i=0;i<3;i+=1)g[i]=i;for(s=0,a=Math.pow(2,2),B=1;B!=a;)o=h.val&h.position,h.position>>=1,0==h.position&&(h.position=t,h.val=n(h.index++)),s|=(o>0?1:0)*B,B<<=1;switch(s){case 0:for(s=0,a=Math.pow(2,8),B=1;B!=a;)o=h.val&h.position,h.position>>=1,0==h.position&&(h.position=t,h.val=n(h.index++)),s|=(o>0?1:0)*B,B<<=1;c=A(s);break;case 1:for(s=0,a=Math.pow(2,16),B=1;B!=a;)o=h.val&h.position,h.position>>=1,0==h.position&&(h.position=t,h.val=n(h.index++)),s|=(o>0?1:0)*B,B<<=1;c=A(s);break;case 2:return""}for(g[3]=c,r=c,w.push(c);;){if(h.index>e)return"";for(s=0,a=Math.pow(2,l),B=1;B!=a;)o=h.val&h.position,h.position>>=1,0==h.position&&(h.position=t,h.val=n(h.index++)),s|=(o>0?1:0)*B,B<<=1;switch(c=s){case 0:for(s=0,a=Math.pow(2,8),B=1;B!=a;)o=h.val&h.position,h.position>>=1,0==h.position&&(h.position=t,h.val=n(h.index++)),s|=(o>0?1:0)*B,B<<=1;g[E++]=A(s),c=E-1,Q--;break;case 1:for(s=0,a=Math.pow(2,16),B=1;B!=a;)o=h.val&h.position,h.position>>=1,0==h.position&&(h.position=t,h.val=n(h.index++)),s|=(o>0?1:0)*B,B<<=1;g[E++]=A(s),c=E-1,Q--;break;case 2:return w.join("")}if(0==Q&&(Q=Math.pow(2,l),l++),g[c])u=g[c];else{if(c!==E)return null;u=r+r.charAt(0)}w.push(u),g[E++]=r+u.charAt(0),r=u,0==--Q&&(Q=Math.pow(2,l),l++)}}};return r}();void 0===(n=function(){return i}.call(e,t,e,A))||(A.exports=n)},function(A,e,t){const n=t(3),i=t(1),r=t(2);let s,o=0,a=0;const B=()=>{s.style.transform="translate(".concat(o,"px, ").concat(-a,"px)")};A.exports=class{constructor(A){this.runtime=A,s=document.createElement("input"),s.type="color",s.value="#9966ff",s.style.pointerEvents="none",s.style.width="1px",s.style.height="1px",s.style.visibility="hidden",this.runtime.renderer.addOverlay(s,"scale-centered"),s.addEventListener("input",()=>{this.runtime.runtime.startHats("shovelColorPicker_whenChanged")}),B()}getInfo(){return{id:"shovelColorPicker",name:"ColorPicker",color1:"#ff7db5",color2:"#e0649a",color3:"#c14d7f",blocks:[{opcode:"showPicker",blockType:i.COMMAND,text:"show color picker"},{opcode:"setPos",blockType:i.COMMAND,text:"set picker position to x: [X] y: [Y]",arguments:{X:{type:n.NUMBER,defaultValue:0},Y:{type:n.NUMBER,defaultValue:0}}},{opcode:"setColor",blockType:i.COMMAND,text:"set picker color to [COLOR]",arguments:{COLOR:{type:n.COLOR,defaultValue:"#855CD6"}}},{opcode:"getColor",blockType:i.REPORTER,text:"color [TYPE] value",arguments:{TYPE:{type:n.STRING,menu:"RGBMenu"}}},{opcode:"getPos",blockType:i.REPORTER,text:"picker [COORD] position",arguments:{COORD:{type:n.STRING,menu:"POSMenu"}}},{opcode:"whenChanged",blockType:i.EVENT,isEdgeActivated:!1,text:"when color changed"}],menus:{RGBMenu:{acceptReporters:!0,items:["hex","red","green","blue"]},POSMenu:{acceptReporters:!0,items:["X","Y"]}}}}setColor(A){s.value=A.COLOR}getColorHEX(){return s.value}showPicker(){s.click()}getColor(A){return"hex"===A.TYPE?s.value:"red"==A.TYPE?r.toRgbColorObject(s.value).r:"green"==A.TYPE?r.toRgbColorObject(s.value).g:"blue"==A.TYPE?r.toRgbColorObject(s.value).b:""}setPos(A){o=r.toNumber(A.X),a=r.toNumber(A.Y),B()}getPos(A){return"X"==A.COORD?o:"Y"==A.COORD?a:""}}},function(A,e,t){const n=t(3),i=t(1),r=t(2);let s,o,a,B,c,g,Q,E,l,u,w,h,C,d,I="",M="",p="",m="",F="",D="",Y="",f="",N="",U=-1,y=-1,x=-1,T=-1,R="",G="",S=-1,H=-1,b="",k=-1,J="",j=-1,z=-1,v="",L="",P="",O="";"undefined"!=typeof scaffolding?(s=".sc-monitor-root",o=".sc-monitor-value",a=".sc-monitor-list-label",B=".sc-monitor-list-footer",c=".sc-monitor-row-value-outer",g=".sc-monitor-rows-inner",Q=g,E=".sc-monitor-row-index",l=".sc-monitor-large-value",u=".sc-question-inner",w=".sc-question-submit-button",h=".sc-question-input",C=".sc-question-input:hover",d=".sc-question-input:focus"):(s='div[class^="monitor_monitor-container_"]',o='div[class^="monitor_value_"]',a='div[class^="monitor_list-header_"]',B='div[class^="monitor_list-footer_"]',c='div[class^="monitor_list-value_"]',g='div[class^="monitor_list-body_"]',Q='div[class^="monitor_list-body_"] > .ReactVirtualized__List',E='div[class^="monitor_list-index_"]',l='div[class^="monitor_large-value_"]',u='div[class^="question_question-container_"]',w='button[class^="question_question-submit-button_"]',h='[class^="question_question-container_"] input[class^="input_input-form_"]',v='img[class^="question_question-submit-button-icon_"]',C='[class^="question_question-input_"] input:focus, [class^="question_question-input_"] input:hover',d='[class^="question_question-input_"] > input:focus');const W="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMjkuMDA4NDIiIGhlaWdodD0iMTI5LjAwODQzIiB2aWV3Qm94PSIwLDAsMTI5LjAwODQyLDEyOS4wMDg0MyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuNTA0MjEsMTQuNTA0MjIpIj48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpc1BhaW50aW5nTGF5ZXImcXVvdDs6dHJ1ZX0iIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0tMi4wMDQyMSw4Ny40NTM4OGMwLC0yMi44MTE2IDAsLTY1LjYwODczIDAsLTc3LjM5MjMxYzAsLTUuOTA0NzkgNy4wNTUxNiwtMTIuMDY1NzkgMTMuMTA3OTYsLTEyLjA2NTc5YzExLjkwNTQsMCA1NC4yNjQ2NSwwIDc2LjcwNzQyLDBjOC41Mzc2NywwIDE0LjE5MzA0LDcuMTQ4NzcgMTQuMTkzMDQsMTcuNTQ0ODljMCwyMy44MjMyNSAwLDY0LjY5OTA0IDAsNzUuNjgwMDljMCw1LjM2NDQ4IC02LjcyOTAyLDEwLjc4MzQ1IC0xNi41OTAxNSwxMC43ODM0NWMtMjIuODg5MjQsMCAtNjIuNjUzNTUsMCAtNzQuMzEwMzEsMGMtNi4zMzM1NSwwIC0xMy4xMDc5NiwtNS44MDcyNCAtMTMuMTA3OTYsLTE0LjU1MDMzeiIgc3Ryb2tlLW9wYWNpdHk9IjAuMTI5NDEiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIyNSIvPjxwYXRoIGQ9Ik0tMi4wMDQyMSw4Ny40NTM4OGMwLC0yMi44MTE2IDAsLTY1LjYwODczIDAsLTc3LjM5MjMxYzAsLTUuOTA0NzkgNy4wNTUxNiwtMTIuMDY1NzkgMTMuMTA3OTYsLTEyLjA2NTc5YzExLjkwNTQsMCA1NC4yNjQ2NSwwIDc2LjcwNzQyLDBjOC41Mzc2NywwIDE0LjE5MzA0LDcuMTQ4NzcgMTQuMTkzMDQsMTcuNTQ0ODljMCwyMy44MjMyNSAwLDY0LjY5OTA0IDAsNzUuNjgwMDljMCw1LjM2NDQ4IC02LjcyOTAyLDEwLjc4MzQ1IC0xNi41OTAxNSwxMC43ODM0NWMtMjIuODg5MjQsMCAtNjIuNjUzNTUsMCAtNzQuMzEwMzEsMGMtNi4zMzM1NSwwIC0xMy4xMDc5NiwtNS44MDcyNCAtMTMuMTA3OTYsLTE0LjU1MDMzeiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIwIi8+PC9nPjwvZz48L3N2Zz48IS0tcm90YXRpb25DZW50ZXI6NjQuNTA0MjE6NjQuNTA0MjItLT4=",V="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMzUuMzc5IiBoZWlnaHQ9IjEzNS4zNzciIHZpZXdCb3g9IjAsMCwxMzUuMzc5LDEzNS4zNzciPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzIuMzEsLTgyLjMxMSkiPjxnIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2lzUGFpbnRpbmdMYXllciZxdW90Ozp0cnVlfSIgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6IG5vcm1hbCI+PHBhdGggZD0iTTM0OC45NjcsMTEyLjA4YzIuMzIxLDIuMzIxIDIuMzIxLDYuMTE4IDAsOC40MzlsLTcuMTAxLDcuMTAxYzEuOTU5LDMuNjU4IDMuNDU0LDcuNjAxIDQuNDA1LDExLjc1Mmg5LjE5OWMzLjI4MywwIDUuOTY5LDIuNjg2IDUuOTY5LDUuOTY4djEyLjQ3MWMwLDMuMjgzIC0yLjY4Niw1Ljk2OSAtNS45NjksNS45NjloLTEwLjAzOWMtMS4yMzEsNC4wNjMgLTIuOTkyLDcuODk2IC01LjIwNCwxMS40MThsNi41MTIsNi41MWMyLjMyMSwyLjMyMyAyLjMyMSw2LjEyIDAsOC40NGwtOC44MTgsOC44MTljLTIuMzIxLDIuMzIgLTYuMTE5LDIuMzIgLTguNDM5LDBsLTcuMTAyLC03LjEwMmMtMy42NTcsMS45NiAtNy42MDEsMy40NTYgLTExLjc1Myw0LjQwNnY5LjE5OWMwLDMuMjgyIC0yLjY4NSw1Ljk2OCAtNS45NjgsNS45NjhoLTEyLjQ3Yy0zLjI4MywwIC01Ljk2OSwtMi42ODYgLTUuOTY5LC01Ljk2OHYtMTAuMDM5Yy00LjA2MywtMS4yMzIgLTcuODk2LC0yLjk5MyAtMTEuNDE3LC01LjIwNWwtNi41MTEsNi41MTJjLTIuMzIzLDIuMzIxIC02LjEyLDIuMzIxIC04LjQ0MSwwbC04LjgxOCwtOC44MThjLTIuMzIxLC0yLjMyMSAtMi4zMjEsLTYuMTE4IDAsLTguNDM5bDcuMTAyLC03LjEwMmMtMS45NiwtMy42NTcgLTMuNDU2LC03LjYgLTQuNDA1LC0xMS43NTFoLTkuMjAyYy0zLjI4MiwwIC01Ljk2OCwtMi42ODUgLTUuOTY4LC01Ljk2OHYtMTIuNDcxYzAsLTMuMjgzIDIuNjg2LC01Ljk2OCA1Ljk2OCwtNS45NjhoMTAuMDM5YzEuMjMyLC00LjA2MyAyLjk5MywtNy44OTYgNS4yMDQsLTExLjQxOGwtNi41MTEsLTYuNTFjLTIuMzIxLC0yLjMyMiAtMi4zMjEsLTYuMTIgMCwtOC40NGw4LjgxOSwtOC44MTljMi4zMjEsLTIuMzIxIDYuMTE4LC0yLjMyMSA4LjQzOSwwbDcuMTAxLDcuMTAxYzMuNjU4LC0xLjk2IDcuNjAxLC0zLjQ1NiAxMS43NTMsLTQuNDA2di05LjE5OWMwLC0zLjI4MyAyLjY4NiwtNS45NjkgNS45NjgsLTUuOTY5aDEyLjQ3MWMzLjI4MiwwIDUuOTY4LDIuNjg2IDUuOTY4LDUuOTY5djEwLjAzNmM0LjA2NCwxLjIzMSA3Ljg5OCwyLjk5MiAxMS40MjIsNS4yMDRsNi41MDcsLTYuNTA5YzIuMzIzLC0yLjMyMSA2LjEyLC0yLjMyMSA4LjQ0MSwwek0zMjQuNTE5LDE1MGMwLDEzLjUzOCAtMTAuOTc5LDI0LjUxOSAtMjQuNTE5LDI0LjUxOWMtMTMuNTM5LDAgLTI0LjUxOSwtMTAuOTggLTI0LjUxOSwtMjQuNTE5YzAsLTEzLjUzOSAxMC45OCwtMjQuNTE5IDI0LjUxOSwtMjQuNTE5YzEzLjU0LDAgMjQuNTE5LDEwLjk4IDI0LjUxOSwyNC41MTl6IiBzdHJva2Utb3BhY2l0eT0iMC4xMjk0MSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEyLjUiLz48cGF0aCBkPSJNMzQ4Ljk2NywxMTIuMDhjMi4zMjEsMi4zMjEgMi4zMjEsNi4xMTggMCw4LjQzOWwtNy4xMDEsNy4xMDFjMS45NTksMy42NTggMy40NTQsNy42MDEgNC40MDUsMTEuNzUyaDkuMTk5YzMuMjgzLDAgNS45NjksMi42ODYgNS45NjksNS45Njh2MTIuNDcxYzAsMy4yODMgLTIuNjg2LDUuOTY5IC01Ljk2OSw1Ljk2OWgtMTAuMDM5Yy0xLjIzMSw0LjA2MyAtMi45OTIsNy44OTYgLTUuMjA0LDExLjQxOGw2LjUxMiw2LjUxYzIuMzIxLDIuMzIzIDIuMzIxLDYuMTIgMCw4LjQ0bC04LjgxOCw4LjgxOWMtMi4zMjEsMi4zMiAtNi4xMTksMi4zMiAtOC40MzksMGwtNy4xMDIsLTcuMTAyYy0zLjY1NywxLjk2IC03LjYwMSwzLjQ1NiAtMTEuNzUzLDQuNDA2djkuMTk5YzAsMy4yODIgLTIuNjg1LDUuOTY4IC01Ljk2OCw1Ljk2OGgtMTIuNDdjLTMuMjgzLDAgLTUuOTY5LC0yLjY4NiAtNS45NjksLTUuOTY4di0xMC4wMzljLTQuMDYzLC0xLjIzMiAtNy44OTYsLTIuOTkzIC0xMS40MTcsLTUuMjA1bC02LjUxMSw2LjUxMmMtMi4zMjMsMi4zMjEgLTYuMTIsMi4zMjEgLTguNDQxLDBsLTguODE4LC04LjgxOGMtMi4zMjEsLTIuMzIxIC0yLjMyMSwtNi4xMTggMCwtOC40MzlsNy4xMDIsLTcuMTAyYy0xLjk2LC0zLjY1NyAtMy40NTYsLTcuNiAtNC40MDUsLTExLjc1MWgtOS4yMDJjLTMuMjgyLDAgLTUuOTY4LC0yLjY4NSAtNS45NjgsLTUuOTY4di0xMi40NzFjMCwtMy4yODMgMi42ODYsLTUuOTY4IDUuOTY4LC01Ljk2OGgxMC4wMzljMS4yMzIsLTQuMDYzIDIuOTkzLC03Ljg5NiA1LjIwNCwtMTEuNDE4bC02LjUxMSwtNi41MWMtMi4zMjEsLTIuMzIyIC0yLjMyMSwtNi4xMiAwLC04LjQ0bDguODE5LC04LjgxOWMyLjMyMSwtMi4zMjEgNi4xMTgsLTIuMzIxIDguNDM5LDBsNy4xMDEsNy4xMDFjMy42NTgsLTEuOTYgNy42MDEsLTMuNDU2IDExLjc1MywtNC40MDZ2LTkuMTk5YzAsLTMuMjgzIDIuNjg2LC01Ljk2OSA1Ljk2OCwtNS45NjloMTIuNDcxYzMuMjgyLDAgNS45NjgsMi42ODYgNS45NjgsNS45Njl2MTAuMDM2YzQuMDY0LDEuMjMxIDcuODk4LDIuOTkyIDExLjQyMiw1LjIwNGw2LjUwNywtNi41MDljMi4zMjMsLTIuMzIxIDYuMTIsLTIuMzIxIDguNDQxLDB6TTMyNC41MTksMTUwYzAsMTMuNTM4IC0xMC45NzksMjQuNTE5IC0yNC41MTksMjQuNTE5Yy0xMy41MzksMCAtMjQuNTE5LC0xMC45OCAtMjQuNTE5LC0yNC41MTljMCwtMTMuNTM5IDEwLjk4LC0yNC41MTkgMjQuNTE5LC0yNC41MTljMTMuNTQsMCAyNC41MTksMTAuOTggMjQuNTE5LDI0LjUxOXoiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSI3LjUiLz48L2c+PC9nPjwvc3ZnPjwhLS1yb3RhdGlvbkNlbnRlcjo2Ny42OTo2Ny42ODktLT4=",K="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMzguNjA3MDUiIGhlaWdodD0iMTE0LjIxMjI3IiB2aWV3Qm94PSIwLDAsMTM4LjYwNzA1LDExNC4yMTIyNyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkuMzAzNTIsNy4xMDYxNCkiPjxnIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2lzUGFpbnRpbmdMYXllciZxdW90Ozp0cnVlfSIgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2Utb3BhY2l0eT0iMC4xMjk0MSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjcuNSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0xMTUuNTUzNTIsNS43OTA3NnY4OC40MTg0OGMwLDUuMDUxMzcgLTQuMDk1NTIsOS4xNDY5IC05LjE0NjksOS4xNDY5aC0xMTIuODEzMjVjLTUuMDUxMzcsMCAtOS4xNDY5LC00LjA5NTUyIC05LjE0NjksLTkuMTQ2OXYtODguNDE4NDhjMCwtNS4wNTEzNyA0LjA5NTUyLC05LjE0NjkgOS4xNDY5LC05LjE0NjloMTEyLjgxMzI1YzUuMDUxMzcsMCA5LjE0NjksNC4wOTU1MiA5LjE0NjksOS4xNDY5ek0yLjc0MDI3LDU3LjU4OTY0bDE1LjE2MDk4LC0xMS4xNDc3OGMzLjgxODgzLC0yLjgxMjY3IDkuMTYwNjIsLTIuMjM0MTMgMTIuMjkzNDMsMS4zMzU0NWwxMC4yMjM5NCwxMS42NDg1N2wyNC41NDU3LC0xMi4yNzA1NmMzLjAxNjE5LC0xLjUxMTUyIDYuNjI0NjQsLTEuMjM3MTIgOS4zODAxNCwwLjcxNTc0bDIyLjkxNTI2LDE2LjIzMzQ2di00OS4xNjY4NmgtOTQuNTE5NDZ6TTM4LjU3NzgxLDg1LjA2MjM0bC0xNi41OTcwNCwtMTguOTA4OTJsLTE5LjE1NTg5LDE0LjA4MTY1Yy0wLjAyNzQ0LDAuMDIwNTggLTAuMDU3MTcsMC4wMjk3MyAtMC4wODQ2MSwwLjA1MDMxdjQuNzc2OTd6TTk1LjE5NzEsODUuMDYyMzRsLTI2Ljk1NTkxLC0xOS4wOTE4NmwtMTUuMzQ2MjEsNy42NzE5NmwxMC4wMjI3MSwxMS40MTk5ek0zMC4xODA5NiwyOS44MDEzNmMwLC01LjQ3MjEzIC00LjQzNjI1LC05LjkwODM4IC05LjkwODM4LC05LjkwODM4Yy01LjQ3MjEzLDAgLTkuOTA4MzgsNC40MzYyNSAtOS45MDgzOCw5LjkwODM4YzAsNS40NzIxMyA0LjQzNjI1LDkuOTA4MzggOS45MDgzOCw5LjkwODM4YzUuNDcyMTMsMCA5LjkwODM4LC00LjQzNjI1IDkuOTA4MzgsLTkuOTA4Mzh6Ii8+PC9nPjwvZz48L3N2Zz48IS0tcm90YXRpb25DZW50ZXI6NjkuMzAzNTIzOTQ2MzExODo1Ny4xMDYxMzY4MjA3MDk5Ni0tPg==",X=document.createElement("style");X.className="shovelcss-style",document.body.appendChild(X);const Z=()=>{let A="";I&&(A+="".concat(s,", ").concat(B,", ").concat(a,", ").concat(E," { color: ").concat(I,"; }")),p&&(A+="".concat(s,", ").concat(g," { background: ").concat(p,"; }")),M&&(A+="".concat(s," { border-color: ").concat(M,"; }")),x>=0&&(A+="".concat(s," { border-radius: ").concat(x,"px; }")),T>=0&&(A+="".concat(s," { border-width: ").concat(T,"px; }")),m&&(A+="".concat(o,", ").concat(l," { background: ").concat(m," !important; }")),F&&(A+="".concat(o,", ").concat(l," { color: ").concat(F,"; }")),U>=0&&(A+="".concat(o," { border-radius: ").concat(U,"px; }")),Y&&(A+="".concat(a," { background: ").concat(Y,"; }")),D&&(A+="".concat(B," { background: ").concat(Y,"; }")),N&&(A+="".concat(c," { background: ").concat(N," !important; }")),f&&(A+="".concat(c," { color: ").concat(f,"; }")),y>=0&&(A+="".concat(c," { border-radius: ").concat(y,"px; }")),R&&(A+="".concat(Q," { overflow: ").concat(R," !important; }")),G&&(A+="".concat(u," { background: ").concat(G," !important; border: none !important; }")),S>=0&&(A+="".concat(u," { border-radius: ").concat(S,"px !important; }")),H>=0&&(A+="".concat(u," { border-width: ").concat(H,"px !important; }")),b&&(A+="".concat(w," { background-color: ").concat(b,"; }")),k>=0&&(A+="".concat(w," { border-radius: ").concat(k,"px !important; }")),J&&(A+="".concat(h," { background: ").concat(J," !important; }"),A+="".concat(h," { border: none !important; }")),L&&(A+="".concat(h," { color: ").concat(L," !important; }")),j>=0&&(A+="".concat(h," { border-radius: ").concat(j,"px !important; }")),z>=0&&(A+="".concat(h," { border-width: ").concat(z,"px !important; }")),P&&(A+="".concat(w,' { background-image: url("').concat(encodeURI(P),'") !important; background-repeat: no-repeat; background-size: contain; }'),A+="".concat(v," { visibility: hidden; }")),O&&(A+="".concat(C,", ").concat(d," { border-color: ").concat(O," !important; }"),A+="".concat(d," { box-shadow: none !important; }")),X.textContent=A},_=(A,e,t)=>{const n=(A=>{const e=document.querySelectorAll(s);for(const t of e)if(t.dataset.id===A)return t;return null})(A);n&&(n.style.transform="translate(".concat(e,"px, ").concat(t,"px)"),n.style.left="0px",n.style.top="0px")},q=(A,e,t,n,i)=>{const r=A.lookupVariableByNameAndType(e,t);r&&_(r.id,n,i)};A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"shovelcss",name:"Custom Styles",menuIconURI:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgMjk2Mjk3IDMzMzMzMyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBpbWFnZS1yZW5kZXJpbmc9Im9wdGltaXplUXVhbGl0eSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iaWQ0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjU0MTI4LjciIHkxPSI3OTM1NS41IiB4Mj0iMjQwMzE4IiB5Mj0iNzkzNTUuNSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZThlN2U1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZmIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImlkNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI2MjAxOS4zIiB5MT0iMjAyODY4IiB4Mj0iMjMzNTE1IiB5Mj0iMjAyODY4Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNlOGU3ZTUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iaWQ2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEwNDk2MyIgeTE9Ijk5NjE2LjkiIHgyPSIxMDQ5NjMiIHkyPSIxNzEwMjEiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2QxZDNkNCIvPjxzdG9wIG9mZnNldD0iLjM4OCIgc3RvcC1jb2xvcj0iI2QxZDNkNCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2QxZDNkNCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJpZDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4bGluazpocmVmPSIjaWQ2IiB4MT0iMTk0MTc5IiB5MT0iNjExODUuOCIgeDI9IjE5NDE3OSIgeTI9IjEzNTQwNyIvPjxtYXNrIGlkPSJpZDAiPjxsaW5lYXJHcmFkaWVudCBpZD0iaWQxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEwNDk2MyIgeTE9Ijk5NjE2LjkiIHgyPSIxMDQ5NjMiIHkyPSIxNzEwMjEiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1vcGFjaXR5PSIwIiBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agb2Zmc2V0PSIuMzg4IiBzdG9wLWNvbG9yPSIjZmZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLW9wYWNpdHk9Ii44MzEiIHN0b3AtY29sb3I9IiNmZmYiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGZpbGw9InVybCgjaWQxKSIgZD0iTTYxNzM3IDk5NDY3aDg2NDUzdjcxNzA0SDYxNzM3eiIvPjwvbWFzaz48bWFzayBpZD0iaWQyIj48bGluZWFyR3JhZGllbnQgaWQ9ImlkMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxOTQxNzkiIHkxPSI2MTE4NS44IiB4Mj0iMTk0MTc5IiB5Mj0iMTM1NDA3Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3Atb3BhY2l0eT0iMCIgc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iLjM4OCIgc3RvcC1jb2xvcj0iI2ZmZiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIuODMxIiBzdG9wLWNvbG9yPSIjZmZmIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2lkMykiIGQ9Ik0xNDc4OTAgNjEwMzZoOTI1Nzh2NzQ1MjFoLTkyNTc4eiIvPjwvbWFzaz48c3R5bGU+LmZpbDZ7ZmlsbDojMDAwO2ZpbGwtb3BhY2l0eTouMDUwOTh9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkxheWVyX3gwMDIwXzEiPjxnIGlkPSJfNTEzMDg1MzA0Ij48cGF0aCBmaWxsPSIjMjA2MmFmIiBkPSJNMjY4NTE3IDMwMDkyMmwtMTIwMzY5IDMyNDExLTEyMDM3MS0zMjQxMUwwIDBoMjk2Mjk3eiIvPjxwYXRoIGZpbGw9IiMzYzljZDciIGQ9Ik0xNDgxNDYgMjQzNzR2MjgzMTA5bDI3MyA3NCA5NzQwOS0yNjIyOSAyMjQ4NS0yNTY5NTR6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE0ODA0MCA5OTYxN2wtODYxNTMgMzU4ODAgMjg1NyAzNTUyNCA4MzI5Ni0zNTYxNCA4ODYwNC0zNzg4MyAzNjc0LTM2MzM5LTkyMjc4IDM4NDMyeiIvPjxwYXRoIG1hc2s9InVybCgjaWQwKSIgZmlsbD0idXJsKCNpZDYpIiBkPSJNNjE4ODcgMTM1NDk3bDI4NTcgMzU1MjQgODMyOTUtMzU2MTRWOTk2MTd6Ii8+PHBhdGggbWFzaz0idXJsKCNpZDIpIiBmaWxsPSJ1cmwoI2lkNykiIGQ9Ik0yNDAzMTggNjExODZsLTkyMjc4IDM4NDMxdjM1NzkwbDg4NjA0LTM3ODgzeiIvPjxwYXRoIGZpbGw9InVybCgjaWQ1KSIgZD0iTTYyMDE5IDEzNTQ5N2wyODU4IDM1NTI0IDEyNzgwNiA0MDctMjg1OSA0NzM2NS00MjA1NSAxMTg0MC00MDQyOC0xMDIwOC0yNDUwLTI5Mzk5SDY3MzI3bDQ5MDAgNTY3NTYgNzU5NTAgMjI0NTcgNzU1MzgtMjIwNTAgOTgwMC0xMTI2OTJ6Ii8+PHBhdGggY2xhc3M9ImZpbDYiIGQ9Ik0xNDgwNDAgMTM1NDk3SDYxODg4bDI4NTcgMzU1MjQgODMyOTUgMjY2di0zNTc5MHptMCA5NTAyMmwtNDA4IDExNC00MDQyMi0xMDIwOC0yNDUwLTI5Mzk5SDY3MTk3bDQ4OTkgNTY3NTYgNzU5NDQgMjI0NTd2LTM5NzIweiIvPjxwYXRoIGZpbGw9InVybCgjaWQ0KSIgZD0iTTU0MTI5IDYxMTg2aDE4NjE4OWwtMzY3NCAzNjMzOUg1ODYyMGwtNDQ5MS0zNjMzOXoiLz48cGF0aCBjbGFzcz0iZmlsNiIgZD0iTTE0ODA0MCA2MTE4Nkg1NDEyOWw0NDkxIDM2MzM5aDg5NDIweiIvPjwvZz48L2c+PC9zdmc+",color1:"#0072d6",color2:"#0064bc",color3:"#01539b",blocks:[{blockIconURI:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMTYuNDE5NjQiIGhlaWdodD0iMTE4LjM0OTk0IiB2aWV3Qm94PSIwLDAsMTE2LjQxOTY0LDExOC4zNDk5NCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC45MjgwOSw3LjY1MTk0KSI+PGcgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aXNQYWludGluZ0xheWVyJnF1b3Q7OnRydWV9IiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6IG5vcm1hbCI+PHBhdGggZD0iTTMxLjc3NzE4LDEwLjU1MDMzYy0xMC4yOTkxNywxLjEwODUyIC0xNi4zNDU2NSw0LjY2NTg3IC0xOS4xNDcxOSw5LjE4MDU3Yy0xLjg5MjIsMy4yNDc5NyAtMi4zNDE1Niw3LjEzODcyIC0xLjIzOTUzLDEwLjczMjVsMC4wOTA3LDAuMzQyNjRsMjAuMjY1NzksLTIwLjI1NTcxek03OC4yODQ2OSwyMS43NTY0OGMtNy4zNDY0NywtNy4zNTY1NSAtMTQuNzczNTcsLTEzLjEwMDcgLTIwLjg5MDU5LC0xNi4yOTUyN2MtNC4zNDMzOSwtMi4yMzcyIC03LjcyOTQyLC0zLjEzNDA5IC05LjM5MjIsLTIuMTg2ODFsLTAuODI2MzYsMC44MjYzNmMtMS4yMjk0NSwyLjAxNTUgLTAuNTEzOTYsNi4zMDg0OSAxLjc5Mzc5LDExLjY2OTdjMy41NjMzNSw3LjczMjE5IDguNTIwMTUsMTQuNzQyMDggMTQuNjIyNCwyMC42Nzg5N2M2Ljk5Mzc3LDYuOTkzNzcgMTQuNTAxNDgsMTIuMjM0MDQgMjAuODkwNTksMTUuMTE2MmM0LjU0NDk0LDIuMDE1NSA4LjI3MzYsMi45MjI0NyAxMC40MzAxOCwyLjMzNzk3bDEuOTI0OCwtMS45MzQ4OGMwLjQ1MzQ4LC0xLjkyNDggLTAuNTAzODgsLTUuMTc5ODIgLTIuNTA5MjksLTkuMjAwNzNjLTMuMTEzOTQsLTYuMjU4MTEgLTguNzg3NTUsLTEzLjc2NTgyIC0xNi4wNDMzMywtMjEuMDExNTJ6TTYwLjI4NjMzLC0wLjE1MTk0YzYuNzExNTksMy40NTY1NyAxNC42OTI5NSw5LjY0NDE0IDIyLjQ4MjgzLDE3LjQzNDAyYzcuNzg5ODksNy43ODk4OSAxMy44NTY1MiwxNS44MjE2MyAxNy4yMjIzOSwyMi43MjQ2OWMzLjc3OTA1LDcuNTY4MTggNC4zODM3LDE0LjAyNzg0IDAuNjk1MzQsMTcuNzE2MTljLTAuNjA1OCwwLjU3NzQ5IC0xLjI5NTUyLDEuMDU5OTYgLTIuMDQ1NzIsMS40MzFsLTM5LjQyMzA2LDM5LjQwMjljLTIuMzY4MiwyLjM4ODM2IC0zLjM1NTgsMy4zOTYxMSAtNy40MzcxNyw0LjMxMzE1Yy0yLjAzMTMyLDAuNDQwMzcgLTQuMTE4NywwLjU2Mjc2IC02LjE4NzU3LDAuMzYyNzhjLTIuMTQxODMsLTAuMjA3OCAtNC4yNTIxNSwtMC42NjQzNyAtNi4yODgzNCwtMS4zNjA0NmMtOC4zOTQ1MywtMi44MjE2OSAtMTcuMTMxNjksLTguNzI3MDkgLTI0LjQwNzYyLC0xNS45ODI4NmMtNy4yNzU5MywtNy4yNTU3NyAtMTMuMzcyOCwtMTYuMDUzNDEgLTE2LjMyNTUsLTI0LjQ2ODFjLTAuNTUwNDYsLTEuNTI1NTIgLTAuOTc4NDMsLTMuMDkyNDggLTEuMjc5ODQsLTQuNjg2MDJjLTAuMjg2MDMsLTEuNDc3NzUgLTAuNDMxMTIsLTIuOTc5MyAtMC40MzMzNCwtNC40ODQ0N2MtMC4xMTgxNywtMi4zNTIzNCAwLjMwNTkyLC00LjcwMDM3IDEuMjM5NTMsLTYuODYyNzVjMC45Njc0LC0xLjg2MTczIDIuMjUzMiwtMy41Mzk3NiAzLjc5OTIxLC00Ljk1ODExbDAuMTYxMjQsLTAuMTcxMzJsNC43NDY0OSwtNC43MzY0MWMtMC40OTc0NywtMS4xMjYwMiAtMC45MDg0OCwtMi4yODgyOCAtMS4yMjk0NSwtMy40NzY3M2MtMS41NTYxLC01LjE5NTg5IC0wLjg1MzgyLC0xMC44MDY3NSAxLjkzNDg4LC0xNS40NTg4NGM0LjMwMzA4LC03LjAzNDA3IDEzLjk1NzMsLTEyLjI2NDI4IDMwLjY2NTczLC0xMi40MzU2bDQuMjAyMzEsLTQuMTkyMjNjMC40NDM2OCwtMC42MDgzMiAwLjk4MTExLC0xLjE0MjM1IDEuNTkyMjQsLTEuNTgyMTZjMC4xOTg1NywtMC4xODczMSAwLjQyNjcsLTAuMzQwNTMgMC42NzUxOSwtMC40NTM0OGMzLjczODc0LC0yLjI1NzM1IDkuMjcxMjcsLTEuMzYwNDYgMTUuNjQwMjMsMS45MjQ4ek04OS4wNDc0Myw1OS43Njg2OWMtMi40NjcyLC0wLjU1OTY2IC00Ljg2ODc0LC0xLjM3NzA3IC03LjE2NTA4LC0yLjQzODc1Yy03LjA1NDIzLC0zLjE4NDQ4IC0xNS4yMjcwNiwtOC44NzgyNSAtMjIuNzY1LC0xNi40MDYxMmMtNi42NjcyNywtNi41MDY3NiAtMTIuMDc4NTEsLTE0LjE4NjM2IC0xNS45NjI3MSwtMjIuNjU0MTVjLTEuMDk4MjYsLTIuNDc4NDUgLTEuOTA2NDYsLTUuMDc1NTEgLTIuNDA4NTIsLTcuNzM5NDlsLTI2LjQxODk4LDI2LjMwMjJjMTMuODgzNTcsMTUuMDM3NTkgNTUuMzcyMzcsMjAuMzU1OTQgNjguMjQxMywxNC44NDM1NmMxLjUyOTk3LC0wLjYyNjEyIDMuMjc5MTUsMC4wOTI3NiAzLjkyNjY5LDEuNjEzOGMwLjY0NzU0LDEuNTIxMDMgLTAuMDQ2NzEsMy4yODAxNCAtMS41NTg0OSwzLjk0ODk3Yy0xNS4zMjc4Myw2LjU2MDQzIC02Mi41NTg3NiwtMS41MjU3NiAtNzQuODY2MzQsLTE2LjA4MzA5bC0zLjY5ODQzLDMuNzM4NzRjLTEuMDE3OSwwLjkxNDA1IC0xLjg4MjE3LDEuOTg1ODcgLTIuNTU5NjgsMy4xNzQ0Yy0wLjUxNTM2LDEuMzI3MzcgLTAuNzM1NDUsMi43NTEwNSAtMC42NDQ5Niw0LjE3MjA3YzAuMDA3NywxLjExNjQyIDAuMTE5MDQsMi4yMjk3MiAwLjMzMjU2LDMuMzI1NTZjMC4yMzkxMywxLjI4MDIzIDAuNTc2MDMsMi41NDAyNCAxLjAwNzc0LDMuNzY4OTdjMi42MzAyMiw3LjQ4NzU2IDguMDYxOTcsMTUuMzg4MjkgMTQuODIzOTYsMjIuMDU5NThjNi43NjE5OSw2LjY3MTI5IDE0LjUyMTYzLDEyLjAyMjQyIDIxLjk3ODk2LDE0LjQ5MTRjMS41NjYyMSwwLjU0IDMuMTg5MjMsMC44OTg0MSA0LjgzNzE5LDEuMDY4MjF2MGMxLjQxNDg2LDAuMTM5NCAyLjg0Mjc3LDAuMDU3ODEgNC4yMzI1MywtMC4yNDE4NmMxLjcwOTMzLC0wLjI5ODk0IDMuMjQ4NTEsLTEuMjE3NDEgNC4zMjMyMywtMi41Nzk4M2MwLjA2MDQ2LC0wLjA3MDU0IDAuNjQ0OTYsLTAuNjQ0OTYgMC42MzQ4OCwtMC42NTUwNHoiIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLW9wYWNpdHk9IjAuMTI5NDEiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxNSIvPjxwYXRoIGQ9Ik0zLjI5NzAyLDQ5LjQyMTZjMi40NDg2OSwwLjQ4ODgxIDE0LjYwMzczLDI0LjI5Nzc5IDMxLjc5OSwyMS40MjkyM2MxNS42MzU4MywtMi42MDg0MSA5LjA4MDY3LDE0LjMzMjQ1IDQ4LjU0ODY1LC01LjUwNjgybC0yOC41MDkxNiwyOC40Nzg5M2MwLDAgLTAuNTc0NDIsMC41ODQ1IC0wLjYzNDg4LDAuNjU1MDRjLTEuMDc0NzIsMS4zNjI0MSAtMi42MTM5LDIuMjgwOSAtNC4zMjMyMywyLjU3OTgzYy0xLjM4OTc2LDAuMjk5NjYgLTIuODE3NjgsMC4zODEyNiAtNC4yMzI1MywwLjI0MTg2djBjLTEuNjQ3OTYsLTAuMTY5NzkgLTMuMjcwOTcsLTAuNTI4MjEgLTQuODM3MTksLTEuMDY4MjFjLTcuNDU3MzMsLTIuNDk5MjEgLTE1LjI4NzUyLC03Ljg2MDQzIC0yMS45NTg4LC0xNC40ODEzMmMtNi42NzEyOSwtNi42MjA4OSAtMTIuMTYzNSwtMTQuNTcyMDIgLTE0Ljc5MzcyLC0yMi4wNTk1OGMtMC40MzE3MiwtMS4yMjg3NCAtMC43Njg2MiwtMi40ODg3NSAtMS4wMDc3NCwtMy43Njg5N2MtMC4yMTM1MiwtMS4wOTU4NSAtMC4zMjQ4NiwtMi4yMDkxNCAtMC4zMzI1NiwtMy4zMjU1NmMtMC4wMzY5LC0xLjA2NTcxIDAuMDU3ODcsLTIuMTMxOSAwLjI4MjE2LC0zLjE3NDR6IiBmaWxsPSIjZjU0MjQyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIi8+PHBhdGggZD0iTTMxLjc3NzE4LDEwLjU1MDMzYy0xMC4yOTkxNywxLjEwODUyIC0xNi4zNDU2NSw0LjY2NTg3IC0xOS4xNDcxOSw5LjE4MDU3Yy0xLjg5MjIsMy4yNDc5NyAtMi4zNDE1Niw3LjEzODcyIC0xLjIzOTUzLDEwLjczMjVsMC4wOTA3LDAuMzQyNjRsMjAuMjY1NzksLTIwLjI1NTcxek03OC4yODQ2OSwyMS43NTY0OGMtNy4zNDY0NywtNy4zNTY1NSAtMTQuNzczNTcsLTEzLjEwMDcgLTIwLjg5MDU5LC0xNi4yOTUyN2MtNC4zNDMzOSwtMi4yMzcyIC03LjcyOTQyLC0zLjEzNDA5IC05LjM5MjIsLTIuMTg2ODFsLTAuODI2MzYsMC44MjYzNmMtMS4yMjk0NSwyLjAxNTUgLTAuNTEzOTYsNi4zMDg0OSAxLjc5Mzc5LDExLjY2OTdjMy41NjMzNSw3LjczMjE5IDguNTIwMTUsMTQuNzQyMDggMTQuNjIyNCwyMC42Nzg5N2M2Ljk5Mzc3LDYuOTkzNzcgMTQuNTAxNDgsMTIuMjM0MDQgMjAuODkwNTksMTUuMTE2MmM0LjU0NDk0LDIuMDE1NSA4LjI3MzYsMi45MjI0NyAxMC40MzAxOCwyLjMzNzk3bDEuOTI0OCwtMS45MzQ4OGMwLjQ1MzQ4LC0xLjkyNDggLTAuNTAzODgsLTUuMTc5ODIgLTIuNTA5MjksLTkuMjAwNzNjLTMuMTEzOTQsLTYuMjU4MTEgLTguNzg3NTUsLTEzLjc2NTgyIC0xNi4wNDMzMywtMjEuMDExNTJ6TTYwLjI4NjMzLC0wLjE1MTk0YzYuNzExNTksMy40NTY1NyAxNC42OTI5NSw5LjY0NDE0IDIyLjQ4MjgzLDE3LjQzNDAyYzcuNzg5ODksNy43ODk4OSAxMy44NTY1MiwxNS44MjE2MyAxNy4yMjIzOSwyMi43MjQ2OWMzLjc3OTA1LDcuNTY4MTggNC4zODM3LDE0LjAyNzg0IDAuNjk1MzQsMTcuNzE2MTljLTAuNjA1OCwwLjU3NzQ5IC0xLjI5NTUyLDEuMDU5OTYgLTIuMDQ1NzIsMS40MzFsLTM5LjQyMzA2LDM5LjQwMjljLTIuMzY4MiwyLjM4ODM2IC0zLjM1NTgsMy4zOTYxMSAtNy40MzcxNyw0LjMxMzE1Yy0yLjAzMTMyLDAuNDQwMzcgLTQuMTE4NywwLjU2Mjc2IC02LjE4NzU3LDAuMzYyNzhjLTIuMTQxODMsLTAuMjA3OCAtNC4yNTIxNSwtMC42NjQzNyAtNi4yODgzNCwtMS4zNjA0NmMtOC4zOTQ1MywtMi44MjE2OSAtMTcuMTMxNjksLTguNzI3MDkgLTI0LjQwNzYyLC0xNS45ODI4NmMtNy4yNzU5MywtNy4yNTU3NyAtMTMuMzcyOCwtMTYuMDUzNDEgLTE2LjMyNTUsLTI0LjQ2ODFjLTAuNTUwNDYsLTEuNTI1NTIgLTAuOTc4NDMsLTMuMDkyNDggLTEuMjc5ODQsLTQuNjg2MDJjLTAuMjg2MDMsLTEuNDc3NzUgLTAuNDMxMTIsLTIuOTc5MyAtMC40MzMzNCwtNC40ODQ0N2MtMC4xMTgxNywtMi4zNTIzNCAwLjMwNTkyLC00LjcwMDM3IDEuMjM5NTMsLTYuODYyNzVjMC45Njc0LC0xLjg2MTczIDIuMjUzMiwtMy41Mzk3NiAzLjc5OTIxLC00Ljk1ODExbDAuMTYxMjQsLTAuMTcxMzJsNC43NDY0OSwtNC43MzY0MWMtMC40OTc0NywtMS4xMjYwMiAtMC45MDg0OCwtMi4yODgyOCAtMS4yMjk0NSwtMy40NzY3M2MtMS41NTYxLC01LjE5NTg5IC0wLjg1MzgyLC0xMC44MDY3NSAxLjkzNDg4LC0xNS40NTg4NGM0LjMwMzA4LC03LjAzNDA3IDEzLjk1NzMsLTEyLjI2NDI4IDMwLjY2NTczLC0xMi40MzU2bDQuMjAyMzEsLTQuMTkyMjNjMC40NDM2OCwtMC42MDgzMiAwLjk4MTExLC0xLjE0MjM1IDEuNTkyMjQsLTEuNTgyMTZjMC4xOTg1NywtMC4xODczMSAwLjQyNjcsLTAuMzQwNTMgMC42NzUxOSwtMC40NTM0OGMzLjczODc0LC0yLjI1NzM1IDkuMjcxMjcsLTEuMzYwNDYgMTUuNjQwMjMsMS45MjQ4ek04OS4wNDc0Myw1OS43Njg2OWMtMi40NjcyLC0wLjU1OTY2IC00Ljg2ODc0LC0xLjM3NzA3IC03LjE2NTA4LC0yLjQzODc1Yy03LjA1NDIzLC0zLjE4NDQ4IC0xNS4yMjcwNiwtOC44NzgyNSAtMjIuNzY1LC0xNi40MDYxMmMtNi42NjcyNywtNi41MDY3NiAtMTIuMDc4NTEsLTE0LjE4NjM2IC0xNS45NjI3MSwtMjIuNjU0MTVjLTEuMDk4MjYsLTIuNDc4NDUgLTEuOTA2NDYsLTUuMDc1NTEgLTIuNDA4NTIsLTcuNzM5NDlsLTI2LjQxODk4LDI2LjMwMjJjMTMuODgzNTcsMTUuMDM3NTkgNTUuMzcyMzcsMjAuMzU1OTQgNjguMjQxMywxNC44NDM1NmMxLjUyOTk3LC0wLjYyNjEyIDMuMjc5MTUsMC4wOTI3NiAzLjkyNjY5LDEuNjEzOGMwLjY0NzU0LDEuNTIxMDMgLTAuMDQ2NzEsMy4yODAxNCAtMS41NTg0OSwzLjk0ODk3Yy0xNS4zMjc4Myw2LjU2MDQzIC02Mi41NTg3NiwtMS41MjU3NiAtNzQuODY2MzQsLTE2LjA4MzA5bC0zLjY5ODQzLDMuNzM4NzRjLTEuMDE3OSwwLjkxNDA1IC0xLjg4MjE3LDEuOTg1ODcgLTIuNTU5NjgsMy4xNzQ0Yy0wLjUxNTM2LDEuMzI3MzcgLTAuNzM1NDUsMi43NTEwNSAtMC42NDQ5Niw0LjE3MjA3YzAuMDA3NywxLjExNjQyIDAuMTE5MDQsMi4yMjk3MiAwLjMzMjU2LDMuMzI1NTZjMC4yMzkxMywxLjI4MDIzIDAuNTc2MDMsMi41NDAyNCAxLjAwNzc0LDMuNzY4OTdjMi42MzAyMiw3LjQ4NzU2IDguMDYxOTcsMTUuMzg4MjkgMTQuODIzOTYsMjIuMDU5NThjNi43NjE5OSw2LjY3MTI5IDE0LjUyMTYzLDEyLjAyMjQyIDIxLjk3ODk2LDE0LjQ5MTRjMS41NjYyMSwwLjU0IDMuMTg5MjMsMC44OTg0MSA0LjgzNzE5LDEuMDY4MjF2MGMxLjQxNDg2LDAuMTM5NCAyLjg0Mjc3LDAuMDU3ODEgNC4yMzI1MywtMC4yNDE4NmMxLjcwOTMzLC0wLjI5ODk0IDMuMjQ4NTEsLTEuMjE3NDEgNC4zMjMyMywtMi41Nzk4M2MwLjA2MDQ2LC0wLjA3MDU0IDAuNjQ0OTYsLTAuNjQ0OTYgMC42MzQ4OCwtMC42NTUwNHoiIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEwIi8+PC9nPjwvZz48L3N2Zz48IS0tcm90YXRpb25DZW50ZXI6NTguOTI4MDk6NTcuNjUxOTM5OTk5OTk5OTk2LS0+",opcode:"changecss",blockType:i.COMMAND,text:"set [COLORABLE] to [COLOR]",arguments:{COLORABLE:{type:n.STRING,menu:"COLORABLE_MENU"},COLOR:{type:n.COLOR,defaultValue:"#ff0000"}}},{blockIconURI:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMTYuNDE5NjQiIGhlaWdodD0iMTE4LjM0OTk0IiB2aWV3Qm94PSIwLDAsMTE2LjQxOTY0LDExOC4zNDk5NCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIzLjM2ODMzIiB5MT0iNzMuMjEzOCIgeDI9IjgzLjM4NjAzIiB5Mj0iNzMuMjEzOCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJjb2xvci0xIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmNTQyNDIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0Mjk3ZjUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4LjkyODA5LDcuNjUxOTQpIj48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpc1BhaW50aW5nTGF5ZXImcXVvdDs6dHJ1ZX0iIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IiIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48cGF0aCBkPSJNMy42NTYwMyw0OS40MjYwM2MyLjQyOTg2LDAuNDg1MDUgMTQuNDkxNDcsMjQuMTExIDMxLjU1NDU1LDIxLjI2NDVjMTUuNTE1NjMsLTIuNTg4MzYgOS4wMTA4NywxNC4yMjIyNyA0OC4xNzU0NSwtNS40NjQ0OWwtMjguMjksMjguMjZjMCwwIC0wLjU3LDAuNTggLTAuNjMsMC42NWMtMS4wNjY0NiwxLjM1MTk0IC0yLjU5MzgxLDIuMjYzMzYgLTQuMjksMi41NmMtMS4zNzkwOCwwLjI5NzM2IC0yLjc5NjAyLDAuMzc4MzMgLTQuMiwwLjI0djBjLTEuNjM1MjksLTAuMTY4NDkgLTMuMjQ1ODMsLTAuNTI0MTUgLTQuOCwtMS4wNmMtNy40LC0yLjQ4IC0xNS4xNywtNy44IC0yMS43OSwtMTQuMzdjLTYuNjIsLTYuNTcgLTEyLjA3LC0xNC40NiAtMTQuNjgsLTIxLjg5Yy0wLjQyODQsLTEuMjE5MjkgLTAuNzYyNzEsLTIuNDY5NjIgLTEsLTMuNzRjLTAuMjExODgsLTEuMDg3NDIgLTAuMzIyMzYsLTIuMTkyMTYgLTAuMzMsLTMuM2MtMC4wMzY2MiwtMS4wNTc1MiAwLjA1NzQyLC0yLjExNTUyIDAuMjgsLTMuMTV6IiBmaWxsPSJ1cmwoI2NvbG9yLTEpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIi8+PHBhdGggZD0iTTMxLjc3NzE4LDEwLjU1MDMzYy0xMC4yOTkxNywxLjEwODUyIC0xNi4zNDU2NSw0LjY2NTg3IC0xOS4xNDcxOSw5LjE4MDU3Yy0xLjg5MjIsMy4yNDc5NyAtMi4zNDE1Niw3LjEzODcyIC0xLjIzOTUzLDEwLjczMjVsMC4wOTA3LDAuMzQyNjRsMjAuMjY1NzksLTIwLjI1NTcxek03OC4yODQ2OSwyMS43NTY0OGMtNy4zNDY0NywtNy4zNTY1NSAtMTQuNzczNTcsLTEzLjEwMDcgLTIwLjg5MDU5LC0xNi4yOTUyN2MtNC4zNDMzOSwtMi4yMzcyIC03LjcyOTQyLC0zLjEzNDA5IC05LjM5MjIsLTIuMTg2ODFsLTAuODI2MzYsMC44MjYzNmMtMS4yMjk0NSwyLjAxNTUgLTAuNTEzOTYsNi4zMDg0OSAxLjc5Mzc5LDExLjY2OTdjMy41NjMzNSw3LjczMjE5IDguNTIwMTUsMTQuNzQyMDggMTQuNjIyNCwyMC42Nzg5N2M2Ljk5Mzc3LDYuOTkzNzcgMTQuNTAxNDgsMTIuMjM0MDQgMjAuODkwNTksMTUuMTE2MmM0LjU0NDk0LDIuMDE1NSA4LjI3MzYsMi45MjI0NyAxMC40MzAxOCwyLjMzNzk3bDEuOTI0OCwtMS45MzQ4OGMwLjQ1MzQ4LC0xLjkyNDggLTAuNTAzODgsLTUuMTc5ODIgLTIuNTA5MjksLTkuMjAwNzNjLTMuMTEzOTQsLTYuMjU4MTEgLTguNzg3NTUsLTEzLjc2NTgyIC0xNi4wNDMzMywtMjEuMDExNTJ6TTYwLjI4NjMzLC0wLjE1MTk0YzYuNzExNTksMy40NTY1NyAxNC42OTI5NSw5LjY0NDE0IDIyLjQ4MjgzLDE3LjQzNDAyYzcuNzg5ODksNy43ODk4OSAxMy44NTY1MiwxNS44MjE2MyAxNy4yMjIzOSwyMi43MjQ2OWMzLjc3OTA1LDcuNTY4MTggNC4zODM3LDE0LjAyNzg0IDAuNjk1MzQsMTcuNzE2MTljLTAuNjA1OCwwLjU3NzQ5IC0xLjI5NTUyLDEuMDU5OTYgLTIuMDQ1NzIsMS40MzFsLTM5LjQyMzA2LDM5LjQwMjljLTIuMzY4MiwyLjM4ODM2IC0zLjM1NTgsMy4zOTYxMSAtNy40MzcxNyw0LjMxMzE1Yy0yLjAzMTMyLDAuNDQwMzcgLTQuMTE4NywwLjU2Mjc2IC02LjE4NzU3LDAuMzYyNzhjLTIuMTQxODMsLTAuMjA3OCAtNC4yNTIxNSwtMC42NjQzNyAtNi4yODgzNCwtMS4zNjA0NmMtOC4zOTQ1MywtMi44MjE2OSAtMTcuMTMxNjksLTguNzI3MDkgLTI0LjQwNzYyLC0xNS45ODI4NmMtNy4yNzU5MywtNy4yNTU3NyAtMTMuMzcyOCwtMTYuMDUzNDEgLTE2LjMyNTUsLTI0LjQ2ODFjLTAuNTUwNDYsLTEuNTI1NTIgLTAuOTc4NDMsLTMuMDkyNDggLTEuMjc5ODQsLTQuNjg2MDJjLTAuMjg2MDMsLTEuNDc3NzUgLTAuNDMxMTIsLTIuOTc5MyAtMC40MzMzNCwtNC40ODQ0N2MtMC4xMTgxNywtMi4zNTIzNCAwLjMwNTkyLC00LjcwMDM3IDEuMjM5NTMsLTYuODYyNzVjMC45Njc0LC0xLjg2MTczIDIuMjUzMiwtMy41Mzk3NiAzLjc5OTIxLC00Ljk1ODExbDAuMTYxMjQsLTAuMTcxMzJsNC43NDY0OSwtNC43MzY0MWMtMC40OTc0NywtMS4xMjYwMiAtMC45MDg0OCwtMi4yODgyOCAtMS4yMjk0NSwtMy40NzY3M2MtMS41NTYxLC01LjE5NTg5IC0wLjg1MzgyLC0xMC44MDY3NSAxLjkzNDg4LC0xNS40NTg4NGM0LjMwMzA4LC03LjAzNDA3IDEzLjk1NzMsLTEyLjI2NDI4IDMwLjY2NTczLC0xMi40MzU2bDQuMjAyMzEsLTQuMTkyMjNjMC40NDM2OCwtMC42MDgzMiAwLjk4MTExLC0xLjE0MjM1IDEuNTkyMjQsLTEuNTgyMTZjMC4xOTg1NywtMC4xODczMSAwLjQyNjcsLTAuMzQwNTMgMC42NzUxOSwtMC40NTM0OGMzLjczODc0LC0yLjI1NzM1IDkuMjcxMjcsLTEuMzYwNDYgMTUuNjQwMjMsMS45MjQ4ek04OS4wNDc0Myw1OS43Njg2OWMtMi40NjcyLC0wLjU1OTY2IC00Ljg2ODc0LC0xLjM3NzA3IC03LjE2NTA4LC0yLjQzODc1Yy03LjA1NDIzLC0zLjE4NDQ4IC0xNS4yMjcwNiwtOC44NzgyNSAtMjIuNzY1LC0xNi40MDYxMmMtNi42NjcyNywtNi41MDY3NiAtMTIuMDc4NTEsLTE0LjE4NjM2IC0xNS45NjI3MSwtMjIuNjU0MTVjLTEuMDk4MjYsLTIuNDc4NDUgLTEuOTA2NDYsLTUuMDc1NTEgLTIuNDA4NTIsLTcuNzM5NDlsLTI2LjQxODk4LDI2LjMwMjJjMTMuODgzNTcsMTUuMDM3NTkgNTUuMzcyMzcsMjAuMzU1OTQgNjguMjQxMywxNC44NDM1NmMxLjUyOTk3LC0wLjYyNjEyIDMuMjc5MTUsMC4wOTI3NiAzLjkyNjY5LDEuNjEzOGMwLjY0NzU0LDEuNTIxMDMgLTAuMDQ2NzEsMy4yODAxNCAtMS41NTg0OSwzLjk0ODk3Yy0xNS4zMjc4Myw2LjU2MDQzIC02Mi41NTg3NiwtMS41MjU3NiAtNzQuODY2MzQsLTE2LjA4MzA5bC0zLjY5ODQzLDMuNzM4NzRjLTEuMDE3OSwwLjkxNDA1IC0xLjg4MjE3LDEuOTg1ODcgLTIuNTU5NjgsMy4xNzQ0Yy0wLjUxNTM2LDEuMzI3MzcgLTAuNzM1NDUsMi43NTEwNSAtMC42NDQ5Niw0LjE3MjA3YzAuMDA3NywxLjExNjQyIDAuMTE5MDQsMi4yMjk3MiAwLjMzMjU2LDMuMzI1NTZjMC4yMzkxMywxLjI4MDIzIDAuNTc2MDMsMi41NDAyNCAxLjAwNzc0LDMuNzY4OTdjMi42MzAyMiw3LjQ4NzU2IDguMDYxOTcsMTUuMzg4MjkgMTQuODIzOTYsMjIuMDU5NThjNi43NjE5OSw2LjY3MTI5IDE0LjUyMTYzLDEyLjAyMjQyIDIxLjk3ODk2LDE0LjQ5MTRjMS41NjYyMSwwLjU0IDMuMTg5MjMsMC44OTg0MSA0LjgzNzE5LDEuMDY4MjF2MGMxLjQxNDg2LDAuMTM5NCAyLjg0Mjc3LDAuMDU3ODEgNC4yMzI1MywtMC4yNDE4NmMxLjcwOTMzLC0wLjI5ODk0IDMuMjQ4NTEsLTEuMjE3NDEgNC4zMjMyMywtMi41Nzk4M2MwLjA2MDQ2LC0wLjA3MDU0IDAuNjQ0OTYsLTAuNjQ0OTYgMC42MzQ4OCwtMC42NTUwNHoiIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLW9wYWNpdHk9IjAuMTI5NDEiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxNSIvPjxwYXRoIGQ9Ik0zMS43NzcxOCwxMC41NTAzM2MtMTAuMjk5MTcsMS4xMDg1MiAtMTYuMzQ1NjUsNC42NjU4NyAtMTkuMTQ3MTksOS4xODA1N2MtMS44OTIyLDMuMjQ3OTcgLTIuMzQxNTYsNy4xMzg3MiAtMS4yMzk1MywxMC43MzI1bDAuMDkwNywwLjM0MjY0bDIwLjI2NTc5LC0yMC4yNTU3MXpNNzguMjg0NjksMjEuNzU2NDhjLTcuMzQ2NDcsLTcuMzU2NTUgLTE0Ljc3MzU3LC0xMy4xMDA3IC0yMC44OTA1OSwtMTYuMjk1MjdjLTQuMzQzMzksLTIuMjM3MiAtNy43Mjk0MiwtMy4xMzQwOSAtOS4zOTIyLC0yLjE4NjgxbC0wLjgyNjM2LDAuODI2MzZjLTEuMjI5NDUsMi4wMTU1IC0wLjUxMzk2LDYuMzA4NDkgMS43OTM3OSwxMS42Njk3YzMuNTYzMzUsNy43MzIxOSA4LjUyMDE1LDE0Ljc0MjA4IDE0LjYyMjQsMjAuNjc4OTdjNi45OTM3Nyw2Ljk5Mzc3IDE0LjUwMTQ4LDEyLjIzNDA0IDIwLjg5MDU5LDE1LjExNjJjNC41NDQ5NCwyLjAxNTUgOC4yNzM2LDIuOTIyNDcgMTAuNDMwMTgsMi4zMzc5N2wxLjkyNDgsLTEuOTM0ODhjMC40NTM0OCwtMS45MjQ4IC0wLjUwMzg4LC01LjE3OTgyIC0yLjUwOTI5LC05LjIwMDczYy0zLjExMzk0LC02LjI1ODExIC04Ljc4NzU1LC0xMy43NjU4MiAtMTYuMDQzMzMsLTIxLjAxMTUyek02MC4yODYzMywtMC4xNTE5NGM2LjcxMTU5LDMuNDU2NTcgMTQuNjkyOTUsOS42NDQxNCAyMi40ODI4MywxNy40MzQwMmM3Ljc4OTg5LDcuNzg5ODkgMTMuODU2NTIsMTUuODIxNjMgMTcuMjIyMzksMjIuNzI0NjljMy43NzkwNSw3LjU2ODE4IDQuMzgzNywxNC4wMjc4NCAwLjY5NTM0LDE3LjcxNjE5Yy0wLjYwNTgsMC41Nzc0OSAtMS4yOTU1MiwxLjA1OTk2IC0yLjA0NTcyLDEuNDMxbC0zOS40MjMwNiwzOS40MDI5Yy0yLjM2ODIsMi4zODgzNiAtMy4zNTU4LDMuMzk2MTEgLTcuNDM3MTcsNC4zMTMxNWMtMi4wMzEzMiwwLjQ0MDM3IC00LjExODcsMC41NjI3NiAtNi4xODc1NywwLjM2Mjc4Yy0yLjE0MTgzLC0wLjIwNzggLTQuMjUyMTUsLTAuNjY0MzcgLTYuMjg4MzQsLTEuMzYwNDZjLTguMzk0NTMsLTIuODIxNjkgLTE3LjEzMTY5LC04LjcyNzA5IC0yNC40MDc2MiwtMTUuOTgyODZjLTcuMjc1OTMsLTcuMjU1NzcgLTEzLjM3MjgsLTE2LjA1MzQxIC0xNi4zMjU1LC0yNC40NjgxYy0wLjU1MDQ2LC0xLjUyNTUyIC0wLjk3ODQzLC0zLjA5MjQ4IC0xLjI3OTg0LC00LjY4NjAyYy0wLjI4NjAzLC0xLjQ3Nzc1IC0wLjQzMTEyLC0yLjk3OTMgLTAuNDMzMzQsLTQuNDg0NDdjLTAuMTE4MTcsLTIuMzUyMzQgMC4zMDU5MiwtNC43MDAzNyAxLjIzOTUzLC02Ljg2Mjc1YzAuOTY3NCwtMS44NjE3MyAyLjI1MzIsLTMuNTM5NzYgMy43OTkyMSwtNC45NTgxMWwwLjE2MTI0LC0wLjE3MTMybDQuNzQ2NDksLTQuNzM2NDFjLTAuNDk3NDcsLTEuMTI2MDIgLTAuOTA4NDgsLTIuMjg4MjggLTEuMjI5NDUsLTMuNDc2NzNjLTEuNTU2MSwtNS4xOTU4OSAtMC44NTM4MiwtMTAuODA2NzUgMS45MzQ4OCwtMTUuNDU4ODRjNC4zMDMwOCwtNy4wMzQwNyAxMy45NTczLC0xMi4yNjQyOCAzMC42NjU3MywtMTIuNDM1Nmw0LjIwMjMxLC00LjE5MjIzYzAuNDQzNjgsLTAuNjA4MzIgMC45ODExMSwtMS4xNDIzNSAxLjU5MjI0LC0xLjU4MjE2YzAuMTk4NTcsLTAuMTg3MzEgMC40MjY3LC0wLjM0MDUzIDAuNjc1MTksLTAuNDUzNDhjMy43Mzg3NCwtMi4yNTczNSA5LjI3MTI3LC0xLjM2MDQ2IDE1LjY0MDIzLDEuOTI0OHpNODkuMDQ3NDMsNTkuNzY4NjljLTIuNDY3MiwtMC41NTk2NiAtNC44Njg3NCwtMS4zNzcwNyAtNy4xNjUwOCwtMi40Mzg3NWMtNy4wNTQyMywtMy4xODQ0OCAtMTUuMjI3MDYsLTguODc4MjUgLTIyLjc2NSwtMTYuNDA2MTJjLTYuNjY3MjcsLTYuNTA2NzYgLTEyLjA3ODUxLC0xNC4xODYzNiAtMTUuOTYyNzEsLTIyLjY1NDE1Yy0xLjA5ODI2LC0yLjQ3ODQ1IC0xLjkwNjQ2LC01LjA3NTUxIC0yLjQwODUyLC03LjczOTQ5bC0yNi40MTg5OCwyNi4zMDIyYzEzLjg4MzU3LDE1LjAzNzU5IDU1LjM3MjM3LDIwLjM1NTk0IDY4LjI0MTMsMTQuODQzNTZjMS41Mjk5NywtMC42MjYxMiAzLjI3OTE1LDAuMDkyNzYgMy45MjY2OSwxLjYxMzhjMC42NDc1NCwxLjUyMTAzIC0wLjA0NjcxLDMuMjgwMTQgLTEuNTU4NDksMy45NDg5N2MtMTUuMzI3ODMsNi41NjA0MyAtNjIuNTU4NzYsLTEuNTI1NzYgLTc0Ljg2NjM0LC0xNi4wODMwOWwtMy42OTg0MywzLjczODc0Yy0xLjAxNzksMC45MTQwNSAtMS44ODIxNywxLjk4NTg3IC0yLjU1OTY4LDMuMTc0NGMtMC41MTUzNiwxLjMyNzM3IC0wLjczNTQ1LDIuNzUxMDUgLTAuNjQ0OTYsNC4xNzIwN2MwLjAwNzcsMS4xMTY0MiAwLjExOTA0LDIuMjI5NzIgMC4zMzI1NiwzLjMyNTU2YzAuMjM5MTMsMS4yODAyMyAwLjU3NjAzLDIuNTQwMjQgMS4wMDc3NCwzLjc2ODk3YzIuNjMwMjIsNy40ODc1NiA4LjA2MTk3LDE1LjM4ODI5IDE0LjgyMzk2LDIyLjA1OTU4YzYuNzYxOTksNi42NzEyOSAxNC41MjE2MywxMi4wMjI0MiAyMS45Nzg5NiwxNC40OTE0YzEuNTY2MjEsMC41NCAzLjE4OTIzLDAuODk4NDEgNC44MzcxOSwxLjA2ODIxdjBjMS40MTQ4NiwwLjEzOTQgMi44NDI3NywwLjA1NzgxIDQuMjMyNTMsLTAuMjQxODZjMS43MDkzMywtMC4yOTg5NCAzLjI0ODUxLC0xLjIxNzQxIDQuMzIzMjMsLTIuNTc5ODNjMC4wNjA0NiwtMC4wNzA1NCAwLjY0NDk2LC0wLjY0NDk2IDAuNjM0ODgsLTAuNjU1MDR6IiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjwvZz48L2c+PC9zdmc+PCEtLXJvdGF0aW9uQ2VudGVyOjU4LjkyODA4ODk1NTAxODk4OjU3LjY1MTk0MTAyMjI0MTgzLS0+",opcode:"gradientAngle",blockType:i.REPORTER,text:"make a gradient with [COLOR1] and [COLOR2] at angle [ANGLE]",arguments:{COLOR1:{type:n.COLOR,defaultValue:"#ff0000"},COLOR2:{type:n.COLOR,defaultValue:"#6ed02d"},ANGLE:{type:n.ANGLE,defaultValue:"90"}}},{blockIconURI:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMTYuNDE5NjQiIGhlaWdodD0iMTE4LjM0OTk0IiB2aWV3Qm94PSIwLDAsMTE2LjQxOTY0LDExOC4zNDk5NCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC45MjgwOSw3LjY1MTk0KSI+PGcgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aXNQYWludGluZ0xheWVyJnF1b3Q7OnRydWV9IiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6IG5vcm1hbCI+PHBhdGggZD0iTTQuNDk0OTYsNDYuMzAwNDRjMi40Mjk4NiwwLjQ4NTA1IDE0LjQ5MTQ3LDI0LjExMSAzMS41NTQ1NSwyMS4yNjQ1YzE1LjUxNTYzLC0yLjU4ODM2IDEuNjU1NjMsMjMuNDU1NDUgNDAuODIwMjEsMy43Njg2OWwtMjAuOTM0NzYsMTkuMDI2ODJjMCwwIC0wLjU3LDAuNTggLTAuNjMsMC42NWMtMS4wNjY0NiwxLjM1MTk0IC0yLjU5MzgxLDIuMjYzMzYgLTQuMjksMi41NmMtMS4zNzkwOCwwLjI5NzM2IC0yLjc5NjAyLDAuMzc4MzMgLTQuMiwwLjI0djBjLTEuNjM1MjksLTAuMTY4NDkgLTMuMjQ1ODMsLTAuNTI0MTUgLTQuOCwtMS4wNmMtNy40LC0yLjQ4IC0xNS4xNywtNy44IC0yMS43OSwtMTQuMzdjLTYuNjIsLTYuNTcgLTEyLjA3LC0xNC40NiAtMTQuNjgsLTIxLjg5Yy0wLjQyODQsLTEuMjE5MjkgLTAuNzYyNzEsLTIuNDY5NjIgLTEsLTMuNzRjLTAuMjExODgsLTEuMDg3NDIgLTAuMzIyMzYsLTIuMTkyMTYgLTAuMzMsLTMuM2MtMC4wMzY2MiwtMS4wNTc1MiAwLjA1NzQyLC0yLjExNTUyIDAuMjgsLTMuMTV6IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0zMS43NzcxOCwxMC41NTAzM2MtMTAuMjk5MTcsMS4xMDg1MiAtMTYuMzQ1NjUsNC42NjU4NyAtMTkuMTQ3MTksOS4xODA1N2MtMS44OTIyLDMuMjQ3OTcgLTIuMzQxNTYsNy4xMzg3MiAtMS4yMzk1MywxMC43MzI1bDAuMDkwNywwLjM0MjY0bDIwLjI2NTc5LC0yMC4yNTU3MXpNNzguMjg0NjksMjEuNzU2NDhjLTcuMzQ2NDcsLTcuMzU2NTUgLTE0Ljc3MzU3LC0xMy4xMDA3IC0yMC44OTA1OSwtMTYuMjk1MjdjLTQuMzQzMzksLTIuMjM3MiAtNy43Mjk0MiwtMy4xMzQwOSAtOS4zOTIyLC0yLjE4NjgxbC0wLjgyNjM2LDAuODI2MzZjLTEuMjI5NDUsMi4wMTU1IC0wLjUxMzk2LDYuMzA4NDkgMS43OTM3OSwxMS42Njk3YzMuNTYzMzUsNy43MzIxOSA4LjUyMDE1LDE0Ljc0MjA4IDE0LjYyMjQsMjAuNjc4OTdjNi45OTM3Nyw2Ljk5Mzc3IDE0LjUwMTQ4LDEyLjIzNDA0IDIwLjg5MDU5LDE1LjExNjJjNC41NDQ5NCwyLjAxNTUgOC4yNzM2LDIuOTIyNDcgMTAuNDMwMTgsMi4zMzc5N2wxLjkyNDgsLTEuOTM0ODhjMC40NTM0OCwtMS45MjQ4IC0wLjUwMzg4LC01LjE3OTgyIC0yLjUwOTI5LC05LjIwMDczYy0zLjExMzk0LC02LjI1ODExIC04Ljc4NzU1LC0xMy43NjU4MiAtMTYuMDQzMzMsLTIxLjAxMTUyek02MC4yODYzMywtMC4xNTE5NGM2LjcxMTU5LDMuNDU2NTcgMTQuNjkyOTUsOS42NDQxNCAyMi40ODI4MywxNy40MzQwMmM3Ljc4OTg5LDcuNzg5ODkgMTMuODU2NTIsMTUuODIxNjMgMTcuMjIyMzksMjIuNzI0NjljMy43NzkwNSw3LjU2ODE4IDQuMzgzNywxNC4wMjc4NCAwLjY5NTM0LDE3LjcxNjE5Yy0wLjYwNTgsMC41Nzc0OSAtMS4yOTU1MiwxLjA1OTk2IC0yLjA0NTcyLDEuNDMxbC0zOS40MjMwNiwzOS40MDI5Yy0yLjM2ODIsMi4zODgzNiAtMy4zNTU4LDMuMzk2MTEgLTcuNDM3MTcsNC4zMTMxNWMtMi4wMzEzMiwwLjQ0MDM3IC00LjExODcsMC41NjI3NiAtNi4xODc1NywwLjM2Mjc4Yy0yLjE0MTgzLC0wLjIwNzggLTQuMjUyMTUsLTAuNjY0MzcgLTYuMjg4MzQsLTEuMzYwNDZjLTguMzk0NTMsLTIuODIxNjkgLTE3LjEzMTY5LC04LjcyNzA5IC0yNC40MDc2MiwtMTUuOTgyODZjLTcuMjc1OTMsLTcuMjU1NzcgLTEzLjM3MjgsLTE2LjA1MzQxIC0xNi4zMjU1LC0yNC40NjgxYy0wLjU1MDQ2LC0xLjUyNTUyIC0wLjk3ODQzLC0zLjA5MjQ4IC0xLjI3OTg0LC00LjY4NjAyYy0wLjI4NjAzLC0xLjQ3Nzc1IC0wLjQzMTEyLC0yLjk3OTMgLTAuNDMzMzQsLTQuNDg0NDdjLTAuMTE4MTcsLTIuMzUyMzQgMC4zMDU5MiwtNC43MDAzNyAxLjIzOTUzLC02Ljg2Mjc1YzAuOTY3NCwtMS44NjE3MyAyLjI1MzIsLTMuNTM5NzYgMy43OTkyMSwtNC45NTgxMWwwLjE2MTI0LC0wLjE3MTMybDQuNzQ2NDksLTQuNzM2NDFjLTAuNDk3NDcsLTEuMTI2MDIgLTAuOTA4NDgsLTIuMjg4MjggLTEuMjI5NDUsLTMuNDc2NzNjLTEuNTU2MSwtNS4xOTU4OSAtMC44NTM4MiwtMTAuODA2NzUgMS45MzQ4OCwtMTUuNDU4ODRjNC4zMDMwOCwtNy4wMzQwNyAxMy45NTczLC0xMi4yNjQyOCAzMC42NjU3MywtMTIuNDM1Nmw0LjIwMjMxLC00LjE5MjIzYzAuNDQzNjgsLTAuNjA4MzIgMC45ODExMSwtMS4xNDIzNSAxLjU5MjI0LC0xLjU4MjE2YzAuMTk4NTcsLTAuMTg3MzEgMC40MjY3LC0wLjM0MDUzIDAuNjc1MTksLTAuNDUzNDhjMy43Mzg3NCwtMi4yNTczNSA5LjI3MTI3LC0xLjM2MDQ2IDE1LjY0MDIzLDEuOTI0OHpNODkuMDQ3NDMsNTkuNzY4NjljLTIuNDY3MiwtMC41NTk2NiAtNC44Njg3NCwtMS4zNzcwNyAtNy4xNjUwOCwtMi40Mzg3NWMtNy4wNTQyMywtMy4xODQ0OCAtMTUuMjI3MDYsLTguODc4MjUgLTIyLjc2NSwtMTYuNDA2MTJjLTYuNjY3MjcsLTYuNTA2NzYgLTEyLjA3ODUxLC0xNC4xODYzNiAtMTUuOTYyNzEsLTIyLjY1NDE1Yy0xLjA5ODI2LC0yLjQ3ODQ1IC0xLjkwNjQ2LC01LjA3NTUxIC0yLjQwODUyLC03LjczOTQ5bC0yNi40MTg5OCwyNi4zMDIyYzEzLjg4MzU3LDE1LjAzNzU5IDU1LjM3MjM3LDIwLjM1NTk0IDY4LjI0MTMsMTQuODQzNTZjMS41Mjk5NywtMC42MjYxMiAzLjI3OTE1LDAuMDkyNzYgMy45MjY2OSwxLjYxMzhjMC42NDc1NCwxLjUyMTAzIC0wLjA0NjcxLDMuMjgwMTQgLTEuNTU4NDksMy45NDg5N2MtMTUuMzI3ODMsNi41NjA0MyAtNjIuNTU4NzYsLTEuNTI1NzYgLTc0Ljg2NjM0LC0xNi4wODMwOWwtMy42OTg0MywzLjczODc0Yy0xLjAxNzksMC45MTQwNSAtMS44ODIxNywxLjk4NTg3IC0yLjU1OTY4LDMuMTc0NGMtMC41MTUzNiwxLjMyNzM3IC0wLjczNTQ1LDIuNzUxMDUgLTAuNjQ0OTYsNC4xNzIwN2MwLjAwNzcsMS4xMTY0MiAwLjExOTA0LDIuMjI5NzIgMC4zMzI1NiwzLjMyNTU2YzAuMjM5MTMsMS4yODAyMyAwLjU3NjAzLDIuNTQwMjQgMS4wMDc3NCwzLjc2ODk3YzIuNjMwMjIsNy40ODc1NiA4LjA2MTk3LDE1LjM4ODI5IDE0LjgyMzk2LDIyLjA1OTU4YzYuNzYxOTksNi42NzEyOSAxNC41MjE2MywxMi4wMjI0MiAyMS45Nzg5NiwxNC40OTE0YzEuNTY2MjEsMC41NCAzLjE4OTIzLDAuODk4NDEgNC44MzcxOSwxLjA2ODIxdjBjMS40MTQ4NiwwLjEzOTQgMi44NDI3NywwLjA1NzgxIDQuMjMyNTMsLTAuMjQxODZjMS43MDkzMywtMC4yOTg5NCAzLjI0ODUxLC0xLjIxNzQxIDQuMzIzMjMsLTIuNTc5ODNjMC4wNjA0NiwtMC4wNzA1NCAwLjY0NDk2LC0wLjY0NDk2IDAuNjM0ODgsLTAuNjU1MDR6IiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1vcGFjaXR5PSIwLjEyOTQxIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMTUiLz48cGF0aCBkPSJNMzEuNzc3MTgsMTAuNTUwMzNjLTEwLjI5OTE3LDEuMTA4NTIgLTE2LjM0NTY1LDQuNjY1ODcgLTE5LjE0NzE5LDkuMTgwNTdjLTEuODkyMiwzLjI0Nzk3IC0yLjM0MTU2LDcuMTM4NzIgLTEuMjM5NTMsMTAuNzMyNWwwLjA5MDcsMC4zNDI2NGwyMC4yNjU3OSwtMjAuMjU1NzF6TTc4LjI4NDY5LDIxLjc1NjQ4Yy03LjM0NjQ3LC03LjM1NjU1IC0xNC43NzM1NywtMTMuMTAwNyAtMjAuODkwNTksLTE2LjI5NTI3Yy00LjM0MzM5LC0yLjIzNzIgLTcuNzI5NDIsLTMuMTM0MDkgLTkuMzkyMiwtMi4xODY4MWwtMC44MjYzNiwwLjgyNjM2Yy0xLjIyOTQ1LDIuMDE1NSAtMC41MTM5Niw2LjMwODQ5IDEuNzkzNzksMTEuNjY5N2MzLjU2MzM1LDcuNzMyMTkgOC41MjAxNSwxNC43NDIwOCAxNC42MjI0LDIwLjY3ODk3YzYuOTkzNzcsNi45OTM3NyAxNC41MDE0OCwxMi4yMzQwNCAyMC44OTA1OSwxNS4xMTYyYzQuNTQ0OTQsMi4wMTU1IDguMjczNiwyLjkyMjQ3IDEwLjQzMDE4LDIuMzM3OTdsMS45MjQ4LC0xLjkzNDg4YzAuNDUzNDgsLTEuOTI0OCAtMC41MDM4OCwtNS4xNzk4MiAtMi41MDkyOSwtOS4yMDA3M2MtMy4xMTM5NCwtNi4yNTgxMSAtOC43ODc1NSwtMTMuNzY1ODIgLTE2LjA0MzMzLC0yMS4wMTE1MnpNNjAuMjg2MzMsLTAuMTUxOTRjNi43MTE1OSwzLjQ1NjU3IDE0LjY5Mjk1LDkuNjQ0MTQgMjIuNDgyODMsMTcuNDM0MDJjNy43ODk4OSw3Ljc4OTg5IDEzLjg1NjUyLDE1LjgyMTYzIDE3LjIyMjM5LDIyLjcyNDY5YzMuNzc5MDUsNy41NjgxOCA0LjM4MzcsMTQuMDI3ODQgMC42OTUzNCwxNy43MTYxOWMtMC42MDU4LDAuNTc3NDkgLTEuMjk1NTIsMS4wNTk5NiAtMi4wNDU3MiwxLjQzMWwtMzkuNDIzMDYsMzkuNDAyOWMtMi4zNjgyLDIuMzg4MzYgLTMuMzU1OCwzLjM5NjExIC03LjQzNzE3LDQuMzEzMTVjLTIuMDMxMzIsMC40NDAzNyAtNC4xMTg3LDAuNTYyNzYgLTYuMTg3NTcsMC4zNjI3OGMtMi4xNDE4MywtMC4yMDc4IC00LjI1MjE1LC0wLjY2NDM3IC02LjI4ODM0LC0xLjM2MDQ2Yy04LjM5NDUzLC0yLjgyMTY5IC0xNy4xMzE2OSwtOC43MjcwOSAtMjQuNDA3NjIsLTE1Ljk4Mjg2Yy03LjI3NTkzLC03LjI1NTc3IC0xMy4zNzI4LC0xNi4wNTM0MSAtMTYuMzI1NSwtMjQuNDY4MWMtMC41NTA0NiwtMS41MjU1MiAtMC45Nzg0MywtMy4wOTI0OCAtMS4yNzk4NCwtNC42ODYwMmMtMC4yODYwMywtMS40Nzc3NSAtMC40MzExMiwtMi45NzkzIC0wLjQzMzM0LC00LjQ4NDQ3Yy0wLjExODE3LC0yLjM1MjM0IDAuMzA1OTIsLTQuNzAwMzcgMS4yMzk1MywtNi44NjI3NWMwLjk2NzQsLTEuODYxNzMgMi4yNTMyLC0zLjUzOTc2IDMuNzk5MjEsLTQuOTU4MTFsMC4xNjEyNCwtMC4xNzEzMmw0Ljc0NjQ5LC00LjczNjQxYy0wLjQ5NzQ3LC0xLjEyNjAyIC0wLjkwODQ4LC0yLjI4ODI4IC0xLjIyOTQ1LC0zLjQ3NjczYy0xLjU1NjEsLTUuMTk1ODkgLTAuODUzODIsLTEwLjgwNjc1IDEuOTM0ODgsLTE1LjQ1ODg0YzQuMzAzMDgsLTcuMDM0MDcgMTMuOTU3MywtMTIuMjY0MjggMzAuNjY1NzMsLTEyLjQzNTZsNC4yMDIzMSwtNC4xOTIyM2MwLjQ0MzY4LC0wLjYwODMyIDAuOTgxMTEsLTEuMTQyMzUgMS41OTIyNCwtMS41ODIxNmMwLjE5ODU3LC0wLjE4NzMxIDAuNDI2NywtMC4zNDA1MyAwLjY3NTE5LC0wLjQ1MzQ4YzMuNzM4NzQsLTIuMjU3MzUgOS4yNzEyNywtMS4zNjA0NiAxNS42NDAyMywxLjkyNDh6TTg5LjA0NzQzLDU5Ljc2ODY5Yy0yLjQ2NzIsLTAuNTU5NjYgLTQuODY4NzQsLTEuMzc3MDcgLTcuMTY1MDgsLTIuNDM4NzVjLTcuMDU0MjMsLTMuMTg0NDggLTE1LjIyNzA2LC04Ljg3ODI1IC0yMi43NjUsLTE2LjQwNjEyYy02LjY2NzI3LC02LjUwNjc2IC0xMi4wNzg1MSwtMTQuMTg2MzYgLTE1Ljk2MjcxLC0yMi42NTQxNWMtMS4wOTgyNiwtMi40Nzg0NSAtMS45MDY0NiwtNS4wNzU1MSAtMi40MDg1MiwtNy43Mzk0OWwtMjYuNDE4OTgsMjYuMzAyMmMxMy44ODM1NywxNS4wMzc1OSA1NS4zNzIzNywyMC4zNTU5NCA2OC4yNDEzLDE0Ljg0MzU2YzEuNTI5OTcsLTAuNjI2MTIgMy4yNzkxNSwwLjA5Mjc2IDMuOTI2NjksMS42MTM4YzAuNjQ3NTQsMS41MjEwMyAtMC4wNDY3MSwzLjI4MDE0IC0xLjU1ODQ5LDMuOTQ4OTdjLTE1LjMyNzgzLDYuNTYwNDMgLTYyLjU1ODc2LC0xLjUyNTc2IC03NC44NjYzNCwtMTYuMDgzMDlsLTMuNjk4NDMsMy43Mzg3NGMtMS4wMTc5LDAuOTE0MDUgLTEuODgyMTcsMS45ODU4NyAtMi41NTk2OCwzLjE3NDRjLTAuNTE1MzYsMS4zMjczNyAtMC43MzU0NSwyLjc1MTA1IC0wLjY0NDk2LDQuMTcyMDdjMC4wMDc3LDEuMTE2NDIgMC4xMTkwNCwyLjIyOTcyIDAuMzMyNTYsMy4zMjU1NmMwLjIzOTEzLDEuMjgwMjMgMC41NzYwMywyLjU0MDI0IDEuMDA3NzQsMy43Njg5N2MyLjYzMDIyLDcuNDg3NTYgOC4wNjE5NywxNS4zODgyOSAxNC44MjM5NiwyMi4wNTk1OGM2Ljc2MTk5LDYuNjcxMjkgMTQuNTIxNjMsMTIuMDIyNDIgMjEuOTc4OTYsMTQuNDkxNGMxLjU2NjIxLDAuNTQgMy4xODkyMywwLjg5ODQxIDQuODM3MTksMS4wNjgyMXYwYzEuNDE0ODYsMC4xMzk0IDIuODQyNzcsMC4wNTc4MSA0LjIzMjUzLC0wLjI0MTg2YzEuNzA5MzMsLTAuMjk4OTQgMy4yNDg1MSwtMS4yMTc0MSA0LjMyMzIzLC0yLjU3OTgzYzAuMDYwNDYsLTAuMDcwNTQgMC42NDQ5NiwtMC42NDQ5NiAwLjYzNDg4LC0wLjY1NTA0eiIgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMTAiLz48L2c+PC9nPjwvc3ZnPjwhLS1yb3RhdGlvbkNlbnRlcjo1OC45MjgwOTo1Ny42NTE5Mzk5OTk5OTk5OTYtLT4=",disableMonitor:!0,opcode:"transparentinput",blockType:i.REPORTER,text:"transparent"},{blockIconURI:K,disableMonitor:!0,opcode:"pictureinput",blockType:i.REPORTER,text:"image [URL]",arguments:{URL:{type:n.STRING,defaultValue:"https://extensions.turbowarp.org/dango.png"}}},"---",{blockIconURI:K,disableMonitor:!0,opcode:"setAskURI",blockType:i.COMMAND,text:"set ask prompt button image to [URL]",arguments:{URL:{type:n.STRING,defaultValue:"https://extensions.turbowarp.org/dango.png"}}},"---",{blockIconURI:W,opcode:"setbordersize",blockType:i.COMMAND,text:"set border width of [BORDER] to [SIZE]",arguments:{BORDER:{type:n.STRING,menu:"BORDER_WIDTH_MENU"},SIZE:{type:n.NUMBER,defaultValue:"2"}}},{blockIconURI:W,opcode:"setborderradius",blockType:i.COMMAND,text:"set roundness of [CORNER] to [SIZE]",arguments:{SIZE:{type:n.NUMBER,defaultValue:"4"},CORNER:{type:n.STRING,menu:"BORDER_ROUNDNESS_MENU"}}},"---",{blockIconURI:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzNDkuMzIzMjQiIGhlaWdodD0iMzI3LjM0OTEyIiB2aWV3Qm94PSIwLDAsMzQ5LjMyMzI0LDMyNy4zNDkxMiI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTY1LjMzODM4LC0xNi4zMjU0NCkiPjxnIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2lzUGFpbnRpbmdMYXllciZxdW90Ozp0cnVlfSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IiIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48cGF0aCBkPSJNMTM2LjQxNTc0LDk3LjkwMTk0Yy0zOC4yNDgwNiw4Mi43NzIyNSAtMzAuNTkzMDYsMjMyLjc5NzI4IDEzOS43MzA3NywyMjAuMDA0MTZjMTQyLjQzOSwtMTAuNjk4NjggMTQzLjc0MTk3LC0xOTIuNTE4ODQgNDMuMzc5NjksLTI0OS41MzgxIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iNTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxwYXRoIGQ9Ik05NS42NDc3MSw0OS43ODA2N2w5OS44NTIyMiwtMC40MDI2MyIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PHBhdGggZD0iTTkxLjQ1MzI4LDY1LjUxNDIxbDEwOS42ODM0NywtMjQuMTg4NzciIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSI1MCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PHBhdGggZD0iTTIwNC4wMjE1Miw0My4yOTQzNWwtOS44MjI0LDEwNi4wMTExMyIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjUwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48cGF0aCBkPSJNOTAuMzM4MzgsNjcuNDI2MDhsMTAzLjUyMzY2LDgyLjIwODIiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSI1MCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PHBhdGggZD0iTTE1My45MTUxOCwxMDMuODQ5ODV2LTMyLjA5NTloMTQuNjk0NTF2MzIuMDk1OXoiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSI1MCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTk1LjQ5OTkyLDQ5LjM3ODA0IiBzdHJva2U9IiNmZjAwMDAiIHN0cm9rZS13aWR0aD0iNTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvZz48L2c+PC9zdmc+PCEtLXJvdGF0aW9uQ2VudGVyOjE3NC42NjE2MjoxNjMuNjc0NTU5OTk5OTk5OTktLT4=",opcode:"clearCSS",blockType:i.COMMAND,text:"reset styles"},"---",{blockIconURI:V,opcode:"allowscrollrule",blockType:i.COMMAND,text:"set list scrolling to [SCROLLRULE]",arguments:{SCROLLRULE:{type:n.STRING,menu:"SCROLL_MENU"}}},{blockIconURI:V,opcode:"getValue",blockType:i.REPORTER,text:"get [ITEM]",arguments:{ITEM:{type:n.STRING,menu:"VALUEGET_LIST"}}},"---",{blockIconURI:V,opcode:"setvarpos",blockType:i.COMMAND,text:"set position of variable [NAME] to x: [X] y: [Y]",arguments:{X:{type:n.NUMBER,defaultValue:"0"},Y:{type:n.NUMBER,defaultValue:"0"},NAME:{type:n.STRING,defaultValue:"my variable"}}},{blockIconURI:V,opcode:"setlistpos",blockType:i.COMMAND,text:"set position of list [NAME] to x: [X] y: [Y]",arguments:{X:{type:n.NUMBER,defaultValue:"0"},Y:{type:n.NUMBER,defaultValue:"0"},NAME:{type:n.STRING,defaultValue:"my variable"}}}],menus:{COLORABLE_MENU:{acceptReporters:!0,items:["monitor text","monitor background","monitor border","variable value background","variable value text","list header background","list footer background","list value background","list value text","ask prompt background","ask prompt button background","ask prompt input background","ask prompt input text","ask prompt input border"]},BORDER_WIDTH_MENU:{acceptReporters:!0,items:["monitor background","ask prompt background","ask prompt input"]},BORDER_ROUNDNESS_MENU:{acceptReporters:!0,items:["monitor background","variable value","list value","ask prompt background","ask prompt button","ask prompt input"]},SCROLL_MENU:{acceptReporters:!0,items:["enabled","disabled"]},VALUEGET_LIST:{acceptReporters:!0,items:["monitor text","monitor background","monitor border color","variable value background","variable value text","list header background","list footer background","list value background","list value text","ask prompt background","ask prompt button background","ask prompt input background","ask prompt input text","ask prompt input border","monitor background border width","ask prompt background border width","ask prompt input border width","monitor background roundness","variable value roundness","list value roundness","ask prompt background roundness","ask prompt button roundness","ask prompt input roundness","ask prompt button image","list scroll rule"]}}}}changecss(A){return((A,e)=>{if(A=r.toString(A),/^#?[a-z0-9]+$/.test(A))return void e(A);if(/^linear-gradient\(\d+deg,#?[a-z0-9]+,#?[a-z0-9]+\)$/.test(A))return void e(A);const t=A.match(/^url\("([A-Za-z0-9\-_.!~*'();/?:@&=+$,#]+)"\)$/);if(t){const n=t[1];return vm.securityManager.canFetch(n).then(t=>{t&&e(A)})}console.error("Invalid color",A)})(A.COLOR,e=>{"monitor text"===A.COLORABLE?I=e:"monitor background"===A.COLORABLE?p=e:"monitor border"===A.COLORABLE?M=e:"variable value background"===A.COLORABLE?m=e:"variable value text"===A.COLORABLE?F=e:"list header background"===A.COLORABLE?Y=e:"list footer background"===A.COLORABLE?D=e:"list value background"===A.COLORABLE?N=e:"list value text"===A.COLORABLE?f=e:"ask prompt background"===A.COLORABLE?G=e:"ask prompt button background"===A.COLORABLE?b=e:"ask prompt input background"===A.COLORABLE?J=e:"ask prompt input text"===A.COLORABLE?L=e:"ask prompt input border"===A.COLORABLE&&(O=e),Z()})}gradientAngle(A){return"linear-gradient("+A.ANGLE+"deg,"+A.COLOR1+","+A.COLOR2+")"}setbordersize(A){const e=r.toNumber(A.SIZE);"monitor background"===A.BORDER?T=e:"ask prompt background"===A.BORDER?H=e:"ask prompt input"===A.BORDER&&(z=e),Z()}setborderradius(A){const e=r.toNumber(A.SIZE);"monitor background"===A.CORNER?x=e:"variable value"===A.CORNER?U=e:"list value"===A.CORNER?y=e:"ask prompt background"===A.CORNER?S=e:"ask prompt button"===A.CORNER?k=e:"ask prompt input"===A.CORNER&&(j=e),Z()}allowscrollrule(A){R="enabled"===A.SCROLLRULE?"auto":"hidden",Z()}setvarpos(A,e){q(e.target,A.NAME,"",r.toNumber(A.X)+this.runtime.stageWidth/2,this.runtime.stageHeight/2-r.toNumber(A.Y))}setlistpos(A,e){q(e.target,A.NAME,"list",r.toNumber(A.X)+this.runtime.stageWidth/2,this.runtime.stageHeight/2-r.toNumber(A.Y))}help(){alert("\nThis is a short introduction to how to use the Monitor Styles extension!\n\n𝗟𝗼𝗼𝗸𝘀 𝗯𝗹𝗼𝗰𝗸𝘀\nThese blocks change the appearance of the variable and list didsplays. You can use the drop-down menu to select what component you want to modify. 𝙏𝙝𝙚 𝙘𝙤𝙡𝙤𝙧 𝙗𝙡𝙤𝙘𝙠 modifieas the color of a component. You can use the 𝙜𝙧𝙖𝙙𝙞𝙚𝙣𝙩 block inside the color input, to create gradients or the 𝙄𝙢𝙖𝙜𝙚 block to use a image instead of solid colors. 𝙏𝙝𝙚𝙨𝙚 𝙩𝙬𝙤 𝙤𝙣𝙡𝙮 𝙬𝙤𝙧𝙠 𝙤𝙣 𝙘𝙚𝙧𝙩𝙖𝙞𝙣 𝙘𝙤𝙢𝙥𝙤𝙣𝙚𝙣𝙩𝙨! You can also use the 𝙩𝙧𝙖𝙣𝙨𝙥𝙖𝙧𝙚𝙣𝙩 𝙗𝙡𝙤𝙘𝙠 as a color input, to make components invisible. The 𝙗𝙤𝙧𝙙𝙚𝙧 𝙗𝙡𝙤𝙘𝙠𝙨 modify the borders of components.\n\n𝗦𝗲𝗻𝘀𝗶𝗻𝗴 𝗯𝗹𝗼𝗰𝗸𝘀\nThese blocks can change the behaviour of certain components. The 𝙨𝙘𝙧𝙤𝙡𝙡 𝙧𝙪𝙡𝙚 block change the behaviour for lists. On 'auto' they will show the scroll bar, and allow you to school, but on 'hidden', they won't let you do that, and the scroll bar will be hidden.\n\n𝗠𝗼𝘁𝗶𝗼𝗻 𝗯𝗹𝗼𝗰𝗸𝘀\nThese blocks allow you to move variable and list displays around. You need to use their 𝙡𝙖𝙗𝙚𝙡 𝙣𝙖𝙢𝙚. The label name is the text that displays on the monitor. For example, a 'for this sprite only' variable will be like 'Sprite1: my variable'.")}transparentinput(){return"transparent"}pictureinput(A){return'url("'.concat(encodeURI(A.URL),'")')}clearCSS(){I="",M="",p="",m="",F="",D="",Y="",f="",N="",U=-1,y=-1,x=-1,T=-1,R="",G="",S=-1,H=-1,b="",k=-1,J="",j=-1,z=-1,v="",L="",P="",O="",Z()}getValue(A){return"monitor text"===A.ITEM?I:"monitor background"===A.ITEM?p:"monitor border color"===A.ITEM?M:"variable value background"===A.ITEM?m:"variable value text"===A.ITEM?F:"list header background"===A.ITEM?Y:"list footer background"===A.ITEM?D:"list value background"===A.ITEM?N:"list value text"===A.ITEM?f:"ask prompt background"===A.ITEM?G:"ask prompt button background"===A.ITEM?b:"ask prompt input background"===A.ITEM?J:"ask prompt input text"===A.ITEM?L:"ask prompt input border"===A.ITEM?O:"monitor background border width"===A.ITEM?T:"ask prompt background border width"===A.ITEM?H:"ask prompt input border width"===A.ITEM?z:"monitor background roundness"===A.ITEM?x:"variable value roundness"===A.ITEM?U:"list value roundness"===A.ITEM?y:"ask prompt background roundness"===A.ITEM?S:"ask prompt button roundness"===A.ITEM?k:"ask prompt input roundness"===A.ITEM?j:"ask prompt button image"===A.ITEM?P:"list scrolling"===A.ITEM?"auto"===R?"enabled":"disabled":""}setAskURI(A){return this.runtime.vm.securityManager.canFetch(A.URL).then(e=>{e&&(P=A.URL,Z())})}}},function(A,e,t){const n=t(3),i=t(1),r=t(2);A.exports=class{getInfo(){return{id:"profanityAPI",name:"Censorship",blocks:[{opcode:"checkProfanity",blockType:i.REPORTER,disableMonitor:!1,text:"remove profanity from [TEXT]",arguments:{TEXT:{type:n.STRING,defaultValue:"Hello, I love pizza!"}}}]}}checkProfanity(A){let{TEXT:e}=A;const t=encodeURIComponent(r.toString(e));return fetch("https://www.purgomalum.com/service/plain?text=".concat(t)).then(A=>A.text()).catch(()=>"")}}},function(A,e,t){const n=t(1),i=t(3),r=(t(13),t(408)),s=t(2),o=new r;A.exports=class{constructor(A){this.runtime=A,o.attachRuntime(A)}static get canvasStorageHeader(){return"canvases: "}deserialize(A){o.canvases={};for(const e of A)o.newCanvas(e.name,e.width,e.height,e.id)}serialize(){return o.getAllCanvases().map(A=>({name:A.name,width:A.width,height:A.height,id:A.id}))}readAsImageElement(A){return new Promise((e,t)=>{const n=new Image;n.onload=function(){e(n),n.onload=null,n.onerror=null},n.onerror=function(){t(new Error("Costume load failed. Asset could not be read.")),n.onload=null,n.onerror=null},n.src=A})}orderCategoryBlocks(A){const e=A[0],t=A[1];delete A[0],delete A[1];const n=o.getAllCanvases().map(A=>t.replace("{canvasId}",A.id));return n.length?(n.reverse().push(e),A=n.reverse().concat(A)):[e]}getInfo(){return{id:"canvas",name:"html canvas",color1:"#0069c2",color2:"#0060B4",color3:"#0060B4",isDynamic:!0,orderBlocks:this.orderCategoryBlocks,blocks:[{opcode:"createNewCanvas",blockType:n.BUTTON,text:"create new canvas"},{opcode:"canvasGetter",blockType:n.REPORTER,arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:"{canvasId}"}},text:"[canvas]"},{blockType:n.LABEL,text:"config"},{opcode:"setGlobalCompositeOperation",text:"set composite operation of [canvas] to [CompositeOperation]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""},CompositeOperation:{type:i.STRING,menu:"CompositeOperation",defaultValue:""}},blockType:n.COMMAND},{opcode:"setSize",text:"set width: [width] height: [height] of [canvas]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""},width:{type:i.NUMBER,defaultValue:this.runtime.stageWidth},height:{type:i.NUMBER,defaultValue:this.runtime.stageHeight}},blockType:n.COMMAND},{opcode:"setTransparency",text:"set transparency of [canvas] to [transparency]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""},transparency:{type:i.NUMBER,defaultValue:"0"}},blockType:n.COMMAND},{opcode:"setFill",text:"set fill color of [canvas] to [color]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""},color:{type:i.COLOR}},blockType:n.COMMAND},{opcode:"setBorderColor",text:"set border color of [canvas] to [color]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""},color:{type:i.COLOR}},blockType:n.COMMAND},{blockType:n.LABEL,text:"drawing"},{opcode:"clearCanvas",text:"clear canvas [canvas]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""}},blockType:n.COMMAND},{opcode:"clearAria",text:"clear area at x: [x] y: [y] with width: [width] height: [height] on [canvas]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""},x:{type:i.NUMBER,defaultValue:"0"},y:{type:i.NUMBER,defaultValue:"0"},width:{type:i.NUMBER,defaultValue:this.runtime.stageWidth},height:{type:i.NUMBER,defaultValue:this.runtime.stageHeight}},blockType:n.COMMAND},"---",{opcode:"drawRect",text:"draw rectangle at x: [x] y: [y] with width: [width] height: [height] on [canvas]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""},x:{type:i.NUMBER,defaultValue:"0"},y:{type:i.NUMBER,defaultValue:"0"},width:{type:i.NUMBER,defaultValue:this.runtime.stageWidth},height:{type:i.NUMBER,defaultValue:this.runtime.stageHeight}},blockType:n.COMMAND},{opcode:"drawImage",text:"draw image [src] at x: [x] y: [y] on [canvas]",arguments:{canvas:{type:i.STRING,menu:"canvas",defaultValue:""},x:{type:i.NUMBER,defaultValue:"0"},y:{type:i.NUMBER,defaultValue:"0"},src:{type:i.STRING,defaultValue:"https://studio.penguinmod.com/favicon.ico"}},blockType:n.COMMAND}],menus:{canvas:"getCanvasMenuItems",CompositeOperation:{items:[{text:"source-over",value:"source-over"},{text:"source-in",value:"source-in"},{text:"source-out",value:"source-out"},{text:"source-atop",value:"source-atop"},{text:"destination-over",value:"destination-over"},{text:"destination-in",value:"destination-in"},{text:"destination-out",value:"destination-out"},{text:"destination-atop",value:"destination-atop"},{text:"lighter",value:"lighter"},{text:"copy",value:"copy"},{text:"xor",value:"xor"},{text:"multiply",value:"multiply"},{text:"screen",value:"screen"},{text:"overlay",value:"overlay"},{text:"darken",value:"darken"},{text:"lighten",value:"lighten"},{text:"color-dodge",value:"color-dodge"},{text:"color-burn",value:"color-burn"},{text:"hard-light",value:"hard-light"},{text:"soft-light",value:"soft-light"},{text:"difference",value:"difference"},{text:"exclusion",value:"exclusion"},{text:"hue",value:"hue"},{text:"saturation",value:"saturation"},{text:"color",value:"color"},{text:"luminosity",value:"luminosity"}]}}}}createNewCanvas(){const A=prompt("canvas name?","newCanvas");if(!A)return alert("Canceled");o.getCanvasByName(A)||(o.newCanvas(A),vm.emitWorkspaceUpdate(),this.serialize())}getCanvasMenuItems(){const A=o.getAllCanvases();return A.length<1?[{text:"",value:""}]:A.map(A=>({text:A.name,value:A.id}))}canvasGetter(A){return o.getCanvas(A.canvas).element.toDataURL()}setGlobalCompositeOperation(A){o.getCanvas(A.canvas).context.globalCompositeOperation=A.CompositeOperation}setBorderColor(A){const e=s.toString(A.color);o.getCanvas(A.canvas).context.strokeStyle=e}setFill(A){const e=s.toString(A.color);o.getCanvas(A.canvas).context.fillStyle=e}setSize(A){const e=o.getCanvas(A.canvas);e.element.width=A.width,e.element.height=A.height,e.context=e.element.getContext("2d")}drawRect(A){o.getCanvas(A.canvas).context.fillRect(A.x,A.y,A.width,A.height)}drawImage(A){return new Promise(e=>{const t=o.getCanvas(A.canvas),n=new Image;n.onload=()=>{t.context.drawImage(n,A.x,A.y),e()},n.src=A.src})}clearAria(A){o.getCanvas(A.canvas).context.clearRect(A.x,A.y,A.width,A.height)}clearCanvas(A){const e=o.getCanvas(A.canvas);e.context.clearRect(0,0,e.width,e.height)}setTransparency(A){o.getCanvas(A.canvas).context.globalAlpha=A.transparency/100}}},function(A,e,t){const n=t(14);A.exports=class{constructor(){this.canvases={}}attachRuntime(A){this.runtime=A}getCanvas(A){return this.canvases[A]}deleteCanvas(A){const e=this.canvases[A];return delete this.canvases[A],e}newCanvas(A,e,t,i){e=e||this.runtime.stageWidth,t=t||this.runtime.stageHeight;const r=i||n(),s=document.createElement("canvas");s.id=r,s.width=e,s.height=t;const o={name:A,id:r,element:s,skinId:this.runtime.renderer?this.runtime.renderer.createBitmapSkin(s,1):null,width:e,height:t,context:s.getContext("2d")};return this.canvases[r]=o,o}getCanvasByName(A){return Object.values(this.canvases).find(e=>e.name===A)}getAllCanvases(){return Object.values(this.canvases)}}},function(A,e,t){const n=t(1),i=t(3),r=t(2);A.exports=class{constructor(A){this.runtime=A}getThreadVars(A){return A.tempVars||(A.tempVars={}),A.tempVars}getInfo(){return{id:"tempVars",name:"Temporary Variables",color1:"#0069c2",color2:"#0060B4",color3:"#0060B4",blocks:[{opcode:"setVariable",text:"set [name] to [value]",arguments:{name:{type:i.STRING,defaultValue:"Variable"},value:{type:i.STRING,defaultValue:"Value"}},blockType:n.COMMAND},{opcode:"changeVariable",text:"change [name] by [value]",arguments:{name:{type:i.STRING,defaultValue:"Variable"},value:{type:i.NUMBER,defaultValue:"1"}},blockType:n.COMMAND},{opcode:"getVariable",text:"get [name]",arguments:{name:{type:i.STRING,defaultValue:"Variable"}},blockType:n.REPORTER},"---",{opcode:"deleteVariable",text:"delete [name]",arguments:{name:{type:i.STRING,defaultValue:"Variable"}},blockType:n.COMMAND},{opcode:"deleteAllVariables",text:"delete all variables",blockType:n.COMMAND},{opcode:"variableExists",text:"variable [name] exists?",arguments:{name:{type:i.STRING,defaultValue:"Variable"}},disableMonitor:!0,blockType:n.BOOLEAN},{opcode:"allVariables",text:"current variables",arguments:{name:{type:i.STRING,defaultValue:"Variable"}},disableMonitor:!0,blockType:n.REPORTER},"---",{opcode:"forEachTempVar",text:"for each [NAME] in [REPEAT]",branchCount:1,blockType:n.LOOP,arguments:{NAME:{type:i.STRING,defaultValue:"Variable"},REPEAT:{type:i.NUMBER,defaultValue:10}}}]}}getCompileInfoOld(){return{ir:{forEachTempVar:(A,e)=>(A.analyzeLoop(),{kind:"stack",name:A.descendInputOfBlock(e,"NAME"),repeat:A.descendInputOfBlock(e,"REPEAT"),do:A.descendSubstack(e,"SUBSTACK")})},js:{forEachTempVar:(A,e,t)=>{const n=e.localVariables.next(),i=e.localVariables.next(),r=e.descendInput(A.name).asString(),s="('threadVar_' + ".concat(r,")");e.source+="var ".concat(n," = 0; "),e.source+="var ".concat(i," = ").concat(s,"; "),e.source+="while (".concat(n," < ").concat(e.descendInput(A.repeat).asNumber(),") { "),e.source+="".concat(n,"++; "),e.source+="if (!thread.tempVars) { ",e.source+="thread.tempVars = {}; ",e.source+="}\n",e.source+="thread.tempVars[".concat(i,"] = ").concat(n,";\n"),e.descendStack(A.do,new t.Frame(!0)),e.yieldLoop(),e.source+="}\n"}}}}setVariable(A,e){this.getThreadVars(e.thread)["threadVar_".concat(A.name)]=A.value}changeVariable(A,e){const t=this.getThreadVars(e.thread),n="threadVar_".concat(A.name),i=Number(t[n]),r=i+A.value;t[n]=i?r:Number(A.value)}getVariable(A,e){const t=this.getThreadVars(e.thread)["threadVar_".concat(A.name)];return t||""}deleteVariable(A,e){const t=this.getThreadVars(e.thread),n="threadVar_".concat(A.name);n in t&&delete t[n]}deleteAllVariables(A,e){e.thread.tempVars={}}variableExists(A,e){const t=this.getThreadVars(e.thread);return"threadVar_".concat(A.name)in t}allVariables(A,e){const t=this.getThreadVars(e.thread),n=Object.keys(t).map(A=>A.replace("threadVar_",""));return JSON.stringify(n)}forEachTempVar(A,e){const t=r.toNumber(A.REPEAT),n=r.toString(A.NAME);if(void 0===e.stackFrame.loopCounter&&(e.stackFrame.loopCounter=t),e.stackFrame.loopCounter--,e.stackFrame.loopCounter>=0){const A=t-e.stackFrame.loopCounter-1;this.setVariable({name:n,value:A+1},e),e.startBranch(1,!0)}}}},function(A,e,t){function n(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const i=t(1),r=t(3),s=t(13),{validateJSON:o}=t(17),a=t(2);A.exports=class{constructor(A){n(this,"deafultHsv",'{"h": 360, "s": 1, "v": 1}'),n(this,"deafultRgb",'{"r": 255, "g": 0, "b": 0}'),n(this,"deafultHex","#ff0000"),n(this,"deafultDecimal","16711680"),this.runtime=A}getInfo(){return{id:"colors",name:"Colors",color1:"#ff4c4c",color2:"#e64444",blocks:[{opcode:"colorPicker",text:"[OUTPUT] of [COLOR]",disableMonitor:!0,arguments:{OUTPUT:{type:r.STRING,menu:"outputColorType"},COLOR:{type:r.COLOR}},blockType:i.REPORTER},{opcode:"defaultBlack",text:"black",disableMonitor:!0,blockType:i.REPORTER},{opcode:"defaultWhite",text:"white",disableMonitor:!0,blockType:i.REPORTER},{blockType:i.LABEL,text:"RGB"},{opcode:"rgbToDecimal",text:"rgb [color] to decimal",arguments:{color:{type:r.STRING,defaultValue:this.deafultRgb}},blockType:i.REPORTER},{opcode:"rgbToHex",text:"rgb [color] to hex",arguments:{color:{type:r.STRING,defaultValue:this.deafultRgb}},blockType:i.REPORTER},{opcode:"rgbToHsv",text:"rgb [color] to hsv",arguments:{color:{type:r.STRING,defaultValue:this.deafultRgb}},blockType:i.REPORTER},{blockType:i.LABEL,text:"Hex"},{opcode:"hexToDecimal",text:"hex [color] to decimal",arguments:{color:{type:r.STRING,defaultValue:this.deafultHex}},blockType:i.REPORTER},{opcode:"hexToRgb",text:"hex [color] to rgb",arguments:{color:{type:r.STRING,defaultValue:this.deafultHex}},blockType:i.REPORTER},{opcode:"hexToHsv",text:"hex [color] to hsv",arguments:{color:{type:r.STRING,defaultValue:this.deafultHex}},blockType:i.REPORTER},{blockType:i.LABEL,text:"Decimal"},{opcode:"decimalToHex",text:"decimal [color] to hex",arguments:{color:{type:r.STRING,defaultValue:this.deafultDecimal}},blockType:i.REPORTER},{opcode:"decimalToRgb",text:"decimal [color] to rgb",arguments:{color:{type:r.STRING,defaultValue:this.deafultDecimal}},blockType:i.REPORTER},{opcode:"decimalToHsv",text:"decimal [color] to hsv",arguments:{color:{type:r.STRING,defaultValue:this.deafultDecimal}},blockType:i.REPORTER},{blockType:i.LABEL,text:"HSV"},{opcode:"hsvToHex",text:"hsv [color] to hex",arguments:{color:{type:r.STRING,defaultValue:this.deafultHsv}},blockType:i.REPORTER},{opcode:"hsvToRgb",text:"hsv [color] to rgb",arguments:{color:{type:r.STRING,defaultValue:this.deafultHsv}},blockType:i.REPORTER},{opcode:"hsvToDecimal",text:"hsv [color] to decimal",arguments:{color:{type:r.STRING,defaultValue:this.deafultHsv}},blockType:i.REPORTER},"---",{blockType:i.LABEL,text:"Other"},{opcode:"csbMaker",text:"color: [h] saturation: [s] brightness: [v] transparency: [a]",arguments:{h:{type:r.NUMBER,defaultValue:"50"},s:{type:r.NUMBER,defaultValue:"50"},v:{type:r.NUMBER,defaultValue:"50"},a:{type:r.NUMBER,defaultValue:"50"}},blockType:i.REPORTER},{opcode:"hsvMaker",text:"h: [h] s: [s] v: [v] a: [a]",arguments:{h:{type:r.NUMBER,defaultValue:"50"},s:{type:r.NUMBER,defaultValue:"50"},v:{type:r.NUMBER,defaultValue:"50"},a:{type:r.NUMBER,defaultValue:"50"}},blockType:i.REPORTER},{opcode:"rgbMaker",text:"r: [r] g: [g] b: [b] a: [a]",arguments:{r:{type:r.NUMBER,defaultValue:"50"},g:{type:r.NUMBER,defaultValue:"50"},b:{type:r.NUMBER,defaultValue:"50"},a:{type:r.NUMBER,defaultValue:"50"}},blockType:i.REPORTER},{opcode:"mixColors",text:"mix [color1] [color2] by [percent]",arguments:{color1:{type:r.STRING,defaultValue:this.deafultRgb},color2:{type:r.STRING,defaultValue:this.deafultRgb},percent:{type:r.NUMBER,defaultValue:"0.5"}},blockType:i.REPORTER}],menus:{outputColorType:{items:[{text:"decimal",value:"decimal"},{text:"rgb",value:"rgb"},{text:"hsv",value:"hsv"},{text:"hex",value:"hex"}],acceptReporters:!0}}}}defaultBlack(){return JSON.stringify(s.RGB_BLACK)}defaultWhite(){return JSON.stringify(s.RGB_WHITE)}colorPicker(A){const e=s.hexToDecimal(A.COLOR),t={color:e};switch(a.toString(A.OUTPUT).toLowerCase()){case"rgb":return this.decimalToRgb(t);case"hsv":return this.decimalToHsv(t);case"hex":return this.decimalToHex(t);default:return e}}csbMaker(A){const e={h:360*A.h/100,s:A.s/100,v:A.v/100};return isNaN(A.a)||(e.a=A.a/100),JSON.stringify(e)}hsvMaker(A){const e={h:A.h,s:A.s,v:A.v};return isNaN(A.a)||(e.a=A.a),JSON.stringify(e)}rgbMaker(A){const e={r:A.r,g:A.g,b:A.b};return isNaN(A.a)||(e.a=A.a),JSON.stringify(e)}mixColors(A){const e=o(A.color1).object,t=o(A.color2).object;return JSON.stringify(s.mixRgb(e,t,A.percent))}rgbToDecimal(A){const e=o(A.color).object;return s.rgbToDecimal(e)}rgbToHex(A){const e=o(A.color).object;return s.rgbToHex(e)}rgbToHsv(A){const e=o(A.color).object;return JSON.stringify(s.rgbToHsv(e))}hexToDecimal(A){const e=A.color;return s.hexToDecimal(e)}hexToRgb(A){const e=s.hexToRgb(A.color);return JSON.stringify(e)}hexToHsv(A){const e=s.hexToRgb(A.color);return JSON.stringify(s.rgbToHsv(e))}decimalToHex(A){const e=Number(A.color);return s.decimalToHex(e)}decimalToRgb(A){const e=s.decimalToRgb(Number(A.color));return JSON.stringify(e)}decimalToHsv(A){const e=s.decimalToRgb(Number(A.color));return JSON.stringify(s.rgbToHsv(e))}hsvToHex(A){const e=s.hsvToRgb(o(A.color).object);return s.rgbToHex(e)}hsvToRgb(A){const e=s.hsvToRgb(o(A.color).object);return JSON.stringify(e)}hsvToDecimal(A){const e=s.hsvToRgb(o(A.color).object);return s.rgbToDecimal(e)}}},function(A,e,t){const n=t(1),i=t(3),r=t(2),s=t(11),o=t(10),a={pos:[0,0],size:100,dir:90,camera:0,silent:!1};A.exports=class{constructor(A){this.runtime=A,A.setRuntimeOptions({fencing:!1}),A.ioDevices.mouse.bindToCamera(0)}_getPenState(A){let e=A._customState.CAMERA_INFO;return e||(e=o.simple(a),A.cameraBound>=0&&(e.camera=A.cameraBound),A.setCustomState("CAMERA_INFO",e)),e}_loadCameraState(A){const e=this._getPenState(A);this.runtime.cameraStates[e.camera]||(this.runtime.cameraStates[e.camera]={pos:[0,0],dir:0,scale:1});const{pos:t,dir:n,scale:i}=this.runtime.cameraStates[e.camera];e.pos=t,e.dir=n+90,e.size=100*i}_updateRender(A){const e=this._getPenState(A);this.runtime.updateCamera(e.camera,{pos:e.pos,dir:90-e.dir,scale:e.size/100},e.silent)}_fixDirection(A){const e=this._getPenState(A);e.dir=s.wrapClamp(e.dir,-179,180)}getInfo(){return{id:"pmCamera",name:"Camera",color1:"#0586FF",blocks:[{opcode:"moveSteps",blockType:n.COMMAND,text:"move camera [STEPS] steps",arguments:{STEPS:{type:i.NUMBER,defaultValue:"10"}}},{opcode:"turnRight",blockType:n.COMMAND,text:"turn camera [DIRECTION] [DEGREES] degrees",arguments:{DIRECTION:{type:i.IMAGE,dataURI:"".concat("static/blocks-media","/rotate-right.svg")},DEGREES:{type:i.NUMBER,defaultValue:"15"}}},{opcode:"turnLeft",blockType:n.COMMAND,text:"turn camera [DIRECTION] [DEGREES] degrees",arguments:{DIRECTION:{type:i.IMAGE,dataURI:"".concat("static/blocks-media","/rotate-left.svg")},DEGREES:{type:i.NUMBER,defaultValue:"15"}}},{opcode:"bindTarget",blockType:n.COMMAND,text:"bind [TARGET] to camera [SCREEN]",arguments:{TARGET:{type:i.STRING,menu:"BINDABLE_TARGETS"},SCREEN:{type:i.NUMBER,defaultValue:"0"}}},{opcode:"unbindTarget",blockType:n.COMMAND,text:"unbind [TARGET] from the camera",arguments:{TARGET:{type:i.STRING,menu:"BINDABLE_TARGETS"}}},{opcode:"setCurrentCamera",blockType:n.COMMAND,text:"set current camera to [SCREEN]",arguments:{SCREEN:{type:i.NUMBER,defaultValue:"0"}}},{opcode:"setRenderImediat",blockType:n.COMMAND,text:"set render mode to [RENDER_MODE]",arguments:{RENDER_MODE:{type:i.STRING,menu:"RENDER_MODES"}}},{opcode:"manualRender",blockType:n.COMMAND,text:"render camera"},"---",{opcode:"gotoXY",blockType:n.COMMAND,text:"set camera x: [X] y: [Y]",arguments:{X:{type:i.NUMBER,defaultValue:"0"},Y:{type:i.NUMBER,defaultValue:"0"}}},{opcode:"setSize",blockType:n.COMMAND,text:"set camera zoom to [ZOOM]%",arguments:{ZOOM:{type:i.NUMBER,defaultValue:"100"}}},{opcode:"changeSize",blockType:n.COMMAND,text:"change camera zoom by [ZOOM]%",arguments:{ZOOM:{type:i.NUMBER,defaultValue:"10"}}},"---",{opcode:"pointTowards",blockType:n.COMMAND,text:"point camera in direction [DIRECTION]",arguments:{DIRECTION:{type:i.ANGLE,defaultValue:"90"}}},{opcode:"pointTowardsPoint",blockType:n.COMMAND,text:"point camera towards x: [X] y: [Y]",arguments:{X:{type:i.NUMBER,defaultValue:"0"},Y:{type:i.NUMBER,defaultValue:"0"}}},"---",{opcode:"changeXpos",blockType:n.COMMAND,text:"change camera x by [X]",arguments:{X:{type:i.NUMBER,defaultValue:"10"}}},{opcode:"setXpos",blockType:n.COMMAND,text:"set camera x to [X]",arguments:{X:{type:i.NUMBER,defaultValue:"0"}}},{opcode:"changeYpos",blockType:n.COMMAND,text:"change camera y by [Y]",arguments:{Y:{type:i.NUMBER,defaultValue:"10"}}},{opcode:"setYpos",blockType:n.COMMAND,text:"set camera y to [Y]",arguments:{Y:{type:i.NUMBER,defaultValue:"0"}}},"---",{opcode:"xPosition",blockType:n.REPORTER,text:"camera x"},{opcode:"yPosition",blockType:n.REPORTER,text:"camera y"},{opcode:"direction",blockType:n.REPORTER,text:"camera direction"},{opcode:"getSize",blockType:n.REPORTER,text:"camera zoom"},{opcode:"getCurrentCamera",blockType:n.REPORTER,text:"current camera"}],menus:{BINDABLE_TARGETS:{items:"getBindableTargets",acceptReports:!0},RENDER_MODES:{items:["immediate","manual"]}}}}getBindableTargets(){const A=this.runtime.targets.filter(A=>!A.isStage&&A.isOriginal&&A.id!==this.runtime.vm.editingTarget).map(A=>A.getName());return[].concat([{text:"this sprite",value:"__MYSELF__"},{text:"mouse-pointer",value:"__MOUSEPOINTER__"},{text:"backdrop",value:"__STAGE__"},{text:"all sprites",value:"__ALL__"}],A)}moveSteps(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.STEPS),i=s.degToRad(90-t.dir),o=n*Math.cos(i),a=n*Math.sin(i);t.pos[0]+=o,t.pos[1]+=a,this._updateRender(e.target)}turnRight(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.DEGREES);t.dir-=n,this._fixDirection(e.target),this._updateRender(e.target)}turnLeft(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.DEGREES);t.dir+=n,this._fixDirection(e.target),this._updateRender(e.target)}bindTarget(A,e){const t=r.toString(A.TARGET),n=r.toNumber(A.SCREEN);switch(t){case"__MYSELF__":e.target.bindToCamera(n);break;case"__MOUSEPOINTER__":e.ioQuery("mouse","bindToCamera",n);break;case"__STAGE__":this.runtime.getTargetForStage().bindToCamera(n);break;case"__ALL__":for(const A of this.runtime.targets)A.bindToCamera(n);break;default:const A=this.runtime.getSpriteTargetByName(t);if(!A)throw"unkown target ".concat(t);A.bindToCamera(n)}}unbindTarget(A,e){const t=r.toString(A.TARGET);switch(t){case"__MYSELF__":e.target.removeCameraBinding();break;case"__MOUSEPOINTER__":e.ioQuery("mouse","removeCameraBinding");break;case"__STAGE__":this.runtime.getTargetForStage().removeCameraBinding();break;case"__ALL__":for(const A of this.runtime.targets)A.removeCameraBinding();break;default:{const A=this.runtime.getSpriteTargetByName(t);if(!A)throw"unkown target ".concat(t);A.removeCameraBinding();break}}}setCurrentCamera(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.SCREEN);t.camera=n,this._loadCameraState(e.target)}setRenderImediat(A,e){const t=this._getPenState(e.target);switch(r.toString(A.RENDER_MODE)){case"immediate":t.silent=!1;break;case"manual":t.silent=!0}}manualRender(A,e){const t=this._getPenState(e.target);this._updateRender(e.target),this.runtime.emit("CAMERA_CHANGED",t.camera)}gotoXY(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.X),i=r.toNumber(A.Y);t.pos=[n,i],this._updateRender(e.target)}setSize(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.ZOOM);t.size=n,this._updateRender(e.target)}changeSize(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.ZOOM);t.size+=n,this._updateRender(e.target)}pointTowards(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.DIRECTION);t.dir=n,this._fixDirection(e.target),this._updateRender(e.target)}pointTowardsPoint(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.X),i=r.toNumber(A.Y),o=n-t.pos[0],a=i-t.pos[1],B=90-s.radToDeg(Math.atan2(a,o));t.dir=B,this._fixDirection(e.target),this._updateRender(e.target)}changeXpos(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.X);t.pos[0]+=n,this._updateRender(e.target)}setXpos(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.X);t.pos[0]=n,this._updateRender(e.target)}changeYpos(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.Y);t.pos[1]+=n,this._updateRender(e.target)}setYpos(A,e){const t=this._getPenState(e.target),n=r.toNumber(A.Y);t.pos[1]=n,this._updateRender(e.target)}xPosition(A,e){return this._getPenState(e.target).pos[0]}yPosition(A,e){return this._getPenState(e.target).pos[1]}direction(A,e){return this._getPenState(e.target).dir}getSize(A,e){return this._getPenState(e.target).size}getCurrentCamera(A,e){return this._getPenState(e.target).camera}}},function(A,e){const t="data:image/png;base64,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";A.exports=class{constructor(A){this.runtime=A,this.messageQueue=[],this.recording=[],this.logs=[],this.recordingDelay=1e3}getInfo(){return{id:"oddMessage",name:"Odd Messages",menuIconURI:t,blockIconURI:t,color1:"#BE00FF",blocks:[{opcode:"emit",blockType:"command",text:"emit [a] [b]",arguments:{a:{type:"string",defaultValue:"message"},b:{type:"string",defaultValue:"data"}}},{opcode:"on",blockType:"hat",text:"on [a] set [b]",arguments:{a:{type:"string",defaultValue:"message"},b:{type:"string",menu:"variables"}}},"---",{opcode:"whenVarChange",blockType:"hat",text:"when [a] changes",arguments:{a:{type:"string",menu:"variables"}}},{opcode:"recordVar",blockType:"command",text:"record [a] in list [b]",arguments:{a:{type:"string",menu:"variables"},b:{type:"string",menu:"lists"}}},{opcode:"stopRecording",blockType:"command",text:"stop recording [a]",arguments:{a:{type:"string",menu:"variables"}}},{opcode:"setRecordingDelay",blockType:"command",text:"set recording delay to [a]",arguments:{a:{type:"number",defaultValue:1e3}}},"---",{opcode:"logToJSON",blockType:"reporter",text:"list logs"},{opcode:"log",blockType:"command",text:"log [a] as [b]",arguments:{a:{type:"string",defaultValue:"message"},b:{type:"string",defaultValue:"warn"}}},{opcode:"logClear",blockType:"command",text:"clear logs"},{opcode:"logToArray",blockType:"reporter",text:"#[n] log as array",arguments:{n:{type:"number",defaultValue:0}}}],menus:{variables:{acceptReporters:!0,items:"_getVariableMenu"},lists:{acceptReporters:!0,items:"_getListMenu"}}}}_getVariableMenu(){const A=this.runtime.getAllVarNamesOfType("");return 0==A.length?[" "]:A}_getListMenu(){const A=this.runtime.getAllVarNamesOfType("list");return 0==A.length?[" "]:A}log(A){let{a:e,b:t}=A;this.logs.push({log:e,type:t})}logClear(){this.logs=[]}logToArray(A){let{n:e}=A,t=this.logs[e];return t?JSON.stringify([t.log,t.type]):"[]"}logToJSON(){return JSON.stringify(this.logs)}emit(A){let{a:e,b:t}=A;this.messageQueue.push([e,t])}on(A){let{a:e,b:t}=A;if(0==this.messageQueue.length)return!1;if(this.messageQueue[0][0]==e){const A=this.runtime.getTargetForStage();if(!A)return!0;const e=A.lookupVariableByNameAndType(t);return!e||(e.value=this.messageQueue[0][1],this.messageQueue.shift(),!0)}return!1}async whenVarChange(A){let{a:e}=A;if(!this.runtime.getTargetForStage().lookupVariableByNameAndType(e))return!1;let t=this.runtime.getTargetForStage().lookupVariableByNameAndType(e).value;return await new Promise(A=>{setTimeout(A,100)}),t!=this.runtime.getTargetForStage().lookupVariableByNameAndType(e).value}async recordVar(A){let{a:e,b:t}=A;if(this.recording.includes(e))return;const n=async A=>{await new Promise(e=>setTimeout(e,A))};for(this.recording.push(e);this.recording.includes(e);){await n(this.recordingDelay);let A=this.runtime.getTargetForStage().lookupVariableByNameAndType(e).value;this.runtime.getTargetForStage().lookupVariableByNameAndType(t,"list").value.push(A)}}stopRecording(A){let{a:e}=A;this.recording.includes(e)&&this.recording.splice(this.recording.indexOf(e),1)}setRecordingDelay(A){let{a:e}=A;this.recordingDelay=e}}},function(A,e,t){const n={BlockType:t(1),ArgumentType:t(3),TargetType:t(38)},i=t(2);var r={variables:{}};A.exports=class{constructor(A){this.runtime=A}getInfo(){return{id:"lmsutilsblocks",name:"LMS Utilities",color1:"#1cd6ff",color2:"#1cbbff",color3:"#1cbbff",blockIconURI:"data:image/png;base64,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",blocks:[{opcode:"whenBooleanHat",blockType:n.BlockType.HAT,text:"when [INPUT]",isEdgeActivated:!0,hideFromPalette:!0,arguments:{INPUT:{type:n.ArgumentType.BOOLEAN,defaultValue:""}}},{opcode:"whenKeyString",blockType:n.BlockType.HAT,text:"when key [KEY_OPTION] pressed",isEdgeActivated:!0,arguments:{KEY_OPTION:{type:n.ArgumentType.STRING,defaultValue:"enter"}}},"---",{opcode:"keyStringPressed",blockType:n.BlockType.BOOLEAN,text:"key [KEY_OPTION] pressed?",arguments:{KEY_OPTION:{type:n.ArgumentType.STRING,defaultValue:"enter"}}},{opcode:"trueFalseBoolean",blockType:n.BlockType.BOOLEAN,text:"[TRUEFALSE]",hideFromPalette:!0,arguments:{TRUEFALSE:{type:n.ArgumentType.STRING,defaultValue:"true",menu:"trueFalseMenu"}}},{opcode:"stringIf",blockType:n.BlockType.REPORTER,text:"if [BOOLEAN] then [INPUTA]",disableMonitor:!0,arguments:{BOOLEAN:{type:n.ArgumentType.BOOLEAN,defaultValue:""},INPUTA:{type:n.ArgumentType.STRING,defaultValue:"apple"}}},{opcode:"stringIfElse",blockType:n.BlockType.REPORTER,text:"if [BOOLEAN] then [INPUTA] else [INPUTB]",hideFromPalette:!0,disableMonitor:!0,arguments:{BOOLEAN:{type:n.ArgumentType.BOOLEAN,defaultValue:""},INPUTA:{type:n.ArgumentType.STRING,defaultValue:"apple"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:"banana"}}},"---",{opcode:"getEffectValue",blockType:n.BlockType.REPORTER,text:"effect [INPUT]",hideFromPalette:!0,arguments:{INPUT:{type:n.ArgumentType.STRING,defaultValue:"color",menu:"colorMenu"}}},{opcode:"clonesBeingUsed",hideFromPalette:!0,blockType:n.BlockType.REPORTER,text:"clone count"},{opcode:"isClone",hideFromPalette:!0,blockType:n.BlockType.BOOLEAN,text:"is clone?",filter:[n.TargetType.SPRITE]},{opcode:"spriteClicked",blockType:n.BlockType.BOOLEAN,text:"sprite clicked?",filter:[n.TargetType.SPRITE]},"---",{opcode:"lettersToOf",blockType:n.BlockType.REPORTER,text:"letters [INPUTA] to [INPUTB] of [STRING]",disableMonitor:!0,arguments:{INPUTA:{type:n.ArgumentType.NUMBER,defaultValue:"1"},INPUTB:{type:n.ArgumentType.NUMBER,defaultValue:"3"},STRING:{type:n.ArgumentType.STRING,defaultValue:"suspicious"}}},{opcode:"replaceWords",blockType:n.BlockType.REPORTER,text:"replace [INPUTA] with [INPUTB] in [STRING]",disableMonitor:!0,arguments:{INPUTA:{type:n.ArgumentType.STRING,defaultValue:"Scratch"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:"Turbowarp"},STRING:{type:n.ArgumentType.STRING,defaultValue:"Scratch is brilliant!"}}},{opcode:"findIndexOfString",blockType:n.BlockType.REPORTER,text:"index of [INPUTA] in [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.STRING,defaultValue:"brilliant"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:"Turbowarp is brilliant!"}}},{opcode:"itemOfFromString",blockType:n.BlockType.REPORTER,text:"item [INPUTA] of [INPUTB] split by [INPUTC]",arguments:{INPUTA:{type:n.ArgumentType.NUMBER,defaultValue:"2"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:"apple|banana"},INPUTC:{type:n.ArgumentType.STRING,defaultValue:"|"}}},{opcode:"stringToUpperCase",blockType:n.BlockType.REPORTER,text:"[STRING] to uppercase",disableMonitor:!0,hideFromPalette:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"apple"}}},{opcode:"stringToLowerCase",blockType:n.BlockType.REPORTER,text:"[STRING] to lowercase",disableMonitor:!0,hideFromPalette:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"APPLE"}}},{opcode:"reverseString",blockType:n.BlockType.REPORTER,text:"reverse [STRING]",disableMonitor:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"prawobrut"}}},"---",{opcode:"norBoolean",blockType:n.BlockType.BOOLEAN,text:"[INPUTA] nor [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.BOOLEAN,defaultValue:""},INPUTB:{type:n.ArgumentType.BOOLEAN,defaultValue:""}}},{opcode:"xorBoolean",blockType:n.BlockType.BOOLEAN,text:"[INPUTA] xor [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.BOOLEAN,defaultValue:""},INPUTB:{type:n.ArgumentType.BOOLEAN,defaultValue:""}}},{opcode:"xnorBoolean",blockType:n.BlockType.BOOLEAN,text:"[INPUTA] xnor [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.BOOLEAN,defaultValue:""},INPUTB:{type:n.ArgumentType.BOOLEAN,defaultValue:""}}},{opcode:"nandBoolean",blockType:n.BlockType.BOOLEAN,text:"[INPUTA] nand [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.BOOLEAN,defaultValue:""},INPUTB:{type:n.ArgumentType.BOOLEAN,defaultValue:""}}},"---",{opcode:"stringReporter",blockType:n.BlockType.REPORTER,text:"[STRING]",disableMonitor:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"apple"}}},{opcode:"colourHex",blockType:n.BlockType.REPORTER,text:"color [COLOUR]",arguments:{COLOUR:{type:n.ArgumentType.COLOR,defaultValue:"#0088ff"}}},{opcode:"angleReporter",blockType:n.BlockType.REPORTER,text:"angle [ANGLE]",arguments:{ANGLE:{type:n.ArgumentType.ANGLE,defaultValue:"90"}}},{opcode:"matrixReporter",blockType:n.BlockType.REPORTER,text:"matrix [MATRIX]",arguments:{MATRIX:{type:n.ArgumentType.MATRIX,defaultValue:"0101001010000001000101110"}}},{opcode:"noteReporter",blockType:n.BlockType.REPORTER,text:"note [NOTE]",arguments:{NOTE:{type:n.ArgumentType.NOTE,defaultValue:""}}},{opcode:"newlineCharacter",blockType:n.BlockType.REPORTER,text:"newline character",hideFromPalette:!0,disableMonitor:!0},"---",{opcode:"equalsExactly",blockType:n.BlockType.BOOLEAN,text:"[ONE] === [TWO]",arguments:{ONE:{type:n.ArgumentType.STRING,defaultValue:"apple"},TWO:{type:n.ArgumentType.STRING,defaultValue:"banana"}}},{opcode:"notEqualTo",blockType:n.BlockType.BOOLEAN,text:"[INPUTA] ≠ [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.STRING,defaultValue:"apple"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:"banana"}}},{opcode:"moreThanEqual",blockType:n.BlockType.BOOLEAN,text:"[INPUTA] ≥ [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.NUMBER,defaultValue:"16"},INPUTB:{type:n.ArgumentType.NUMBER,defaultValue:"25"}}},{opcode:"lessThanEqual",blockType:n.BlockType.BOOLEAN,text:"[INPUTA] ≤ [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.NUMBER,defaultValue:"16"},INPUTB:{type:n.ArgumentType.NUMBER,defaultValue:"25"}}},{opcode:"stringCheckBoolean",blockType:n.BlockType.BOOLEAN,text:"[INPUT] is [DROPDOWN]",arguments:{INPUT:{type:n.ArgumentType.STRING,defaultValue:"apple"},DROPDOWN:{type:n.ArgumentType.STRING,defaultValue:"text",menu:"stringCheckMenu"}}},"---",{opcode:"encodeToBlock",blockType:n.BlockType.REPORTER,text:"encode [STRING] to [DROPDOWN]",disableMonitor:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:""},DROPDOWN:{type:n.ArgumentType.STRING,defaultValue:"base64",menu:"conversionMenu"}}},{opcode:"decodeFromBlock",blockType:n.BlockType.REPORTER,text:"decode [STRING] from [DROPDOWN]",disableMonitor:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:""},DROPDOWN:{type:n.ArgumentType.STRING,defaultValue:"base64",menu:"conversionMenu"}}},"---",{opcode:"negativeReporter",blockType:n.BlockType.REPORTER,text:"- [INPUT]",disableMonitor:!0,arguments:{INPUT:{type:n.ArgumentType.NUMBER,defaultValue:""}}},{opcode:"exponentBlock",blockType:n.BlockType.REPORTER,text:"[INPUTA] ^ [INPUTB]",disableMonitor:!0,arguments:{INPUTA:{type:n.ArgumentType.NUMBER,defaultValue:""},INPUTB:{type:n.ArgumentType.NUMBER,defaultValue:""}}},{opcode:"rootBlock",blockType:n.BlockType.REPORTER,text:"[INPUTA] √ [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.NUMBER,defaultValue:""},INPUTB:{type:n.ArgumentType.NUMBER,defaultValue:""}}},{opcode:"normaliseValue",blockType:n.BlockType.REPORTER,text:"normalise [INPUT]",disableMonitor:!0,arguments:{INPUT:{type:n.ArgumentType.NUMBER,defaultValue:"100"}}},{opcode:"clampNumber",blockType:n.BlockType.REPORTER,hideFromPalette:!0,text:"clamp [INPUTA] between [INPUTB] and [INPUTC]",arguments:{INPUTA:{type:n.ArgumentType.NUMBER,defaultValue:"100"},INPUTB:{type:n.ArgumentType.NUMBER,defaultValue:"25"},INPUTC:{type:n.ArgumentType.NUMBER,defaultValue:"50"}}},"---",{opcode:"setVariableTo",blockType:n.BlockType.COMMAND,text:"set variable [INPUTA] to [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.STRING,defaultValue:"my variable"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:"0"}}},{opcode:"changeVariableBy",blockType:n.BlockType.COMMAND,text:"change variable [INPUTA] by [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.STRING,defaultValue:"my variable"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:"1"}}},{opcode:"getVariable",blockType:n.BlockType.REPORTER,text:"variable [INPUT]",disableMonitor:!0,arguments:{INPUT:{type:n.ArgumentType.STRING,defaultValue:"my variable"}}},{opcode:"deleteVariable",blockType:n.BlockType.COMMAND,text:"delete variable [INPUT]",arguments:{INPUT:{type:n.ArgumentType.STRING,defaultValue:"my variable"}}},{opcode:"deleteAllVariables",blockType:n.BlockType.COMMAND,text:"delete all variables"},{opcode:"listVariables",blockType:n.BlockType.REPORTER,text:"list active variables",disableMonitor:!0},"---",{opcode:"greenFlag",blockType:n.BlockType.COMMAND,hideFromPalette:!0,text:"green flag"},{opcode:"setUsername",blockType:n.BlockType.COMMAND,text:"set username to [INPUT]",arguments:{INPUT:{type:n.ArgumentType.STRING,defaultValue:"LilyMakesThings"}}},"---",{opcode:"setSpriteSVG",blockType:n.BlockType.COMMAND,text:"replace SVG data for costume [INPUTA] with [INPUTB]",arguments:{INPUTA:{type:n.ArgumentType.NUMBER,defaultValue:"1"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:""}}},"---",{opcode:"alertBlock",blockType:n.BlockType.COMMAND,text:"alert [STRING]",arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"A red spy is in the base!"}}},{opcode:"inputPromptBlock",blockType:n.BlockType.REPORTER,text:"prompt [STRING]",disableMonitor:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"The code is 1, 1, 1.. err... 1!"}}},{opcode:"confirmationBlock",blockType:n.BlockType.BOOLEAN,text:"confirm [STRING]",arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"Are you the red spy?"}}},{opcode:"goToLink",blockType:n.BlockType.COMMAND,text:"open link [INPUT] in new tab",hideFromPalette:!0,arguments:{INPUT:{type:n.ArgumentType.STRING,defaultValue:""}}},{opcode:"redirectToLink",blockType:n.BlockType.COMMAND,text:"redirect to link [INPUT]",hideFromPalette:!0,arguments:{INPUT:{type:n.ArgumentType.STRING,defaultValue:""}}},"---",{opcode:"setClipboard",blockType:n.BlockType.COMMAND,text:"set [STRING] to clipboard",arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"apple"}}},{opcode:"readClipboard",blockType:n.BlockType.REPORTER,text:"clipboard"},"---",{opcode:"isUserMobile",blockType:n.BlockType.BOOLEAN,text:"is mobile?"},{opcode:"screenReporter",blockType:n.BlockType.REPORTER,text:"screen [DROPDOWN]",disableMonitor:!0,arguments:{DROPDOWN:{type:n.ArgumentType.STRING,defaultValue:"width",menu:"screenReporterMenu"}}},{opcode:"windowReporter",blockType:n.BlockType.REPORTER,text:"window [DROPDOWN]",disableMonitor:!0,arguments:{DROPDOWN:{type:n.ArgumentType.STRING,defaultValue:"width",menu:"screenReporterMenu"}}},{opcode:"osBrowserDetails",blockType:n.BlockType.REPORTER,text:"[DROPDOWN]",disableMonitor:!0,arguments:{DROPDOWN:{type:n.ArgumentType.STRING,defaultValue:"operating system",menu:"osBrowserMenu"}}},{opcode:"projectURL",blockType:n.BlockType.REPORTER,text:"project URL",disableMonitor:!0},"---",{opcode:"consoleLog",blockType:n.BlockType.COMMAND,text:"console [DROPDOWN] [INPUT]",disableMonitor:!0,arguments:{DROPDOWN:{type:n.ArgumentType.STRING,defaultValue:"log",menu:"consoleLogMenu"},INPUT:{type:n.ArgumentType.STRING,defaultValue:"Apple"}}},{opcode:"clearConsole",blockType:n.BlockType.COMMAND,text:"clear console"},"---",{opcode:"commentHat",blockType:n.BlockType.HAT,text:"// [STRING]",hideFromPalette:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"comment"}}},{opcode:"commentCommand",blockType:n.BlockType.COMMAND,text:"// [STRING]",hideFromPalette:!0,arguments:{STRING:{type:n.ArgumentType.STRING,defaultValue:"comment"}}},{opcode:"commentString",blockType:n.BlockType.REPORTER,text:"// [INPUTA] [INPUTB]",hideFromPalette:!0,disableMonitor:!0,arguments:{INPUTA:{type:n.ArgumentType.STRING,defaultValue:"comment"},INPUTB:{type:n.ArgumentType.STRING,defaultValue:"input"}}},{opcode:"commentBool",blockType:n.BlockType.BOOLEAN,text:"// [INPUTA] [INPUTB]",hideFromPalette:!0,arguments:{INPUTA:{type:n.ArgumentType.STRING,defaultValue:"comment"},INPUTB:{type:n.ArgumentType.BOOLEAN}}}],menus:{conversionMenu:{acceptReporters:!0,items:[{text:"base64",value:"base64"},{text:"binary",value:"binary"}]},trueFalseMenu:{acceptReporters:!0,items:[{text:"true",value:"true"},{text:"false",value:"false"},{text:"random",value:"random"}]},screenReporterMenu:{acceptReporters:!0,items:[{text:"width",value:"width"},{text:"height",value:"height"}]},windowReporterMenu:{acceptReporters:!0,items:[{text:"width",value:"width"},{text:"height",value:"height"}]},stringCheckMenu:{acceptReporters:!0,items:[{text:"text",value:"text"},{text:"number",value:"number"},{text:"uppercase",value:"uppercase"},{text:"lowercase",value:"lowercase"}]},osBrowserMenu:{acceptReporters:!0,items:[{text:"operating system",value:"operating system"},{text:"browser",value:"browser"}]},consoleLogMenu:{acceptReporters:!1,items:[{text:"log",value:"log"},{text:"error",value:"error"},{text:"warn",value:"warn"}]},colorMenu:{acceptReporters:!0,items:[{text:"color",value:"color"},{text:"fisheye",value:"fisheye"},{text:"whirl",value:"whirl"},{text:"pixelate",value:"pixelate"},{text:"mosaic",value:"mosaic"},{text:"brightness",value:"brightness"},{text:"ghost",value:"ghost"}]}}}}whenBooleanHat(A){return A.INPUT}whenKeyString(A,e){return e.ioQuery("keyboard","getKeyIsDown",[A.KEY_OPTION])}equalsExactly(A){return A.ONE===A.TWO}stringReporter(A){return A.STRING}colourHex(A){return A.COLOUR}angleReporter(A){return A.ANGLE}matrixReporter(A){return A.MATRIX}noteReporter(A){return A.NOTE}newlineCharacter(){return"\n"}stringIf(A){return A.BOOLEAN?A.INPUTA:""}stringIfElse(A){return A.BOOLEAN?A.INPUTA:A.INPUTB}lettersToOf(A){var e=A.STRING.toString(),t=A.INPUTA-1,n=A.INPUTB;return e.slice(t,n)}replaceWords(A){var e=A.INPUTA,t=A.INPUTB;return A.STRING.replace(e,t)}exponentBlock(A){return Math.pow(A.INPUTA,A.INPUTB)}rootBlock(A){return Math.pow(A.INPUTB,1/A.INPUTA)}normaliseValue(A){var e=A.INPUT,t=e/Math.abs(e);return isNaN(t)?"0":t}stringToUpperCase(A){return A.STRING.toUpperCase()}stringToLowerCase(A){return A.STRING.toLowerCase()}reverseString(A){return A.STRING.split("").reverse().join("")}encodeToBlock(A){return""===A.STRING?"":"base64"===A.DROPDOWN?btoa(A.STRING):"binary"===A.DROPDOWN?A.STRING.split("").map((function(A){return A.charCodeAt(0).toString(2)})).join(" "):void 0}decodeFromBlock(A){return""===A.STRING?"":"base64"===A.DROPDOWN?atob(A.STRING):"binary"===A.DROPDOWN?A.STRING.toString().split(" ").map(A=>String.fromCharCode(parseInt(A,2))).join(""):void 0}trueFalseBoolean(A){return"random"===A.TRUEFALSE?Math.random()>.5:"true"===A.TRUEFALSE}isClone(A,e){return!e.target.isOriginal}clonesBeingUsed(A,e){return vm.runtime._cloneCounter}keyStringPressed(A,e){return e.ioQuery("keyboard","getKeyIsDown",[A.KEY_OPTION])}spriteClicked(A,e){return e.ioQuery("mouse","getIsDown")&&e.target.isTouchingObject("_mouse_")}notEqualTo(A){return A.INPUTA!=A.INPUTB}moreThanEqual(A){return A.INPUTA>=A.INPUTB}lessThanEqual(A){return A.INPUTA<=A.INPUTB}stringCheckBoolean(A){A.INPUT;return"text"===A.DROPDOWN?isNaN(A.INPUT):"number"===A.DROPDOWN?!isNaN(A.INPUT):"uppercase"===A.DROPDOWN?A.INPUT==A.INPUT.toUpperCase():"lowercase"===A.DROPDOWN?A.INPUT==A.INPUT.toLowerCase():void 0}norBoolean(A){return!(A.INPUTA||A.INPUTB)}xorBoolean(A){return A.INPUTA!==A.INPUTB}xnorBoolean(A){return A.INPUTA===A.INPUTB}nandBoolean(A){return!(A.INPUTA&&A.INPUTB)}screenReporter(A){return"width"===A.DROPDOWN?screen.width:"height"===A.DROPDOWN?screen.height:void 0}windowReporter(A){return"width"===A.DROPDOWN?window.innerWidth:"height"===A.DROPDOWN?window.innerHeight:void 0}osBrowserDetails(A){var e=navigator.userAgent;return"operating system"===A.DROPDOWN?e.includes("Mac OS")?"macOS":e.includes("CrOS")?"ChromeOS":e.includes("Linux")?"Linux":e.includes("Windows")?"Windows":e.includes("iPad")||e.includes("iPod")||e.includes("iPhone")?"iOS":e.includes("Android")?"Android":"Other":"browser"===A.DROPDOWN?e.includes("Chrome")?"Chrome":e.includes("MSIE")||e.includes("rv:")?"Internet Explorer":e.includes("Firefox")?"Firefox":e.includes("Safari")?"Safari":"Other":void 0}projectURL(){return window.location.href}greenFlag(A,e){e.runtime.greenFlag()}setUsername(A,e){e.runtime.ioDevices.userData._username=A.INPUT}consoleLog(A){"log"===A.DROPDOWN?console.log(A.INPUT):"error"===A.DROPDOWN?console.error(A.INPUT):"warn"===A.DROPDOWN&&console.warn(A.INPUT)}clearConsole(){console.clear()}setClipboard(A){navigator.clipboard.writeText(A.STRING)}readClipboard(A){return navigator.clipboard&&navigator.clipboard.readText?navigator.clipboard.readText():""}alertBlock(A){alert(A.STRING)}inputPromptBlock(A){return prompt(A.STRING)}confirmationBlock(A){return!!confirm(A.STRING)}commentHat(A,e){return A.INPUT}commentCommand(A){}commentString(A){return A.INPUTB}commentBool(A){return i.toBoolean(A.INPUTB)}getVariable(A){return A.INPUT in r.variables?r.variables[A.INPUT]:""}setVariableTo(A){r.variables[A.INPUTA]=A.INPUTB}changeVariableBy(A){if(A.INPUTA in r.variables){var e=r.variables[A.INPUTA],t=A.INPUTB;r.variables[A.INPUTA]=e+t}else r.variables[A.INPUTA]=A.INPUTB}listVariables(A,e){return Object.keys(r.variables).length?Object.keys(r.variables):void 0}deleteVariable(A){Reflect.deleteProperty(r.variables,A.INPUT)}deleteAllVariables(){Reflect.deleteProperty(r,"variables"),r.variables={}}clampNumber(A){var e=A.INPUTA,t=A.INPUTB,n=A.INPUTC;return Math.min(Math.max(e,t),n)}findIndexOfString(A){var e=A.INPUTA,t=A.INPUTB;return t.includes(e)?t.indexOf(e)+1:""}itemOfFromString(A,e){var t=A.INPUTA-1,n=String(A.INPUTB),i=A.INPUTC;return n.split(i)[t]||""}isUserMobile(A,e){return navigator.userAgent.includes("Mobile")}getEffectValue(A,e){return e.target.effects[A.INPUT]}negativeReporter(A){return-1*A.INPUT}setSpriteSVG(A,e){try{this.runtime.renderer.updateSVGSkin(e.target.sprite.costumes[A.INPUTA-1].skinId,A.INPUTB)}catch(A){return}vm.emitTargetsUpdate()}}},function(A,e,t){const n=new(t(59))(!0),i="data:image/svg+xml,"+encodeURIComponent('\n <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0,0,200,200">\n <circle r="100" cx="100" cy="100" fill="#9966ff"/>\n <path d="M122,61v-4a12,12 0,0,0 -12,-12h-4m-17,0h-16m-17,0h-4a12,12 0,0,0 -12,12v4m0,17v16m0,17v4a12,12 0,0,0 12,12h4" stroke="#ffffff" stroke-width="11" stroke-linecap="round" fill="none"/>\n <g fill="#ffffff" stroke="#9966ff" stroke-width="7.5">\n <circle r="32" cx="118" cy="102"/>\n <circle r="32" cx="96" cy="137"/>\n <circle r="32" cx="140" cy="137"/>\n </g>\n </svg>');let r=null,s=!1,o=!1;const a=n.vm,B=a.runtime,c=a.renderer,g=c._drawThese,Q=c._gl,E=c.canvas;let l=0,u=0,w=480,h=360,C=!1;c._drawThese=function(A,e,t,n){s=!0,[w,h]=c.getNativeSize(),g.call(this,A,e,t,n),Q.disable(Q.SCISSOR_TEST),Q.blendFunc(Q.ONE,Q.ONE_MINUS_SRC_ALPHA),s=!1};const d=Q.bindFramebuffer;Q.bindFramebuffer=function(A,e){if(A==Q.FRAMEBUFFER)if(null==e)r=!0,o=!1,l=E.width,u=E.height;else if(c._penSkinId){const A=c._allSkins[c._penSkinId]._framebuffer;e==A.framebuffer?(r=!0,o=!0,l=A.width,u=A.height):r=!1}else r=!1;d.call(this,A,e)};const I=c.createDrawable("background"),M=c._allDrawables[I].__proto__;function p(A,e,t){if(A){Q.enable(Q.SCISSOR_TEST);let e=(A.x_min/w+.5)*l|0,n=(A.y_min/h+.5)*u|0,i=((A.x_max/w+.5)*l|0)-e,r=((A.y_max/h+.5)*u|0)-n;t&&(n=(-A.y_max/h+.5)*u|0),Q.scissor(e,n,i,r)}else Q.disable(Q.SCISSOR_TEST);switch(e){case"additive":Q.blendEquation(Q.FUNC_ADD),Q.blendFunc(Q.ONE,Q.ONE);break;case"subtract":Q.blendEquation(Q.FUNC_REVERSE_SUBTRACT),Q.blendFunc(Q.ONE,Q.ONE);break;case"multiply":Q.blendEquation(Q.FUNC_ADD),Q.blendFunc(Q.DST_COLOR,Q.ONE_MINUS_SRC_ALPHA);break;case"invert":Q.blendEquation(Q.FUNC_ADD),Q.blendFunc(Q.ONE_MINUS_DST_COLOR,Q.ONE_MINUS_SRC_COLOR);break;default:Q.blendEquation(Q.FUNC_ADD),Q.blendFunc(Q.ONE,Q.ONE_MINUS_SRC_ALPHA)}}c.destroyDrawable(I,"background");const m=M.getUniforms;M.getUniforms=function(){return s&&r&&p(this.clipbox,this.blendMode,o),m.call(this)},M.updateClipBox=function(A){this.clipbox=A},M.updateBlendMode=function(A){this.blendMode=A},c.updateDrawableClipBox=function(A,e){const t=this._allDrawables[A];t&&t.updateClipBox(e)},c.updateDrawableBlendMode=function(A,e){const t=this._allDrawables[A];t&&t.updateBlendMode(e)};a.on("targetsUpdate",(function A(e){if(e.editingTarget){a.removeListener("targetsUpdate",A);const e=a.runtime.targets[0].__proto__,t=e.onStopAll;e.onStopAll=function(){this.renderer.updateDrawableClipBox.call(c,this.drawableID,null),this.renderer.updateDrawableBlendMode.call(c,this.drawableID,null),t.call(this)};const n=e.makeClone;e.makeClone=function(){const A=n.call(this);return(this.clipbox||this.blendMode)&&(A.clipbox=Object.assign({},this.clipbox),A.blendMode=this.blendMode,c.updateDrawableClipBox.call(c,A.drawableID,this.clipbox),c.updateDrawableBlendMode.call(c,A.drawableID,this.blendMode)),A}}}));let F={},D=F,Y={},f="default";function N(A){const e=B.ext_pen;A._lineOnBufferDrawRegionId.exit=()=>{A._exitDrawLineOnBuffer(),Q.blendFunc(Q.ONE,Q.ONE_MINUS_SRC_ALPHA),Q.disable(Q.SCISSOR_TEST),D=F,Y=null,f="default"};const t=function(e){if(!C&&e==D)return;C=!1;const t=e.clipbox;(!Y^!t||f!=e.blendMode||t&&(t.x_min!=Y.x_min||t.y_min!=Y.y_min||t.x_max!=Y.x_max||t.y_max!=Y.y_max))&&(A.a_lineColorIndex&&A._flushLines(),D=e,Y=t?{x_min:t.x_min,y_min:t.y_min,x_max:t.x_max,y_max:t.y_max}:null,f=e.blendMode)},n=e._onTargetMoved;e._onTargetMoved=function(A,e,i,r){t(A),n.call(this,A,e,i,r)};for(let A in B.tragets)A.onTargetMoved==n&&(A.onTargetMoved=e._onTargetMoved);const i=e._penDown;e._penDown=function(A){t(A),i.call(this,A)};const r=A.__proto__._flushLines;A.__proto__._flushLines=function(){p(Y,f,!0),r.call(this)}}if(c._allSkins[c._penSkinId])N(c._allSkins[c._penSkinId]);else{const A=c.createPenSkin;c.createPenSkin=function(){let e=A.call(this);return N(c._allSkins[e]),c.createPenSkin=A,e}}A.exports=class{getInfo(){return{id:"xeltallivclipblend",name:"Clipping and Blending",color1:"#9966FF",color2:"#855CD6",color3:"#774DCB",menuIconURI:i,blocks:[{opcode:"setClipbox",blockType:n.BlockType.COMMAND,text:"set clipping box x1:[X1] y1:[Y1] x2:[X2] y2:[Y2]",arguments:{X1:{type:n.ArgumentType.NUMBER,defaultValue:"0"},Y1:{type:n.ArgumentType.NUMBER,defaultValue:"0"},X2:{type:n.ArgumentType.NUMBER,defaultValue:"100"},Y2:{type:n.ArgumentType.NUMBER,defaultValue:"100"}},filter:[n.TargetType.SPRITE]},{opcode:"clearClipbox",blockType:n.BlockType.COMMAND,text:"clear clipping box",filter:[n.TargetType.SPRITE]},{opcode:"getClipbox",blockType:n.BlockType.REPORTER,text:"clipping box [PROP]",arguments:{PROP:{type:n.ArgumentType.STRING,defaultValue:"width",menu:"props"}},filter:[n.TargetType.SPRITE]},"---",{opcode:"setBlend",blockType:n.BlockType.COMMAND,text:"use [BLENDMODE] blending ",arguments:{BLENDMODE:{type:n.ArgumentType.STRING,defaultValue:"default",menu:"blends"}},filter:[n.TargetType.SPRITE]},{opcode:"getBlend",blockType:n.BlockType.REPORTER,text:"blending",filter:[n.TargetType.SPRITE],disableMonitor:!0},"---",{opcode:"setAdditiveBlend",blockType:n.BlockType.COMMAND,text:"turn additive blending [STATE]",arguments:{STATE:{type:n.ArgumentType.STRING,defaultValue:"on",menu:"states"}},filter:[n.TargetType.SPRITE],hideFromPalette:!0},{opcode:"getAdditiveBlend",blockType:n.BlockType.BOOLEAN,text:"is additive blending on?",filter:[n.TargetType.SPRITE],hideFromPalette:!0}],menus:{states:{acceptReporters:!0,items:["on","off"]},blends:{acceptReporters:!0,items:["default","additive","subtract","multiply","invert"]},props:{acceptReporters:!0,items:["width","height","min x","min y","max x","max y"]}}}}setClipbox(A,e){let{X1:t,Y1:n,X2:i,Y2:r}=A,{target:s}=e;if(s.isStage)return;const o={x_min:Math.min(t,i),y_min:Math.min(n,r),x_max:Math.max(t,i),y_max:Math.max(n,r)};C=!0,s.clipbox=o,c.updateDrawableClipBox.call(c,s.drawableID,o),s.visible&&(c.dirty=!0,s.emitVisualChange(),s.runtime.requestRedraw(),s.runtime.requestTargetsUpdate(s))}clearClipbox(A,e){let{target:t}=e;t.isStage||(t.clipbox=null,C=!0,c.updateDrawableClipBox.call(c,t.drawableID,null),t.visible&&(c.dirty=!0,t.emitVisualChange(),t.runtime.requestRedraw(),t.runtime.requestTargetsUpdate(t)))}getClipbox(A,e){let{PROP:t}=A,{target:n}=e;const i=n.clipbox;if(!i)return"";switch(t){case"width":return i.x_max-i.x_min;case"height":return i.y_max-i.y_min;case"min x":return i.x_min;case"min y":return i.y_min;case"max x":return i.x_max;case"max y":return i.y_max;default:return""}}setBlend(A,e){let{BLENDMODE:t}=A,{target:n}=e,i=null;switch(t){case"default":case"additive":case"subtract":case"multiply":case"invert":i=t;break;default:return}n.isStage||(C=!0,n.blendMode=i,c.updateDrawableBlendMode.call(c,n.drawableID,i),n.visible&&(c.dirty=!0,n.emitVisualChange(),n.runtime.requestRedraw(),n.runtime.requestTargetsUpdate(n)))}getBlend(A,e){var t;let{target:n}=e;return null!==(t=n.blendMode)&&void 0!==t?t:"default"}setAdditiveBlend(A,e){let{STATE:t}=A;"on"===t&&this.setBlend({BLENDMODE:"additive"},e),"off"===t&&this.setBlend({BLENDMODE:"default"},e)}getAdditiveBlend(A,e){let{target:t}=e;return"additive"===t.blendMode}}},function(A,e,t){const n=new(t(59))(!0),i=n.vm;let r=0,s=0,o=100,a=90,B="#ffffff";function c(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o/100,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:90-a;n=n/180*Math.PI;let B=Math.sin(n)*t,c=Math.cos(n)*t,g=i.runtime.stageWidth/2,Q=i.runtime.stageHeight/2;i.renderer._projection=[c/g,-B/Q,0,0,B/g,c/Q,0,0,0,0,-1,0,(c*-A+B*-e)/g,(c*-e-B*-A)/Q,0,1],i.renderer.dirty=!0}i.runtime.runtimeOptions.fencing=!1,i.renderer.offscreenTouching=!0,i.runtime.on("STAGE_SIZE_CHANGED",A=>c());let g=i.runtime.ioDevices.mouse.getScratchX,Q=i.runtime.ioDevices.mouse.getScratchY;i.runtime.ioDevices.mouse.getScratchX=function(){for(var A=arguments.length,e=new Array(A),t=0;t<A;t++)e[t]=arguments[t];return(g.apply(this,e)+r)/o*100},i.runtime.ioDevices.mouse.getScratchY=function(){for(var A=arguments.length,e=new Array(A),t=0;t<A;t++)e[t]=arguments[t];return(Q.apply(this,e)+s)/o*100};A.exports=class{getInfo(){return{id:"DTcameracontrols",name:"Camera",color1:"#ff4da7",color2:"#de4391",color3:"#c83c82",menuIconURI:"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyMjUuMzU0OCIgaGVpZ2h0PSIyMjUuMzU0OCIgdmlld0JveD0iMCwwLDIyNS4zNTQ4LDIyNS4zNTQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTg3LjMyMjkzLC0zNy4zMjI1OSkiPjxnIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2lzUGFpbnRpbmdMYXllciZxdW90Ozp0cnVlfSIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IiIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48cGF0aCBkPSJNMTg3LjMyMjk0LDE1MGMwLC02Mi4yMzAwMSA1MC40NDczOSwtMTEyLjY3NzQgMTEyLjY3NzQsLTExMi42Nzc0YzYyLjIzMDAxLDAgMTEyLjY3NzQsNTAuNDQ3MzkgMTEyLjY3NzQsMTEyLjY3NzRjMCw2Mi4yMzAwMSAtNTAuNDQ3MzksMTEyLjY3NzQgLTExMi42Nzc0LDExMi42Nzc0Yy02Mi4yMzAwMSwwIC0xMTIuNjc3NCwtNTAuNDQ3MzkgLTExMi42Nzc0LC0xMTIuNjc3NHoiIGZpbGw9IiNmZjRkYTciIHN0cm9rZS13aWR0aD0iMCIvPjxnPjxwYXRoIGQ9Ik0zMTcuMTAyOSw4MC44MTA4N2MyMS44OTI0LDAgMzkuNjYyMDcsMTcuNzM3MjMgMzkuNjYyMDcsMzkuNjM0NGMwLDEyLjMwNTE3IC01LjYxMTQ4LDIzLjI5NjIyIC0xNC40MDA4OCwzMC41NjgyNGg4Ljc3MDMydjY4LjE3NTYzaC0xMTQuMTMzMjV2LTU1Ljc5ODg5Yy0xNC4zMzQwOCwtMy41MjgxNyAtMjQuOTYxNTMsLTE2LjQ1NzQ3IC0yNC45NjE1MywtMzEuODgwNDRjMCwtMTguMTM5IDE0LjY5NjczLC0zMi44MzQ3OCAzMi44MzQ3OCwtMzIuODM0NzhjMTIuMDM3OTUsMCAyMi41NTY2MSw2LjQ3ODAxIDI4LjI3MjExLDE2LjEzMzk1bDQuODYxMzcsLTAuOTI0NzVjMy4xMjkyNiwtMTguNzY2OTYgMTkuNDM5NzYsLTMzLjA3MzM2IDM5LjA5OTAyLC0zMy4wNzMzNnpNMjc2LjIxODUxLDE0MS4yOTE3MWMtMS4xMDAzNSwzLjUzMzg5IC0yLjc2OTQ3LDYuODEyMDMgLTQuOTIwNTQsOS43MjE3OWgyMC41NDc3NGMtMy42ODc1NCwtMy4wNDgxNCAtNi44MDI0OCwtNi43NjUyNyAtOS4xODU0NSwtMTAuOTQ0Mjl6IiBmaWxsPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNMzM2LjU3NTI5LDExOS41MjgxNWMwLDExLjA2ODM1IC04Ljk3MjY0LDIwLjA0MDk5IC0yMC4wNDA5OSwyMC4wNDA5OWMtMTEuMDY4MzUsMCAtMjAuMDQwOTksLTguOTcyNjQgLTIwLjA0MDk5LC0yMC4wNDA5OWMwLC0xMS4wNjgzNSA4Ljk3MjY0LC0yMC4wNDA5OSAyMC4wNDA5OSwtMjAuMDQwOTljMTEuMDY4MzUsMCAyMC4wNDA5OSw4Ljk3MjY0IDIwLjA0MDk5LDIwLjA0MDk5eiIgZmlsbD0iI2ZmNGRhNyIgc3Ryb2tlLXdpZHRoPSIwLjUiLz48cGF0aCBkPSJNMjYxLjE4MywxMzAuMDI1ODFjMCw4Ljk2MDA0IC03LjI2MzYyLDE2LjIyMzY2IC0xNi4yMjM2NiwxNi4yMjM2NmMtOC45NjAwNCwwIC0xNi4yMjM2NiwtNy4yNjM2MiAtMTYuMjIzNjYsLTE2LjIyMzY2YzAsLTguOTYwMDQgNy4yNjM2MiwtMTYuMjIzNjYgMTYuMjIzNjYsLTE2LjIyMzY2YzguOTYwMDQsMCAxNi4yMjM2Niw3LjI2MzYyIDE2LjIyMzY2LDE2LjIyMzY2eiIgZmlsbD0iI2ZmNGRhNyIgc3Ryb2tlLXdpZHRoPSIwLjUiLz48cGF0aCBkPSJNMzg3Ljk2MDM5LDE0NS44NTcyNHY2MC41MTA0M2wtMjEuNjAzMjYsLTEzLjQ3MjE3aC0xNi44OTgzNHYtMzMuNTY2MDdoMTYuODk4MzRsMjEuNTk5MTcsLTEzLjQ3MTEyeiIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9nPjwvZz48L2c+PC9zdmc+PCEtLXJvdGF0aW9uQ2VudGVyOjExMi42NzcwNjU6MTEyLjY3NzQwNS0tPg==",blocks:[{opcode:"moveSteps",blockType:n.BlockType.COMMAND,text:"move camera [val] steps",arguments:{val:{type:n.ArgumentType.NUMBER,defaultValue:10}}},{opcode:"rotateCW",blockType:n.BlockType.COMMAND,text:"turn camera [image] [val] degrees",arguments:{image:{type:n.ArgumentType.IMAGE,dataURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAAB+CAYAAAAKj9LmAAAAAXNSR0IArs4c6QAABqdJREFUeF7tneuV1DAMhZdSoBWoB2qBeqAVKAWOOQRCNvHV27Kt/bsex7r6ciV7MjNvXupvWgW+v//8sy3+3bdPbyyDMJ3McmHauQ7BqPNYC0u9LnccissijumhQCJxRb8bbyG0dh3cODVrng4KrjjaZGSARBqzFIz0UEgF8YDhaU6p+JQ1auOXrC0tFFoxKIJ7jJEk4WkdVhpw15QKCisRPJLNnZObiOv8llpw15ICCksBKMl7+/Xj72E/PnyhDFeN4SbkuBjS5IjhGN+LhbuGoVCgwKnZuApEfR0aZwkNJzFIl6d4rcAYAgUKGiXLCwJ0XQt3QXAgbXqxTwkFCriXlJEgPK1L4yR3cCB9KBo8rQnBeI4xzClQwHfCU0Sg3N0RY6SAHMlC+lC1sHCLEChQwNekUQWISDb3GhI4GhhII6om6aFAga4Ewx08EkC0jpkaCg4Q1LuAe9dmGa+BQ6KNtq9wKR9UICQBZ0k0dx0SMKT6pIKCCkMTVBowNxnZxlPh0OijLSFmTkEFQhNstgRr1oPg0OiUAooCQobHU/I0QKBjb8p5hdopKEBYBCmTPf+rrmBYaaXpK1RQFBB20LUkWgGBjuORW4ihKCDsgPCYSdNXuEFhSb2HaDvMKS0hIiiQSxQQOZALg6KAyJFwyiqkJYTlFAUEJRV5xgyHokpGHhjQWUX7f28HQnaKcol8SaesSNJXkKAoICjy5xwzBIoqGzlh0JQQ6BQ9lyggcgMhPdnsQjFL2UDvOFJStzLg3BIihmK0iBYg9GAZHR8FZOoYMyiylg1vGK5CrwAH97zi0SmyQRENw0pwmECRCYjRMKwCB6eE3DpFFiiyAXEGZLayooJiBSDQQyTn5KId1irNKKeEvHKKDFBwHYIDQS/JEkBmcQwXKCKCHwXDHShcQCL0oW5Bn8ZRS8h/TjHSJThAWDkDRWQOHNnBMIUiIlgKFJEwXIFBcERoRIG4N2YqKLID0YReGYrr8xV/y8eo0lFAaO9/3uspbgGh8LTFAoKXUIvR00MxsodYpWRcQSJDMaJ0IJcYDQSCwtNBLRyBuy099xW/y0c0FLMD0TTbFgqvwDmna553zdPcK+w0NFvTrlPsCMXqQDRYUF8RDkVml9gBiB4UR1/R/ao+D6eYFQoPLUaURhUUHiLMCsTMjSV3F9J2fY9OUVD8k9NDi1EucVy311ekgCLzmcSKQKBms6AYcE4z2iVQXxEGxYz9xKouUVAQbsunrejKUPTAGO4UmfuJFXcdqNFs/y8o/qgU/f4PwcDchqBSXlAQoDiyM3s5QW9EwhNNawHQebvbbUGcGB1xE6eZfljo4VV2KFo2dwfj6O+qfFzu7V3BODf8BcWN4e8GxnUHWFA8dAG7gHF3JFBQEFrD1QBBZ0MFBQGK3YYUFLtlnBBvQUEQabchw6E4TtF2Ez5zvKHPaM5wgJU5WVFrC32au6CISqvuOgWFTr8lX50CiuorcrEV/lnSKiG5ALhbTfj3UxQUBcUrBdBTP/klW3+F4U7RJC23yA0WhKItP+oprGo4c8BC+h5Nayh6blFgjAejoBifg3QrIEHhUULKLdKx8HdB5C9sjy4hVUbGQUOGotxiXJKirzwciioj0SnH10vxy0Dok0vomUIcZo3gKJACCuQW1V9wUqofm+rXBssx9Am1mCEVFOUYFinVz5HyF4yRY1Q50Se+N0NKKCiOUWD4gdGFol125Jd5lGP4JV7sFAgKrwOt84IpYJRr2MIDnQKB4XH8fQ2RCsbxujrX0EFCgmJGMMo95GCYQBFRRo4Qua5R7sGHgwwFcosZwLiTp0rNa1VYUCAwIvoLSRPKuVcKkpcXUygi3aLg4KDOG8uGArnFKDDadaX9Rk+yHZ1DBEVmMLQNafUdgvJxFg19F1R0j9G747UuspNjiJ3iSMBMYNxBw4FlFzDcoRjZY/DaK1pPsgMYaigo/cVMYKCGtaBg3GqojBQYDDEHDzVxCmp/cYzL1IA+6b/zp+NNoaCWkllcY9dPx5tDsRIYBYVDHaP0Gdld4w6M1ZtNF6fgHHBl7zMKCge34JSTjK5RUDhBwQUjCxzVUzgCISknGcpKQREEhcQ1RjlHQREIBfew67q0iMOvOrwaAISmpJxf6wHIzkA0bd23pFTeqGcaaD4tJOit9NXPKFJBYeUcT9AgWBAMbd4dgEgLhbbnQG4i+f8uQKSHIgscOwExDRTepaXnHLsBMSUUkYDsCMT0UNzd4Ra7mF1hOPRMsyWVNH/c1/SA2R2Es5a/ACFtcn/xxMQMAAAAAElFTkSuQmCC"},val:{type:n.ArgumentType.ANGLE,defaultValue:15}}},{opcode:"rotateCCW",blockType:n.BlockType.COMMAND,text:"turn camera [image] [val] degrees",arguments:{image:{type:n.ArgumentType.IMAGE,dataURI:"data:image/png;base64,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"},val:{type:n.ArgumentType.ANGLE,defaultValue:15}}},"---",{opcode:"goTo",blockType:n.BlockType.COMMAND,text:"move camera to [sprite]",arguments:{sprite:{type:n.ArgumentType.STRING,menu:"sprites"}}},{opcode:"setBoth",blockType:n.BlockType.COMMAND,text:"set camera to x: [x] y: [y]",arguments:{x:{type:n.ArgumentType.NUMBER,defaultValue:0},y:{type:n.ArgumentType.NUMBER,defaultValue:0}}},"---",{opcode:"setDirection",blockType:n.BlockType.COMMAND,text:"set camera direction to [val]",arguments:{val:{type:n.ArgumentType.ANGLE,defaultValue:90}}},{opcode:"pointTowards",blockType:n.BlockType.COMMAND,text:"point camera towards [sprite]",arguments:{sprite:{type:n.ArgumentType.STRING,menu:"sprites"}}},"---",{opcode:"changeX",blockType:n.BlockType.COMMAND,text:"change camera x by [val]",arguments:{val:{type:n.ArgumentType.NUMBER,defaultValue:10}}},{opcode:"setX",blockType:n.BlockType.COMMAND,text:"set camera x to [val]",arguments:{val:{type:n.ArgumentType.NUMBER,defaultValue:0}}},{opcode:"changeY",blockType:n.BlockType.COMMAND,text:"change camera y by [val]",arguments:{val:{type:n.ArgumentType.NUMBER,defaultValue:10}}},{opcode:"setY",blockType:n.BlockType.COMMAND,text:"set camera y to [val]",arguments:{val:{type:n.ArgumentType.NUMBER,defaultValue:0}}},"---",{opcode:"getX",blockType:n.BlockType.REPORTER,text:"camera x"},{opcode:"getY",blockType:n.BlockType.REPORTER,text:"camera y"},{opcode:"getDirection",blockType:n.BlockType.REPORTER,text:"camera direction"},"---",{opcode:"changeZoom",blockType:n.BlockType.COMMAND,text:"change camera zoom by [val]",arguments:{val:{type:n.ArgumentType.NUMBER,defaultValue:10}}},{opcode:"setZoom",blockType:n.BlockType.COMMAND,text:"set camera zoom to [val] %",arguments:{val:{type:n.ArgumentType.NUMBER,defaultValue:100}}},{opcode:"getZoom",blockType:n.BlockType.REPORTER,text:"camera zoom"},"---",{opcode:"setCol",blockType:n.BlockType.COMMAND,text:"set background color to [val]",arguments:{val:{type:n.ArgumentType.COLOR}}},{opcode:"getCol",blockType:n.BlockType.REPORTER,text:"background color"}],menus:{sprites:{items:"getSprites",acceptReporters:!0}}}}getSprites(){let A=[];return n.vm.runtime.targets.forEach(e=>{e.isOriginal&&!e.isStage&&A.push(e.sprite.name)}),0===A.length&&A.push("no sprites exist"),A}setBoth(A,e){r=+A.x,s=+A.y,c(),i.runtime.requestRedraw()}changeZoom(A,e){o+=+A.val,c(),i.runtime.requestRedraw()}setZoom(A,e){o=+A.val,c(),i.runtime.requestRedraw()}changeX(A,e){r+=+A.val,c(),i.runtime.requestRedraw()}setX(A,e){r=+A.val,c(),i.runtime.requestRedraw()}changeY(A,e){s+=+A.val,c(),i.runtime.requestRedraw()}setY(A,e){s=+A.val,c(),i.runtime.requestRedraw()}setDirection(A,e){a=+A.val,c(),i.runtime.requestRedraw()}rotateCW(A,e){a+=+A.val,c(),i.runtime.requestRedraw()}rotateCCW(A,e){a-=+A.val,c(),i.runtime.requestRedraw()}getX(){return r}getY(){return s}getZoom(){return o}getDirection(){return a}setCol(A,e){B=n.Cast.toString(A.val);const t=n.Cast.toRgbColorList(A.val);n.vm.renderer.setBackgroundColor(t[0]/255,t[1]/255,t[2]/255),c(),i.runtime.requestRedraw()}getCol(){return B}moveSteps(A){let e=(90-a)*Math.PI/180;r+=A.val*Math.cos(e),s+=A.val*Math.sin(e),c(),i.runtime.requestRedraw()}goTo(A,e){const t=n.Cast.toString(A.sprite),o=i.runtime.getSpriteTargetByName(t);o&&(r=Math.round(o.x),s=Math.round(o.y),c(),i.runtime.requestRedraw())}pointTowards(A,e){const t=n.Cast.toString(A.sprite),o=i.runtime.getSpriteTargetByName(t);if(!o)return;let B=o.x,g=o.y;const Q=B-r,E=g-s;a=90-this.radToDeg(Math.atan2(E,Q)),c(),i.runtime.requestRedraw()}radToDeg(A){return 180*A/Math.PI}}},function(A,e,t){const n=t(7),i=t(1),r=t(3),s=t(417),{createNoise3D:o}=t(418);A.exports=class{constructor(A){console.log("nosie ext"),this.runtime=A,this.noise,this.seed=123,this.size=50,this.generator=new s(this.seed)}getInfo(){return{id:"iygPerlin",name:"Perlin Noise",color1:"#525252",color2:"#636363",blocks:[{opcode:"GetNoise",blockType:i.REPORTER,text:n({id:"iygPerlin.GetNoise",default:"Get perlin noise with seed [SEED] and octave [OCTAVE] at x [X], y [Y], and z [Z]",description:"Get seeded perlin noise at a specified x and y and z."}),arguments:{SEED:{type:r.NUMBER,defaultValue:123},OCTAVE:{type:r.NUMBER,defaultValue:4},X:{type:r.NUMBER,defaultValue:0},Y:{type:r.NUMBER,defaultValue:0},Z:{type:r.NUMBER,defaultValue:0}}},{opcode:"GetRandomNoise",blockType:i.REPORTER,text:n({id:"iygPerlin.GetRandomNoise",default:"Get noise with seed [SEED] at x [X], y [Y], and z [Z]",description:"Get seeded noise with a specified seed at a specified x and y and z."}),arguments:{SEED:{type:r.NUMBER,defaultValue:123},X:{type:r.NUMBER,defaultValue:0},Y:{type:r.NUMBER,defaultValue:0},Z:{type:r.NUMBER,defaultValue:0}}},{opcode:"GeneratePerlinNoise",blockType:i.COMMAND,text:n({id:"iygPerlin.GeneratePerlinNoise",default:"Pre-generate perlin noise with seed [SEED] and octave [OCTAVE]",description:"Pre-generate seeded perlin noise."}),arguments:{SEED:{type:r.NUMBER,defaultValue:123},OCTAVE:{type:r.NUMBER,defaultValue:4}}},{opcode:"GenerateRandomNoise",blockType:i.COMMAND,hideFromPalette:!0,text:n({id:"iygPerlin.GenerateRandomNoise",default:"not needed [SEED] [SIZE]",description:"Pre-generate seeded noise."}),arguments:{SEED:{type:r.NUMBER,defaultValue:123},SIZE:{type:r.NUMBER,defaultValue:50}}},{opcode:"getSimplexNoise",blockType:i.REPORTER,hideFromPalette:!0,text:n({id:"iygPerlin.getSimplexNoise",default:"Get simplex noise with seed [SEED] at x [X], y [Y], and z [Z]",description:"Get simplex noise with a specified seed at a specified x and y and z."}),arguments:{SEED:{type:r.NUMBER,defaultValue:123},X:{type:r.NUMBER,defaultValue:0},Y:{type:r.NUMBER,defaultValue:0},Z:{type:r.NUMBER,defaultValue:0}}}]}}dumbSeedRandom(){this.generator.init_seed(this.seed);let A=this.generator.random_incl();return this.seed=(1664525*this.seed+1013904223)%4294967296,A}GeneratePerlinNoise(A,e){A.X=0,A.Y=0,A.Z=0,this.GetNoise(A,e)}GenerateRandomNoise(A,e){let t=A.SEED,n=A.SIZE;if(null==this.noise||t!=this.seed){this.noise=new Array(n),this.seed=t;for(let A=0;A<n;A++){this.noise[A]=new Array(n);for(let e=0;e<n;e++){this.noise[A][e]=new Array(n);for(let t=0;t<n;t++)this.noise[A][e][t]=this.dumbSeedRandom()}}this.seed=t,this.prev_seed=t,this.size=n}if(n>this.size&&t==this.seed){this.seed=this.prev_seed;for(let A=this.size;A<n+1;A++){this.noise[A]=new Array(n);for(let e=this.size;e<n+1;e++){this.noise[A][e]=new Array(n);for(let t=this.size;t<n+1;t++)this.noise[A][e][t]=this.dumbSeedRandom()}}}}GetRandomNoise(A,e){let t=A.SEED,n=A.X,i=A.Y,r=A.Z,s=this.seed;this.seed=t+n+1e3*i+1e4*r;let o=this.dumbSeedRandom();return this.seed=s,o}GetNoise(A,e){let t=A.SEED,n=A.OCTAVE===1/0?4:A.OCTAVE,i=A.X+.5,r=A.Y+.5,s=A.Z+.5;const o=A=>.5*(1-Math.cos(A*Math.PI));if(null==this.perlin||t!=this.seed){this.perlin=new Array(4096),this.seed=t;for(let A=0;A<4096;A++)this.perlin[A]=this.dumbSeedRandom();this.seed=t}i<0&&(i=-i),r<0&&(r=-r),s<0&&(s=-s);let a,B,c,g,Q,E=Math.floor(i),l=Math.floor(r),u=Math.floor(s),w=i-E,h=r-l,C=s-u,d=0,I=.5;for(let A=0;A<n;A++){let A=E+(l<<4)+(u<<8);a=o(w),B=o(h),c=this.perlin[4095&A],c+=a*(this.perlin[A+1&4095]-c),g=this.perlin[A+16&4095],g+=a*(this.perlin[A+16+1&4095]-g),c+=B*(g-c),A+=256,g=this.perlin[4095&A],g+=a*(this.perlin[A+1&4095]-g),Q=this.perlin[A+16&4095],Q+=a*(this.perlin[A+16+1&4095]-Q),g+=B*(Q-g),c+=o(C)*(g-c),d+=c*I,I*=.5,E<<=1,w*=2,l<<=1,h*=2,u<<=1,C*=2,w>=1&&(E++,w--),h>=1&&(l++,h--),C>=1&&(u++,C--)}return d%1}getSimplexNoise(A){const e=A.SEED,t=A.X,n=A.Y,i=A.Z;this.generator.init_seed(e);return o(this.generator.random_incl.bind(this.generator))(t,n,i)}}},function(A,e){var t=function(A){null==A&&(A=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,A.constructor==Array?this.init_by_array(A,A.length):this.init_seed(A)};t.prototype.init_seed=function(A){for(this.mt[0]=A>>>0,this.mti=1;this.mti<this.N;this.mti++){A=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(1812433253*((4294901760&A)>>>16)<<16)+1812433253*(65535&A)+this.mti,this.mt[this.mti]>>>=0}},t.prototype.init_by_array=function(A,e){var t,n,i;for(this.init_seed(19650218),t=1,n=0,i=this.N>e?this.N:e;i;i--){var r=this.mt[t-1]^this.mt[t-1]>>>30;this.mt[t]=(this.mt[t]^(1664525*((4294901760&r)>>>16)<<16)+1664525*(65535&r))+A[n]+n,this.mt[t]>>>=0,n++,++t>=this.N&&(this.mt[0]=this.mt[this.N-1],t=1),n>=e&&(n=0)}for(i=this.N-1;i;i--){r=this.mt[t-1]^this.mt[t-1]>>>30;this.mt[t]=(this.mt[t]^(1566083941*((4294901760&r)>>>16)<<16)+1566083941*(65535&r))-t,this.mt[t]>>>=0,++t>=this.N&&(this.mt[0]=this.mt[this.N-1],t=1)}this.mt[0]=2147483648},t.prototype.random_int=function(){var A,e=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_seed(5489),t=0;t<this.N-this.M;t++)A=this.mt[t]&this.UPPER_MASK|this.mt[t+1]&this.LOWER_MASK,this.mt[t]=this.mt[t+this.M]^A>>>1^e[1&A];for(;t<this.N-1;t++)A=this.mt[t]&this.UPPER_MASK|this.mt[t+1]&this.LOWER_MASK,this.mt[t]=this.mt[t+(this.M-this.N)]^A>>>1^e[1&A];A=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^A>>>1^e[1&A],this.mti=0}return A=this.mt[this.mti++],A^=A>>>11,A^=A<<7&2636928640,A^=A<<15&4022730752,(A^=A>>>18)>>>0},t.prototype.random_int31=function(){return this.random_int()>>>1},t.prototype.random_incl=function(){return this.random_int()*(1/4294967295)},t.prototype.random=function(){return this.random_int()*(1/4294967296)},t.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)},t.prototype.random_long=function(){return(67108864*(this.random_int()>>>5)+(this.random_int()>>>6))*(1/9007199254740992)},A.exports=t},function(A,e,t){"use strict";t.r(e),t.d(e,"createNoise2D",(function(){return Q})),t.d(e,"createNoise3D",(function(){return E})),t.d(e,"createNoise4D",(function(){return l})),t.d(e,"buildPermutationTable",(function(){return u}));const n=.5*(Math.sqrt(3)-1),i=(3-Math.sqrt(3))/6,r=1/6,s=(Math.sqrt(5)-1)/4,o=(5-Math.sqrt(5))/20,a=A=>0|Math.floor(A),B=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]),c=new Float64Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0,1,0,1,-1,0,1,1,0,-1,-1,0,-1,0,1,1,0,-1,1,0,1,-1,0,-1,-1]),g=new Float64Array([0,1,1,1,0,1,1,-1,0,1,-1,1,0,1,-1,-1,0,-1,1,1,0,-1,1,-1,0,-1,-1,1,0,-1,-1,-1,1,0,1,1,1,0,1,-1,1,0,-1,1,1,0,-1,-1,-1,0,1,1,-1,0,1,-1,-1,0,-1,1,-1,0,-1,-1,1,1,0,1,1,1,0,-1,1,-1,0,1,1,-1,0,-1,-1,1,0,1,-1,1,0,-1,-1,-1,0,1,-1,-1,0,-1,1,1,1,0,1,1,-1,0,1,-1,1,0,1,-1,-1,0,-1,1,1,0,-1,1,-1,0,-1,-1,1,0,-1,-1,-1,0]);function Q(A=Math.random){const e=u(A),t=new Float64Array(e).map(A=>B[A%12*2]),r=new Float64Array(e).map(A=>B[A%12*2+1]);return function(A,s){let o=0,B=0,c=0;const g=(A+s)*n,Q=a(A+g),E=a(s+g),l=(Q+E)*i,u=A-(Q-l),w=s-(E-l);let h,C;u>w?(h=1,C=0):(h=0,C=1);const d=u-h+i,I=w-C+i,M=u-1+2*i,p=w-1+2*i,m=255&Q,F=255&E;let D=.5-u*u-w*w;if(D>=0){const A=m+e[F];D*=D,o=D*D*(t[A]*u+r[A]*w)}let Y=.5-d*d-I*I;if(Y>=0){const A=m+h+e[F+C];Y*=Y,B=Y*Y*(t[A]*d+r[A]*I)}let f=.5-M*M-p*p;if(f>=0){const A=m+1+e[F+1];f*=f,c=f*f*(t[A]*M+r[A]*p)}return 70*(o+B+c)}}function E(A=Math.random){const e=u(A),t=new Float64Array(e).map(A=>c[A%12*3]),n=new Float64Array(e).map(A=>c[A%12*3+1]),i=new Float64Array(e).map(A=>c[A%12*3+2]);return function(A,s,o){let B,c,g,Q;const E=(A+s+o)*(1/3),l=a(A+E),u=a(s+E),w=a(o+E),h=(l+u+w)*r,C=A-(l-h),d=s-(u-h),I=o-(w-h);let M,p,m,F,D,Y;C>=d?d>=I?(M=1,p=0,m=0,F=1,D=1,Y=0):C>=I?(M=1,p=0,m=0,F=1,D=0,Y=1):(M=0,p=0,m=1,F=1,D=0,Y=1):d<I?(M=0,p=0,m=1,F=0,D=1,Y=1):C<I?(M=0,p=1,m=0,F=0,D=1,Y=1):(M=0,p=1,m=0,F=1,D=1,Y=0);const f=C-M+r,N=d-p+r,U=I-m+r,y=C-F+2*r,x=d-D+2*r,T=I-Y+2*r,R=C-1+.5,G=d-1+.5,S=I-1+.5,H=255&l,b=255&u,k=255&w;let J=.6-C*C-d*d-I*I;if(J<0)B=0;else{const A=H+e[b+e[k]];J*=J,B=J*J*(t[A]*C+n[A]*d+i[A]*I)}let j=.6-f*f-N*N-U*U;if(j<0)c=0;else{const A=H+M+e[b+p+e[k+m]];j*=j,c=j*j*(t[A]*f+n[A]*N+i[A]*U)}let z=.6-y*y-x*x-T*T;if(z<0)g=0;else{const A=H+F+e[b+D+e[k+Y]];z*=z,g=z*z*(t[A]*y+n[A]*x+i[A]*T)}let v=.6-R*R-G*G-S*S;if(v<0)Q=0;else{const A=H+1+e[b+1+e[k+1]];v*=v,Q=v*v*(t[A]*R+n[A]*G+i[A]*S)}return 32*(B+c+g+Q)}}function l(A=Math.random){const e=u(A),t=new Float64Array(e).map(A=>g[A%32*4]),n=new Float64Array(e).map(A=>g[A%32*4+1]),i=new Float64Array(e).map(A=>g[A%32*4+2]),r=new Float64Array(e).map(A=>g[A%32*4+3]);return function(A,B,c,g){let Q,E,l,u,w;const h=(A+B+c+g)*s,C=a(A+h),d=a(B+h),I=a(c+h),M=a(g+h),p=(C+d+I+M)*o,m=A-(C-p),F=B-(d-p),D=c-(I-p),Y=g-(M-p);let f=0,N=0,U=0,y=0;m>F?f++:N++,m>D?f++:U++,m>Y?f++:y++,F>D?N++:U++,F>Y?N++:y++,D>Y?U++:y++;const x=f>=3?1:0,T=N>=3?1:0,R=U>=3?1:0,G=y>=3?1:0,S=f>=2?1:0,H=N>=2?1:0,b=U>=2?1:0,k=y>=2?1:0,J=f>=1?1:0,j=N>=1?1:0,z=U>=1?1:0,v=y>=1?1:0,L=m-x+o,P=F-T+o,O=D-R+o,W=Y-G+o,V=m-S+2*o,K=F-H+2*o,X=D-b+2*o,Z=Y-k+2*o,_=m-J+3*o,q=F-j+3*o,$=D-z+3*o,AA=Y-v+3*o,eA=m-1+4*o,tA=F-1+4*o,nA=D-1+4*o,iA=Y-1+4*o,rA=255&C,sA=255&d,oA=255&I,aA=255&M;let BA=.6-m*m-F*F-D*D-Y*Y;if(BA<0)Q=0;else{const A=rA+e[sA+e[oA+e[aA]]];BA*=BA,Q=BA*BA*(t[A]*m+n[A]*F+i[A]*D+r[A]*Y)}let cA=.6-L*L-P*P-O*O-W*W;if(cA<0)E=0;else{const A=rA+x+e[sA+T+e[oA+R+e[aA+G]]];cA*=cA,E=cA*cA*(t[A]*L+n[A]*P+i[A]*O+r[A]*W)}let gA=.6-V*V-K*K-X*X-Z*Z;if(gA<0)l=0;else{const A=rA+S+e[sA+H+e[oA+b+e[aA+k]]];gA*=gA,l=gA*gA*(t[A]*V+n[A]*K+i[A]*X+r[A]*Z)}let QA=.6-_*_-q*q-$*$-AA*AA;if(QA<0)u=0;else{const A=rA+J+e[sA+j+e[oA+z+e[aA+v]]];QA*=QA,u=QA*QA*(t[A]*_+n[A]*q+i[A]*$+r[A]*AA)}let EA=.6-eA*eA-tA*tA-nA*nA-iA*iA;if(EA<0)w=0;else{const A=rA+1+e[sA+1+e[oA+1+e[aA+1]]];EA*=EA,w=EA*EA*(t[A]*eA+n[A]*tA+i[A]*nA+r[A]*iA)}return 27*(Q+E+l+u+w)}}function u(A){const e=new Uint8Array(512);for(let A=0;A<256;A++)e[A]=A;for(let t=0;t<255;t++){const n=t+~~(A()*(256-t)),i=e[t];e[t]=e[n],e[n]=i}for(let A=256;A<512;A++)e[A]=e[A-256];return e}},function(A,e,t){t(7);const n=t(1),i=t(3),r=t(2),s=t(420),o=t(421);A.exports=class{constructor(A){this.runtime=A,this.world={},this._3d={},this.Three={},vm.runtime.ext_jg3d?(this._3d=vm.runtime.ext_jg3d,this.Three=this._3d.three):vm.extensionManager.loadExtensionURL("jg3d").then(()=>{this._3d=vm.runtime.ext_jg3d,this.Three=this._3d.three})}getInfo(){return{id:"fr3d",name:"3D Physics",color1:"#D066FE",color2:"#8000BC",blockIconURI:o,blocks:[{opcode:"step",text:"step simulation",blockType:n.COMMAND},{opcode:"addp",text:"enable physics for [NAME1]",blockType:n.COMMAND,arguments:{NAME1:{type:i.STRING,defaultValue:"Cube1"}}},{opcode:"rmp",text:"disable physics for [NAME1]",blockType:n.COMMAND,arguments:{NAME1:{type:i.STRING,defaultValue:"Plane1"}}}]}}createShapeFromGeometry(A){if(A instanceof this.Three.BufferGeometry){const e=A.attributes.position.array,t=[];for(let A=0;A<e.length/3;A++)t.push(A);return new s.Trimesh(e,t)}return A instanceof this.Three.Geometry?new s.ConvexPolyhedron(A.vertices.map(A=>new s.Vec3(A.x,A.y,A.z)),A.faces.map(A=>[A.a,A.b,A.c])):(console.warn("Unsupported geometry type for collision shape creation:",A.type),null)}enablePhysicsForObject(A){if(!this._3d.scene)return;if(!(A=this._3d.scene.getObjectByName(A))||!this._3d.scene)return;const e=this.createShapeFromGeometry(A.geometry);if(!e)return void console.warn("Failed to create a valid shape for the object:",A.name);const t=new s.Body({mass:1});t.addShape(e),A.userData.physicsBody=t}disablePhysicsForObject(A){(A=this._3d.scene.getObjectByName(A))&&A.userData&&A.userData.physicsBody&&delete A.userData.physicsBody}step(){this._3d.scene.traverse(A=>{A.userData.physicsBody&&(A.position.copy(A.userData.physicsBody.position),A.quaternion.copy(A.userData.physicsBody.quaternion))})}addp(A){this.enablePhysicsForObject(r.toString(A.NAME1))}rmp(A){this.disablePhysicsForObject(r.toString(A.NAME1))}}},function(A,e,t){"use strict";t.r(e),t.d(e,"AABB",(function(){return c})),t.d(e,"ArrayCollisionMatrix",(function(){return E})),t.d(e,"BODY_SLEEP_STATES",(function(){return x})),t.d(e,"BODY_TYPES",(function(){return y})),t.d(e,"Body",(function(){return T})),t.d(e,"Box",(function(){return f})),t.d(e,"Broadphase",(function(){return W})),t.d(e,"COLLISION_TYPES",(function(){return hn})),t.d(e,"ConeTwistConstraint",(function(){return ge})),t.d(e,"Constraint",(function(){return jA})),t.d(e,"ContactEquation",(function(){return XA})),t.d(e,"ContactMaterial",(function(){return Me})),t.d(e,"ConvexPolyhedron",(function(){return p})),t.d(e,"Cylinder",(function(){return It})),t.d(e,"DistanceConstraint",(function(){return Qe})),t.d(e,"Equation",(function(){return vA})),t.d(e,"EventTarget",(function(){return l})),t.d(e,"FrictionEquation",(function(){return Ce})),t.d(e,"GSSolver",(function(){return An})),t.d(e,"GridBroadphase",(function(){return _})),t.d(e,"Heightfield",(function(){return Ft})),t.d(e,"HingeConstraint",(function(){return ue})),t.d(e,"JacobianElement",(function(){return zA})),t.d(e,"LockConstraint",(function(){return Ee})),t.d(e,"Mat3",(function(){return i})),t.d(e,"Material",(function(){return pe})),t.d(e,"NaiveBroadphase",(function(){return $})),t.d(e,"Narrowphase",(function(){return Cn})),t.d(e,"ObjectCollisionMatrix",(function(){return n})),t.d(e,"Particle",(function(){return Mt})),t.d(e,"Plane",(function(){return pt})),t.d(e,"PointToPointConstraint",(function(){return ie})),t.d(e,"Pool",(function(){return un})),t.d(e,"Quaternion",(function(){return u})),t.d(e,"RAY_MODES",(function(){return aA})),t.d(e,"Ray",(function(){return BA})),t.d(e,"RaycastResult",(function(){return AA})),t.d(e,"RaycastVehicle",(function(){return ke})),t.d(e,"RigidVehicle",(function(){return Bt})),t.d(e,"RotationalEquation",(function(){return ae})),t.d(e,"RotationalMotorEquation",(function(){return le})),t.d(e,"SAPBroadphase",(function(){return kA})),t.d(e,"SHAPE_TYPES",(function(){return C})),t.d(e,"SPHSystem",(function(){return Qt})),t.d(e,"Shape",(function(){return d})),t.d(e,"Solver",(function(){return $t})),t.d(e,"Sphere",(function(){return at})),t.d(e,"SplitSolver",(function(){return rn})),t.d(e,"Spring",(function(){return me})),t.d(e,"Transform",(function(){return I})),t.d(e,"Trimesh",(function(){return Jt})),t.d(e,"Vec3",(function(){return s})),t.d(e,"Vec3Pool",(function(){return wn})),t.d(e,"WheelInfo",(function(){return Se})),t.d(e,"World",(function(){return Ji}));class n{constructor(){this.matrix={}}get(A,e){let{id:t}=A,{id:n}=e;if(n>t){const A=n;n=t,t=A}return`${t}-${n}`in this.matrix}set(A,e,t){let{id:n}=A,{id:i}=e;if(i>n){const A=i;i=n,n=A}t?this.matrix[`${n}-${i}`]=!0:delete this.matrix[`${n}-${i}`]}reset(){this.matrix={}}setNumObjects(A){}}class i{constructor(A){void 0===A&&(A=[0,0,0,0,0,0,0,0,0]),this.elements=A}identity(){const A=this.elements;A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=1,A[5]=0,A[6]=0,A[7]=0,A[8]=1}setZero(){const A=this.elements;A[0]=0,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=0,A[6]=0,A[7]=0,A[8]=0}setTrace(A){const e=this.elements;e[0]=A.x,e[4]=A.y,e[8]=A.z}getTrace(A){void 0===A&&(A=new s);const e=this.elements;return A.x=e[0],A.y=e[4],A.z=e[8],A}vmult(A,e){void 0===e&&(e=new s);const t=this.elements,n=A.x,i=A.y,r=A.z;return e.x=t[0]*n+t[1]*i+t[2]*r,e.y=t[3]*n+t[4]*i+t[5]*r,e.z=t[6]*n+t[7]*i+t[8]*r,e}smult(A){for(let e=0;e<this.elements.length;e++)this.elements[e]*=A}mmult(A,e){void 0===e&&(e=new i);const t=this.elements,n=A.elements,r=e.elements,s=t[0],o=t[1],a=t[2],B=t[3],c=t[4],g=t[5],Q=t[6],E=t[7],l=t[8],u=n[0],w=n[1],h=n[2],C=n[3],d=n[4],I=n[5],M=n[6],p=n[7],m=n[8];return r[0]=s*u+o*C+a*M,r[1]=s*w+o*d+a*p,r[2]=s*h+o*I+a*m,r[3]=B*u+c*C+g*M,r[4]=B*w+c*d+g*p,r[5]=B*h+c*I+g*m,r[6]=Q*u+E*C+l*M,r[7]=Q*w+E*d+l*p,r[8]=Q*h+E*I+l*m,e}scale(A,e){void 0===e&&(e=new i);const t=this.elements,n=e.elements;for(let e=0;3!==e;e++)n[3*e+0]=A.x*t[3*e+0],n[3*e+1]=A.y*t[3*e+1],n[3*e+2]=A.z*t[3*e+2];return e}solve(A,e){void 0===e&&(e=new s);const t=[];let n,i;for(n=0;n<12;n++)t.push(0);for(n=0;n<3;n++)for(i=0;i<3;i++)t[n+4*i]=this.elements[n+3*i];t[3]=A.x,t[7]=A.y,t[11]=A.z;let r=3;const o=r;let a;let B;do{if(n=o-r,0===t[n+4*n])for(i=n+1;i<o;i++)if(0!==t[n+4*i]){a=4;do{B=4-a,t[B+4*n]+=t[B+4*i]}while(--a);break}if(0!==t[n+4*n])for(i=n+1;i<o;i++){const A=t[n+4*i]/t[n+4*n];a=4;do{B=4-a,t[B+4*i]=B<=n?0:t[B+4*i]-t[B+4*n]*A}while(--a)}}while(--r);if(e.z=t[11]/t[10],e.y=(t[7]-t[6]*e.z)/t[5],e.x=(t[3]-t[2]*e.z-t[1]*e.y)/t[0],isNaN(e.x)||isNaN(e.y)||isNaN(e.z)||e.x===1/0||e.y===1/0||e.z===1/0)throw`Could not solve equation! Got x=[${e.toString()}], b=[${A.toString()}], A=[${this.toString()}]`;return e}e(A,e,t){if(void 0===t)return this.elements[e+3*A];this.elements[e+3*A]=t}copy(A){for(let e=0;e<A.elements.length;e++)this.elements[e]=A.elements[e];return this}toString(){let A="";for(let e=0;e<9;e++)A+=this.elements[e]+",";return A}reverse(A){void 0===A&&(A=new i);const e=r;let t,n;for(t=0;t<3;t++)for(n=0;n<3;n++)e[t+6*n]=this.elements[t+3*n];e[3]=1,e[9]=0,e[15]=0,e[4]=0,e[10]=1,e[16]=0,e[5]=0,e[11]=0,e[17]=1;let s=3;const o=s;let a;let B;do{if(t=o-s,0===e[t+6*t])for(n=t+1;n<o;n++)if(0!==e[t+6*n]){a=6;do{B=6-a,e[B+6*t]+=e[B+6*n]}while(--a);break}if(0!==e[t+6*t])for(n=t+1;n<o;n++){const A=e[t+6*n]/e[t+6*t];a=6;do{B=6-a,e[B+6*n]=B<=t?0:e[B+6*n]-e[B+6*t]*A}while(--a)}}while(--s);t=2;do{n=t-1;do{const A=e[t+6*n]/e[t+6*t];a=6;do{B=6-a,e[B+6*n]=e[B+6*n]-e[B+6*t]*A}while(--a)}while(n--)}while(--t);t=2;do{const A=1/e[t+6*t];a=6;do{B=6-a,e[B+6*t]=e[B+6*t]*A}while(--a)}while(t--);t=2;do{n=2;do{if(B=e[3+n+6*t],isNaN(B)||B===1/0)throw`Could not reverse! A=[${this.toString()}]`;A.e(t,n,B)}while(n--)}while(t--);return A}setRotationFromQuaternion(A){const e=A.x,t=A.y,n=A.z,i=A.w,r=e+e,s=t+t,o=n+n,a=e*r,B=e*s,c=e*o,g=t*s,Q=t*o,E=n*o,l=i*r,u=i*s,w=i*o,h=this.elements;return h[0]=1-(g+E),h[1]=B-w,h[2]=c+u,h[3]=B+w,h[4]=1-(a+E),h[5]=Q-l,h[6]=c-u,h[7]=Q+l,h[8]=1-(a+g),this}transpose(A){void 0===A&&(A=new i);const e=this.elements,t=A.elements;let n;return t[0]=e[0],t[4]=e[4],t[8]=e[8],n=e[1],t[1]=e[3],t[3]=n,n=e[2],t[2]=e[6],t[6]=n,n=e[5],t[5]=e[7],t[7]=n,A}}const r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];class s{constructor(A,e,t){void 0===A&&(A=0),void 0===e&&(e=0),void 0===t&&(t=0),this.x=A,this.y=e,this.z=t}cross(A,e){void 0===e&&(e=new s);const t=A.x,n=A.y,i=A.z,r=this.x,o=this.y,a=this.z;return e.x=o*i-a*n,e.y=a*t-r*i,e.z=r*n-o*t,e}set(A,e,t){return this.x=A,this.y=e,this.z=t,this}setZero(){this.x=this.y=this.z=0}vadd(A,e){if(!e)return new s(this.x+A.x,this.y+A.y,this.z+A.z);e.x=A.x+this.x,e.y=A.y+this.y,e.z=A.z+this.z}vsub(A,e){if(!e)return new s(this.x-A.x,this.y-A.y,this.z-A.z);e.x=this.x-A.x,e.y=this.y-A.y,e.z=this.z-A.z}crossmat(){return new i([0,-this.z,this.y,this.z,0,-this.x,-this.y,this.x,0])}normalize(){const A=this.x,e=this.y,t=this.z,n=Math.sqrt(A*A+e*e+t*t);if(n>0){const A=1/n;this.x*=A,this.y*=A,this.z*=A}else this.x=0,this.y=0,this.z=0;return n}unit(A){void 0===A&&(A=new s);const e=this.x,t=this.y,n=this.z;let i=Math.sqrt(e*e+t*t+n*n);return i>0?(i=1/i,A.x=e*i,A.y=t*i,A.z=n*i):(A.x=1,A.y=0,A.z=0),A}length(){const A=this.x,e=this.y,t=this.z;return Math.sqrt(A*A+e*e+t*t)}lengthSquared(){return this.dot(this)}distanceTo(A){const e=this.x,t=this.y,n=this.z,i=A.x,r=A.y,s=A.z;return Math.sqrt((i-e)*(i-e)+(r-t)*(r-t)+(s-n)*(s-n))}distanceSquared(A){const e=this.x,t=this.y,n=this.z,i=A.x,r=A.y,s=A.z;return(i-e)*(i-e)+(r-t)*(r-t)+(s-n)*(s-n)}scale(A,e){void 0===e&&(e=new s);const t=this.x,n=this.y,i=this.z;return e.x=A*t,e.y=A*n,e.z=A*i,e}vmul(A,e){return void 0===e&&(e=new s),e.x=A.x*this.x,e.y=A.y*this.y,e.z=A.z*this.z,e}addScaledVector(A,e,t){return void 0===t&&(t=new s),t.x=this.x+A*e.x,t.y=this.y+A*e.y,t.z=this.z+A*e.z,t}dot(A){return this.x*A.x+this.y*A.y+this.z*A.z}isZero(){return 0===this.x&&0===this.y&&0===this.z}negate(A){return void 0===A&&(A=new s),A.x=-this.x,A.y=-this.y,A.z=-this.z,A}tangents(A,e){const t=this.length();if(t>0){const n=o,i=1/t;n.set(this.x*i,this.y*i,this.z*i);const r=a;Math.abs(n.x)<.9?(r.set(1,0,0),n.cross(r,A)):(r.set(0,1,0),n.cross(r,A)),n.cross(A,e)}else A.set(1,0,0),e.set(0,1,0)}toString(){return`${this.x},${this.y},${this.z}`}toArray(){return[this.x,this.y,this.z]}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}lerp(A,e,t){const n=this.x,i=this.y,r=this.z;t.x=n+(A.x-n)*e,t.y=i+(A.y-i)*e,t.z=r+(A.z-r)*e}almostEquals(A,e){return void 0===e&&(e=1e-6),!(Math.abs(this.x-A.x)>e||Math.abs(this.y-A.y)>e||Math.abs(this.z-A.z)>e)}almostZero(A){return void 0===A&&(A=1e-6),!(Math.abs(this.x)>A||Math.abs(this.y)>A||Math.abs(this.z)>A)}isAntiparallelTo(A,e){return this.negate(B),B.almostEquals(A,e)}clone(){return new s(this.x,this.y,this.z)}}s.ZERO=new s(0,0,0),s.UNIT_X=new s(1,0,0),s.UNIT_Y=new s(0,1,0),s.UNIT_Z=new s(0,0,1);const o=new s,a=new s,B=new s;class c{constructor(A){void 0===A&&(A={}),this.lowerBound=new s,this.upperBound=new s,A.lowerBound&&this.lowerBound.copy(A.lowerBound),A.upperBound&&this.upperBound.copy(A.upperBound)}setFromPoints(A,e,t,n){const i=this.lowerBound,r=this.upperBound,s=t;i.copy(A[0]),s&&s.vmult(i,i),r.copy(i);for(let e=1;e<A.length;e++){let t=A[e];s&&(s.vmult(t,g),t=g),t.x>r.x&&(r.x=t.x),t.x<i.x&&(i.x=t.x),t.y>r.y&&(r.y=t.y),t.y<i.y&&(i.y=t.y),t.z>r.z&&(r.z=t.z),t.z<i.z&&(i.z=t.z)}return e&&(e.vadd(i,i),e.vadd(r,r)),n&&(i.x-=n,i.y-=n,i.z-=n,r.x+=n,r.y+=n,r.z+=n),this}copy(A){return this.lowerBound.copy(A.lowerBound),this.upperBound.copy(A.upperBound),this}clone(){return(new c).copy(this)}extend(A){this.lowerBound.x=Math.min(this.lowerBound.x,A.lowerBound.x),this.upperBound.x=Math.max(this.upperBound.x,A.upperBound.x),this.lowerBound.y=Math.min(this.lowerBound.y,A.lowerBound.y),this.upperBound.y=Math.max(this.upperBound.y,A.upperBound.y),this.lowerBound.z=Math.min(this.lowerBound.z,A.lowerBound.z),this.upperBound.z=Math.max(this.upperBound.z,A.upperBound.z)}overlaps(A){const e=this.lowerBound,t=this.upperBound,n=A.lowerBound,i=A.upperBound,r=n.x<=t.x&&t.x<=i.x||e.x<=i.x&&i.x<=t.x,s=n.y<=t.y&&t.y<=i.y||e.y<=i.y&&i.y<=t.y,o=n.z<=t.z&&t.z<=i.z||e.z<=i.z&&i.z<=t.z;return r&&s&&o}volume(){const A=this.lowerBound,e=this.upperBound;return(e.x-A.x)*(e.y-A.y)*(e.z-A.z)}contains(A){const e=this.lowerBound,t=this.upperBound,n=A.lowerBound,i=A.upperBound;return e.x<=n.x&&t.x>=i.x&&e.y<=n.y&&t.y>=i.y&&e.z<=n.z&&t.z>=i.z}getCorners(A,e,t,n,i,r,s,o){const a=this.lowerBound,B=this.upperBound;A.copy(a),e.set(B.x,a.y,a.z),t.set(B.x,B.y,a.z),n.set(a.x,B.y,B.z),i.set(B.x,a.y,B.z),r.set(a.x,B.y,a.z),s.set(a.x,a.y,B.z),o.copy(B)}toLocalFrame(A,e){const t=Q,n=t[0],i=t[1],r=t[2],s=t[3],o=t[4],a=t[5],B=t[6],c=t[7];this.getCorners(n,i,r,s,o,a,B,c);for(let e=0;8!==e;e++){const n=t[e];A.pointToLocal(n,n)}return e.setFromPoints(t)}toWorldFrame(A,e){const t=Q,n=t[0],i=t[1],r=t[2],s=t[3],o=t[4],a=t[5],B=t[6],c=t[7];this.getCorners(n,i,r,s,o,a,B,c);for(let e=0;8!==e;e++){const n=t[e];A.pointToWorld(n,n)}return e.setFromPoints(t)}overlapsRay(A){const{direction:e,from:t}=A,n=1/e.x,i=1/e.y,r=1/e.z,s=(this.lowerBound.x-t.x)*n,o=(this.upperBound.x-t.x)*n,a=(this.lowerBound.y-t.y)*i,B=(this.upperBound.y-t.y)*i,c=(this.lowerBound.z-t.z)*r,g=(this.upperBound.z-t.z)*r,Q=Math.max(Math.max(Math.min(s,o),Math.min(a,B)),Math.min(c,g)),E=Math.min(Math.min(Math.max(s,o),Math.max(a,B)),Math.max(c,g));return!(E<0)&&!(Q>E)}}const g=new s,Q=[new s,new s,new s,new s,new s,new s,new s,new s];class E{constructor(){this.matrix=[]}get(A,e){let{index:t}=A,{index:n}=e;if(n>t){const A=n;n=t,t=A}return this.matrix[(t*(t+1)>>1)+n-1]}set(A,e,t){let{index:n}=A,{index:i}=e;if(i>n){const A=i;i=n,n=A}this.matrix[(n*(n+1)>>1)+i-1]=t?1:0}reset(){for(let A=0,e=this.matrix.length;A!==e;A++)this.matrix[A]=0}setNumObjects(A){this.matrix.length=A*(A-1)>>1}}class l{addEventListener(A,e){void 0===this._listeners&&(this._listeners={});const t=this._listeners;return void 0===t[A]&&(t[A]=[]),t[A].includes(e)||t[A].push(e),this}hasEventListener(A,e){if(void 0===this._listeners)return!1;const t=this._listeners;return!(void 0===t[A]||!t[A].includes(e))}hasAnyEventListener(A){if(void 0===this._listeners)return!1;return void 0!==this._listeners[A]}removeEventListener(A,e){if(void 0===this._listeners)return this;const t=this._listeners;if(void 0===t[A])return this;const n=t[A].indexOf(e);return-1!==n&&t[A].splice(n,1),this}dispatchEvent(A){if(void 0===this._listeners)return this;const e=this._listeners[A.type];if(void 0!==e){A.target=this;for(let t=0,n=e.length;t<n;t++)e[t].call(this,A)}return this}}class u{constructor(A,e,t,n){void 0===A&&(A=0),void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=1),this.x=A,this.y=e,this.z=t,this.w=n}set(A,e,t,n){return this.x=A,this.y=e,this.z=t,this.w=n,this}toString(){return`${this.x},${this.y},${this.z},${this.w}`}toArray(){return[this.x,this.y,this.z,this.w]}setFromAxisAngle(A,e){const t=Math.sin(.5*e);return this.x=A.x*t,this.y=A.y*t,this.z=A.z*t,this.w=Math.cos(.5*e),this}toAxisAngle(A){void 0===A&&(A=new s),this.normalize();const e=2*Math.acos(this.w),t=Math.sqrt(1-this.w*this.w);return t<.001?(A.x=this.x,A.y=this.y,A.z=this.z):(A.x=this.x/t,A.y=this.y/t,A.z=this.z/t),[A,e]}setFromVectors(A,e){if(A.isAntiparallelTo(e)){const e=w,t=h;A.tangents(e,t),this.setFromAxisAngle(e,Math.PI)}else{const t=A.cross(e);this.x=t.x,this.y=t.y,this.z=t.z,this.w=Math.sqrt(A.length()**2*e.length()**2)+A.dot(e),this.normalize()}return this}mult(A,e){void 0===e&&(e=new u);const t=this.x,n=this.y,i=this.z,r=this.w,s=A.x,o=A.y,a=A.z,B=A.w;return e.x=t*B+r*s+n*a-i*o,e.y=n*B+r*o+i*s-t*a,e.z=i*B+r*a+t*o-n*s,e.w=r*B-t*s-n*o-i*a,e}inverse(A){void 0===A&&(A=new u);const e=this.x,t=this.y,n=this.z,i=this.w;this.conjugate(A);const r=1/(e*e+t*t+n*n+i*i);return A.x*=r,A.y*=r,A.z*=r,A.w*=r,A}conjugate(A){return void 0===A&&(A=new u),A.x=-this.x,A.y=-this.y,A.z=-this.z,A.w=this.w,A}normalize(){let A=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===A?(this.x=0,this.y=0,this.z=0,this.w=0):(A=1/A,this.x*=A,this.y*=A,this.z*=A,this.w*=A),this}normalizeFast(){const A=(3-(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w))/2;return 0===A?(this.x=0,this.y=0,this.z=0,this.w=0):(this.x*=A,this.y*=A,this.z*=A,this.w*=A),this}vmult(A,e){void 0===e&&(e=new s);const t=A.x,n=A.y,i=A.z,r=this.x,o=this.y,a=this.z,B=this.w,c=B*t+o*i-a*n,g=B*n+a*t-r*i,Q=B*i+r*n-o*t,E=-r*t-o*n-a*i;return e.x=c*B+E*-r+g*-a-Q*-o,e.y=g*B+E*-o+Q*-r-c*-a,e.z=Q*B+E*-a+c*-o-g*-r,e}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=A.w,this}toEuler(A,e){let t,n,i;void 0===e&&(e="YZX");const r=this.x,s=this.y,o=this.z,a=this.w;switch(e){case"YZX":const A=r*s+o*a;if(A>.499&&(t=2*Math.atan2(r,a),n=Math.PI/2,i=0),A<-.499&&(t=-2*Math.atan2(r,a),n=-Math.PI/2,i=0),void 0===t){const e=r*r,B=s*s,c=o*o;t=Math.atan2(2*s*a-2*r*o,1-2*B-2*c),n=Math.asin(2*A),i=Math.atan2(2*r*a-2*s*o,1-2*e-2*c)}break;default:throw new Error(`Euler order ${e} not supported yet.`)}A.y=t,A.z=n,A.x=i}setFromEuler(A,e,t,n){void 0===n&&(n="XYZ");const i=Math.cos(A/2),r=Math.cos(e/2),s=Math.cos(t/2),o=Math.sin(A/2),a=Math.sin(e/2),B=Math.sin(t/2);return"XYZ"===n?(this.x=o*r*s+i*a*B,this.y=i*a*s-o*r*B,this.z=i*r*B+o*a*s,this.w=i*r*s-o*a*B):"YXZ"===n?(this.x=o*r*s+i*a*B,this.y=i*a*s-o*r*B,this.z=i*r*B-o*a*s,this.w=i*r*s+o*a*B):"ZXY"===n?(this.x=o*r*s-i*a*B,this.y=i*a*s+o*r*B,this.z=i*r*B+o*a*s,this.w=i*r*s-o*a*B):"ZYX"===n?(this.x=o*r*s-i*a*B,this.y=i*a*s+o*r*B,this.z=i*r*B-o*a*s,this.w=i*r*s+o*a*B):"YZX"===n?(this.x=o*r*s+i*a*B,this.y=i*a*s+o*r*B,this.z=i*r*B-o*a*s,this.w=i*r*s-o*a*B):"XZY"===n&&(this.x=o*r*s-i*a*B,this.y=i*a*s-o*r*B,this.z=i*r*B+o*a*s,this.w=i*r*s+o*a*B),this}clone(){return new u(this.x,this.y,this.z,this.w)}slerp(A,e,t){void 0===t&&(t=new u);const n=this.x,i=this.y,r=this.z,s=this.w;let o,a,B,c,g,Q=A.x,E=A.y,l=A.z,w=A.w;return a=n*Q+i*E+r*l+s*w,a<0&&(a=-a,Q=-Q,E=-E,l=-l,w=-w),1-a>1e-6?(o=Math.acos(a),B=Math.sin(o),c=Math.sin((1-e)*o)/B,g=Math.sin(e*o)/B):(c=1-e,g=e),t.x=c*n+g*Q,t.y=c*i+g*E,t.z=c*r+g*l,t.w=c*s+g*w,t}integrate(A,e,t,n){void 0===n&&(n=new u);const i=A.x*t.x,r=A.y*t.y,s=A.z*t.z,o=this.x,a=this.y,B=this.z,c=this.w,g=.5*e;return n.x+=g*(i*c+r*B-s*a),n.y+=g*(r*c+s*o-i*B),n.z+=g*(s*c+i*a-r*o),n.w+=g*(-i*o-r*a-s*B),n}}const w=new s,h=new s,C={SPHERE:1,PLANE:2,BOX:4,COMPOUND:8,CONVEXPOLYHEDRON:16,HEIGHTFIELD:32,PARTICLE:64,CYLINDER:128,TRIMESH:256};class d{constructor(A){void 0===A&&(A={}),this.id=d.idCounter++,this.type=A.type||0,this.boundingSphereRadius=0,this.collisionResponse=!A.collisionResponse||A.collisionResponse,this.collisionFilterGroup=void 0!==A.collisionFilterGroup?A.collisionFilterGroup:1,this.collisionFilterMask=void 0!==A.collisionFilterMask?A.collisionFilterMask:-1,this.material=A.material?A.material:null,this.body=null}updateBoundingSphereRadius(){throw"computeBoundingSphereRadius() not implemented for shape type "+this.type}volume(){throw"volume() not implemented for shape type "+this.type}calculateLocalInertia(A,e){throw"calculateLocalInertia() not implemented for shape type "+this.type}calculateWorldAABB(A,e,t,n){throw"calculateWorldAABB() not implemented for shape type "+this.type}}d.idCounter=0,d.types=C;class I{constructor(A){void 0===A&&(A={}),this.position=new s,this.quaternion=new u,A.position&&this.position.copy(A.position),A.quaternion&&this.quaternion.copy(A.quaternion)}pointToLocal(A,e){return I.pointToLocalFrame(this.position,this.quaternion,A,e)}pointToWorld(A,e){return I.pointToWorldFrame(this.position,this.quaternion,A,e)}vectorToWorldFrame(A,e){return void 0===e&&(e=new s),this.quaternion.vmult(A,e),e}static pointToLocalFrame(A,e,t,n){return void 0===n&&(n=new s),t.vsub(A,n),e.conjugate(M),M.vmult(n,n),n}static pointToWorldFrame(A,e,t,n){return void 0===n&&(n=new s),e.vmult(t,n),n.vadd(A,n),n}static vectorToWorldFrame(A,e,t){return void 0===t&&(t=new s),A.vmult(e,t),t}static vectorToLocalFrame(A,e,t,n){return void 0===n&&(n=new s),e.w*=-1,e.vmult(t,n),e.w*=-1,n}}const M=new u;class p extends d{constructor(A){void 0===A&&(A={});const{vertices:e=[],faces:t=[],normals:n=[],axes:i,boundingSphereRadius:r}=A;super({type:d.types.CONVEXPOLYHEDRON}),this.vertices=e,this.faces=t,this.faceNormals=n,0===this.faceNormals.length&&this.computeNormals(),r?this.boundingSphereRadius=r:this.updateBoundingSphereRadius(),this.worldVertices=[],this.worldVerticesNeedsUpdate=!0,this.worldFaceNormals=[],this.worldFaceNormalsNeedsUpdate=!0,this.uniqueAxes=i?i.slice():null,this.uniqueEdges=[],this.computeEdges()}computeEdges(){const A=this.faces,e=this.vertices,t=this.uniqueEdges;t.length=0;const n=new s;for(let i=0;i!==A.length;i++){const r=A[i],s=r.length;for(let A=0;A!==s;A++){const i=(A+1)%s;e[r[A]].vsub(e[r[i]],n),n.normalize();let o=!1;for(let A=0;A!==t.length;A++)if(t[A].almostEquals(n)||t[A].almostEquals(n)){o=!0;break}o||t.push(n.clone())}}}computeNormals(){this.faceNormals.length=this.faces.length;for(let A=0;A<this.faces.length;A++){for(let e=0;e<this.faces[A].length;e++)if(!this.vertices[this.faces[A][e]])throw new Error(`Vertex ${this.faces[A][e]} not found!`);const e=this.faceNormals[A]||new s;this.getFaceNormal(A,e),e.negate(e),this.faceNormals[A]=e;const t=this.vertices[this.faces[A][0]];if(e.dot(t)<0){console.error(`.faceNormals[${A}] = Vec3(${e.toString()}) looks like it points into the shape? The vertices follow. Make sure they are ordered CCW around the normal, using the right hand rule.`);for(let e=0;e<this.faces[A].length;e++)console.warn(`.vertices[${this.faces[A][e]}] = Vec3(${this.vertices[this.faces[A][e]].toString()})`)}}}getFaceNormal(A,e){const t=this.faces[A],n=this.vertices[t[0]],i=this.vertices[t[1]],r=this.vertices[t[2]];p.computeNormal(n,i,r,e)}static computeNormal(A,e,t,n){const i=new s,r=new s;e.vsub(A,r),t.vsub(e,i),i.cross(r,n),n.isZero()||n.normalize()}clipAgainstHull(A,e,t,n,i,r,o,a,B){const c=new s;let g=-1,Q=-Number.MAX_VALUE;for(let A=0;A<t.faces.length;A++){c.copy(t.faceNormals[A]),i.vmult(c,c);const e=c.dot(r);e>Q&&(Q=e,g=A)}const E=[];for(let A=0;A<t.faces[g].length;A++){const e=t.vertices[t.faces[g][A]],r=new s;r.copy(e),i.vmult(r,r),n.vadd(r,r),E.push(r)}g>=0&&this.clipFaceAgainstHull(r,A,e,E,o,a,B)}findSeparatingAxis(A,e,t,n,i,r,o,a){const B=new s,c=new s,g=new s,Q=new s,E=new s,l=new s;let u=Number.MAX_VALUE;const w=this;if(w.uniqueAxes)for(let s=0;s!==w.uniqueAxes.length;s++){t.vmult(w.uniqueAxes[s],B);const o=w.testSepAxis(B,A,e,t,n,i);if(!1===o)return!1;o<u&&(u=o,r.copy(B))}else{const s=o?o.length:w.faces.length;for(let a=0;a<s;a++){const s=o?o[a]:a;B.copy(w.faceNormals[s]),t.vmult(B,B);const c=w.testSepAxis(B,A,e,t,n,i);if(!1===c)return!1;c<u&&(u=c,r.copy(B))}}if(A.uniqueAxes)for(let s=0;s!==A.uniqueAxes.length;s++){i.vmult(A.uniqueAxes[s],c);const o=w.testSepAxis(c,A,e,t,n,i);if(!1===o)return!1;o<u&&(u=o,r.copy(c))}else{const s=a?a.length:A.faces.length;for(let o=0;o<s;o++){const s=a?a[o]:o;c.copy(A.faceNormals[s]),i.vmult(c,c);const B=w.testSepAxis(c,A,e,t,n,i);if(!1===B)return!1;B<u&&(u=B,r.copy(c))}}for(let s=0;s!==w.uniqueEdges.length;s++){t.vmult(w.uniqueEdges[s],Q);for(let s=0;s!==A.uniqueEdges.length;s++)if(i.vmult(A.uniqueEdges[s],E),Q.cross(E,l),!l.almostZero()){l.normalize();const s=w.testSepAxis(l,A,e,t,n,i);if(!1===s)return!1;s<u&&(u=s,r.copy(l))}}return n.vsub(e,g),g.dot(r)>0&&r.negate(r),!0}testSepAxis(A,e,t,n,i,r){p.project(this,A,t,n,m),p.project(e,A,i,r,F);const s=m[0],o=m[1],a=F[0],B=F[1];if(s<B||a<o)return!1;const c=s-B,g=a-o;return c<g?c:g}calculateLocalInertia(A,e){const t=new s,n=new s;this.computeLocalAABB(n,t);const i=t.x-n.x,r=t.y-n.y,o=t.z-n.z;e.x=1/12*A*(2*r*2*r+2*o*2*o),e.y=1/12*A*(2*i*2*i+2*o*2*o),e.z=1/12*A*(2*r*2*r+2*i*2*i)}getPlaneConstantOfFace(A){const e=this.faces[A],t=this.faceNormals[A],n=this.vertices[e[0]];return-t.dot(n)}clipFaceAgainstHull(A,e,t,n,i,r,o){const a=new s,B=new s,c=new s,g=new s,Q=new s,E=new s,l=new s,u=new s,w=this,h=n,C=[];let d=-1,I=Number.MAX_VALUE;for(let e=0;e<w.faces.length;e++){a.copy(w.faceNormals[e]),t.vmult(a,a);const n=a.dot(A);n<I&&(I=n,d=e)}if(d<0)return;const M=w.faces[d];M.connectedFaces=[];for(let A=0;A<w.faces.length;A++)for(let e=0;e<w.faces[A].length;e++)-1!==M.indexOf(w.faces[A][e])&&A!==d&&-1===M.connectedFaces.indexOf(A)&&M.connectedFaces.push(A);const p=M.length;for(let A=0;A<p;A++){const n=w.vertices[M[A]],i=w.vertices[M[(A+1)%p]];n.vsub(i,B),c.copy(B),t.vmult(c,c),e.vadd(c,c),g.copy(this.faceNormals[d]),t.vmult(g,g),e.vadd(g,g),c.cross(g,Q),Q.negate(Q),E.copy(n),t.vmult(E,E),e.vadd(E,E);const r=M.connectedFaces[A];l.copy(this.faceNormals[r]);const s=this.getPlaneConstantOfFace(r);u.copy(l),t.vmult(u,u);const o=s-u.dot(e);for(this.clipFaceAgainstPlane(h,C,u,o);h.length;)h.shift();for(;C.length;)h.push(C.shift())}l.copy(this.faceNormals[d]);const m=this.getPlaneConstantOfFace(d);u.copy(l),t.vmult(u,u);const F=m-u.dot(e);for(let A=0;A<h.length;A++){let e=u.dot(h[A])+F;if(e<=i&&(console.log(`clamped: depth=${e} to minDist=${i}`),e=i),e<=r){const t=h[A];if(e<=1e-6){const A={point:t,normal:u,depth:e};o.push(A)}}}}clipFaceAgainstPlane(A,e,t,n){let i,r;const o=A.length;if(o<2)return e;let a=A[A.length-1],B=A[0];i=t.dot(a)+n;for(let c=0;c<o;c++){if(B=A[c],r=t.dot(B)+n,i<0)if(r<0){const A=new s;A.copy(B),e.push(A)}else{const A=new s;a.lerp(B,i/(i-r),A),e.push(A)}else if(r<0){const A=new s;a.lerp(B,i/(i-r),A),e.push(A),e.push(B)}a=B,i=r}return e}computeWorldVertices(A,e){for(;this.worldVertices.length<this.vertices.length;)this.worldVertices.push(new s);const t=this.vertices,n=this.worldVertices;for(let i=0;i!==this.vertices.length;i++)e.vmult(t[i],n[i]),A.vadd(n[i],n[i]);this.worldVerticesNeedsUpdate=!1}computeLocalAABB(A,e){const t=this.vertices;A.set(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),e.set(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let n=0;n<this.vertices.length;n++){const i=t[n];i.x<A.x?A.x=i.x:i.x>e.x&&(e.x=i.x),i.y<A.y?A.y=i.y:i.y>e.y&&(e.y=i.y),i.z<A.z?A.z=i.z:i.z>e.z&&(e.z=i.z)}}computeWorldFaceNormals(A){const e=this.faceNormals.length;for(;this.worldFaceNormals.length<e;)this.worldFaceNormals.push(new s);const t=this.faceNormals,n=this.worldFaceNormals;for(let i=0;i!==e;i++)A.vmult(t[i],n[i]);this.worldFaceNormalsNeedsUpdate=!1}updateBoundingSphereRadius(){let A=0;const e=this.vertices;for(let t=0;t!==e.length;t++){const n=e[t].lengthSquared();n>A&&(A=n)}this.boundingSphereRadius=Math.sqrt(A)}calculateWorldAABB(A,e,t,n){const i=this.vertices;let r,o,a,B,c,g,Q=new s;for(let t=0;t<i.length;t++){Q.copy(i[t]),e.vmult(Q,Q),A.vadd(Q,Q);const n=Q;(void 0===r||n.x<r)&&(r=n.x),(void 0===B||n.x>B)&&(B=n.x),(void 0===o||n.y<o)&&(o=n.y),(void 0===c||n.y>c)&&(c=n.y),(void 0===a||n.z<a)&&(a=n.z),(void 0===g||n.z>g)&&(g=n.z)}t.set(r,o,a),n.set(B,c,g)}volume(){return 4*Math.PI*this.boundingSphereRadius/3}getAveragePointLocal(A){void 0===A&&(A=new s);const e=this.vertices;for(let t=0;t<e.length;t++)A.vadd(e[t],A);return A.scale(1/e.length,A),A}transformAllPoints(A,e){const t=this.vertices.length,n=this.vertices;if(e){for(let A=0;A<t;A++){const t=n[A];e.vmult(t,t)}for(let A=0;A<this.faceNormals.length;A++){const t=this.faceNormals[A];e.vmult(t,t)}}if(A)for(let e=0;e<t;e++){const t=n[e];t.vadd(A,t)}}pointIsInside(A){const e=this.vertices,t=this.faces,n=this.faceNormals,i=new s;this.getAveragePointLocal(i);for(let r=0;r<this.faces.length;r++){let o=n[r];const a=e[t[r][0]],B=new s;A.vsub(a,B);const c=o.dot(B),g=new s;i.vsub(a,g);const Q=o.dot(g);if(c<0&&Q>0||c>0&&Q<0)return!1}return-1}static project(A,e,t,n,i){const r=A.vertices.length,s=D;let o=0,a=0;const B=Y,c=A.vertices;B.setZero(),I.vectorToLocalFrame(t,n,e,s),I.pointToLocalFrame(t,n,B,B);const g=B.dot(s);a=o=c[0].dot(s);for(let A=1;A<r;A++){const e=c[A].dot(s);e>o&&(o=e),e<a&&(a=e)}if(a-=g,o-=g,a>o){const A=a;a=o,o=A}i[0]=o,i[1]=a}}const m=[],F=[],D=(new s,new s),Y=new s;class f extends d{constructor(A){super({type:d.types.BOX}),this.halfExtents=A,this.convexPolyhedronRepresentation=null,this.updateConvexPolyhedronRepresentation(),this.updateBoundingSphereRadius()}updateConvexPolyhedronRepresentation(){const A=this.halfExtents.x,e=this.halfExtents.y,t=this.halfExtents.z,n=s,i=[new n(-A,-e,-t),new n(A,-e,-t),new n(A,e,-t),new n(-A,e,-t),new n(-A,-e,t),new n(A,-e,t),new n(A,e,t),new n(-A,e,t)],r=[new n(0,0,1),new n(0,1,0),new n(1,0,0)],o=new p({vertices:i,faces:[[3,2,1,0],[4,5,6,7],[5,4,0,1],[2,3,7,6],[0,4,7,3],[1,2,6,5]],axes:r});this.convexPolyhedronRepresentation=o,o.material=this.material}calculateLocalInertia(A,e){return void 0===e&&(e=new s),f.calculateInertia(this.halfExtents,A,e),e}static calculateInertia(A,e,t){const n=A;t.x=1/12*e*(2*n.y*2*n.y+2*n.z*2*n.z),t.y=1/12*e*(2*n.x*2*n.x+2*n.z*2*n.z),t.z=1/12*e*(2*n.y*2*n.y+2*n.x*2*n.x)}getSideNormals(A,e){const t=A,n=this.halfExtents;if(t[0].set(n.x,0,0),t[1].set(0,n.y,0),t[2].set(0,0,n.z),t[3].set(-n.x,0,0),t[4].set(0,-n.y,0),t[5].set(0,0,-n.z),void 0!==e)for(let A=0;A!==t.length;A++)e.vmult(t[A],t[A]);return t}volume(){return 8*this.halfExtents.x*this.halfExtents.y*this.halfExtents.z}updateBoundingSphereRadius(){this.boundingSphereRadius=this.halfExtents.length()}forEachWorldCorner(A,e,t){const n=this.halfExtents,i=[[n.x,n.y,n.z],[-n.x,n.y,n.z],[-n.x,-n.y,n.z],[-n.x,-n.y,-n.z],[n.x,-n.y,-n.z],[n.x,n.y,-n.z],[-n.x,n.y,-n.z],[n.x,-n.y,n.z]];for(let n=0;n<i.length;n++)N.set(i[n][0],i[n][1],i[n][2]),e.vmult(N,N),A.vadd(N,N),t(N.x,N.y,N.z)}calculateWorldAABB(A,e,t,n){const i=this.halfExtents;U[0].set(i.x,i.y,i.z),U[1].set(-i.x,i.y,i.z),U[2].set(-i.x,-i.y,i.z),U[3].set(-i.x,-i.y,-i.z),U[4].set(i.x,-i.y,-i.z),U[5].set(i.x,i.y,-i.z),U[6].set(-i.x,i.y,-i.z),U[7].set(i.x,-i.y,i.z);const r=U[0];e.vmult(r,r),A.vadd(r,r),n.copy(r),t.copy(r);for(let i=1;i<8;i++){const r=U[i];e.vmult(r,r),A.vadd(r,r);const s=r.x,o=r.y,a=r.z;s>n.x&&(n.x=s),o>n.y&&(n.y=o),a>n.z&&(n.z=a),s<t.x&&(t.x=s),o<t.y&&(t.y=o),a<t.z&&(t.z=a)}}}const N=new s,U=[new s,new s,new s,new s,new s,new s,new s,new s],y={DYNAMIC:1,STATIC:2,KINEMATIC:4},x={AWAKE:0,SLEEPY:1,SLEEPING:2};class T extends l{constructor(A){void 0===A&&(A={}),super(),this.id=T.idCounter++,this.index=-1,this.world=null,this.vlambda=new s,this.collisionFilterGroup="number"==typeof A.collisionFilterGroup?A.collisionFilterGroup:1,this.collisionFilterMask="number"==typeof A.collisionFilterMask?A.collisionFilterMask:-1,this.collisionResponse="boolean"!=typeof A.collisionResponse||A.collisionResponse,this.position=new s,this.previousPosition=new s,this.interpolatedPosition=new s,this.initPosition=new s,A.position&&(this.position.copy(A.position),this.previousPosition.copy(A.position),this.interpolatedPosition.copy(A.position),this.initPosition.copy(A.position)),this.velocity=new s,A.velocity&&this.velocity.copy(A.velocity),this.initVelocity=new s,this.force=new s;const e="number"==typeof A.mass?A.mass:0;this.mass=e,this.invMass=e>0?1/e:0,this.material=A.material||null,this.linearDamping="number"==typeof A.linearDamping?A.linearDamping:.01,this.type=e<=0?T.STATIC:T.DYNAMIC,typeof A.type==typeof T.STATIC&&(this.type=A.type),this.allowSleep=void 0===A.allowSleep||A.allowSleep,this.sleepState=T.AWAKE,this.sleepSpeedLimit=void 0!==A.sleepSpeedLimit?A.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==A.sleepTimeLimit?A.sleepTimeLimit:1,this.timeLastSleepy=0,this.wakeUpAfterNarrowphase=!1,this.torque=new s,this.quaternion=new u,this.initQuaternion=new u,this.previousQuaternion=new u,this.interpolatedQuaternion=new u,A.quaternion&&(this.quaternion.copy(A.quaternion),this.initQuaternion.copy(A.quaternion),this.previousQuaternion.copy(A.quaternion),this.interpolatedQuaternion.copy(A.quaternion)),this.angularVelocity=new s,A.angularVelocity&&this.angularVelocity.copy(A.angularVelocity),this.initAngularVelocity=new s,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new s,this.invInertia=new s,this.invInertiaWorld=new i,this.invMassSolve=0,this.invInertiaSolve=new s,this.invInertiaWorldSolve=new i,this.fixedRotation=void 0!==A.fixedRotation&&A.fixedRotation,this.angularDamping=void 0!==A.angularDamping?A.angularDamping:.01,this.linearFactor=new s(1,1,1),A.linearFactor&&this.linearFactor.copy(A.linearFactor),this.angularFactor=new s(1,1,1),A.angularFactor&&this.angularFactor.copy(A.angularFactor),this.aabb=new c,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new s,this.isTrigger=Boolean(A.isTrigger),A.shape&&this.addShape(A.shape),this.updateMassProperties()}wakeUp(){const A=this.sleepState;this.sleepState=T.AWAKE,this.wakeUpAfterNarrowphase=!1,A===T.SLEEPING&&this.dispatchEvent(T.wakeupEvent)}sleep(){this.sleepState=T.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this.wakeUpAfterNarrowphase=!1}sleepTick(A){if(this.allowSleep){const e=this.sleepState,t=this.velocity.lengthSquared()+this.angularVelocity.lengthSquared(),n=this.sleepSpeedLimit**2;e===T.AWAKE&&t<n?(this.sleepState=T.SLEEPY,this.timeLastSleepy=A,this.dispatchEvent(T.sleepyEvent)):e===T.SLEEPY&&t>n?this.wakeUp():e===T.SLEEPY&&A-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(T.sleepEvent))}}updateSolveMassProperties(){this.sleepState===T.SLEEPING||this.type===T.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))}pointToLocalFrame(A,e){return void 0===e&&(e=new s),A.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e}vectorToLocalFrame(A,e){return void 0===e&&(e=new s),this.quaternion.conjugate().vmult(A,e),e}pointToWorldFrame(A,e){return void 0===e&&(e=new s),this.quaternion.vmult(A,e),e.vadd(this.position,e),e}vectorToWorldFrame(A,e){return void 0===e&&(e=new s),this.quaternion.vmult(A,e),e}addShape(A,e,t){const n=new s,i=new u;return e&&n.copy(e),t&&i.copy(t),this.shapes.push(A),this.shapeOffsets.push(n),this.shapeOrientations.push(i),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,A.body=this,this}removeShape(A){const e=this.shapes.indexOf(A);return-1===e?(console.warn("Shape does not belong to the body"),this):(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0,A.body=null,this)}updateBoundingRadius(){const A=this.shapes,e=this.shapeOffsets,t=A.length;let n=0;for(let i=0;i!==t;i++){const t=A[i];t.updateBoundingSphereRadius();const r=e[i].length(),s=t.boundingSphereRadius;r+s>n&&(n=r+s)}this.boundingRadius=n}updateAABB(){const A=this.shapes,e=this.shapeOffsets,t=this.shapeOrientations,n=A.length,i=R,r=G,s=this.quaternion,o=this.aabb,a=S;for(let B=0;B!==n;B++){const n=A[B];s.vmult(e[B],i),i.vadd(this.position,i),s.mult(t[B],r),n.calculateWorldAABB(i,r,a.lowerBound,a.upperBound),0===B?o.copy(a):o.extend(a)}this.aabbNeedsUpdate=!1}updateInertiaWorld(A){const e=this.invInertia;if(e.x!==e.y||e.y!==e.z||A){const A=H,t=b;A.setRotationFromQuaternion(this.quaternion),A.transpose(t),A.scale(e,A),A.mmult(t,this.invInertiaWorld)}else;}applyForce(A,e){if(void 0===e&&(e=new s),this.type!==T.DYNAMIC)return;this.sleepState===T.SLEEPING&&this.wakeUp();const t=k;e.cross(A,t),this.force.vadd(A,this.force),this.torque.vadd(t,this.torque)}applyLocalForce(A,e){if(void 0===e&&(e=new s),this.type!==T.DYNAMIC)return;const t=J,n=j;this.vectorToWorldFrame(A,t),this.vectorToWorldFrame(e,n),this.applyForce(t,n)}applyTorque(A){this.type===T.DYNAMIC&&(this.sleepState===T.SLEEPING&&this.wakeUp(),this.torque.vadd(A,this.torque))}applyImpulse(A,e){if(void 0===e&&(e=new s),this.type!==T.DYNAMIC)return;this.sleepState===T.SLEEPING&&this.wakeUp();const t=e,n=z;n.copy(A),n.scale(this.invMass,n),this.velocity.vadd(n,this.velocity);const i=v;t.cross(A,i),this.invInertiaWorld.vmult(i,i),this.angularVelocity.vadd(i,this.angularVelocity)}applyLocalImpulse(A,e){if(void 0===e&&(e=new s),this.type!==T.DYNAMIC)return;const t=L,n=P;this.vectorToWorldFrame(A,t),this.vectorToWorldFrame(e,n),this.applyImpulse(t,n)}updateMassProperties(){const A=O;this.invMass=this.mass>0?1/this.mass:0;const e=this.inertia,t=this.fixedRotation;this.updateAABB(),A.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),f.calculateInertia(A,this.mass,e),this.invInertia.set(e.x>0&&!t?1/e.x:0,e.y>0&&!t?1/e.y:0,e.z>0&&!t?1/e.z:0),this.updateInertiaWorld(!0)}getVelocityAtWorldPoint(A,e){const t=new s;return A.vsub(this.position,t),this.angularVelocity.cross(t,e),this.velocity.vadd(e,e),e}integrate(A,e,t){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),this.type!==T.DYNAMIC&&this.type!==T.KINEMATIC||this.sleepState===T.SLEEPING)return;const n=this.velocity,i=this.angularVelocity,r=this.position,s=this.force,o=this.torque,a=this.quaternion,B=this.invMass,c=this.invInertiaWorld,g=this.linearFactor,Q=B*A;n.x+=s.x*Q*g.x,n.y+=s.y*Q*g.y,n.z+=s.z*Q*g.z;const E=c.elements,l=this.angularFactor,u=o.x*l.x,w=o.y*l.y,h=o.z*l.z;i.x+=A*(E[0]*u+E[1]*w+E[2]*h),i.y+=A*(E[3]*u+E[4]*w+E[5]*h),i.z+=A*(E[6]*u+E[7]*w+E[8]*h),r.x+=n.x*A,r.y+=n.y*A,r.z+=n.z*A,a.integrate(this.angularVelocity,A,this.angularFactor,a),e&&(t?a.normalizeFast():a.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}}T.idCounter=0,T.COLLIDE_EVENT_NAME="collide",T.DYNAMIC=y.DYNAMIC,T.STATIC=y.STATIC,T.KINEMATIC=y.KINEMATIC,T.AWAKE=x.AWAKE,T.SLEEPY=x.SLEEPY,T.SLEEPING=x.SLEEPING,T.wakeupEvent={type:"wakeup"},T.sleepyEvent={type:"sleepy"},T.sleepEvent={type:"sleep"};const R=new s,G=new u,S=new c,H=new i,b=new i,k=(new i,new s),J=new s,j=new s,z=new s,v=new s,L=new s,P=new s,O=new s;class W{constructor(){this.world=null,this.useBoundingBoxes=!1,this.dirty=!0}collisionPairs(A,e,t){throw new Error("collisionPairs not implemented for this BroadPhase class!")}needBroadphaseCollision(A,e){return 0!=(A.collisionFilterGroup&e.collisionFilterMask)&&0!=(e.collisionFilterGroup&A.collisionFilterMask)&&(0==(A.type&T.STATIC)&&A.sleepState!==T.SLEEPING||0==(e.type&T.STATIC)&&e.sleepState!==T.SLEEPING)}intersectionTest(A,e,t,n){this.useBoundingBoxes?this.doBoundingBoxBroadphase(A,e,t,n):this.doBoundingSphereBroadphase(A,e,t,n)}doBoundingSphereBroadphase(A,e,t,n){const i=V;e.position.vsub(A.position,i);const r=(A.boundingRadius+e.boundingRadius)**2;i.lengthSquared()<r&&(t.push(A),n.push(e))}doBoundingBoxBroadphase(A,e,t,n){A.aabbNeedsUpdate&&A.updateAABB(),e.aabbNeedsUpdate&&e.updateAABB(),A.aabb.overlaps(e.aabb)&&(t.push(A),n.push(e))}makePairsUnique(A,e){const t=K,n=X,i=Z,r=A.length;for(let t=0;t!==r;t++)n[t]=A[t],i[t]=e[t];A.length=0,e.length=0;for(let A=0;A!==r;A++){const e=n[A].id,r=i[A].id,s=e<r?`${e},${r}`:`${r},${e}`;t[s]=A,t.keys.push(s)}for(let r=0;r!==t.keys.length;r++){const r=t.keys.pop(),s=t[r];A.push(n[s]),e.push(i[s]),delete t[r]}}setWorld(A){}static boundingSphereCheck(A,e){const t=new s;A.position.vsub(e.position,t);const n=A.shapes[0],i=e.shapes[0];return Math.pow(n.boundingSphereRadius+i.boundingSphereRadius,2)>t.lengthSquared()}aabbQuery(A,e,t){return console.warn(".aabbQuery is not implemented in this Broadphase subclass."),[]}}const V=new s;new s,new u,new s;const K={keys:[]},X=[],Z=[];new s;class _ extends W{constructor(A,e,t,n,i){void 0===A&&(A=new s(100,100,100)),void 0===e&&(e=new s(-100,-100,-100)),void 0===t&&(t=10),void 0===n&&(n=10),void 0===i&&(i=10),super(),this.nx=t,this.ny=n,this.nz=i,this.aabbMin=A,this.aabbMax=e;const r=this.nx*this.ny*this.nz;if(r<=0)throw"GridBroadphase: Each dimension's n must be >0";this.bins=[],this.binLengths=[],this.bins.length=r,this.binLengths.length=r;for(let A=0;A<r;A++)this.bins[A]=[],this.binLengths[A]=0}collisionPairs(A,e,t){const n=A.bodies.length,i=A.bodies,r=this.aabbMax,s=this.aabbMin,o=this.nx,a=this.ny,B=this.nz,c=a*B,g=B,Q=r.x,E=r.y,l=r.z,u=s.x,w=s.y,h=s.z,C=o/(Q-u),I=a/(E-w),M=B/(l-h),p=(Q-u)/o,m=(E-w)/a,F=(l-h)/B,D=.5*Math.sqrt(p*p+m*m+F*F),Y=d.types,f=Y.SPHERE,N=Y.PLANE;Y.BOX,Y.COMPOUND,Y.CONVEXPOLYHEDRON;const U=this.bins,y=this.binLengths,x=this.bins.length;for(let A=0;A!==x;A++)y[A]=0;const T=Math.ceil;function R(A,e,t,n,i,r,s){let Q=(A-u)*C|0,E=(e-w)*I|0,l=(t-h)*M|0,d=T((n-u)*C),p=T((i-w)*I),m=T((r-h)*M);Q<0?Q=0:Q>=o&&(Q=o-1),E<0?E=0:E>=a&&(E=a-1),l<0?l=0:l>=B&&(l=B-1),d<0?d=0:d>=o&&(d=o-1),p<0?p=0:p>=a&&(p=a-1),m<0?m=0:m>=B&&(m=B-1),Q*=c,E*=g,l*=1,d*=c,p*=g,m*=1;for(let A=Q;A<=d;A+=c)for(let e=E;e<=p;e+=g)for(let t=l;t<=m;t+=1){const n=A+e+t;U[n][y[n]++]=s}}for(let A=0;A!==n;A++){const e=i[A],t=e.shapes[0];switch(t.type){case f:{const A=t,n=e.position.x,i=e.position.y,r=e.position.z,s=A.radius;R(n-s,i-s,r-s,n+s,i+s,r+s,e);break}case N:{const A=t;A.worldNormalNeedsUpdate&&A.computeWorldNormal(e.quaternion);const n=A.worldNormal,i=u+.5*p-e.position.x,r=w+.5*m-e.position.y,s=h+.5*F-e.position.z,Q=q;Q.set(i,r,s);for(let A=0,t=0;A!==o;A++,t+=c,Q.y=r,Q.x+=p)for(let A=0,i=0;A!==a;A++,i+=g,Q.z=s,Q.y+=m)for(let A=0,r=0;A!==B;A++,r+=1,Q.z+=F)if(Q.dot(n)<D){const A=t+i+r;U[A][y[A]++]=e}break}default:e.aabbNeedsUpdate&&e.updateAABB(),R(e.aabb.lowerBound.x,e.aabb.lowerBound.y,e.aabb.lowerBound.z,e.aabb.upperBound.x,e.aabb.upperBound.y,e.aabb.upperBound.z,e)}}for(let A=0;A!==x;A++){const n=y[A];if(n>1){const i=U[A];for(let A=0;A!==n;A++){const n=i[A];for(let r=0;r!==A;r++){const A=i[r];this.needBroadphaseCollision(n,A)&&this.intersectionTest(n,A,e,t)}}}}this.makePairsUnique(e,t)}}const q=new s;new s;class $ extends W{constructor(){super()}collisionPairs(A,e,t){const n=A.bodies,i=n.length;let r,s;for(let A=0;A!==i;A++)for(let i=0;i!==A;i++)r=n[A],s=n[i],this.needBroadphaseCollision(r,s)&&this.intersectionTest(r,s,e,t)}aabbQuery(A,e,t){void 0===t&&(t=[]);for(let n=0;n<A.bodies.length;n++){const i=A.bodies[n];i.aabbNeedsUpdate&&i.updateAABB(),i.aabb.overlaps(e)&&t.push(i)}return t}}class AA{constructor(){this.rayFromWorld=new s,this.rayToWorld=new s,this.hitNormalWorld=new s,this.hitPointWorld=new s,this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}reset(){this.rayFromWorld.setZero(),this.rayToWorld.setZero(),this.hitNormalWorld.setZero(),this.hitPointWorld.setZero(),this.hasHit=!1,this.shape=null,this.body=null,this.hitFaceIndex=-1,this.distance=-1,this.shouldStop=!1}abort(){this.shouldStop=!0}set(A,e,t,n,i,r,s){this.rayFromWorld.copy(A),this.rayToWorld.copy(e),this.hitNormalWorld.copy(t),this.hitPointWorld.copy(n),this.shape=i,this.body=r,this.distance=s}}let eA,tA,nA,iA,rA,sA,oA;const aA={CLOSEST:1,ANY:2,ALL:4};eA=d.types.SPHERE,tA=d.types.PLANE,nA=d.types.BOX,iA=d.types.CYLINDER,rA=d.types.CONVEXPOLYHEDRON,sA=d.types.HEIGHTFIELD,oA=d.types.TRIMESH;class BA{get[eA](){return this._intersectSphere}get[tA](){return this._intersectPlane}get[nA](){return this._intersectBox}get[iA](){return this._intersectConvex}get[rA](){return this._intersectConvex}get[sA](){return this._intersectHeightfield}get[oA](){return this._intersectTrimesh}constructor(A,e){void 0===A&&(A=new s),void 0===e&&(e=new s),this.from=A.clone(),this.to=e.clone(),this.direction=new s,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=BA.ANY,this.result=new AA,this.hasHit=!1,this.callback=A=>{}}intersectWorld(A,e){return this.mode=e.mode||BA.ANY,this.result=e.result||new AA,this.skipBackfaces=!!e.skipBackfaces,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,this.checkCollisionResponse=void 0===e.checkCollisionResponse||e.checkCollisionResponse,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||(()=>{}),this.hasHit=!1,this.result.reset(),this.updateDirection(),this.getAABB(cA),gA.length=0,A.broadphase.aabbQuery(A,cA,gA),this.intersectBodies(gA),this.hasHit}intersectBody(A,e){e&&(this.result=e,this.updateDirection());const t=this.checkCollisionResponse;if(t&&!A.collisionResponse)return;if(0==(this.collisionFilterGroup&A.collisionFilterMask)||0==(A.collisionFilterGroup&this.collisionFilterMask))return;const n=lA,i=uA;for(let e=0,r=A.shapes.length;e<r;e++){const r=A.shapes[e];if((!t||r.collisionResponse)&&(A.quaternion.mult(A.shapeOrientations[e],i),A.quaternion.vmult(A.shapeOffsets[e],n),n.vadd(A.position,n),this.intersectShape(r,i,n,A),this.result.shouldStop))break}}intersectBodies(A,e){e&&(this.result=e,this.updateDirection());for(let e=0,t=A.length;!this.result.shouldStop&&e<t;e++)this.intersectBody(A[e])}updateDirection(){this.to.vsub(this.from,this.direction),this.direction.normalize()}intersectShape(A,e,t,n){if(function(A,e,t){t.vsub(A,HA);const n=HA.dot(e);e.scale(n,bA),bA.vadd(A,bA);return t.distanceTo(bA)}(this.from,this.direction,t)>A.boundingSphereRadius)return;const i=this[A.type];i&&i.call(this,A,e,t,n,A)}_intersectBox(A,e,t,n,i){return this._intersectConvex(A.convexPolyhedronRepresentation,e,t,n,i)}_intersectPlane(A,e,t,n,i){const r=this.from,o=this.to,a=this.direction,B=new s(0,0,1);e.vmult(B,B);const c=new s;r.vsub(t,c);const g=c.dot(B);o.vsub(t,c);if(g*c.dot(B)>0)return;if(r.distanceTo(o)<g)return;const Q=B.dot(a);if(Math.abs(Q)<this.precision)return;const E=new s,l=new s,u=new s;r.vsub(t,E);const w=-B.dot(E)/Q;a.scale(w,l),r.vadd(l,u),this.reportIntersection(B,u,i,n,-1)}getAABB(A){const{lowerBound:e,upperBound:t}=A,n=this.to,i=this.from;e.x=Math.min(n.x,i.x),e.y=Math.min(n.y,i.y),e.z=Math.min(n.z,i.z),t.x=Math.max(n.x,i.x),t.y=Math.max(n.y,i.y),t.z=Math.max(n.z,i.z)}_intersectHeightfield(A,e,t,n,i){A.data,A.elementSize;const r=pA;r.from.copy(this.from),r.to.copy(this.to),I.pointToLocalFrame(t,e,r.from,r.from),I.pointToLocalFrame(t,e,r.to,r.to),r.updateDirection();const s=mA;let o,a,B,g;o=a=0,B=g=A.data.length-1;const Q=new c;r.getAABB(Q),A.getIndexOfPosition(Q.lowerBound.x,Q.lowerBound.y,s,!0),o=Math.max(o,s[0]),a=Math.max(a,s[1]),A.getIndexOfPosition(Q.upperBound.x,Q.upperBound.y,s,!0),B=Math.min(B,s[0]+1),g=Math.min(g,s[1]+1);for(let s=o;s<B;s++)for(let o=a;o<g;o++){if(this.result.shouldStop)return;if(A.getAabbAtIndex(s,o,Q),Q.overlapsRay(r)){if(A.getConvexTrianglePillar(s,o,!1),I.pointToWorldFrame(t,e,A.pillarOffset,MA),this._intersectConvex(A.pillarConvex,e,MA,n,i,IA),this.result.shouldStop)return;A.getConvexTrianglePillar(s,o,!0),I.pointToWorldFrame(t,e,A.pillarOffset,MA),this._intersectConvex(A.pillarConvex,e,MA,n,i,IA)}}}_intersectSphere(A,e,t,n,i){const r=this.from,s=this.to,o=A.radius,a=(s.x-r.x)**2+(s.y-r.y)**2+(s.z-r.z)**2,B=2*((s.x-r.x)*(r.x-t.x)+(s.y-r.y)*(r.y-t.y)+(s.z-r.z)*(r.z-t.z)),c=B**2-4*a*((r.x-t.x)**2+(r.y-t.y)**2+(r.z-t.z)**2-o**2),g=FA,Q=DA;if(!(c<0))if(0===c)r.lerp(s,c,g),g.vsub(t,Q),Q.normalize(),this.reportIntersection(Q,g,i,n,-1);else{const A=(-B-Math.sqrt(c))/(2*a),e=(-B+Math.sqrt(c))/(2*a);if(A>=0&&A<=1&&(r.lerp(s,A,g),g.vsub(t,Q),Q.normalize(),this.reportIntersection(Q,g,i,n,-1)),this.result.shouldStop)return;e>=0&&e<=1&&(r.lerp(s,e,g),g.vsub(t,Q),Q.normalize(),this.reportIntersection(Q,g,i,n,-1))}}_intersectConvex(A,e,t,n,i,r){const s=YA,o=fA,a=r&&r.faceList||null,B=A.faces,c=A.vertices,g=A.faceNormals,Q=this.direction,E=this.from,l=this.to,u=E.distanceTo(l),w=a?a.length:B.length,h=this.result;for(let A=0;!h.shouldStop&&A<w;A++){const r=a?a[A]:A,l=B[r],w=g[r],C=e,d=t;o.copy(c[l[0]]),C.vmult(o,o),o.vadd(d,o),o.vsub(E,o),C.vmult(w,s);const I=Q.dot(s);if(Math.abs(I)<this.precision)continue;const M=s.dot(o)/I;if(!(M<0)){Q.scale(M,wA),wA.vadd(E,wA),hA.copy(c[l[0]]),C.vmult(hA,hA),d.vadd(hA,hA);for(let A=1;!h.shouldStop&&A<l.length-1;A++){CA.copy(c[l[A]]),dA.copy(c[l[A+1]]),C.vmult(CA,CA),C.vmult(dA,dA),d.vadd(CA,CA),d.vadd(dA,dA);const e=wA.distanceTo(E);!BA.pointInTriangle(wA,hA,CA,dA)&&!BA.pointInTriangle(wA,CA,hA,dA)||e>u||this.reportIntersection(s,wA,i,n,r)}}}}_intersectTrimesh(A,e,t,n,i,r){const s=NA,o=GA,a=SA,B=fA,c=UA,g=yA,Q=xA,E=RA,l=TA,u=A.indices;A.vertices;const w=this.from,h=this.to,C=this.direction;a.position.copy(t),a.quaternion.copy(e),I.vectorToLocalFrame(t,e,C,c),I.pointToLocalFrame(t,e,w,g),I.pointToLocalFrame(t,e,h,Q),Q.x*=A.scale.x,Q.y*=A.scale.y,Q.z*=A.scale.z,g.x*=A.scale.x,g.y*=A.scale.y,g.z*=A.scale.z,Q.vsub(g,c),c.normalize();const d=g.distanceSquared(Q);A.tree.rayQuery(this,a,o);for(let r=0,a=o.length;!this.result.shouldStop&&r!==a;r++){const a=o[r];A.getNormal(a,s),A.getVertex(u[3*a],hA),hA.vsub(g,B);const Q=c.dot(s),w=s.dot(B)/Q;if(w<0)continue;c.scale(w,wA),wA.vadd(g,wA),A.getVertex(u[3*a+1],CA),A.getVertex(u[3*a+2],dA);const h=wA.distanceSquared(g);!BA.pointInTriangle(wA,CA,hA,dA)&&!BA.pointInTriangle(wA,hA,CA,dA)||h>d||(I.vectorToWorldFrame(e,s,l),I.pointToWorldFrame(t,e,wA,E),this.reportIntersection(l,E,i,n,a))}o.length=0}reportIntersection(A,e,t,n,i){const r=this.from,s=this.to,o=r.distanceTo(e),a=this.result;if(!(this.skipBackfaces&&A.dot(this.direction)>0))switch(a.hitFaceIndex=void 0!==i?i:-1,this.mode){case BA.ALL:this.hasHit=!0,a.set(r,s,A,e,t,n,o),a.hasHit=!0,this.callback(a);break;case BA.CLOSEST:(o<a.distance||!a.hasHit)&&(this.hasHit=!0,a.hasHit=!0,a.set(r,s,A,e,t,n,o));break;case BA.ANY:this.hasHit=!0,a.hasHit=!0,a.set(r,s,A,e,t,n,o),a.shouldStop=!0}}static pointInTriangle(A,e,t,n){n.vsub(e,HA),t.vsub(e,QA),A.vsub(e,EA);const i=HA.dot(HA),r=HA.dot(QA),s=HA.dot(EA),o=QA.dot(QA),a=QA.dot(EA);let B,c;return(B=o*s-r*a)>=0&&(c=i*a-r*s)>=0&&B+c<i*o-r*r}}BA.CLOSEST=aA.CLOSEST,BA.ANY=aA.ANY,BA.ALL=aA.ALL;const cA=new c,gA=[],QA=new s,EA=new s,lA=new s,uA=new u,wA=new s,hA=new s,CA=new s,dA=new s;new s,new AA;const IA={faceList:[0]},MA=new s,pA=new BA,mA=[],FA=new s,DA=new s,YA=new s,fA=(new s,new s,new s),NA=new s,UA=new s,yA=new s,xA=new s,TA=new s,RA=new s;new c;const GA=[],SA=new I,HA=new s,bA=new s;class kA extends W{static checkBounds(A,e,t){let n,i;0===t?(n=A.position.x,i=e.position.x):1===t?(n=A.position.y,i=e.position.y):2===t&&(n=A.position.z,i=e.position.z);const r=A.boundingRadius;return i-e.boundingRadius<n+r}static insertionSortX(A){for(let e=1,t=A.length;e<t;e++){const t=A[e];let n;for(n=e-1;n>=0&&!(A[n].aabb.lowerBound.x<=t.aabb.lowerBound.x);n--)A[n+1]=A[n];A[n+1]=t}return A}static insertionSortY(A){for(let e=1,t=A.length;e<t;e++){const t=A[e];let n;for(n=e-1;n>=0&&!(A[n].aabb.lowerBound.y<=t.aabb.lowerBound.y);n--)A[n+1]=A[n];A[n+1]=t}return A}static insertionSortZ(A){for(let e=1,t=A.length;e<t;e++){const t=A[e];let n;for(n=e-1;n>=0&&!(A[n].aabb.lowerBound.z<=t.aabb.lowerBound.z);n--)A[n+1]=A[n];A[n+1]=t}return A}constructor(A){super(),this.axisList=[],this.world=null,this.axisIndex=0;const e=this.axisList;this._addBodyHandler=A=>{e.push(A.body)},this._removeBodyHandler=A=>{const t=e.indexOf(A.body);-1!==t&&e.splice(t,1)},A&&this.setWorld(A)}setWorld(A){this.axisList.length=0;for(let e=0;e<A.bodies.length;e++)this.axisList.push(A.bodies[e]);A.removeEventListener("addBody",this._addBodyHandler),A.removeEventListener("removeBody",this._removeBodyHandler),A.addEventListener("addBody",this._addBodyHandler),A.addEventListener("removeBody",this._removeBodyHandler),this.world=A,this.dirty=!0}collisionPairs(A,e,t){const n=this.axisList,i=n.length,r=this.axisIndex;let s,o;for(this.dirty&&(this.sortList(),this.dirty=!1),s=0;s!==i;s++){const A=n[s];for(o=s+1;o<i;o++){const i=n[o];if(this.needBroadphaseCollision(A,i)){if(!kA.checkBounds(A,i,r))break;this.intersectionTest(A,i,e,t)}}}}sortList(){const A=this.axisList,e=this.axisIndex,t=A.length;for(let e=0;e!==t;e++){const t=A[e];t.aabbNeedsUpdate&&t.updateAABB()}0===e?kA.insertionSortX(A):1===e?kA.insertionSortY(A):2===e&&kA.insertionSortZ(A)}autoDetectAxis(){let A=0,e=0,t=0,n=0,i=0,r=0;const s=this.axisList,o=s.length,a=1/o;for(let a=0;a!==o;a++){const o=s[a],B=o.position.x;A+=B,e+=B*B;const c=o.position.y;t+=c,n+=c*c;const g=o.position.z;i+=g,r+=g*g}const B=e-A*A*a,c=n-t*t*a,g=r-i*i*a;this.axisIndex=B>c?B>g?0:2:c>g?1:2}aabbQuery(A,e,t){void 0===t&&(t=[]),this.dirty&&(this.sortList(),this.dirty=!1);const n=this.axisIndex;let i="x";1===n&&(i="y"),2===n&&(i="z");const r=this.axisList;e.lowerBound[i],e.upperBound[i];for(let A=0;A<r.length;A++){const n=r[A];n.aabbNeedsUpdate&&n.updateAABB(),n.aabb.overlaps(e)&&t.push(n)}return t}}class JA{static defaults(A,e){void 0===A&&(A={});for(let t in e)t in A||(A[t]=e[t]);return A}}class jA{constructor(A,e,t){void 0===t&&(t={}),t=JA.defaults(t,{collideConnected:!0,wakeUpBodies:!0}),this.equations=[],this.bodyA=A,this.bodyB=e,this.id=jA.idCounter++,this.collideConnected=t.collideConnected,t.wakeUpBodies&&(A&&A.wakeUp(),e&&e.wakeUp())}update(){throw new Error("method update() not implmemented in this Constraint subclass!")}enable(){const A=this.equations;for(let e=0;e<A.length;e++)A[e].enabled=!0}disable(){const A=this.equations;for(let e=0;e<A.length;e++)A[e].enabled=!1}}jA.idCounter=0;class zA{constructor(){this.spatial=new s,this.rotational=new s}multiplyElement(A){return A.spatial.dot(this.spatial)+A.rotational.dot(this.rotational)}multiplyVectors(A,e){return A.dot(this.spatial)+e.dot(this.rotational)}}class vA{constructor(A,e,t,n){void 0===t&&(t=-1e6),void 0===n&&(n=1e6),this.id=vA.idCounter++,this.minForce=t,this.maxForce=n,this.bi=A,this.bj=e,this.a=0,this.b=0,this.eps=0,this.jacobianElementA=new zA,this.jacobianElementB=new zA,this.enabled=!0,this.multiplier=0,this.setSpookParams(1e7,4,1/60)}setSpookParams(A,e,t){const n=e,i=A,r=t;this.a=4/(r*(1+4*n)),this.b=4*n/(1+4*n),this.eps=4/(r*r*i*(1+4*n))}computeB(A,e,t){const n=this.computeGW();return-this.computeGq()*A-n*e-this.computeGiMf()*t}computeGq(){const A=this.jacobianElementA,e=this.jacobianElementB,t=this.bi,n=this.bj,i=t.position,r=n.position;return A.spatial.dot(i)+e.spatial.dot(r)}computeGW(){const A=this.jacobianElementA,e=this.jacobianElementB,t=this.bi,n=this.bj,i=t.velocity,r=n.velocity,s=t.angularVelocity,o=n.angularVelocity;return A.multiplyVectors(i,s)+e.multiplyVectors(r,o)}computeGWlambda(){const A=this.jacobianElementA,e=this.jacobianElementB,t=this.bi,n=this.bj,i=t.vlambda,r=n.vlambda,s=t.wlambda,o=n.wlambda;return A.multiplyVectors(i,s)+e.multiplyVectors(r,o)}computeGiMf(){const A=this.jacobianElementA,e=this.jacobianElementB,t=this.bi,n=this.bj,i=t.force,r=t.torque,s=n.force,o=n.torque,a=t.invMassSolve,B=n.invMassSolve;return i.scale(a,LA),s.scale(B,PA),t.invInertiaWorldSolve.vmult(r,OA),n.invInertiaWorldSolve.vmult(o,WA),A.multiplyVectors(LA,OA)+e.multiplyVectors(PA,WA)}computeGiMGt(){const A=this.jacobianElementA,e=this.jacobianElementB,t=this.bi,n=this.bj,i=t.invMassSolve,r=n.invMassSolve,s=t.invInertiaWorldSolve,o=n.invInertiaWorldSolve;let a=i+r;return s.vmult(A.rotational,VA),a+=VA.dot(A.rotational),o.vmult(e.rotational,VA),a+=VA.dot(e.rotational),a}addToWlambda(A){const e=this.jacobianElementA,t=this.jacobianElementB,n=this.bi,i=this.bj,r=KA;n.vlambda.addScaledVector(n.invMassSolve*A,e.spatial,n.vlambda),i.vlambda.addScaledVector(i.invMassSolve*A,t.spatial,i.vlambda),n.invInertiaWorldSolve.vmult(e.rotational,r),n.wlambda.addScaledVector(A,r,n.wlambda),i.invInertiaWorldSolve.vmult(t.rotational,r),i.wlambda.addScaledVector(A,r,i.wlambda)}computeC(){return this.computeGiMGt()+this.eps}}vA.idCounter=0;const LA=new s,PA=new s,OA=new s,WA=new s,VA=new s,KA=new s;class XA extends vA{constructor(A,e,t){void 0===t&&(t=1e6),super(A,e,0,t),this.restitution=0,this.ri=new s,this.rj=new s,this.ni=new s}computeB(A){const e=this.a,t=this.b,n=this.bi,i=this.bj,r=this.ri,s=this.rj,o=ZA,a=_A,B=n.velocity,c=n.angularVelocity;n.force,n.torque;const g=i.velocity,Q=i.angularVelocity;i.force,i.torque;const E=qA,l=this.jacobianElementA,u=this.jacobianElementB,w=this.ni;r.cross(w,o),s.cross(w,a),w.negate(l.spatial),o.negate(l.rotational),u.spatial.copy(w),u.rotational.copy(a),E.copy(i.position),E.vadd(s,E),E.vsub(n.position,E),E.vsub(r,E);const h=w.dot(E),C=this.restitution+1;return-h*e-(C*g.dot(w)-C*B.dot(w)+Q.dot(a)-c.dot(o))*t-A*this.computeGiMf()}getImpactVelocityAlongNormal(){const A=$A,e=Ae,t=ee,n=te,i=ne;return this.bi.position.vadd(this.ri,t),this.bj.position.vadd(this.rj,n),this.bi.getVelocityAtWorldPoint(t,A),this.bj.getVelocityAtWorldPoint(n,e),A.vsub(e,i),this.ni.dot(i)}}const ZA=new s,_A=new s,qA=new s,$A=new s,Ae=new s,ee=new s,te=new s,ne=new s;class ie extends jA{constructor(A,e,t,n,i){void 0===e&&(e=new s),void 0===n&&(n=new s),void 0===i&&(i=1e6),super(A,t),this.pivotA=e.clone(),this.pivotB=n.clone();const r=this.equationX=new XA(A,t),o=this.equationY=new XA(A,t),a=this.equationZ=new XA(A,t);this.equations.push(r,o,a),r.minForce=o.minForce=a.minForce=-i,r.maxForce=o.maxForce=a.maxForce=i,r.ni.set(1,0,0),o.ni.set(0,1,0),a.ni.set(0,0,1)}update(){const A=this.bodyA,e=this.bodyB,t=this.equationX,n=this.equationY,i=this.equationZ;A.quaternion.vmult(this.pivotA,t.ri),e.quaternion.vmult(this.pivotB,t.rj),n.ri.copy(t.ri),n.rj.copy(t.rj),i.ri.copy(t.ri),i.rj.copy(t.rj)}}class re extends vA{constructor(A,e,t){void 0===t&&(t={});const n=void 0!==t.maxForce?t.maxForce:1e6;super(A,e,-n,n),this.axisA=t.axisA?t.axisA.clone():new s(1,0,0),this.axisB=t.axisB?t.axisB.clone():new s(0,1,0),this.angle=void 0!==t.angle?t.angle:0}computeB(A){const e=this.a,t=this.b,n=this.axisA,i=this.axisB,r=se,s=oe,o=this.jacobianElementA,a=this.jacobianElementB;n.cross(i,r),i.cross(n,s),o.rotational.copy(s),a.rotational.copy(r);return-(Math.cos(this.angle)-n.dot(i))*e-this.computeGW()*t-A*this.computeGiMf()}}const se=new s,oe=new s;class ae extends vA{constructor(A,e,t){void 0===t&&(t={});const n=void 0!==t.maxForce?t.maxForce:1e6;super(A,e,-n,n),this.axisA=t.axisA?t.axisA.clone():new s(1,0,0),this.axisB=t.axisB?t.axisB.clone():new s(0,1,0),this.maxAngle=Math.PI/2}computeB(A){const e=this.a,t=this.b,n=this.axisA,i=this.axisB,r=Be,s=ce,o=this.jacobianElementA,a=this.jacobianElementB;n.cross(i,r),i.cross(n,s),o.rotational.copy(s),a.rotational.copy(r);return-(Math.cos(this.maxAngle)-n.dot(i))*e-this.computeGW()*t-A*this.computeGiMf()}}const Be=new s,ce=new s;class ge extends ie{constructor(A,e,t){void 0===t&&(t={});const n=void 0!==t.maxForce?t.maxForce:1e6;super(A,t.pivotA?t.pivotA.clone():new s,e,t.pivotB?t.pivotB.clone():new s,n),this.axisA=t.axisA?t.axisA.clone():new s,this.axisB=t.axisB?t.axisB.clone():new s,this.collideConnected=!!t.collideConnected,this.angle=void 0!==t.angle?t.angle:0;const i=this.coneEquation=new re(A,e,t),r=this.twistEquation=new ae(A,e,t);this.twistAngle=void 0!==t.twistAngle?t.twistAngle:0,i.maxForce=0,i.minForce=-n,r.maxForce=0,r.minForce=-n,this.equations.push(i,r)}update(){const A=this.bodyA,e=this.bodyB,t=this.coneEquation,n=this.twistEquation;super.update(),A.vectorToWorldFrame(this.axisA,t.axisA),e.vectorToWorldFrame(this.axisB,t.axisB),this.axisA.tangents(n.axisA,n.axisA),A.vectorToWorldFrame(n.axisA,n.axisA),this.axisB.tangents(n.axisB,n.axisB),e.vectorToWorldFrame(n.axisB,n.axisB),t.angle=this.angle,n.maxAngle=this.twistAngle}}new s,new s;class Qe extends jA{constructor(A,e,t,n){void 0===n&&(n=1e6),super(A,e),void 0===t&&(t=A.position.distanceTo(e.position)),this.distance=t;const i=this.distanceEquation=new XA(A,e);this.equations.push(i),i.minForce=-n,i.maxForce=n}update(){const A=this.bodyA,e=this.bodyB,t=this.distanceEquation,n=.5*this.distance,i=t.ni;e.position.vsub(A.position,i),i.normalize(),i.scale(n,t.ri),i.scale(-n,t.rj)}}class Ee extends ie{constructor(A,e,t){void 0===t&&(t={});const n=void 0!==t.maxForce?t.maxForce:1e6,i=new s,r=new s,o=new s;A.position.vadd(e.position,o),o.scale(.5,o),e.pointToLocalFrame(o,r),A.pointToLocalFrame(o,i),super(A,i,e,r,n),this.xA=A.vectorToLocalFrame(s.UNIT_X),this.xB=e.vectorToLocalFrame(s.UNIT_X),this.yA=A.vectorToLocalFrame(s.UNIT_Y),this.yB=e.vectorToLocalFrame(s.UNIT_Y),this.zA=A.vectorToLocalFrame(s.UNIT_Z),this.zB=e.vectorToLocalFrame(s.UNIT_Z);const a=this.rotationalEquation1=new ae(A,e,t),B=this.rotationalEquation2=new ae(A,e,t),c=this.rotationalEquation3=new ae(A,e,t);this.equations.push(a,B,c)}update(){const A=this.bodyA,e=this.bodyB;this.motorEquation;const t=this.rotationalEquation1,n=this.rotationalEquation2,i=this.rotationalEquation3;super.update(),A.vectorToWorldFrame(this.xA,t.axisA),e.vectorToWorldFrame(this.yB,t.axisB),A.vectorToWorldFrame(this.yA,n.axisA),e.vectorToWorldFrame(this.zB,n.axisB),A.vectorToWorldFrame(this.zA,i.axisA),e.vectorToWorldFrame(this.xB,i.axisB)}}new s,new s;class le extends vA{constructor(A,e,t){void 0===t&&(t=1e6),super(A,e,-t,t),this.axisA=new s,this.axisB=new s,this.targetVelocity=0}computeB(A){this.a;const e=this.b;this.bi,this.bj;const t=this.axisA,n=this.axisB,i=this.jacobianElementA,r=this.jacobianElementB;i.rotational.copy(t),n.negate(r.rotational);return-(this.computeGW()-this.targetVelocity)*e-A*this.computeGiMf()}}class ue extends ie{constructor(A,e,t){void 0===t&&(t={});const n=void 0!==t.maxForce?t.maxForce:1e6;super(A,t.pivotA?t.pivotA.clone():new s,e,t.pivotB?t.pivotB.clone():new s,n);(this.axisA=t.axisA?t.axisA.clone():new s(1,0,0)).normalize();(this.axisB=t.axisB?t.axisB.clone():new s(1,0,0)).normalize(),this.collideConnected=!!t.collideConnected;const i=this.rotationalEquation1=new ae(A,e,t),r=this.rotationalEquation2=new ae(A,e,t),o=this.motorEquation=new le(A,e,n);o.enabled=!1,this.equations.push(i,r,o)}enableMotor(){this.motorEquation.enabled=!0}disableMotor(){this.motorEquation.enabled=!1}setMotorSpeed(A){this.motorEquation.targetVelocity=A}setMotorMaxForce(A){this.motorEquation.maxForce=A,this.motorEquation.minForce=-A}update(){const A=this.bodyA,e=this.bodyB,t=this.motorEquation,n=this.rotationalEquation1,i=this.rotationalEquation2,r=we,s=he,o=this.axisA,a=this.axisB;super.update(),A.quaternion.vmult(o,r),e.quaternion.vmult(a,s),r.tangents(n.axisA,i.axisA),n.axisB.copy(s),i.axisB.copy(s),this.motorEquation.enabled&&(A.quaternion.vmult(this.axisA,t.axisA),e.quaternion.vmult(this.axisB,t.axisB))}}const we=new s,he=new s;class Ce extends vA{constructor(A,e,t){super(A,e,-t,t),this.ri=new s,this.rj=new s,this.t=new s}computeB(A){this.a;const e=this.b;this.bi,this.bj;const t=this.ri,n=this.rj,i=de,r=Ie,s=this.t;t.cross(s,i),n.cross(s,r);const o=this.jacobianElementA,a=this.jacobianElementB;s.negate(o.spatial),i.negate(o.rotational),a.spatial.copy(s),a.rotational.copy(r);return-this.computeGW()*e-A*this.computeGiMf()}}const de=new s,Ie=new s;class Me{constructor(A,e,t){t=JA.defaults(t,{friction:.3,restitution:.3,contactEquationStiffness:1e7,contactEquationRelaxation:3,frictionEquationStiffness:1e7,frictionEquationRelaxation:3}),this.id=Me.idCounter++,this.materials=[A,e],this.friction=t.friction,this.restitution=t.restitution,this.contactEquationStiffness=t.contactEquationStiffness,this.contactEquationRelaxation=t.contactEquationRelaxation,this.frictionEquationStiffness=t.frictionEquationStiffness,this.frictionEquationRelaxation=t.frictionEquationRelaxation}}Me.idCounter=0;class pe{constructor(A){void 0===A&&(A={});let e="";"string"==typeof A&&(e=A,A={}),this.name=e,this.id=pe.idCounter++,this.friction=void 0!==A.friction?A.friction:-1,this.restitution=void 0!==A.restitution?A.restitution:-1}}pe.idCounter=0;class me{constructor(A,e,t){void 0===t&&(t={}),this.restLength="number"==typeof t.restLength?t.restLength:1,this.stiffness=t.stiffness||100,this.damping=t.damping||1,this.bodyA=A,this.bodyB=e,this.localAnchorA=new s,this.localAnchorB=new s,t.localAnchorA&&this.localAnchorA.copy(t.localAnchorA),t.localAnchorB&&this.localAnchorB.copy(t.localAnchorB),t.worldAnchorA&&this.setWorldAnchorA(t.worldAnchorA),t.worldAnchorB&&this.setWorldAnchorB(t.worldAnchorB)}setWorldAnchorA(A){this.bodyA.pointToLocalFrame(A,this.localAnchorA)}setWorldAnchorB(A){this.bodyB.pointToLocalFrame(A,this.localAnchorB)}getWorldAnchorA(A){this.bodyA.pointToWorldFrame(this.localAnchorA,A)}getWorldAnchorB(A){this.bodyB.pointToWorldFrame(this.localAnchorB,A)}applyForce(){const A=this.stiffness,e=this.damping,t=this.restLength,n=this.bodyA,i=this.bodyB,r=Fe,s=De,o=Ye,a=fe,B=Ge,c=Ne,g=Ue,Q=ye,E=xe,l=Te,u=Re;this.getWorldAnchorA(c),this.getWorldAnchorB(g),c.vsub(n.position,Q),g.vsub(i.position,E),g.vsub(c,r);const w=r.length();s.copy(r),s.normalize(),i.velocity.vsub(n.velocity,o),i.angularVelocity.cross(E,B),o.vadd(B,o),n.angularVelocity.cross(Q,B),o.vsub(B,o),s.scale(-A*(w-t)-e*o.dot(s),a),n.force.vsub(a,n.force),i.force.vadd(a,i.force),Q.cross(a,l),E.cross(a,u),n.torque.vsub(l,n.torque),i.torque.vadd(u,i.torque)}}const Fe=new s,De=new s,Ye=new s,fe=new s,Ne=new s,Ue=new s,ye=new s,xe=new s,Te=new s,Re=new s,Ge=new s;class Se{constructor(A){void 0===A&&(A={}),A=JA.defaults(A,{chassisConnectionPointLocal:new s,chassisConnectionPointWorld:new s,directionLocal:new s,directionWorld:new s,axleLocal:new s,axleWorld:new s,suspensionRestLength:1,suspensionMaxLength:2,radius:1,suspensionStiffness:100,dampingCompression:10,dampingRelaxation:10,frictionSlip:10.5,forwardAcceleration:1,sideAcceleration:1,steering:0,rotation:0,deltaRotation:0,rollInfluence:.01,maxSuspensionForce:Number.MAX_VALUE,isFrontWheel:!0,clippedInvContactDotSuspension:1,suspensionRelativeVelocity:0,suspensionForce:0,slipInfo:0,skidInfo:0,suspensionLength:0,maxSuspensionTravel:1,useCustomSlidingRotationalSpeed:!1,customSlidingRotationalSpeed:-.1}),this.maxSuspensionTravel=A.maxSuspensionTravel,this.customSlidingRotationalSpeed=A.customSlidingRotationalSpeed,this.useCustomSlidingRotationalSpeed=A.useCustomSlidingRotationalSpeed,this.sliding=!1,this.chassisConnectionPointLocal=A.chassisConnectionPointLocal.clone(),this.chassisConnectionPointWorld=A.chassisConnectionPointWorld.clone(),this.directionLocal=A.directionLocal.clone(),this.directionWorld=A.directionWorld.clone(),this.axleLocal=A.axleLocal.clone(),this.axleWorld=A.axleWorld.clone(),this.suspensionRestLength=A.suspensionRestLength,this.suspensionMaxLength=A.suspensionMaxLength,this.radius=A.radius,this.suspensionStiffness=A.suspensionStiffness,this.dampingCompression=A.dampingCompression,this.dampingRelaxation=A.dampingRelaxation,this.frictionSlip=A.frictionSlip,this.forwardAcceleration=A.forwardAcceleration,this.sideAcceleration=A.sideAcceleration,this.steering=0,this.rotation=0,this.deltaRotation=0,this.rollInfluence=A.rollInfluence,this.maxSuspensionForce=A.maxSuspensionForce,this.engineForce=0,this.brake=0,this.isFrontWheel=A.isFrontWheel,this.clippedInvContactDotSuspension=1,this.suspensionRelativeVelocity=0,this.suspensionForce=0,this.slipInfo=0,this.skidInfo=0,this.suspensionLength=0,this.sideImpulse=0,this.forwardImpulse=0,this.raycastResult=new AA,this.worldTransform=new I,this.isInContact=!1}updateWheel(A){const e=this.raycastResult;if(this.isInContact){const t=e.hitNormalWorld.dot(e.directionWorld);e.hitPointWorld.vsub(A.position,be),A.getVelocityAtWorldPoint(be,He);const n=e.hitNormalWorld.dot(He);if(t>=-.1)this.suspensionRelativeVelocity=0,this.clippedInvContactDotSuspension=10;else{const A=-1/t;this.suspensionRelativeVelocity=n*A,this.clippedInvContactDotSuspension=A}}else e.suspensionLength=this.suspensionRestLength,this.suspensionRelativeVelocity=0,e.directionWorld.scale(-1,e.hitNormalWorld),this.clippedInvContactDotSuspension=1}}const He=new s,be=new s;class ke{constructor(A){this.chassisBody=A.chassisBody,this.wheelInfos=[],this.sliding=!1,this.world=null,this.indexRightAxis=void 0!==A.indexRightAxis?A.indexRightAxis:2,this.indexForwardAxis=void 0!==A.indexForwardAxis?A.indexForwardAxis:0,this.indexUpAxis=void 0!==A.indexUpAxis?A.indexUpAxis:1,this.constraints=[],this.preStepCallback=()=>{},this.currentVehicleSpeedKmHour=0,this.numWheelsOnGround=0}addWheel(A){void 0===A&&(A={});const e=new Se(A),t=this.wheelInfos.length;return this.wheelInfos.push(e),t}setSteeringValue(A,e){this.wheelInfos[e].steering=A}applyEngineForce(A,e){this.wheelInfos[e].engineForce=A}setBrake(A,e){this.wheelInfos[e].brake=A}addToWorld(A){A.addBody(this.chassisBody);const e=this;this.preStepCallback=()=>{e.updateVehicle(A.dt)},A.addEventListener("preStep",this.preStepCallback),this.world=A}getVehicleAxisWorld(A,e){e.set(0===A?1:0,1===A?1:0,2===A?1:0),this.chassisBody.vectorToWorldFrame(e,e)}updateVehicle(A){const e=this.wheelInfos,t=e.length,n=this.chassisBody;for(let A=0;A<t;A++)this.updateWheelTransform(A);this.currentVehicleSpeedKmHour=3.6*n.velocity.length();const i=new s;this.getVehicleAxisWorld(this.indexForwardAxis,i),i.dot(n.velocity)<0&&(this.currentVehicleSpeedKmHour*=-1);for(let A=0;A<t;A++)this.castRay(e[A]);this.updateSuspension(A);const r=new s,o=new s;for(let i=0;i<t;i++){const t=e[i];let s=t.suspensionForce;s>t.maxSuspensionForce&&(s=t.maxSuspensionForce),t.raycastResult.hitNormalWorld.scale(s*A,r),t.raycastResult.hitPointWorld.vsub(n.position,o),n.applyImpulse(r,o)}this.updateFriction(A);const a=new s,B=new s,c=new s;for(let i=0;i<t;i++){const t=e[i];n.getVelocityAtWorldPoint(t.chassisConnectionPointWorld,c);let r=1;switch(this.indexUpAxis){case 1:r=-1}if(t.isInContact){this.getVehicleAxisWorld(this.indexForwardAxis,B);const e=B.dot(t.raycastResult.hitNormalWorld);t.raycastResult.hitNormalWorld.scale(e,a),B.vsub(a,B);const n=B.dot(c);t.deltaRotation=r*n*A/t.radius}!t.sliding&&t.isInContact||0===t.engineForce||!t.useCustomSlidingRotationalSpeed||(t.deltaRotation=(t.engineForce>0?1:-1)*t.customSlidingRotationalSpeed*A),Math.abs(t.brake)>Math.abs(t.engineForce)&&(t.deltaRotation=0),t.rotation+=t.deltaRotation,t.deltaRotation*=.99}}updateSuspension(A){const e=this.chassisBody.mass,t=this.wheelInfos,n=t.length;for(let A=0;A<n;A++){const n=t[A];if(n.isInContact){let A;const t=n.suspensionRestLength-n.suspensionLength;A=n.suspensionStiffness*t*n.clippedInvContactDotSuspension;const i=n.suspensionRelativeVelocity;let r;r=i<0?n.dampingCompression:n.dampingRelaxation,A-=r*i,n.suspensionForce=A*e,n.suspensionForce<0&&(n.suspensionForce=0)}else n.suspensionForce=0}}removeFromWorld(A){this.constraints,A.removeBody(this.chassisBody),A.removeEventListener("preStep",this.preStepCallback),this.world=null}castRay(A){const e=ve,t=Le;this.updateWheelTransformWorld(A);const n=this.chassisBody;let i=-1;const r=A.suspensionRestLength+A.radius;A.directionWorld.scale(r,e);const o=A.chassisConnectionPointWorld;o.vadd(e,t);const a=A.raycastResult;a.reset();const B=n.collisionResponse;n.collisionResponse=!1,this.world.rayTest(o,t,a),n.collisionResponse=B;const c=a.body;if(A.raycastResult.groundObject=0,c){i=a.distance,A.raycastResult.hitNormalWorld=a.hitNormalWorld,A.isInContact=!0;const e=a.distance;A.suspensionLength=e-A.radius;const t=A.suspensionRestLength-A.maxSuspensionTravel,r=A.suspensionRestLength+A.maxSuspensionTravel;A.suspensionLength<t&&(A.suspensionLength=t),A.suspensionLength>r&&(A.suspensionLength=r,A.raycastResult.reset());const o=A.raycastResult.hitNormalWorld.dot(A.directionWorld),B=new s;n.getVelocityAtWorldPoint(A.raycastResult.hitPointWorld,B);const c=A.raycastResult.hitNormalWorld.dot(B);if(o>=-.1)A.suspensionRelativeVelocity=0,A.clippedInvContactDotSuspension=10;else{const e=-1/o;A.suspensionRelativeVelocity=c*e,A.clippedInvContactDotSuspension=e}}else A.suspensionLength=A.suspensionRestLength+0*A.maxSuspensionTravel,A.suspensionRelativeVelocity=0,A.directionWorld.scale(-1,A.raycastResult.hitNormalWorld),A.clippedInvContactDotSuspension=1;return i}updateWheelTransformWorld(A){A.isInContact=!1;const e=this.chassisBody;e.pointToWorldFrame(A.chassisConnectionPointLocal,A.chassisConnectionPointWorld),e.vectorToWorldFrame(A.directionLocal,A.directionWorld),e.vectorToWorldFrame(A.axleLocal,A.axleWorld)}updateWheelTransform(A){const e=Je,t=je,n=ze,i=this.wheelInfos[A];this.updateWheelTransformWorld(i),i.directionLocal.scale(-1,e),t.copy(i.axleLocal),e.cross(t,n),n.normalize(),t.normalize();const r=i.steering,s=new u;s.setFromAxisAngle(e,r);const o=new u;o.setFromAxisAngle(t,i.rotation);const a=i.worldTransform.quaternion;this.chassisBody.quaternion.mult(s,a),a.mult(o,a),a.normalize();const B=i.worldTransform.position;B.copy(i.directionWorld),B.scale(i.suspensionLength,B),B.vadd(i.chassisConnectionPointWorld,B)}getWheelTransformWorld(A){return this.wheelInfos[A].worldTransform}updateFriction(A){const e=Oe,t=this.wheelInfos,n=t.length,i=this.chassisBody,r=Ve,o=We;this.numWheelsOnGround=0;for(let A=0;A<n;A++){const e=t[A];e.raycastResult.body&&this.numWheelsOnGround++,e.sideImpulse=0,e.forwardImpulse=0,r[A]||(r[A]=new s),o[A]||(o[A]=new s)}for(let A=0;A<n;A++){const n=t[A],s=n.raycastResult.body;if(s){const t=o[A];this.getWheelTransformWorld(A).vectorToWorldFrame(Pe[this.indexRightAxis],t);const a=n.raycastResult.hitNormalWorld,B=t.dot(a);a.scale(B,e),t.vsub(e,t),t.normalize(),a.cross(t,r[A]),r[A].normalize(),n.sideImpulse=ot(i,n.raycastResult.hitPointWorld,s,n.raycastResult.hitPointWorld,t),n.sideImpulse*=Ke}}this.sliding=!1;for(let e=0;e<n;e++){const n=t[e],s=n.raycastResult.body;let o=0;if(n.slipInfo=1,s){const t=0,a=n.brake?n.brake:t;o=qe(i,s,n.raycastResult.hitPointWorld,r[e],a),o+=n.engineForce*A;const B=a/o;n.slipInfo*=B}if(n.forwardImpulse=0,n.skidInfo=1,s){n.skidInfo=1;const e=n.suspensionForce*A*n.frictionSlip,t=e*e;n.forwardImpulse=o;const i=.5*n.forwardImpulse/n.forwardAcceleration,r=1*n.sideImpulse/n.sideAcceleration,s=i*i+r*r;if(n.sliding=!1,s>t){this.sliding=!0,n.sliding=!0;const A=e/Math.sqrt(s);n.skidInfo*=A}}}if(this.sliding)for(let A=0;A<n;A++){const e=t[A];0!==e.sideImpulse&&e.skidInfo<1&&(e.forwardImpulse*=e.skidInfo,e.sideImpulse*=e.skidInfo)}for(let A=0;A<n;A++){const e=t[A],n=new s;if(e.raycastResult.hitPointWorld.vsub(i.position,n),0!==e.forwardImpulse){const t=new s;r[A].scale(e.forwardImpulse,t),i.applyImpulse(t,n)}if(0!==e.sideImpulse){const t=e.raycastResult.body,r=new s;e.raycastResult.hitPointWorld.vsub(t.position,r);const a=new s;o[A].scale(e.sideImpulse,a),i.vectorToLocalFrame(n,n),n["xyz"[this.indexUpAxis]]*=e.rollInfluence,i.vectorToWorldFrame(n,n),i.applyImpulse(a,n),a.scale(-1,a),t.applyImpulse(a,r)}}}}new s,new s,new s;const Je=new s,je=new s,ze=new s;new BA,new s;const ve=new s,Le=new s,Pe=[new s(1,0,0),new s(0,1,0),new s(0,0,1)],Oe=new s,We=[],Ve=[],Ke=1,Xe=new s,Ze=new s,_e=new s;function qe(A,e,t,n,i){let r=0;const s=t,o=Xe,a=Ze,B=_e;A.getVelocityAtWorldPoint(s,o),e.getVelocityAtWorldPoint(s,a),o.vsub(a,B);return r=-n.dot(B)*(1/(nt(A,t,n)+nt(e,t,n))),i<r&&(r=i),r<-i&&(r=-i),r}const $e=new s,At=new s,et=new s,tt=new s;function nt(A,e,t){const n=$e,i=At,r=et,s=tt;return e.vsub(A.position,n),n.cross(t,i),A.invInertiaWorld.vmult(i,s),s.cross(n,r),A.invMass+t.dot(r)}const it=new s,rt=new s,st=new s;function ot(A,e,t,n,i){if(i.lengthSquared()>1.1)return 0;const r=it,s=rt,o=st;A.getVelocityAtWorldPoint(e,r),t.getVelocityAtWorldPoint(n,s),r.vsub(s,o);return-.2*i.dot(o)*(1/(A.invMass+t.invMass))}class at extends d{constructor(A){if(super({type:d.types.SPHERE}),this.radius=void 0!==A?A:1,this.radius<0)throw new Error("The sphere radius cannot be negative.");this.updateBoundingSphereRadius()}calculateLocalInertia(A,e){void 0===e&&(e=new s);const t=2*A*this.radius*this.radius/5;return e.x=t,e.y=t,e.z=t,e}volume(){return 4*Math.PI*Math.pow(this.radius,3)/3}updateBoundingSphereRadius(){this.boundingSphereRadius=this.radius}calculateWorldAABB(A,e,t,n){const i=this.radius,r=["x","y","z"];for(let e=0;e<r.length;e++){const s=r[e];t[s]=A[s]-i,n[s]=A[s]+i}}}class Bt{constructor(A){void 0===A&&(A={}),this.wheelBodies=[],this.coordinateSystem=void 0!==A.coordinateSystem?A.coordinateSystem.clone():new s(1,2,3),A.chassisBody?this.chassisBody=A.chassisBody:this.chassisBody=new T({mass:1,shape:new f(new s(5,.5,2))}),this.constraints=[],this.wheelAxes=[],this.wheelForces=[]}addWheel(A){let e;void 0===A&&(A={}),e=A.body?A.body:new T({mass:1,shape:new at(1.2)}),this.wheelBodies.push(e),this.wheelForces.push(0);const t=void 0!==A.position?A.position.clone():new s,n=new s;this.chassisBody.pointToWorldFrame(t,n),e.position.set(n.x,n.y,n.z);const i=void 0!==A.axis?A.axis.clone():new s(0,0,1);this.wheelAxes.push(i);const r=new ue(this.chassisBody,e,{pivotA:t,axisA:i,pivotB:s.ZERO,axisB:i,collideConnected:!1});return this.constraints.push(r),this.wheelBodies.length-1}setSteeringValue(A,e){const t=this.wheelAxes[e],n=Math.cos(A),i=Math.sin(A),r=t.x,s=t.z;this.constraints[e].axisA.set(-n*r+i*s,0,i*r+n*s)}setMotorSpeed(A,e){const t=this.constraints[e];t.enableMotor(),t.motorTargetVelocity=A}disableMotor(A){this.constraints[A].disableMotor()}setWheelForce(A,e){this.wheelForces[e]=A}applyWheelForce(A,e){const t=this.wheelAxes[e],n=this.wheelBodies[e],i=n.torque;t.scale(A,ct),n.vectorToWorldFrame(ct,ct),i.vadd(ct,i)}addToWorld(A){const e=this.constraints,t=this.wheelBodies.concat([this.chassisBody]);for(let e=0;e<t.length;e++)A.addBody(t[e]);for(let t=0;t<e.length;t++)A.addConstraint(e[t]);A.addEventListener("preStep",this._update.bind(this))}_update(){const A=this.wheelForces;for(let e=0;e<A.length;e++)this.applyWheelForce(A[e],e)}removeFromWorld(A){const e=this.constraints,t=this.wheelBodies.concat([this.chassisBody]);for(let e=0;e<t.length;e++)A.removeBody(t[e]);for(let t=0;t<e.length;t++)A.removeConstraint(e[t])}getWheelSpeed(A){const e=this.wheelAxes[A],t=this.wheelBodies[A].angularVelocity;return this.chassisBody.vectorToWorldFrame(e,gt),t.dot(gt)}}const ct=new s,gt=new s;class Qt{constructor(){this.particles=[],this.density=1,this.smoothingRadius=1,this.speedOfSound=1,this.viscosity=.01,this.eps=1e-6,this.pressures=[],this.densities=[],this.neighbors=[]}add(A){this.particles.push(A),this.neighbors.length<this.particles.length&&this.neighbors.push([])}remove(A){const e=this.particles.indexOf(A);-1!==e&&(this.particles.splice(e,1),this.neighbors.length>this.particles.length&&this.neighbors.pop())}getNeighbors(A,e){const t=this.particles.length,n=A.id,i=this.smoothingRadius*this.smoothingRadius,r=Et;for(let s=0;s!==t;s++){const t=this.particles[s];t.position.vsub(A.position,r),n!==t.id&&r.lengthSquared()<i&&e.push(t)}}update(){const A=this.particles.length,e=lt,t=this.speedOfSound,n=this.eps;for(let n=0;n!==A;n++){const A=this.particles[n],i=this.neighbors[n];i.length=0,this.getNeighbors(A,i),i.push(this.particles[n]);const r=i.length;let s=0;for(let t=0;t!==r;t++){A.position.vsub(i[t].position,e);const n=e.length(),r=this.w(n);s+=i[t].mass*r}this.densities[n]=s,this.pressures[n]=t*t*(this.densities[n]-this.density)}const i=ut,r=wt,s=ht,o=Ct,a=dt;for(let e=0;e!==A;e++){const A=this.particles[e];let t,B;i.set(0,0,0),r.set(0,0,0);const c=this.neighbors[e],g=c.length;for(let Q=0;Q!==g;Q++){const g=c[Q];A.position.vsub(g.position,o);const E=o.length();t=-g.mass*(this.pressures[e]/(this.densities[e]*this.densities[e]+n)+this.pressures[Q]/(this.densities[Q]*this.densities[Q]+n)),this.gradw(o,s),s.scale(t,s),i.vadd(s,i),g.velocity.vsub(A.velocity,a),a.scale(1/(1e-4+this.densities[e]*this.densities[Q])*this.viscosity*g.mass,a),B=this.nablaw(E),a.scale(B,a),r.vadd(a,r)}r.scale(A.mass,r),i.scale(A.mass,i),A.force.vadd(r,A.force),A.force.vadd(i,A.force)}}w(A){const e=this.smoothingRadius;return 315/(64*Math.PI*e**9)*(e*e-A*A)**3}gradw(A,e){const t=A.length(),n=this.smoothingRadius;A.scale(945/(32*Math.PI*n**9)*(n*n-t*t)**2,e)}nablaw(A){const e=this.smoothingRadius;return 945/(32*Math.PI*e**9)*(e*e-A*A)*(7*A*A-3*e*e)}}const Et=new s,lt=new s,ut=new s,wt=new s,ht=new s,Ct=new s,dt=new s;class It extends p{constructor(A,e,t,n){if(void 0===A&&(A=1),void 0===e&&(e=1),void 0===t&&(t=1),void 0===n&&(n=8),A<0)throw new Error("The cylinder radiusTop cannot be negative.");if(e<0)throw new Error("The cylinder radiusBottom cannot be negative.");const i=n,r=[],o=[],a=[],B=[],c=[],g=Math.cos,Q=Math.sin;r.push(new s(-e*Q(0),.5*-t,e*g(0))),B.push(0),r.push(new s(-A*Q(0),.5*t,A*g(0))),c.push(1);for(let n=0;n<i;n++){const E=2*Math.PI/i*(n+1),l=2*Math.PI/i*(n+.5);n<i-1?(r.push(new s(-e*Q(E),.5*-t,e*g(E))),B.push(2*n+2),r.push(new s(-A*Q(E),.5*t,A*g(E))),c.push(2*n+3),a.push([2*n,2*n+1,2*n+3,2*n+2])):a.push([2*n,2*n+1,1,0]),(i%2==1||n<i/2)&&o.push(new s(-Q(l),0,g(l)))}a.push(B),o.push(new s(0,1,0));const E=[];for(let A=0;A<c.length;A++)E.push(c[c.length-A-1]);a.push(E),super({vertices:r,faces:a,axes:o}),this.type=d.types.CYLINDER,this.radiusTop=A,this.radiusBottom=e,this.height=t,this.numSegments=n}}class Mt extends d{constructor(){super({type:d.types.PARTICLE})}calculateLocalInertia(A,e){return void 0===e&&(e=new s),e.set(0,0,0),e}volume(){return 0}updateBoundingSphereRadius(){this.boundingSphereRadius=0}calculateWorldAABB(A,e,t,n){t.copy(A),n.copy(A)}}class pt extends d{constructor(){super({type:d.types.PLANE}),this.worldNormal=new s,this.worldNormalNeedsUpdate=!0,this.boundingSphereRadius=Number.MAX_VALUE}computeWorldNormal(A){const e=this.worldNormal;e.set(0,0,1),A.vmult(e,e),this.worldNormalNeedsUpdate=!1}calculateLocalInertia(A,e){return void 0===e&&(e=new s),e}volume(){return Number.MAX_VALUE}calculateWorldAABB(A,e,t,n){mt.set(0,0,1),e.vmult(mt,mt);const i=Number.MAX_VALUE;t.set(-i,-i,-i),n.set(i,i,i),1===mt.x?n.x=A.x:-1===mt.x&&(t.x=A.x),1===mt.y?n.y=A.y:-1===mt.y&&(t.y=A.y),1===mt.z?n.z=A.z:-1===mt.z&&(t.z=A.z)}updateBoundingSphereRadius(){this.boundingSphereRadius=Number.MAX_VALUE}}const mt=new s;class Ft extends d{constructor(A,e){void 0===e&&(e={}),e=JA.defaults(e,{maxValue:null,minValue:null,elementSize:1}),super({type:d.types.HEIGHTFIELD}),this.data=A,this.maxValue=e.maxValue,this.minValue=e.minValue,this.elementSize=e.elementSize,null===e.minValue&&this.updateMinValue(),null===e.maxValue&&this.updateMaxValue(),this.cacheEnabled=!0,this.pillarConvex=new p,this.pillarOffset=new s,this.updateBoundingSphereRadius(),this._cachedPillars={}}update(){this._cachedPillars={}}updateMinValue(){const A=this.data;let e=A[0][0];for(let t=0;t!==A.length;t++)for(let n=0;n!==A[t].length;n++){const i=A[t][n];i<e&&(e=i)}this.minValue=e}updateMaxValue(){const A=this.data;let e=A[0][0];for(let t=0;t!==A.length;t++)for(let n=0;n!==A[t].length;n++){const i=A[t][n];i>e&&(e=i)}this.maxValue=e}setHeightValueAtIndex(A,e,t){this.data[A][e]=t,this.clearCachedConvexTrianglePillar(A,e,!1),A>0&&(this.clearCachedConvexTrianglePillar(A-1,e,!0),this.clearCachedConvexTrianglePillar(A-1,e,!1)),e>0&&(this.clearCachedConvexTrianglePillar(A,e-1,!0),this.clearCachedConvexTrianglePillar(A,e-1,!1)),e>0&&A>0&&this.clearCachedConvexTrianglePillar(A-1,e-1,!0)}getRectMinMax(A,e,t,n,i){void 0===i&&(i=[]);const r=this.data;let s=this.minValue;for(let i=A;i<=t;i++)for(let A=e;A<=n;A++){const e=r[i][A];e>s&&(s=e)}i[0]=this.minValue,i[1]=s}getIndexOfPosition(A,e,t,n){const i=this.elementSize,r=this.data;let s=Math.floor(A/i),o=Math.floor(e/i);return t[0]=s,t[1]=o,n&&(s<0&&(s=0),o<0&&(o=0),s>=r.length-1&&(s=r.length-1),o>=r[0].length-1&&(o=r[0].length-1)),!(s<0||o<0||s>=r.length-1||o>=r[0].length-1)}getTriangleAt(A,e,t,n,i,r){const s=Dt;this.getIndexOfPosition(A,e,s,t);let o=s[0],a=s[1];const B=this.data;t&&(o=Math.min(B.length-2,Math.max(0,o)),a=Math.min(B[0].length-2,Math.max(0,a)));const c=this.elementSize,g=(A/c-o)**2+(e/c-a)**2>(A/c-(o+1))**2+(e/c-(a+1))**2;return this.getTriangle(o,a,g,n,i,r),g}getNormalAt(A,e,t,n){const i=yt,r=xt,s=Tt,o=Rt,a=Gt;this.getTriangleAt(A,e,t,i,r,s),r.vsub(i,o),s.vsub(i,a),o.cross(a,n),n.normalize()}getAabbAtIndex(A,e,t){let{lowerBound:n,upperBound:i}=t;const r=this.data,s=this.elementSize;n.set(A*s,e*s,r[A][e]),i.set((A+1)*s,(e+1)*s,r[A+1][e+1])}getHeightAt(A,e,t){const n=this.data,i=ft,r=Nt,s=Ut,o=Dt;this.getIndexOfPosition(A,e,o,t);let a=o[0],B=o[1];t&&(a=Math.min(n.length-2,Math.max(0,a)),B=Math.min(n[0].length-2,Math.max(0,B)));const c=this.getTriangleAt(A,e,t,i,r,s);!function(A,e,t,n,i,r,s,o,a){a.x=((r-o)*(A-s)+(s-i)*(e-o))/((r-o)*(t-s)+(s-i)*(n-o)),a.y=((o-n)*(A-s)+(t-s)*(e-o))/((r-o)*(t-s)+(s-i)*(n-o)),a.z=1-a.x-a.y}(A,e,i.x,i.y,r.x,r.y,s.x,s.y,Yt);const g=Yt;return c?n[a+1][B+1]*g.x+n[a][B+1]*g.y+n[a+1][B]*g.z:n[a][B]*g.x+n[a+1][B]*g.y+n[a][B+1]*g.z}getCacheConvexTrianglePillarKey(A,e,t){return`${A}_${e}_${t?1:0}`}getCachedConvexTrianglePillar(A,e,t){return this._cachedPillars[this.getCacheConvexTrianglePillarKey(A,e,t)]}setCachedConvexTrianglePillar(A,e,t,n,i){this._cachedPillars[this.getCacheConvexTrianglePillarKey(A,e,t)]={convex:n,offset:i}}clearCachedConvexTrianglePillar(A,e,t){delete this._cachedPillars[this.getCacheConvexTrianglePillarKey(A,e,t)]}getTriangle(A,e,t,n,i,r){const s=this.data,o=this.elementSize;t?(n.set((A+1)*o,(e+1)*o,s[A+1][e+1]),i.set(A*o,(e+1)*o,s[A][e+1]),r.set((A+1)*o,e*o,s[A+1][e])):(n.set(A*o,e*o,s[A][e]),i.set((A+1)*o,e*o,s[A+1][e]),r.set(A*o,(e+1)*o,s[A][e+1]))}getConvexTrianglePillar(A,e,t){let n=this.pillarConvex,i=this.pillarOffset;if(this.cacheEnabled){const r=this.getCachedConvexTrianglePillar(A,e,t);if(r)return this.pillarConvex=r.convex,void(this.pillarOffset=r.offset);n=new p,i=new s,this.pillarConvex=n,this.pillarOffset=i}const r=this.data,o=this.elementSize,a=n.faces;n.vertices.length=6;for(let A=0;A<6;A++)n.vertices[A]||(n.vertices[A]=new s);a.length=5;for(let A=0;A<5;A++)a[A]||(a[A]=[]);const B=n.vertices,c=(Math.min(r[A][e],r[A+1][e],r[A][e+1],r[A+1][e+1])-this.minValue)/2+this.minValue;t?(i.set((A+.75)*o,(e+.75)*o,c),B[0].set(.25*o,.25*o,r[A+1][e+1]-c),B[1].set(-.75*o,.25*o,r[A][e+1]-c),B[2].set(.25*o,-.75*o,r[A+1][e]-c),B[3].set(.25*o,.25*o,-Math.abs(c)-1),B[4].set(-.75*o,.25*o,-Math.abs(c)-1),B[5].set(.25*o,-.75*o,-Math.abs(c)-1),a[0][0]=0,a[0][1]=1,a[0][2]=2,a[1][0]=5,a[1][1]=4,a[1][2]=3,a[2][0]=2,a[2][1]=5,a[2][2]=3,a[2][3]=0,a[3][0]=3,a[3][1]=4,a[3][2]=1,a[3][3]=0,a[4][0]=1,a[4][1]=4,a[4][2]=5,a[4][3]=2):(i.set((A+.25)*o,(e+.25)*o,c),B[0].set(-.25*o,-.25*o,r[A][e]-c),B[1].set(.75*o,-.25*o,r[A+1][e]-c),B[2].set(-.25*o,.75*o,r[A][e+1]-c),B[3].set(-.25*o,-.25*o,-Math.abs(c)-1),B[4].set(.75*o,-.25*o,-Math.abs(c)-1),B[5].set(-.25*o,.75*o,-Math.abs(c)-1),a[0][0]=0,a[0][1]=1,a[0][2]=2,a[1][0]=5,a[1][1]=4,a[1][2]=3,a[2][0]=0,a[2][1]=2,a[2][2]=5,a[2][3]=3,a[3][0]=1,a[3][1]=0,a[3][2]=3,a[3][3]=4,a[4][0]=4,a[4][1]=5,a[4][2]=2,a[4][3]=1),n.computeNormals(),n.computeEdges(),n.updateBoundingSphereRadius(),this.setCachedConvexTrianglePillar(A,e,t,n,i)}calculateLocalInertia(A,e){return void 0===e&&(e=new s),e.set(0,0,0),e}volume(){return Number.MAX_VALUE}calculateWorldAABB(A,e,t,n){t.set(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),n.set(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE)}updateBoundingSphereRadius(){const A=this.data,e=this.elementSize;this.boundingSphereRadius=new s(A.length*e,A[0].length*e,Math.max(Math.abs(this.maxValue),Math.abs(this.minValue))).length()}setHeightsFromImage(A,e){const{x:t,z:n,y:i}=e,r=document.createElement("canvas");r.width=A.width,r.height=A.height;const s=r.getContext("2d");s.drawImage(A,0,0);const o=s.getImageData(0,0,A.width,A.height),a=this.data;a.length=0,this.elementSize=Math.abs(t)/o.width;for(let A=0;A<o.height;A++){const e=[];for(let i=0;i<o.width;i++){const r=(o.data[4*(A*o.height+i)]+o.data[4*(A*o.height+i)+1]+o.data[4*(A*o.height+i)+2])/4/255*n;t<0?e.push(r):e.unshift(r)}i<0?a.unshift(e):a.push(e)}this.updateMaxValue(),this.updateMinValue(),this.update()}}const Dt=[],Yt=new s,ft=new s,Nt=new s,Ut=new s,yt=new s,xt=new s,Tt=new s,Rt=new s,Gt=new s;class St{constructor(A){void 0===A&&(A={}),this.root=A.root||null,this.aabb=A.aabb?A.aabb.clone():new c,this.data=[],this.children=[]}reset(){this.children.length=this.data.length=0}insert(A,e,t){void 0===t&&(t=0);const n=this.data;if(!this.aabb.contains(A))return!1;const i=this.children;if(t<(this.maxDepth||this.root.maxDepth)){let n=!1;i.length||(this.subdivide(),n=!0);for(let n=0;8!==n;n++)if(i[n].insert(A,e,t+1))return!0;n&&(i.length=0)}return n.push(e),!0}subdivide(){const A=this.aabb,e=A.lowerBound,t=A.upperBound,n=this.children;n.push(new St({aabb:new c({lowerBound:new s(0,0,0)})}),new St({aabb:new c({lowerBound:new s(1,0,0)})}),new St({aabb:new c({lowerBound:new s(1,1,0)})}),new St({aabb:new c({lowerBound:new s(1,1,1)})}),new St({aabb:new c({lowerBound:new s(0,1,1)})}),new St({aabb:new c({lowerBound:new s(0,0,1)})}),new St({aabb:new c({lowerBound:new s(1,0,1)})}),new St({aabb:new c({lowerBound:new s(0,1,0)})})),t.vsub(e,bt),bt.scale(.5,bt);const i=this.root||this;for(let A=0;8!==A;A++){const t=n[A];t.root=i;const r=t.aabb.lowerBound;r.x*=bt.x,r.y*=bt.y,r.z*=bt.z,r.vadd(e,r),r.vadd(bt,t.aabb.upperBound)}}aabbQuery(A,e){this.data,this.children;const t=[this];for(;t.length;){const n=t.pop();n.aabb.overlaps(A)&&Array.prototype.push.apply(e,n.data),Array.prototype.push.apply(t,n.children)}return e}rayQuery(A,e,t){return A.getAABB(kt),kt.toLocalFrame(e,kt),this.aabbQuery(kt,t),t}removeEmptyNodes(){for(let A=this.children.length-1;A>=0;A--)this.children[A].removeEmptyNodes(),this.children[A].children.length||this.children[A].data.length||this.children.splice(A,1)}}class Ht extends St{constructor(A,e){void 0===e&&(e={}),super({root:null,aabb:A}),this.maxDepth=void 0!==e.maxDepth?e.maxDepth:8}}const bt=new s,kt=new c;class Jt extends d{constructor(A,e){super({type:d.types.TRIMESH}),this.vertices=new Float32Array(A),this.indices=new Int16Array(e),this.normals=new Float32Array(e.length),this.aabb=new c,this.edges=null,this.scale=new s(1,1,1),this.tree=new Ht,this.updateEdges(),this.updateNormals(),this.updateAABB(),this.updateBoundingSphereRadius(),this.updateTree()}updateTree(){const A=this.tree;A.reset(),A.aabb.copy(this.aabb);const e=this.scale;A.aabb.lowerBound.x*=1/e.x,A.aabb.lowerBound.y*=1/e.y,A.aabb.lowerBound.z*=1/e.z,A.aabb.upperBound.x*=1/e.x,A.aabb.upperBound.y*=1/e.y,A.aabb.upperBound.z*=1/e.z;const t=new c,n=new s,i=new s,r=new s,o=[n,i,r];for(let e=0;e<this.indices.length/3;e++){const s=3*e;this._getUnscaledVertex(this.indices[s],n),this._getUnscaledVertex(this.indices[s+1],i),this._getUnscaledVertex(this.indices[s+2],r),t.setFromPoints(o),A.insert(t,e)}A.removeEmptyNodes()}getTrianglesInAABB(A,e){zt.copy(A);const t=this.scale,n=t.x,i=t.y,r=t.z,s=zt.lowerBound,o=zt.upperBound;return s.x/=n,s.y/=i,s.z/=r,o.x/=n,o.y/=i,o.z/=r,this.tree.aabbQuery(zt,e)}setScale(A){const e=this.scale.x===this.scale.y&&this.scale.y===this.scale.z,t=A.x===A.y&&A.y===A.z;e&&t||this.updateNormals(),this.scale.copy(A),this.updateAABB(),this.updateBoundingSphereRadius()}updateNormals(){const A=jt,e=this.normals;for(let t=0;t<this.indices.length/3;t++){const n=3*t,i=this.indices[n],r=this.indices[n+1],s=this.indices[n+2];this.getVertex(i,Wt),this.getVertex(r,Vt),this.getVertex(s,Kt),Jt.computeNormal(Vt,Wt,Kt,A),e[n]=A.x,e[n+1]=A.y,e[n+2]=A.z}}updateEdges(){const A={},e=(e,t)=>{A[e<t?`${e}_${t}`:`${t}_${e}`]=!0};for(let A=0;A<this.indices.length/3;A++){const t=3*A,n=this.indices[t],i=this.indices[t+1],r=this.indices[t+2];e(n,i),e(i,r),e(r,n)}const t=Object.keys(A);this.edges=new Int16Array(2*t.length);for(let A=0;A<t.length;A++){const e=t[A].split("_");this.edges[2*A]=parseInt(e[0],10),this.edges[2*A+1]=parseInt(e[1],10)}}getEdgeVertex(A,e,t){const n=this.edges[2*A+(e?1:0)];this.getVertex(n,t)}getEdgeVector(A,e){const t=vt,n=Lt;this.getEdgeVertex(A,0,t),this.getEdgeVertex(A,1,n),n.vsub(t,e)}static computeNormal(A,e,t,n){e.vsub(A,Ot),t.vsub(e,Pt),Pt.cross(Ot,n),n.isZero()||n.normalize()}getVertex(A,e){const t=this.scale;return this._getUnscaledVertex(A,e),e.x*=t.x,e.y*=t.y,e.z*=t.z,e}_getUnscaledVertex(A,e){const t=3*A,n=this.vertices;return e.set(n[t],n[t+1],n[t+2])}getWorldVertex(A,e,t,n){return this.getVertex(A,n),I.pointToWorldFrame(e,t,n,n),n}getTriangleVertices(A,e,t,n){const i=3*A;this.getVertex(this.indices[i],e),this.getVertex(this.indices[i+1],t),this.getVertex(this.indices[i+2],n)}getNormal(A,e){const t=3*A;return e.set(this.normals[t],this.normals[t+1],this.normals[t+2])}calculateLocalInertia(A,e){this.computeLocalAABB(Xt);const t=Xt.upperBound.x-Xt.lowerBound.x,n=Xt.upperBound.y-Xt.lowerBound.y,i=Xt.upperBound.z-Xt.lowerBound.z;return e.set(1/12*A*(2*n*2*n+2*i*2*i),1/12*A*(2*t*2*t+2*i*2*i),1/12*A*(2*n*2*n+2*t*2*t))}computeLocalAABB(A){const e=A.lowerBound,t=A.upperBound,n=this.vertices.length;this.vertices;const i=Zt;this.getVertex(0,i),e.copy(i),t.copy(i);for(let A=0;A!==n;A++)this.getVertex(A,i),i.x<e.x?e.x=i.x:i.x>t.x&&(t.x=i.x),i.y<e.y?e.y=i.y:i.y>t.y&&(t.y=i.y),i.z<e.z?e.z=i.z:i.z>t.z&&(t.z=i.z)}updateAABB(){this.computeLocalAABB(this.aabb)}updateBoundingSphereRadius(){let A=0;const e=this.vertices,t=new s;for(let n=0,i=e.length/3;n!==i;n++){this.getVertex(n,t);const e=t.lengthSquared();e>A&&(A=e)}this.boundingSphereRadius=Math.sqrt(A)}calculateWorldAABB(A,e,t,n){const i=_t,r=qt;i.position=A,i.quaternion=e,this.aabb.toWorldFrame(i,r),t.copy(r.lowerBound),n.copy(r.upperBound)}volume(){return 4*Math.PI*this.boundingSphereRadius/3}static createTorus(A,e,t,n,i){void 0===A&&(A=1),void 0===e&&(e=.5),void 0===t&&(t=8),void 0===n&&(n=6),void 0===i&&(i=2*Math.PI);const r=[],s=[];for(let s=0;s<=t;s++)for(let o=0;o<=n;o++){const a=o/n*i,B=s/t*Math.PI*2,c=(A+e*Math.cos(B))*Math.cos(a),g=(A+e*Math.cos(B))*Math.sin(a),Q=e*Math.sin(B);r.push(c,g,Q)}for(let A=1;A<=t;A++)for(let e=1;e<=n;e++){const t=(n+1)*A+e-1,i=(n+1)*(A-1)+e-1,r=(n+1)*(A-1)+e,o=(n+1)*A+e;s.push(t,i,o),s.push(i,r,o)}return new Jt(r,s)}}const jt=new s,zt=new c,vt=new s,Lt=new s,Pt=new s,Ot=new s,Wt=new s,Vt=new s,Kt=new s,Xt=new c,Zt=new s,_t=new I,qt=new c;class $t{constructor(){this.equations=[]}solve(A,e){return 0}addEquation(A){!A.enabled||A.bi.isTrigger||A.bj.isTrigger||this.equations.push(A)}removeEquation(A){const e=this.equations,t=e.indexOf(A);-1!==t&&e.splice(t,1)}removeAllEquations(){this.equations.length=0}}class An extends $t{constructor(){super(),this.iterations=10,this.tolerance=1e-7}solve(A,e){let t=0;const n=this.iterations,i=this.tolerance*this.tolerance,r=this.equations,s=r.length,o=e.bodies,a=o.length,B=A;let c,g,Q,E,l,u;if(0!==s)for(let A=0;A!==a;A++)o[A].updateSolveMassProperties();const w=tn,h=nn,C=en;w.length=s,h.length=s,C.length=s;for(let A=0;A!==s;A++){const e=r[A];C[A]=0,h[A]=e.computeB(B),w[A]=1/e.computeC()}if(0!==s){for(let A=0;A!==a;A++){const e=o[A],t=e.vlambda,n=e.wlambda;t.set(0,0,0),n.set(0,0,0)}for(t=0;t!==n;t++){E=0;for(let A=0;A!==s;A++){const e=r[A];c=h[A],g=w[A],u=C[A],l=e.computeGWlambda(),Q=g*(c-l-e.eps*u),u+Q<e.minForce?Q=e.minForce-u:u+Q>e.maxForce&&(Q=e.maxForce-u),C[A]+=Q,E+=Q>0?Q:-Q,e.addToWlambda(Q)}if(E*E<i)break}for(let A=0;A!==a;A++){const e=o[A],t=e.velocity,n=e.angularVelocity;e.vlambda.vmul(e.linearFactor,e.vlambda),t.vadd(e.vlambda,t),e.wlambda.vmul(e.angularFactor,e.wlambda),n.vadd(e.wlambda,n)}let A=r.length;const e=1/B;for(;A--;)r[A].multiplier=C[A]*e}return t}}const en=[],tn=[],nn=[];class rn extends $t{constructor(A){for(super(),this.iterations=10,this.tolerance=1e-7,this.subsolver=A,this.nodes=[],this.nodePool=[];this.nodePool.length<128;)this.nodePool.push(this.createNode())}createNode(){return{body:null,children:[],eqs:[],visited:!1}}solve(A,e){const t=sn,n=this.nodePool,i=e.bodies,r=this.equations,s=r.length,o=i.length,a=this.subsolver;for(;n.length<o;)n.push(this.createNode());t.length=o;for(let A=0;A<o;A++)t[A]=n[A];for(let A=0;A!==o;A++){const e=t[A];e.body=i[A],e.children.length=0,e.eqs.length=0,e.visited=!1}for(let A=0;A!==s;A++){const e=r[A],n=i.indexOf(e.bi),s=i.indexOf(e.bj),o=t[n],a=t[s];o.children.push(a),o.eqs.push(e),a.children.push(o),a.eqs.push(e)}let B,c=0,g=on;a.tolerance=this.tolerance,a.iterations=this.iterations;const Q=an;for(;B=cn(t);){g.length=0,Q.bodies.length=0,Qn(B,En,Q.bodies,g);const e=g.length;g=g.sort(ln);for(let A=0;A!==e;A++)a.addEquation(g[A]);a.solve(A,Q),a.removeAllEquations(),c++}return c}}const sn=[],on=[],an={bodies:[]},Bn=T.STATIC;function cn(A){const e=A.length;for(let t=0;t!==e;t++){const e=A[t];if(!(e.visited||e.body.type&Bn))return e}return!1}const gn=[];function Qn(A,e,t,n){for(gn.push(A),A.visited=!0,e(A,t,n);gn.length;){const A=gn.pop();let i;for(;i=cn(A.children);)i.visited=!0,e(i,t,n),gn.push(i)}}function En(A,e,t){e.push(A.body);const n=A.eqs.length;for(let e=0;e!==n;e++){const n=A.eqs[e];t.includes(n)||t.push(n)}}function ln(A,e){return e.id-A.id}class un{constructor(){this.objects=[],this.type=Object}release(){const A=arguments.length;for(let e=0;e!==A;e++)this.objects.push(e<0||arguments.length<=e?void 0:arguments[e]);return this}get(){return 0===this.objects.length?this.constructObject():this.objects.pop()}constructObject(){throw new Error("constructObject() not implemented in this Pool subclass yet!")}resize(A){const e=this.objects;for(;e.length>A;)e.pop();for(;e.length<A;)e.push(this.constructObject());return this}}class wn extends un{constructor(){super(...arguments),this.type=s}constructObject(){return new s}}const hn={sphereSphere:d.types.SPHERE,spherePlane:d.types.SPHERE|d.types.PLANE,boxBox:d.types.BOX|d.types.BOX,sphereBox:d.types.SPHERE|d.types.BOX,planeBox:d.types.PLANE|d.types.BOX,convexConvex:d.types.CONVEXPOLYHEDRON,sphereConvex:d.types.SPHERE|d.types.CONVEXPOLYHEDRON,planeConvex:d.types.PLANE|d.types.CONVEXPOLYHEDRON,boxConvex:d.types.BOX|d.types.CONVEXPOLYHEDRON,sphereHeightfield:d.types.SPHERE|d.types.HEIGHTFIELD,boxHeightfield:d.types.BOX|d.types.HEIGHTFIELD,convexHeightfield:d.types.CONVEXPOLYHEDRON|d.types.HEIGHTFIELD,sphereParticle:d.types.PARTICLE|d.types.SPHERE,planeParticle:d.types.PLANE|d.types.PARTICLE,boxParticle:d.types.BOX|d.types.PARTICLE,convexParticle:d.types.PARTICLE|d.types.CONVEXPOLYHEDRON,cylinderCylinder:d.types.CYLINDER,sphereCylinder:d.types.SPHERE|d.types.CYLINDER,planeCylinder:d.types.PLANE|d.types.CYLINDER,boxCylinder:d.types.BOX|d.types.CYLINDER,convexCylinder:d.types.CONVEXPOLYHEDRON|d.types.CYLINDER,heightfieldCylinder:d.types.HEIGHTFIELD|d.types.CYLINDER,particleCylinder:d.types.PARTICLE|d.types.CYLINDER,sphereTrimesh:d.types.SPHERE|d.types.TRIMESH,planeTrimesh:d.types.PLANE|d.types.TRIMESH};class Cn{get[hn.sphereSphere](){return this.sphereSphere}get[hn.spherePlane](){return this.spherePlane}get[hn.boxBox](){return this.boxBox}get[hn.sphereBox](){return this.sphereBox}get[hn.planeBox](){return this.planeBox}get[hn.convexConvex](){return this.convexConvex}get[hn.sphereConvex](){return this.sphereConvex}get[hn.planeConvex](){return this.planeConvex}get[hn.boxConvex](){return this.boxConvex}get[hn.sphereHeightfield](){return this.sphereHeightfield}get[hn.boxHeightfield](){return this.boxHeightfield}get[hn.convexHeightfield](){return this.convexHeightfield}get[hn.sphereParticle](){return this.sphereParticle}get[hn.planeParticle](){return this.planeParticle}get[hn.boxParticle](){return this.boxParticle}get[hn.convexParticle](){return this.convexParticle}get[hn.cylinderCylinder](){return this.convexConvex}get[hn.sphereCylinder](){return this.sphereConvex}get[hn.planeCylinder](){return this.planeConvex}get[hn.boxCylinder](){return this.boxConvex}get[hn.convexCylinder](){return this.convexConvex}get[hn.heightfieldCylinder](){return this.heightfieldCylinder}get[hn.particleCylinder](){return this.particleCylinder}get[hn.sphereTrimesh](){return this.sphereTrimesh}get[hn.planeTrimesh](){return this.planeTrimesh}constructor(A){this.contactPointPool=[],this.frictionEquationPool=[],this.result=[],this.frictionResult=[],this.v3pool=new wn,this.world=A,this.currentContactMaterial=A.defaultContactMaterial,this.enableFrictionReduction=!1}createContactEquation(A,e,t,n,i,r){let s;this.contactPointPool.length?(s=this.contactPointPool.pop(),s.bi=A,s.bj=e):s=new XA(A,e),s.enabled=A.collisionResponse&&e.collisionResponse&&t.collisionResponse&&n.collisionResponse;const o=this.currentContactMaterial;s.restitution=o.restitution,s.setSpookParams(o.contactEquationStiffness,o.contactEquationRelaxation,this.world.dt);const a=t.material||A.material,B=n.material||e.material;return a&&B&&a.restitution>=0&&B.restitution>=0&&(s.restitution=a.restitution*B.restitution),s.si=i||t,s.sj=r||n,s}createFrictionEquationsFromContact(A,e){const t=A.bi,n=A.bj,i=A.si,r=A.sj,s=this.world,o=this.currentContactMaterial;let a=o.friction;const B=i.material||t.material,c=r.material||n.material;if(B&&c&&B.friction>=0&&c.friction>=0&&(a=B.friction*c.friction),a>0){const i=a*(s.frictionGravity||s.gravity).length();let r=t.invMass+n.invMass;r>0&&(r=1/r);const B=this.frictionEquationPool,c=B.length?B.pop():new Ce(t,n,i*r),g=B.length?B.pop():new Ce(t,n,i*r);return c.bi=g.bi=t,c.bj=g.bj=n,c.minForce=g.minForce=-i*r,c.maxForce=g.maxForce=i*r,c.ri.copy(A.ri),c.rj.copy(A.rj),g.ri.copy(A.ri),g.rj.copy(A.rj),A.ni.tangents(c.t,g.t),c.setSpookParams(o.frictionEquationStiffness,o.frictionEquationRelaxation,s.dt),g.setSpookParams(o.frictionEquationStiffness,o.frictionEquationRelaxation,s.dt),c.enabled=g.enabled=A.enabled,e.push(c,g),!0}return!1}createFrictionFromAverage(A){let e=this.result[this.result.length-1];if(!this.createFrictionEquationsFromContact(e,this.frictionResult)||1===A)return;const t=this.frictionResult[this.frictionResult.length-2],n=this.frictionResult[this.frictionResult.length-1];dn.setZero(),In.setZero(),Mn.setZero();const i=e.bi;e.bj;for(let t=0;t!==A;t++)e=this.result[this.result.length-1-t],e.bi!==i?(dn.vadd(e.ni,dn),In.vadd(e.ri,In),Mn.vadd(e.rj,Mn)):(dn.vsub(e.ni,dn),In.vadd(e.rj,In),Mn.vadd(e.ri,Mn));const r=1/A;In.scale(r,t.ri),Mn.scale(r,t.rj),n.ri.copy(t.ri),n.rj.copy(t.rj),dn.normalize(),dn.tangents(t.t,n.t)}getContacts(A,e,t,n,i,r,s){this.contactPointPool=i,this.frictionEquationPool=s,this.result=n,this.frictionResult=r;const o=Fn,a=Dn,B=pn,c=mn;for(let n=0,i=A.length;n!==i;n++){const i=A[n],r=e[n];let s=null;i.material&&r.material&&(s=t.getContactMaterial(i.material,r.material)||null);const g=i.type&T.KINEMATIC&&r.type&T.STATIC||i.type&T.STATIC&&r.type&T.KINEMATIC||i.type&T.KINEMATIC&&r.type&T.KINEMATIC;for(let A=0;A<i.shapes.length;A++){i.quaternion.mult(i.shapeOrientations[A],o),i.quaternion.vmult(i.shapeOffsets[A],B),B.vadd(i.position,B);const e=i.shapes[A];for(let A=0;A<r.shapes.length;A++){r.quaternion.mult(r.shapeOrientations[A],a),r.quaternion.vmult(r.shapeOffsets[A],c),c.vadd(r.position,c);const n=r.shapes[A];if(!(e.collisionFilterMask&n.collisionFilterGroup&&n.collisionFilterMask&e.collisionFilterGroup))continue;if(B.distanceTo(c)>e.boundingSphereRadius+n.boundingSphereRadius)continue;let Q=null;e.material&&n.material&&(Q=t.getContactMaterial(e.material,n.material)||null),this.currentContactMaterial=Q||s||t.defaultContactMaterial;const E=this[e.type|n.type];if(E){let A=!1;A=e.type<n.type?E.call(this,e,n,B,c,o,a,i,r,e,n,g):E.call(this,n,e,c,B,a,o,r,i,e,n,g),A&&g&&(t.shapeOverlapKeeper.set(e.id,n.id),t.bodyOverlapKeeper.set(i.id,r.id))}}}}}sphereSphere(A,e,t,n,i,r,s,o,a,B,c){if(c)return t.distanceSquared(n)<(A.radius+e.radius)**2;const g=this.createContactEquation(s,o,A,e,a,B);n.vsub(t,g.ni),g.ni.normalize(),g.ri.copy(g.ni),g.rj.copy(g.ni),g.ri.scale(A.radius,g.ri),g.rj.scale(-e.radius,g.rj),g.ri.vadd(t,g.ri),g.ri.vsub(s.position,g.ri),g.rj.vadd(n,g.rj),g.rj.vsub(o.position,g.rj),this.result.push(g),this.createFrictionEquationsFromContact(g,this.frictionResult)}spherePlane(A,e,t,n,i,r,s,o,a,B,c){const g=this.createContactEquation(s,o,A,e,a,B);if(g.ni.set(0,0,1),r.vmult(g.ni,g.ni),g.ni.negate(g.ni),g.ni.normalize(),g.ni.scale(A.radius,g.ri),t.vsub(n,Pn),g.ni.scale(g.ni.dot(Pn),On),Pn.vsub(On,g.rj),-Pn.dot(g.ni)<=A.radius){if(c)return!0;const A=g.ri,e=g.rj;A.vadd(t,A),A.vsub(s.position,A),e.vadd(n,e),e.vsub(o.position,e),this.result.push(g),this.createFrictionEquationsFromContact(g,this.frictionResult)}}boxBox(A,e,t,n,i,r,s,o,a,B,c){return A.convexPolyhedronRepresentation.material=A.material,e.convexPolyhedronRepresentation.material=e.material,A.convexPolyhedronRepresentation.collisionResponse=A.collisionResponse,e.convexPolyhedronRepresentation.collisionResponse=e.collisionResponse,this.convexConvex(A.convexPolyhedronRepresentation,e.convexPolyhedronRepresentation,t,n,i,r,s,o,A,e,c)}sphereBox(A,e,t,n,i,r,s,o,a,B,c){const g=this.v3pool,Q=Ai;t.vsub(n,Zn),e.getSideNormals(Q,r);const E=A.radius;let l=!1;const u=ti,w=ni,h=ii;let C=null,d=0,I=0,M=0,p=null;for(let A=0,e=Q.length;A!==e&&!1===l;A++){const e=_n;e.copy(Q[A]);const t=e.length();e.normalize();const n=Zn.dot(e);if(n<t+E&&n>0){const i=qn,r=$n;i.copy(Q[(A+1)%3]),r.copy(Q[(A+2)%3]);const s=i.length(),o=r.length();i.normalize(),r.normalize();const a=Zn.dot(i),B=Zn.dot(r);if(a<s&&a>-s&&B<o&&B>-o){const A=Math.abs(n-t-E);if((null===p||A<p)&&(p=A,I=a,M=B,C=t,u.copy(e),w.copy(i),h.copy(r),d++,c))return!0}}}if(d){l=!0;const i=this.createContactEquation(s,o,A,e,a,B);u.scale(-E,i.ri),i.ni.copy(u),i.ni.negate(i.ni),u.scale(C,u),w.scale(I,w),u.vadd(w,u),h.scale(M,h),u.vadd(h,i.rj),i.ri.vadd(t,i.ri),i.ri.vsub(s.position,i.ri),i.rj.vadd(n,i.rj),i.rj.vsub(o.position,i.rj),this.result.push(i),this.createFrictionEquationsFromContact(i,this.frictionResult)}let m=g.get();const F=ei;for(let i=0;2!==i&&!l;i++)for(let r=0;2!==r&&!l;r++)for(let g=0;2!==g&&!l;g++)if(m.set(0,0,0),i?m.vadd(Q[0],m):m.vsub(Q[0],m),r?m.vadd(Q[1],m):m.vsub(Q[1],m),g?m.vadd(Q[2],m):m.vsub(Q[2],m),n.vadd(m,F),F.vsub(t,F),F.lengthSquared()<E*E){if(c)return!0;l=!0;const i=this.createContactEquation(s,o,A,e,a,B);i.ri.copy(F),i.ri.normalize(),i.ni.copy(i.ri),i.ri.scale(E,i.ri),i.rj.copy(m),i.ri.vadd(t,i.ri),i.ri.vsub(s.position,i.ri),i.rj.vadd(n,i.rj),i.rj.vsub(o.position,i.rj),this.result.push(i),this.createFrictionEquationsFromContact(i,this.frictionResult)}g.release(m),m=null;const D=g.get(),Y=g.get(),f=g.get(),N=g.get(),U=g.get(),y=Q.length;for(let i=0;i!==y&&!l;i++)for(let r=0;r!==y&&!l;r++)if(i%3!=r%3){Q[r].cross(Q[i],D),D.normalize(),Q[i].vadd(Q[r],Y),f.copy(t),f.vsub(Y,f),f.vsub(n,f);const g=f.dot(D);D.scale(g,N);let u=0;for(;u===i%3||u===r%3;)u++;U.copy(t),U.vsub(N,U),U.vsub(Y,U),U.vsub(n,U);const w=Math.abs(g),h=U.length();if(w<Q[u].length()&&h<E){if(c)return!0;l=!0;const i=this.createContactEquation(s,o,A,e,a,B);Y.vadd(N,i.rj),i.rj.copy(i.rj),U.negate(i.ni),i.ni.normalize(),i.ri.copy(i.rj),i.ri.vadd(n,i.ri),i.ri.vsub(t,i.ri),i.ri.normalize(),i.ri.scale(E,i.ri),i.ri.vadd(t,i.ri),i.ri.vsub(s.position,i.ri),i.rj.vadd(n,i.rj),i.rj.vsub(o.position,i.rj),this.result.push(i),this.createFrictionEquationsFromContact(i,this.frictionResult)}}g.release(D,Y,f,N,U)}planeBox(A,e,t,n,i,r,s,o,a,B,c){return e.convexPolyhedronRepresentation.material=e.material,e.convexPolyhedronRepresentation.collisionResponse=e.collisionResponse,e.convexPolyhedronRepresentation.id=e.id,this.planeConvex(A,e.convexPolyhedronRepresentation,t,n,i,r,s,o,A,e,c)}convexConvex(A,e,t,n,i,r,s,o,a,B,c,g,Q){const E=di;if(!(t.distanceTo(n)>A.boundingSphereRadius+e.boundingSphereRadius)&&A.findSeparatingAxis(e,t,i,n,r,E,g,Q)){const g=[],Q=Ii;A.clipAgainstHull(t,i,e,n,r,E,-100,100,g);let l=0;for(let i=0;i!==g.length;i++){if(c)return!0;const r=this.createContactEquation(s,o,A,e,a,B),u=r.ri,w=r.rj;E.negate(r.ni),g[i].normal.negate(Q),Q.scale(g[i].depth,Q),g[i].point.vadd(Q,u),w.copy(g[i].point),u.vsub(t,u),w.vsub(n,w),u.vadd(t,u),u.vsub(s.position,u),w.vadd(n,w),w.vsub(o.position,w),this.result.push(r),l++,this.enableFrictionReduction||this.createFrictionEquationsFromContact(r,this.frictionResult)}this.enableFrictionReduction&&l&&this.createFrictionFromAverage(l)}}sphereConvex(A,e,t,n,i,r,s,o,a,B,c){const g=this.v3pool;t.vsub(n,ri);const Q=e.faceNormals,E=e.faces,l=e.vertices,u=A.radius;let w=!1;for(let i=0;i!==l.length;i++){const g=l[i],Q=Bi;r.vmult(g,Q),n.vadd(Q,Q);const E=ai;if(Q.vsub(t,E),E.lengthSquared()<u*u){if(c)return!0;w=!0;const i=this.createContactEquation(s,o,A,e,a,B);return i.ri.copy(E),i.ri.normalize(),i.ni.copy(i.ri),i.ri.scale(u,i.ri),Q.vsub(n,i.rj),i.ri.vadd(t,i.ri),i.ri.vsub(s.position,i.ri),i.rj.vadd(n,i.rj),i.rj.vsub(o.position,i.rj),this.result.push(i),void this.createFrictionEquationsFromContact(i,this.frictionResult)}}for(let i=0,h=E.length;i!==h&&!1===w;i++){const h=Q[i],C=E[i],d=ci;r.vmult(h,d);const I=gi;r.vmult(l[C[0]],I),I.vadd(n,I);const M=Qi;d.scale(-u,M),t.vadd(M,M);const p=Ei;M.vsub(I,p);const m=p.dot(d),F=li;if(t.vsub(I,F),m<0&&F.dot(d)>0){const i=[];for(let A=0,e=C.length;A!==e;A++){const e=g.get();r.vmult(l[C[A]],e),n.vadd(e,e),i.push(e)}if(Xn(i,d,t)){if(c)return!0;w=!0;const r=this.createContactEquation(s,o,A,e,a,B);d.scale(-u,r.ri),d.negate(r.ni);const Q=g.get();d.scale(-m,Q);const E=g.get();d.scale(-u,E),t.vsub(n,r.rj),r.rj.vadd(E,r.rj),r.rj.vadd(Q,r.rj),r.rj.vadd(n,r.rj),r.rj.vsub(o.position,r.rj),r.ri.vadd(t,r.ri),r.ri.vsub(s.position,r.ri),g.release(Q),g.release(E),this.result.push(r),this.createFrictionEquationsFromContact(r,this.frictionResult);for(let A=0,e=i.length;A!==e;A++)g.release(i[A]);return}for(let Q=0;Q!==C.length;Q++){const E=g.get(),w=g.get();r.vmult(l[C[(Q+1)%C.length]],E),r.vmult(l[C[(Q+2)%C.length]],w),n.vadd(E,E),n.vadd(w,w);const h=si;w.vsub(E,h);const d=oi;h.unit(d);const I=g.get(),M=g.get();t.vsub(E,M);const p=M.dot(d);d.scale(p,I),I.vadd(E,I);const m=g.get();if(I.vsub(t,m),p>0&&p*p<h.lengthSquared()&&m.lengthSquared()<u*u){if(c)return!0;const r=this.createContactEquation(s,o,A,e,a,B);I.vsub(n,r.rj),I.vsub(t,r.ni),r.ni.normalize(),r.ni.scale(u,r.ri),r.rj.vadd(n,r.rj),r.rj.vsub(o.position,r.rj),r.ri.vadd(t,r.ri),r.ri.vsub(s.position,r.ri),this.result.push(r),this.createFrictionEquationsFromContact(r,this.frictionResult);for(let A=0,e=i.length;A!==e;A++)g.release(i[A]);return g.release(E),g.release(w),g.release(I),g.release(m),void g.release(M)}g.release(E),g.release(w),g.release(I),g.release(m),g.release(M)}for(let A=0,e=i.length;A!==e;A++)g.release(i[A])}}}planeConvex(A,e,t,n,i,r,s,o,a,B,c){const g=ui,Q=wi;Q.set(0,0,1),i.vmult(Q,Q);let E=0;const l=hi;for(let i=0;i!==e.vertices.length;i++){g.copy(e.vertices[i]),r.vmult(g,g),n.vadd(g,g),g.vsub(t,l);if(Q.dot(l)<=0){if(c)return!0;const i=this.createContactEquation(s,o,A,e,a,B),r=Ci;Q.scale(Q.dot(l),r),g.vsub(r,r),r.vsub(t,i.ri),i.ni.copy(Q),g.vsub(n,i.rj),i.ri.vadd(t,i.ri),i.ri.vsub(s.position,i.ri),i.rj.vadd(n,i.rj),i.rj.vsub(o.position,i.rj),this.result.push(i),E++,this.enableFrictionReduction||this.createFrictionEquationsFromContact(i,this.frictionResult)}}this.enableFrictionReduction&&E&&this.createFrictionFromAverage(E)}boxConvex(A,e,t,n,i,r,s,o,a,B,c){return A.convexPolyhedronRepresentation.material=A.material,A.convexPolyhedronRepresentation.collisionResponse=A.collisionResponse,this.convexConvex(A.convexPolyhedronRepresentation,e,t,n,i,r,s,o,A,e,c)}sphereHeightfield(A,e,t,n,i,r,s,o,a,B,c){const g=e.data,Q=A.radius,E=e.elementSize,l=Gi,u=Ri;I.pointToLocalFrame(n,r,t,u);let w=Math.floor((u.x-Q)/E)-1,h=Math.ceil((u.x+Q)/E)+1,C=Math.floor((u.y-Q)/E)-1,d=Math.ceil((u.y+Q)/E)+1;if(h<0||d<0||w>g.length||C>g[0].length)return;w<0&&(w=0),h<0&&(h=0),C<0&&(C=0),d<0&&(d=0),w>=g.length&&(w=g.length-1),h>=g.length&&(h=g.length-1),d>=g[0].length&&(d=g[0].length-1),C>=g[0].length&&(C=g[0].length-1);const M=[];e.getRectMinMax(w,C,h,d,M);const p=M[0],m=M[1];if(u.z-Q>m||u.z+Q<p)return;const F=this.result;for(let a=w;a<h;a++)for(let B=C;B<d;B++){const g=F.length;let Q=!1;if(e.getConvexTrianglePillar(a,B,!1),I.pointToWorldFrame(n,r,e.pillarOffset,l),t.distanceTo(l)<e.pillarConvex.boundingSphereRadius+A.boundingSphereRadius&&(Q=this.sphereConvex(A,e.pillarConvex,t,l,i,r,s,o,A,e,c)),c&&Q)return!0;if(e.getConvexTrianglePillar(a,B,!0),I.pointToWorldFrame(n,r,e.pillarOffset,l),t.distanceTo(l)<e.pillarConvex.boundingSphereRadius+A.boundingSphereRadius&&(Q=this.sphereConvex(A,e.pillarConvex,t,l,i,r,s,o,A,e,c)),c&&Q)return!0;if(F.length-g>2)return}}boxHeightfield(A,e,t,n,i,r,s,o,a,B,c){return A.convexPolyhedronRepresentation.material=A.material,A.convexPolyhedronRepresentation.collisionResponse=A.collisionResponse,this.convexHeightfield(A.convexPolyhedronRepresentation,e,t,n,i,r,s,o,A,e,c)}convexHeightfield(A,e,t,n,i,r,s,o,a,B,c){const g=e.data,Q=e.elementSize,E=A.boundingSphereRadius,l=xi,u=Ti,w=yi;I.pointToLocalFrame(n,r,t,w);let h=Math.floor((w.x-E)/Q)-1,C=Math.ceil((w.x+E)/Q)+1,d=Math.floor((w.y-E)/Q)-1,M=Math.ceil((w.y+E)/Q)+1;if(C<0||M<0||h>g.length||d>g[0].length)return;h<0&&(h=0),C<0&&(C=0),d<0&&(d=0),M<0&&(M=0),h>=g.length&&(h=g.length-1),C>=g.length&&(C=g.length-1),M>=g[0].length&&(M=g[0].length-1),d>=g[0].length&&(d=g[0].length-1);const p=[];e.getRectMinMax(h,d,C,M,p);const m=p[0],F=p[1];if(!(w.z-E>F||w.z+E<m))for(let a=h;a<C;a++)for(let B=d;B<M;B++){let g=!1;if(e.getConvexTrianglePillar(a,B,!1),I.pointToWorldFrame(n,r,e.pillarOffset,l),t.distanceTo(l)<e.pillarConvex.boundingSphereRadius+A.boundingSphereRadius&&(g=this.convexConvex(A,e.pillarConvex,t,l,i,r,s,o,null,null,c,u,null)),c&&g)return!0;if(e.getConvexTrianglePillar(a,B,!0),I.pointToWorldFrame(n,r,e.pillarOffset,l),t.distanceTo(l)<e.pillarConvex.boundingSphereRadius+A.boundingSphereRadius&&(g=this.convexConvex(A,e.pillarConvex,t,l,i,r,s,o,null,null,c,u,null)),c&&g)return!0}}sphereParticle(A,e,t,n,i,r,s,o,a,B,c){const g=Fi;g.set(0,0,1),n.vsub(t,g);if(g.lengthSquared()<=A.radius*A.radius){if(c)return!0;const t=this.createContactEquation(o,s,e,A,a,B);g.normalize(),t.rj.copy(g),t.rj.scale(A.radius,t.rj),t.ni.copy(g),t.ni.negate(t.ni),t.ri.set(0,0,0),this.result.push(t),this.createFrictionEquationsFromContact(t,this.frictionResult)}}planeParticle(A,e,t,n,i,r,s,o,a,B,c){const g=Mi;g.set(0,0,1),s.quaternion.vmult(g,g);const Q=pi;n.vsub(s.position,Q);if(g.dot(Q)<=0){if(c)return!0;const t=this.createContactEquation(o,s,e,A,a,B);t.ni.copy(g),t.ni.negate(t.ni),t.ri.set(0,0,0);const i=mi;g.scale(g.dot(n),i),n.vsub(i,i),t.rj.copy(i),this.result.push(t),this.createFrictionEquationsFromContact(t,this.frictionResult)}}boxParticle(A,e,t,n,i,r,s,o,a,B,c){return A.convexPolyhedronRepresentation.material=A.material,A.convexPolyhedronRepresentation.collisionResponse=A.collisionResponse,this.convexParticle(A.convexPolyhedronRepresentation,e,t,n,i,r,s,o,A,e,c)}convexParticle(A,e,t,n,i,r,s,o,a,B,c){let g=-1;const Q=fi,E=Ui;let l=null;const u=Yi;if(u.copy(n),u.vsub(t,u),i.conjugate(Di),Di.vmult(u,u),A.pointIsInside(u)){A.worldVerticesNeedsUpdate&&A.computeWorldVertices(t,i),A.worldFaceNormalsNeedsUpdate&&A.computeWorldFaceNormals(i);for(let e=0,t=A.faces.length;e!==t;e++){const t=[A.worldVertices[A.faces[e][0]]],i=A.worldFaceNormals[e];n.vsub(t[0],Ni);const r=-i.dot(Ni);if(null===l||Math.abs(r)<Math.abs(l)){if(c)return!0;l=r,g=e,Q.copy(i)}}if(-1!==g){const i=this.createContactEquation(o,s,e,A,a,B);Q.scale(l,E),E.vadd(n,E),E.vsub(t,E),i.rj.copy(E),Q.negate(i.ni),i.ri.set(0,0,0);const r=i.ri,c=i.rj;r.vadd(n,r),r.vsub(o.position,r),c.vadd(t,c),c.vsub(s.position,c),this.result.push(i),this.createFrictionEquationsFromContact(i,this.frictionResult)}else console.warn("Point found inside convex, but did not find penetrating face!")}}heightfieldCylinder(A,e,t,n,i,r,s,o,a,B,c){return this.convexHeightfield(e,A,n,t,r,i,o,s,a,B,c)}particleCylinder(A,e,t,n,i,r,s,o,a,B,c){return this.convexParticle(e,A,n,t,r,i,o,s,a,B,c)}sphereTrimesh(A,e,t,n,i,r,s,o,a,B,c){const g=Rn,Q=Gn,E=Sn,l=Hn,u=bn,w=kn,h=vn,C=Tn,d=yn,M=Ln;I.pointToLocalFrame(n,r,t,u);const p=A.radius;h.lowerBound.set(u.x-p,u.y-p,u.z-p),h.upperBound.set(u.x+p,u.y+p,u.z+p),e.getTrianglesInAABB(h,M);const m=xn,F=A.radius*A.radius;for(let i=0;i<M.length;i++)for(let g=0;g<3;g++)if(e.getVertex(e.indices[3*M[i]+g],m),m.vsub(u,d),d.lengthSquared()<=F){if(C.copy(m),I.pointToWorldFrame(n,r,C,m),m.vsub(t,d),c)return!0;let i=this.createContactEquation(s,o,A,e,a,B);i.ni.copy(d),i.ni.normalize(),i.ri.copy(i.ni),i.ri.scale(A.radius,i.ri),i.ri.vadd(t,i.ri),i.ri.vsub(s.position,i.ri),i.rj.copy(m),i.rj.vsub(o.position,i.rj),this.result.push(i),this.createFrictionEquationsFromContact(i,this.frictionResult)}for(let i=0;i<M.length;i++)for(let h=0;h<3;h++){e.getVertex(e.indices[3*M[i]+h],g),e.getVertex(e.indices[3*M[i]+(h+1)%3],Q),Q.vsub(g,E),u.vsub(Q,w);const C=w.dot(E);u.vsub(g,w);let d=w.dot(E);if(d>0&&C<0){u.vsub(g,w),l.copy(E),l.normalize(),d=w.dot(l),l.scale(d,w),w.vadd(g,w);if(w.distanceTo(u)<A.radius){if(c)return!0;const i=this.createContactEquation(s,o,A,e,a,B);w.vsub(u,i.ni),i.ni.normalize(),i.ni.scale(A.radius,i.ri),i.ri.vadd(t,i.ri),i.ri.vsub(s.position,i.ri),I.pointToWorldFrame(n,r,w,w),w.vsub(o.position,i.rj),I.vectorToWorldFrame(r,i.ni,i.ni),I.vectorToWorldFrame(r,i.ri,i.ri),this.result.push(i),this.createFrictionEquationsFromContact(i,this.frictionResult)}}}const D=Jn,Y=jn,f=zn,N=Un;for(let i=0,g=M.length;i!==g;i++){e.getTriangleVertices(M[i],D,Y,f),e.getNormal(M[i],N),u.vsub(D,w);let g=w.dot(N);if(N.scale(g,w),u.vsub(w,w),g=w.distanceTo(u),BA.pointInTriangle(w,D,Y,f)&&g<A.radius){if(c)return!0;let i=this.createContactEquation(s,o,A,e,a,B);w.vsub(u,i.ni),i.ni.normalize(),i.ni.scale(A.radius,i.ri),i.ri.vadd(t,i.ri),i.ri.vsub(s.position,i.ri),I.pointToWorldFrame(n,r,w,w),w.vsub(o.position,i.rj),I.vectorToWorldFrame(r,i.ni,i.ni),I.vectorToWorldFrame(r,i.ri,i.ri),this.result.push(i),this.createFrictionEquationsFromContact(i,this.frictionResult)}}M.length=0}planeTrimesh(A,e,t,n,i,r,o,a,B,c,g){const Q=new s,E=Yn;E.set(0,0,1),i.vmult(E,E);for(let i=0;i<e.vertices.length/3;i++){e.getVertex(i,Q);const l=new s;l.copy(Q),I.pointToWorldFrame(n,r,l,Q);const u=fn;Q.vsub(t,u);if(E.dot(u)<=0){if(g)return!0;const t=this.createContactEquation(o,a,A,e,B,c);t.ni.copy(E);const n=Nn;E.scale(u.dot(E),n),Q.vsub(n,n),t.ri.copy(n),t.ri.vsub(o.position,t.ri),t.rj.copy(Q),t.rj.vsub(a.position,t.rj),this.result.push(t),this.createFrictionEquationsFromContact(t,this.frictionResult)}}}}const dn=new s,In=new s,Mn=new s,pn=new s,mn=new s,Fn=new u,Dn=new u,Yn=new s,fn=new s,Nn=new s,Un=new s,yn=new s;new s;const xn=new s,Tn=new s,Rn=new s,Gn=new s,Sn=new s,Hn=new s,bn=new s,kn=new s,Jn=new s,jn=new s,zn=new s,vn=new c,Ln=[],Pn=new s,On=new s,Wn=new s,Vn=new s,Kn=new s;function Xn(A,e,t){let n=null;const i=A.length;for(let r=0;r!==i;r++){const s=A[r],o=Wn;A[(r+1)%i].vsub(s,o);const a=Vn;o.cross(e,a);const B=Kn;t.vsub(s,B);const c=a.dot(B);if(!(null===n||c>0&&!0===n||c<=0&&!1===n))return!1;null===n&&(n=c>0)}return!0}const Zn=new s,_n=new s,qn=new s,$n=new s,Ai=[new s,new s,new s,new s,new s,new s],ei=new s,ti=new s,ni=new s,ii=new s,ri=new s,si=new s,oi=new s,ai=new s,Bi=new s,ci=new s,gi=new s,Qi=new s,Ei=new s,li=new s;new s,new s;const ui=new s,wi=new s,hi=new s,Ci=new s,di=new s,Ii=new s,Mi=new s,pi=new s,mi=new s,Fi=new s,Di=new u,Yi=new s;new s;const fi=new s,Ni=new s,Ui=new s,yi=new s,xi=new s,Ti=[0],Ri=new s,Gi=new s;class Si{constructor(){this.current=[],this.previous=[]}getKey(A,e){if(e<A){const t=e;e=A,A=t}return A<<16|e}set(A,e){const t=this.getKey(A,e),n=this.current;let i=0;for(;t>n[i];)i++;if(t!==n[i]){for(let A=n.length-1;A>=i;A--)n[A+1]=n[A];n[i]=t}}tick(){const A=this.current;this.current=this.previous,this.previous=A,this.current.length=0}getDiff(A,e){const t=this.current,n=this.previous,i=t.length,r=n.length;let s=0;for(let e=0;e<i;e++){let i=!1;const r=t[e];for(;r>n[s];)s++;i=r===n[s],i||Hi(A,r)}s=0;for(let A=0;A<r;A++){let i=!1;const r=n[A];for(;r>t[s];)s++;i=t[s]===r,i||Hi(e,r)}}}function Hi(A,e){A.push((4294901760&e)>>16,65535&e)}const bi=(A,e)=>A<e?`${A}-${e}`:`${e}-${A}`;class ki{constructor(){this.data={keys:[]}}get(A,e){const t=bi(A,e);return this.data[t]}set(A,e,t){const n=bi(A,e);this.get(A,e)||this.data.keys.push(n),this.data[n]=t}delete(A,e){const t=bi(A,e),n=this.data.keys.indexOf(t);-1!==n&&this.data.keys.splice(n,1),delete this.data[t]}reset(){const A=this.data,e=A.keys;for(;e.length>0;){delete A[e.pop()]}}}class Ji extends l{constructor(A){void 0===A&&(A={}),super(),this.dt=-1,this.allowSleep=!!A.allowSleep,this.contacts=[],this.frictionEquations=[],this.quatNormalizeSkip=void 0!==A.quatNormalizeSkip?A.quatNormalizeSkip:0,this.quatNormalizeFast=void 0!==A.quatNormalizeFast&&A.quatNormalizeFast,this.time=0,this.stepnumber=0,this.default_dt=1/60,this.nextId=0,this.gravity=new s,A.gravity&&this.gravity.copy(A.gravity),A.frictionGravity&&(this.frictionGravity=new s,this.frictionGravity.copy(A.frictionGravity)),this.broadphase=void 0!==A.broadphase?A.broadphase:new $,this.bodies=[],this.hasActiveBodies=!1,this.solver=void 0!==A.solver?A.solver:new An,this.constraints=[],this.narrowphase=new Cn(this),this.collisionMatrix=new E,this.collisionMatrixPrevious=new E,this.bodyOverlapKeeper=new Si,this.shapeOverlapKeeper=new Si,this.contactmaterials=[],this.contactMaterialTable=new ki,this.defaultMaterial=new pe("default"),this.defaultContactMaterial=new Me(this.defaultMaterial,this.defaultMaterial,{friction:.3,restitution:0}),this.doProfiling=!1,this.profile={solve:0,makeContactConstraints:0,broadphase:0,integrate:0,narrowphase:0},this.accumulator=0,this.subsystems=[],this.addBodyEvent={type:"addBody",body:null},this.removeBodyEvent={type:"removeBody",body:null},this.idToBodyMap={},this.broadphase.setWorld(this)}getContactMaterial(A,e){return this.contactMaterialTable.get(A.id,e.id)}collisionMatrixTick(){const A=this.collisionMatrixPrevious;this.collisionMatrixPrevious=this.collisionMatrix,this.collisionMatrix=A,this.collisionMatrix.reset(),this.bodyOverlapKeeper.tick(),this.shapeOverlapKeeper.tick()}addConstraint(A){this.constraints.push(A)}removeConstraint(A){const e=this.constraints.indexOf(A);-1!==e&&this.constraints.splice(e,1)}rayTest(A,e,t){t instanceof AA?this.raycastClosest(A,e,{skipBackfaces:!0},t):this.raycastAll(A,e,{skipBackfaces:!0},t)}raycastAll(A,e,t,n){return void 0===t&&(t={}),t.mode=BA.ALL,t.from=A,t.to=e,t.callback=n,ji.intersectWorld(this,t)}raycastAny(A,e,t,n){return void 0===t&&(t={}),t.mode=BA.ANY,t.from=A,t.to=e,t.result=n,ji.intersectWorld(this,t)}raycastClosest(A,e,t,n){return void 0===t&&(t={}),t.mode=BA.CLOSEST,t.from=A,t.to=e,t.result=n,ji.intersectWorld(this,t)}addBody(A){this.bodies.includes(A)||(A.index=this.bodies.length,this.bodies.push(A),A.world=this,A.initPosition.copy(A.position),A.initVelocity.copy(A.velocity),A.timeLastSleepy=this.time,A instanceof T&&(A.initAngularVelocity.copy(A.angularVelocity),A.initQuaternion.copy(A.quaternion)),this.collisionMatrix.setNumObjects(this.bodies.length),this.addBodyEvent.body=A,this.idToBodyMap[A.id]=A,this.dispatchEvent(this.addBodyEvent))}removeBody(A){A.world=null;const e=this.bodies.length-1,t=this.bodies,n=t.indexOf(A);if(-1!==n){t.splice(n,1);for(let A=0;A!==t.length;A++)t[A].index=A;this.collisionMatrix.setNumObjects(e),this.removeBodyEvent.body=A,delete this.idToBodyMap[A.id],this.dispatchEvent(this.removeBodyEvent)}}getBodyById(A){return this.idToBodyMap[A]}getShapeById(A){const e=this.bodies;for(let t=0;t<e.length;t++){const n=e[t].shapes;for(let e=0;e<n.length;e++){const t=n[e];if(t.id===A)return t}}return null}addContactMaterial(A){this.contactmaterials.push(A),this.contactMaterialTable.set(A.materials[0].id,A.materials[1].id,A)}removeContactMaterial(A){const e=this.contactmaterials.indexOf(A);-1!==e&&(this.contactmaterials.splice(e,1),this.contactMaterialTable.delete(A.materials[0].id,A.materials[1].id))}fixedStep(A,e){void 0===A&&(A=1/60),void 0===e&&(e=10);const t=zi.now()/1e3;if(this.lastCallTime){const n=t-this.lastCallTime;this.step(A,n,e)}else this.step(A,void 0,e);this.lastCallTime=t}step(A,e,t){if(void 0===t&&(t=10),void 0===e)this.internalStep(A),this.time+=A;else{this.accumulator+=e;const n=zi.now();let i=0;for(;this.accumulator>=A&&i<t&&(this.internalStep(A),this.accumulator-=A,i++,!(zi.now()-n>1e3*A)););this.accumulator=this.accumulator%A;const r=this.accumulator/A;for(let A=0;A!==this.bodies.length;A++){const e=this.bodies[A];e.previousPosition.lerp(e.position,r,e.interpolatedPosition),e.previousQuaternion.slerp(e.quaternion,r,e.interpolatedQuaternion),e.previousQuaternion.normalize()}this.time+=e}}internalStep(A){this.dt=A;const e=this.contacts,t=Vi,n=Ki,i=this.bodies.length,r=this.bodies,s=this.solver,o=this.gravity,a=this.doProfiling,B=this.profile,c=T.DYNAMIC;let g=-1/0;const Q=this.constraints,E=Wi;o.length();const l=o.x,u=o.y,w=o.z;let h=0;for(a&&(g=zi.now()),h=0;h!==i;h++){const A=r[h];if(A.type===c){const e=A.force,t=A.mass;e.x+=t*l,e.y+=t*u,e.z+=t*w}}for(let A=0,e=this.subsystems.length;A!==e;A++)this.subsystems[A].update();a&&(g=zi.now()),t.length=0,n.length=0,this.broadphase.collisionPairs(this,t,n),a&&(B.broadphase=zi.now()-g);let C=Q.length;for(h=0;h!==C;h++){const A=Q[h];if(!A.collideConnected)for(let e=t.length-1;e>=0;e-=1)(A.bodyA===t[e]&&A.bodyB===n[e]||A.bodyB===t[e]&&A.bodyA===n[e])&&(t.splice(e,1),n.splice(e,1))}this.collisionMatrixTick(),a&&(g=zi.now());const d=Oi,I=e.length;for(h=0;h!==I;h++)d.push(e[h]);e.length=0;const M=this.frictionEquations.length;for(h=0;h!==M;h++)E.push(this.frictionEquations[h]);for(this.frictionEquations.length=0,this.narrowphase.getContacts(t,n,this,e,d,this.frictionEquations,E),a&&(B.narrowphase=zi.now()-g),a&&(g=zi.now()),h=0;h<this.frictionEquations.length;h++)s.addEquation(this.frictionEquations[h]);const p=e.length;for(let A=0;A!==p;A++){const t=e[A],n=t.bi,i=t.bj,r=t.si,o=t.sj;let a;if(a=n.material&&i.material&&this.getContactMaterial(n.material,i.material)||this.defaultContactMaterial,a.friction,n.material&&i.material&&(n.material.friction>=0&&i.material.friction>=0&&(n.material.friction,i.material.friction),n.material.restitution>=0&&i.material.restitution>=0&&(t.restitution=n.material.restitution*i.material.restitution)),s.addEquation(t),n.allowSleep&&n.type===T.DYNAMIC&&n.sleepState===T.SLEEPING&&i.sleepState===T.AWAKE&&i.type!==T.STATIC){i.velocity.lengthSquared()+i.angularVelocity.lengthSquared()>=2*i.sleepSpeedLimit**2&&(n.wakeUpAfterNarrowphase=!0)}if(i.allowSleep&&i.type===T.DYNAMIC&&i.sleepState===T.SLEEPING&&n.sleepState===T.AWAKE&&n.type!==T.STATIC){n.velocity.lengthSquared()+n.angularVelocity.lengthSquared()>=2*n.sleepSpeedLimit**2&&(i.wakeUpAfterNarrowphase=!0)}this.collisionMatrix.set(n,i,!0),this.collisionMatrixPrevious.get(n,i)||(Pi.body=i,Pi.contact=t,n.dispatchEvent(Pi),Pi.body=n,i.dispatchEvent(Pi)),this.bodyOverlapKeeper.set(n.id,i.id),this.shapeOverlapKeeper.set(r.id,o.id)}for(this.emitContactEvents(),a&&(B.makeContactConstraints=zi.now()-g,g=zi.now()),h=0;h!==i;h++){const A=r[h];A.wakeUpAfterNarrowphase&&(A.wakeUp(),A.wakeUpAfterNarrowphase=!1)}for(C=Q.length,h=0;h!==C;h++){const A=Q[h];A.update();for(let e=0,t=A.equations.length;e!==t;e++){const t=A.equations[e];s.addEquation(t)}}s.solve(A,this),a&&(B.solve=zi.now()-g),s.removeAllEquations();const m=Math.pow;for(h=0;h!==i;h++){const e=r[h];if(e.type&c){const t=m(1-e.linearDamping,A),n=e.velocity;n.scale(t,n);const i=e.angularVelocity;if(i){const t=m(1-e.angularDamping,A);i.scale(t,i)}}}this.dispatchEvent(Li),a&&(g=zi.now());const F=this.stepnumber%(this.quatNormalizeSkip+1)==0,D=this.quatNormalizeFast;for(h=0;h!==i;h++)r[h].integrate(A,F,D);this.clearForces(),this.broadphase.dirty=!0,a&&(B.integrate=zi.now()-g),this.stepnumber+=1,this.dispatchEvent(vi);let Y=!0;if(this.allowSleep)for(Y=!1,h=0;h!==i;h++){const A=r[h];A.sleepTick(this.time),A.sleepState!==T.SLEEPING&&(Y=!0)}this.hasActiveBodies=Y}emitContactEvents(){const A=this.hasAnyEventListener("beginContact"),e=this.hasAnyEventListener("endContact");if((A||e)&&this.bodyOverlapKeeper.getDiff(Xi,Zi),A){for(let A=0,e=Xi.length;A<e;A+=2)_i.bodyA=this.getBodyById(Xi[A]),_i.bodyB=this.getBodyById(Xi[A+1]),this.dispatchEvent(_i);_i.bodyA=_i.bodyB=null}if(e){for(let A=0,e=Zi.length;A<e;A+=2)qi.bodyA=this.getBodyById(Zi[A]),qi.bodyB=this.getBodyById(Zi[A+1]),this.dispatchEvent(qi);qi.bodyA=qi.bodyB=null}Xi.length=Zi.length=0;const t=this.hasAnyEventListener("beginShapeContact"),n=this.hasAnyEventListener("endShapeContact");if((t||n)&&this.shapeOverlapKeeper.getDiff(Xi,Zi),t){for(let A=0,e=Xi.length;A<e;A+=2){const e=this.getShapeById(Xi[A]),t=this.getShapeById(Xi[A+1]);$i.shapeA=e,$i.shapeB=t,e&&($i.bodyA=e.body),t&&($i.bodyB=t.body),this.dispatchEvent($i)}$i.bodyA=$i.bodyB=$i.shapeA=$i.shapeB=null}if(n){for(let A=0,e=Zi.length;A<e;A+=2){const e=this.getShapeById(Zi[A]),t=this.getShapeById(Zi[A+1]);Ar.shapeA=e,Ar.shapeB=t,e&&(Ar.bodyA=e.body),t&&(Ar.bodyB=t.body),this.dispatchEvent(Ar)}Ar.bodyA=Ar.bodyB=Ar.shapeA=Ar.shapeB=null}}clearForces(){const A=this.bodies,e=A.length;for(let t=0;t!==e;t++){const e=A[t];e.force,e.torque,e.force.set(0,0,0),e.torque.set(0,0,0)}}}new c;const ji=new BA,zi=globalThis.performance||{};if(!zi.now){let A=Date.now();zi.timing&&zi.timing.navigationStart&&(A=zi.timing.navigationStart),zi.now=()=>Date.now()-A}new s;const vi={type:"postStep"},Li={type:"preStep"},Pi={type:T.COLLIDE_EVENT_NAME,body:null,contact:null},Oi=[],Wi=[],Vi=[],Ki=[],Xi=[],Zi=[],_i={type:"beginContact",bodyA:null,bodyB:null},qi={type:"endContact",bodyA:null,bodyB:null},$i={type:"beginShapeContact",bodyA:null,bodyB:null,shapeA:null,shapeB:null},Ar={type:"endShapeContact",bodyA:null,bodyB:null,shapeA:null,shapeB:null}},function(A,e,t){"use strict";t.r(e),e.default="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAN8SURBVHhe7Zq/axRBFMfn/FGJGEuxiCAR0T9C0cJawdNCS6NiIVqYSghYaRErMWqphSYQawWD/hH+AKMkhdpYKBaCIOt7M+9t5vZm9mZn3u2d3HzgZWbuyL4333m7O/v2VCaTyWQyGSmKin0HG2s61EpRLM6bziVqPUj7jUZcgOID9Zj3YJALd54rNffYfORgZIJIOsaUV30CMH/A1kyXcYjSuhCiAngnX+UdtRadU9QxtCbEaARgxkAIKQf16V/HL7IfelTSlhBiAkRNHvlKbZWfYCBrRYh9YBumK8MWalO4QK0su8CmQINVY8Q6mM42KSQyID79favvoXOMOoKnhEQGxE0+nllqRUgV4Bm1bfKIWhFSBejy1rcx8ekvSvIpcPEsddpBNP2RFAFEr8Z1fN7MFtH0R1KupsX6K6Wm99KoCWNw9WeSToGoyccjnv5IrAA6/TsHdX+oDDP9kdSUKq8DwXuBMUp/JPUuUAaF2YC28YU+kAWfAXDPgYKzLYAlEyvANBgHoj7eg84K9iDS434hir/qN3WDuLtMHfMM0MUO+wGugZUxxNI0rXAVdCCIFUwP9hMcbpTKvUJg+uPEr9+nAXD7vFI3TtLA4uhNpd68pYGh8WkS+g89KvsmXsUW4vQJpZbmaOChutsL9bP2TamZKzQwBD82DxKgnLhvFUKoPNP3sHC5d7WR0Im7qPhaAjtjum58AuAz/kPspATjwlcdPnJYqde3aCCAQ3TnXGsF0Lc2R91OhClwDik/VB+AJYRzroPvAofIJMAQYOLabCR9MC4/DsJvgxzkHj1qxk4wDAbLXHWwj+161JwdYIETZ5rvA3aDcaCD4GC26lE4M2B4/AN6NBj2EyFc2k7QJwQHlMo2sDqxBfykCcBwkFITd2ELIehHRoA2ERb4/xNAmCwAtRNLFoDaiSULQO3EkgWgdmLxCfAS/2Bxs3tVj0XBOgCXv4ZYSe4rsbnwCYD1NHx6n11+YYJESwELnfbEATy+LlJwJVlK7IofLIs5iyGI9wsHZX3Q+xLEUfV1rILPZ1mGQ5r4QPAN0v5zNDAEFUabXAPKFeOMePAUR248q1AnOL766vMxCM4sa/J8DNEfU7noeVMDK1Z8erI5JsMXKCmUx1qcNz6KVWP2d2Qjw35LNKxgqq/F2EbxE52RwmKnZlYmk8lkMpnMpKPUP5Vz2qYC+MyLAAAAAElFTkSuQmCC"},function(A,e,t){(function(e){function n(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function i(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach((function(e){r(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}function r(A,e,t){return(e=function(A){var e=function(A,e){if("object"!=typeof A||null===A)return A;var t=A[Symbol.toPrimitive];if(void 0!==t){var n=t.call(A,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(A)}(A,"string");return"symbol"==typeof e?e:String(e)}(e))in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}const s=t(423),o=t(78),a=t(117),B=A=>{try{return new URL(A,location.href)}catch(A){return null}},c=A=>new Promise(n=>{const r=[],o=Object.assign({},e.Scratch||{},s);o.extensions={unsandboxed:!0,isPenguinMod:!0,register:A=>{r.push(A),n(r)}},o.vm=A,o.renderer=A.runtime.renderer,o.canFetch=async e=>{const t=B(e);return!!t&&("blob:"===t.protocol||"data:"===t.protocol||A.securityManager.canFetch(t.href))},o.canOpenWindow=async e=>{const t=B(e);return!!t&&("javascript:"!==t.protocol&&A.securityManager.canOpenWindow(t.href))},o.canRedirect=async e=>{const t=B(e);return!!t&&("javascript:"!==t.protocol&&A.securityManager.canRedirect(t.href))},o.fetch=async(A,e)=>{const t=A instanceof Request?A.url:A;if(!await o.canFetch(t))throw new Error("Permission to fetch ".concat(t," rejected."));return fetch(A,i(i({},e),{},{redirect:"error"}))},o.openWindow=async(A,e)=>{if(!await o.canOpenWindow(A))throw new Error("Permission to open tab ".concat(A," rejected."));return window.open(A,"_blank",e)},o.redirect=async A=>{if(!await o.canRedirect(A))throw new Error("Permission to redirect to ".concat(A," rejected."));location.href=A},o.canRecordAudio=async()=>A.securityManager.canRecordAudio(),o.canRecordVideo=async()=>A.securityManager.canRecordVideo(),o.canReadClipboard=async()=>A.securityManager.canReadClipboard(),o.canNotify=async()=>A.securityManager.canNotify(),o.canGeolocate=async()=>A.securityManager.canGeolocate(),o.translate=a(A),e.Scratch=o,e.ScratchExtensions=t(424)}),g=new o((A,t)=>new Promise((e,n)=>{c(t).then(e);const i=document.createElement("script");i.onerror=()=>{n(new Error("Error in unsandboxed script ".concat(A,". Check the console for more information.")))},i.src=A,document.body.appendChild(i)}).then(A=>(e.Scratch.extensions.register=()=>{throw new Error("Too late to register new extensions.")},A)),1);A.exports={setupUnsandboxedExtensionAPI:c,load:(A,e)=>g.do(A,e)}}).call(this,t(19))},function(A,e,t){const n={ArgumentType:t(3),BlockType:t(1),TargetType:t(38),Cast:t(2),Clone:t(10),Color:t(13)};A.exports=n},function(A,e,t){const n=t(3),i=t(1),{argumentIndexToId:r,generateExtensionId:s}=t(119),o=A=>{if(""===A||" "===A||"w"===A)return{type:i.COMMAND,async:"w"===A};if("r"===A||"R"===A)return{type:i.REPORTER,async:"R"===A};if("b"===A)return{type:i.BOOLEAN,async:!1};if("h"===A)return{type:i.HAT,async:!1};throw new Error("Unknown ScratchX block type: ".concat(A))},a=(A,e)=>{const t={},i="string"==typeof(r=e)||"number"==typeof r||"boolean"==typeof r;var r;if(i&&(t.defaultValue=e),"s"===A)t.type=n.STRING,i||(t.defaultValue="");else if("n"===A)t.type=n.NUMBER,i||(t.defaultValue=0);else{if("m"!==A[0])throw new Error("Unknown ScratchX argument type: ".concat(A));{t.type=n.STRING;const e=A.split(/\.|:/)[1];t.menu=e}}return t},B=(A,e,t)=>n=>{const i=[];for(let A=0;A<e;A++)i.push(n[r(A)]);return t?new Promise(e=>{A(...i,e)}):A(...i)},c=(A,e,t)=>{const n={id:s(A),name:e.displayName||A,blocks:[],color1:"#4a4a5e",color2:"#31323f",color3:"#191a21"},i={getInfo:()=>n,_getStatus:t._getStatus};e.url&&(n.docsURI=e.url);for(const A of e.blocks){if(1===A.length){n.blocks.push("---");continue}const e=A[0],s=A[1],c=A[2],g=A.slice(3);let Q="";const E=[],l=s.split(/%([\w.:]+)/g);for(let A=0;A<l.length;A++){const e=l[A];if(A%2==1){a(e);const t=Math.floor(A/2).toString(),n=g[t],i=r(t);E[i]=a(e,n),Q+="[".concat(i,"]")}else Q+=e}const u=o(e),w={opcode:c,blockType:u.type,text:Q,arguments:E};n.blocks.push(w);const h=t[c],C=E.length;i[c]=B(h,C,u.async)}const c=e.menus;if(c){const A={};for(const e of Object.keys(c)||{}){const t={items:c[e]};A[e]=t}n.menus=A}return i},g=new Map;A.exports={register:(A,e,t)=>{const n=c(A,e,t);g.set(A,n),Scratch.extensions.register(n)},getStatus:A=>{const e=g.get(A);return e?e._getStatus():{status:0,msg:"does not exist"}},convert:c}},function(A,e,t){A.exports=function(){return t(120)('!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=10)}([function(e,t,n){function r(){}n(20).mixin(r),r.prototype.write=function(e,t,n){this.emit("item",e,t,n)},r.prototype.end=function(){this.emit("end"),this.removeAllListeners()},r.prototype.pipe=function(e){var t=this;function n(){e.write.apply(e,Array.prototype.slice.call(arguments))}function r(){!e._isStdio&&e.end()}return t.emit("unpipe",e),e.emit("pipe",t),t.on("item",n),t.on("end",r),t.when("unpipe",(function(i){var a=i===e||void 0===i;return a&&(t.removeListener("item",n),t.removeListener("end",r),e.emit("unpipe")),a})),e},r.prototype.unpipe=function(e){return this.emit("unpipe",e),this},r.prototype.format=function(e){throw new Error(["Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:","var Minilog = require(\'minilog\');","Minilog"," .pipe(Minilog.backends.console.formatClean)"," .pipe(Minilog.backends.console);"].join("\\n"))},r.mixin=function(e){var t,n=r.prototype;for(t in n)n.hasOwnProperty(t)&&(e.prototype[t]=n[t])},e.exports=r},function(e,t,n){const r=n(18);r.enable(),e.exports=r("vm")},function(e,t){e.exports={ANGLE:"angle",BOOLEAN:"Boolean",COLOR:"color",NUMBER:"number",STRING:"string",MATRIX:"matrix",NOTE:"note",IMAGE:"image",POLYGON:"polygon",COSTUME:"costume",SOUND:"sound",VARIABLE:"variable",LIST:"list",BROADCAST:"broadcast"}},function(e,t){e.exports={BOOLEAN:"Boolean",BUTTON:"button",LABEL:"label",COMMAND:"command",CONDITIONAL:"conditional",EVENT:"event",HAT:"hat",LOOP:"loop",REPORTER:"reporter",XML:"xml"}},function(e,t){class n{static get RGB_BLACK(){return{r:0,g:0,b:0}}static get RGB_WHITE(){return{r:255,g:255,b:255}}static decimalToHex(e){e<0&&(e+=16777216);let t=Math.round(Number(e)).toString(16);return t="#".concat("000000".substr(0,6-t.length)).concat(t),t}static decimalToRgb(e){const t=e>>24&255;return{r:e>>16&255,g:e>>8&255,b:255&e,a:t>0?t:255}}static hexToRgb(e){e.startsWith("#")&&(e=e.substring(1)),8===e.length&&(e=e.slice(0,6));const t=parseInt(e,16);if(isNaN(t))return null;if(6===e.length)return{r:t>>16&255,g:t>>8&255,b:255&t};if(3===e.length){const e=t>>8&15,n=t>>4&15,r=15&t;return{r:e<<4|e,g:n<<4|n,b:r<<4|r}}return null}static rgbToHex(e){return n.decimalToHex(n.rgbToDecimal(e))}static rgbToDecimal(e){return(e.r<<16)+(e.g<<8)+e.b}static hexToDecimal(e){return n.rgbToDecimal(n.hexToRgb(e))}static hsvToRgb(e){let t=e.h%360;t<0&&(t+=360);const n=Math.max(0,Math.min(e.s,1)),r=Math.max(0,Math.min(e.v,1)),i=Math.floor(t/60),a=t/60-i,o=r*(1-n),s=r*(1-n*a),c=r*(1-n*(1-a));let l,u,d;switch(i){default:case 0:l=r,u=c,d=o;break;case 1:l=s,u=r,d=o;break;case 2:l=o,u=r,d=c;break;case 3:l=o,u=s,d=r;break;case 4:l=c,u=o,d=r;break;case 5:l=r,u=o,d=s}return{r:Math.floor(255*l),g:Math.floor(255*u),b:Math.floor(255*d)}}static rgbToHsv(e){const t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(Math.min(t,n),r),a=Math.max(Math.max(t,n),r);let o=0,s=0;if(i!==a){o=60*((t===i?3:n===i?5:1)-(t===i?n-r:n===i?r-t:t-n)/(a-i))%360,s=(a-i)/a}return{h:o,s:s,v:a}}static mixRgb(e,t,n){if(n<=0)return e;if(n>=1)return t;const r=1-n;return{r:r*e.r+n*t.r,g:r*e.g+n*t.g,b:r*e.b+n*t.b}}}e.exports=n},function(e,t){var n={black:"#000",red:"#c23621",green:"#25bc26",yellow:"#bbbb00",blue:"#492ee1",magenta:"#d338d3",cyan:"#33bbc8",gray:"#808080",purple:"#708"};e.exports=function(e,t){return t?"color: #fff; background: "+n[e]+";":"color: "+n[e]+";"}},function(e,t){e.exports={isWorker:!0,centralDispatchService:self}},function(e,t){var n="long",r="short",i="numeric";e.exports={number:{decimal:{style:"decimal"},integer:{style:"decimal",maximumFractionDigits:0},currency:{style:"currency",currency:"USD"},percent:{style:"percent"},default:{style:"decimal"}},date:{short:{month:i,day:i,year:"2-digit"},medium:{month:r,day:i,year:i},long:{month:n,day:i,year:i},full:{month:n,day:i,year:i,weekday:n},default:{month:r,day:i,year:i}},time:{short:{hour:i,minute:i},medium:{hour:i,minute:i,second:i},long:{hour:i,minute:i,second:i,timeZoneName:r},full:{hour:i,minute:i,second:i,timeZoneName:r},default:{hour:i,minute:i,second:i}},duration:{default:{hours:{minimumIntegerDigits:1,maximumFractionDigits:0},minutes:{minimumIntegerDigits:2,maximumFractionDigits:0},seconds:{minimumIntegerDigits:2,maximumFractionDigits:3}}},parseNumberPattern:function(e){if(e){var t={},n=e.match(/\\b[A-Z]{3}\\b/i),r=e.replace(/[^¤]/g,"").length;if(!r&&n&&(r=1),r?(t.style="currency",t.currencyDisplay=1===r?"symbol":2===r?"code":"name",t.currency=n?n[0].toUpperCase():"USD"):e.indexOf("%")>=0&&(t.style="percent"),!/[@#0]/.test(e))return t.style?t:void 0;if(t.useGrouping=e.indexOf(",")>=0,/E\\+?[@#0]+/i.test(e)||e.indexOf("@")>=0){var i=e.replace(/E\\+?[@#0]+|[^@#0]/gi,"");t.minimumSignificantDigits=Math.min(Math.max(i.replace(/[^@0]/g,"").length,1),21),t.maximumSignificantDigits=Math.min(Math.max(i.length,1),21)}else{for(var a=e.replace(/[^#0.]/g,"").split("."),o=a[0],s=o.length-1;"0"===o[s];)--s;t.minimumIntegerDigits=Math.min(Math.max(o.length-1-s,1),21);var c=a[1]||"";for(s=0;"0"===c[s];)++s;for(t.minimumFractionDigits=Math.min(Math.max(s,0),20);"#"===c[s];)++s;t.maximumFractionDigits=Math.min(Math.max(s,0),20)}return t}},parseDatePattern:function(e){if(e){for(var t={},a=0;a<e.length;){for(var o=e[a],s=1;e[++a]===o;)++s;switch(o){case"G":t.era=5===s?"narrow":4===s?n:r;break;case"y":case"Y":t.year=2===s?"2-digit":i;break;case"M":case"L":s=Math.min(Math.max(s-1,0),4),t.month=[i,"2-digit",r,n,"narrow"][s];break;case"E":case"e":case"c":t.weekday=5===s?"narrow":4===s?n:r;break;case"d":case"D":t.day=2===s?"2-digit":i;break;case"h":case"K":t.hour12=!0,t.hour=2===s?"2-digit":i;break;case"H":case"k":t.hour12=!1,t.hour=2===s?"2-digit":i;break;case"m":t.minute=2===s?"2-digit":i;break;case"s":case"S":t.second=2===s?"2-digit":i;break;case"z":case"Z":case"v":case"V":t.timeZoneName=1===s?r:n}}return Object.keys(t).length?t:void 0}}}},function(e,t){e.exports=function(e,t){if("string"==typeof e&&t[e])return e;for(var n=[].concat(e||[]),r=0,i=n.length;r<i;++r)for(var a=n[r].split("-");a.length;){var o=a.join("-");if(t[o])return o;a.pop()}}},function(e,t,n){"use strict";var r="one",i="two",a="few",o="many",s="other",c=[function(e){return 1===+e?r:s},function(e){var t=+e;return 0<=t&&t<=1?r:s},function(e){return 0===Math.floor(Math.abs(+e))||1===+e?r:s},function(e){var t=+e;return 0===t?"zero":1===t?r:2===t?i:3<=t%100&&t%100<=10?a:11<=t%100&&t%100<=99?o:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 1===t&&0===n?r:s},function(e){var t=+e;return t%10==1&&t%100!=11?r:2<=t%10&&t%10<=4&&(t%100<12||14<t%100)?a:t%10==0||5<=t%10&&t%10<=9||11<=t%100&&t%100<=14?o:s},function(e){var t=+e;return t%10==1&&t%100!=11&&t%100!=71&&t%100!=91?r:t%10==2&&t%100!=12&&t%100!=72&&t%100!=92?i:(3<=t%10&&t%10<=4||t%10==9)&&(t%100<10||19<t%100)&&(t%100<70||79<t%100)&&(t%100<90||99<t%100)?a:0!==t&&t%1e6==0?o:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,i=+(e+".").split(".")[1];return 0===n&&t%10==1&&t%100!=11||i%10==1&&i%100!=11?r:0===n&&2<=t%10&&t%10<=4&&(t%100<12||14<t%100)||2<=i%10&&i%10<=4&&(i%100<12||14<i%100)?a:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 1===t&&0===n?r:2<=t&&t<=4&&0===n?a:0!==n?o:s},function(e){var t=+e;return 0===t?"zero":1===t?r:2===t?i:3===t?a:6===t?o:s},function(e){var t=Math.floor(Math.abs(+e)),n=+(""+e).replace(/^[^.]*.?|0+$/g,"");return 1===+e||0!==n&&(0===t||1===t)?r:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,o=+(e+".").split(".")[1];return 0===n&&t%100==1||o%100==1?r:0===n&&t%100==2||o%100==2?i:0===n&&3<=t%100&&t%100<=4||3<=o%100&&o%100<=4?a:s},function(e){var t=Math.floor(Math.abs(+e));return 0===t||1===t?r:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,i=+(e+".").split(".")[1];return 0===n&&(1===t||2===t||3===t)||0===n&&t%10!=4&&t%10!=6&&t%10!=9||0!==n&&i%10!=4&&i%10!=6&&i%10!=9?r:s},function(e){var t=+e;return 1===t?r:2===t?i:3<=t&&t<=6?a:7<=t&&t<=10?o:s},function(e){var t=+e;return 1===t||11===t?r:2===t||12===t?i:3<=t&&t<=10||13<=t&&t<=19?a:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 0===n&&t%10==1?r:0===n&&t%10==2?i:0!==n||t%100!=0&&t%100!=20&&t%100!=40&&t%100!=60&&t%100!=80?0!==n?o:s:a},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,a=+e;return 1===t&&0===n?r:2===t&&0===n?i:0===n&&(a<0||10<a)&&a%10==0?o:s},function(e){var t=Math.floor(Math.abs(+e)),n=+(""+e).replace(/^[^.]*.?|0+$/g,"");return 0===n&&t%10==1&&t%100!=11||0!==n?r:s},function(e){var t=+e;return 1===t?r:2===t?i:s},function(e){var t=+e;return 0===t?"zero":1===t?r:s},function(e){var t=Math.floor(Math.abs(+e)),n=+e;return 0===n?"zero":0!==t&&1!==t||0===n?s:r},function(e){var t=+(e+".").split(".")[1],n=+e;return n%10==1&&(n%100<11||19<n%100)?r:2<=n%10&&n%10<=9&&(n%100<11||19<n%100)?a:0!==t?o:s},function(e){var t=(e+".").split(".")[1].length,n=+(e+".").split(".")[1],i=+e;return i%10==0||11<=i%100&&i%100<=19||2===t&&11<=n%100&&n%100<=19?"zero":i%10==1&&i%100!=11||2===t&&n%10==1&&n%100!=11||2!==t&&n%10==1?r:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,i=+(e+".").split(".")[1];return 0===n&&t%10==1&&t%100!=11||i%10==1&&i%100!=11?r:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,i=+e;return 1===t&&0===n?r:0!==n||0===i||1!==i&&1<=i%100&&i%100<=19?a:s},function(e){var t=+e;return 1===t?r:0===t||2<=t%100&&t%100<=10?a:11<=t%100&&t%100<=19?o:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 1===t&&0===n?r:0===n&&2<=t%10&&t%10<=4&&(t%100<12||14<t%100)?a:0===n&&1!==t&&0<=t%10&&t%10<=1||0===n&&5<=t%10&&t%10<=9||0===n&&12<=t%100&&t%100<=14?o:s},function(e){var t=Math.floor(Math.abs(+e));return 0<=t&&t<=1?r:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 0===n&&t%10==1&&t%100!=11?r:0===n&&2<=t%10&&t%10<=4&&(t%100<12||14<t%100)?a:0===n&&t%10==0||0===n&&5<=t%10&&t%10<=9||0===n&&11<=t%100&&t%100<=14?o:s},function(e){var t=+e;return 0===Math.floor(Math.abs(+e))||1===t?r:2<=t&&t<=10?a:s},function(e){var t=Math.floor(Math.abs(+e)),n=+(e+".").split(".")[1],i=+e;return 0===i||1===i||0===t&&1===n?r:s},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 0===n&&t%100==1?r:0===n&&t%100==2?i:0===n&&3<=t%100&&t%100<=4||0!==n?a:s},function(e){var t=+e;return 0<=t&&t<=1||11<=t&&t<=99?r:s},function(e){var t=+e;return 1===t||5===t||7===t||8===t||9===t||10===t?r:2===t||3===t?i:4===t?a:6===t?o:s},function(e){var t=Math.floor(Math.abs(+e));return t%10==1||t%10==2||t%10==5||t%10==7||t%10==8||t%100==20||t%100==50||t%100==70||t%100==80?r:t%10==3||t%10==4||t%1e3==100||t%1e3==200||t%1e3==300||t%1e3==400||t%1e3==500||t%1e3==600||t%1e3==700||t%1e3==800||t%1e3==900?a:0===t||t%10==6||t%100==40||t%100==60||t%100==90?o:s},function(e){var t=+e;return t%10!=2&&t%10!=3||t%100==12||t%100==13?s:a},function(e){var t=+e;return 1===t||3===t?r:2===t?i:4===t?a:s},function(e){var t=+e;return 0===t||7===t||8===t||9===t?"zero":1===t?r:2===t?i:3===t||4===t?a:5===t||6===t?o:s},function(e){var t=+e;return t%10==1&&t%100!=11?r:t%10==2&&t%100!=12?i:t%10==3&&t%100!=13?a:s},function(e){var t=+e;return 1===t||11===t?r:2===t||12===t?i:3===t||13===t?a:s},function(e){var t=+e;return 1===t?r:2===t||3===t?i:4===t?a:6===t?o:s},function(e){var t=+e;return 1===t||5===t?r:s},function(e){var t=+e;return 11===t||8===t||80===t||800===t?o:s},function(e){var t=Math.floor(Math.abs(+e));return 1===t?r:0===t||2<=t%100&&t%100<=20||t%100==40||t%100==60||t%100==80?o:s},function(e){var t=+e;return t%10==6||t%10==9||t%10==0&&0!==t?o:s},function(e){var t=Math.floor(Math.abs(+e));return t%10==1&&t%100!=11?r:t%10==2&&t%100!=12?i:t%10!=7&&t%10!=8||t%100==17||t%100==18?s:o},function(e){var t=+e;return 1===t?r:2===t||3===t?i:4===t?a:s},function(e){var t=+e;return 1<=t&&t<=4?r:s},function(e){var t=+e;return 1===t||5===t||7<=t&&t<=9?r:2===t||3===t?i:4===t?a:6===t?o:s},function(e){var t=+e;return 1===t?r:t%10==4&&t%100!=14?o:s},function(e){var t=+e;return t%10!=1&&t%10!=2||t%100==11||t%100==12?s:r},function(e){var t=+e;return t%10==6||t%10==9||10===t?a:s},function(e){var t=+e;return t%10==3&&t%100!=13?a:s}];e.exports={af:{cardinal:c[0]},ak:{cardinal:c[1]},am:{cardinal:c[2]},ar:{cardinal:c[3]},ars:{cardinal:c[3]},as:{cardinal:c[2],ordinal:c[34]},asa:{cardinal:c[0]},ast:{cardinal:c[4]},az:{cardinal:c[0],ordinal:c[35]},be:{cardinal:c[5],ordinal:c[36]},bem:{cardinal:c[0]},bez:{cardinal:c[0]},bg:{cardinal:c[0]},bh:{cardinal:c[1]},bn:{cardinal:c[2],ordinal:c[34]},br:{cardinal:c[6]},brx:{cardinal:c[0]},bs:{cardinal:c[7]},ca:{cardinal:c[4],ordinal:c[37]},ce:{cardinal:c[0]},cgg:{cardinal:c[0]},chr:{cardinal:c[0]},ckb:{cardinal:c[0]},cs:{cardinal:c[8]},cy:{cardinal:c[9],ordinal:c[38]},da:{cardinal:c[10]},de:{cardinal:c[4]},dsb:{cardinal:c[11]},dv:{cardinal:c[0]},ee:{cardinal:c[0]},el:{cardinal:c[0]},en:{cardinal:c[4],ordinal:c[39]},eo:{cardinal:c[0]},es:{cardinal:c[0]},et:{cardinal:c[4]},eu:{cardinal:c[0]},fa:{cardinal:c[2]},ff:{cardinal:c[12]},fi:{cardinal:c[4]},fil:{cardinal:c[13],ordinal:c[0]},fo:{cardinal:c[0]},fr:{cardinal:c[12],ordinal:c[0]},fur:{cardinal:c[0]},fy:{cardinal:c[4]},ga:{cardinal:c[14],ordinal:c[0]},gd:{cardinal:c[15],ordinal:c[40]},gl:{cardinal:c[4]},gsw:{cardinal:c[0]},gu:{cardinal:c[2],ordinal:c[41]},guw:{cardinal:c[1]},gv:{cardinal:c[16]},ha:{cardinal:c[0]},haw:{cardinal:c[0]},he:{cardinal:c[17]},hi:{cardinal:c[2],ordinal:c[41]},hr:{cardinal:c[7]},hsb:{cardinal:c[11]},hu:{cardinal:c[0],ordinal:c[42]},hy:{cardinal:c[12],ordinal:c[0]},ia:{cardinal:c[4]},io:{cardinal:c[4]},is:{cardinal:c[18]},it:{cardinal:c[4],ordinal:c[43]},iu:{cardinal:c[19]},iw:{cardinal:c[17]},jgo:{cardinal:c[0]},ji:{cardinal:c[4]},jmc:{cardinal:c[0]},ka:{cardinal:c[0],ordinal:c[44]},kab:{cardinal:c[12]},kaj:{cardinal:c[0]},kcg:{cardinal:c[0]},kk:{cardinal:c[0],ordinal:c[45]},kkj:{cardinal:c[0]},kl:{cardinal:c[0]},kn:{cardinal:c[2]},ks:{cardinal:c[0]},ksb:{cardinal:c[0]},ksh:{cardinal:c[20]},ku:{cardinal:c[0]},kw:{cardinal:c[19]},ky:{cardinal:c[0]},lag:{cardinal:c[21]},lb:{cardinal:c[0]},lg:{cardinal:c[0]},ln:{cardinal:c[1]},lt:{cardinal:c[22]},lv:{cardinal:c[23]},mas:{cardinal:c[0]},mg:{cardinal:c[1]},mgo:{cardinal:c[0]},mk:{cardinal:c[24],ordinal:c[46]},ml:{cardinal:c[0]},mn:{cardinal:c[0]},mo:{cardinal:c[25],ordinal:c[0]},mr:{cardinal:c[2],ordinal:c[47]},mt:{cardinal:c[26]},nah:{cardinal:c[0]},naq:{cardinal:c[19]},nb:{cardinal:c[0]},nd:{cardinal:c[0]},ne:{cardinal:c[0],ordinal:c[48]},nl:{cardinal:c[4]},nn:{cardinal:c[0]},nnh:{cardinal:c[0]},no:{cardinal:c[0]},nr:{cardinal:c[0]},nso:{cardinal:c[1]},ny:{cardinal:c[0]},nyn:{cardinal:c[0]},om:{cardinal:c[0]},or:{cardinal:c[0],ordinal:c[49]},os:{cardinal:c[0]},pa:{cardinal:c[1]},pap:{cardinal:c[0]},pl:{cardinal:c[27]},prg:{cardinal:c[23]},ps:{cardinal:c[0]},pt:{cardinal:c[28]},"pt-PT":{cardinal:c[4]},rm:{cardinal:c[0]},ro:{cardinal:c[25],ordinal:c[0]},rof:{cardinal:c[0]},ru:{cardinal:c[29]},rwk:{cardinal:c[0]},saq:{cardinal:c[0]},sc:{cardinal:c[4],ordinal:c[43]},scn:{cardinal:c[4],ordinal:c[43]},sd:{cardinal:c[0]},sdh:{cardinal:c[0]},se:{cardinal:c[19]},seh:{cardinal:c[0]},sh:{cardinal:c[7]},shi:{cardinal:c[30]},si:{cardinal:c[31]},sk:{cardinal:c[8]},sl:{cardinal:c[32]},sma:{cardinal:c[19]},smi:{cardinal:c[19]},smj:{cardinal:c[19]},smn:{cardinal:c[19]},sms:{cardinal:c[19]},sn:{cardinal:c[0]},so:{cardinal:c[0]},sq:{cardinal:c[0],ordinal:c[50]},sr:{cardinal:c[7]},ss:{cardinal:c[0]},ssy:{cardinal:c[0]},st:{cardinal:c[0]},sv:{cardinal:c[4],ordinal:c[51]},sw:{cardinal:c[4]},syr:{cardinal:c[0]},ta:{cardinal:c[0]},te:{cardinal:c[0]},teo:{cardinal:c[0]},ti:{cardinal:c[1]},tig:{cardinal:c[0]},tk:{cardinal:c[0],ordinal:c[52]},tl:{cardinal:c[13],ordinal:c[0]},tn:{cardinal:c[0]},tr:{cardinal:c[0]},ts:{cardinal:c[0]},tzm:{cardinal:c[33]},ug:{cardinal:c[0]},uk:{cardinal:c[29],ordinal:c[53]},ur:{cardinal:c[4]},uz:{cardinal:c[0]},ve:{cardinal:c[0]},vo:{cardinal:c[0]},vun:{cardinal:c[0]},wa:{cardinal:c[1]},wae:{cardinal:c[0]},xh:{cardinal:c[0]},xog:{cardinal:c[0]},yi:{cardinal:c[4]},zu:{cardinal:c[2]},lo:{ordinal:c[0]},ms:{ordinal:c[0]},vi:{ordinal:c[0]}}},function(e,t,n){(function(e){const t=n(12),r=n(16),i=n(1),{isWorker:a}=n(6),o=n(28)(null);e.Scratch=e.Scratch||{},Object.assign(e.Scratch,t,{canFetch:()=>Promise.resolve(!0),fetch:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((e,t)=>fetch(e,t)),canOpenWindow:()=>Promise.resolve(!1),openWindow:()=>Promise.reject(new Error("Scratch.openWindow not supported in sandboxed extensions")),canRedirect:()=>Promise.resolve(!1),redirect:()=>Promise.reject(new Error("Scratch.redirect not supported in sandboxed extensions")),canRecordAudio:()=>Promise.resolve(!1),canRecordVideo:()=>Promise.resolve(!1),canReadClipboard:()=>Promise.resolve(!1),canNotify:()=>Promise.resolve(!1),canGeolocate:()=>Promise.resolve(!1),translate:o});const s=new class{constructor(){this.nextExtensionId=0,this.initialRegistrations=[],this.firstRegistrationPromise=new Promise(e=>{this.firstRegistrationCallback=e}),r.waitForConnection.then(()=>{r.call("extensions","allocateWorker").then(async e=>{const[t,n]=e;this.workerId=t;try{await(e=>{if(!a)return new Promise((t,n)=>{const r=document.createElement("script");r.onload=()=>t(),r.onerror=()=>{n(new Error("Error in sandboxed script: ".concat(e,". Check the console for more information.")))},r.src=e,document.body.appendChild(r)});importScripts(e)})(n),await this.firstRegistrationPromise;const e=this.initialRegistrations;this.initialRegistrations=null,Promise.all(e).then(()=>r.call("extensions","onWorkerInit",t))}catch(e){i.error(e),r.call("extensions","onWorkerInit",t,"".concat(e))}})}),this.extensions=[]}register(e){const t=this.nextExtensionId++;this.extensions.push(e);const n="extension.".concat(this.workerId,".").concat(t),i=r.setService(n,e).then(()=>r.call("extensions","registerExtensionService",n));return this.initialRegistrations&&(this.firstRegistrationCallback(),this.initialRegistrations.push(i)),i}};e.Scratch.extensions={register:s.register.bind(s)},e.ScratchExtensions=n(32)}).call(this,n(11))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){const r={ArgumentType:n(2),BlockType:n(3),TargetType:n(13),Cast:n(14),Clone:n(15),Color:n(4)};e.exports=r},function(e,t){e.exports={SPRITE:"sprite",STAGE:"stage"}},function(e,t,n){const r=n(4),i=e=>{if("string"!=typeof e)return!1;for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(48===n||9===n)return!1}return!0};class a{static toNumber(e){if("number"==typeof e)return Number.isNaN(e)?0:e;const t=Number(e);return Number.isNaN(t)?0:t}static toBoolean(e){return"boolean"==typeof e?e:"string"==typeof e?""!==e&&"0"!==e&&"false"!==e.toLowerCase():Boolean(e)}static toString(e){return String(e)}static toRgbColorList(e){const t=a.toRgbColorObject(e);return[t.r,t.g,t.b]}static toRgbColorObject(e){let t;return"string"==typeof e&&"#"===e.substring(0,1)?(t=r.hexToRgb(e),t||(t={r:0,g:0,b:0,a:255})):t=r.decimalToRgb(a.toNumber(e)),t}static isWhiteSpace(e){return null===e||"string"==typeof e&&0===e.trim().length}static compare(e,t){let n=Number(e),r=Number(t);if(0===n&&i(e)?n=NaN:0===r&&i(t)&&(r=NaN),isNaN(n)||isNaN(r)){const n=String(e).toLowerCase(),r=String(t).toLowerCase();return n<r?-1:n>r?1:0}return n===1/0&&r===1/0||n===-1/0&&r===-1/0?0:n-r}static isInt(e){return"number"==typeof e?!!isNaN(e)||e===Math.floor(e):"boolean"==typeof e||"string"==typeof e&&e.indexOf(".")<0}static get LIST_INVALID(){return"INVALID"}static get LIST_ALL(){return"ALL"}static toListIndex(e,t,n){if("number"!=typeof e){if("all"===e)return n?a.LIST_ALL:a.LIST_INVALID;if("last"===e)return t>0?t:a.LIST_INVALID;if("random"===e||"any"===e)return t>0?1+Math.floor(Math.random()*t):a.LIST_INVALID}return(e=Math.floor(a.toNumber(e)))<1||e>t?a.LIST_INVALID:e}}e.exports=a},function(e,t){e.exports=class{static simple(e){return JSON.parse(JSON.stringify(e))}}},function(e,t,n){const r=n(17),i=n(1),{centralDispatchService:a}=n(6);e.exports=new class extends r{constructor(){super(),this._connectionPromise=new Promise(e=>{this._onConnect=e}),this.services={},this._onMessage=this._onMessage.bind(this,a),"undefined"!=typeof self&&(self.onmessage=this._onMessage)}get waitForConnection(){return this._connectionPromise}setService(e,t){return this.services.hasOwnProperty(e)&&i.warn("Worker dispatch replacing existing service provider for ".concat(e)),this.services[e]=t,this.waitForConnection.then(()=>this._remoteCall(a,"dispatch","setService",e))}_getServiceProvider(e){const t=this.services[e];return{provider:t||a,isRemote:!t}}_onDispatchMessage(e,t){let n;switch(t.method){case"handshake":n=this._onConnect();break;case"terminate":setTimeout(()=>self.close(),0),n=Promise.resolve();break;default:i.error("Worker dispatch received message for unknown method: ".concat(t.method))}return n}}},function(e,t,n){const r=n(1);e.exports=class{constructor(){this.callbacks=[],this.nextResponseId=0}call(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return this.transferCall(e,t,null,...r)}transferCall(e,t,n){try{const{provider:o,isRemote:s}=this._getServiceProvider(e);if(o){for(var r=arguments.length,i=new Array(r>3?r-3:0),a=3;a<r;a++)i[a-3]=arguments[a];if(s)return this._remoteTransferCall(o,e,t,n,...i);const c=o[t].apply(o,i);return Promise.resolve(c)}return Promise.reject(new Error("Service not found: ".concat(e)))}catch(e){return Promise.reject(e)}}_isRemoteService(e){return this._getServiceProvider(e).isRemote}_remoteCall(e,t,n){for(var r=arguments.length,i=new Array(r>3?r-3:0),a=3;a<r;a++)i[a-3]=arguments[a];return this._remoteTransferCall(e,t,n,null,...i)}_remoteTransferCall(e,t,n,r){for(var i=arguments.length,a=new Array(i>4?i-4:0),o=4;o<i;o++)a[o-4]=arguments[o];return new Promise((i,o)=>{const s=this._storeCallbacks(i,o);a.length>0&&"function"==typeof a[a.length-1].func&&(a.pop(),a.pop()),r?e.postMessage({service:t,method:n,responseId:s,args:a},r):e.postMessage({service:t,method:n,responseId:s,args:a})})}_storeCallbacks(e,t){const n=this.nextResponseId++;return this.callbacks[n]=[e,t],n}_deliverResponse(e,t){try{const[n,r]=this.callbacks[e];delete this.callbacks[e],t.error?r(t.error):n(t.result)}catch(e){r.error("Dispatch callback failed: ".concat(e))}}_onMessage(e,t){const n=t.data;let i;n.args=n.args||[],n.service?i="dispatch"===n.service?this._onDispatchMessage(e,n):this.call(n.service,n.method,...n.args):void 0===n.responseId?r.error("Dispatch caught malformed message from a worker: ".concat(JSON.stringify(t))):this._deliverResponse(n.responseId,n),i&&(void 0===n.responseId?r.error("Dispatch message missing required response ID: ".concat(JSON.stringify(t))):i.then(t=>e.postMessage({responseId:n.responseId,result:t}),t=>e.postMessage({responseId:n.responseId,error:"".concat(t)})))}_getServiceProvider(e){throw new Error("Could not get provider for ".concat(e,": _getServiceProvider not implemented"))}_onDispatchMessage(e,t){throw new Error("Unimplemented dispatch message handler cannot handle ".concat(t.method," method"))}}},function(e,t,n){var r=n(19),i=r.enable,a=r.disable,o="undefined"!=typeof navigator&&/chrome/i.test(navigator.userAgent),s=n(22);if(r.defaultBackend=o?s.minilog:s,"undefined"!=typeof window){try{r.enable(JSON.parse(window.localStorage.minilogSettings))}catch(e){}if(window.location&&window.location.search){var c=RegExp("[?&]minilog=([^&]*)").exec(window.location.search);c&&r.enable(decodeURIComponent(c[1]))}}r.enable=function(){i.call(r,!0);try{window.localStorage.minilogSettings=JSON.stringify(!0)}catch(e){}return this},r.disable=function(){a.call(r);try{delete window.localStorage.minilogSettings}catch(e){}return this},(e.exports=r).backends={array:n(25),browser:r.defaultBackend,localStorage:n(26),jQuery:n(27)}},function(e,t,n){var r=n(0),i=n(21),a=new r,o=Array.prototype.slice;(t=e.exports=function(e){var n=function(){return a.write(e,void 0,o.call(arguments)),n};return n.debug=function(){return a.write(e,"debug",o.call(arguments)),n},n.info=function(){return a.write(e,"info",o.call(arguments)),n},n.warn=function(){return a.write(e,"warn",o.call(arguments)),n},n.error=function(){return a.write(e,"error",o.call(arguments)),n},n.log=n.debug,n.suggest=t.suggest,n.format=a.format,n}).defaultBackend=t.defaultFormatter=null,t.pipe=function(e){return a.pipe(e)},t.end=t.unpipe=t.disable=function(e){return a.unpipe(e)},t.Transform=r,t.Filter=i,t.suggest=new i,t.enable=function(){return t.defaultFormatter?a.pipe(t.suggest).pipe(t.defaultFormatter).pipe(t.defaultBackend):a.pipe(t.suggest).pipe(t.defaultBackend)}},function(e,t){function n(){this._events={}}n.prototype={on:function(e,t){this._events||(this._events={});var n=this._events;return(n[e]||(n[e]=[])).push(t),this},removeListener:function(e,t){var n,r=this._events[e]||[];for(n=r.length-1;n>=0&&r[n];n--)r[n]!==t&&r[n].cb!==t||r.splice(n,1)},removeAllListeners:function(e){e?this._events[e]&&(this._events[e]=[]):this._events={}},listeners:function(e){return this._events&&this._events[e]||[]},emit:function(e){this._events||(this._events={});var t,n=Array.prototype.slice.call(arguments,1),r=this._events[e]||[];for(t=r.length-1;t>=0&&r[t];t--)r[t].apply(this,n);return this},when:function(e,t){return this.once(e,t,!0)},once:function(e,t,n){if(!t)return this;function r(){n||this.removeListener(e,r),t.apply(this,arguments)&&n&&this.removeListener(e,r)}return r.cb=t,this.on(e,r),this}},n.mixin=function(e){var t,r=n.prototype;for(t in r)r.hasOwnProperty(t)&&(e.prototype[t]=r[t])},e.exports=n},function(e,t,n){var r=n(0),i={debug:1,info:2,warn:3,error:4};function a(){this.enabled=!0,this.defaultResult=!0,this.clear()}function o(e,t){return e.n.test?e.n.test(t):e.n==t}r.mixin(a),a.prototype.allow=function(e,t){return this._white.push({n:e,l:i[t]}),this},a.prototype.deny=function(e,t){return this._black.push({n:e,l:i[t]}),this},a.prototype.clear=function(){return this._white=[],this._black=[],this},a.prototype.test=function(e,t){var n,r=Math.max(this._white.length,this._black.length);for(n=0;n<r;n++){if(this._white[n]&&o(this._white[n],e)&&i[t]>=this._white[n].l)return!0;if(this._black[n]&&o(this._black[n],e)&&i[t]<=this._black[n].l)return!1}return this.defaultResult},a.prototype.write=function(e,t,n){if(!this.enabled||this.test(e,t))return this.emit("item",e,t,n)},e.exports=a},function(e,t,n){var r=n(0),i=/\\n+$/,a=new r;a.write=function(e,t,n){var r=n.length-1;if("undefined"!=typeof console&&console.log){if(console.log.apply)return console.log.apply(console,[e,t].concat(n));if(JSON&&JSON.stringify){n[r]&&"string"==typeof n[r]&&(n[r]=n[r].replace(i,""));try{for(r=0;r<n.length;r++)n[r]=JSON.stringify(n[r])}catch(e){}console.log(n.join(" "))}}},a.formatters=["color","minilog"],a.color=n(23),a.minilog=n(24),e.exports=a},function(e,t,n){var r=n(0),i=n(5),a={debug:["cyan"],info:["purple"],warn:["yellow",!0],error:["red",!0]},o=new r;o.write=function(e,t,n){console.log;console[t]&&console[t].apply&&console[t].apply(console,["%c"+e+" %c"+t,i("gray"),i.apply(i,a[t])].concat(n))},o.pipe=function(){},e.exports=o},function(e,t,n){var r=n(0),i=n(5),a={debug:["gray"],info:["purple"],warn:["yellow",!0],error:["red",!0]},o=new r;o.write=function(e,t,n){var r=console.log;"debug"!=t&&console[t]&&(r=console[t]);var o=0;if("info"!=t){for(;o<n.length&&"string"==typeof n[o];o++);r.apply(console,["%c"+e+" "+n.slice(0,o).join(" "),i.apply(i,a[t])].concat(n.slice(o)))}else r.apply(console,["%c"+e,i.apply(i,a[t])].concat(n))},o.pipe=function(){},e.exports=o},function(e,t,n){var r=n(0),i=[],a=new r;a.write=function(e,t,n){i.push([e,t,n])},a.get=function(){return i},a.empty=function(){i=[]},e.exports=a},function(e,t,n){var r=n(0),i=!1,a=new r;a.write=function(e,t,n){if("undefined"!=typeof window&&"undefined"!=typeof JSON&&JSON.stringify&&JSON.parse)try{i||(i=window.localStorage.minilog?JSON.parse(window.localStorage.minilog):[]),i.push([(new Date).toString(),e,t,n]),window.localStorage.minilog=JSON.stringify(i)}catch(e){}},e.exports=a},function(e,t,n){var r=n(0),i=(new Date).valueOf().toString(36);function a(e){this.url=e.url||"",this.cache=[],this.timer=null,this.interval=e.interval||3e4,this.enabled=!0,this.jQuery=window.jQuery,this.extras={}}r.mixin(a),a.prototype.write=function(e,t,n){this.timer||this.init(),this.cache.push([e,t].concat(n))},a.prototype.init=function(){if(this.enabled&&this.jQuery){var e=this;this.timer=setTimeout((function(){var t,n,r=[],a=e.url;if(0==e.cache.length)return e.init();for(t=0;t<e.cache.length;t++)try{JSON.stringify(e.cache[t]),r.push(e.cache[t])}catch(e){}e.jQuery.isEmptyObject(e.extras)?(n=JSON.stringify({logs:r}),a=e.url+"?client_id="+i):n=JSON.stringify(e.jQuery.extend({logs:r},e.extras)),e.jQuery.ajax(a,{type:"POST",cache:!1,processData:!1,data:n,contentType:"application/json",timeout:1e4}).success((function(t,n,r){t.interval&&(e.interval=Math.max(1e3,t.interval))})).error((function(){e.interval=3e4})).always((function(){e.init()})),e.cache=[]}),this.interval)}},a.prototype.end=function(){},a.jQueryWait=function(e){if("undefined"!=typeof window&&(window.jQuery||window.$))return e(window.jQuery||window.$);"undefined"!=typeof window&&setTimeout((function(){a.jQueryWait(e)}),200)},e.exports=a},function(e,t,n){const r=n(29);e.exports=e=>{const t=r.namespace(),n=(e,n)=>{if(e&&"object"==typeof e);else{if("string"!=typeof e)throw new Error("unsupported data type in translate()");e={default:e}}return t(e,n)},i=e=>"_".concat(e);let a={};return n.setup=n=>{n&&(a=n),t.setup({locale:e?e.getLocale():"undefined"!=typeof navigator?navigator.language:"en",missingTranslation:"ignore",generateId:i,translations:a})},n.setup({}),e&&e.on("LOCALE_CHANGED",()=>{n.setup(null)}),n}},function(e,t,n){"use strict";var r=n(30),i=n(31),a=n(9),o=n(8),s=n(7);function c(e,t){return Object.keys(t).forEach((function(n){e[n]=t[n]})),e}e.exports=function e(){var t=c({},s),n="en",l={},u=function(e){return e},d=null,f="warning",h={};function p(e,t,a){var o="string"==typeof e?e:e.default,s=v(o,"object"==typeof e&&e.id||u(o),a||n);return(s.format||(s.format=i(r(s.message),a||n,h)))(t)}p.rich=function(e,t,a){var o="string"==typeof e?e:e.default,s=v(o,"object"==typeof e&&e.id||u(o),a||n);return(s.toParts||(s.toParts=i.toParts(r(s.message,{tagsType:g}),a||n,h)))(t)};var g="<>";function m(e,t){var n=e[2];return function(e,t){var r="object"==typeof n?function(e,t){return Object.keys(e).reduce((function(n,r){return n[r]=e[r](t),n}),{})}(n,t):n;return"function"==typeof e?e(r):e}}function v(e,t,n){var r=o(n,l)||"en",i=l[r]||(l[r]={}),a=i[t];if("string"==typeof a&&(a=i[t]={message:a}),!a){var s=\'Translation for "\'+t+\'" in "\'+r+\'" is missing\';if("warning"===f)"undefined"!=typeof console&&console.warn(s);else if("ignore"!==f)throw new Error(s);var c="function"==typeof d?d(e,t,r)||e:d||e;a=i[t]={message:c}}return a}function y(e,t,r,i,s){"object"==typeof r&&"object"!=typeof i&&(s=i,i=r,r=0);var c=o(s||n,a),l=c&&a[c][e]||b;return i["="+ +t]||i[l(t-r)]||i.other}function b(){return"other"}return h[g]=m,p.setup=function(e){return(e=e||{}).locale&&(n=e.locale),"translations"in e&&(l=e.translations||{}),e.generateId&&(u=e.generateId),"missingReplacement"in e&&(d=e.missingReplacement),e.missingTranslation&&(f=e.missingTranslation),e.formats&&(e.formats.number&&c(t.number,e.formats.number),e.formats.date&&c(t.date,e.formats.date),e.formats.time&&c(t.time,e.formats.time)),e.types&&((h=e.types)[g]=m),{locale:n,translations:l,generateId:u,missingReplacement:d,missingTranslation:f,formats:t,types:h}},p.number=function(e,r,i){var a=r&&t.number[r]||t.parseNumberPattern(r)||t.number.default;return new Intl.NumberFormat(i||n,a).format(e)},p.date=function(e,r,i){var a=r&&t.date[r]||t.parseDatePattern(r)||t.date.default;return new Intl.DateTimeFormat(i||n,a).format(e)},p.time=function(e,r,i){var a=r&&t.time[r]||t.parseDatePattern(r)||t.time.default;return new Intl.DateTimeFormat(i||n,a).format(e)},p.select=function(e,t){return t[e]||t.other},p.custom=function(e,t,n,r){return e[1]in h?h[e[1]](e,t)(n,r):n},p.plural=y.bind(null,"cardinal"),p.selectordinal=y.bind(null,"ordinal"),p.namespace=e,p}()},function(e,t,n){"use strict";var r=["number","date","time","ordinal","duration","spellout"],i=["plural","select","selectordinal"];function a(e,t){var n=e.pattern,r=n.length,i=[],a=e.index,s=o(e,t);for(s&&i.push(s),s&&e.tokens&&e.tokens.push(["text",n.slice(a,e.index)]);e.index<r;){if("}"===n[e.index]){if(!t)throw p(e);break}if(t&&e.tagsType&&"</"===n.slice(e.index,e.index+"</".length))break;i.push(l(e)),a=e.index,(s=o(e,t))&&i.push(s),s&&e.tokens&&e.tokens.push(["text",n.slice(a,e.index)])}return i}function o(e,t){for(var n=e.pattern,r=n.length,i="plural"===t||"selectordinal"===t,a=!!e.tagsType,o="{style}"===t,c="";e.index<r;){var l=n[e.index];if("{"===l||"}"===l||i&&"#"===l||a&&"<"===l||o&&s(l.charCodeAt(0)))break;if("\'"===l)if("\'"===(l=n[++e.index]))c+=l,++e.index;else if("{"===l||"}"===l||i&&"#"===l||a&&"<"===l||o)for(c+=l;++e.index<r;)if("\'"===(l=n[e.index])&&"\'"===n[e.index+1])c+="\'",++e.index;else{if("\'"===l){++e.index;break}c+=l}else c+="\'";else c+=l,++e.index}return c}function s(e){return e>=9&&e<=13||32===e||133===e||160===e||6158===e||e>=8192&&e<=8205||8232===e||8233===e||8239===e||8287===e||8288===e||12288===e||65279===e}function c(e){for(var t=e.pattern,n=t.length,r=e.index;e.index<n&&s(t.charCodeAt(e.index));)++e.index;r<e.index&&e.tokens&&e.tokens.push(["space",e.pattern.slice(r,e.index)])}function l(e){var t=e.pattern;if("#"===t[e.index])return e.tokens&&e.tokens.push(["syntax","#"]),++e.index,["#"];var n=function(e){var t=e.tagsType;if(!t||"<"!==e.pattern[e.index])return;if("</"===e.pattern.slice(e.index,e.index+"</".length))throw p(e,null,"closing tag without matching opening tag");e.tokens&&e.tokens.push(["syntax","<"]);++e.index;var n=u(e,!0);if(!n)throw p(e,"placeholder id");e.tokens&&e.tokens.push(["id",n]);if(c(e),"/>"===e.pattern.slice(e.index,e.index+"/>".length))return e.tokens&&e.tokens.push(["syntax","/>"]),e.index+="/>".length,[n,t];if(">"!==e.pattern[e.index])throw p(e,">");e.tokens&&e.tokens.push(["syntax",">"]);++e.index;var r=a(e,t),i=e.index;if("</"!==e.pattern.slice(e.index,e.index+"</".length))throw p(e,"</"+n+">");e.tokens&&e.tokens.push(["syntax","</"]);e.index+="</".length;var o=u(e,!0);o&&e.tokens&&e.tokens.push(["id",o]);if(n!==o)throw e.index=i,p(e,"</"+n+">","</"+o+">");if(c(e),">"!==e.pattern[e.index])throw p(e,">");e.tokens&&e.tokens.push(["syntax",">"]);return++e.index,[n,t,{children:r}]}(e);if(n)return n;if("{"!==t[e.index])throw p(e,"{");e.tokens&&e.tokens.push(["syntax","{"]),++e.index,c(e);var i=u(e);if(!i)throw p(e,"placeholder id");e.tokens&&e.tokens.push(["id",i]),c(e);var o=t[e.index];if("}"===o)return e.tokens&&e.tokens.push(["syntax","}"]),++e.index,[i];if(","!==o)throw p(e,", or }");e.tokens&&e.tokens.push(["syntax",","]),++e.index,c(e);var s,l=u(e);if(!l)throw p(e,"placeholder type");if(e.tokens&&e.tokens.push(["type",l]),c(e),"}"===(o=t[e.index])){if(e.tokens&&e.tokens.push(["syntax","}"]),"plural"===l||"selectordinal"===l||"select"===l)throw p(e,l+" sub-messages");return++e.index,[i,l]}if(","!==o)throw p(e,", or }");if(e.tokens&&e.tokens.push(["syntax",","]),++e.index,c(e),"plural"===l||"selectordinal"===l){var h=function(e){var t=e.pattern,n=t.length,r=0;if("offset:"===t.slice(e.index,e.index+"offset:".length)){e.tokens&&e.tokens.push(["offset","offset"],["syntax",":"]),e.index+="offset:".length,c(e);for(var i=e.index;e.index<n&&((a=t.charCodeAt(e.index))>=48&&a<=57);)++e.index;if(i===e.index)throw p(e,"offset number");e.tokens&&e.tokens.push(["number",t.slice(i,e.index)]),r=+t.slice(i,e.index)}var a;return r}(e);c(e),s=[i,l,h,f(e,l)]}else if("select"===l)s=[i,l,f(e,l)];else if(r.indexOf(l)>=0)s=[i,l,d(e)];else{var g=e.index,m=d(e);c(e),"{"===t[e.index]&&(e.index=g,m=f(e,l)),s=[i,l,m]}if(c(e),"}"!==t[e.index])throw p(e,"}");return e.tokens&&e.tokens.push(["syntax","}"]),++e.index,s}function u(e,t){for(var n=e.pattern,r=n.length,i="";e.index<r;){var a=n[e.index];if("{"===a||"}"===a||","===a||"#"===a||"\'"===a||s(a.charCodeAt(0))||t&&("<"===a||">"===a||"/"===a))break;i+=a,++e.index}return i}function d(e){var t=e.index,n=o(e,"{style}");if(!n)throw p(e,"placeholder style name");return e.tokens&&e.tokens.push(["style",e.pattern.slice(t,e.index)]),n}function f(e,t){for(var n=e.pattern,r=n.length,a={};e.index<r&&"}"!==n[e.index];){var o=u(e);if(!o)throw p(e,"sub-message selector");e.tokens&&e.tokens.push(["selector",o]),c(e),a[o]=h(e,t),c(e)}if(!a.other&&i.indexOf(t)>=0)throw p(e,null,null,\'"other" sub-message must be specified in \'+t);return a}function h(e,t){if("{"!==e.pattern[e.index])throw p(e,"{ to start sub-message");e.tokens&&e.tokens.push(["syntax","{"]),++e.index;var n=a(e,t);if("}"!==e.pattern[e.index])throw p(e,"} to end sub-message");return e.tokens&&e.tokens.push(["syntax","}"]),++e.index,n}function p(e,t,n,r){var i=e.pattern,a=i.slice(0,e.index).split(/\\r?\\n/),o=e.index,s=a.length,c=a.slice(-1)[0].length;return n=n||(e.index>=i.length?"end of message pattern":u(e)||i[e.index]),r||(r=function(e,t){return e?"Expected "+e+" but found "+t:"Unexpected "+t+" found"}(t,n)),new g(r+=" in "+i.replace(/\\r?\\n/g,"\\n"),t,n,o,s,c)}function g(e,t,n,r,i,a){Error.call(this,e),this.name="SyntaxError",this.message=e,this.expected=t,this.found=n,this.offset=r,this.line=i,this.column=a}t=e.exports=function(e,t){return a({pattern:String(e),index:0,tagsType:t&&t.tagsType||null,tokens:t&&t.tokens||null},"")},g.prototype=Object.create(Error.prototype),t.SyntaxError=g},function(e,t,n){"use strict";var r=n(7),i=n(8),a=n(9);function o(e,t,n,r,i){var a=e.map((function(e){return function(e,t,n,r,i){if("string"==typeof e){var a=e;return function(){return a}}var c,l=e[0],u=e[1];if(t&&"#"===e[0]){l=t[0];var d=t[2],h=(r.number||f.number)([l,"number"],n);return function(e){return h(s(l,e)-d,e)}}"plural"===u||"selectordinal"===u?(c={},Object.keys(e[3]).forEach((function(t){c[t]=o(e[3][t],e,n,r,i)})),e=[e[0],e[1],e[2],c]):e[2]&&"object"==typeof e[2]&&(c={},Object.keys(e[2]).forEach((function(t){c[t]=o(e[2][t],e,n,r,i)})),e=[e[0],e[1],c]);var p=u&&(r[u]||f[u]);if(p){var g=p(e,n);return function(e){return g(s(l,e),e)}}return i?function(e){return String(s(l,e))}:function(e){return s(l,e)}}(e,t,n,r,i)}));return i?1===a.length?a[0]:function(e){for(var t="",n=0;n<a.length;++n)t+=a[n](e);return t}:function(e){return a.reduce((function(t,n){return t.concat(n(e))}),[])}}function s(e,t){if(t&&e in t)return t[e];for(var n=e.split("."),r=t,i=0,a=n.length;r&&i<a;++i)r=r[n[i]];return r}function c(e,t){var n=e[2],i=r.number[n]||r.parseNumberPattern(n)||r.number.default;return new Intl.NumberFormat(t,i).format}function l(e,t){var n=e[1],i=e[2],a=r[n][i]||r.parseDatePattern(i)||r[n].default;return new Intl.DateTimeFormat(t,a).format}function u(e,t){var n,r="selectordinal"===e[1]?"ordinal":"cardinal",o=e[2],s=e[3];if(Intl.PluralRules&&Intl.PluralRules.supportedLocalesOf(t).length>0)n=new Intl.PluralRules(t,{type:r});else{var c=i(t,a),l=c&&a[c][r]||d;n={select:l}}return function(e,t){return(s["="+ +e]||s[n.select(e-o)]||s.other)(t)}}function d(){return"other"}(t=e.exports=function(e,t,n){return o(e,null,t||"en",n||{},!0)}).toParts=function(e,t,n){return o(e,null,t||"en",n||{},!1)};var f={number:c,ordinal:c,spellout:c,duration:function(e,t){var n=e[2],i=r.duration[n]||r.duration.default,a=new Intl.NumberFormat(t,i.seconds).format,o=new Intl.NumberFormat(t,i.minutes).format,s=new Intl.NumberFormat(t,i.hours).format,c=/^fi$|^fi-|^da/.test(String(t))?".":":";return function(e,t){if(e=+e,!isFinite(e))return a(e);var n=~~(e/60/60),r=~~(e/60%60),i=(n?s(Math.abs(n))+c:"")+o(Math.abs(r))+c+a(Math.abs(e%60));return e<0?s(-1).replace(s(1),i):i}},date:l,time:l,plural:u,selectordinal:u,select:function(e,t){var n=e[2];return function(e,t){return(n[e]||n.other)(t)}}};t.types=f},function(e,t,n){const r=n(2),i=n(3),{argumentIndexToId:a,generateExtensionId:o}=n(33),s=e=>{if(""===e||" "===e||"w"===e)return{type:i.COMMAND,async:"w"===e};if("r"===e||"R"===e)return{type:i.REPORTER,async:"R"===e};if("b"===e)return{type:i.BOOLEAN,async:!1};if("h"===e)return{type:i.HAT,async:!1};throw new Error("Unknown ScratchX block type: ".concat(e))},c=(e,t)=>{const n={},i="string"==typeof(a=t)||"number"==typeof a||"boolean"==typeof a;var a;if(i&&(n.defaultValue=t),"s"===e)n.type=r.STRING,i||(n.defaultValue="");else if("n"===e)n.type=r.NUMBER,i||(n.defaultValue=0);else{if("m"!==e[0])throw new Error("Unknown ScratchX argument type: ".concat(e));{n.type=r.STRING;const t=e.split(/\\.|:/)[1];n.menu=t}}return n},l=(e,t,n)=>r=>{const i=[];for(let e=0;e<t;e++)i.push(r[a(e)]);return n?new Promise(t=>{e(...i,t)}):e(...i)},u=(e,t,n)=>{const r={id:o(e),name:t.displayName||e,blocks:[],color1:"#4a4a5e",color2:"#31323f",color3:"#191a21"},i={getInfo:()=>r,_getStatus:n._getStatus};t.url&&(r.docsURI=t.url);for(const e of t.blocks){if(1===e.length){r.blocks.push("---");continue}const t=e[0],o=e[1],u=e[2],d=e.slice(3);let f="";const h=[],p=o.split(/%([\\w.:]+)/g);for(let e=0;e<p.length;e++){const t=p[e];if(e%2==1){c(t);const n=Math.floor(e/2).toString(),r=d[n],i=a(n);h[i]=c(t,r),f+="[".concat(i,"]")}else f+=t}const g=s(t),m={opcode:u,blockType:g.type,text:f,arguments:h};r.blocks.push(m);const v=n[u],y=h.length;i[u]=l(v,y,g.async)}const u=t.menus;if(u){const e={};for(const t of Object.keys(u)||{}){const n={items:u[t]};e[t]=n}r.menus=e}return i},d=new Map;e.exports={register:(e,t,n)=>{const r=u(e,t,n);d.set(e,r),Scratch.extensions.register(r)},getStatus:e=>{const t=d.get(e);return t?t._getStatus():{status:0,msg:"does not exist"}},convert:u}},function(e,t){e.exports={generateExtensionId:e=>{const t=e.replace(/[^a-z0-9]/gi,"").toLowerCase();return"sbx".concat(t)},argumentIndexToId:e=>e.toString()}}]);',null)}},function(A,e,t){const n=t(37),i=t(30),r=t(24),s=t(80),o=t(14),{Map:a}=t(44),B=t(8),c=t(16),g=t(121);A.exports=class extends n{constructor(A,e){super(),e||(e=new i(A)),this.runtime=A,this.id=o(),this.blocks=e,this.variables={},this.comments={},this._customState={},this._edgeActivatedHatValues={}}onGreenFlag(){}getName(){return this.id}updateEdgeActivatedValue(A,e){const t=this._edgeActivatedHatValues[A];return this._edgeActivatedHatValues[A]=e,t}hasEdgeActivatedValue(A){return this._edgeActivatedHatValues.hasOwnProperty(A)}clearEdgeActivatedValues(){this._edgeActivatedHatValues={}}lookupOrCreateVariable(A,e){let t=this.lookupVariableById(A);if(t)return t;if(t=this.lookupVariableByNameAndType(e,r.SCALAR_TYPE),t)return t;const n=new r(A,e,r.SCALAR_TYPE,!1);return this.variables[A]=n,n}lookupBroadcastMsg(A,e){let t;if(A?t=this.lookupVariableById(A):e?t=this.lookupBroadcastByInputValue(e):B.error("Cannot find broadcast message if neither id nor name are provided."),t)return e&&t.name.toLowerCase()!==e.toLowerCase()&&B.error("Found broadcast message with id: ".concat(A,", but")+"its name, ".concat(t.name," did not match expected name ").concat(e,".")),t.type!==r.BROADCAST_MESSAGE_TYPE&&B.error("Found variable with id: ".concat(A,", but its type ").concat(t.type)+"did not match expected type ".concat(r.BROADCAST_MESSAGE_TYPE)),t}lookupBroadcastByInputValue(A){const e=this.variables;for(const t in e)if(e[t].type===r.BROADCAST_MESSAGE_TYPE&&e[t].name.toLowerCase()===A.toLowerCase())return e[t]}lookupVariableById(A){if(this.variables.hasOwnProperty(A))return this.variables[A];if(this.runtime&&!this.isStage){const e=this.runtime.getTargetForStage();if(e&&e.variables.hasOwnProperty(A))return e.variables[A]}}lookupVariableByNameAndType(A,e,t){if("string"==typeof A){"string"!=typeof e&&(e=r.SCALAR_TYPE),t=t||!1;for(const t in this.variables){const n=this.variables[t];if(n.name===A&&n.type===e)return n}if(!t&&this.runtime&&!this.isStage){const t=this.runtime.getTargetForStage();if(t)for(const n in t.variables){const i=t.variables[n];if(i.name===A&&i.type===e)return i}}return null}}lookupOrCreateList(A,e){let t=this.lookupVariableById(A);if(t)return t;if(t=this.lookupVariableByNameAndType(e,r.LIST_TYPE),t)return t;const n=new r(A,e,r.LIST_TYPE,!1);return this.variables[A]=n,n}createVariable(A,e,t,n){if(!this.variables.hasOwnProperty(A)){const i=new r(A,e,t,!1);n&&this.isStage&&this.runtime.canAddCloudVariable()&&(i.isCloud=!0,this.runtime.addCloudVariable(),this.runtime.ioDevices.cloud.requestCreateVariable(i)),this.variables[A]=i}}createComment(A,e,t,n,i,r,o,a){if(!this.comments.hasOwnProperty(A)){const c=new s(A,t,n,i,r,o,a);if(e){c.blockId=e;const t=this.blocks.getBlock(e);t?t.comment=A:B.warn("Could not find block with id ".concat(e," associated with commentId: ").concat(A))}this.comments[A]=c}}renameVariable(A,e){if(this.variables.hasOwnProperty(A)){const t=this.variables[A];if(t.id===A){const n=t.name;if(t.name=e,this.runtime){if(t.isCloud&&this.isStage&&this.runtime.ioDevices.cloud.requestRenameVariable(n,e),t.type===r.SCALAR_TYPE){let A=!1;this.runtime.targets.forEach(t=>{A=t.blocks.updateSensingOfReference(n,e,this.isStage?"_stage_":this.getName())||A}),A&&this.runtime.requestBlocksUpdate()}const i=this.runtime.monitorBlocks;i.changeBlock({id:A,element:"field",name:t.type===r.LIST_TYPE?"LIST":"VARIABLE",value:A},this.runtime);const s=i.getBlock(t.id);s&&this.runtime.requestUpdateMonitor(a({id:A,params:i._getBlockParams(s)}))}}}}deleteVariable(A){if(this.variables.hasOwnProperty(A)){const e=this.variables[A].name,t=this.variables[A].isCloud;delete this.variables[A],this.runtime&&(t&&this.isStage&&(this.runtime.ioDevices.cloud.requestDeleteVariable(e),this.runtime.removeCloudVariable()),this.runtime.monitorBlocks.deleteBlock(A),this.runtime.requestRemoveMonitor(A))}}deleteMonitors(){let A;this.runtime.requestRemoveMonitorByTargetId(this.id),A=this.isStage?Object.keys(this.variables):Object.keys(this.runtime.monitorBlocks._blocks).filter(A=>this.runtime.monitorBlocks._blocks[A].targetId===this.id);for(const e of A)this.runtime.monitorBlocks.deleteBlock(e)}duplicateVariable(A,e){if(this.variables.hasOwnProperty(A)){const t=this.variables[A],n=new r(e?A:null,t.name,t.type,t.isCloud);return n.type===r.LIST_TYPE?n.value=t.value.slice(0):n.value=t.value,n}return null}duplicateVariables(A){let e;return A&&(e=A.getAllVariableAndListReferences()),Object.keys(this.variables).reduce((t,n)=>{const i=this.duplicateVariable(n,!A);if(t[i.id]=i,A&&e){const A=e[n];A&&this.mergeVariables(n,i.id,A)}return t},{})}postSpriteInfo(){}getCustomState(A){return this._customState[A]}setCustomState(A,e){this._customState[A]=e}dispose(){this._customState={},this.runtime&&this.runtime.removeExecutable(this)}getAllVariableNamesInScopeByType(A,e){"string"!=typeof A&&(A=r.SCALAR_TYPE),e=e||!1;const t=Object.values(this.variables).filter(e=>e.type===A).map(A=>A.name);if(e||this.isStage||!this.runtime)return t;const n=this.runtime.getTargetForStage().getAllVariableNamesInScopeByType(A);return t.concat(n)}mergeVariables(A,e,t,n){const i=t||this.blocks.getAllVariableAndListReferences()[A];g.updateVariableIdentifiers(i,e,n)}shareLocalVariableToStage(A,e){if(!this.runtime)return;const t=this.variables[A];if(!t)return void B.warn("Cannot share a local variable to the stage if it's not local.");const n=this.runtime.getTargetForStage(),i="StageVarFromLocal_".concat(A);let r=n.lookupVariableById(i);if(!r){const A=t.name,e=t.type,n="Stage: ".concat(A);r=this.runtime.createNewGlobalVariable(n,i,e)}this.mergeVariables(A,r.id,e,r.name)}shareLocalVariableToSprite(A,e,t){if(!this.runtime)return;if(this.isStage)return;const n=this.variables[A];if(!n)return void B.warn("Tried to call 'shareLocalVariableToSprite' with a non-local variable.");const i=n.name,s=n.type,o=e.lookupVariableByNameAndType(i,s);let a;if(o)a=o.id;else{const A=new r(null,i,s);a=A.id,e.variables[a]=A}this.mergeVariables(A,a,t)}resolveVariableSharingConflictsWithTarget(A,e){if(this.isStage)return;const t=this.blocks.getAllVariableAndListReferences(A);for(const A in t){if(!this.variables[A])continue;const n=t[A];e.isStage?this.shareLocalVariableToStage(A,n):this.shareLocalVariableToSprite(A,e,n)}}fixUpVariableReferences(){if(!this.runtime)return;if(this.isStage)return;const A=this.runtime.getTargetForStage();if(!A||!A.variables)return;const e=(e,t,n)=>{if(A.lookupVariableByNameAndType(t,n)){const A=c.unusedName("".concat(this.getName(),": ").concat(t),this.getAllVariableNamesInScopeByType(n));return this.renameVariable(e,A),A}return null},t=this.blocks.getAllVariableAndListReferences(),n=[];if(Object.keys(this.variables).length>0)for(const A in this.variables)this.variables.hasOwnProperty(A)&&(t[A]||n.push(A));const i=Object.create(null),r=Object.create(null),s={},o=A=>{const e=s[A];return e||(s[A]=this.runtime.getAllVarNamesOfType(A),s[A])};for(const n in t){const s=t[n][0],a=s.referencingField.value,B=s.type;if(this.lookupVariableById(n)){if(this.variables.hasOwnProperty(n)){const A=e(n,a,B);A&&t[n].map(e=>(e.referencingField.value=A,e))}}else{const e=A.lookupVariableByNameAndType(a,B);if(e)i[n]||(i[n]=e.id);else{const e=o(B),t=c.unusedName(a,e);A.createVariable(n,t,B),r[n]||(r[n]=t)}}}for(const A in n){const t=n[A];e(t,this.variables[t].name,this.variables[t].type)}for(const A in i){const e=i[A],n=t[A];this.mergeVariables(A,e,n)}for(const A in r){const e=r[A];t[A].map(A=>(A.referencingField.value=e,A))}}}},function(A,e,t){const n=t(122),i=t(126);A.exports=class{constructor(A){this._canvas=A||document.createElement("canvas"),this._context=this._canvas.getContext("2d"),this._measurements={x:0,y:0,width:0,height:0},this._cachedImage=null,this.loaded=!1}get canvas(){return this._canvas}get size(){return[this._measurements.width,this._measurements.height]}get viewOffset(){return[this._measurements.x,this._measurements.y]}loadString(A,e){this._cachedImage=null;const t=n(A,e);this._svgTag=t,this._measurements={width:t.viewBox.baseVal.width,height:t.viewBox.baseVal.height,x:t.viewBox.baseVal.x,y:t.viewBox.baseVal.y}}loadSVG(A,e,t){this.loadString(A,e),this._createSVGImage(t)}_createSVGImage(A){null===this._cachedImage&&(this._cachedImage=new Image);const e=this._cachedImage;e.onload=()=>{this.loaded=!0,A&&A()};const t=this.toString(!0);e.src="data:image/svg+xml;utf8,".concat(encodeURIComponent(t)),this.loaded=!1}toString(A){return i(this._svgTag,A)}draw(A){if(!this.loaded)throw new Error("SVG image has not finished loading");this._drawFromImage(A)}_drawFromImage(A){if(null===this._cachedImage)return;const e=Number.isFinite(A)?A:1,t=this._measurements;this._canvas.width=t.width*e,this._canvas.height=t.height*e,this._canvas.width<=0||this._canvas.height<=0||this._cachedImage.naturalWidth<=0||this._cachedImage.naturalHeight<=0||(this._context.clearRect(0,0,this._canvas.width,this._canvas.height),this._context.setTransform(e,0,0,e,0,0),this._context.drawImage(this._cachedImage,0,0))}}},function(A,e,t){const n=t(429),i=t(82),r=t(430),s=function(A){let e=n.identity();const t=A.attributes&&A.attributes.transform&&A.attributes.transform.value;if(!t)return e;const i=t.split(/\)\s*/g);for(const A of i){if(!A)break;const t=A.split(/\(\s*/),i=t[0].trim(),s=t[1].split(/[\s,]+/g);for(let A=0;A<s.length;A++)s[A]=parseFloat(s[A]);switch(i){case"matrix":e=n.compose(e,{a:s[0],b:s[1],c:s[2],d:s[3],e:s[4],f:s[5]});break;case"rotate":e=n.compose(e,n.rotateDEG(s[0],s[1]||0,s[2]||0));break;case"translate":e=n.compose(e,n.translate(s[0],s[1]||0));break;case"scale":e=n.compose(e,n.scale(s[0],s[1]||s[0]));break;case"skewX":e=n.compose(e,n.skewDEG(s[0],0));break;case"skewY":e=n.compose(e,n.skewDEG(0,s[0]));break;default:r.error("Couldn't parse: ".concat(i))}}return e},o=function(A){const e=A.a,t=A.b,n=A.c,i=A.d,r=e*i-t*n;if(0!==e||0!==t){const A=Math.sqrt(e*e+t*t);return{x:A,y:r/A}}if(0!==n||0!==i){const A=Math.sqrt(n*n+i*i);return{x:r/A,y:A}}return{x:0,y:0}},a=function(A,e,t,n){t=-t*Math.PI/180;const i=n.a,r=-n.c,s=-n.b,o=n.d,a=i*o-r*s;if(0===a)return null;const B=Math.sin(t),c=Math.cos(t),g=Math.sin(2*t),Q=c*c/A/A+B*B/e/e,E=g/A/A-g/e/e,l=B*B/A/A+c*c/e/e,u=Q*o*o-E*o*s+l*s*s,w=-2*Q*r*o+E*i*o+E*r*s-2*l*i*s,h=Q*r*r-E*i*r+l*i*i,C=Math.sqrt(2)*Math.sqrt((u+h-Math.sqrt(u*u+w*w-2*u*h+h*h))/(-w*w+4*u*h)),d=1/Math.sqrt(u+h-1/C/C);let I=(u-1/C/C)/(1/d/d-1/C/C);I<0&&Math.abs(I)<1e-8&&(I=0),I=Math.sqrt(I),Math.abs(1-I)<1e-8&&(I=1);let M=Math.asin(I);I=w/(1/C/C-1/d/d);const p=-M;return Math.abs(Math.sin(2*p)-I)<Math.abs(Math.sin(2*M)-I)&&(M=p),{radiusX:C*a,radiusY:d*a,rotation:180*-M/Math.PI}},B=["circle","ellipse","image","line","path","polygon","polyline","rect","text","use"],c=["a","defs","g","marker","glyph","missing-glyph","pattern","svg","switch","symbol"],g=function(A,e){return Math.sqrt((A*A+e*e)/2)},Q=function(A,e,t,r){const s=function(A,e,n,r,s,o){let a,B=i.get(A,e);if(null===B?o?(a=o,/%\s*$/.test(a)&&(B=o,a=parseFloat(B))):a=r?null:n?"":0:a=n?B:parseFloat(B),/%\s*$/.test(B)){return a/100*(s?1:t[/x|^width/.test(e)?"width":"height"])}return a},a=function(A,e,t,n,i,r,o){return e=s(A,e||"x",!1,n,i,r),t=s(A,t||"y",!1,n,i,o),!n||null!==e&&null!==t?{x:e,y:t}:null};let B=e.getElementsByTagName("defs");0===B.length?(B=i.create("defs"),e.appendChild(B)):B=B[0];const c=e.getElementById(A);if(!c)return;const Q="radialgradient"===c.tagName.toLowerCase(),E=e.getElementById(A).cloneNode(!0);let l=n.toString(r);l=l.substring(8,l.length-1);const u="".concat(A,"-").concat(l);if(E.setAttribute("id",u),e.getElementById(u))return"url(#".concat(u,")");const w="userSpaceOnUse"!==s(E,"gradientUnits",!0);let h,C,d,I;if(Q)h=a(E,"cx","cy",!1,w,"50%","50%"),d=s(E,"r",!1,!1,w,"50%"),I=a(E,"fx","fy",!0,w);else if(h=a(E,"x1","y1",!1,w),C=a(E,"x2","y2",!1,w,"1"),h.x===C.x&&h.y===C.y){const A=E.getElementsByTagName("stop");return A.length&&A[A.length-1].attributes&&A[A.length-1].attributes["stop-color"]?A[A.length-1].attributes["stop-color"].value:null}if(w){const A=n.compose(n.translate(t.x,t.y),n.scale(t.width,t.height));h=n.applyToPoint(A,h),C&&(C=n.applyToPoint(A,C)),d&&(d=g(t.width,t.height)*d),I&&(I=n.applyToPoint(A,I))}if(Q){h=n.applyToPoint(r,h);const A=o(r);d=g(A.x,A.y)*d,I&&(I=n.applyToPoint(r,I))}else{const A=(A,e)=>A.x*e.x+A.y*e.y,e=(A,e)=>({x:A*e.x,y:A*e.y}),t=(A,e)=>({x:A.x+e.x,y:A.y+e.y}),i=(A,e)=>({x:A.x-e.x,y:A.y-e.y});let s=Math.abs(h.x-C.x)<1e-8?t(h,{x:1,y:(h.x-C.x)/(C.y-h.y)}):t(h,{x:(C.y-h.y)/(h.x-C.x),y:1});s=n.applyToPoint(r,s),h=n.applyToPoint(r,h),C=n.applyToPoint(r,C);const o=i(s,h),a=i(C,h),B=Math.abs(o.x)<1e-8?{x:1,y:-o.x/o.y}:{x:-o.y/o.x,y:1},c=e(A(a,B)/A(B,B),B);C={x:h.x+c.x,y:h.y+c.y}}return Q?(E.setAttribute("cx",Number(h.x.toFixed(4))),E.setAttribute("cy",Number(h.y.toFixed(4))),E.setAttribute("r",Number(d.toFixed(4))),I&&(E.setAttribute("fx",Number(I.x.toFixed(4))),E.setAttribute("fy",Number(I.y.toFixed(4))))):(E.setAttribute("x1",Number(h.x.toFixed(4))),E.setAttribute("y1",Number(h.y.toFixed(4))),E.setAttribute("x2",Number(C.x.toFixed(4))),E.setAttribute("y2",Number(C.y.toFixed(4)))),E.setAttribute("gradientUnits","userSpaceOnUse"),B.appendChild(E),"url(#".concat(u,")")},E=(A,e)=>{const t=A&&A.match(/\((?:["'#]*)([^"')]+)/),n=t&&t[1];return n&&e?n.replace("".concat(e.location.href.split("#")[0],"#"),""):n};A.exports=function(A,e,t){const r=n.identity(),l=(r,u,w,h,C)=>{if(function(A){return A.tagName&&c.includes(A.tagName.toLowerCase())}(r)){r.attributes["stroke-width"]&&(w=r.attributes["stroke-width"].value),r.attributes&&(r.attributes.fill&&(h=r.attributes.fill.value),r.attributes.stroke&&(C=r.attributes.stroke.value));for(let A=0;A<r.childNodes.length;A++)l(r.childNodes[A],n.compose(u,s(r)),w,h,C);r.removeAttribute("transform"),r.removeAttribute("stroke-width"),r.removeAttribute("fill"),r.removeAttribute("stroke")}else if(function(A,e){return!!A.attributes&&((e=A.attributes["stroke-width"]?Number(A.attributes["stroke-width"].value):Number(e))&&A.tagName&&"path"===A.tagName.toLowerCase()&&A.attributes.d&&A.attributes.d.value)}(r,w)){if(r.attributes["stroke-width"]&&(w=r.attributes["stroke-width"].value),r.attributes.fill&&(h=r.attributes.fill.value),r.attributes.stroke&&(C=r.attributes.stroke.value),u=n.compose(u,s(r)),n.toString(u)===n.toString(n.identity()))return r.removeAttribute("transform"),r.setAttribute("stroke-width",w),h&&r.setAttribute("fill",h),void(C&&r.setAttribute("stroke",C));const B=E(h,e),c=E(C,e);if(B||c){const n=e.document,s=n.createElement("span");let o;if(t)o=t;else try{n.body.appendChild(s);const A=i.set(n.createElementNS(i.svg,"svg")),e=i.set(n.createElementNS(i.svg,"path"));e.setAttribute("d",r.attributes.d.value),A.appendChild(e),s.appendChild(A),o=A.getBBox()}finally{n.body.removeChild(s)}if(B){const e=Q(B,A,o,u);e&&(h=e)}if(c){const e=Q(c,A,o,u);e&&(C=e)}}r.setAttribute("d",function(A,e){if(!e||n.toString(e)===n.toString(n.identity()))return A;const t=A&&A.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi);let i,r,s,B=!1,c={x:0,y:0},g={x:0,y:0},Q="";const E=function(A,e){let t=+i[A];return B&&(t+=c[e]),t},l=function(A){return{x:E(A,"x"),y:E(A+1,"y")}},u=function(A){return Math.round(1e4*A)/1e4},w=function(A){const t=n.applyToPoint(e,A);return"".concat(u(t.x)," ").concat(u(t.y)," ")};for(let A=0,n=t&&t.length;A<n;A++){const n=t[A],h=n[0],C=h.toLowerCase();i=n.match(/[+-]?(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/g);const d=i&&i.length;switch(B=h===C,"z"!==r||/[mz]/.test(C)||(Q+="M ".concat(c.x," ").concat(c.y," ")),C){case"m":case"l":{let A="m"===C;for(let e=0;e<d;e+=2)Q+=A?"M ":"L ",c=l(e),Q+=w(c),A&&(g=c,A=!1);s=c;break}case"h":case"v":{const A="h"===C?"x":"y";c={x:c.x,y:c.y};for(let e=0;e<d;e++)c[A]=E(e,A),Q+="L ".concat(w(c));s=c;break}case"c":for(let A=0;A<d;A+=6){const e=l(A);s=l(A+2),c=l(A+4),Q+="C ".concat(w(e)).concat(w(s)).concat(w(c))}break;case"s":for(let A=0;A<d;A+=4){const e=/[cs]/.test(r)?{x:2*c.x-s.x,y:2*c.y-s.y}:c;s=l(A),c=l(A+2),Q+="C ".concat(w(e)).concat(w(s)).concat(w(c)),r=C}break;case"q":for(let A=0;A<d;A+=4)s=l(A),c=l(A+2),Q+="Q ".concat(w(s)).concat(w(c));break;case"t":for(let A=0;A<d;A+=2)s=/[qt]/.test(r)?{x:2*c.x-s.x,y:2*c.y-s.y}:c,c=l(A),Q+="Q ".concat(w(s)).concat(w(c)),r=C;break;case"a":for(let A=0;A<d;A+=7){c=l(A+5);const t=+i[A],n=+i[A+1],r=+i[A+2],s=+i[A+3];let B=+i[A+4];const g=a(t,n,r,e),E=o(e);g?((E.x>0&&E.y<0||E.x<0&&E.y>0)&&(B^=1),Q+="A ".concat(u(Math.abs(g.radiusX))," ")+"".concat(u(Math.abs(g.radiusY))," ")+"".concat(u(g.rotation)," ").concat(s," ")+"".concat(B," ").concat(w(c))):Q+="L ".concat(w(c))}break;case"z":Q+="Z ",c=g}r=C}return Q}(r.attributes.d.value,u)),r.removeAttribute("transform");const l=o(u);r.setAttribute("stroke-width",g(l.x,l.y)*w),h&&r.setAttribute("fill",h),C&&r.setAttribute("stroke",C)}else(function(A){return A.tagName&&B.includes(A.tagName.toLowerCase())})(r)&&(w&&!r.attributes["stroke-width"]&&r.setAttribute("stroke-width",w),h&&!r.attributes.fill&&r.setAttribute("fill",h),C&&!r.attributes.stroke&&r.setAttribute("stroke",C),u=n.compose(u,s(r)),n.toString(u)===n.toString(n.identity())?r.removeAttribute("transform"):r.setAttribute("transform",n.toString(u)))};l(A,r,1)}},function(A,e,t){window,A.exports=function(A){var e={};function t(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return A[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=A,t.c=e,t.d=function(A,e,n){t.o(A,e)||Object.defineProperty(A,e,{enumerable:!0,get:n})},t.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},t.t=function(A,e){if(1&e&&(A=t(A)),8&e)return A;if(4&e&&"object"==typeof A&&A&&A.__esModule)return A;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:A}),2&e&&"string"!=typeof A)for(var i in A)t.d(n,i,function(e){return A[e]}.bind(null,i));return n},t.n=function(A){var e=A&&A.__esModule?function(){return A.default}:function(){return A};return t.d(e,"a",e),e},t.o=function(A,e){return Object.prototype.hasOwnProperty.call(A,e)},t.p="",t(t.s=0)}([function(A,e,t){"use strict";function n(A,e){return Array.isArray(e)?[A.a*e[0]+A.c*e[1]+A.e,A.b*e[0]+A.d*e[1]+A.f]:{x:A.a*e.x+A.c*e.y+A.e,y:A.b*e.x+A.d*e.y+A.f}}function i(A,e){return e.map((function(e){return n(A,e)}))}function r(A){return{a:parseFloat(A.a),b:parseFloat(A.b),c:parseFloat(A.c),d:parseFloat(A.d),e:parseFloat(A.e),f:parseFloat(A.f)}}t.r(e);var s=/^matrix\(\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*\)$/i;function o(A){var e=A.match(s);if(null===e||e.length<7)throw new Error("'"+A+"' is not a matrix");return{a:parseFloat(e[1]),b:parseFloat(e[2]),c:parseFloat(e[3]),d:parseFloat(e[4]),e:parseFloat(e[5]),f:parseFloat(e[6])}}function a(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function B(A){var e=A.a,t=A.b,n=A.c,i=A.d,r=A.e,s=A.f,o=e*i-t*n;return{a:i/o,b:t/-o,c:n/-o,d:e/o,e:(i*r-n*s)/-o,f:(t*r-e*s)/o}}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},g=function(A){return"number"==typeof A&&!isNaN(A)&&isFinite(A)};function Q(A){return function(A){return null!=A&&"object"===(void 0===A?"undefined":c(A))}(A)&&A.hasOwnProperty("a")&&g(A.a)&&A.hasOwnProperty("b")&&g(A.b)&&A.hasOwnProperty("c")&&g(A.c)&&A.hasOwnProperty("d")&&g(A.d)&&A.hasOwnProperty("e")&&g(A.e)&&A.hasOwnProperty("f")&&g(A.f)}function E(A){return void 0===A}function l(A){return{a:1,c:0,e:A,b:0,d:1,f:arguments.length>1&&void 0!==arguments[1]?arguments[1]:0}}function u(){for(var A=arguments.length,e=Array(A),t=0;t<A;t++)e[t]=arguments[t];var n=function(A,e){return{a:A.a*e.a+A.c*e.b,c:A.a*e.c+A.c*e.d,e:A.a*e.e+A.c*e.f+A.e,b:A.b*e.a+A.d*e.b,d:A.b*e.c+A.d*e.d,f:A.b*e.e+A.d*e.f+A.f}};switch((e=Array.isArray(e[0])?e[0]:e).length){case 0:throw new Error("no matrices provided");case 1:return e[0];case 2:return n(e[0],e[1]);default:var i=function(A){return Array.isArray(A)?A:Array.from(A)}(e),r=i[0],s=i[1],o=i.slice(2),a=n(r,s);return u.apply(void 0,[a].concat(function(A){if(Array.isArray(A)){for(var e=0,t=Array(A.length);e<A.length;e++)t[e]=A[e];return t}return Array.from(A)}(o)))}}function w(){return u.apply(void 0,arguments)}var h=Math.cos,C=Math.sin,d=Math.PI;function I(A,e,t){var n=h(A),i=C(A),r={a:n,c:-i,e:0,b:i,d:n,f:0};return E(e)||E(t)?r:u([l(e,t),r,l(-e,-t)])}function M(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return I(A*d/180,e,t)}function p(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return E(e)&&(e=A),{a:A,c:0,e:0,b:0,d:e,f:0}}function m(A,e){return{a:1,c:A,e:0,b:e,d:1,f:0}}var F=Math.tan;function D(A,e){return{a:1,c:F(A),e:0,b:F(e),d:1,f:0}}function Y(A,e){return D(A*Math.PI/180,e*Math.PI/180)}function f(A){return U(A)}function N(A){return U(A)}function U(A){return"matrix("+A.a+","+A.b+","+A.c+","+A.d+","+A.e+","+A.f+")"}t.d(e,"applyToPoint",(function(){return n})),t.d(e,"applyToPoints",(function(){return i})),t.d(e,"fromObject",(function(){return r})),t.d(e,"fromString",(function(){return o})),t.d(e,"identity",(function(){return a})),t.d(e,"inverse",(function(){return B})),t.d(e,"isAffineMatrix",(function(){return Q})),t.d(e,"rotate",(function(){return I})),t.d(e,"rotateDEG",(function(){return M})),t.d(e,"scale",(function(){return p})),t.d(e,"shear",(function(){return m})),t.d(e,"skew",(function(){return D})),t.d(e,"skewDEG",(function(){return Y})),t.d(e,"toCSS",(function(){return f})),t.d(e,"toSVG",(function(){return N})),t.d(e,"toString",(function(){return U})),t.d(e,"transform",(function(){return u})),t.d(e,"compose",(function(){return w})),t.d(e,"translate",(function(){return l}))}])},function(A,e,t){const n=t(51);n.enable(),A.exports=n("scratch-svg-render")},function(A,e,t){let n;A.exports=function(){if(n)return n;n={"Sans Serif":t(432),Serif:t(433),Handwriting:t(434),Marker:t(435),Curly:t(436),Pixel:t(437),Scratch:t(438),Technological:t(439),Bubbly:t(440),"Bits and Bytes":t(441),Playful:t(442),Arcade:t(443),Archivo:t(444),"Archivo Black":t(445)};for(const A in n){const e=n[A];n[A]="@font-face {"+'font-family: "'.concat(A,'";src: url("data:application/x-font-ttf;charset=utf-8;base64,').concat(e,'");}')}if(!document.getElementById("scratch-font-styles")){const A=document.createElement("style");A.id="scratch-font-styles";for(const e in n)A.textContent+=n[e];document.body.insertBefore(A,document.body.firstChild)}return n}},function(A,e){A.exports="AAEAAAASAQAABAAgR0RFRvDX3ecAAAEsAAAFwEdQT1MvEF4NAAAG7AAA6sZHU1VCRDfqagAA8bQAABaAT1MvMmx0h2AAAQg0AAAAYFRURkG4URjDAAbmAAAAAf9jbWFwwp/+5AABCJQAAAouY3Z0IH+0EkYABtYcAAABdGZwZ206KI58AAbXkAAADW1nYXNwAAAAEAAG1hQAAAAIZ2x5Zi0YCicAARLEAATOUGhlYWQQlAHGAAXhFAAAADZoaGVhDLIUJwAF4UwAAAAkaG10eHvlIUEABeFwAAAynGxvY2Ed1/m0AAYUDAAAMrxtYXhwD5AQAwAGRsgAAAAgbmFtZaT1yjEABkboAAAGlHBvc3Sx9QeqAAZNfAAAiJVwcmVwNpqJYAAG5QAAAAD9AAEAAgAOAAADWgAAA6wAAgCMACQAPQABAEQAXQABAIIAmAABAJoAuAABALoBSQABAVUBVQABAVcCAAABAhcCFwABAiACIAABAigCKAABAj0CPQABAkACQAABAkICRQABAkcCSgABAkwCaQABAm4CcQABAnUDVQABA2AEhQABBKIEpgABBMEEwQADBMUExwABBMkEzAABBM4FEQABBRUFFQABBRgFVgABBVwFXAABBWMFZAABBWYFaQABBWsFcAABBXQFdAABBYcFlQABBZcG6wABBu4G7gABBvEHFwABBxoHJgABB0AHRAABB0gHSAABB1wHcQABB4UHiAADB4kHqwABB8QH0wABB9YH2wABB98H3wABB+MH5AABB+kH7AABB+4H9gABB/kH+QABCAUIBQABCAoICwABCA0IDgABCBAIEgABCBUIFgABCBsIPAABCEYIRwABCEwITwABCFEIUgABCFQIVQABCFgIWQABCFwIXAABCF4IXwABCGQIZwABCGkIaQABCHQIewABCH0IhQABCIYIjAACCI0JDgABCRAJEwABCRYJGQABCRwJHAABCSoJMQABCTMJMwABCT0JSwABCU4JTwABCVYJVgABCVwJXwABCWMJYwABCWUJZQABCW8JbwABCXIJcgABCXQJeAABCXoJfgABCYwJjQABCZcJmAABCZwJnAABCawJrQABCa8JrwABCbEJsQABCbMJswABCbcJtwABCboJugABCbwJvAABCcMJxQABCdYJ1gABCd4J5gABCegJ6QABCesJ7AABCsgKyAABCtYK1gABCtgK3wABCuIK4wABCuoK6wABCu8K7wABC4ALgAABC4ELiwADC4wLjAABC40LoAADC6ELogABC6MLswADC7gL3QADC94L3wABC+AL4QADC+IL4gABC+YL6gABC+sL7AADC+0L7QABC+4L7gADC+8MBAABDAYMDwABDBIMKQABDCwMLQABDC8MMQABDDIMMgADDDoMPAABDD4MPwABDEAMQQADDEIMRgABDEcMRwADDEgMSAABDEsMUwADDFUMVQABDFYMVgADDFcMXAABDGAMYAABDGMMYwABDGYMcwADDHQMdAABDHUMhwADDIgMiAABDIoMigABDJAMkQABABIABwAkACwANAA0AEIAQgBKAAEABwDzAPQIhwiICIkIigi/AAEABAABAVMAAQAEAAEBAgACAAYACgABATsAAQJ3AAEABAABAS0AAQAEAAEBIwABAAQAAAAUAAAA2AAAAPoAAAG4AAIAIAIoAigAAAuWC5kAAQucC7IABQu4C7sAHAvCC8QAIAvIC8kAIwvOC9EAJQvUC9UAKQvXC9cAKwvaC9oALAvdC90ALQvhC+EALgvrC+sALwvwC/AAMAv3C/wAMQv/DAQANwwGDA0APQwQDCYARQwoDCkAXAwsDC0AXgwvDDEAYAwzDDkAYww8DDwAagxJDEkAawxODE4AbAxVDFwAbQxgDGAAdQxmDG0AdgxvDHMAfgx1DHcAgwx5DIAAhgyCDIcAjgABAA8Lswu0C7ULtgu3DAYMDAwcDD0MbQxxDHYMegx+DIMAAgAfAVMBVAAABMEEwQACBuwG7AADBu4G8AAEBvsG/QAHBwgHCgAKBxgHGgANByUHJgAQB1YHVgASB4UHiAATCt4K3gAXC4ELlAAYC7wLwQAsC8ULxwAyC8sLzQA1C9IL0gA4C9YL1gA5C9gL2QA6C9sL3AA8C94L4AA+C+IL6gBBC+wL7wBKC/EL9gBOC/0L/gBUDAAMDwBWDBIMMQBmDDoMOwCGDD4MSACIDEsMTQCTDE8MYgCWDGYMhwCqAAEALAuVC5oLmwvTDAEMAgwEDAYMBwwJDAoMCwwMDA0MHAweDB8MIQwnDCgMKQxYDGsMbQxvDHAMcQxyDHUMdgx3DHkMegx8DH0Mfgx/DIAMggyDDIQMhQyGDIcAAQAAAAoANABuAARERkxUABpjeXJsABpncmVrABpsYXRuABoABAAAAAD//wADAAAAAQACAANrZXJuABRtYXJrABpta21rAC4AAAABAAAAAAAIAAEAAgADAAQABQAGAAcACAAAAAQACQAKAAsADAANABxv7pEglsC+1NFS0wLTytWC2Bbd8N6Q6MoAAgAIAAIAChumAAEDVgAEAAABpg/6BqYP+giGEAwP9BAMFpYJfBdmFrIWpAb0B64XZgloFrIJNBayB9wIRhb0D+oP6hdmFtwJcgiGCHQW7hbuFu4IhgiQECoQMAjiFpYWlhaWFpYWlhaWFqQXZhakFqQWpBakFrIWshayFrIWshayFrIW3Ak0Fu4W7haWFpYJQhdmF2YXZhdmFrIJXhayFqQWpBakFqQWpAlYF2YJaAloCWgJXgloCWgWshayFrIWpBb0FvQW9A/qFu4W3BbuFtwJcglyCXIWlhakFrIXFBdGFyIXYBcUCXwKaBcUCZIXRgrYFxQJ5BdGFzQKIgpoFyIKggrYCt4XYBciFw4XDg3gC1gNDg0kDXIN4A3mFMoUlg60FQgUvBSWDr4UyhaMFQgVCBDSFJYUyhS8DwQVCBaMFowUnBScEMwQzBDMEMwUyg/qFu4P6hbuD+oW7hbcFu4P9A/0D/QP+g/6EAwP+g/6EAwQKhAwF2AQRhciFpYWvBbGEMwUlhSWEFwUlhBcEGIUvBS8FJYWjBDMENIU5BDYEXIU9hScFPYVCBUIFQgWjBTkEYwSNhKcFJYUyhLWEtYU9haMFowS8BOaFQgT6BZ2FowWjBaMFJYUlhUIFJwUohS8FLwUvBTKFOQU9hUIFRIVEhaMFRIVEhUYFXoVyBZ2FowWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWpBakFqQWpBakFqQWpBakFrIWshayFrIWshayFrIWvBa8FrwWvBa8FsYWxhbGFsYWxhbcFu4W3BbuFtwW7hb0FyIXIhcOFw4XDhcOFw4XDhcOFw4XFBcUFxQXFBcUFxQXFBcUF0YXRhdGF0YXRhdGFyIXIhciFyIXYBdgF2AXYBdgF2AXYBdgFw4XDhcOFw4XDhcOFw4XDhcOFw4XDhcOFw4XDhcOFw4XDhcUFxQXFBcUFyIXIhciFyIXNBdGF0YXYBdgF2YXZhdmF2YXZhdmF2YXZhdmF2YXZhdwF4YXhheGF4YXhheGGLAYsBiwGLAXjBfWF9YX1hiwGLAYsBiwGLAYsBiwGLAYsBiwGLAX4BguGLAYthleGQwZXhleGV4ZbBm+Gb4Zvhm+Gb4ZyBouGi4aLhouGi4aPBpGGmQaqhq0G1oAAQGmAAUACQAKAAsADwAQABEAJAAlACYAJwAoACkAKgAuAC8AMgAzADQANQA2ADcAOQA6ADsAPAA9AD4ARgBZAFoAXABeAGMAbQB9AIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AkgCUAJUAlgCXAJgAmgCfAKAAvwDBAMIAxADGAMgAygDMAM4A0ADRANIA1ADWANgA2gDcAPAA9wD6APwA/gD/AQABAgENAQ8BEQETASMBJQEnATUBNgE3ATgBOQE6ATwBPgFCAUQBRgFVAVoBWwFcAV4BXwFgAWEBYwFlAWcBaAFrAWwBbgFvAXABcQFyAXMBdAF1AXcBeAF9AX8BggGEAYYBhwGJAZMBnQGeAZ8BpgGnAakBqgGsAa0BrwGzAbkBugG7AbwBvQG+Ab8BwgHLAdAB4wHlAfEB8gH3AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIFAgYCBwIJAgoCCwITAhQCIAI/AkACRAJHAkkCUwJUAlYCVwJYAlkCYAJkAmYCcAJ1AngCeQJ7An0CfgJ/AoICgwKFAocCiQKLAo0CjwKQApECkwKVApcCmQKbAp0CnwKjAqQCqgKsAq0CrgKyArYCuQK7AsUCyALJAtcC2QLbAt8C4wLlAucC6wLtAu8C8QLzAvUC9gL3AvkC+wL9Av8DAQMDAwUDBwMJAwsDDQMPAxEDEwMVAxcDGQMbAx0DHwMhAyMDKQMrAy0DLwMxAzMDNQM3AzkDOwM9Az8DRQNHA0kDSwNNA08DUANRA1IDUwNUA2AEygTLBj4GPwZABkEGQgZDBkQGRQZGBkcGSAZJBkoGSwZMBk0GgAaBBoIGgwaEBoUGjgaPBpAGkQaaBpsGnAadBp4GnwagBqEGogajBrAGsQayBrMGtAa1BrYGtwbgBuEG4gbjBuQG5QbmBucG6AbpBuoHEwcUBxUHFgcXByAHIQciByMIjQiOCI8IkAiRCJIIkwiUCJUIlgiXCJoImwicCJ0IngifCKAIoQiiCKMIpAivCMcIyAjKCNQI1QjWCNcI2AjZCNoI2wjcCN0I3gjgCOEI4gjtCO4I7wjwCPEI8gj+CP8JAAkBCQIJAwkE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/+ICiv/sApX/4gKW/+wCl//sApn/7AKd/+ICnv/sAp//2AKg/+wCof/YAqL/7AK0/9gCtf/sAt3/2ALe/+wC7f/iAu7/4gLv/+IC8P/iAvf/4gL4/+wABgAF/+IACv/iAgb/4gIK/+IC7v/sAvD/7AAqAAX/sAAK/7ABnP/OAaIAMgGl/84Bu/+mAcD/xAHD/84B2//YAeD/7AHj/9gCBv+wAgr/sAJg/8QCZP+6Amb/ugKJ/84Civ/YApX/pgKW/9gCl//OApn/zgKd/84Cnv/YAp//xAKg/+wCof/EAqL/7AKl/+ICpv/sAqf/4gKo/+wCtP/EArX/7ALd/8QC3v/sAu3/pgLu/9gC7/+mAvD/2AL3/84C+P/YABkABf+6AAr/ugHb/84B4P/sAeP/zgIG/7oCCv+6AlH/7AJl/+wCZ//sAm//7AKK/84Clv/OApj/7AKa/+wCnv/OAqD/7AKi/+wCpv/sAqj/7AK1/+wC3v/sAu7/ugLw/7oC+P/OAA4BnP/sAaX/7AG7/+IBw//sAmT/9gJm//YCif/sApX/4gKX//YCmf/2Ap3/7ALt/+wC7//sAvf/7AAGAb3/4gHo/+wB7f/YAlv/7AJh/+wC+f/2ACoABf/iAAr/4gGc/+wBpf/sAbv/xAHA/9gBw//sAdv/7AHc//YB4P/2AeP/7AH1//YCBv/iAgr/4gJg/9gCZP/iAmb/4gKJ/+wCiv/sApX/xAKW/+wCl//OApn/zgKd/+wCnv/sAp//2AKg//YCof/YAqL/9gK0/9gCtf/2Atj/9gLa//YC3P/2At3/2ALe//YC7f/YAu7/7ALv/9gC8P/sAvf/7AL4/+wAEwAF/84ACv/OAdv/7AHc/+wB4//sAfX/7AIG/84CCv/OAor/7AKW/+wCmP/sApr/7AKe/+wC2P/sAtr/7ALc/+wC7v/YAvD/2AL4/+wAKwAF/+IACv/iAaIAMgG7/+wBvf/sAcD/2AHb/+IB4P/sAeP/4gIG/+ICCv/iAlH/9gJg/9gCZP/sAmX/9gJm/+wCZ//2Am//9gKK/+IClf/sApb/4gKX/+wCmP/2Apn/7AKa//YCnv/iAp//2AKg/+wCof/YAqL/7AKl/84Cpv/sAqf/zgKo/+wCtP/YArX/7ALd/9gC3v/sAu3/2ALu/84C7//YAvD/zgL4/+IAAQG9/+wAAQHo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AFkAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAAAAAAAAAAAAAAAAAAAAA/9gAAP/i//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ugAAAAAAAAAAAAD/2AAA/7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAP/iAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+wAAAAAAAAAAAAA/+z/9v/s//YAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAA/+z/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAP/2//YAAAAAAAAAAAAA/+IAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAA/84AAP/OAAAAMgAA/+L/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAA/+IAAP/Y/8QAAAAAAAAAAAAAAAD/xAAAAAD/zgAAAAAAAAAAAAAAAAAA/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4v+wAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9j/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/nAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA/+wAAAAA/84AAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/84AAAAA/+z/7P/i/87/xP/EAAAAAAAAAAAAAAAAAAAAAAAA/+IAAP/OAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/OAAD/xAAAAAAAAAAAAAAAAAAA/+z/7AAAAAD/9v/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/i/7AAAAAA/7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAP/EAAAAAAAAAAAAAAAA/84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/E/+wAAAAAAAD/ugAAAAAAAAAAAAAAAAAAAAAAAAAAADIAAAAAAAAAAAAA/7oAAP/i/+wAAAAAAAAAAAAA/+z/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAABQAAAAAAAAAAAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAAAAAAAAAAP/i/9j/9v+6/8T/2AAAAAAAAAA8AAAAAP/sAAAAAP/OAAD/ugAAAAoAAAAAAAD/7P/EABQAAAAAABQAAAAAAAAAAAAAAAAAAP/i/+wAAAAAAAAAAAAA/7oAFP+6AAAAAAAAAAAAAP/iAAAAAAAAAAD/4gAAAAAAAP+6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7AAAP+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAUAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAA/84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/Y/+IAAAAAAAAAAAAAAAAAAAAA/+wAAAAA/8QAAAAAAAAAAAAA/84AAAAAAAD/7AAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/84AAAAAAAAAAAAAAAD/ugAAAAAAAP/sAAAAAAAAAAAAAAAAAAD/7P/EAAAAAAAAAAD/2P+w/84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/E/87/2P/sAAD/ugAAAAAAAAAAAAD/7AAAAAAAAP/YAAAAAAAAAAD/zgAA/7oAAP+6/87/2AAAAAAAAAAA/+L/xAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/E/84AAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAD/7P/sAAD/7AAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAP/i/84AAAAAAAAAAP/s/87/2AAAAAAAAAAAAAD/zgAAAAAAAAAA/+wAAAAAAAD/9v/2/+z/9v/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+IAAAAA/8QAAAAAAAD/7AAAAAAAAP/2AAD/4gAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAARgAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAA/+wAAP/E/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAD/xAAA/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zgAAAAAAAAAAAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA/+wAAAAA/+wAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAA//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAA/87/zgAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7oAAAAAAAAAAAAA/+L/ugAA//YAAP/OAAD/xP/YAAAAAAAAAAAAAP+6AAAAAAAAAAD/ugAAAAD/7P/s/87/sP/E/7oAAAAAAAAAAAAAAAD/7AAAAAD/4gAA/7oAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAA/+z/4gAAAAAAAAAA/7oAAP/EAAAAAAAAAAAAAAAUAAD/7P/YAAAAAP/s/8QAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+L/xAAAAAD/pgAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAP/iAAAAAAAA/+IAAAAA/9j/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/i/+IAAAAAAAAAAAAAAAAAAAAA/84AAAAAAAAAAAAA/+z/4gAAAAAAAAAAAAD/2P/iAAAAAAAAAAAAAP+6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAP/s/84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAD/7AAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAP/EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAD/zgAAAAD/9gAAAAAAAP/sAAD/zgAAAAAAAAAA//YAAAAAAAAAAAAA/8QAAAAA/84AAAAA/7r/sAAA/8T/xP/Y/+wAAAAAAAAAAAAAAAAAAP/EAAAAAAAAAAD/ugAAAAAAAAAAAAD/zgAAAAAAAAAAAAAAAAAA/87/ugAAAAAAAP/EAAD/xP/EAAAAAAAAAAAAAP+6AAD/2AAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAP/YAAAAAAAA/+wAAAAAAAAAAAAAAAAAAP/s/84AAAAAAAAAAAAAAAD/2AAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/87/zgAA/+wAAP/EAAAAAAAAAAAAAAAAAAAAAAAA/+wAFAAAAAAAAP/sAAD/zgAA/+L/7AAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/87/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/OAAD/ugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAD/9v/2AAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAP/OAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAA/84AAAAAAAAAAAAA/9j/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8T/2AAAAAAAAP/EAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAP/sAAD/2P/2/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4v/iAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP+6AAAAAAAAAAAAAP/EAAAAAAAA/+wAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAA/+z/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAD/zgAAAAAAAAAAAAD/4v/iAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P+wAAAAAAAAAAAAAP/Y/+wAAP/i/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAA//YAAAAA//b/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAABGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/87/7AAAAAAAAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/34AAAAAAAAAAP/OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/fgAAAAAAAAAAAAAAAP/OAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/84AAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAD/sAAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/sAAAAAAAA/+wAAAAAAAD/zgAAAAAAAAAAAAAAAAAAAAD/ugAA/7oAAAAeAAD/zv/OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zgAAAAD/2AAA/87/xAAAAAAAAAAAAAAAAP+wAAAAAP/OAAAAAAAAAAD/2AAAAAD/ugAA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AT4APQFCAUIAAwFDAUMAAgFEAUQABQFGAUYABAFVAVUACQFZAVkACgFaAVoAFwFbAVsADgFcAVwAEAFdAV0ADAFeAV4ACQFgAWAAVwFhAWEACQFlAWUAFwFmAWYACgFnAWcAVgFoAWgACQFsAWwAFwFuAW4AVAFwAXAAVwFxAXEADgFzAXMAVgF1AXUAEAF2AXYACgF3AXcADgF4AXgAFQF6AXoAFAF7AXsAAQF9AX0AFQF/AX8ATwGDAYMAFAGFAYUAAQGJAYkATwGLAYsAGAGNAY0AGAGPAY8AWAGSAZIAGAGWAZYADAGYAZgAGAGcAZwAJgGdAZ0AJQGeAZ4AMQGjAaUAJgGmAaYAGQGnAacAHwGpAakAMwGrAasAMgGsAawAJQGtAa0AEgGvAa8AGQGwAbAAMgGzAbMAGQG3AbcADQG5AbkAUwG6AboAMQG7AbsAJQG8AbwAHwG+Ab4AGQG/Ab8AEgHCAcIAEgHDAcMAJgHFAcUAJgHGAccADQHJAckAQgHMAcwAHgHNAc0AEQHOAc4AHQHPAc8AGgHTAdMAGgHXAdcABgHZAdkABgHbAdsAHgHcAdwAHAHdAd0ABgHeAd4AGgHfAd8AEQHiAeIAEQHjAeMAJAHlAeUAJAHmAecABgHpAekAHQHqAeoAUgHrAesAHgHxAfIAJAHzAfMAUgH0AfQAGgH1AfUAHAH3AfcAJQH4AfgAHgH5AfkAJwH6AfoACwH7AfsAJwH8AfwACwH9Af0AJwH+Af4ACwH/Af8AGwIAAgAACwIBAgMAOwIFAgYAIQIHAgcAPAIJAgoAIQILAgsAPAITAhMATgIUAhQATQIgAiAAEAJAAkAADgJDAkMAAgJEAkQAAwJFAkUAAgJHAkcAKQJIAkgAIgJJAkkAKAJKAkoAIAJOAk4AHQJQAlAADQJRAlEAOAJSAlIASwJTAlMAJAJUAlQAMQJWAlYAMwJXAlcASgJYAlgAMwJZAlkASgJaAloASQJcAlwASQJeAl4AMgJhAmEABgJiAmIADQJjAmMABgJkAmQAHwJlAmUAOAJmAmYAHwJnAmcAOAJoAmkAHAJqAmoADQJrAmsABgJsAmwADQJtAm0ABgJuAm4ADQJvAm8AOAJwAnAAMQJ1AnUAEgJ2AnYAEQJ3AncASwJ4AngAJAJ5AnkAUwJ6AnoABgJ7AnsAPgJ8AnwASAJ/An8ANwKAAoAALwKBAoEAMgKDAoMANwKEAoQALwKFAoUAGQKGAoYAGgKHAocAGQKIAogAGgKJAokAGQKKAooAGgKLAosAEgKMAowAEQKNAo0APgKOAo4AHgKSApIABgKTApMAMQKVApUAJQKWApYAHgKXApcARwKYApgARgKZApkARwKaApoARgKbApsANwKcApwALwKdAp0AEgKeAp4AEQKfAp8AEgKgAqAAEQKlAqUARQKmAqYAHQKnAqcARQKoAqgAHQKqAqoAGQKrAqsAGgKuAq4AEgKvAq8AEQKyArIAEgKzArMAEQK2ArYAEgK3ArcAEQK5ArkAMwK6AroAQgK7ArsAMwK8ArwAQgK+Ar4AHQLAAsAAHQLBAsEADQLCAsIABgLDAsMADQLEAsQABgLFAsUAGQLGAsYAGgLHAscAMgLPAs8ADQLQAtAABgLRAtEADQLSAtIABgLTAtMADQLUAtQABgLVAtUADQLWAtYABgLXAtcAHwLYAtgAHALZAtkAHwLaAtoAHALbAtsAHwLcAtwAHALfAt8AJQLgAuAAHgLjAuMAPgLkAuQASALlAuUANwLmAuYALwLnAucAGQLoAugALwLrAusANgLsAuwALgLtAu0ANgLuAu4ALgLvAu8AEgLwAvAAEQLxAvEANgLyAvIALgLzAvMANgL0AvQALgL4AvgALgL7AvsAEgL8AvwAEQL9Av0AAwL+Av4AAgL/Av8AAwMAAwAAAgMBAwEAAwMCAwIAAgMDAwMAAwMEAwQAAgMFAwUAAwMGAwYAAgMHAwcAAwMIAwgAAgMJAwkAAwMKAwoAAgMLAwsAAwMMAwwAAgMNAw0AAwMOAw4AAgMPAw8AAwMQAxAAAgMRAxEAAwMSAxIAAgMTAxMAAwMUAxQAAgMVAxUABQMXAxcABQMZAxkABQMbAxsABQMdAx0ABQMfAx8ABQMhAyEABQMjAyMABQMpAykABAMrAysABAMtAy0ABAMvAy8ABAMxAzEABAMzAzMABAM1AzUABAM3AzcAKQM4AzgAIgM5AzkAKQM6AzoAIgM7AzsAKQM8AzwAIgM9Az0AKQM+Az4AIgM/Az8AKQNAA0AAIgNBA0EADwNDA0MADwNFA0UAKANGA0YAIANHA0cAKANIA0gAIANJA0kAKANKA0oAIANLA0sAKANMA0wAIANNA00AKANOA04AIANPA08AGwNQA1AACwNRA1EAGwNSA1IACwNTA1MAGwNUA1QACwNgA2AANANhA2EAMATKBMsADgY+Bj8AFQZABkUABwZGBk0ACQZaBlsAFAZqBmsAAQZsBnEADAZyBnkACgZ6BnsAGAaABoUAFwaOBpEADgaaBqEAEAaiBqMAFQamBqcAFAaoBqkAAQaqBqsAGAawBrEAFQayBrcABwa4Br8AAQbABsEAFAbIBs8AAQbYBt8AAQbgBuEABwbiBuQAFQblBuYABwbnBuoACQbrBusAAQbxBvMAFAb6BvoAAQb+BwMADAcEBwcACgcPBxAAGAcTBxYADgcXBxcAVAcgByEAFwciByMAEAckByQAAQiGCIYAUAiNCJcAFgibCKAAIwihCKQACAjFCMYATAjHCMgAQAjJCMkAPwjKCMoAQAjLCMwAPwjUCN4ACAjiCOIACAjuCO4AOQjwCPIAOQjzCP0AEwj/CQMALQkFCQkALAkKCQ0ANQqlCqUAQQqnCqcAQQquCq4AQQACAgwABQAFADoACgAKADoADAAMAD8ADwAPACwAEAAQADsAEQARACwAJAAkAAkAJgAmAAUAKgAqAAUAMgAyAAUANAA0AAUANwA3ADIAOAA4AAwAOQA6ACIAPAA8ABkAPQA9AD0AQABAAD8ARABEAAcARQBFABQARgBIAAEASQBJABsASgBKACoASwBLABQATgBPABQAUABRAAYAUgBSAAEAUwBTAAYAVABUAAEAVQBVAAYAVgBWADkAVwBXACgAWABYAAYAWQBcABAAXQBdADUAYABgAD8AbQBtAEwAfQB9AEsAggCHAAkAiACIAFEAiQCJAAUAlACYAAUAmgCaAAUAmwCeAAwAnwCfABkAogCiAAEAowCoAAcAqQCtAAEAtAC4AAEAugC6AAEAuwC+AAYAvwC/ABAAwADAABQAwQDBABAAwgDCAAkAwwDDAAcAxADEAAkAxQDFAAcAxgDGAAkAxwDHAAcAyADIAAUAyQDJAAEAygDKAAUAywDLAAEAzADMAAUAzQDNAAEAzgDOAAUAzwDPAAEA0QDRAAEA0wDTAAEA1QDVAAEA1wDXAAEA2QDZAAEA2wDbAAEA3QDdAAEA3gDeAAUA3wDfACoA4ADgAAUA4QDhACoA4gDiAAUA4wDjACoA5ADkAAUA5QDlACoA5wDnABQA+AD4ABQA+QD5AAYA+wD7ABQA/QD9ABQA/wD/ABQBAQEBABQBBQEFAAYBBwEHAAYBDAEMAAYBDQENAAUBDgEOAAEBDwEPAAUBEAEQAAEBEQERAAUBEgESAAEBEwETAAUBFAEUAAEBFgEWAAYBGAEYAAYBHAEcADkBIAEgADkBIwEjADIBJAEkACgBJQElADIBJgEmACgBJwEnADIBKAEoACgBKQEpAAwBKgEqAAYBKwErAAwBLAEsAAYBLQEtAAwBLgEuAAYBLwEvAAwBMAEwAAYBMQExAAwBMgEyAAYBMwEzAAwBNAE0AAYBNQE1ACIBNgE2ABABNwE3ABkBOAE4ABABOQE5ABkBOgE6AD0BOwE7ADUBPAE8AD0BPQE9ADUBPgE+AD0BPwE/ADUBQgFCAAkBQwFDAAcBRAFEAFEBRQFFAAcBRgFGAAUBRwFHAAEBSQFJADkBXQFdAA8BXgFeADMBYQFhADMBZQFlAFABaAFoADMBbAFsAFABcQFxACMBdwF3ACMBeAF4AAsBeQF5ACsBegF6ABIBewF7ACkBfAF8AAIBfQF9AAsBfwF/AE0BgQGBACsBgwGDABIBhQGFACkBhgGGABIBiAGIABIBiQGJAE0BiwGLAAsBjAGMAEkBjQGNAD4BjgGPAAsBkAGQAEkBkQGRAAIBkgGSAAsBlAGVAAIBlgGWAA8BlwGXAAIBmAGYAAsBmQGaAAIBnAGcAB8BngGeAA4BowGjAB4BpQGlAB8BpwGnADABqQGpADEBrQGtAB4BrwGvABgBsAGwACEBtAG0AB4BtwG3AA4BugG6AA4BuwG7AE4BvAG8ADABvgG+ABgBwAHAACABwwHDAB8BxgHGACEByQHJAB0BywHMAAMBzQHNABcBzgHOAAoBzwHPABYB0AHQAC8B0QHTAAMB1AHUABcB1QHWAAMB1wHXAAoB2AHZAAMB2gHaAAoB2wHbABwB3AHcAC4B3QHdAAoB3gHeABYB3wHfAAMB4AHgAC0B4QHiAAMB4wHjABwB5AHlAAMB5gHmAC8B5wHnAAMB6QHpAAoB6gHqADwB6wHrAAMB7AHsAAoB8QHxABcB8gHyAAMB8wHzADwB9AH0AAMB9QH1AC4B9gH2AAMB+AH4AAMB+QH5ACIB+gH6ABAB+wH7ACIB/AH8ABAB/QH9ACIB/gH+ABAB/wH/ABkCAQIDADsCBgIGADoCBwIHACwCCgIKADoCCwILACwCDwIPACwCEwITAEwCFAIUAEsCQAJAACMCQwJDAAYCRAJEAAkCRQJFAAcCRwJHAAUCSAJIAAECSQJJAAwCSgJKAAYCTgJOAAoCTwJPAAMCUAJQAA4CUQJRADcCUgJSACcCVQJVAAMCVgJWADECVwJXABcCWQJZAAMCXQJdAAMCXgJeACECYAJgACACYgJiAA4CYwJjAAoCZAJkAEgCZQJlADcCZgJmAEgCZwJnADcCaAJoAA4CaQJpAAoCagJqAA4CawJrAAoCbAJsAA4CbQJtAAoCbgJuAA4CbwJvADcCcAJwAA4CcQJxAAoCdgJ2AAMCdwJ3ACcCeAJ4ADwCegJ6AAMCewJ7ACcCfgJ+AAMCfwJ/ABgCgAKAABYCgQKBACECggKCAC8ChAKEAAMChgKGAAMChwKHACcCiAKIADwCiQKJAB8CigKKABwCjAKMAAMCjgKOAAMCkAKQAAMCkQKRAA4CkgKSAAoCkwKTAA4ClAKUAAoClQKVAE4ClgKWABwClwKXAEcCmAKYAEYCmQKZAEcCmgKaAEYCmwKbABgCnAKcABYCnQKdAB8CngKeABwCnwKfACACoAKgAC0CoQKhACACogKiAC0CpAKkAAMCpQKlAEUCpgKmAEQCpwKnAEUCqAKoAEQCqgKqABgCqwKrABYCrQKtAAMCrgKuAB4CrwKvABcCsQKxAAMCswKzAAMCtAK0ACACtQK1AC0CtwK3AAMCuQK5ADECugK6AB0CuwK7ADECvAK8AB0CvQK9ADECvgK+AB0CwALAAAoCwQLBAEMCwgLCAB0CwwLDAEMCxALEAB0CxQLFABgCxgLGABYCxwLHACECyALIAC8CzALMAAMCzgLOAAMCzwLPAA4C0ALQAAoC0QLRAA4C0gLSAAoC0wLTAA4C1ALUAAoC1QLVACEC1gLWAC8C1wLXADAC2ALYAC4C2QLZADAC2gLaAC4C2wLbADAC3ALcAC4C3QLdACAC3gLeAC0C4ALgAAMC4gLiAAMC4wLjACcC5QLlABgC5gLmABYC5wLnABgC6ALoABYC6QLpAEIC6gLqAAoC6wLrAEIC7ALsAAoC7QLtAEEC7gLuAEAC7wLvAEEC8ALwAEAC8QLxAB4C8gLyABcC9AL0AAMC9QL1AA4C9gL2AAoC9wL3AB8C+AL4ABwC+gL6AAoC+wL7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G1wPUBPQG8ga0huwD1YPXBrSG7Aa0huwGtIbsBrwG84PYhNYGvAbzhquGkgZZF/gYARf4GAEX+BgBBm+G7YekhvUD2gPbh6SG9Qa9hziGvYc4g90E44a9hziD3oPgF9AXy5fQF8uHBYbCBwWGwgcFhsIHBYbCBwWGwgPhhv+F+QZpkwoGAhMKBsgGAIbIBgCGyAYAhtKD4wdtBu8GmwUfh0wHKwPkg+YD54PpBfkEiAachl2GZQdhF9SEzobMhrSGwgbIBrqX+AZgh3YHCgdJBrwG8hf4BwWHp5HYF9ATCgSyBysGjAduhmCTCgenhyaGWQdhBo8Hp5IJhvaYAQcmg+2GWQbCB2EG8hfQB02R2YPqmAED7AZjg+2EiAUYBo8D7weDhsaGaYdhBo8YAQaPBmmGwgPwhsyHbQa9hmCGYIdwBmyExwPwhp4QOIPyF9SHhQdchsyHSobCBR+X84duh26GngdHh0kGupf4BwWHp4a6l9AQOISyBysER4RWg/OD9QP2hQMD+AemA/mFHIbvF/OE74P8h2cGyAdMF/yHcwdzBxqHZZIJhPKYAQd6huYHeQazBgIFE4dxg/sEWAdbB1sEwQa2BsgGswdihKGGyAZZA/yHJQc4h6MGzgbXBgUD/gbzhxqGAgP/hAEEy4X5BmmF+QZphfkGaZMKBgIFkYduhtcHSQbthAKEBAdMF/OGuobCBsIHbobIB3MF+QQXhAWHXIQHBAiECgTvhAuEDQQOkDiG4YQQBBGEEwaMBsaHTAcrF9SGipfUhoqEFIQWBfkEF4b8hBkEGoQcB14GyAVyBukHBwTNBB2EHwQghCIEI4QlBCaEKAaeBxqGngbyBFaE8oQphCsHWATyhCyELgRABPKEL4QxBDKENBMKBJETCgSRBDWENwQ4hDoEO4Q9BFaHCgRWh3qEPoRABEGEQwZghR+HTAREhEYER4RJBEqETARNhE8EUIRSBFOEVQZgl9SG7xfUhu8GmwUfhsIGyASPhssEj4bLBR+HTBfzl/yGYgTsh26Hcwduh3MX+BgBB0wHKwdMBysHpgazEDiGAhA4hgIQOIYCBFaEWARZhFsFAwa2BFyEXgRfhGEHKwdxh4UG6oZmhg+GD4RihGQEZYRnBmUEaIRqBGuFHIRtBG6YAQcmhHAEcYRzBHSX1IbvF9SG7xfUhu8X1IbvF9SG7wRzBHSX1IbvF9SG7xfUhu8X1IbvBHMEdISAhf2GwgbIBsIGyAbCBsgGwgbIBsIGyAbCBsgEgIX9hmCGzgR2BHeEeQR6l/gYARf4GAEX+BgBF/gYARf4GAEEeQR6hquGngarhp4Gq4aeBquGngR8BH2EfwSAhwWGwgSCBMEEggTBBIIEwQSCBMEEg4SFBIaGAhMKBgITCgYCBIgHg4SJh4UHWAeFB4UHXIVyBrMGuod5BIsGjAeFB4UEjISOBI+X84SRBrYErAYbhJKGYId6hvIGzhfQF9qElAZZB0wE/QSVhJcG6QSYhJoHOJHYBJuE5oSdBJ6Hg4duhKATCgeDhu8GyYZiBmIE7ITshKGE8Rf8hKMFtwSkh1gEpgSnhLUEtoS4BKkEqoSsBK2ErwSwl9SG7wZghs4X+BgBBwWGwgcFhsIHBYbCBwWGwgcFhsIX1IbvF9SG7wabBR+EsgbpBquG8Id2BvIEs4cxBLOHMQZiBOyEtQS2hLgGq4bwhMcEuYa8BvOX1IbvF9SG7wbCBsgGwgbIBmCGzgZghs4X+BgBF/gYAQekhvUHpIb1BwWGwgcFhsIEuwS8hrqHeoS+BL+EwRfzhMKExBfUhu8FtwW4l/gYARf4GAEX+BgBF/gYARMKBgIExYZcB1mExwTIl9SGuoTKBrSX0ATjhOmEy4TNBM6HBYcKBsIE0ATRhuYE0wbpB6SG9RMKBgIG7weFB4UHhQZ7hwcG6QeFBssGywcmmAEG5gbpBvCE8QTUhz0E1gbzhlkHowdhF64Ge4TXhuYE2QYbhNqE2oZZBlkE3AcrBN2Gq4UTh2EHYQTfBN8E3wTghOIG7wbvBOOG5gbmBuYG5gTlBOaGwgVyBvOHPQZphboE6ATphOsE7ITshPcE9wT3BO4X+ATvmAEE8QTyhuYE9AT1hukE9wT3BPiE+gT7hP0E/oUABQGFAwa8BQSHC4UGBQYFB4WRhtuFDwV/hQkFSwUKhQwFDYUPBZSFEIVXBuMHeQbjBRIFE5IJhmOHhQUVBtEFFoUYBRmHC4UbBRyGY4d5BtcHTAclBrMHp4bpBrqSooUeBmOGnga6hp4GuQbnhfkGaYcHBq6FH4deBzWGyAbIB1aHNwUhBSKGvYcfBSQHeoUlhzWHCgcKBwoG7ZHZj+eG84UqBsyGzIdWh6eHCga2BScHNYcFhgCG4wUohSoFKgUrhS0FLoUuhTAFmoUxhTMFNIU2BTeFOQVShTqFXQVdBTwFPYeqhT8FQIVCBUOFRQVFBXUFRoVIBUmHagVLBUyFTgV8hU+FUQeUBYWFUoVUECCFkYVVhVcFmoV1BViFWgVbhV0FXoWIhWAFYYVjB4mFZIVmBWeFaQVqhWwFbYbzhW8FcJeuB2EG5gVyBuSG6pfZBvCFc4bmBXUFdoV4BYiFeYV7BY0FfIV+BzoFf4WBBYEFjQWNBYKFhAWEBYWFhYWHBYiFigWLhY0FjoWahZAHqoWRhZMFlIWWBZeFmQWah1yG5IWcBZ2FnwWghb6FogWjhuqFpQWmhagFqYWrBayFrgWvhsIGyAbCBsgFsQWyhbQFtYW3BbiFuhfZBquG8Ia6h3qFu4W9BrqHeoW+hsUFwAXBhcMFxIZghs4HdgbyBcYFx4XJBcqFzAXNhcwFzYXPBdCF0gXTh0kG7YXVBdaGvAbzhdgF2YXbBdyF3gXfl/gYARf4GAEX+BgBF/gYAQenhuYHp4bmB6SG9QXhBeKF4QXiheQF5Ya9hziF5wXohr2HOIa9hziF5wXol9AXy4XqBeuF7QXuhfAF8YcFhsIHBYbCBfMF9IcFhsIHBYbCB14HNYX2BfeF+QZphfqF/AcrB3GHKwdxkwoGAgbIBgCF/YX/BsgGAId6l8uGaYYCBu8G0oenh6eHp4enh6eHp4enh6eX1JfUhgOGD4YIBgUGBoYIByaHJocmhyaHJocmkwiTCIYJhgsGDIYOBlkGWQZZBlkGWQZZBlkGWQYPh1sGEQYShhQGFYYXBhiHYQdhB2EHYQdhB2EHYQdhGAEHC4ZmhhoGG4YdEqKSopgBGAEYARgBGAEYAQachh6GIAYhhiMGJIaPBo8GjwaPBo8GjwaPBo8GcQYmBieGKQZphmmGaYZphmmGaYZphmmGZQYqhiwGLYYvBjCGMgYzh6eHp4cmhyaGWQZZB2EHYRgBGAEGjwaPBmmGaYZUhlSGVIZUhlSGVIZUhlSGNQY2hjgGOYY7Bl8GPIY+BlkGWQZZBlkGWQZZBlkGWQY/hkEGQoZEBkWGSIZHBkiGawZrBmsGawZrBmsGawZrBkoGS4ZNBk0GToZQBlGGUwenh6eGVIZUhlSHp4ZUl9SX1IZWF9SGV4ZZBlkGWQZZBlkGWoZcBl2HWwZfB2EHYQdhB2EHYQdhBmCGYIdEhmIGjwaPBo8GjwZjhmOGjwaPEwoTCgZlBmaGaAZrBmsGawZphmsGbIZuBm+GcQZyhnQGdYZ3BniGegbthnuGzIbsBsyHp4dNhn0GfoaABoGGgwaEhoYGh4aJBoqGlQaMBz0HBAdWho2Hp4enh6eHp4enh6eHp4enh2EHYQdhB2EHYQdhB2EHYQaPBo8GjwaPBo8GjwaPBo8HYQdhB2EHYQaPBo8GjwaPBpCGkgaThpUGloaYBpmGmwachp4HGoafhqEGooakBqWGpwaohqoGq4atBq6HbQawB4UGsYazB3YHdgd2BrSX+Bf4B6eGtga3hrkGuQenh50GvAa6h3YGvAa9hr8X85D3BsCX1IbCBsOHBYbFBsaHLIbOBtcYAQbIF/yGyYbLBsyGzgbPhtcG0QbShtKHKwbUBtWG1wbXBtuG1wbYhtoHOgbbht0G3obgBuGG4wbyBvIG8gbsBuSG5gbnhueHNYbpBukG6obsBu2G84bvBvOYAQbwhvIG84b1BziSCZLJhwuG9ob4BvmG+wb8hv4G/4cBBziHBAcEBwQHBAcEBwQHBAcChwQHBAcEBwWHBYcHBwoHCgcKBwiHCgcKBwuHC4cLhwuHDQcNBw0HDQcNBw0HDQcNBw0HDocQBxMHEwcTBxGHEwenmAEHp4cXhxeHF4cXhxeHF4cXhxSHF4cWBxeHGQcZBxqHHAc3BzcHNwcdhzcHHwcgh1yHXIdchyIHI4dch1yHXIdch1yHXIdch1yHXIdch1yHXJIJhyUHJocoBz0HPQc9BymS25LbktuHLhLbhy+HKwcsktuS24cuBy+YARgBGAEYARgBGAEYARgBBzEYARgBBzKHNAc0BzQHNAc0BzWHNwc3BzcHNwc3BziHOIc4hziHOgc7hz0Hp5EBhz6HQAdBh0MHRIdGB0qHR4dJF/gX+AdKh0wHTYdPB1CHUgdTh1UHVodYB1mHWwemB1yHXgdfh2EHYodkB2cHZZIJh2cHaIdqB2uHbQduh3AHfwdxh3MHdJKqF9SX84d2B3eHeQd6l9kYAQenh3wHfYd/B4CHggeCB4OHhQeGh4gHiYeLB4yHjgePh5EHkoeUB5WHlweYh5oHm4edEqEHnoegB6GHowekh6YHp4epB6qHrAetgABAUr/HgABAY7/IwABAXcAAAABAUL/PAABAAL/UAABAU//IwABAS7/IwABAIj/IwABAYT/IwABAVH/IwABAIf/IwABAQT/EAABARr/IwABAN7/IwABAXD/HgABAR7/EAABAQT/IwABAPP/IwABAVAAAAABAYsAAAABAPL/QAABAVYAAAABAPT/QAABAXX/EAABAXwAAAABAXD/PgABAg0AAAABAhQAAAABAV8AAAABAUAAAAABAhEAAAABAT//QwABAN8AAAABAbsAAAABAUD/RAABAREAAAABAUr+6QABAR/+6QABAVIAAAABApAAAAABAhcAAAABAV0AAAABAloAAAABAggAAAABAXgAAAABAiEAAAABASz/JgABAP//NAABAnH/EAABAi//EAABAZkAAAABAPv/EAABAYj/PgABAVP/RAABAVL/BgABARX/CwABAdf/PgABAaT/RAABAS//HgABAP//HgABAVz/PgABASf/QwABAXv/PgABAUP/RAABAiH/BgABAbX/CwABAXP/HgABARz/HgABARr/PgABAPn/RAABAU3/PgABASH/QwABAbn/PgABAXT/RAABAW//PgABAUb/QwABAfsAAAABAYYAAAABAfv/PgABAYb/RAABAWX/BgABASb/CwABAXn/PgABATv/RAABAXP/BgABAT3/CwABAYn/PgABAVf/RAABAWH/PgABATn/QwABAdz/PgABAZP/RAABAWEAAAABATkAAAABAQ7/PgABAN//RAABAQ3/LgABAOL/MQABAUv/LgABASH/MQABAZ4AAAABAUf/PgABAR//RAABAfQAAAABAgAAAAABAdAAAAABAYIAAAABAWwAAAABAVQAAAABAXT/LgABATn/MQABAUr/RgABAR//RgABALH/RgABAIr/RgABAYr/RgABATD/RgABAY7/RgABAT3/RgABAXD/RgABAS3/RgABAZYAAAABAZb/RgABAV7/RgABAST/RgABAToAAAABAN7/EAABAW4AAAABATD/IQABAQoAAAABAX4AAAABAQj/EAABANQAAAABAYT/EAABAbP/EAABAWAAAAABAT3/nAABARMAAAABALz/EAABASYAAAABAMAAAAABAW8AAAABAR0AAAABAO0AAAABAKIAAAABAQL//wABAIkAAAABAhr/PAABAjL/EAABASn/EAABAwn/PAABAyH/EAABAo//EAABAZoAAAABAYr/HgABA/8AAAABA9EAAAABA2AAAAABAU3/EAABASX/jAABAPT/UgABAXb/EAABAbH/lwABAV4AAAABASz/LgABAO7/MQABAMcAAAABAeUAAAABAeX/EAABARz/MAABAOUAAAABAOIAAAABAUgAAAABASz/MAABAJL/PAABAYH/EAABAQf/EQABATv/IwABALcAAAABAVj/EAABAdv/EAABAUkAAAABAbEAAAABANX/EAABALUAAAABALX/EAABAPP/EAABAMD/hwABAMD/EAABAPsAAAABAO7/EAABART/qQABAQX/EAABAPH/EQABASgAAAABASMAAAABAUMAAAABARj/IwABAOAAAAABAN0AAAABAswAAAABAsX/EAABAsz/qQABAiIAAAABAV//EAABApD/9gABAkz/EAABAbQAAAABAQMAAAABAT7/EAABAM4BHwABAIoAjwABAQYBHwABAEIAjwABAKsAkAABAFgBHwABALEBHwABASz/9gABAXj/EAABAPT/MwABAO//EAABAPkAAAABARX/EAABAQL/EAABAUQAAAABAXn/EAABAbgAAAABAI7/MwABAOL/bwABAXIAAAABAT8AAAABATb/hQABAOcAAAABAP4AAAABANcBHwABASUBHwABANEBHwABAN8BHwABAK0BHwABAQMBHwABAPEBHwABAHMBHwABAAEAtQABANoBHwABASYBHwABAQABHwABAOMBHwABANsBHwABALcBHwABAO8BHwABAS4BHwABALsBHwABAR4BHwABANMBHwABAMABHwABALoBHwABAKQBHwABAKEBHwABAF0ApAABALYBHwABAMUBHwABAIEBHwABAFkAjwABAJABHwABATUBHwABAKoBHwABAKUBHwABAPwBHwABAK0AjwABAPIAjwABALcAjwABAFr/oAABAMT/oAABAKr/oAABAPz/oAABAK3/EAABAMb/EAABAPL/EAABALf/EAABAUMDCwABANIBHwABATUAAAABARj/MQABAMoBHwABALkBHwABAK8BHwABAKYBHwABAGgBHwABAMIAjwABAM0AmgABAIoBHwABAGwBHwABAJIBHwABATUAjwABAM0AjwABANYBHwABAMYBHwABAPQAjwABAJ4AjwABAFgAjwABAH0AjwABAMkBHwABAM0BHwABAKsBHwABAJ4BHwABAJoAjwABALMA6wABAKoAjwABAMQBHwABAUL/RgABAUX/RgABAUL/ZQABAUX/ZQABARz/EAABAVcAAAABAVf/RgABASf/RgABAVf/ZQABASf/ZQABAVf/EAABASf/EAABAVf/OAABASf/OAABAS3/OAABASz/OAABAS3/PgABASz/PwABAS3/EAABASz/EAABAQgAAAABAXP/RgABATz/RgABAXP/EAABAXP/PgABATz/PgABALH/QQABAIr/QQABAU//RgABARj/RgABAU//ZAABARj/XwABAS7/RgABAIj/RgABAS7/awABAIj/aQABAS7/OAABAIj/OAABAcX/RgABAd7/RgABAYT/RgABATv/RgABAYT/XAABATv/WgABAYT/OAABATv/OAABAVH/RgABAIf/RgABAVH/YQABAIf/ZwABAQT/RgABAPP/RgABARr/RgABAN7/RgABARr/awABAN7/ZAABARr/OAABAN7/MQABAXD/OAABAS3/MQABATP/RgABAQX/RgABAdEAAAABAdH/RgABAZP/RgABASz/RgABAPT/RgABAPQAAAABAGb/EAABAcIAAAABAawAAAABAacAAAABAaoAAAABAh4AAAABAhkAAAABAg8AAAABAg4AAAABAcYAAAABAlsAAAABAlkAAAABAmQAAAABAlgAAAABAmIAAAABAl4AAAABAboAAAABAdsAAAABAdQAAAABAdIAAAABAm4AAAABAmwAAAABAjsAAAABAjwAAAABAkgAAAABAl8AAAABAncAAAABAckAAAABAmkAAAABAmcAAAABAj8AAAABAkQAAAABAjIAAAABAk8AAAABA1wAAAABA1cAAAABA8wAAAABA9QAAAABA70AAAABA8AAAAABA8MAAAABBBwAAAABBBcAAAABBLYAAAABBLUAAAABBLIAAAABBLEAAAABBKkAAAABBCUAAAABBDIAAAABBMgAAAABBKMAAAABBKsAAAABBJAAAAABBJgAAAABATL/HgABAUwAAAABA2MAAAABATv/EAABAXsAAAABAXkAAAABAcgAAAABA8EAAAABALEAAAABASUAAAABATH/EAABAbkAAAABAccAAAABAYwAAAABAZMAAAABAZP/HgABAd0AAAABAa4AAAABAdcAAAABAbIAAAABA+QAAAABALv/oAABAMP/oAABAMX/oAABALH/oAABALr/oAABAMYAAAABAR//MAABAN7/MAABAYf/PgABATz/QwABAU//PgABARj/QwABAR//PgABAO7/QwABAYEAAAABAQ8AAAABAZ0AAAABAXUAAAABATgAAAABAW//PAABAYT/PAABAWoAAAABAeQAAAABAaAAAAABAZwAAAABAZ//EAABAcMAAAABAbwAAAABAT0AAAABAgn/BgABAaL/CwABAiv/BgABAbz/CwABAXX/PgABATz/RAABAX7/PgABAU7/RAABAY4AAAABAcf/OwABAWsAAAABAXEAAAABAwcAAAABAPoAAAABAS4AAAABAZAAAAABAjgAAAABAYn/VgABAXMAAAABAYQAAAABAQQAAAABAeYAAAABARkCygABAS0AAAABALH/HgABATz/EAABAYj/EAABASwAAAABAO4AAAABAR4AAAABAQwAAAABAIwAAAABAIz/HgABAQ4AAAABAKwAAAABABH/EAABANYAAAABABr/EAABAFv/oAABAIj/MQABABEAjwABAIz/QQABAIz/RgABAnUAAAABAoEAAAABAPUAAAABAUUAAAABAIj/EAABAeT/EAABATf/EAABAScAAAABAIgAAAABAd4AAAABAR8AAAABASr/EAABARgAAAABATsAAAABAIcAAAABAQr/EAABAR//HgABASz/HgABAI//EAABAUf/EAABAIr/HgABAS3/HgABATQAAAABARL/HgABARIAAAABAXAAAAABAQ0AAAABATb/EAABATYAAAABASkAAAABAPgAAAABAPj/HgABANgAAAABAUv/IwABAUsAAAABARf/XQABAJr/HgABAJoAAAABAH3/XQABARYAAAABARb/IwABAPf/IwABAOEAAAABAXoAAAABAUL/IwABAUL/XAABAPwAAAABAP0AAAABAUL/dwABAQf/IwABATEAAAABAOgAAAABAOb/EAABAOb/IwABATD/HgABAQYAAAABAY0AAAABAQUAAAABAPcAAAABAPMAAAABAFoBHwABADIBdAABAQcAAAABAXH/KQABAsb/PgABAWf/OwABAXT/OwABASAAAAABAXj/PgABAWgAAAABAcUAAAABAWX/PgABAYkAAAABAT3/EAABAlf/QwABATX/QwABATr/QwABARsAAAABAS//EAABAOkAAAABAXYAAAABAMsAAAABAcwAAAABAUIAAAABATMAAAABAPIAAAABANUAAAABAagAAAABAUn/QwABASsAAAABAS//QwABAOQBHwABAMMBHwABAOQAAAABAUcAAAABAYgAAAABAAL/PAABARAAAAABAU0AAAABAT//9gABAU8AAAABAZgAAAABARwAAAABATwAAAABAgUAAAABANkAAAABAMwAAAABAd4CIgABAekCHAABARr/EAABATcAAAABAM7/oAABALb/oAABAFj/oAABATf/oAABAM3/oAABAFn/EAABAJ7/oAABAJD/oAABAPMBHwABATcBHwABAI0BHwABAIABHwABAX8CygABAOoAAAABAUUCywABAOoCygABA6gBaQABAucAAAABAnIAAAABAIoAAAABAVEAAAABAUEAAAABATIAAAABAJgCFwABAMcBHwABAYACygABAjMAAAAEAAAAAQAIAAFM3gAMAAFNBAIWAAEBAwAnACsALwAyADcARwBLAE8AUgBXAJQAlQCWAJcAmAC0ALUAtgC3ALgA0ADRAOYA5wD6APsA/AD9AP4A/wEAAQEBDQEOAQ8BEAERARIBIwEkASUBJgEoAVgBWgFkAWUBbAFwAYsBmAG2AbcBuwHXAmkCpALPAtAC6gMpAyoDKwMsAy0DLgMvAzADMQMyAzMDNAM1AzYDYANhA6EDogOjA6QDpQOmA64DrwPGA8cDyAPJA8wDzQPOA+ED4gPjA+QD7wPwA/sD/AP9A/4D/wQABAEEAgQNBA4EMgRUBGUEfQSjBP0FHAUgBSQFKAUsBTQFPgVDBW0FjwW0BbUFtgW3BbgFuQW6BbsFvAW9BcwFzQXOBc8F0AXRBdIF0wXUBdUF4AXhBeIF4wXkBeUF5gXnBfQF9QX2BfcF+AX5BfoF+wYSBhMGFAYVBhYGFwYYBhkGOAY5BmIGYwZkBmUGZgZnBmgGaQZ6BnsGfAZ9Bn4GfwaABoEGggaDBoQGhQaqBqsGyAbJBsoGywbMBs0GzgbPBvgG+Qb6ByAHIQdCB2MHZQffB+QH7gfvB/AIBQgRCBYIHwhHCFEIUghkCGUIggiICIoIiwiMCKEIowi1CLcIxwjICMkIygjLCNQI1QjWCNcI2AjZCNoI2wjeCO4I8AjxCPIJLgmtCboJvAnfCeEJ5gnrCtYK2QvKAQMCXALaA3ZANALyAxYexEAWQEZABEA0QDRANEA0QDRARkBGQEZARkBGAlwDFgLaHsQDdkAWA3ZAFgN2QBYDdkAWQDRARkA0QEZANEBGAvJABALyQARABAIIAoYC2kA0QDQC8kBGQEYC2kA0AvJARkBGHsRANEBGAxZANEBGQDRARkA0QEZANEBGQDRARkA0QEZANEBGAvJABAJcAlwDFgN2A3ZAFkA0QEZANEBGQDRARgJcAlwDFkA0QEZANEBGAtoexEA0QEZANEBGQDRARkA0QEYDdgLyHsQCDkA0AhQCGgIgAiYCLAIyAjgCPgJEAkoCUAMWAlYCXAMWAlwDFgJcAxYCXAMWAlwDFgLaHsQC2h7EAtoexALaHsQC2h7EA3ZAFgN2QBYDdkAWA3ZAFkA0QEZANEBGQDRARkA0QEYC8kAEAvJABALyQAQC8kAEHsRABAJiAtQCaAJuAsICdAJ6AoBARkBGQEZARkBGQEYChgKMApICtgKYAp5ARkBGAqQCqgKwArYCvALIAsICyALOAtQC2gLgAuYC7EAEHsQC8gL4A3ZANEA0A3YC/gMEA3YDCkAWAxADFkAWQBYDHAMiAygDLgM0AzQDOgM6A0ADQANAA0ADQANGA0YDRgNGA0YDRgNGA0YDRgNMA0wDTANMQDQexANSA1gDXgNkA2oDcAN2A3YDfAABAdQBZQABAL8BDQABAM0BwQABAFgBwQABASkBDAABAO4B9QABAPMB9QABAK4B9QABAP8B9QABALcB9QABAMoBwQABAMYBwQABAH0BwQABAMwBwQABAW4BZQABAcoBZQABAl4BZQABAlwBZQABAlsBZQABAmUBZQABAmIBZQABAbsBZQABAdEBZQABAm0BZQABAjoBZQABAjsBZQABAdIBZQABAc0BZQABAmwBZQABAmsBZQABAmgBZQABAmcBZQABAl8BZQABAcsBZQABAc8BZQABAXcBZQABAdwBZQABAa0BZQABAMYAQgABARoBZQABAwYBZQABAekBZQABARkBZQABAoIBDQABAUcBDQABATcBDQABA1EBDQABAe0BDQABAgQBDQABAqQBDQABASkBHwABATIBHwABAOIBHwABAUIBHwABAOYBHwABANkBDQABAMwBDQABAM0AQgABAFgAQgABAH0AQgABAI0BwQABAQwBZQABAAABZQAEAAAAAQAIAAFH3gAMAAFJfgJuAAIAZQAkAD0AAABEAF0AGgCCAJgANACaALgASwC6AUkAagFVAVUA+gFXAgAA+wIXAhcBpQIgAiABpgI9Aj0BpwJAAkABqAJCAkUBqQJHAkoBrQJMAmkBsQJuAnEBzwJ1A1UB0wNgBIUCtASiBKYD2gTFBMcD3wTJBMwD4gTOBRED5gUVBRUEKgUYBVYEKwVcBVwEagVjBWQEawVnBWkEbQVrBXAEcAV0BXQEdgWHBZUEdwWXBusEhgbxBvoF2wb+BwcF5QcLBxcF7wcbByQF/AdAB0QGBgdIB0gGCwdcB3EGDAeJB6sGIgfEB9MGRQfWB9sGVQfkB+QGWwfpB+wGXAfuB/AGYAfyB/YGYwf5B/kGaAgFCAUGaQgKCAsGaggNCA4GbAgQCBIGbggVCBYGcQgbCDwGcwhGCEcGlQhMCE8GlwhRCFIGmwhVCFUGnQhYCFkGnghcCFwGoAheCF8GoQhkCGcGowhpCGkGpwh0CHsGqAh9CIUGsAiLCQ4GuQkQCRMHPQkWCRkHQQkcCRwHRQkqCS8HRgkxCTEHTAk+CUsHTQlOCU8HWwlWCVYHXQlcCV8HXgljCWMHYgl0CXgHYwl6CX4HaAmMCY0HbQmXCZgHbwmcCZwHcQmsCa0HcgmvCa8HdAmxCbEHdQmzCbMHdgm3CbcHdwm6CboHeAm8CbwHeQnDCcUHegnWCdYHfQneCeYHfgnoCekHhwnrCewHiQrICsgHiwrWCtYHjArYCt0HjQrfCt8HkwriCuMHlArqCusHlgrvCu8HmAuAC4AHmQyIDIgHmgyKDIoHmwyQDJAHnAedOyAehCB8GtYgmjt8ENobKiCgJH4kriCmI+ggrDuOJXo7jiV6III7Dj0iJYYfPiCaI7IcdCFmIEZKUCE2IWw7OkpoJLoldCV0IUIhciE8IXg7siEkJPAhSCF+OvwheCEqHyARTBciIMoWOBY4FjgPPBLAJKIPQiB8FkoWShZKHFAWVhZWFlYQvBUMD0gWYhZiFmIPThuED1QWjBaMFowb9hGyH3QhThY+Fj4WPg9aEsYPYA9mSlAWUBZQFlARWBdkF2QXZBFkHaYcCBZoFmgWaA9sExo7shaSFpIWkhv8E0QhMBM4Hn4Pch54FkQPeCFmGsQayhrEGsoPfg+EGsQayg+KITYVDBT0D5APlhruGvQcRA+cIJohbBZKFlAWGhYgD6IPqA+uD7QQ2hYgFrAWthsqJLoPug/AHtIPxh7MFlwgoCV0D8wU+g/SD9gXZCSuIUIXrA/eD+QgpiFyIKYhciCmIXIgpiFyFjIWkiCsIXgWMhaSF1IgrCF4FfAV9hZuFnQWYhZoHz4YwBucFnoleiFIG5wWehvGG8wbxhvMIIIhfhvGG8w7Djr8D+ofgDsOOvwcAhwID/AP9haYFp4P/BACFowWkj0iIXgRmhGgEbITRBBcHGgcbhAIEA4caBxuEBQQGhAgECYQLBAyFmIWaCCCIX4QOCBMHRwQPh0uEEQfFBBKOyAehCBeEFAgmhx0Gyo7jiCgJK4lhiPoIKwQVjuOEOwlehVOOw4jshD4IJogcCR4ELwQXBBiEGgQbhB0EHokxiFOIWAguCTqEIAekBCGJDwXrBUwI/QYxhCMO7IQkjuyIUgkxhJ4GNgfsCTqEgwfIBCYEJ4QpBCqELAcUBDIELYkciCCIKAQvCR+EMIWJhDIEM4Q1BDsOyAgXh6EIF4j7iCaHxQ7fBDaEOAQ5iPiI+gbKjuOEOwleiB8Ow4Q8hD4IJoSohD+EQQRChEQERYRHCWAHM4RIiFmESgXmhEuJFohbBE0O6AROhFAGJAkTiRUF6Y7siA6ISRKUBFGFyIYQhFMGLo7siQeJB4U1hFSIL4YciRCSlARWBF2EV4YbCF+JXQRZCV0EWoRcBF2EXwRghGIEY4RlBGaEaARmhGgEaYRrBGyE0QamiR4F2QcdBG4Eb47ICFmO447sj0iIXgWShHEFlARyh00EioSSBHQEdYR3BHiF5oR6BHuI9wX+hH0EfoSABIGIHASDDuOO7ISEhh+EhgSHjUuEiQdNBIqJHIXfBIwEjYcMhI8EkIk8BUSGKISSBJOHz4SVCSoIMQSWhJgIBxKXCAcEmYStBemIHwXpha8F6YcyBJsEnIXpiB8SlA7DhJ4I7IXIiOyFyIWLEpuHxQSfh/yEoQStBjYErQkuhKKEpASihKQIKASlhKcI+4YkBKiIXgSqCP0O44SrhK0E6ofMh8gIKASujteEsASxiAWGIoSzBLSH/Ig0BLYEt4S5BLqEvAS9h7eISoS/BMCEwgTDhuEExo7jjuyExQTGhMgEyYTLBb+EzITOBM+E0QTShNQN24TVhNcE2IVEhiiE2hKbhNuE3QgXiE2IFITejUcE4AkciFmE4YTjBOSE5gTnhhmGtYTpCCaJOoj0BOqOyAhZhOwE7YTvBPCE7wTwhPIE84T1BPaFjgWPhPgE+YT4BPmE+wT8hP4E/4eeBZEIJohbBQEFAoUEBQWFBwUIhQcFCIUKBQuFDQUOhZKFlAUQBRGIKAldDuOO7IUTBRSFFgUXhRYFF4UZBRqFHAUdhZiFmgUfBSCFHwUghSIFI4UlBSaIEwj9D0iIXgUoBSmFKwUshSsFLIUuBS+FMQUyhTQFNYjshciFNwU4hToFO4U9DsOOvwhMBa8IF4hMBT6FQAgahUGFWYVDCBwIF4hMCTAFRIgQCSoHHQVGB0KF0YkfiCgFR4VJBUqFTAVNiCsHpA7jjLQFTwVQhcoIBwVSCF+FU4VVBdwFVoVYDsOJHgf8iOyJOofjCDKHt4e3iEqISoVZhx0IMQVbEp6FXIVeBV+FYQVihWQFZY1+hWcFaI0khWoFa4WOBY+FlYXZBZiFmgWjBaSFbQVuhXAFcYcDhwUFcAVxhXMFdgV0hXYFd4V5BXqJPAWGhYgGzwbQjuOO7IV8BX2FfwWAhYIFg4WFBYaFiAWJhYsFjIWkhY4Fj4eeBZEFkoWUBruGvQWVhdkHswWXBZiFmgWbhZ0G5wWehaAFoYWjBaSFpgWnhakFqoWsBa2FrwWwhbIFs4cdCDKFtQW2iCaIWwW4Bb4FuAW+BbmFuwW8hb4Hw4W/iFCGHgXBBcKITw7ICB8FxAgpjsOIX4gyhcWGKIehD0iJYYgmhccJH4ldB+SJPAleiFII7IXIiFmJPAk8BcoH2gYfiEwF7gg0BesJOokwCEGF7hKaEpWH6QfpCF4Fy4XLiV0JDwaHBc0FzohchdAF0YXRhdGIXgheCRIO7IXTBdSGEIYchdYGHIYchhyF14XXiFmIWYhfhdkF2QhBhdkF2oXcCF4JAAheB+kHyAXdhd8IMoXgiEqISoXvhe+F4gXjheUF5okwBegF6YldBesF7IXuBe+F74XyhfEF8oX0BfWF9wX4hfoF+4X9B0KF/oX+hgAGAYjoBgMGBIYEhgYGB4YJBqgGlgafBgqGDAhGEpQIRgYNhg8HHQYQhhIO7IgXiFIN24YThhUGFodChhgGGY7skpQJXQ7jhhsGHIfdCEwIHwj6Bh4O7IgHCB8IBw7jiTwHz4fIBh+GIQYihiQISogviC+JAwYlhicGKIYqBiuGLQgOhi6ISoY2BjYGNgYwBjGIXgYzBj2INYg1iQMGNIY2BjeGOQhKhjqIMohGBjwGPYY9hj8GQIZCBkIGQ4ZFBkaGSAlJhkmGSwZMhk4GT4ZRBlEGUoZUBlWGVwZYhloGW4ZhhmGGiIZdBl6GYAZhhmMGeYZkhpGGZgZnhmkGpoacBmqGpoZsBm2GbwamhoiGmQZwhnIGc4Z1BnaGeAZ5iDoGewlDhnyGfgZ/h9WGgQaCiF4GhAaFhocJDwhJCQAIEYhNjs6SmghQiEkGiIaKBouGjQaOhpAIQAaRhqaI6AaTBpSGlIjoBpYGl4aZBpkGpoamhpqGnAadhp8GoIaiBqaGo4alBqaGqAaphqmGqwashq4Gr4gRh6EIEYehCBGGsQayhrQITYa1iE2GtYhNhrWITYa1iE2HFAa3BriGuggmiFsIJohbBruGvQa+hsAGwYbDBsSGxgbKiS6Gx4bJBsqJLobKiS6IKAldBswGzYbPBtCJK4hQiSuIUIgpiFyG0gbTiCmIXIgpiFyG1QbWiPoITwbYBtmIKwheCCsIXggrCF4G2wbcht4G34bhBuKG5AblhucG6IbrhuoG64btCV6IUgbuhvAJXohSBveG+QggiF+G8YbzBvSG9gb3hvkG+ob8DsOOvw7Djr8Ow46/Bv2G/wcAhwIPSIheBwOHBQcGhwgHCYcLBwyISocOBw+Hz4fIBxEHEocUBxWHFwcYhxoHG4cdCDKHHQgyiS6HHocgByGHIwckh2yHbIduB24HbgduB2+Hb47IDsgHJgcnhykHKocsBy2HLwcvBzCHMIcwhzCJHgkeBzIPbI2QhzOHegd6B3uHe4d7h3uHfQd9BzUHqIc2hzgNTQc5hzsHPIc+Bz4HP4c/hz+HP4dBB0EIJodCiBSHRAdFh0cHSIdIh72HvYdKB0oHSgdKB0uHTQdOh1AHUYdTB1SHVIdWB1YHVgdWB1eHV4fRB1kHWodcB4kHiQeKh4qHioeKh4wHjAfFB12HXw1NB2CHYgdjh2UHmwebB2aHZoelh6WHaAdoB2mHaYdrB2sHyYfJh2yHbIduB24HbgduB2+Hb4dxB3KNoQd0B3WHdweqB3iHegd6B3uHe4d7h3uHfQd9B36HgAeBh4MHhIeHh4YHh4eJB4kHioeKh4qHioeMB4wHjYePB5CHkIeSB5OHlQeWh5gHmYebCTGHmwech5yHngefh6EOyAeih6WHpAelh6cHpwgQCB8I+geoh6oHq4etB66HroewB7GHswe0h7YHt4e5B7qHvAe8B72HvYe/B8CHwgfDh8UIFIfGh8mHyAfJh8sHywfMh84Hz4fRB9KH1AfUB9WH1wfYiE8H2gfbiFyH24fdCAcH3ofgB+GJLokriFCH4wgyh+SH5gf/h+eH6QfqiQMH7Afth+2H7Yfth+8H7wfvB+8H8Ifwh/CH8IfyB/IH8gfyB/OH84fzh/OH9Qf1B/UH9Qf2h/aH+Af4B/mH+Yf7B/sH/IgrB/4H/4gBCAKIBAgFjaiIBxKXCAiICggLjaiIDQgOiBAIEYgTCBSIFgkciO+IF4gZCBqJK4kriSuIKY7jjuOJXogcCB2O447jiWGJVAgrCB8JK4grCCCIIg7fCCOIJQ7ICCaIKA9IiCmIKwgsiEGIQYguCC+IMQgyiDQINYhBiEGIQYg3CDiIOI7siDoIO4hBiEGIQAhBiD0IQYg+iEAIQYhBiEMIRIhGCFCIUIhQiFyIR4hJCTwJPAhKiEwITAhNiFyITwheCFmIXg7skpoIUIheCFIIX4hTiFUIVohYCFmIWwhciF4JXQheCHqIX4hhCGKIZAhliGcIaIhqCGuIbQhuiHAIcYhzCHSId4h2CHkId4h5CHqSyJLIiHwSyIjiCOOIfYjlCOUIfwjmiICIggjiCIOIhQiGiIgIiYiLCIyIy4iOCJoIj4iRCJKIlAiViJcInoiYiJoIm4ihiJ0InoieiKGIoAihiKGIoYijCKSIuAiyCKYIuAi4CKeIuAiyCKkIrYiqiKwIrYivCLCIsgiziLUNvwi2iLgIvIi5iLsIvI29iL4Iv429iL+NvYjBDb2NvYi/jb2NvYjBCMKIxAjIiMWIxwjIiMoIy4jNCM6I0AjRiNMI1IjWCNeI2QjaiNwI3YjfCOCI4gjjiOUI5ojoCOmI6wjsiO4I74jxCPKI9Aj1iPcI+4j4iPoO447jiPuO44j9CP6JAAkxiQGJFokDCQSJBgkHiQkJCokMCQ2JDwkQiRIJFokTiRUJFokYCRmJGwkciR4JH4khCSKJJAkliScJKIkqCSuJLRKUCS6OzokwCTGJMwk0iTYJN4k5CTkJOok8CT2JPwlAiUIJQ4lFCUaJSAlJiUsJTIlOCU+JUQlSiVQJVYlXCViJWglbjS8JXQleiWAJYYljCWSJZg2tAABAUYDlQABAfECygABAYQDlQABAYkDlQABAYsCygABAR8C5QABAR8DNwABAb8CGwABATEC5QABAR8CrgABAUYCzQABAXsDlwABAR0C6AABAWwDrQABATADXQABASACrgABASAC6AABAZQDnAABAS4C7QABAZQDlwABAS4C6AABALEDlQABAIgC5QABAIgCrgABALEDlwABAZgC6AABAJIDrQABAJMDrQABAIgD2wABARoDrQABAXIDXQABATsCrgABAXID5gABATsDNwABASMDlwABAO4C6AABANsC/QABAW4C1AABAUcDvgABAR8DvgABAcMDrQABAbgC/gABAUwCygABAToCygABAcgCygABAIsDRgABAS4CygABARgCygABASQDkAABAToDIgABARoDIgABAUoDIgABAIsDIgABATYDRgABAPQC+AABAS0C/QABAPIC+AABAVYCGwABAIsC4AABATYC4AABATEDIgABATYDIgABAZMDIgABATcDrQABALEDkAABAd0CygABAXwCygABAT0DrQABAT4DrAABAZQCygABAZEDrAABAVkCygABAXACygABAUoCygABAZoCygABAVQCygABAg0CygABAhQCygABAV8CygABAbYCygABAUACygABAUQCygABAS8C/QABAQACGwABAYcCGwABAVMCGwABAVEC/QABAPoCGwABAQ4CGwABAYwCGwABASAC4AABAN8C/gABAIgC4AABAawCGwABAbsCGwABATsC+AABARYC/gABAQgC/QABAUACGwABAREDXgABAOUCtQABAdcDrQABAZMC/gABAdcDkAABAZMC4AABASQDrQABAcsDrQABAeUC/gABAYgDrQABAU0C/gABAUIChAABApACygABAhcCGwABAV0CygABAloCygABAggCGwABAoECygABAiECGwABASwDWQABAP8CmwABAYgC9wABAT4CygABAUoDrQABAQ8C/gABAi8CGwABAZkCGwABAYgDogABAVMC/QABASwC+AABATUCygABAVICygABARUCGwABAaQCGwABAVwCygABAScCGwABAIcC+AABAbUCGwABAYYCygABAPkCGwABAXQCGwABAUYCGwABAfsCygABAYYCGwABAbgDrAABAYkC/QABAXkCygABAXMCygABAVcCGwABAWECygABAUYDrAABAUYDkAABAR8C4AABATADrAABASAC/QABAX4DkAABAR4C4AABAbgDkAABAYkC4AABAS8DkAABAP8C4AABAYgDXQABAU0CrgABAYgDkAABAU0C4AABAYkDhQABATEC4AABAUEDhQABAPoC4AABAT4DXQABAT4DkAABAQgC4AABAT4DrQABAQgC/gABAWEDkAABATkC4AABAN8CGwABAbQDkAABAZAC4AABAUsCygABATECygABARACGwABAcYC+AABAZ4CGwABAfQCygABAbkCGwABAgACygABAdACGwABAYICygABAVQCGwABATkCGwABAUYD3QABAR8DOAABAUYD0QABAR8DLAABAUYEDAABAR8DZwABAUYEGgABAR8DdQABAUYD8QABAR8DTAABAUYEEwABAR8DbgABAUYEGAABAR8DcwABATAD3QABASADOAABATADlQABASAC5QABATAD0QABASADLAABATAEDAABASADZwABATAEGgABASADdQABALED3QABAIgDOAABAYkD3QABATEDOAABAYkD0QABATEDLAABAYkEDAABATEDZwABAYkEGgABATEDdQABAY4DrQABAT0C/gABAY4D3QABAT0DOAABAY4DlQABAT0C5QABAXID3QABATsDOAABAZYDrQABAV4C/gABAZYD3QABAV4DOAABAZYDlQABAV4C5QABAZYCygABAV4CGwABASQD3QABAQgDOAABASQDlQABAQgC5QABAToC+AABAUICygABATUC+AABAXsDUgABAW4CygABAQ0CygABAbADGwABATwCygABARgC/gABAIwC+AABARoC/gABAgQCygABAbMCGwABAWACygABARMCygABASECygABALwC/gABASYCygABAMAC/QABAR0C/QABAO0ClAABAKIC+AABAXUC+AABAQIC+AABAIkCygABA/YDrQABA8sC/gABA1oC/gABAqAC6AABAZgC+AABA5AC6AABAv4C6AABAXID+QABATsDSgABAXIEGQABATsDagABAUYD+QABAUYD7wABAR8DSgABAcMDXQABAbgCrgABAawCygABAYkDXQABATECrgABASUDrQABAQUC/gABA/YCygABA8sCGwABA1oC+AABAZQDrQABAS4C/gABAeUCygABAU0CygABAYQDrQABAUYDrQABAR8C/gABAR8C7QABATADrQABASAC/gABALEDrQABAIgC7QABAYkDrQABATEC/gABAYkDnAABATEC7QABAPQC/gABAT8DnAABAPQC7QABAXIDrQABATsC/gABAXIDnAABATsC7QABARwCygABAOoCGwABAXcDrQABAIkD2wABAXYCygABAbEC+AABAV4CygABAS8C+AABAUYDlwABAR8C6AABAYkD+QABAYkDlwABATEC6AABAYkD7wABATEDSgABAQgCrgABAMsClAABAeUC+AABAR0C+AABAOUCygABASAC+AABAQgCGwABATcC/QABATsC/QABAMYC+AABALcC+AABAVgC+AABAdsCGwABAbECGwABAY4CGwABANUC+AABALUCGwABAIgC/gABAMACGwABAMAClAABAQgDCwABAPsCGwABARQCGwABAN0C+AABAPECGwABAYkC1QABASgCGwABASMC/QABAUMCGwABARgCGwABAOACGwABATcC/gABAN0C/QABAugC+AABAswC+AABAiIClAABAdQC/QABApMClAABAlYC/QABAakC+AABAYQC+AABAQMCygABAT4CGwABAFkC5wABAM0C6gABAJ8CYgABAIoCYgABALoCYgABAQYCYgABAKwCYgABALACYgABAJAC6gABASwC/QABAa8CygABAXgC+AABAYMCygABAO8CGwABAPkCygABARUC/gABAQIC/QABAUQCGwABAPwCGwABANUCGwABAXkCGwABAQ0CGwABAWsCGwABAbgCGwABASYCGwABAOMCGwABAI4CGwABAOICGwABAQQCGwABAOECGwABAXICGwABAT8CGwABAd4CGwABARkCGwABATsBDQABATICGwABATYCGwABAZACGwABATYCmAABAXACGwABAOcCGwABAP4CGwABANQCywABAUMCywABANUCywABAOwCywABAMUCywABAK8CywABAQYCywABAHMCywABAF8CywABAN8CywABAGACywABASoCywABAPwCywABAP8CywABAOMCywABANACywABAM8CywABALcCywABAPACywABATICywABAR4CYgABANkC5wABAK4C5wABALsCYgABALYCYgABAJQCYgABAF0CYgABAFoC5wABATwCYgABAIECYgABAM0BwAABANkCYgABAG0CqwABAKkCYgABAKUCYgABANUC6gABAK0CYgABAMYC6AABAPICYgABALcCYgABAJ8A4wABAKkA4wABANUBawABAK0A4wABAPIA4wABALcA4wABAT4AAAABANICYgABAKYCGwABAMoCYgABALkCYgABAK8CYgABAMYC6gABAKYCYgABAKcC6gABAMQCYgABAFoCYgABAGwCYgABAFgC5wABAJICYgABATUCYgABANYCYgABAMYCYgABAPQC5wABAJ4CYgABAFgC6gABAH0CqwABAMkCYgABAMcCYgABAM0CYgABAKsCYgABAJoCYgABALMCYgABAKoCYgABAMQC6gABAUgDlwABAXsDrQABAR0C/gABAWwDlwABAWwCygABASAC4QABATADmQABASAC6gABATADnAABASAC7QABASoDlwABAQEDoQABAZQDXQABAS4CrgABAXcDlwABAIkDxQABAXcDkAABAIkDvgABAXcCygABALEEGQABAIgDagABAVcDrQABAIoD2wABAJMDXQABAIgDiwABAcsDlwABAeUC6AABAYQDlwABATsC6AABAYkEIAABATEDcQABAYkEBQABATEDVgABAYkDkAABATEC4QABAYkDmQABATEC6gABAT8DrQABAU4C/gABAU4C6AABAT8DlwABAPQC6AABAT8DXQABAPQCrgABAR0DrQABAPMC/gABAR0EBQABAPMDVgABAR0DlwABAPMC6AABARoDlwABAKcDXAABAXIDkAABATsC4AABAXIDlQABATsC5QABAXIEIAABATsDcQABAXIEBQABATsDVgABATMDlQABAQUC5QABATMCygABAdcDlwABAZMC6AABATADlwABAQ4C6AABATADkAABAQ4C4AABASQDlwABAQgC6AABASMDrQABAO4C/gABASMCygABAKcDWAABAZMDNwABAQgDNwABAR8DGAABANsDoQABAb4CygABAcICygABAaYCygABAagCygABAaMDKgABAaYDKgABARoDDAABARoDBwABAiECygABAhECygABAcoCygABAl4CygABAlwCygABAlsCygABAmUDKgABAmIDKgABAIsDDAABAIsDBwABAIsDXAABASkCygABAboCygABAdsCygABAdQCygABAcsDKgABATEDBwABAbsCygABAdECygABAm0CygABAmsCygABAjoCygABAjsCygABATYDDAABATYDBwABATYDXAABAkgCygABAl8CygABAncDKgABAckCygABAmkCygABAj8CygABAkQCygABAjIDKgABAk8DKgABARoC/QABAIsC/QABATEC/QABATYC/QABAToDDAABAToDBwABAToDXAABAxICGwABAw0CGwABA4sCGwABA3MCGwABA3gCGwABA3oCGwABAUoDDAABAUoDBwABAUoDXAABA9MCGwABA80CGwABBG0CGwABBGwCGwABBGkCGwABBGgCGwABBGACGwABAZMDDAABAZMDBwABAZMDXAABA9wCGwABA+kCGwABBH4CGwABBFoCGwABBGICGwABBEcCGwABBE8CGwABAToC7QABAToCrgABAToC/QABAToC5QABAUYDnAABAUYDXQABAUgCygABAxkCGwABAUoCGwABAUoC/QABAUoC5QABAc8CygABA3cCGwABAIsC7QABAIsCrgABAIsDCgABAIsC5QABAIsDXQABALEDnAABALEDXQABASACygABASUCygABATYC7QABATYCrgABATYDCgABATEDDAABATYC5QABATYDXQABASQDnAABASQDXQABAbkCygABAZkCygABAZMCGwABAZMC/QABAZMC5QABAdwCygABAa0CygABAdcCygABAbICygABA5oCGwABALsA4wABAMYA4wABALAA4wABALYA4wABAMYCGwABAQwCygABATICygABAR8C+AABAKcC+AABAYcCygABAR8CygABAYECygABAQ8CGwABAZ0CGwABAQcCGwABARICygABAXUCGwABAToDawABAToDiQABAIsDawABAIsDiQABATYDawABATYDiQABAIsDuQABAIsDtwABATYDuQABATYDtwABAW8CygABAWoCygABAeQCygABAaACGwABAZwCygABAZ8CGwABAcMCygABAT0CygABAgkCygABAaICGwABAisCygABAXUCygABATwCGwABAX4CygABAU4C+AABAY4CygABAccCygABAWsCygABATcCygABAwYCygABAPoCygABAZ0CygABAkUCygABAXsCygABAR0CygABAekCygABASEAAAABARkAAAABATACygABALECygABAJMCygABAYQCygABAOgCGwABATAC+QABASwCGwABAP8CGwABAO4CGwABAR4CGwABAQwCGwABAQ4C+AABAKwC/QABAFgBXgABANYC/QABAFgA4wABAFgCYwABAFgCYgABAIgCGwABAnUCGwABAoICGwABAPUCGwABAUcCGwABAU4CGwABAQUCGwABATcC+AABAQsC+AABAeUCGwABAIoC+AABAPQCGwABAUgC/QABAYMAAAABASkC/QABAQoCGwABAR8CGwABASACGwABAIgC+AABATsCGwABAPMCGwABARMCPwABARIDFAABARIDEQABARIDIgABARIC9AABARIDFwABARIC0gABARICPwABARIDWwABARIDqgABARIDCQABAX4CPwABAXADFAABAQ0CPwABATkDFAABATkCPwABATkDIgABATkC/QABASkDIgABAPMDEQABAPMC9AABAPMDFwABAPMC0gABAO8CPwABAUYCPwABAUYDEQABAUYDIgABAUYCRwABAUYC/QABATICPwABATIDIgABAJoDFAABAJoDEQABAJoDIgABAJoC9AABAJoDDAABAJoDFwABAJoC0gABAJoCPwABAJoDCQABAH0DIgABARcCPwABAH0DFAABAH0CPwABAOECPwABAXoCPwABAUIDIgABAUIDCQABAUIDFQABAUIC9AABAUIDFwABAUIDJgABAUIC1gABAUQCQAABAUIDFAABAUIDDQABAYMCPwABAP0CPwABAUICPwABAQcDFAABAQcDJgABAQcCPwABAOYDFAABAOYDIgABATECPwABATADFAABATADEQABATAC9AABATADFwABATADIgABATAC0gABATACPwABATADWwABATADCQABAQYCPwABAY0CPwABAY0DFAABAY0DIgABAY0C9AABAY0DFwABAQUCPwABAPcCPwABAPcDFAABAPcDIgABAPcC9AABAPcDFwABAPMCPwABAPMDFAABAPMDIgABAPMDDAABAFgC3QABAvwBdAABAOYCygABASQCygABAcsAAAABAXECygABAsYCygABAWcCygABAXQCygABAQcCygABAXgCygABAWgCygABAcsCygABAWUCygABAT0CGwABAlcCGwABATUCGwABARsDAAABAOkCGwABAXgCGwABAMsCygABAcwCGwABAFYC+AABALEC+AABATMC+AABAPICGwABAIsCGwABAagCGwABAUkCGwABASsCGwABAYMCGwABAS8CGwABAOQCYgABAMMCYgABAOQCygABAUcCygABAYgCygABAJICygABAMwCGwABARAC+gABAU0CGwABAT8C/QABAOYAAAABAUYDbwABAS8CygABAVcCygABAZ4CygABAIkC+AABATACGwABAToCGwABAfkCGwABANkC+AABAMwC+AABAd4ABwABAekAAQABARoCGwABATcCGwABAFkBaAABAFoBaAABAFgBaAABATwA4wABAM0A4wABANkA4wABAJ4A4wABAG0BLAABAPMCywABATcCYgABAI0C5wABAIAC5wABAX8AAAABAYUCygABAUAAAQABAYUAAAABASQAAAABADQBaQABAj4BUwABAiMBWQABAu8CygABAIgC6AABAT8CygABAPcCygABATYCygABAOL//AABAMkCywABAYAAAAAEAAAAAQAIAAEqBAAMAAEqZAUyAAIA2wAkAD0AAABEAF0AGgCCAIcANACJAJEAOgCTAJgAQwCbAJ8ASQCiAKcATgCpAK0AVACzALgAWQC7AL8AXwDBANEAZADUAOcAdQDqAOoAiQDsAOwAigDuAO4AiwDwAPIAjAD1APUAjwD3APgAkAD6AQEAkgEEAQoAmgENARIAoQEVASYApwEoAT8AuQFIAUkA0QFVAVUA0wFXAVsA1AFeAV8A2QFiAWcA2wFpAWoA4QFsAWwA4wFuAW4A5AFwAXEA5QFzAXMA5wF2AXcA6AF+AX8A6gGEAYQA7AGLAYsA7QGTAZMA7gGYAZgA7wGbAZsA8AGfAaIA8QGpAakA9QGrAasA9gGuAa4A9wG1AbcA+AG5AbsA+wG+Ab4A/gHJAckA/wHOAc4BAAHXAdcBAQHZAdoBAgHcAdwBBAHeAd4BBQHpAekBBgHtAe4BBwHwAfABCQH1AfUBCgH5AgABCwIXAhcBEwJCAkUBFAJMAkwBGAJOAk4BGQKTApQBGgKXApcBHAKkAqQBHQKpAqkBHgK4ArwBHwK/AsABJALPAtABJgLYAtgBKALaAtoBKQLcAtwBKgLqAuoBKwL9AyUBLAMnAzYBVQNBA0QBZQNPA1QBaQNgA2EBbwNwA3ABcQOPA48BcgOqA6wBcwOuA70BdgPCA8kBhgPPA9ABjgPTA90BkAPfA98BmwPhA+wBnAPvA/ABqAP1A/UBqgP3BAQBqwQKBA4BuQQUBBQBvgQWBBcBvwQcBCABwQQoBCgBxgQuBC4BxwQyBDIByAQ1BDUByQQ8BDwBygRGBEYBywRUBFQBzARWBFYBzQRZBFsBzgRlBGUB0QRrBGsB0gR9BH0B0wR/BIEB1ASEBIUB1wSjBKUB2QTGBMYB3ATMBMwB3QTaBNsB3gThBOEB4ATmBOYB4QToBOsB4gT9BP4B5gUJBQwB6AUOBQ4B7AUYBRgB7QUaBSgB7gUqBTAB/QUzBTUCBAU5BTkCBwU7BTwCCAU+BT4CCgVCBUcCCwVJBUoCEQVNBVMCEwVWBVYCGgVcBVwCGwVjBWMCHAVpBWkCHQVsBXACHgV0BXQCIwWIBYgCJAWMBYwCJQWOBZACJgWiBaICKQWmBacCKgWrBdgCLAXaBjwCWgZGBk0CvQZUBlkCxQZiBmkCywZyBoUC0waOBpEC5waqBqsC6wa4Br8C7QbIBs8C9QbnBusC/Qb2BvoDAgcEBwcDBwcTBxcDCwcgByEDEAdAB0MDEgdIB0gDFgdiB2MDFwdlB2cDGQfZB9kDHAffB98DHQfkB+QDHgfqB+wDHwfuB/ADIgfyB/YDJQf5B/kDKggFCAUDKwgKCAsDLAgNCA4DLggQCBEDMAgVCBYDMggbCCADNAgxCDEDOgg5CDkDOwhGCEcDPAhNCE8DPghRCFIDQQhVCFUDQwhYCFkDRAhcCFwDRghkCGcDRwh0CHsDSwiACIUDUwiLCJcDWQiaCKEDZgijCKMDbgilCLUDbwi3CL4DgAjACMsDiAjNCNEDlAjTCNsDmQjeCN4DogjgCOADowjiCOwDpAjuCO4DrwjwCQ4DsAkQCRMDzwkcCRwD0wktCS4D1AlOCU4D1gl6CXoD1wmMCY0D2AmYCZgD2gmcCZwD2wmsCa0D3AmvCa8D3gm3CbcD3wm6CboD4Am8CbwD4QnWCdYD4gnfCeYD4wnrCesD6wrWCtYD7ArYCtsD7QrfCt8D8QriCuMD8grqCuoD9ArvCu8D9QyIDIgD9gyQDJAD9wP4EtoJ/A0sEqQLdgmuCbQLBBIUDJYMnBJKDIoSdBNcC1gTXA0sC2oLTAt8DTIJugnACxYJzAvWCagMqBK2C9wTMgu4DK4SJhImC74S7AusEoYTbgugC7gLxAvKEsgL4gumCdgJxgneCdIS2hLaEtoS2hLaEtoNLAt2C3YLdgt2EhQSFBIUEhQSdBNcE1wTXBNcE1wLfAt8C3wLfAsWC9YL1gvWC9YL1gvWDKgL3AvcC9wL3BKGE24TbhNuE24TbgviC+IL4gviCd4J3hLaC9YS2gvWEtoL1g0sDKgNLAyoDSwMqA0sDKgSpBK2C3YL3At2C9wLdgvcC3YL3At2C9wJtAu4CbQLuAm0C7gJtAu4CwQMrhIUEhQSFBIUEiYSFAyWDJwLvhJKEuwSShLsEkoS7BJKEuwSdBKGEnQShhJ0EoYH8hNcE24TXBNuE1wTbg0sC8QNLAvEDSwLxAtqC8oLagvKC2oLygtqC8oLTBLIC0wSyBLIC3wL4gt8C+ILfAviC3wL4gt8C+ILfAviCboJ2AsWCd4LFgnMCdIJzAnSCcwJ0gtqC8oH+ApQB/4IBAr+CwQS2gn8C3YJzAsEE1wSFAycDIoSdBNcC1gLTAsWCcASFAsWC9AJxggKE24MxhNuC3YLahIUEhQMlhLaCfwLdgyKCwQTXAtYDSwLTAnAC9YL3BNuC6AMqAneCcYL3AvKEiYSJgneCboJ2Am6CdgJugnYCxYJ3ggQDIoLrBLaC9YLdgvcDSwMqAsWDK4SFBIUEtoL1hLaC9YLdgvcE1wTbgneCd4J3hK2EtoL1hLaC9YS2gvWEtoL1hLaC9YS2gvWEtoL1hLaC9YS2gvWEtoL1hLaC9YS2gvWC3YL3At2C9wLdgvcC3YL3At2C9wLdgvcC3YL3At2C9wSFBIUEiYTXBNuE1wTbhNcE24TXBNuE1wTbhNcE24TXBNuC3wL4gt8C+ILFgneCxYJ3gsWCd4LTBLICBYLfBLaC9YSFBNcE24LfAviC3wL4gt8C+ILfAviC3wL4hLaC9YS2gvWCbQLuAycC74TXBNuE1wTbgm0C7gSdBKGEtoL1hLaC9YLdgvcC3YL3BIUEhQTXBNuE1wTbg0sC8QNLAvEC3wL4gt8C+ILBAyuCcwS2gvWC3YL3BNcE24TXBNuE1wTbhNcE24LFgneEtoNLAyoEkoLTAt8C3YL3A0sC8QLFgneCCgIHAu4CCISJggoDRQILgviDRQNFA0UE1wINAg6DHIIQAmWCEYITAhSCFgJSAyoCF4MqBImDSwNLBNcC7gJugnYCGQIaghwCHYIfAiCCdIIiAiOCI4IlAiaCKAIpgisCLIIuAi+CMQIygjQCNYI3AjiCOgI7gj0CPoJSAk2CQAJBgkMCYQJEgkYCR4JJAkqCZAJMAk2CTwJQglICU4LgglUCVoJYAlmC0AJbBKGCXILoAmoErYTMgu4C74LoAl4CX4JhAmKDHIJkAmWCZwJogn8CagJ/AmoCfwJqA0sDKgSpBK2EqQSthKkErYSpBK2EqQStgt2C9wLdgvcC3YL3At2C9wLdgvcCa4TMgm0C7gLBAyuCwQMrgsEDK4LBAyuCwQMrhIUEiYSFAycC74MnAu+DJwLvhJKEuwSShLsEkoS7BJKEuwMigusDIoLrBJ0EoYSdBKGEnQShhJ0EoYTXBNuE1wTbhNcE24TXBNuC1gLoAtYC6ANLAvEDSwLxA0sC8QNLAvEC2oLygtqC8oLagvKC2oLygtqC8oLTBLIC0wSyAtMEsgLTBLIC3wL4gt8C+ILfAviC3wL4gt8C+INMgumDTILpgm6CdgJugnYCcAJxgnACcYLFgneCcwJ0gnMCdIJzAnSDK4SyAnYCd4L1hLaEtoJ5AnqCfwJ8An2CfwKVgpWCgIKCAoOChQKGgogCuYKJgrgCiwKMgo4Cj4KRAycCkoKUApWClwKXBNuE24TbhNuE24TbgpiCmgKbgp0CnoKegqACoYKjAqSE24TbgqYEtoKngqkCqoKsAq2CrwKwgrICs4KzgrUCtoK4ArmEtoS2grsEtoS2gryDSwK+Ar+CwQSFBIUCwoLEAsWCxYSpAscCyILKAsuC0ALNAs6C0ALrAvWEsgMrgycC74LRgtMC1IMnAycDJwSShNcE1wLWAteC2QTXBNcDTINDhJ0DSwMnBJ0C2oLcA0UDRQS2gt2EhQLfBJKEnQLgguIC44LlAu+C74LvhLsC5oLoAu4C7gLphK2EuwLrBKGEoYLsgu4C74ShgvEC8oL0AvWC9wS7BKGEiYL4gvoC+4L9Av0C/QL9Av0C/QL9Av0C/QL9Av0C/oMYAxgDGAMYAxgDGAMAAwADAYMBgwGDAYMBgwGDAYMBgwGDAYMDAwSDBIMEgwSDBIMGAwYIFwgXCBcIFwgXCBcIFwgXCBcIFwMHgweDFQMVAwkDCQMJAwkDCQMKgw2DDYMNgw2DDYMNgw2DDYMNgw2DDYMNgw2DDYMMAw2DDwMPAw8DDwMQgxCDEIMQgxCDEIMSAxIDEgMSAxODE4MTgxODE4MTgxODE4MTgxODE4MVAxaDFoMWgxaDFoMYAxmDGYMZgxmDGYMbAxsDGwMbAxyDHgMfgx+DRQMhAyKE1wMkAyWDRQS2gycDKIMqAyuEzIMtAy6DMAMxgzMDNIM2AzeDOQM6gzwDPYM/A0CDQgNDg0UDRoNIA0mEiYNLA0yDTgNPgABApICGwABAiICygABAzYCygABAdYCygABAgoC/QABAXYCYgABAfYCygABABQCGwABAFb/IwABADIAAAABAB7/hwABAAT/IwABAWEC5wABAQcCYgABAf8CYgABAUoCYgABAIwC5wABASECYgABAtsC+AABAjf/9wABAkQAPAABAkEADgABANkCFAABAkP/aAABAdQCGwABAV8CywABAZ4CywABAc8CywABAV0CywABAUYCywABAcsCywABAdkCywABANkCywABALACywABAY4CywABAPECywABAkcCywABAesCywABAfUCywABAfICywABAYECywABAY8CywABAWECywABAdMCywABAlcCywABAVQC5wABAW0C5wABAWcCYgABAWkC5wABAkgCYgABAXoCYgABAYICYgABAOUCqwABAXcBJwABACABHwABAUkCYgABAW8C6gABAVQCYgABAWECYgABAQcA4wABAXUA4wABAUkA4wABAW8BawABAWEA4wABADoAAAABATACYgABAP4C6gABAW4CYgABADgAmgABAXUCYgABAA0BHwABAR0CYgABAVMC6gABAgsC+AABAfwCygABAsMCygABA5kCygABAk4CygABAgsCGwABAioCygABAbYCGwABAxMCGwABAfsCGwABApQCygABApgCygABAn4CygABAnkCygABAnwCygABAwoCygABAwUCygABAvsCygABAvoCygABAysCygABAzECygABA74CygABA70CygABA8cCygABA8MCygABAcwCygABAcYCygABAlYCygABAncCygABAnECygABAmcCygABAy8CygABA0UCygABA+ECygABA98CygABA68CygABAsICygABA1gCygABA28CygABA4cCygABAiACygABApMCygABApsCygABAoQCygABAogCygABAoUCygABAoMCygABAzQCygABAy4CygABA80CygABA8kCygABA8ECygABA8gCygABA8ACygABAh4CygABAmgCygABAy0CygABAzACygABAtgCygABAbwCygABAcECygABAjMCygABAtYCygABAqoCygABA1ACygABAyECygABAWcA4wABAXoA4wABAVQA4wABAHIAAAABAh8CygABBHoCygABAlACygABAq0CygABA1YCygABAhICygABA0sCygABAhkCygABAs4CygABAKQBXgABAKQCYwABA2ICGwABA5cCGwABAlwCGwABAlECGwABAfoCGwABA4MCGwABAegCGwABAjICGwABAisC+AABAZUCGwABAbwCGwABAjUC/QABAgwCGwABAigCGwABAj4CGwABAqUClAABA0EClAABAg8CPwABAgUCPwABAj0CPwABAbECPwABAZsCPwABAkICPwABAlACPwABAOYCPwABAPwCPwABAuACPwABAeMCPwABAm8CPwABAfkCPwABAbcCPwABAbkCPwABAkwCPwABAfgCPwABAwUCPwABAfYCPwABAdkCPwABAdECPwABAKQC3QABAvwA1wABABQCygABABMCygABA4ICygABACgCGwABAQ4CygABAmQCygABAtMCygABAdMCGwABAh8C+AABAwECGwABASkC+AABARwC+AABAh8CGwABAWEBaAABAWkBaAABAIwBaAABAkgA4wABAXYA4wABAYIA4wABASEA4wABAOUBLAABAMEC5wABAKYCygABABAAAQABAKYAAAABABQAAAABADQC3QABA9kCygABA2YCygABAmUCygABAlMCygABAYMCywABAzACGwAFAAAAAQAIAAEG0gKEAAEIEgAMABIAJgA4AEoA2AD8AFwAbgB8AJYAqAC6AMYA2ADqAPwBDgFIAYoAAgAGAAwAAQDeAAAAAQK7AAAAAgAGAAwAAQEaAAAAAQIt/xkAAgAGAAwAAQFKAAAAAQNoAAAAAgAGAAwAAQCgAAAAAQIEAAAAAwAWABwACAABA1MAAAADAAgADgAUAAEAkAAAAAEB9QAAAAEDUQAAAAIABgAMAAEAngAAAAEB7QAAAAIABgAMAAEAnQAAAAEB7AAAAAIABgAkAAEDrgAAAAIABgAMAAEBLwAAAAEDhQAAAAIABgAMAAEBigAAAAEDswAAAAIABgAMAAEA/wAAAAEDAQAAAAIABgAMAAEBMAAAAAECvgAAAAcAEAAWABwAIgAoAC4ANAABAqwAjgABAMAAjgABAjEBkgABAbYAjgAB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ADYANwA4ADkAOgA7ADwAPQA+AEAAXgBgAGMAcQCBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACaAJsAnACdAJ4AnwCgAMIAxADGAMgAygDOANAA0gDUANYA2ADaANwA3gDgAOQA5gDoAOoA7ADuAPAA8gDzAPUA9wD6APwA/gEAAQIBBAEGAQgBCwENAQ8BEQETARUBFwEZARsBHQEfASEBIwElAScBKQErAS0BLwExATMBNQE3ATkBOgE8AT4BQgFEAUYBSAH5AfsB/QH/AhMCFAIVA2AH2AuBC4ILgwuEC4ULhguHC4gLiQuKC4sLpwABAAAAAQAIAAIBPACbCqkLfwquCq8KsAqnCqgIjQiaCJsIoQilCK8IsAi1CLgIwwjFCMcIzQjOCNQI4AjiCOMI5wjuCPMI/gj/CQQJBQkKCqUKpgqrDEoKsQjtCJIIjgiQCJcIkQiVCJgIngisCKYIqQiqCL4IuQi7CLwIogjTCNkI1QjXCN4I2AjcCPgI9Aj2CPcJBgjhCQgIkwiPCJQInAifCKAInQijCKQIrQinCKsIrgioCLIIsQi0CLMItwi2CMIIwAi6CMEIvwjECMYIyAjKCMkIywjMCM8I0QjQCNII2wjWCNoI3wjkCOYI5QjoCOsI6gjpCPII8AjvCP0I+gj1CPwI+Qj7CQEJBwkLCQ0JDAiWCJkI3QjsCQMJAAkCCQkKrAqtCqoI8Qw+DD8MQAxBDEIMQwxEDEUMRgxHDEgMSQABAJsABAAJAAsADAAiAD4AQABEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBgAGMAcQCBAKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALoAuwC8AL0AvgC/AMAAwQDDAMUAxwDJAMsAzQDPANEA0wDVANcA2QDbAN0A3wDhAOMA5QDnAOkA6wDtAO8A8QD0APYA+AD7AP0A/wEBAQMBBQEHAQkBDAEOARABEgEUARYBGAEaARwBHgEgASIBJAEmASgBKgEsAS4BMAEyATQBNgE4ATsBPQE/AUMBRQFHAUkB+gH8Af4CAAITAhQCFQNhC4ELgguDC4QLhQuGC4cLiAuJC4oLiwun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CksKdgqiCk4KSgqCCk0KQgp8BzYKtAq/CrcKugq5CrgKuwq8Cr0Kvgc3BzgHOQc6BzsHPAc9CQ4CKgIrBz4CLAItBz8K1QrSCs8KmAqZAhcK1ArRCs4KjgqPB0UHRgdHAhgCGQdIB0kCGgdKB0sKwwNVAhsKwArECsUHVQfVCsYKwQrCCscMlArcCt0JjgrfCuACHAreCZcK6wriCasJhwmACY8JpwmoCYgJgQmJAh0K5QmQAh4HVwrwCZEJkgmLCYIJkwroCuoK7AruAh8K7wmUCuYCIArICYMLgAmYCY0Jhgl/AiEJqQmZCZoJjAmbCaoKyQrLCtAKzQrjCtsK4QmmCaUJlgmKCtcK2ArZCtYK2gmVCaEJogmjCaQK6QrKCucHWAdZCu0KKgorCiwHWgdbCiQKJQomCicKKAopAiICIwIkAiUKIgfXB9kMigdrB2wHbQduB28HcAdxCCUIMggwCCEIMQyIDIsMjApsCmsKVwpwClQKbQpkCmMKRQpYCnEKZQpWCm8KRwpeCkwKZwpRCkMKRgqMCkQHcgpSCl0Kmgp5ClUKbgp3CngKWQpyCpIKkwqQCpEKlgqXCpQKlQqDClwKdApJCmkJ7gpzCo0KfQpiCmEKfwpACkEKfgp7Cp4KnQqGCocKiAqJCp8KigqkDJUMlgkaCUwJGwlNCRwJTgkdCU8JHglQCR8JUQkgCVIJIQlTCSIJVAkjCVUJJAlWCSUJVwkmCVgJJwlZCSgJWgkpCVsJKglcCSsJXQksCV4JLQlfCS4JYAkvCWEJMAliCXIMVAxjDGQMZQqLCrMJcwkxCWMJMglkCTMJZQk0CWYJNQlnCTYJaAk3CWkJOAlqCTkJawk6CWwJOwltCTwJbgk9CW8JPglwCXQJdQxfDGAH3Ag9B90IPgfeCD8H3whAB+AIQQfhCEIH4ghDCEQIRQfjCEYH5AhHB+UISAfmCEkH5whKB+gISwfpCEwH6ghNB+sITgfsCE8H7QhQB+4IUQfvCFIH8AhTB/EIVAfyCFUH8whWB/QIVwf1CFgH9ghZB/cIWgf4CFsH+QhcB/oIXQmECYUH+wheB/wIXwf9CGAH/ghhB/8IYggACGMJ5whkCGUIZghnCGgIaQhqCGsIAQhsCAIIbQgDCAQIbggFCG8IBghwCAcIcQgICHIHfgd/B4AHgQeCCAkIcwkPCAoIdAgL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ACYBTVUAAAcLowI9AAAAAP//AF//RgHxAsoCJgAoAAAABwujAlsAAP//ADT/RgILAiUCJgBIAAAABwujAloAAP//AF8AAAHxA90CJgAoAAABBwJLAlgApQAIsQEBsKWwMysAAP//ADT/9gILAzgCJgBIAAAABwJLAlkAAP//AF8AAAHxA5QCJgAoAAABBwFRAEoArwAIsQEBsK+wMysAAP//ADT/9gILAuUCJgBIAAAABgFROwAAAP//AF8AAAJCA9ECJgAoAAABBwNWAlEApQAIsQECsKWwMysAAP//ADT/9gI/AywCJgBIAAAABwNWAk4AAP//ABMAAAHxA9ECJgAoAAABBwNXAlIApQAIsQECsKWwMysAAP//ABH/9gILAywCJgBIAAAABwNXAlAAAP//AF8AAAIhBAwCJgAoAAABBwNYAlAApQAIsQECsKWwMysAAP//ADT/9gIbA2cCJgBIAAAABwNYAkoAAP//AF8AAAHxBBoCJgAoAAABBwNZAk8ApQAIsQECsKWwMysAAP//ADT/9gILA3UCJgBIAAAABwNZAkoAAP//AF//RgHxA60CJgAoAAAAJwujAlsAAAEHAUoAVACvAAixAgGwr7AzKwAA//8ANP9GAgsC/gImAEgAAAAmAUpEAAAHC6MCWgAAAAD//wAmAAABOwPdAiYALAAAAQcCSwHfAKUACLEBAbClsDMrAAD//wA7AAAA/AM4AiYIKgAAAAcCSwG2AAD//wAm/0YBOwLKAiYALAAAAAcLowHfAAD//wBM/0YAxQLoAiYATAAAAAcLowG4AAD//wA8/0YC1QLVAiYAMgAAAAcLowK4AAD//wA0/0YCLgIlAiYAUgAAAAcLowJeAAD//wA8//YC1QPdAiYAMgAAAQcCSwK3AKUACLECAbClsDMrAAD//wA0//YCLgM4AiYAUgAAAAcCSwJeAAD//wA8//YC1QPRAiYAMgAAAQcDVgKvAKUACLECArClsDMrAAD//wA0//YCRwMsAiYAUgAAAAcDVgJWAAD//wA8//YC1QPRAiYAMgAAAQcDVwKvAKUACLECArClsDMrAAD//wAY//YCLgMsAiYAUgAAAAcDVwJXAAD//wA8//YC1QQMAiYAMgAAAQcDWAKuAKUACLECArClsDMrAAD//wA0//YCLgNnAiYAUgAAAAcDWAJWAAD//wA8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AQcAagBQAK8ACLEBArCvsDMrAAD////0AAACJgO9AiYASwAAAQcAav9jAN0ACLEBArDdsDMrAAD//wAt/xACjALKAiYAKwAAAAYAeigAAAD//wAf/xACJgL4AiYASwAAAAYAehoAAAD//wBf/z4CjALKAiYAKwAAAAcLrQF3AAD//wBT/z4CJgL4AiYASwAAAAcLrQE7AAD////0/0IBbgLKAiYALAAAAAcLrwCxAAD////L/0IBRQLoAiYATAAAAQcBUf+j/OQACbECAbj85LAzKwD//wAeAAABUAQZAiYALAAAAQcHgwCxAK8ACLEBA7CvsDMrAAD////1AAABJwNqAiYIKgAAAAcHgwCIAAD//wBfAAACeAOtAiYALgAAAQcAdgDqAK8ACLEBAbCvsDMrAAD//wBFAAACKQPbAiYATgAAAQcAdgAdAN0ACLEBAbDdsDMrAAD//wBf/0YCeALKAiYALgAAAAcLowJ9AAD//wBT/0YCKQL4AiYATgAAAAcLowJGAAD//wBf/2QCeALKAiYALgAAAAcLsAFPAAD//wBT/18CKQL4AiYATgAAAQcBTABw/QEACbEBAbj9AbAzKwD//wBf/0YB/ALKAiYALwAAAAcLowJcAAD//wBK/0YAwwL4AiYATwAAAAcLowG2AAD////5/0YB/ANdAiYALwAAACcLowJcAAABBwFM/9EArwAIsQIBsK+wMysAAP///+7/RgEhA4sCJgBPAAAAJwujAbYAAAEHAUz/xgDdAAixAgGw3bAzKwAA//8AX/9rAfwCygImAC8AAAEHAUwAbP0NAAmxAQG4/Q2wMysA////7f9pASAC+AImAE8AAAEHAUz/xf0LAAmxAQG4/QuwMysA//8AX/84AfwCygImAC8AAAAHC6wBLgAA////1P84AT8C+AImAE8AAAEHAUr/rPzaAAmxAQG4/NqwMysA//8AXwAAAzcDlwImADAAAAEHAU4BaQCvAAixAQGwr7AzKwAA//8AUwAAA2YC6AImAFAAAAAHAU4BhAAA//8AX/9GAzcCygImADAAAAAHC6MC8wAA//8AU/9GA2YCJQImAFAAAAAHC6MDDAAA//8AXwAAAqkDlwImADEAAAEHAU4BIgCvAAixAQGwr7AzKwAA//8AUwAAAiYC6AImAFEAAAAHAU4A2QAA//8AX/9GAqkCygIm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/82wMysAAAD////nAAADewMqACcAKwDvAAABBwb9/3H/zgAJsQECuP/OsDMrAAAA////5wAAA3cDKgAnACsA6wAAAQcHCv9x/84ACbEBArj/zrAzKwAAAP//AFH/9gFZAwwCJgGFAAAABgbsCwAAAP//AE//9gFZAwwCJgGFAAAABgcmAgAAAP//AAP/9gFZAwcCJgGFAAAABwb7/24AAP//AAP/9gFZAwcCJgGFAAAABwcI/3UAAP//ABT/9gFZAwcCJgGFAAAABwb8/2gAAP//ABL/9gFZAwcCJgGFAAAABwcJ/28AAP///97/9gFZA1wCJgGFAAAABwb9/2gAAP///9P/9gFZA1wCJgGFAAAABwcK/10AAP//AAAAAAG5AtQAJgAsfgABBgbsucgACbEBAbj/yLAzKwAAAP//AAAAAAGzAtQAJgAseAABBgcms8gACbEBAbj/yLAzKwAAAP//AAAAAAJRAtQAJwAsARYAAAEHBvv/a//NAAmxAQK4/82wMysAAAD//wAAAAACQwLUACcALAEIAAABBwcI/3L/zQAJsQECuP/NsDMrAAAA//8ACQAAAmQC1AAnACwBKQAAAQcG/P9d/80ACbEBArj/zbAzKwAAAP//AAAAAAJeAtQAJwAsASMAAAEHBwn/Xf/NAAmxAQK4/82wMysAAAD////nAAACVQMqACcALAEaAAABBwb9/3H/zgAJsQECuP/OsDMrAAAA////5wAAAlQDKgAnACwBGQAAAQcHCv9x/84ACbEBArj/zrAzKwAAAP//ADT/9gIuAwwCJgBSAAAABwbsALEAAP//ADT/9gIuAwwCJgBSAAAABwcmAKgAAP//ADT/9gIuAwcCJgBSAAAABgb7FAAAAP//ADT/9gIuAwcCJgBSAAAABgcIGwAAAP//ADT/9gIuAwcCJgBSAAAABgb8DgAAAP//ADT/9gIuAwcCJgBSAAAABgcJFQAAAP//AAD/9gMHAtUAJgAyMgABBgbsucgACbECAbj/yLAzKwAAAP//AAD/9gMdAtUAJgAySAABBgcms8gACbECAbj/yLAzKwAAAP//AAD/9gO5AtUAJwAyAOQAAAEHBvv/a//NAAmxAgK4/82wMysAAAD//wAA//YDtwLVACcAMgDiAAABBwcI/3L/zQAJsQICuP/NsDMrAAAA//8AA//2A4YC1QAn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ARD/8wJhADQCdgBTAmEANAJhADQCYQA0AmEANAJhADQCPAAwAmEANAJ2AE4CdgBOAnYATgJ2AE4CDwABAmwAUwIPAAECjgAAAj4ALQKOAAACPgAtAo4AAAI+AC0CeQA8AeoANAJ5ADwB6gA0AnkAPAHqADQCeQA8AeoANALdAF8CbAA0At0AHAJyADQCLQBfAjwANAItAF8CPAA0Ai0AXwI8ADQCLQBfAjwANAItAF8CPAA0AtcAPAJsADQC1wA8AmwANALXADwCbAA0AtcAPAJsADQC7ABfAnb/1QLsAAACdgAHAWL/9AEQ/8oBYgAYARD/7gFiAA8BEP/mAWIAJgEQACABYgAmAoQAJgIgAEwBIv+zARD/xgJ4AF8CLwBTAi8AUwIYAE4BEABDAhgAXwEQAEMCGABfARAAUwIYAF8BKABTAhgACQEQ//YDCABfAnYAUwMIAF8CdgBTAwgAXwJ2AFMCyAABAwgAXwJ2AFMDEQA8AmEANAMRADwCYQA0AxEAPAJhADQDrQA8A7sAMwJ5AF8BqQBTAnkAXwGpAEECeQBfAakAPwImADIB5AAxAiYAMgHkADECJgAyAeQAMQImADIB5AAxAjMADQF/ABICMwANAX8AEgIzAA0BfwASAuIAWQJ2AE4C4gBZAnYATgLiAFkCdgBOAuIAWQJ2AE4C4gBZAnYATgLiAFkCdgBOA60ACAMnAAsCRwAAAg8AAQJHAAACPgAiAdsAIwI+ACIB2wAjAj4AIgHbACMBVwBTAjwAXgKPAAACPgAtA4b//wNwAC0DEQA8AmEANAImADIB5AAxAbsAKAG7ACgBgwAoAZ0AKADIACgBMwAoAP8AKAHKACgBzgAoAkEA+AJBAH4ClAAGAREARAKLAAADSgAAAeoAAANEAAAC7AAAA0H/+wFs/+gCjgAAApAAXwIXAF8CXAAWAi0AXwI+ACIC7ABfAxEAPAFiACYCeABfAmwAAAOWAF8DCABfAjAAJAMRADwC3wBfAmQAXwJBACUCMwANAkcAAAM1ADECYgADAzkANQMPACMBYgAcAkcAAAJwADQB+AAqAnYAUwFsAFECbgBMAnAANAKAAFMCFQAEAmAAMwH4ACoB6AA0AnYAUwJaADQBbABRAi8AUwI0//0CegBTAjEAAQHjADMCYQA0AqsADAJhAEkB6AA0AnQANAHwAA0CbgBM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ARAABwFsAFEBTAAfAYsABAFu//YBDwBTAq8AUwO1AE8DtQBPA7UAUwJ2/+MCdgBTApIAUwJhADQDYgA0AxwANQLvADMBqQARAakAEQGpABEBqQBTAakAUwFpAFABaQATAj0AVQI9AFUB5AAxARD/4wEQ/+MBEP/tARD/mAF/ABkBfwASAnYABwJqAB0CdgBPAg4AAAMnAAsCDwAAAfYAAAHbACMCKAAjAgoAEgIK//IBugAJAboAGgG6AAkB4gA0AxEAPAJQAFMCYQArAkUANAKEAFMBEP+iAi8ABgHAAFMCbAA0AboACQG6ABkDzgA0A+4ANAQaADQDCAASAiAAEgNvABIDfAAQAqcAUwJxAFMCBQAAAlMAUwJ8/+wCfP/sAZkANgGZADYAsf/aARQANgEUAAsBFAALAXQANwIMAAcBVwABALsADAGAAAwAuwAMALsADACtAB4ArQAeASkACAEpABMBHQAYAR0AGAEdABEBHQAKAKYAKAExACgBMQAoAKYAKAGDACgBMQAoATEAKAE5AEQBOQBEAMEAKADBACgBDgAeAQ4AHgEOAB4BGgAeARwAKAFWAAAAsQA2ATsAIAFhAAkBHwARAaIATgGiAE4BogBOAaIATgGiAE4BogBOAaIATgG7ACgB7wAoAYAADAGeACgBngAoAUsAKAFLACgBMQAoAc4AKAHOACgBygAoAREARAD2ACgA9gAoAPYAKAD2ACgCDgAoAg4AKAIWACgAAP6FAOYAFADmABQCQQDyAeoAIAHqADQB6gAgARIAHwJXADAC2f/oAk0AAALvADMCif/6AwUAPAJhADQCbAA8AegANAIcAF8B3QBUAfH/+wIrAC8CUf/zAgT/tQKJ//oCYQA0AeoANAEQ/8YDEgA8AfgANAHzAB8CZABfAmwAUwJ5ADwDlgBfAvIAUwJhAAMCeQAgAnkAPAJ5ACADEQA8AmwANAOtAAgDJwALAhkACgLVAAgDcAAxAlAACgIJADsCWABWAlgAIwHRAFYB/QAiARwAUgFkADICCQBWAcEAFQLkAFYCeABWAn8AOwIJACMCbQASAm0AHwJtAAgDuwAxAjAAOQJ2ADcCdgA3AfwAVgIXABUCFwAVAdEAFQJlAE8CbQAmAx8AFAJtACgB5wAAAt8ACgHbACMB6gAhAc4ALQH8ABABwgBWAfsACgJaAFYB/ABWApwANQJMAA4BqQAAAkv//wGrAD4BqwANAd0APgFqAD4BagAnAdgAJwHmAD4A5gAZALz/zgGbAD4BXQA+AlUAPgH4AD4B+AA+Af8AJwHGACUBjQA+AZsAPgFtAAgB4AA6AmQABQF1AB0BdQA0AZMAIgI8ACABkwA2AZMAIgF0ACIBdAAgAUgAGwFGABYBkwAiALkANQFsADYCaQA2AZkANgGMACIBPgAVAZkAJAGZACQBkwA2APkADAGZADMBlAAZAmkAMwFWAAABSgAKAaAANgFaAAMBjAAhAeQAIgFu//YAsQAxARQANgGZADMBVgAAAaAANgFaAAMBjAAvAeQAIgFu//YDrgBPAmz/1wJsADQBZf/wA7X/7AJ5/+wCbP/VAan/1QFp/9QB5P/7AX//5AHbABkCbABTAaMANgJEACAD9AASAUwAHwFsAAQCbAAHAmYABwJqAAcCbABTAmwANAFlABADHQA0Ai8AUwEQACwDtQBTAnYAUwJsAFMBqQAsAeQAMQHB/+MCDgAAAh8ADgHbACMCPgAtAmwANAJsADQCPAA0Af8AKgH9ACICpAAxARAATAHqACABEP/jAnYATgH9ACIBkwA2AT4AIgFdAB8BjAAiAUsAFgDoAAoAsf/aAZMAIgGZADQAsQAFAO0ANQDYABQA2AAUALH/wwCwADYAsQAdASMANgJpADYCaQAzAZn/7QGZADYBrAA2AYwAIgHoACEBOwAgALH/7QD5AAwBmQAFAZEAEwGOADMBmQAzAVYAAAE1ABcBNQAXAWYAFwFUAAwBhwAiApAAXwJsAFMCkABfAmwAUwKQAF8CbABTAnkAPAHqADQC3QBfAmwANALdAF8CbAA0At0AXwJsADQC3QBfAmwANALdAF8CbAA0Ai0AXwI8ADQCLQBfAjwANAItAF8CPAA0Ai0AXwI8ADQCLQBfAjwANAIQAF8BZQAQAtcAPAJsADQC7ABfAnYAUALsAF8CdgBTAuwAXwJ2//QC7AAtAnYAHwLsAF8CdgBTAWL/9AEQ/8sBYgAeARD/9QJ4AF8CLwBFAngAXwIvAFMCeABfAi8AUwIYAF8BEABKAhj/+QEQ/+4CGABfARD/7QIYAF8BEP/UA5YAXwO1AFMDlgBfA7UAUwMIAF8CdgBTAwgAXwJ2AFMDCABfAnYAUwMIAF8CdgBTAxEAPAJhADQDEQA8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AhkASQIKAC4CCgAuAgoALgIKAC4CCgAuAgoALgJRAEkCUQAMAlEASQJRAAwBxQBJAcUASQHFAEkBxQA+AcUAPwHFAEkBxQBJAcUAPAHFAEkBxQBJAa8ASQJWAC8CVgAvAlYALwJWAC8CVgAvAmQASQJgAAcCZABJATQAIgE0ACIBNP/5ATT/5wE0AAQBNAAiATT/4wIuACIBNAABATQAIgE0/90A+v+8APr/vAIMAEkCDABJAcMASQHDAEkBwwBJAcMASQHDAEkBwv/uAvQASQKDAEkCgwBJAoMASQKDAEkCgwBJAoMASQKDADACgwAwAoMAMAKDADACgwAwAoMAMAKDADACgwAwAoMAMAKDADACgwAwAwYAMAH3AEkB+QBJAoMAMAINAEkCDQBJAg0ASQINAEkBywAoAcsAKAHLACgBywAoAcsAKAHLACgCYABDAc0ADQHNAA0BzQANAc0ADQHNAA0CYABEAmAARAJgAEQCYABEAmAARAJgAEQCYABEAmAARAJgAEQCYABEAmAARAIMAAADGQAOAxkADgMZAA4DGQAOAxkADgIKAAEB7QAAAe0AAAHtAAAB7QAAAe0AAAHlABsB5QAbAeUAGwHlABsAsQAxAUcAQQMuADICEAAfAmQAMQOWAF8BYgAmBHIACwLi/+oFlwAGAsoABgLhAAMCQgAfAkIAHwIkACsBmAAoAuQAWQMPADwEFAA8Ao//4gOuAAIDXgBfBBwAPAPsAF8CogAAAvUAEAPsAF8CrwAMAvEAFQOVAAYDrAADBFsAXwMRADwDDwA8BTIAPALJAAYCJAAyBL4AKgQ/AEUDfgAGAvYADgIsAA4C3ABfAiwADgNmAA4CvwBfBBgAXwU6ADwDEgA8Ann/1wS4ABICaQARAmkABQI3ADMCXQASAdIANAJpADQBlf+4A5cAUwKC/9ICggAGAmcALwHdACEB3QAhAeQAKwFsAFECeQBPAdkAHAOQADoCrgACA3sACQM7AFMDUAA0A2kAUwIzAAACaAAIA2gAUgIwAAICiQARAvoAEgMFAAUDsQBTAmEANAKLADMD9QA0Al0AEgHkACwEEgAiA8UARAL/ABEC8gAWAfsAFgKCAFMB+wAWAwwAFgJ1AFMDlwBTA/AANAJhADQCYAAzA2oALAJCAKYBxwAIAYYANgHHAF8CjgAbAxAAYAJ1AF8BIv+zAZcAUwIfABUCmgBTAn0AUgKgAD0C3gABAi8AIANRABgCSgALAjQAEwIYABsDRgACBCL//ALn//wDQQALAwkAYQNo//wCEAAfAo4AAAJ4ADIDCQBhAwoAYQKPAGEDDQA9AsoAYQJ2ACYC2gAkAigAYQJeADMCeABfAlsAHAM4//wEg//8AucACQIR/+4C7AAvAt8ALwLsAEoCQwAJAfMACQFXACABV/9vAh8ABQMJADECdgAfAnMAHgHOABgB4AAYAkT/qwHsADQCdgBTA04ANAFcABACWwAqAmEAKwJbADsCbwADA4gALQGfADoCPQADAxYAEQFeAAgCaQAzAbL//wGLAAABlwAdA6wAUwJ1AFMCdQBTAcsALAHLACwCTwAxA7sAMwPGAD0DxgA9A7wAMwO8ADMCeQBPAjYAVgFNAFMCZQBTAe4AAAKpAAABwwAWAoYADwFlABMCdQBPAnUABAOsAE8DrABTAqwAEwIz//ECYf/xAjn/6QKEAA4CIP+FAoT/hQIg/3oCdQBPAmwANAGZADYBbAA2ALEANgJpADYBmQA2AZMANgE7ACAA+QAMAYQAIQHmAAACbQAhAZkANgEa//8BAQADAb0ADAJBANsCTgA2Ac8AFQIsACUCPAArAj8AFAI8ADsCRQA2AgYACQJPADcCRQAxAlIANAGlABECKQArAh8AHQI/ABcCNAA5AkEANAIXABcCPAAtAkEAKwI8AC0CLAAhAiwAPgIsAC4CLAAkAiwACAIsADECLAApAiwAIQIsACUCLAAgAWcAEwFnACcBZwAZAWcAFQFnAAkBZwAhAWcAFQFnABwBZwAYAWcAEgFnABMBZwAnAWcAGQFnABUBZwAJAWcAIQFnABUBZwAcAWcAGAFnABIBvwAnA3QAEwM9ACcDcgAZA2UAFQNoAAkDJQAnA1AAIQNQACcDNgAnBC4AJwFnABMBZwAnAWcAGQFnABUBZwAJAWcAIQFnABUBZwAcAWcAGAFnABIEXgAMAoQANgKEAFgBRgBMAUYAGAGPABQBhQASAmEAFgJcABYBvAA8AcAAkQMtACYCrwBKAjsANAH0ADAC7gCEBBIADwLCAEQDRAA1A0oANgI4AB0D6AAAApoANgNFADUBEQBEAUIAJQE1AGQBxgAdAlwAFgH0AHoB9AA9AfQAPQH0AIEB9AAwAicApgIlACYB9AC2A0QANgLuAKYD6AAAA3MACQLAAAkBEQAmAREARAH0ACMB9AAjAfQAPANJADID6AAAAo8AWAHFACAA+wAwAfQAeAH0AHgB9ACHAfQAPQH0AD0B9ACBAfQAMAInALICPABmA0oANgPoAEMCFwA2AjsAMAI8ADACPAAwAksAJgH4AEABEQBEAREASAHjAC4BEQBFAiUAJgIiAEQA8AA2A0QANgJhABYBcgBAAAD/oQEJAEABUwBEAsIANgD+ADUCIwBDAu4AegERAEQA5wAmAOcAHQFMAFABTAAZAUwAUAFMABkCFwAoAhcAGgPoANMD6ADUAOcAJgDnAB0BQgAJAUIAJQFCACULGAAoB4AAKAE+ACUB9P/9ASD//QNZACkCp//9AcQAPQFEABgBRQAbAQoAOQEKABcA2gAxAa0AMQDaADIBEgAfARIAHQEFAB8BBQAXAX0ACgF9ABYB7QAVAkIAcQG3AAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAAAAAAAAAAAAAAAAAAAAAlgAAAKDABYDPQA5AksACgNCAFUC1wAVAiwAEgMWAA0CcQA3Av4AGgJeACUC4QABAhUAIQGCAAUB0wACAVgAIwFYACMBfwAHAVgAIwFYACMGKwApAVgAIwFYACMCGAAcAmwAGgLTAEgCGAAcAkcAAAOoACkC5QAdAsQAHQNoACkD6AAyAkUAIAV1AF8DegAyARAATAHGAA8DbAAEAikAGwKPACwCegBfArUAYgJVAF8CggAfAyAAMwQH//IDHgARAmsAAANEACwA+P+DAh4ATgIeAE4CHgBOAh4ATgF/ABQCHgAOAh4AFwIeAAsCHgAaAh4AGgF/ACICHgAmAh4AIgIeACgCHgAmAh4AJgF/ABICHgASAh4AFwIeABICHgATAh4AEgF/ABYCHgAaAh4AIwIeABoCHgAWAh4AJwF/ABQCHgAXAh4ADgIeABoCHgALAh4AGgIeAE4CHgBOAh4ATgIeAE4BfwASAh4AFwIeABICHgATAh4AEgIeABIBfwAiAh4AIgIeACYCHgAmAh4AKAIeACYBfwAWAh4AIwIeABoCHgAWAh4AGgIeACcBfwAlAh4AJwIeAC4CHgAlAh4AJQIeACUBfwAaAh4AGgIeABoCHgAaAh4AGgIeABoCHgBOAh4ATgIeAE4CHgBOAX8AHwIeABcCHgAf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AACwhAAAsewAALLUAACz4AAAtKAAALWQAAC2NAAAtkQAALb8AAC4VAAAukwAALwEAAC9WAAAvbgAAL4EAAC+GAAAvoQAAL8AAAC/oAAAv/AAAMC8AADAvAAAwLwAAMC8AADAvAAAwLwAAMC8AADAvAAAwLwAAMC8AADAvAAAwLwAAMC8AADAvAAAxXQAAMZEAADGXAAAxmwAAMd0AADIZAAAyTAAAMlUAADJbAAAyYQAAMmcAADKIAAAysAAAMtcAADL5AAAzKAAAM0MAADNMAAAzVQAAM1sAADNhAAAzigAAM7EAADPUAAAz+AAAND4AADSCAAA0ogAANMAAADTmAAA1CgAANTUAADVfAAA1kAAANb8AADYwAAA2oAAANqQAADaoAAA20AAANvYAADchAAA3UgAAN1sAADdhAAA3nQAAN6MAADfWAAA4AwAAOGIAADi+AAA4xwAAOM8AADjyAAA5FgAAOSsAADm0AAA6CAAAOjsAADpsAAA6kAAAOrQAADraAAA7GgAAOzIAADtJAAA7ggAAO6wAADvRAAA79AAAO/oAADwAAAA8HAAAPDYAADxTAAA8cQAAPI8AADyvAAA8yQAAPOIAADz9AAA9FwAAPS8AAD1GAAA9gAAAPawAAD4RAAA+ZAAAPmoAAD5wAAA+hgAAPpwAAD6gAAA+twAAPtIAAD7xAAA/DQAAPygAAD9DAAA/XQAAP38AAD+fAAA/wwAAP+cAAEACAABABgAAQGAAAECgAABBAgAAQUQAAEFIAABBUQAAQVcAAEGOAABBtQAAQfQAAEIuAABCXAAAQn8AAEKYAABCsgAAQtEAAELxAABDFAAAQzYAAEM6AABDQwAAQ0kAAENSAABDWAAAQ1wAAENgAABDaQAAQ28AAEOZAABDnQAAQ6YAAEOsAABDtQAAQ7sAAEPEAABDygAAQ+8AAEQVAABEHgAARCQAAEQtAABEMwAARDwAAERCAABERgAAREoAAERTAABEWQAARGIAAERoAABEcQAARHcAAESAAABEhgAARI8AAESVAABEngAARKQAAES5AABEzQAARNYAAETcAABE4gAARQsAAEU0AABFWwAARXgAAEWTAABFsQAARbUAAEXqAABGHgAARmEAAEaTAABGvwAARuoAAEcrAABHTwAAR3sAAEeoAABHzwAAR/MAAEgRAABILgAASGAAAEhkAABIvgAASPwAAEkCAABJCAAASREAAEkXAABJIAAASSYAAEkvAABJNQAAST4AAElEAABJTQAASVMAAEleAABJZgAASW8AAEl1AABJfgAASYQAAEmNAABJkwAASZwAAEmiAABJrQAASbUAAEm7AABJwQAAScoAAEnQAABJ2QAASd8AAEnoAABJ7gAASfcAAEn9AABKBgAASgwAAEoVAABKGwAASiYAAEouAABKNwAASj0AAEpDAABKSQAASk8AAEpVAABKXgAASmQAAEptAABKcwAASnwAAEqCAABKiwAASpEAAEqaAABKoAAASqsAAEqzAABKvAAASsIAAErLAABK0QAAStoAAErgAABK6QAASu8AAEr1AABK+wAASwEAAEsHAABLEAAASxYAAEsfAABLJQAASy4AAEs0AABLPQAAS0MAAEtMAABLUgAAS1gAAEteAABLZAAAS20AAEt2AABLfAAAS4UAAEuLAABLkQAAS7UAAEvdAABMFQAATEQAAExoAABMjQAATMYAAE0AAABNIgAATTwAAE1CAABNSAAATY0AAE3NAABN0QAAThAAAE4wAABOVQAATnkAAE6qAABO5AAATugAAE8XAABPOAAAT3gAAE+AAABPlwAAT5sAAE/NAABP7gAAUCUAAFBOAABQkAAAUKkAAFDHAABQ+wAAUSsAAFFAAABRjwAAUccAAFHtAABR8QAAUfUAAFIrAABSVQAAUocAAFLMAABS8AAAUx0AAFNIAABTTAAAU4IAAFOuAABT0gAAVAsAAFQnAABUTgAAVHsAAFSoAABU5gAAVQMAAFUiAABVJgAAVU4AAFV1AABVpwAAVd0AAFYDAABWKAAAVlIAAFaCAABWjwAAVpUAAFaxAABWtQAAVsAAAFbIAABW0AAAVtYAAFbcAABW4gAAVugAAFbuAABW9AAAVv0AAFcDAABXDAAAVxIAAFcbAABXIQAAVyoAAFcwAABXOQAAVz8AAFdIAABXTgAAV1cAAFddAABXZgAAV2wAAFd1AABXewAAV4EAAFeHAABXkAAAV5YAAFfIAABYJgAAWC8AAFg1AABYPgAAWEcAAFhNAABYUwAAWF4AAFhmAABYbwAAWHUAAFh7AABYgQAAWIcAAFiQAABYlgAAWMIAAFjtAABY9gAAWPwAAFkFAABZCwAAWRQAAFkaAABZIwAAWSkAAFkyAABZOAAAWUEAAFlHAABZUAAAWVYAAFlfAABZZQAAWW4AAFl0AABZfQAAWYMAAFmMAABZkgAAWZsAAFmhAABZqgAAWbAAAFnYAABZ/wAAWggAAFoRAABaOQAAWpgAAFrGAABa9AAAWvoAAFr+AABbBwAAWw0AAFsTAABbGQAAWyIAAFsoAABbMQAAWzcAAFtAAABbRgAAW0wAAFtSAABbWwAAW2EAAFuKAABb1gAAXAYAAFxBAABcfQAAXKgAAFzdAABdDwAAXSYAAF1GAABdhAAAXawAAF3KAABd5wAAXhcAAF47AABePwAAXmcAAF6oAABeygAAXvcAAF88AABfhQAAX6wAAF/dAABf/AAAYCkAAGAxAABgaQAAYHEAAGDFAABg6AAAYSEAAGFaAABhrgAAYbQAAGHcAABh4AAAYgwAAGItAABifQAAYoEAAGKqAABi1AAAYxAAAGMYAABjSgAAY4wAAGOuAABjsgAAY8gAAGPwAABkFQAAZCwAAGRZAABkYQAAZIoAAGTRAABlCgAAZToAAGVTAABlVwAAZcQAAGXzAABl9wAAZf8AAGYoAABmUgAAZnwAAGayAABmywAAZuQAAGcEAABnDQAAZ0QAAGdxAABnqgAAZ80AAGgHAABoDwAAaDIAAGhkAABoiQAAaLsAAGjDAABoywAAaNMAAGjmAABpDAAAaTcAAGk7AABpeAAAaZ0AAGmjAABpwQAAaeQAAGnqAABp7gAAahoAAGpdAABqYQAAapEAAGqZAABqqAAAau0AAGscAABrSwAAa6kAAGwmAABsngAAbPcAAG1GAABtoAAAbgUAAG5HAABuYgAAbo0AAG6mAABu4AAAbygAAG8xAABvOgAAb0MAAG9MAABvVQAAb14AAG9nAABvcAAAb3kAAG99AABvgQAAb4UAAG+JAABvoAAAb7cAAG/WAABv3AAAb+QAAG/sAABv/wAAcAcAAHALAABwDwAAcBMAAHAbAABwIwAAcCgAAHAtAABwQQAAcEwAAHBUAABwXAAAcGQAAHBsAABwdAAAcIIAAHCHAABwkAAAcJkAAHCiAABwqwAAcLQAAHDHAABw3AAAcPEAAHEGAABxFwAAcSgAAHE7AABxQwAAcUsAAHFPAABxYQAAcXMAAHF9AABxhwAAcY8AAHGYAABxoAAAcagAAHGvAABxwAAAcdMAAHHlAABx9QAAchAAAHIpAAByQAAAckQAAHJVAAByawAAcm8AAHJzAAByfAAAcoUAAHKJAAByxAAAcs4AAHLXAABy2wAAczcAAHNkAABzhwAAc7AAAHPcAAB0CQAAdCkAAHRcAAB0jQAAdLoAAHTZAAB1NAAAdW0AAHVxAAB1dQAAdXkAAHV9AAB1gQAAdYUAAHWJAAB1jQAAdbUAAHXbAAB2CgAAdg4AAHYUAAB2GgAAdh4AAHYiAAB2JgAAdioAAHZFAAB2ZAAAdrIAAHbdAAB3AAAAdxcAAHc5AAB3TgAAd34AAHeXAAB3sAAAd8cAAHffAAB3+wAAeBMAAHgxAAB4VAAAeF4AAHhoAAB4cgAAeHoAAHimAAB4vAAAeNEAAHjvAAB5EAAAeTIAAHlBAAB5WQAAeWMAAHltAAB5dwAAeXwAAHmnAAB5qwAAec8AAHn6AAB6JAAAejQAAHpKAAB6WgAAel4AAHp8AAB6pQAAeq4AAHq3AAB6wAAAevgAAHsBAAB7CgAAexMAAHscAAB7JQAAey4AAHs3AAB7QAAAe0kAAHtSAAB7WwAAe3sAAHuEAAB7jQAAe5YAAHufAAB7qAAAe7EAAHu6AAB7wwAAe8wAAHvVAAB73gAAe+cAAHvwAAB7+QAAfAIAAHwLAAB8FAAAfB0AAHwmAAB8LwAAfDgAAHxBAAB8SgAAfFMAAHxcAAB8ZQAAfG4AAHx3AAB8gAAAfIkAAHySAAB8mwAAfKQAAHytAAB8tgAAfL8AAHzIAAB80QAAfNkAAHzhAAB86QAAfPEAAHz5AAB9AQAAfQkAAH0RAAB9GQAAfVoAAH2zAAB+EAAAflgAAH6sAAB+9AAAf0YAAH+NAAB/vgAAgAEAAIA/AACAiAAAgJAAAICZAACAxAAAgS8AAIFNAACBbQAAgbkAAIHgAACCFgAAgmMAAILFAACDBQAAg2UAAIOQAACDrQAAg/IAAIQrAACEegAAhLkAAIT1AACFOAAAhV8AAIWFAACFqQAAhhYAAIZ2AACGxwAAhv0AAIc7AACHeAAAh7IAAIfdAACIDAAAiEYAAIiSAACIxgAAiM8AAIjYAACI4QAAiOoAAIjzAACI/AAAiQUAAIkOAACJFwAAiSAAAIkpAACJMgAAiTsAAIlEAACJTQAAiVYAAIlfAACJaAAAiXEAAIl6AACJgwAAiYwAAImVAACJngAAiacAAImwAACJuQAAicIAAInLAACJ1AAAid0AAInmAACJ7wAAifgAAIoBAACKCgAAihMAAIocAACKIgAAiigAAIouAACKNwAAikAAAIpLAACKUwAAilwAAIpiAACKaAAAim4AAIp3AACKgAAAiq0AAIsBAACLBwAAiw0AAIsWAACLHAAAiyUAAIsrAACLMQAAizcAAIs9AACLRgAAi1EAAItZAACLYgAAi2sAAIt0AACLegAAi4MAAIuMAACLkgAAi5gAAIuhAACLqgAAi7AAAIu2AACLvAAAi8IAAIvIAACL0QAAi9oAAIvgAACL6QAAi/IAAIv4AACL/gAAjAQAAIwNAACMEwAAjBkAAIwkAACMLwAAjDgAAIxBAACMRwAAjFAAAIxZAACMXwAAjGUAAIxrAACMdAAAjHoAAIyAAACMhgAAjI8AAIyYAACMngAAjKQAAIytAACMswAAjLwAAIzCAACMywAAjNEAAIzaAACM4AAAjOkAAIzvAACM+AAAjP4AAI0HAACNDQAAjRMAAI0ZAACNJAAAjSwAAI01AACNPgAAjUcAAI1NAACNUwAAjVkAAI1iAACNaAAAjXEAAI13AACNggAAjYoAAI2TAACNmwAAjaEAAI2nAACNsAAAjbYAAI28AACNxQAAjc4AAI3UAACN3QAAjeMAAI3pAACN8gAAjfsAAI4BAACOCgAAjhAAAI4ZAACOHwAAjiUAAI4rAACONAAAjjoAAI5AAACORgAAjk8AAI5VAACOXgAAjmQAAI5tAACOcwAAjnwAAI6CAACOiAAAjo4AAI6UAACOmgAAjqAAAI6oAACOrgAAjrQAAI66AACOwwAAjskAAI7PAACO1QAAjtsAAI7hAACO5wAAju0AAI7zAACO/AAAjwUAAI8OAACPFwAAjyAAAI8pAACPMgAAjzsAAI9BAACPRwAAj00AAI9TAACPWQAAj18AAI9oAACPcQAAj3sAAI+FAACPjwAAj5kAAI+fAACPpQAAj6sAAI+xAACPtwAAj70AAI/DAACPyQAAj9IAAI/bAACP5QAAj+8AAI/5AACQAwAAkA0AAJAXAACQHQAAkCMAAJApAACQLwAAkDUAAJA7AACQQQAAkEcAAJBQAACQWQAAkGMAAJBtAACQdwAAkIEAAJCLAACQlQAAkJsAAJChAACQpwAAkK0AAJCzAACQuQAAkMIAAJDLAACQ1QAAkN8AAJDpAACQ8wAAkPkAAJD/AACRBQAAkQsAAJERAACRFwAAkR0AAJEjAACRLAAAkTYAAJFAAACRSQAAkU8AAJFVAACRWwAAkWEAAJFnAACRbQAAkXMAAJF5AACRggAAkYsAAJGVAACRnwAAkakAAJGzAACRvQAAkcYAAJHMAACR0gAAkdgAAJHeAACR5AAAkeoAAJHwAACR9gAAkfwAAJICAACSCAAAkg4AAJIUAACSGgAAkiIAAJIqAACSMQAAkjgAAJI/AACSRgAAkk0AAJJUAACSXwAAkmoAAJJ1AACSgAAAkosAAJKWAACSoQAAkqwAAJK0AACSvAAAksQAAJLMAACS1AAAktwAAJLkAACS7AAAkvcAAJMCAACTDgAAkxoAAJMmAACTMgAAkz4AAJNKAACTUgAAk1oAAJNhAACTaAAAk28AAJN2AACTfQAAk4QAAJOPAACTmgAAk6YAAJOyAACTvgAAk8oAAJPWAACT4gAAk+gAAJPuAACT9QAAk/sAAJQCAACUCAAAlA8AAJQYAACUIQAAlCoAAJQzAACUOQAAlFMAAJR1AACUeQAAlH0AAJSzAACUuwAAlMEAAJTJAACUzwAAlNcAAJTgAACU6QAAlPIAAJT7AACVAQAAlUcAAJWNAACVvAAAlcIAAJXIAACVzgAAldQAAJXaAACV4AAAlekAAJXyAACV+wAAlgQAAJZIAACWjAAAlrsAAJbBAACWxwAAls0AAJbTAACW2QAAlt8AAJblAACW6wAAlvQAAJb9AACXBwAAlxEAAJcaAACXTQAAl4UAAJeaAACXoQAAl6cAAJevAACXtQAAl70AAJfGAACXzwAAl9gAAJfhAACX5wAAl/0AAJgWAACYJAAAmDsAAJhUAACYbQAAmHsAAJiBAACYnAAAmK0AAJi+AACY0AAAmQMAAJk2AACZNgAAmVEAAJlVAACZmQAAmdEAAJoFAACaFgAAmiYAAJo6AACabwAAmo0AAJq+AACa7wAAmvcAAJr/AACbBwAAmw8AAJsXAACbQQAAm38AAJvLAACcFwAAnE0AAJylAACc6AAAnQcAAJ0oAACdggAAnbkAAJ31AACeKQAAnlYAAJ6XAACezQAAnvIAAJ75AACfOAAAn58AAJ+0AACgCAAAoIMAAKCHAACgpgAAoMIAAKDtAAChHAAAoUsAAKGcAAChygAAoc4AAKHwAACiDgAAoi4AAKJIAACiYgAAopcAAKKbAACi3AAAoxkAAKNXAACjaQAAo3oAAKOhAACjrgAAo8gAAKPgAACj9wAApBAAAKQdAACkKgAApEIAAKRaAACkYgAApG4AAKR6AACkggAApJwAAKSxAACkvAAApMoAAKT0AAClHgAApTIAAKVGAAClXQAApXQAAKV6AAClgAAApYYAAKWMAAClkgAApZgAAKWeAAClpAAApaoAAKWwAACltgAApbwAAKXCAAClyAAApc4AAKXUAACl2gAApeAAAKXmAACl7AAApfIAAKX4AACl/gAApgQAAKYKAACmEAAAphYAAKYcAACmIgAApigAAKYuAACmNAAApmgAAKZsAACmpAAApu4AAKdGAACnoAAAp/YAAKggAACoUQAAqH8AAKizAACo3gAAqQMAAKkoAACpWAAAqXsAAKmqAACpwwAAqd0AAKonAACqcgAAqrEAAKrvAACrRQAAq5sAAKvzAACsSwAArIkAAKy/AACs4wAArSEAAK1MAACtoAAArbsAAK3XAACuOwAArokAAK7HAACvHgAArzUAAK9LAACvbQAAr48AAK+yAACv2wAAr/EAALAZAACwWwAAsGMAALCKAACwsQAAsNwAALD0AACxFwAAsSAAALFMAACxdQAAscUAALHLAACyFQAAskoAALJwAACymwAAss4AALLWAACy9wAAsxYAALM8AACzUQAAs2gAALOXAACznQAAs6MAALPIAACz9QAAtEkAALR2AAC0rQAAtMgAALTvAAC1GQAAtUwAALV1AAC1mQAAtbYAALXkAAC2EQAAtjoAALZmAAC2lwAAtsMAALbLAAC20wAAtwUAALcvAAC3UAAAt2IAALd/AAC3qQAAt9gAALf2AAC4HwAAuEkAALh6AAC4mwAAuJ8AALjiAAC5FwAAuR8AALknAAC5VgAAuZcAALnAAAC5xAAAucoAALnQAAC51gAAudwAALniAAC56AAAuf4AALoCAAC6BgAAugoAALpgAAC6ZAAAuqQAALqoAAC63wAAuuoAALrwAAC7CQAAuyIAALtHAAC7bwAAu5wAALukAAC73wAAvAAAALwjAAC8LAAAvDAAALw4AAC8VgAAvGsAALx0AAC8fQAAvIMAALysAAC8zQAAvPcAAL0yAAC9WwAAvYIAAL3PAAC94QAAvgkAAL5jAAC+xAAAvzUAAL+IAAC/5AAAwDkAAMA9AADAYAAAwIEAAMCpAADAuwAAwM0AAMD5AADBQQAAwUcAAMGGAADB5gAAwjAAAMJ0AADCvwAAwtkAAMMBAADDIQAAw1gAAMOJAADDvAAAw9AAAMP+AADEKgAAxFEAAMSzAADEywAAxRQAAMVPAADFmgAAxcYAAMYPAADGPAAAxmIAAMaUAADGnAAAxqcAAMbXAADHAQAAxyEAAMdPAADHdwAAx58AAMf0AADIFQAAyEUAAMh0AADIogAAyKYAAMiqAADIsgAAyNgAAMj9AADJAwAAyQkAAMkPAADJFQAAyRsAAMkhAADJJwAAyS8AAMk3AADJPQAAyUMAAMmTAADKHQAAyjoAAMpAAADKSAAAylAAAMpWAADKXAAAymQAAMpqAADKcgAAyn8AAMqHAADKpgAAyqwAAMrWAADK+QAAyv8AAMsHAADLDQAAyxUAAMsbAADLMgAAy1IAAMtaAADLXgAAy3MAAMt5AADLgQAAy4kAAMuRAADLlwAAy6AAAMumAADLrgAAy7QAAMvGAADL6wAAy/MAAMv7AADMAQAAzAcAAMwdAADMPgAAzEYAAMxbAADMYQAAzGkAAMxxAADMdwAAzH8AAMyFAADMiwAAzJMAAMyZAADMoQAAzLgAAMzAAADM1wAAzN0AAMztAADM8wAAzPwAAM0CAADNCwAAzSMAAM1BAADNWwAAzWEAAM1pAADNbwAAzZQAAM2cAADNugAAzcAAAM3IAADN0AAAzdYAAM3cAADN5QAAze4AAM4hAADOKQAAzjEAAM6PAADOqgAAzsYAAM7pAADPCAAAzw4AAM8WAADPHAAAz0cAAM9NAADPVQAAz1sAAM9jAADPaQAAz6UAAM+2AADPzgAAz9YAAM/cAADP4gAAz/gAAM/+AADQBgAA0A4AANAUAADQGgAA0CMAANArAADQUgAA0FsAANBjAADQeQAA0J8AANClAADQrgAA0LQAANC6AADQzwAA0OMAANDpAADQ8QAA0PcAAND9AADRFAAA0RoAANEiAADRKwAA0TQAANFFAADRTwAA0VUAANFbAADRYwAA0XcAANGnAADRxwAA0foAANIuAADScAAA0qwAANLyAADS+AAA0xIAANM0AADTWgAA05c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AAQ4QAAEOQQABDn8AAQ6uAAEPSgABD3QAAQ+bAAEP0wABD9cAARAaAAEQggABEKsAARDLAAERHAABETkAARFNAAERYQABEXYAARGLAAERnQABEa8AARHCAAER1AABEeYAARH4AAESCgABEh0AARIxAAESTgABEmIAARJ1AAESiAABEp0AARKwAAESxgABEtwAARLxAAETBAABExkAARMsAAETQQABE1YAARNsAAETewABE4sAAROdAAETsAABE8YAARPZAAET7gABFAQAARQaAAEUMAABFEAAARRRAAEUYwABFH4AARSQAAEUogABFLIAARTDAAEU1gABFOcAART8AAEVDwABFR8AARUuAAEVQAABFVEAARVjAAEVdgABFYcAARWZAAEVrQABFcIAARXXAAEV7AABFf0AARYPAAEWIgABFjQAARZGAAEWWAABFnQAARaRAAEWrwABFswAARbeAAEW8gABFwUAARcaAAEXLwABF0QAARdWAAEXagABF30AAReRAAEXpAABF7kAARfKAAEX3QABF/IAARgHAAEYHQABGDMAARhEAAEYVQABGGgAARh6AAEYjAABGJ4AARiwAAEYwwABGNcAARj1AAEZCgABGR8AARkzAAEZRwABGVwAARlxAAEZgwABGZYAARmqAAEZvQABGdEAARnmAAEZ9wABGgoAARofAAEaNAABGkkAARpfAAEacAABGoEAARqUAAEapgABGrgAARrLAAEa3QABGu8AARsDAAEbIAABGzQAARtIAAEbWgABG24AARuAAAEblAABG6kAARu9AAEb0QABG+UAARv6AAEcDwABHBkAARxnAAEcbwABHHQAARx4AAEcfQABHIIAARyHAAEcjAABHJEAARyWAAEcmwABHKAAARylAAEctAABHMQAARzaAAEc/AABHSIAAR08AAEdQAABHUQAAR1IAAEdTAABHVQAAR1cAAEdbwABHYIAAR2TAAEdpAABHboAAR3XAAEd8wABHgoAAR4SAAEeLQABHkcAAR5cAAEeZAABHmwAAR5wAAEedAABHnwAAR6XAAEetwABHr8AAR7HAAEezwABHtcAAR7fAAEe5wABHvYAAR77AAEfAwABHwsAAR8bAAEfJAABHzQAAR9LAAEfZgABH3sAAR+bAAEfqgABH8YAAR/OAAEf0wABH9cAAR/yAAEf9wABH/8AASAYAAEgRAABIH0AASC1AAEgywABINwAASJPAAEibAABInMAASKZAAEipwABIsQAASLhAAEjHgABIyUAASMpAAEjQQABI3MAASOTAAEjrAABI7QAASPDAAEjywABI+wAASQGAAEkGgABJCYAASQ5AAEkVgABJJQAASSfAAEkrAABJLMAASS6AAElAwABJU0AASVpAAEldQABJYgAASW6AAElzQABJegAASX7AAEmFgABJkAAASZcAAEmYgABJpoAASbTAAEm8AABJxcAAScwAAEnbgABJ4EAASecAAEnqQABJ70AASfbAAEoDgABKBYAASgfAAEoKAABKDEAASg6AAEoQwABKEwAAShaAAEoYwABKGwAASh6AAEogwABKIwAASiVAAEongABKKYAASirAAEoxQABKQEAASkKAAEpEwABKRwAASklAAEpLgABKTcAASlAAAEpSQABKVIAASlbAAEpZAABKW0AASl2AAEpfwABKYgAASmRAAEpmgABKaMAASmsAAEptQABKb4AASnxAAEp+gABKgMAASoMAAEqFQABKh4AASonAAEqMAABKjkAASpCAAEqSwABKksAASpUAAEqXAABKmQAASpsAAEqdAABKnwAASqEAAEquAABKt4AASrmAAErBAABKx4AASsxAAErRQABK1kAASt5AAErkQABK6oAASvBAAEr3QABK/sAASwIAAEsIgABLCYAASwrAAEsMwABLDgAASw9AAEsYwABLIAAASyWAAEsqwABLMcAASzoAAEs8QABLPoAAS0DAAEtDAABLRUAAS0eAAEtJwABLTAAAS1IAAEtZwABLY0AAS2WAAEtsQABLcwAAS31AAEuBQABLlMAAS5cAAEuZQABLm4AAS53AAEugAABLokAAS6SAAEumwABLqQAAS6tAAEutgABLr8AAS7IAAEu0QABLtcAAS7gAAEu6QABLvIAAS77AAEvBAABLw0AAS8WAAEvHwABLygAAS8xAAEvOgABL0MAAS9MAAEvVQABL14AAS9nAAEvcAABL3kAAS+CAAEviwABL6YAAS+uAAEv+QABMCoAATBQAAEwYwABMIQAATDmAAEw8AABMS0AATFUAAExngABMbYAATHDAAEx2wABMfsAATIDAAEyCwABMiMAATJCAAEySgABMlIAATJsAAEyhwABMqIAATK9AAEy1gABMvAAATMLAAEzJgABM0AAATNZAAEzYQABM2kAATN8AAEzhAABM5QAAEAAAyuAMoAGAEYABUAAgCYAKoAiwAAAYkNbQAIAAgAAAARANIAAwABBAkAAABeAAAAAwABBAkAAQAaAF4AAwABBAkAAgAOAHgAAwABBAkAAwA0AIYAAwABBAkABAAgALoAAwABBAkABQCQANoAAwABBAkABgAeAWoAAwABBAkABwBEAYgAAwABBAkACAAqAcwAAwABBAkACQAoAfYAAwABBAkACgBCAh4AAwABBAkACwA+AmAAAwABBAkADAA8Ap4AAwABBAkADQKWAtoAAwABBAkADgA0BXAAAwABBAkAEAASBaQAAwABBAkAEQAMBbYAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA1ACAARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAQQBsAGwAIABSAGkAZwBoAHQAcwAgAFIAZQBzAGUAcgB2AGUAZAAuAE4AbwB0AG8AIABTAGEAbgBzACAATQBlAGQAUgBlAGcAdQBsAGEAcgAyAC4AMAAwADAAOwBHAE8ATwBHADsATgBvAHQAbwBTAGEAbgBzAC0ATQBlAGQAaQB1AG0ATgBvAHQAbwAgAFMAYQBuAHMAIABNAGUAZABpAHUAbQBWAGUAcgBzAGkAbwBuACAAMgAuADAAMAAwADsARwBPAE8ARwA7AG4AbwB0AG8ALQBzAG8AdQByAGMAZQA6ADIAMAAxADcAMAA5ADEANQA6ADkAMABlAGYAOQA5ADMAMwA4ADcAYwAwADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADcAKQBOAG8AdABvAFMAYQBuAHMALQBNAGUAZABpAHUAbQBOAG8AdABvACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAARwBvAG8AZwBsAGUAIABJAG4AYwAuAE0AbwBuAG8AdAB5AHAAZQAgAEkAbQBhAGcAaQBuAGcAIABJAG4AYwAuAE0AbwBuAG8AdAB5AHAAZQAgAEQAZQBzAGkAZwBuACAAVABlAGEAbQBEAGUAcwBpAGcAbgBlAGQAIABiAHkAIABNAG8AbgBvAHQAeQBwAGUAIABkAGUAcwBpAGcAbgAgAHQAZQBhAG0ALgBoAHQAdABwADoALwAvAHcAdwB3AC4AZwBvAG8AZwBsAGUALgBjAG8AbQAvAGcAZQB0AC8AbgBvAHQAbwAvAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBtAG8AbgBvAHQAeQBwAGUALgBjAG8AbQAvAHMAdAB1AGQAaQBvAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAG8AbgAgAGEAbgAgACIAQQBTACAASQBTACIAIABCAEEAUwBJAFMALAAgAFcASQBUAEgATwBVAFQAIABXAEEAUgBSAEEATgBUAEkARQBTACAATwBSACAAQwBPAE4ARABJAFQASQBPAE4AUwAgAE8ARgAgAEEATgBZACAASwBJAE4ARAAsACAAZQBpAHQAaABlAHIAIABlAHgAcAByAGUAcwBzACAAbwByACAAaQBtAHAAbABpAGUAZAAuACAAUwBlAGUAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACAAZgBvAHIAIAB0AGgAZQAgAHMAcABlAGMAaQBmAGkAYwAgAGwAYQBuAGcAdQBhAGcAZQAsACAAcABlAHIAbQBpAHMAcwBpAG8AbgBzACAAYQBuAGQAIABsAGkAbQBpAHQAYQB0AGkAbwBuAHMAIABnAG8AdgBlAHIAbgBpAG4AZwAgAHkAbwB1AHIAIAB1AHMAZQAgAG8AZgAgAHQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4AaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAE4AbwB0AG8AIABTAGEAbgBzAE0AZQBkAGkAdQBtAAIAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAMrgAAAQIBAwADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEBBACjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAEFAIoBBgCDAJMBBwEIAI0BCQCIAMMA3gEKAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoBCwEMAQ0BDgEPARAA/QD+AREBEgETARQA/wEAARUBFgEXAQEBGAEZARoBGwEcAR0BHgEfASABIQEiASMA+AD5ASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMA+gE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgDiAOMBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEAsACxAVIBUwFUAVUBVgFXAVgBWQFaAVsA+wD8AOQA5QFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxALsBcgFzAXQBdQDmAOcBdgCmAXcBeAF5AXoBewF8AX0BfgDYAOEA2gDbANwA3QDgANkA3wF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwCbAbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwCyALMCLAItALYAtwDEAi4AtAC1AMUAggDCAIcAqwDGAi8CMAC+AL8CMQC8AjIA9wIzAjQCNQI2AjcCOACMAjkCOgI7AjwCPQI+Aj8CQAJBAkICQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQKGAocCiAKJAooCiwKMAo0CjgKPApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQK2ArcCuAK5AroCuwK8Ar0CvgK/AsACwQLCAsMCxALFAsYCxwLIAskCygLLAswCzQLOAs8C0ALRAtIC0wLUAtUC1gLXAtgC2QLaAtsC3ALdAt4C3wLgAuEC4gLjAuQC5QLmAucC6ALpAuoC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfAyADIQMiAyMDJAMlAyYDJwMoAykDKgMrAywDLQMuAy8DMAMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgN/A4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwOgA6EDogOjA6QDpQOmA6cDqAOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A7kDugO7A7wDvQO+A78DwAPBA8IDwwPEA8UDxgPHA8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D3gPfA+AD4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPuA+8D8APxA/ID8wP0A/UD9gP3A/gD+QP6A/sD/AP9A/4D/wQABAEEAgQDBAQEBQQGBAcECAQJBAoECwQMBA0EDgQPBBAEEQQSBBMEFAQVBBYEFwQYBBkEGgQbBBwEHQQeBB8EIAQhBCIEIwQkBCUEJgQnBCgEKQQqBCsELAQtBC4ELwQwBDEEMgQzBDQENQQ2BDcEOAQ5BDoEOwQ8BD0EPgQ/BEAEQQRCBEMERARFBEYERwRIBEkESgRLBEwETQROBE8EUARRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXARdBF4EXwRgBGEEYgRjBGQEZQRmBGcEaARpBGoEawRsBG0EbgRvBHAEcQRyBHMEdAR1BHYEdwR4BHkEegR7BHwEfQR+BH8EgASBBIIEgwSEBIUEhgSHBIgEiQSKBIsEjASNBI4EjwSQBJEEkgSTBJQElQSWBJcEmASZBJoEmwScBJ0EngSfBKAEoQSiBKMEpASlBKYEpwSoBKkEqgSrBKwErQSuBK8EsASxBLIEswS0BLUEtgS3BLgEuQS6BLsEvAS9BL4EvwTABMEEwgTDBMQExQTGBMcEyATJBMoEywTMBM0EzgTPBNAE0QTSBNME1ATVBNYE1wTYBNkE2gTbBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BPcE+AT5BPoE+wT8BP0E/gT/BQAFAQUCBQMFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAURBRIFEwUUBRUFFgUXBRgFGQUaBRsFHAUdBR4FHwUgBSEFIgUjBSQFJQUmBScFKAUpBSoFKwUsBS0FLgUvBTAFMQUyBTMFNAU1BTYFNwU4BTkFOgU7BTwFPQU+BT8FQAVBBUIFQwVEBUUFRgVHBUgFSQVKBUsFTAVNBU4FTwVQBVEFUgVTBVQFVQVWBVcFWAVZBVoFWwVcBV0FXgVfBWAFYQViBWMFZAVlBWYFZwVoBWkFagVrBWwFbQVuBW8FcAVxBXIFcwV0BXUFdgV3BXgFeQV6BXsFfAV9BX4FfwWABYEFggWDBYQFhQWGBYcFiAWJBYoFiwWMBY0FjgWPBZAFkQWSBZMFlAWVBZYFlwWYBZkFmgWbBZwFnQWeBZ8FoAWhBaIFowWkBaUFpgWnBagFqQWqBasFrAWtBa4FrwWwBbEFsgWzBbQFtQW2BbcFuAW5BboFuwW8Bb0FvgW/BcAFwQXCBcMFxAXFBcYFxwXIBckFygXLBcwFzQXOBc8F0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoF6wXsBe0F7gXvBfAF8QXyBfMF9AX1BfYF9wX4BfkF+gX7BfwF/QX+Bf8GAAYBBgIGAwYEBgUGBgYHBggGCQYKBgsGDAYNBg4GDwYQBhEGEgYTBhQGFQYWBhcGGAYZBhoGGwYcBh0GHgYfBiAGIQYiBiMGJAYlBiYGJwYoBikGKgYrBiwGLQYuBi8GMAYxBjIGMwY0BjUGNgY3BjgGOQY6BjsGPAY9Bj4GPwZABkEGQgZDBkQGRQZGBkcGSAZJBkoGSwZMBk0GTgZPBlAGUQZSBlMGVAZVBlYGVwZYBlkGWgZbBlwGXQZeBl8GYAZhBmIGYwZkBmUGZgZnBmgGaQZqBmsGbAZtBm4GbwZwBnEGcgZzBnQGdQZ2BncGeAZ5BnoGewZ8Bn0GfgZ/BoAGgQaCBoMGhAaFBoYGhwaIBokGigaLBowGjQaOBo8GkAaRBpIGkwaUBpUGlgaXBpgGmQaaBpsGnAadBp4GnwagBqEGogajBqQGpQamBqcGqAapBqoGqwasBq0GrgavBrAGsQayBrMGtAa1BrYGtwa4BrkGuga7BrwGvQa+Br8GwAbBBsIGwwbEBsUGxgbHBsgGyQbKBssGzAbNBs4GzwbQBtEG0gbTBtQG1QbWBtcG2AbZBtoG2wbcBt0G3gbfBuAG4QbiBuMG5AblBuYG5wboBukG6gbrBuwG7QbuBu8G8AbxBvIG8wb0BvUG9gb3BvgG+Qb6BvsG/Ab9Bv4G/wcABwEHAgcDBwQHBQcGBwcHCAcJBwoHCwcMBw0HDgcPBxAHEQcSBxMHFAcVBxYHFwcYBxkHGgcbBxwHHQceBx8HIAchByIHIwckByUHJgcnBygHKQcqBysHLActBy4HLwcwBzEHMgczBzQHNQc2BzcHOAc5BzoHOwc8Bz0HPgc/B0AHQQdCB0MHRAdFB0YHRwdIB0kHSgdLB0wHTQdOB08HUAdRB1IHUwdUB1UHVgdXB1gHWQdaB1sHXAddB14HXwdgB2EHYgdjB2QHZQdmB2cHaAdpB2oHawdsB20HbgdvB3AHcQdyB3MHdAd1B3YHdwd4B3kHegd7B3wHfQd+B38HgAeBB4IHgweEB4UHhgeHB4gHiQeKB4sHjAeNB44HjweQB5EHkgeTB5QHlQeWB5cHmAeZB5oHmwecB50HngefB6AHoQeiB6MHpAelB6YHpweoB6kHqgerB6wHrQeuB68HsAexB7IHswe0B7UHtge3B7gHuQe6B7sHvAe9B74HvwfAB8EHwgfDB8QHxQfGB8cHyAfJB8oHywfMB80HzgfPB9AH0QfSB9MH1AfVB9YH1wfYB9kH2gfbB9wH3QfeB98H4AfhB+IH4wfkB+UH5gfnB+gH6QfqB+sH7AftB+4H7wfwB/EH8gfzB/QH9Qf2B/cH+Af5B/oH+wf8B/0H/gf/CAAIAQgCCAMIBAgFCAYIBwgICAkICggLCAwIDQgOCA8IEAgRCBIIEwgUCBUIFggXCBgIGQgaCBsIHAgdCB4IHwggCCEIIggjCCQIJQgmCCcIKAgpCCoIKwgsCC0ILggvCDAIMQgyCDMINAg1CDYINwg4CDkIOgg7CDwIPQg+CD8IQAhBCEIA1whDCEQIRQhGCEcISAhJCEoISwhMCE0ITghPCFAIUQhSCFMIVAhVCFYIVwhYCFkIWghbCFwIXQheCF8IYAhhCGIIYwhkCGUIZghnCGgIaQhqCGsIbAhtCG4IbwhwCHEIcghzCHQIdQh2CHcIeAh5CHoIewh8CH0Ifgh/CIAIgQiCCIMIhAiFCIYIhwiICIkIigiLCIwIjQiOCI8IkAiRCJIIkwiUCJUIlgiXCJgImQiaCJsInAidCJ4InwigCKEIogijCKQIpQimCKcIqAipCKoIqwisCK0IrgivCLAIsQiyCLMItAi1CLYItwi4CLkIugi7CLwIvQi+CL8IwAjBCMIIwwjECMUIxgjHCMgIyQjKCMsIzAjNCM4IzwjQCNEI0gjTCNQI1QjWCNcI2AjZCNoI2wjcCN0I3gjfCOAI4QjiCOMI5AjlCOYI5wjoCOkI6gjrCOwI7QjuCO8I8AjxCPII8wj0CPUI9gj3CPgI+Qj6CPsI/Aj9CP4I/wkACQEJAgkDCQQJBQkGCQcJCAkJCQoJCwkMCQ0JDgkPCRAJEQkSCRMJFAkVCRYJFwkYCRkJGgkbCRwJHQkeCR8JIAkhCSIJIwkkCSUJJgknCSgJKQkqCSsJLAktCS4JLwkwCTEJMgkzCTQJNQk2CTcJOAk5CToJOwk8CT0JPgk/CUAJQQlCCUMJRAlFCUYJRwlICUkJSglLCUwJTQlOCU8JUAlRCVIJUwlUCVUJVglXCVgJWQlaCVsJXAldCV4JXwlgCWEJYgljCWQJZQlmCWcJaAlpCWoJawlsCW0JbglvCXAJcQlyCXMJdAl1CXYJdwl4CXkJegl7CXwJfQl+CX8JgAmBCYIJgwmECYUJhgmHCYgJiQmKCYsJjAmNCY4JjwmQCZEJkgmTCZQJlQmWCZcJmAmZCZoJmwmcCZ0JngmfCaAJoQmiCaMJpAmlCaYJpwmoCakJqgmrCawJrQmuCa8JsAmxCbIJswm0CbUJtgm3CbgJuQm6CbsJvAm9Cb4JvwnACcEJwgnDCcQJxQnGCccJyAnJCcoJywnMCc0JzgnPCdAJ0QnSCdMJ1AnVCdYJ1wnYCdkJ2gnbCdwJ3QneCd8J4AnhCeIJ4wnkCeUJ5gnnCegJ6QnqCesJ7AntCe4J7wnwCfEJ8gnzCfQJ9Qn2CfcJ+An5CfoJ+wn8Cf0J/gn/CgAKAQoCCgMKBAoFCgYKBwoICgkKCgoLCgwKDQoOCg8KEAoRChIKEwoUChUKFgoXChgKGQoaChsKHAodCh4KHwogCiEKIgojCiQKJQomCicKKAopCioKKwosCi0KLgovCjAKMQoyCjMKNAo1CjYKNwo4CjkKOgo7CjwKPQo+Cj8KQApBCkIKQwpECkUKRgpHCkgKSQpKCksKTApNCk4KTwpQClEKUgpTClQKVQpWClcKWApZCloKWwpcCl0KXgpfCmAKYQpiCmMKZAplCmYKZwpoCmkKagprCmwKbQpuCm8KcApxCnIKcwp0CnUKdgp3CngKeQp6CnsKfAp9Cn4KfwqACoEKggqDCoQKhQqGCocKiAqJCooKiwqMCo0KjgqPCpAKkQqSCpMKlAqVCpYKlwqYCpkKmgqbCpwKnQqeCp8KoAqhCqIKowqkCqUKpgqnCqgKqQqqCqsKrAqtCq4KrwqwCrEKsgqzCrQKtQq2CrcKuAq5CroKuwq8Cr0Kvgq/CsAKwQrCCsMKxArFCsYKxwrICskKygrLCswKzQrOCs8K0ArRCtIK0wrUCtUK1grXCtgK2QraCtsK3ArdCt4K3wrgCuEK4grjCuQK5QrmCucK6ArpCuoK6wrsCu0K7grvCvAK8QryCvMK9Ar1CvYK9wr4CvkK+gr7CvwK/Qr+Cv8LAAsBCwILAwsECwULBgsHCwgLCQsKCwsLDAsNCw4LDwsQCxELEgsTCxQLFQsWCxcLGAsZCxoLGwscCx0LHgsfCyALIQsiCyMLJAslCyYLJwsoCykLKgsrCywLLQsuCy8LMAsxCzILMws0CzULNgs3CzgLOQs6CzsLPAs9Cz4LPwtAC0ELQgtDC0QLRQtGC0cLSAtJC0oLSwtMC00LTgtPC1ALUQtSC1MLVAtVC1YLVwtYC1kLWgtbC1wLXQteC18LYAthC2ILYwtkC2ULZgtnC2gLaQtqC2sLbAttC24LbwtwC3ELcgtzC3QLdQt2C3cLeAt5C3oLewt8C30Lfgt/C4ALgQuCC4MLhAuFC4YLhwuIC4kLiguLC4wLjQuOC48LkAuRC5ILkwuUC5ULlguXC5gLmQuaC5sLnAudC54LnwugC6ELogujC6QLpQumC6cLqAupC6oLqwusC60LrguvC7ALsQuyC7MLtAu1C7YLtwu4C7kLugu7C7wLvQu+C78LwAvBC8ILwwvEC8ULxgvHC8gLyQvKC8sLzAvNC84LzwvQC9EL0gvTC9QL1QvWC9cL2AvZC9oL2wvcC90L3gvfC+AL4QviC+ML5AvlC+YL5wvoC+kL6gvrC+wL7QvuC+8L8AvxC/IL8wv0C/UL9gv3C/gL+Qv6C/sL/Av9C/4L/wwADAEMAgwDDAQMBQwGDAcMCAwJDAoMCwwMDA0MDgwPDBAMEQwSDBMMFAwVDBYMFwwYDBkMGgwbDBwMHQweDB8MIAwhDCIMIwwkDCUMJgwnDCgMKQwqDCsMLAwtDC4MLwwwDDEMMgwzDDQMNQw2DDcMOAw5DDoMOww8DD0MPgw/DEAMQQxCDEMMRAxFDEYMRwxIDEkMSgxLDEwMTQxODE8MUAxRDFIMUwxUDFUMVgxXDFgMWQxaDFsMXAxdDF4MXwxgDGEMYgxjDGQMZQxmDGcMaAxpDGoMawxsDG0MbgxvDHAMcQxyDHMMdAx1DHYMdwx4DHkMegx7DHwMfQx+DH8MgAyBDIIMgwyEDIUMhgyHDIgMiQyKDIsMjAyNDI4MjwyQDJEMkgyTDJQMlQyWDJcMmAyZDJoMmwycDJ0MngyfDKAMoQyiDKMMpAylDKYMpwyoDKkMqgyrDKwMrQyuDK8MsAyxDLIMswy0DLUMtgy3DLgMuQy6DLsMvAy9DL4MvwzADMEMwgzDDMQMxQROVUxMAkNSB3VuaTAwQTAHdW5pMDBBRAlvdmVyc2NvcmUHdW5pMDBCMgd1bmkwMEIzB3VuaTAwQjUHdW5pMDBCOQdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgEQ2RvdARjZG90BkRjYXJvbgZkY2Fyb24GRGNyb2F0B0VtYWNyb24HZW1hY3JvbgZFYnJldmUGZWJyZXZlCkVkb3RhY2NlbnQKZWRvdGFjY2VudAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgtHY2lyY3VtZmxleAtnY2lyY3VtZmxleARHZG90BGdkb3QHdW5pMDEyMgd1bmkwMTIzC0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BEhiYXIEaGJhcgZJdGlsZGUGaXRpbGRlB0ltYWNyb24HaW1hY3JvbgZJYnJldmUGaWJyZXZlB0lvZ29uZWsHaW9nb25lawJJSgJpagtKY2lyY3VtZmxleAtqY2lyY3VtZmxleAd1bmkwMTM2B3VuaTAxMzcMa2dyZWVubGFuZGljBkxhY3V0ZQZsYWN1dGUHdW5pMDEzQgd1bmkwMTNDBkxjYXJvbgZsY2Fyb24ETGRvdARsZG90Bk5hY3V0ZQZuYWN1dGUHdW5pMDE0NQd1bmkwMTQ2Bk5jYXJvbgZuY2Fyb24LbmFwb3N0cm9waGUDRW5nA2VuZwdPbWFjcm9uB29tYWNyb24GT2JyZXZlBm9icmV2ZQ1PaHVuZ2FydW1sYXV0DW9odW5nYXJ1bWxhdXQGUmFjdXRlBnJhY3V0ZQd1bmkwMTU2B3VuaTAxNTcGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4B3VuaTAyMUEHdW5pMDIxQgZUY2Fyb24GdGNhcm9uBFRiYXIEdGJhcgZVdGlsZGUGdXRpbGRlB1VtYWNyb24HdW1hY3JvbgZVYnJldmUGdWJyZXZlBVVyaW5nBXVyaW5nDVVodW5nYXJ1bWxhdXQNdWh1bmdhcnVtbGF1dAdVb2dvbmVrB3VvZ29uZWsLV2NpcmN1bWZsZXgLd2NpcmN1bWZsZXgLWWNpcmN1bWZsZXgLeWNpcmN1bWZsZXgGWmFjdXRlBnphY3V0ZQpaZG90YWNjZW50Cnpkb3RhY2NlbnQFbG9uZ3MKQXJpbmdhY3V0ZQphcmluZ2FjdXRlB0FFYWN1dGUHYWVhY3V0ZQtPc2xhc2hhY3V0ZQtvc2xhc2hhY3V0ZQd1bmkwMjE4B3VuaTAyMTkFdG9ub3MNZGllcmVzaXN0b25vcwpBbHBoYXRvbm9zCWFub3RlbGVpYQxFcHNpbG9udG9ub3MIRXRhdG9ub3MJSW90YXRvbm9zDE9taWNyb250b25vcwxVcHNpbG9udG9ub3MKT21lZ2F0b25vcxFpb3RhZGllcmVzaXN0b25vcwVBbHBoYQRCZXRhBUdhbW1hB3VuaTAzOTQHRXBzaWxvbgRaZXRhA0V0YQVUaGV0YQRJb3RhBUthcHBhBkxhbWJkYQJNdQJOdQJYaQdPbWljcm9uAlBpA1JobwVTaWdtYQNUYXUHVXBzaWxvbgNQaGkDQ2hpA1BzaQd1bmkwM0E5DElvdGFkaWVyZXNpcw9VcHNpbG9uZGllcmVzaXMKYWxwaGF0b25vcwxlcHNpbG9udG9ub3MIZXRhdG9ub3MJaW90YXRvbm9zFHVwc2lsb25kaWVyZXNpc3Rvbm9zBWFscGhhBGJldGEFZ2FtbWEFZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBWthcHBhBmxhbWJkYQd1bmkwM0JDAm51AnhpB29taWNyb24DcmhvBnNpZ21hMQVzaWdtYQN0YXUHdXBzaWxvbgNwaGkDY2hpA3BzaQVvbWVnYQxpb3RhZGllcmVzaXMPdXBzaWxvbmRpZXJlc2lzDG9taWNyb250b25vcwx1cHNpbG9udG9ub3MKb21lZ2F0b25vcwlhZmlpMTAwMjMJYWZpaTEwMDUxCWFmaWkxMDA1MglhZmlpMTAwNTMJYWZpaTEwMDU0CWFmaWkxMDA1NQlhZmlpMTAwNTYJYWZpaTEwMDU3CWFmaWkxMDA1OAlhZmlpMTAwNTkJYWZpaTEwMDYwCWFmaWkxMDA2MQlhZmlpMTAwNjIJYWZpaTEwMTQ1CWFmaWkxMDAxNwlhZmlpMTAwMTgJYWZpaTEwMDE5CWFmaWkxMDAyMAlhZmlpMTAwMjEJYWZpaTEwMDIyCWFmaWkxMDAyNAlhZmlpMTAwMjUJYWZpaTEwMDI2CWFmaWkxMDAyNwlhZmlpMTAwMjgJYWZpaTEwMDI5CWFmaWkxMDAzMAlhZmlpMTAwMzEJYWZpaTEwMDMyCWFmaWkxMDAzMwlhZmlpMTAwMzQJYWZpaTEwMDM1CWFmaWkxMDAzNglhZmlpMTAwMzcJYWZpaTEwMDM4CWFmaWkxMDAzOQlhZmlpMTAwNDAJYWZpaTEwMDQxCWFmaWkxMDA0MglhZmlpMTAwNDMJYWZpaTEwMDQ0CWFmaWkxMDA0NQlhZmlpMTAwNDYJYWZpaTEwMDQ3CWFmaWkxMDA0OAlhZmlpMTAwNDkJYWZpaTEwMDY1CWFmaWkxMDA2NglhZmlpMTAwNjcJYWZpaTEwMDY4CWFmaWkxMDA2OQlhZmlpMTAwNzAJYWZpaTEwMDcyCWFmaWkxMDA3MwlhZmlpMTAwNzQJYWZpaTEwMDc1CWFmaWkxMDA3NglhZmlpMTAwNzcJYWZpaTEwMDc4CWFmaWkxMDA3OQlhZmlpMTAwODAJYWZpaTEwMDgxCWFmaWkxMDA4MglhZmlpMTAwODMJYWZpaTEwMDg0CWFmaWkxMDA4NQlhZmlpMTAwODYJYWZpaTEwMDg3CWFmaWkxMDA4OAlhZmlpMTAwODkJYWZpaTEwMDkwCWFmaWkxMDA5MQlhZmlpMTAwOTIJYWZpaTEwMDkzCWFmaWkxMDA5NAlhZmlpMTAwOTUJYWZpaTEwMDk2CWFmaWkxMDA5NwlhZmlpMTAwNzEJYWZpaTEwMDk5CWFmaWkxMDEwMAlhZmlpMTAxMDEJYWZpaTEwMTAyCWFmaWkxMDEwMwlhZmlpMTAxMDQJYWZpaTEwMTA1CWFmaWkxMDEwNglhZmlpMTAxMDcJYWZpaTEwMTA4CWFmaWkxMDEwOQlhZmlpMTAxMTAJYWZpaTEwMTkzCWFmaWkxMDA1MAlhZmlpMTAwOTgGV2dyYXZlBndncmF2ZQZXYWN1dGUGd2FjdXRlCVdkaWVyZXNpcwl3ZGllcmVzaXMGWWdyYXZlBnlncmF2ZQlhZmlpMDAyMDgNdW5kZXJzY29yZWRibA1xdW90ZXJldmVyc2VkBm1pbnV0ZQZzZWNvbmQJZXhjbGFtZGJsCW5zdXBlcmlvcglhZmlpMDg5NDEGcGVzZXRhBEV1cm8JYWZpaTYxMjQ4CWFmaWk2MTI4OQlhZmlpNjEzNTIHdW5pMjEyNgllc3RpbWF0ZWQJb25lZWlnaHRoDHRocmVlZWlnaHRocwtmaXZlZWlnaHRocwxzZXZlbmVpZ2h0aHMNY3lyaWxsaWNicmV2ZRBjYXJvbmNvbW1hYWNjZW50C2NvbW1hYWNjZW50EWNvbW1hYWNjZW50cm90YXRlB3VuaTIwNzQHdW5pMjA3NQd1bmkyMDc3B3VuaTIwNzgHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMEIHdW5pRkVGRgd1bmlGRkZDB3VuaUZGRkQHdW5pMDFGMAd1bmkwMkJDB3VuaTAzRDEHdW5pMDNEMgd1bmkwM0Q2B3VuaTFFM0UHdW5pMUUzRgd1bmkxRTAwB3VuaTFFMDEHdW5pMDJGMwVPaG9ybgVvaG9ybgVVaG9ybgV1aG9ybgRob29rB3VuaTA0MDAHdW5pMDQwRAd1bmkwNDUwB3VuaTA0NUQHdW5pMDQ2MAd1bmkwNDYxB3VuaTA0NjIHdW5pMDQ2Mwd1bmkwNDY0B3VuaTA0NjUHdW5pMDQ2Ngd1bmkwNDY3B3VuaTA0NjgHdW5pMDQ2OQd1bmkwNDZBB3VuaTA0NkIHdW5pMDQ2Qwd1bmkwNDZEB3VuaTA0NkUHdW5pMDQ2Rgd1bmkwNDcwB3VuaTA0NzEHdW5pMDQ3Mgd1bmkwNDczB3VuaTA0NzQHdW5pMDQ3NQd1bmkwNDc2B3VuaTA0NzcHdW5pMDQ3OAd1bmkwNDc5B3VuaTA0N0EHdW5pMDQ3Qgd1bmkwNDdDB3VuaTA0N0QHdW5pMDQ3RQd1bmkwNDdGB3VuaTA0ODAHdW5pMDQ4MQd1bmkwNDgyB3VuaTA0ODgHdW5pMDQ4OQd1bmkwNDhBB3VuaTA0OEIHdW5pMDQ4Qwd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4Rgd1bmkwNDkyB3VuaTA0OTMHdW5pMDQ5NAd1bmkwNDk1B3VuaTA0OTYHdW5pMDQ5Nwd1bmkwNDk4B3VuaTA0OTkHdW5pMDQ5QQd1bmkwNDlCB3VuaTA0OUMHdW5pMDQ5RAd1bmkwNDlFB3VuaTA0OUYHdW5pMDRBMAd1bmkwNEExB3VuaTA0QTIHdW5pMDRBMwd1bmkwNEE0B3VuaTA0QTUHdW5pMDRBNgd1bmkwNEE3B3VuaTA0QTgHdW5pMDRBOQd1bmkwNEFBB3VuaTA0QUIHdW5pMDRBQwd1bmkwNEFEB3VuaTA0QUUHdW5pMDRBRgd1bmkwNEIwB3VuaTA0QjEHdW5pMDRCMgd1bmkwNEIzB3VuaTA0QjQHdW5pMDRCNQd1bmkwNEI2B3VuaTA0QjcHdW5pMDRCOAd1bmkwNEI5B3VuaTA0QkEHdW5pMDRCQgd1bmkwNEJDB3VuaTA0QkQHdW5pMDRCRQd1bmkwNEJGB3VuaTA0QzAHdW5pMDRDMQd1bmkwNEMyB3VuaTA0QzMHdW5pMDRDNAd1bmkwNEM1B3VuaTA0QzYHdW5pMDRDNwd1bmkwNEM4B3VuaTA0QzkHdW5pMDRDQQd1bmkwNENCB3VuaTA0Q0MHdW5pMDRDRAd1bmkwNENFB3VuaTA0Q0YHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDIHdW5pMDREMwd1bmkwNEQ0B3VuaTA0RDUHdW5pMDRENgd1bmkwNEQ3B3VuaTA0RDgHdW5pMDREOQd1bmkwNERBB3VuaTA0REIHdW5pMDREQwd1bmkwNEREB3VuaTA0REUHdW5pMDRERgd1bmkwNEUwB3VuaTA0RTEHdW5pMDRFMgd1bmkwNEUzB3VuaTA0RTQHdW5pMDRFNQd1bmkwNEU2B3VuaTA0RTcHdW5pMDRFOAd1bmkwNEU5B3VuaTA0RUEHdW5pMDRFQgd1bmkwNEVDB3VuaTA0RUQHdW5pMDRFRQd1bmkwNEVGB3VuaTA0RjAHdW5pMDRGMQd1bmkwNEYyB3VuaTA0RjMHdW5pMDRGNAd1bmkwNEY1B3VuaTA0RjYHdW5pMDRGNwd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQQd1bmkwNEZCB3VuaTA0RkMHdW5pMDRGRAd1bmkwNEZFB3VuaTA0RkYHdW5pMDUwMAd1bmkwNTAxB3VuaTA1MDIHdW5pMDUwMwd1bmkwNTA0B3VuaTA1MDUHdW5pMDUwNgd1bmkwNTA3B3VuaTA1MDgHdW5pMDUwOQd1bmkwNTBBB3VuaTA1MEIHdW5pMDUwQwd1bmkwNTBEB3VuaTA1MEUHdW5pMDUwRgd1bmkwNTEwB3VuaTA1MTEHdW5pMDUxMgd1bmkwNTEzB3VuaTFFQTAHdW5pMUVBMQd1bmkxRUEyB3VuaTFFQTMHdW5pMUVBNAd1bmkxRUE1B3VuaTFFQTYHdW5pMUVBNwd1bmkxRUE4B3VuaTFFQTkHdW5pMUVBQQd1bmkxRUFCB3VuaTFFQUMHdW5pMUVBRAd1bmkxRUFFB3VuaTFFQUYHdW5pMUVCMAd1bmkxRUIxB3VuaTFFQjIHdW5pMUVCMwd1bmkxRUI0B3VuaTFFQjUHdW5pMUVCNgd1bmkxRUI3B3VuaTFFQjgHdW5pMUVCOQd1bmkxRUJBB3VuaTFFQkIHdW5pMUVCQwd1bmkxRUJEB3VuaTFFQkUHdW5pMUVCRgd1bmkxRUMwB3VuaTFFQzEHdW5pMUVDMgd1bmkxRUMzB3VuaTFFQzQHdW5pMUVDNQd1bmkxRUM2B3VuaTFFQzcHdW5pMUVDOAd1bmkxRUM5B3VuaTFFQ0EHdW5pMUVDQgd1bmkxRUNDB3VuaTFFQ0QHdW5pMUVDRQd1bmkxRUNGB3VuaTFFRDAHdW5pMUVEMQd1bmkxRUQyB3VuaTFFRDMHdW5pMUVENAd1bmkxRUQ1B3VuaTFFRDYHdW5pMUVENwd1bmkxRUQ4B3VuaTFFRDkHdW5pMUVEQQd1bmkxRURCB3VuaTFFREMHdW5pMUVERAd1bmkxRURFB3VuaTFFREYHdW5pMUVFMAd1bmkxRUUxB3VuaTFFRTIHdW5pMUVFMwd1bmkxRUU0B3VuaTFFRTUHdW5pMUVFNgd1bmkxRUU3B3VuaTFFRTgHdW5pMUVFOQd1bmkxRUVBB3VuaTFFRUIHdW5pMUVFQwd1bmkxRUVEB3VuaTFFRUUHdW5pMUVFRgd1bmkxRUYwB3VuaTFFRjEHdW5pMUVGNAd1bmkxRUY1B3VuaTFFRjYHdW5pMUVGNwd1bmkxRUY4B3VuaTFFRjkHdW5pMjBBQhNjaXJjdW1mbGV4YWN1dGVjb21iE2NpcmN1bWZsZXhncmF2ZWNvbWISY2lyY3VtZmxleGhvb2tjb21iE2NpcmN1bWZsZXh0aWxkZWNvbWIOYnJldmVhY3V0ZWNvbWIOYnJldmVncmF2ZWNvbWINYnJldmVob29rY29tYg5icmV2ZXRpbGRlY29tYhBjeXJpbGxpY2hvb2tsZWZ0EWN5cmlsbGljYmlnaG9va1VDB3VuaTAxNjIHdW5pMDE2Mwd1bmkwMTgwB3VuaTAxODEHdW5pMDE4Mgd1bmkwMTgzB3VuaTAxODQHdW5pMDE4NQd1bmkwMTg2B3VuaTAxODcHdW5pMDE4OAd1bmkwMTg5B3VuaTAxOEEHdW5pMDE4Qgd1bmkwMThDB3VuaTAxOEQHdW5pMDE4RQd1bmkwMThGB3VuaTAxOTAHdW5pMDE5MQd1bmkwMTkzB3VuaTAxOTQHdW5pMDE5NQd1bmkwMTk2B3VuaTAxOTcHdW5pMDE5OAd1bmkwMTk5B3VuaTAxOUEHdW5pMDE5Qgd1bmkwMTlDB3VuaTAxOUQHdW5pMDE5RQd1bmkwMTlGB3VuaTAxQTIHdW5pMDFBMwd1bmkwMUE0B3VuaTAxQTUHdW5pMDFBNgd1bmkwMUE3B3VuaTAxQTgHdW5pMDFBOQd1bmkwMUFBB3VuaTAxQUIHdW5pMDFBQwd1bmkwMUFEB3VuaTAxQUUHdW5pMDFCMQd1bmkwMUIyB3VuaTAxQjMHdW5pMDFCNAd1bmkwMUI1B3VuaTAxQjYHdW5pMDFCNwd1bmkwMUI4B3VuaTAxQjkHdW5pMDFCQQd1bmkwMUJCB3VuaTAxQkMHdW5pMDFCRAd1bmkwMUJFB3VuaTAxQkYHdW5pMDFDMAd1bmkwMUMxB3VuaTAxQzIHdW5pMDFDMwd1bmkwMUM0B3VuaTAxQzUHdW5pMDFDNgd1bmkwMUM3B3VuaTAxQzgHdW5pMDFDOQd1bmkwMUNBB3VuaTAxQ0IHdW5pMDFDQwd1bmkwMUNEB3VuaTAxQ0UHdW5pMDFDRgd1bmkwMUQwB3VuaTAxRDEHdW5pMDFEMgd1bmkwMUQzB3VuaTAxRDQHdW5pMDFENQd1bmkwMUQ2B3VuaTAxRDcHdW5pMDFEOAd1bmkwMUQ5B3VuaTAxREEHdW5pMDFEQgd1bmkwMURDB3VuaTAxREUHdW5pMDFERgd1bmkwMUUwB3VuaTAxRTEHdW5pMDFFMgd1bmkwMUUzB3VuaTAxRTQHdW5pMDFFNQd1bmkwMUU2B3VuaTAxRTcHdW5pMDFFOAd1bmkwMUU5B3VuaTAxRUEHdW5pMDFFQgd1bmkwMUVDB3VuaTAxRUQHdW5pMDFFRQd1bmkwMUVGB3VuaTAxRjEHdW5pMDFGMgd1bmkwMUYzB3VuaTAxRjQHdW5pMDFGNQd1bmkwMUY2B3VuaTAxRjcHdW5pMDFGOAd1bmkwMUY5B3VuaTAyMDAHdW5pMDIwMQd1bmkwMjAyB3VuaTAyMDMHdW5pMDIwNAd1bmkwMjA1B3VuaTAyMDYHdW5pMDIwNwd1bmkwMjA4B3VuaTAyMDkHdW5pMDIwQQd1bmkwMjBCB3VuaTAyMEMHdW5pMDIwRAd1bmkwMjBFB3VuaTAyMEYHdW5pMDIxMAd1bmkwMjExB3VuaTAyMTIHdW5pMDIxMwd1bmkwMjE0B3VuaTAyMTUHdW5pMDIxNgd1bmkwMjE3B3VuaTAyMUMHdW5pMDIxRAd1bmkwMjFFB3VuaTAyMUYHdW5pMDIyMAd1bmkwMjIxB3VuaTAyMjIHdW5pMDIyMwd1bmkwMjI0B3VuaTAyMjUHdW5pMDIyNgd1bmkwMjI3B3VuaTAyMjgHdW5pMDIyOQd1bmkwMjJBB3VuaTAyMkIHdW5pMDIyQwd1bmkwMjJEB3VuaTAyMkUHdW5pMDIyRgd1bmkwMjMwB3VuaTAyMzEHdW5pMDIzMgd1bmkwMjMzB3VuaTAyMzQHdW5pMDIzNQd1bmkwMjM2B3VuaTAyMzgHdW5pMDIzOQd1bmkwMjNBB3VuaTAyM0IHdW5pMDIzQwd1bmkwMjNEB3VuaTAyM0UHdW5pMDIzRgd1bmkwMjQwB3VuaTAyNDEHdW5pMDI0Mgd1bmkwMjQzB3VuaTAyNDQHdW5pMDI0NQd1bmkwMjQ2B3VuaTAyNDcHdW5pMDI0OAd1bmkwMjQ5B3VuaTAyNEEHdW5pMDI0Qgd1bmkwMjRDB3VuaTAyNEQHdW5pMDI0RQd1bmkwMjRGB3VuaTAyNTAHdW5pMDI1MQd1bmkwMjUyB3VuaTAyNTMHdW5pMDI1NAd1bmkwMjU1B3VuaTAyNTYHdW5pMDI1Nwd1bmkwMjU4B3VuaTAyNTkHdW5pMDI1Qgd1bmkwMjVFB3VuaTAyNUYHdW5pMDI2MAd1bmkwMjYxB3VuaTAyNjIHdW5pMDI2Mwd1bmkwMjY0B3VuaTAyNjUHdW5pMDI2Ngd1bmkwMjY3B3VuaTAyNjgJaW90YUxhdGluB3VuaTAyNkEHdW5pMDI2Qgd1bmkwMjZDB3VuaTAyNkQHdW5pMDI2RQd1bmkwMjZGB3VuaTAyNzAHdW5pMDI3MQd1bmkwMjcyB3VuaTAyNzMHdW5pMDI3NAd1bmkwMjc1B3VuaTAyNzYLb21lZ2FjbG9zZWQHdW5pMDI3OAd1bmkwMjc5B3VuaTAyN0EHdW5pMDI3Qgd1bmkwMjdDB3VuaTAyN0QHdW5pMDI3RQd1bmkwMjdGB3VuaTAyODAHdW5pMDI4MQd1bmkwMjgyB3VuaTAyODMHdW5pMDI4NAd1bmkwMjg1B3VuaTAyODYHdW5pMDI4Nwd1bmkwMjg4B3VuaTAyODkHdW5pMDI4QQd1bmkwMjhCB3VuaTAyOEMHdW5pMDI4RAd1bmkwMjhFB3VuaTAyOEYHdW5pMDI5MAd1bmkwMjkxB3VuaTAyOTIHdW5pMDI5Mwd1bmkwMjk0B3VuaTAyOTUNZ2xvdHRhbHR1cm5lZAd1bmkwMjk3B3VuaTAyOTgHdW5pMDI5OQd1bmkwMjlBB3VuaTAyOUIHdW5pMDI5Qwd1bmkwMjlEB3VuaTAyOUUHdW5pMDI5Rgd1bmkwMkEwB3VuaTAyQTEHdW5pMDJBMgVkemxpZwd1bmkwMkE0CWR6bGlnY3VybAV0c2xpZwd1bmkwMkE3CXRjbGlnY3VybAd1bmkwMkE5B3VuaTAyQUEHdW5pMDJBQgd1bmkwMkFDB3VuaTAyQUQHdW5pMDJBRQd1bmkwMkFGB3VuaTAyQjAHdW5pMDJCMQd1bmkwMkIyB3VuaTAyQjMHdW5pMDJCNAd1bmkwMkI1B3VuaTAyQjYHdW5pMDJCNwd1bmkwMkI4B3VuaTAyQjkHdW5pMDJCQQd1bmkwMkJCB3VuaTAyQkQHdW5pMDJCRQd1bmkwMkJGB3VuaTAyQzAHdW5pMDJDMQd1bmkwMkMyB3VuaTAyQzMHdW5pMDJDNAd1bmkwMkM1B3VuaTAyQzgHdW5pMDJDQQd1bmkwMkNCB3VuaTAyQ0MHdW5pMDJDRAd1bmkwMkNFB3VuaTAyQ0YHdW5pMDJEMAd1bmkwMkQxB3VuaTAyRDIHdW5pMDJEMwd1bmkwMkQ0B3VuaTAyRDUHdW5pMDJENgd1bmkwMkQ3B3VuaTAyREYHdW5pMDJFMAd1bmkwMkUxB3VuaTAyRTIHdW5pMDJFMwd1bmkwMkU0B3VuaTAyRTUHdW5pMDJFNgd1bmkwMkU3B3VuaTAyRTgHdW5pMDJFOQd1bmkwMkVBB3VuaTAyRUIHdW5pMDJFQwd1bmkwMkVEB3VuaTAyRUUHdW5pMDJFRgd1bmkwMkYwB3VuaTAyRjEHdW5pMDJGMgd1bmkwMkY0B3VuaTAyRjUHdW5pMDJGNgd1bmkwMkY3B3VuaTAyRjgHdW5pMDJGOQd1bmkwMkZBB3VuaTAyRkIHdW5pMDJGQwd1bmkwMkZEB3VuaTAyRkUHdW5pMDJGRg1ob29rYWJvdmVjb21iB3VuaTAzNzQHdW5pMDM3NQd1bmkwMzdBB3VuaTAzN0IHdW5pMDM3Qwd1bmkwMzdEB3VuaTAzN0UHdW5pMDNEMAd1bmkwM0QzB3VuaTAzRDQEcGhpMQd1bmkwM0Q3B3VuaTAzRDgHdW5pMDNEOQd1bmkwM0RBB3VuaTAzREIHdW5pMDNEQwd1bmkwM0REB3VuaTAzREUHdW5pMDNERgd1bmkwM0UwB3VuaTAzRTEHdW5pMDNGMAd1bmkwM0YxB3VuaTAzRjIHdW5pMDNGMwd1bmkwM0Y0B3VuaTAzRjUHdW5pMDNGNgd1bmkwM0Y3B3VuaTAzRjgHdW5pMDNGOQd1bmkwM0ZBB3VuaTAzRkIHdW5pMDNGQwd1bmkwM0ZEB3VuaTAzRkUHdW5pMDNGRgd1bmkwNTFBB3VuaTA1MUIHdW5pMDUxQwd1bmkwNTFEB3VuaTFEMDAHdW5pMUQwMQd1bmkxRDAyB3VuaTFEMDMHdW5pMUQwNAd1bmkxRDA1B3VuaTFEMDYHdW5pMUQwNwd1bmkxRDA4B3VuaTFEMDkHdW5pMUQwQQd1bmkxRDBCB3VuaTFEMEMHdW5pMUQwRAd1bmkxRDBFB3VuaTFEMEYHdW5pMUQxMAd1bmkxRDExB3VuaTFEMTIHdW5pMUQxMwd1bmkxRDE0B3VuaTFEMTUHdW5pMUQxNgd1bmkxRDE3B3VuaTFEMTgHdW5pMUQxOQd1bmkxRDFBB3VuaTFEMUIHdW5pMUQxQwd1bmkxRDFEB3VuaTFEMUUHdW5pMUQxRgd1bmkxRDIwB3VuaTFEMjEHdW5pMUQyMgd1bmkxRDIzB3VuaTFEMjQHdW5pMUQyNQd1bmkxRDI2B3VuaTFEMjcHdW5pMUQyOAd1bmkxRDI5B3VuaTFEMkEHdW5pMUQyQgd1bmkxRDJDB3VuaTFEMkQHdW5pMUQyRQd1bmkxRDJGB3VuaTFEMzAHdW5pMUQzMQd1bmkxRDMyB3VuaTFEMzMHdW5pMUQzNAd1bmkxRDM1B3VuaTFEMzYHdW5pMUQzNwd1bmkxRDM4B3VuaTFEMzkHdW5pMUQzQQd1bmkxRDNCB3VuaTFEM0MHdW5pMUQzRAd1bmkxRDNFB3VuaTFEM0YHdW5pMUQ0MAd1bmkxRDQxB3VuaTFENDIHdW5pMUQ0Mwd1bmkxRDQ0B3VuaTFENDUHdW5pMUQ0Ngd1bmkxRDQ3B3VuaTFENDgHdW5pMUQ0OQd1bmkxRDRBB3VuaTFENEIHdW5pMUQ0Qwd1bmkxRDREB3VuaTFENEUHdW5pMUQ0Rgd1bmkxRDUwB3VuaTFENTEHdW5pMUQ1Mgd1bmkxRDUzB3VuaTFENTQHdW5pMUQ1NQd1bmkxRDU2B3VuaTFENTcHdW5pMUQ1OAd1bmkxRDU5B3VuaTFENUEHdW5pMUQ1Qgd1bmkxRDVDB3VuaTFENUQHdW5pMUQ1RQd1bmkxRDVGB3VuaTFENjAHdW5pMUQ2MQd1bmkxRDYyB3VuaTFENjMHdW5pMUQ2NAd1bmkxRDY1B3VuaTFENjYHdW5pMUQ2Nwd1bmkxRDY4B3VuaTFENjkHdW5pMUQ2QQd1bmkxRDZCB3VuaTFENkMHdW5pMUQ2RAd1bmkxRDZFB3VuaTFENkYHdW5pMUQ3MAd1bmkxRDcxB3VuaTFENzIHdW5pMUQ3Mwd1bmkxRDc0B3VuaTFENzUHdW5pMUQ3Ngd1bmkxRDc3B3VuaTFENzgHdW5pMUQ3OQd1bmkxRDdBB3VuaTFEN0IHdW5pMUQ3Qwd1bmkxRDdEB3VuaTFEN0UHdW5pMUQ3Rgd1bmkxRDgwB3VuaTFEODEHdW5pMUQ4Mgd1bmkxRDgzB3VuaTFEODQHdW5pMUQ4NQd1bmkxRDg2B3VuaTFEODcHdW5pMUQ4OAd1bmkxRDg5B3VuaTFEOEEHdW5pMUQ4Qgd1bmkxRDhDB3VuaTFEOEQHdW5pMUQ4RQd1bmkxRDhGB3VuaTFEOTAHdW5pMUQ5MQd1bmkxRDkyB3VuaTFEOTMHdW5pMUQ5NAd1bmkxRDk1B3VuaTFEOTYHdW5pMUQ5Nwd1bmkxRDk4B3VuaTFEOTkHdW5pMUQ5QQd1bmkxRDlCB3VuaTFEOUMHdW5pMUQ5RAd1bmkxRDlFB3VuaTFEOUYHdW5pMURBMAd1bmkxREExB3VuaTFEQTIHdW5pMURBMwd1bmkxREE0B3VuaTFEQTUHdW5pMURBNgd1bmkxREE3B3VuaTFEQTgHdW5pMURBOQd1bmkxREFBB3VuaTFEQUIHdW5pMURBQwd1bmkxREFEB3VuaTFEQUUHdW5pMURBRgd1bmkxREIwB3VuaTFEQjEHdW5pMURCMgd1bmkxREIzB3VuaTFEQjQHdW5pMURCNQd1bmkxREI2B3VuaTFEQjcHdW5pMURCOAd1bmkxREI5B3VuaTFEQkEHdW5pMURCQgd1bmkxREJDB3VuaTFEQkQHdW5pMURCRQd1bmkxREJGB3VuaTFFMDIHdW5pMUUwMwd1bmkxRTA0B3VuaTFFMDUHdW5pMUUwNgd1bmkxRTA3B3VuaTFFMDgHdW5pMUUwOQd1bmkxRTBBB3VuaTFFMEIHdW5pMUUwQwd1bmkxRTBEB3VuaTFFMEUHdW5pMUUwRgd1bmkxRTEwB3VuaTFFMTEHdW5pMUUxMgd1bmkxRTEzB3VuaTFFMTQHdW5pMUUxNQd1bmkxRTE2B3VuaTFFMTcHdW5pMUUxOAd1bmkxRTE5B3VuaTFFMUEHdW5pMUUxQgd1bmkxRTFDB3VuaTFFMUQHdW5pMUUxRQd1bmkxRTFGB3VuaTFFMjAHdW5pMUUyMQd1bmkxRTIyB3VuaTFFMjMHdW5pMUUyNAd1bmkxRTI1B3VuaTFFMjYHdW5pMUUyNwd1bmkxRTI4B3VuaTFFMjkHdW5pMUUyQQd1bmkxRTJCB3VuaTFFMkMHdW5pMUUyRAd1bmkxRTJFB3VuaTFFMkYHdW5pMUUzMAd1bmkxRTMxB3VuaTFFMzIHdW5pMUUzMwd1bmkxRTM0B3VuaTFFMzUHdW5pMUUzNgd1bmkxRTM3B3VuaTFFMzgHdW5pMUUzOQd1bmkxRTNBB3VuaTFFM0IHdW5pMUUzQwd1bmkxRTNEB3VuaTFFNDAHdW5pMUU0MQd1bmkxRTQyB3VuaTFFNDMHdW5pMUU0NAd1bmkxRTQ1B3VuaTFFNDYHdW5pMUU0Nwd1bmkxRTQ4B3VuaTFFNDkHdW5pMUU0QQd1bmkxRTRCB3VuaTFFNEMHdW5pMUU0RAd1bmkxRTRFB3VuaTFFNEYHdW5pMUU1MAd1bmkxRTUxB3VuaTFFNTIHdW5pMUU1Mwd1bmkxRTU0B3VuaTFFNTUHdW5pMUU1Ngd1bmkxRTU3B3VuaTFFNTgHdW5pMUU1OQd1bmkxRTVBB3VuaTFFNUIHdW5pMUU1Qwd1bmkxRTVEB3VuaTFFNUUHdW5pMUU1Rgd1bmkxRTYwB3VuaTFFNjEHdW5pMUU2Mgd1bmkxRTYzB3VuaTFFNjQHdW5pMUU2NQd1bmkxRTY2B3VuaTFFNjcHdW5pMUU2OAd1bmkxRTY5B3VuaTFFNkEHdW5pMUU2Qgd1bmkxRTZDB3VuaTFFNkQHdW5pMUU2RQd1bmkxRTZGB3VuaTFFNzAHdW5pMUU3MQd1bmkxRTcyB3VuaTFFNzMHdW5pMUU3NAd1bmkxRTc1B3VuaTFFNzYHdW5pMUU3Nwd1bmkxRTc4B3VuaTFFNzkHdW5pMUU3QQd1bmkxRTdCB3VuaTFFN0MHdW5pMUU3RAd1bmkxRTdFB3VuaTFFN0YHdW5pMUU4Ngd1bmkxRTg3B3VuaTFFODgHdW5pMUU4OQd1bmkxRThBB3VuaTFFOEIHdW5pMUU4Qwd1bmkxRThEB3VuaTFFOEUHdW5pMUU4Rgd1bmkxRTkwB3VuaTFFOTEHdW5pMUU5Mgd1bmkxRTkzB3VuaTFFOTQHdW5pMUU5NQd1bmkxRTk2B3VuaTFFOTcHdW5pMUU5OAd1bmkxRTk5B3VuaTFFOUEHdW5pMUU5Qgd1bmkxRjAwB3VuaTFGMDEHdW5pMUYwMgd1bmkxRjAzB3VuaTFGMDQHdW5pMUYwNQd1bmkxRjA2B3VuaTFGMDcHdW5pMUYwOAd1bmkxRjA5B3VuaTFGMEEHdW5pMUYwQgd1bmkxRjBDB3VuaTFGMEQHdW5pMUYwRQd1bmkxRjBGB3VuaTFGMTAHdW5pMUYxMQd1bmkxRjEyB3VuaTFGMTMHdW5pMUYxNAd1bmkxRjE1B3VuaTFGMTgHdW5pMUYxOQd1bmkxRjFBB3VuaTFGMUIHdW5pMUYxQwd1bmkxRjFEB3VuaTFGMjAHdW5pMUYyMQd1bmkxRjIyB3VuaTFGMjMHdW5pMUYyNAd1bmkxRjI1B3VuaTFGMjYHdW5pMUYyNwd1bmkxRjI4B3VuaTFGMjkHdW5pMUYyQQd1bmkxRjJCB3VuaTFGMkMHdW5pMUYyRAd1bmkxRjJFB3VuaTFGMkYHdW5pMUYzMAd1bmkxRjMxB3VuaTFGMzIHdW5pMUYzMwd1bmkxRjM0B3VuaTFGMzUHdW5pMUYzNgd1bmkxRjM3B3VuaTFGMzgHdW5pMUYzOQd1bmkxRjNBB3VuaTFGM0IHdW5pMUYzQwd1bmkxRjNEB3VuaTFGM0UHdW5pMUYzRgd1bmkxRjQwB3VuaTFGNDEHdW5pMUY0Mgd1bmkxRjQzB3VuaTFGNDQHdW5pMUY0NQd1bmkxRjQ4B3VuaTFGNDkHdW5pMUY0QQd1bmkxRjRCB3VuaTFGNEMHdW5pMUY0RAd1bmkxRjUwB3VuaTFGNTEHdW5pMUY1Mgd1bmkxRjUzB3VuaTFGNTQHdW5pMUY1NQd1bmkxRjU2B3VuaTFGNTcHdW5pMUY1OQd1bmkxRjVCB3VuaTFGNUQHdW5pMUY1Rgd1bmkxRjYwB3VuaTFGNjEHdW5pMUY2Mgd1bmkxRjYzB3VuaTFGNjQHdW5pMUY2NQd1bmkxRjY2B3VuaTFGNjcHdW5pMUY2OAd1bmkxRjY5B3VuaTFGNkEHdW5pMUY2Qgd1bmkxRjZDB3VuaTFGNkQHdW5pMUY2RQd1bmkxRjZGB3VuaTFGNzAHdW5pMUY3MQd1bmkxRjcyB3VuaTFGNzMHdW5pMUY3NAd1bmkxRjc1B3VuaTFGNzYHdW5pMUY3Nwd1bmkxRjc4B3VuaTFGNzkHdW5pMUY3QQd1bmkxRjdCB3VuaTFGN0MHdW5pMUY3RAd1bmkxRjgwB3VuaTFGODEHdW5pMUY4Mgd1bmkxRjgzB3VuaTFGODQHdW5pMUY4NQd1bmkxRjg2B3VuaTFGODcHdW5pMUY4OAd1bmkxRjg5B3VuaTFGOEEHdW5pMUY4Qgd1bmkxRjhDB3VuaTFGOEQHdW5pMUY4RQd1bmkxRjhGB3VuaTFGOTAHdW5pMUY5MQd1bmkxRjkyB3VuaTFGOTMHdW5pMUY5NAd1bmkxRjk1B3VuaTFGOTYHdW5pMUY5Nwd1bmkxRjk4B3VuaTFGOTkHdW5pMUY5QQd1bmkxRjlCB3VuaTFGOUMHdW5pMUY5RAd1bmkxRjlFB3VuaTFGOUYHdW5pMUZBMAd1bmkxRkExB3VuaTFGQTIHdW5pMUZBMwd1bmkxRkE0B3VuaTFGQTUHdW5pMUZBNgd1bmkxRkE3B3VuaTFGQTgHdW5pMUZBOQd1bmkxRkFBB3VuaTFGQUIHdW5pMUZBQwd1bmkxRkFEB3VuaTFGQUUHdW5pMUZBRgd1bmkxRkIwB3VuaTFGQjEHdW5pMUZCMgd1bmkxRkIzB3VuaTFGQjQHdW5pMUZCNgd1bmkxRkI3B3VuaTFGQjgHdW5pMUZCOQd1bmkxRkJBB3VuaTFGQkIHdW5pMUZCQwd1bmkxRkJEB3VuaTFGQkUHdW5pMUZCRgd1bmkxRkMwB3VuaTFGQzEHdW5pMUZDMgd1bmkxRkMzB3VuaTFGQzQHdW5pMUZDNgd1bmkxRkM3B3VuaTFGQzgHdW5pMUZDOQd1bmkxRkNBB3VuaTFGQ0IHdW5pMUZDQwd1bmkxRkNEB3VuaTFGQ0UHdW5pMUZDRgd1bmkxRkQwB3VuaTFGRDEHdW5pMUZEMgd1bmkxRkQzB3VuaTFGRDYHdW5pMUZENwd1bmkxRkQ4B3VuaTFGRDkHdW5pMUZEQQd1bmkxRkRCB3VuaTFGREQHdW5pMUZERQd1bmkxRkRGB3VuaTFGRTAHdW5pMUZFMQd1bmkxRkUyB3VuaTFGRTMHdW5pMUZFNAd1bmkxRkU1B3VuaTFGRTYHdW5pMUZFNwd1bmkxRkU4B3VuaTFGRTkHdW5pMUZFQQd1bmkxRkVCB3VuaTFGRUMHdW5pMUZFRAd1bmkxRkVFB3VuaTFGRUYHdW5pMUZGMgd1bmkxRkYzB3VuaTFGRjQHdW5pMUZGNgd1bmkxRkY3B3VuaTFGRjgHdW5pMUZGOQd1bmkxRkZBB3VuaTFGRkIHdW5pMUZGQwd1bmkxRkZEB3VuaTFGRkUHdW5pMjAwQwd1bmkyMDBEB3VuaTIwMEUHdW5pMjAwRgd1bmkyMDEyB3VuaTIwMTYHdW5pMjAxRgd1bmkyMDJBB3VuaTIwMkIHdW5pMjAyQwd1bmkyMDJEB3VuaTIwMkUHdW5pMjAyRgd1bmkyMDM0B3VuaTIwM0UHdW5pMjA1RQd1bmkyMDZBB3VuaTIwNkIHdW5pMjA2Qwd1bmkyMDZEB3VuaTIwNkUHdW5pMjA2Rgd1bmkyMDcwB3VuaTIwNzYHdW5pMjA3OQd1bmkyMDkwB3VuaTIwOTEHdW5pMjA5Mgd1bmkyMDkzB3VuaTIwOTQHdW5pMjBBMAd1bmkyMEExB3VuaTIwQTIHdW5pMjBBNQd1bmkyMEE2B3VuaTIwQTgHdW5pMjBBOQd1bmkyMEFEB3VuaTIwQUUHdW5pMjBBRgd1bmkyMEIwB3VuaTIwQjEHdW5pMjBCMgd1bmkyMEIzB3VuaTIwQjQHdW5pMjBCNQd1bmkyMEI5B3VuaTIwRjAHdW5pMjExNwd1bmkyMTREB3VuaTIxNEUHdW5pMjE1Mwd1bmkyMTU0B3VuaTIxODQHdW5pMkM2MAd1bmkyQzYxB3VuaTJDNjIHdW5pMkM2Mwd1bmkyQzY0B3VuaTJDNjUHdW5pMkM2Ngd1bmkyQzY3B3VuaTJDNjgHdW5pMkM2OQd1bmkyQzZBB3VuaTJDNkIHdW5pMkM2Qwd1bmkyQzZEB3VuaTJDNzEHdW5pMkM3Mgd1bmkyQzczB3VuaTJDNzQHdW5pMkM3NQd1bmkyQzc2B3VuaTJDNzcHdW5pMkUxNwd1bmlBNzE3B3VuaUE3MTgHdW5pQTcxOQd1bmlBNzFBB3VuaUE3MUIHdW5pQTcxQwd1bmlBNzFEB3VuaUE3MUUHdW5pQTcxRgd1bmlBNzIwB3VuaUE3MjEHdW5pQTc4OAd1bmlBNzg5B3VuaUE3OEEHdW5pQTc4Qgd1bmlBNzhDDWRpZXJlc2lzYWN1dGUNZGllcmVzaXNncmF2ZQd1bmlGRTIwB3VuaUZFMjEHdW5pRkUyMgd1bmlGRTIzE3VuaTAzQjEwMzA0MDMxMzAzMDATdW5pMDNCMTAzMDQwMzEzMDMwMRN1bmkwM0IxMDMwNDAzMTQwMzAwE3VuaTAzQjEwMzA0MDMxNDAzMDETdW5pMDNCMTAzMDYwMzEzMDMwMBN1bmkwM0IxMDMwNjAzMTMwMzAxE3VuaTAzQjEwMzA2MDMxNDAzMDATdW5pMDNCMTAzMDYwMzE0MDMwMRN1bmkwM0I5MDMwNDAzMTMwMzAwE3VuaTAzQjkwMzA0MDMxMzAzMDETdW5pMDNCOTAzMDQwMzE0MDMwMBN1bmkwM0I5MDMwNDAzMTQwMzAxE3VuaTAzQjkwMzA2MDMxMzAzMDATdW5pMDNCOTAzMDYwMzEzMDMwMRN1bmkwM0I5MDMwNjAzMTQwMzAwE3VuaTAzQjkwMzA2MDMxNDAzMDETdW5pMDNDNTAzMDQwMzEzMDMwMBN1bmkwM0M1MDMwNDAzMTMwMzAxE3VuaTAzQzUwMzA0MDMxNDAzMDATdW5pMDNDNTAzMDQwMzE0MDMwMRN1bmkwM0M1MDMwNjAzMTMwMzAwE3VuaTAzQzUwMzA2MDMxMzAzMDETdW5pMDNDNTAzMDYwMzE0MDMwMBN1bmkwM0M1MDMwNjAzMTQwMzAxE3VuaTAzQjkwMzA4MDMwNDAzMDATdW5pMDNCOTAzMDgwMzA0MDMwMRN1bmkwM0I5MDMwODAzMDYwMzAwE3VuaTAzQjkwMzA4MDMwNjAzMDETdW5pMDNDNTAzMDgwMzA0MDMwMBN1bmkwM0M1MDMwODAzMDQwMzAxE3VuaTAzQzUwMzA4MDMwNjAzMDATdW5pMDNDNTAzMDgwMzA2MDMwMQhFbmcuYWx0MQhFbmcuYWx0MghFbmcuYWx0Mwt1bmkxRkNEMDJDOQt1bmkxRkNFMDJDOQt1bmkxRkREMDJDOQt1bmkxRkRFMDJDOQhkb3RhY3V0ZQhjYXJvbmRvdA5tYWNyb25kaWVyZXNpcw10aWxkZWRpZXJlc2lzCnRpbGRlYWN1dGULbWFjcm9uZ3JhdmULbWFjcm9uYWN1dGUNZGllcmVzaXNjYXJvbg5kaWVyZXNpc21hY3Jvbgt0aWxkZW1hY3Jvbglkb3RtYWNyb24NZG90bWFjcm9uLmNhcA91bmkwMzAxMDMwNjAzMDgPdW5pMDMwMDAzMDYwMzA4D3VuaTAzMDEwMzA0MDMwOA91bmkwMzAwMDMwNDAzMDgLdW5pMUZERTAzMDYLdW5pMUZERDAzMDYLdW5pMUZDRTAzMDYLdW5pMUZDRDAzMDYHdW5pMDUxNAd1bmkwNTE1B3VuaTA1MTYHdW5pMDUxNwd1bmkwNTE4B3VuaTA1MTkHdW5pMDUxRQd1bmkwNTFGB3VuaTA1MjAHdW5pMDUyMQd1bmkwNTIyB3VuaTA1MjMHdW5pMDUyNAd1bmkwNTI1B3VuaTA1MjYHdW5pMDUyNw9jeXJpbGxpY19vdG1hcmsHdW5pMjBCQQd1bmkxRUZBB3VuaTJDNkUHdW5pMUU5RQdUdXJuZWRhB3VuaTFFRkMHdW5pMUVGRQd1bmlBNzIyB3VuaUE3MjQHdW5pQTcyNgd1bmlBNzI4B3VuaUE3MkEHdW5pQTcyQwd1bmlBNzJFB3VuaUE3MzIHdW5pQTczNAd1bmlBNzM2B3VuaUE3MzgHdW5pQTczQQd1bmlBNzNDB3VuaUE3M0UHdW5pQTc0MAd1bmlBNzQyB3VuaUE3NDQHdW5pQTc0Ngd1bmlBNzQ4B3VuaUE3NEEHdW5pQTc0Qwd1bmlBNzRFB3VuaUE3NTAHdW5pQTc1Mgd1bmlBNzU0B3VuaUE3NTYHdW5pQTc1OAd1bmlBNzVBB3VuaUE3NUMHdW5pQTc1RQd1bmlBNzYwB3VuaUE3NjQHdW5pQTc2Ngd1bmlBNzY4B3VuaUE3NkEHdW5pQTc2Qwd1bmlBNzZFB3VuaUE3NzkHdW5pQTc3Qgd1bmlBNzdEB3VuaUE3N0UHdW5pQTc4MAd1bmlBNzgyB3VuaUE3ODQHdW5pQTc4Ngd1bmlBNzhEB3VuaUE3OTAHdW5pQTc5Mgd1bmlBN0EwB3VuaUE3QTIHdW5pQTdBNAd1bmlBN0E2B3VuaUE3QTgHdW5pQTdBQQd1bmlBN0FCB3VuaUE3QUMHdW5pQTdBRAd1bmlBN0IwB3VuaUE3QjEHdW5pQTdCMgd1bmlBN0IzB3VuaUE3QjQHdW5pQTdCNg9Bb2dvbmVrLmxvY2xOQVYPRW9nb25lay5sb2NsTkFWD0lvZ29uZWsubG9jbE5BVg9Vb2dvbmVrLmxvY2xOQVYUTGNvbW1hYWNjZW50LmxvY2xNQUgUTmNvbW1hYWNjZW50LmxvY2xNQUgHVHVybmVkZRBhZmlpMTAxMDNkb3RsZXNzEGFmaWkxMDEwNWRvdGxlc3MKZGVsdGFsYXRpbgd1bmkyQzc4B3VuaTAyNUMHdW5pMDI1RAd1bmkwMUREB3VuaTAyNUEOaW9nb25la2RvdGxlc3MHdW5pMDIzNwd1bmkxRUZCB3VuaTFFOUMHdW5pMUU5RAd1bmkyQzdBCnN1YnNjcmlwdGoHdW5pMkM3OQ51bmkwMjQ5ZG90bGVzcw51bmkwMjlEZG90bGVzcw51bmkwMkIyZG90bGVzcw51bmkwM0YzZG90bGVzcw51bmkxRDYyZG90bGVzcw51bmkxRDk2ZG90bGVzcw51bmkxREE0ZG90bGVzcw51bmkxREE4ZG90bGVzcw51bmkxRTJEZG90bGVzcw51bmkxRUNCZG90bGVzcwd1bmlBNzIzB3VuaUE3MjUHdW5pQTcyNwd1bmlBNzI5B3VuaUE3MkIHdW5pQTcyRAd1bmlBNzJGB3VuaUE3MzAHdW5pQTczMQd1bmlBNzMzB3VuaUE3MzUHdW5pQTczNwd1bmlBNzM5B3VuaUE3M0IHdW5pQTczRAd1bmlBNzNGB3VuaUE3NDEHdW5pQTc0Mwd1bmlBNzQ1B3VuaUE3NDcHdW5pQTc0OQd1bmlBNzRCB3VuaUE3NEQHdW5pQTc0Rgd1bmlBNzUxB3VuaUE3NTMHdW5pQTc1NQd1bmlBNzU3B3VuaUE3NTkHdW5pQTc1Qgd1bmlBNzVEB3VuaUE3NUYHdW5pQTc2MQd1bmlBNzY1B3VuaUE3NjcHdW5pQTc2OQd1bmlBNzZCB3VuaUE3NkQHdW5pQTc2Rgd1bmlBNzcxB3VuaUE3NzIHdW5pQTc3Mwd1bmlBNzc0B3VuaUE3NzUHdW5pQTc3Ngd1bmlBNzc3B3VuaUE3NzgHdW5pQTc3QQd1bmlBNzdDB3VuaUE3N0YHdW5pQTc4MQd1bmlBNzgzB3VuaUE3ODUHdW5pQTc4Nwd1bmlBNzhFB3VuaUE3OTEHdW5pQTc5Mwd1bmlBN0ExB3VuaUE3QTMHdW5pQTdBNQd1bmlBN0E3B3VuaUE3QTkHdW5pQTdCNQd1bmlBN0I3B3VuaUE3RkEHdW5pMUVGRAd1bmkxRUZGD2FvZ29uZWsubG9jbE5BVg9lb2dvbmVrLmxvY2xOQVYUbGNvbW1hYWNjZW50LmxvY2xNQUgUbmNvbW1hYWNjZW50LmxvY2xNQUgPaW9nb25lay5sb2NsTkFWD3VvZ29uZWsubG9jbE5BVgNmX2YFZl9mX2kFZl9mX2wDZl9pA2ZfbAdsb25nc190A3NfdARhLnNjCWFhY3V0ZS5zYwlhYnJldmUuc2MOYWNpcmN1bWZsZXguc2MMYWRpZXJlc2lzLnNjCWFncmF2ZS5zYwphbWFjcm9uLnNjCmFvZ29uZWsuc2MIYXJpbmcuc2MNYXJpbmdhY3V0ZS5zYwlhdGlsZGUuc2MFYWUuc2MKYWVhY3V0ZS5zYwRiLnNjBGMuc2MJY2FjdXRlLnNjCWNjYXJvbi5zYwtjY2VkaWxsYS5zYw5jY2lyY3VtZmxleC5zYwdjZG90LnNjBGQuc2MGZXRoLnNjCWRjYXJvbi5zYwlkY3JvYXQuc2MEZS5zYwllYWN1dGUuc2MJZWJyZXZlLnNjCWVjYXJvbi5zYw5lY2lyY3VtZmxleC5zYwxlZGllcmVzaXMuc2MNZWRvdGFjY2VudC5zYwllZ3JhdmUuc2MKZW1hY3Jvbi5zYwplb2dvbmVrLnNjBGYuc2MEZy5zYwlnYnJldmUuc2MOZ2NpcmN1bWZsZXguc2MPZ2NvbW1hYWNjZW50LnNjB2dkb3Quc2MEaC5zYwdoYmFyLnNjDmhjaXJjdW1mbGV4LnNjBGkuc2MJaWFjdXRlLnNjCWlicmV2ZS5zYw5pY2lyY3VtZmxleC5zYwxpZGllcmVzaXMuc2MNaWRvdGFjY2VudC5zYwlpZ3JhdmUuc2MFaWouc2MKaW1hY3Jvbi5zYwppb2dvbmVrLnNjCWl0aWxkZS5zYwRqLnNjDmpjaXJjdW1mbGV4LnNjBGsuc2MPa2NvbW1hYWNjZW50LnNjBGwuc2MJbGFjdXRlLnNjCWxjYXJvbi5zYw9sY29tbWFhY2NlbnQuc2MHbGRvdC5zYwlsc2xhc2guc2MEbS5zYwRuLnNjCW5hY3V0ZS5zYwluY2Fyb24uc2MPbmNvbW1hYWNjZW50LnNjBmVuZy5zYwludGlsZGUuc2MEby5zYwlvYWN1dGUuc2MJb2JyZXZlLnNjDm9jaXJjdW1mbGV4LnNjDG9kaWVyZXNpcy5zYwlvZ3JhdmUuc2MQb2h1bmdhcnVtbGF1dC5zYwpvbWFjcm9uLnNjCW9zbGFzaC5zYw5vc2xhc2hhY3V0ZS5zYwlvdGlsZGUuc2MFb2Uuc2MEcC5zYwh0aG9ybi5zYwRxLnNjBHIuc2MJcmFjdXRlLnNjCXJjYXJvbi5zYw9yY29tbWFhY2NlbnQuc2MEcy5zYwlzYWN1dGUuc2MJc2Nhcm9uLnNjC3NjZWRpbGxhLnNjDnNjaXJjdW1mbGV4LnNjD3Njb21tYWFjY2VudC5zYw1nZXJtYW5kYmxzLnNjBHQuc2MHdGJhci5zYwl0Y2Fyb24uc2MLdGNlZGlsbGEuc2MPdGNvbW1hYWNjZW50LnNjBHUuc2MJdWFjdXRlLnNjCXVicmV2ZS5zYw51Y2lyY3VtZmxleC5zYwx1ZGllcmVzaXMuc2MJdWdyYXZlLnNjEHVodW5nYXJ1bWxhdXQuc2MKdW1hY3Jvbi5zYwp1b2dvbmVrLnNjCHVyaW5nLnNjCXV0aWxkZS5zYwR2LnNjBHcuc2MJd2FjdXRlLnNjDndjaXJjdW1mbGV4LnNjDHdkaWVyZXNpcy5zYwl3Z3JhdmUuc2MEeC5zYwR5LnNjCXlhY3V0ZS5zYw55Y2lyY3VtZmxleC5zYwx5ZGllcmVzaXMuc2MJeWdyYXZlLnNjBHouc2MJemFjdXRlLnNjCXpjYXJvbi5zYw16ZG90YWNjZW50LnNjB3VuaTIwNzEHdW5pQTc4Rgd1bmlBN0Y3B3VuaUE3RkIHdW5pQTdGQwd1bmlBN0ZEB3VuaUE3RkUHdW5pQTdGRgd1bmkwNTI4B3VuaTA1MkEHdW5pMDUyQwd1bmkwNTJFB3VuaUE2NDAHdW5pQTY0Mgd1bmlBNjQ0B3VuaUE2NDYHdW5pQTY0OAd1bmlBNjRBB3VuaUE2NEMHdW5pQTY0RQd1bmlBNjUwB3VuaUE2NTIHdW5pQTY1NAd1bmlBNjU2B3VuaUE2NTgHdW5pQTY1QQd1bmlBNjVDB3VuaUE2NUUHdW5pQTY2MAd1bmlBNjYyB3VuaUE2NjQHdW5pQTY2Ngd1bmlBNjY4B3VuaUE2NkEHdW5pQTY2Qwd1bmlBNjgwB3VuaUE2ODIHdW5pQTY4NAd1bmlBNjg2B3VuaUE2ODgHdW5pQTY4QQd1bmlBNjhDB3VuaUE2OEUHdW5pQTY5MAd1bmlBNjkyB3VuaUE2OTQHdW5pQTY5Ngd1bmlBNjk4B3VuaUE2OUEHdW5pMDUyOQd1bmkwNTJCB3VuaTA1MkQHdW5pMDUyRgd1bmkxQzgwB3VuaTFDODEHdW5pMUM4Mgd1bmkxQzgzB3VuaTFDODQHdW5pMUM4NQd1bmkxQzg2B3VuaTFDODcHdW5pMUM4OAd1bmlBNjQxB3VuaUE2NDMHdW5pQTY0NQd1bmlBNjQ3B3VuaUE2NDkHdW5pQTY0Qgd1bmlBNjREB3VuaUE2NEYHdW5pQTY1MQd1bmlBNjUzB3VuaUE2NTUHdW5pQTY1Nwd1bmlBNjU5B3VuaUE2NUIHdW5pQTY1RAd1bmlBNjVGB3VuaUE2NjEHdW5pQTY2Mwd1bmlBNjY1B3VuaUE2NjcHdW5pQTY2OQd1bmlBNjZCB3VuaUE2NkQHdW5pQTY4MQd1bmlBNjgzB3VuaUE2ODUHdW5pQTY4Nwd1bmlBNjg5B3VuaUE2OEIHdW5pQTY4RAd1bmlBNjhGB3VuaUE2OTEHdW5pQTY5Mwd1bmlBNjk1B3VuaUE2OTcHdW5pQTY5OQd1bmlBNjlCEWFmaWkxMDA2Ni5sb2NsU1JCB3VuaUE2NkUHdW5pQTY3Rgd1bmlBNjlDB3VuaUE2OUQHdW5pMDM3MAd1bmkwMzcyB3VuaTAzNzYHdW5pMDNDRgd1bmkwMzdGB3VuaTAzNzEHdW5pMDM3Mwd1bmkwMzc3C3VuaTAzRDAuYWx0CENmcmFrdHVyCEhmcmFrdHVyCElmcmFrdHVyCFJmcmFrdHVyCFpmcmFrdHVyB3VuaUE3NjIHdW5pQTc2Mwd1bmkyMTJDB3VuaTIxMEIHdW5pMjExMAd1bmkyMTEyDlBpRG91YmxlU3RydWNrB3VuaTIxMUIHVHVybmVkRgd1bmkyMTJCDUNEb3VibGVTdHJ1Y2sNSERvdWJsZVN0cnVjaw1ORG91YmxlU3RydWNrDVBEb3VibGVTdHJ1Y2sNUURvdWJsZVN0cnVjaw1SRG91YmxlU3RydWNrDVpEb3VibGVTdHJ1Y2sTSXRhbGljRERvdWJsZVN0cnVjaxFHYW1tYURvdWJsZVN0cnVjawd1bmkyMTA3B3VuaTIxMkEHdW5pMjEzMAd1bmkyMTMxB3VuaTIxMzMHdW5pQTc5Ngd1bmlBNzk4B3VuaUE3OUEHdW5pQTc5Qwd1bmlBNzlFE0l0YWxpY2REb3VibGVTdHJ1Y2sTSXRhbGljZURvdWJsZVN0cnVjaxNJdGFsaWNpRG91YmxlU3RydWNrE0l0YWxpY2pEb3VibGVTdHJ1Y2sRZ2FtbWFEb3VibGVTdHJ1Y2sOcGlEb3VibGVTdHJ1Y2sHdW5pMjEwRQd1bmkyMTBGB3NjcmlwdGUHc2NyaXB0bwdzY3JpcHRnB3VuaUE3OTQHdW5pQTc5NQd1bmlBNzk3B3VuaUE3OTkHdW5pQTc5Qgd1bmlBNzlEB3VuaUE3OUYHdW5pQUIzMAd1bmlBQjMxB3VuaUFCMzIHdW5pQUIzMwd1bmlBQjM0B3VuaUFCMzUHdW5pQUIzNgd1bmlBQjM3B3VuaUFCMzgHdW5pQUIzOQd1bmlBQjNBB3VuaUFCM0IHdW5pQUIzQwd1bmlBQjNEB3VuaUFCM0UHdW5pQUIzRgd1bmlBQjQwB3VuaUFCNDEHdW5pQUI0Mgd1bmlBQjQzB3VuaUFCNDQHdW5pQUI0NQd1bmlBQjQ2B3VuaUFCNDcHdW5pQUI0OAd1bmlBQjQ5B3VuaUFCNEEHdW5pQUI0Qgd1bmlBQjRDB3VuaUFCNEQHdW5pQUI0RQd1bmlBQjRGB3VuaUFCNTAHdW5pQUI1MQd1bmlBQjUyB3VuaUFCNTMHdW5pQUI1NAd1bmlBQjU1B3VuaUFCNTYHdW5pQUI1Nwd1bmlBQjU4B3VuaUFCNTkHdW5pQUI1QQd1bmlBQjY0B3VuaTIwOTUHdW5pMjA5Ngd1bmkyMDk3B3VuaTIwOTgHdW5pMjA5OQd1bmkyMDlBB3VuaTIwOUIHdW5pMjA5Qwd1bmlBNzcwB3VuaUE3RjgHdW5pQTdGOQd1bmlBQjVDB3VuaUFCNUQHdW5pQUI1RQd1bmlBQjVGB3VuaTJFMkYHemVyby5sZgZvbmUubGYGdHdvLmxmCHRocmVlLmxmB2ZvdXIubGYHZml2ZS5sZgZzaXgubGYIc2V2ZW4ubGYIZWlnaHQubGYHbmluZS5sZgh6ZXJvLm9zZgdvbmUub3NmB3R3by5vc2YJdGhyZWUub3NmCGZvdXIub3NmCGZpdmUub3NmB3NpeC5vc2YJc2V2ZW4ub3NmCWVpZ2h0Lm9zZghuaW5lLm9zZgp6ZXJvLnNsYXNoCXplcm8udG9zZghvbmUudG9zZgh0d28udG9zZgp0aHJlZS50b3NmCWZvdXIudG9zZglmaXZlLnRvc2YIc2l4LnRvc2YKc2V2ZW4udG9zZgplaWdodC50b3NmCW5pbmUudG9zZgl6ZXJvLmRub20Ib25lLmRub20IdHdvLmRub20KdGhyZWUuZG5vbQlmb3VyLmRub20JZml2ZS5kbm9tCHNpeC5kbm9tCnNldmVuLmRub20KZWlnaHQuZG5vbQluaW5lLmRub20JemVyby5udW1yCG9uZS5udW1yCHR3by5udW1yCnRocmVlLm51bXIJZm91ci5udW1yCWZpdmUubnVtcghzaXgubnVtcgpzZXZlbi5udW1yCmVpZ2h0Lm51bXIJbmluZS5udW1yB3VuaTIxNUYHdW5pMjE4OQd1bmkyMTU1B3VuaTIxNTYHdW5pMjE1Nwd1bmkyMTU4B3VuaTIxNTkHdW5pMjE1QQd1bmkyMTUwB3VuaTIxNTEHdW5pMjE1Mgd1bmkyMDgwB3VuaTIwODEHdW5pMjA4Mgd1bmkyMDgzB3VuaTIwODQHdW5pMjA4NQd1bmkyMDg2B3VuaTIwODcHdW5pMjA4OAd1bmkyMDg5B3VuaTIwNDIHdW5pMjA0Qwd1bmkyMDREB3VuaTIwNDUHdW5pMjA0NgVjYXJldAd1bmkyMDQxB3VuaTIwNDAHdW5pMjA1MAd1bmkyRTM2B3VuaTJFMzcHdW5pMjA1Qwd1bmkyRTEzB3VuaTJFMTYHdW5pMkUwOA9kb3dud2FyZHNhbmNvcmEHdW5pMkUwRQd1bmkyMDQ5B3VuaTJFMkQHdW5pMjA1OQd1bmkyMDU1B3VuaTJFMTAHdW5pMjA1Qgd1bmkyMDU4B3VuaTIwMjcHdW5pMjA0Mwd1bmkyRTEyB3VuaTJFMTgHdW5pMjA1NAd1bmkyRTA0B3VuaTJFMUMHdW5pMkUwQwd1bmkyRTAyB3VuaTJFMDkHdW5pMkUyMAd1bmkyMDRFDm9uZWRvdGVubGVhZGVyHG9uZWRvdG92ZXJ0d29kb3RzcHVuY3R1YXRpb24HdW5pMkUxOQd1bmkyRTBGB3VuaTIwNDcHdW5pMjA0OAd1bmkyRTM0B3VuaTJFMzMHdW5pMkUwNwd1bmkyRTA2B3VuaTJFMEIHdW5pMjAzQgd1bmkyRTExEXJldmVyc2VkcGFyYWdyYXBoFHJldmVyc2VkcXVlc3Rpb25tYXJrB3VuaTIwNEYHdW5pMkUwMQd1bmkyRTAwB3VuaTJFMDUHdW5pMkUxRAd1bmkyRTBEB3VuaTJFMDMHdW5pMkUwQQd1bmkyRTIxB3VuaTJFMzAZc3F1YXJlZGZvdXJkb3RwdW5jdHVhdGlvbgd1bmkyMDUzB3VuaTIwNTYHdW5pMkUxRQd1bmkyRTFGB3VuaTJFMUIHdW5pMjA0QQd1bmkyRTM5B3VuaTIwNUQHdW5pMkUzMgd1bmkyRTM4B3VuaTJFMzUHdW5pMjA1MQ50d29kb3RlbmxlYWRlcgd1bmkyMDVBHHR3b2RvdHNvdmVyb25lZG90cHVuY3R1YXRpb24HdW5pMjAzRgd1bmkyMDIzB3VuaTJFM0MHdW5pMkUzRAd1bmkyRTNFB3VuaTJFM0YHdW5pMkU0MQd1bmlBNjczDXVwd2FyZHNhbmNvcmEHdW5pMkUzMQd1bmkyMDhEB3VuaTIwOEUTYnJhY2toYWxmYm90dG9tbGVmdBRicmFja2hhbGZib3R0b21yaWdodBBicmFja2hhbGZ0b3BsZWZ0EWJyYWNraGFsZnRvcHJpZ2h0FWxlZnRkb3VibGVwYXJlbnRoZXNpcxZyaWdodGRvdWJsZXBhcmVudGhlc2lzB3VuaTJFMjYHdW5pMkUyNwd1bmkyMDdEB3VuaTIwN0UHdW5pMkUxQQd1bmkyMDEwB3VuaTIwMTEHdW5pMkUzQgd1bmkyRTNBB3VuaTJFNDAHdW5pMjAzNgd1bmkyMDM1B3VuaTIwNTcHdW5pMjAzNwd1bmkyRTQyDGJyYWNlbGVmdC5zYw1icmFjZXJpZ2h0LnNjDmJyYWNrZXRsZWZ0LnNjD2JyYWNrZXRyaWdodC5zYwlleGNsYW0uc2MMZXhjbGFtZGJsLnNjDWV4Y2xhbWRvd24uc2MQZ3VpbHNpbmdsbGVmdC5zYxFndWlsc2luZ2xyaWdodC5zYwxwYXJlbmxlZnQuc2MNcGFyZW5yaWdodC5zYwtxdWVzdGlvbi5zYw9xdWVzdGlvbmRvd24uc2MHdW5pQTkyRQd1bmlBNjdFB3VuaTIwNUYHdW5pMjAyOAd1bmkyMDI5B3VuaTIwNjEHdW5pMjA2NAd1bmkyMDYzB3VuaTIwNjIHdW5pMjA2Ngd1bmkyMDY3B3VuaTIwNjgHdW5pMjA2OQd1bmkyMDYwB3VuaTIwQjYHdW5pMjBCQwd1bmkyMEJEB3VuaTIwQUEHdW5pMjBCNwd1bmkyMEI4B3VuaTIwQkIHdW5pMjBCRQd1bmkyMTI3B3VuaTIxMzUHdW5pMjE0Qgd1bmkyMTM2B3VuaTIwNTIHdW5pMjEzOAd1bmkyMDhDB3VuaTIwN0MHdW5pMjEzNwd1bmkyMDhCB3VuaTIwN0IHdW5pMjAzMQd1bmkyMDhBB3VuaTIwN0EScmV2ZXJzZWRTYW5zU2VyaWZMFXN1bW1hdGlvbkRvdWJsZVN0cnVjaxB0dXJuZWRTYW5zU2VyaWZHEHR1cm5lZFNhbnNTZXJpZkwQdHVybmVkU2Fuc1NlcmlmWQhSb3RhdGVkUQd1bmkyMTAwB3VuaTIxMDEHdW5pMjEwNgd1bmkyMTAzB3VuaTIxMDQHdW5pMjEzQgd1bmkyMTA5B3VuaTIxMzkHdW5pMjAzRAd1bmkyMTE0B3VuaTIxMjUHdW5pMjE0QwxwcmVzY3JpcHRpb24HdW5pMjE0QQd1bmkyMTFGB3VuaTIxMDgHdW5pMjEyMBhzeW1ib2xmb3JzYW1hcml0YW5zb3VyY2UHdW5pMjEyMQd1bmkyMTIzC3dlaWVyc3RyYXNzB3VuaTAyREUXdW5pMDJFNV91bmkwMkU1X3VuaTAyRTkXdW5pMDJFNV91bmkwMkU1X3VuaTAyRTYXdW5pMDJFNV91bmkwMkU1X3VuaTAyRTgXdW5pMDJFNV91bmkwMkU1X3VuaTAyRTcPdW5pMDJFNV91bmkwMkU5F3VuaTAyRTVfdW5pMDJFOV91bmkwMkU1F3VuaTAyRTVfdW5pMDJFOV91bmkwMkU5F3VuaTAyRTVfdW5pMDJFOV91bmkwMkU2F3VuaTAyRTVfdW5pMDJFOV91bmkwMkU4F3VuaTAyRTVfdW5pMDJFOV91bmkwMkU3D3VuaTAyRTVfdW5pMDJFNhd1bmkwMkU1X3VuaTAyRTZfdW5pMDJFNRd1bmkwMkU1X3VuaTAyRTZfdW5pMDJFORd1bmkwMkU1X3VuaTAyRTZfdW5pMDJFNhd1bmkwMkU1X3VuaTAyRTZfdW5pMDJFOBd1bmkwMkU1X3VuaTAyRTZfdW5pMDJFNw91bmkwMkU1X3VuaTAyRTgXdW5pMDJFNV91bmkwMkU4X3VuaTAyRTUXdW5pMDJFNV91bmkwMkU4X3VuaTAyRTkXdW5pMDJFNV91bmkwMkU4X3VuaTAyRTYXdW5pMDJFNV91bmkwMkU4X3VuaTAyRTgXdW5pMDJFNV91bmkwMkU4X3VuaTAyRTcPdW5pMDJFNV91bmkwMkU3F3VuaTAyRTVfdW5pMDJFN191bmkwMkU1F3VuaTAyRTVfdW5pMDJFN191bmkwMkU5F3VuaTAyRTVfdW5pMDJFN191bmkwMkU2F3VuaTAyRTVfdW5pMDJFN191bmkwMkU4F3VuaTAyRTVfdW5pMDJFN191bmkwMkU3D3VuaTAyRTlfdW5pMDJFNRd1bmkwMkU5X3VuaTAyRTVfdW5pMDJFNRd1bmkwMkU5X3VuaTAyRTVfdW5pMDJFORd1bmkwMkU5X3VuaTAyRTVfdW5pMDJFNhd1bmkwMkU5X3VuaTAyRTVfdW5pMDJFOBd1bmkwMkU5X3VuaTAyRTVfdW5pMDJFNxd1bmkwMkU5X3VuaTAyRTlfdW5pMDJFNRd1bmkwMkU5X3VuaTAyRTlfdW5pMDJFNhd1bmkwMkU5X3VuaTAyRTlfdW5pMDJFOBd1bmkwMkU5X3VuaTAyRTlfdW5pMDJFNw91bmkwMkU5X3VuaTAyRTYXdW5pMDJFOV91bmkwMkU2X3VuaTAyRTUXdW5pMDJFOV91bmkwMkU2X3VuaTAyRTkXdW5pMDJFOV91bmkwMkU2X3VuaTAyRTYXdW5pMDJFOV91bmkwMkU2X3VuaTAyRTgXdW5pMDJFOV91bmkwMkU2X3VuaTAyRTcPdW5pMDJFOV91bmkwMkU4F3VuaTAyRTlfdW5pMDJFOF91bmkwMkU1F3VuaTAyRTlfdW5pMDJFOF91bmkwMkU5F3VuaTAyRTlfdW5pMDJFOF91bmkwMkU2F3VuaTAyRTlfdW5pMDJFOF91bmkwMkU4F3VuaTAyRTlfdW5pMDJFOF91bmkwMkU3D3VuaTAyRTlfdW5pMDJFNxd1bmkwMkU5X3VuaTAyRTdfdW5pMDJFNRd1bmkwMkU5X3VuaTAyRTdfdW5pMDJFORd1bmkwMkU5X3VuaTAyRTdfdW5pMDJFNhd1bmkwMkU5X3VuaTAyRTdfdW5pMDJFOBd1bmkwMkU5X3VuaTAyRTdfdW5pMDJFNw91bmkwMkU2X3VuaTAyRTUXdW5pMDJFNl91bmkwMkU1X3VuaTAyRTUXdW5pMDJFNl91bmkwMkU1X3VuaTAyRTkXdW5pMDJFNl91bmkwMkU1X3VuaTAyRTYXdW5pMDJFNl91bmkwMkU1X3VuaTAyRTgXdW5pMDJFNl91bmkwMkU1X3VuaTAyRTcPdW5pMDJFNl91bmkwMkU5F3VuaTAyRTZfdW5pMDJFOV91bmkwMkU1F3VuaTAyRTZfdW5pMDJFOV91bmkwMkU5F3VuaTAyRTZfdW5pMDJFOV91bmkwMkU2F3VuaTAyRTZfdW5pMDJFOV91bmkwMkU4F3VuaTAyRTZfdW5pMDJFOV91bmkwMkU3F3VuaTAyRTZfdW5pMDJFNl91bmkwMkU1F3VuaTAyRTZfdW5pMDJFNl91bmkwMkU5F3VuaTAyRTZfdW5pMDJFNl91bmkwMkU4F3VuaTAyRTZfdW5pMDJFNl91bmkwMkU3D3VuaTAyRTZfdW5pMDJFOBd1bmkwMkU2X3VuaTAyRThfdW5pMDJFNRd1bmkwMkU2X3VuaTAyRThfdW5pMDJFORd1bmkwMkU2X3VuaTAyRThfdW5pMDJFNhd1bmkwMkU2X3VuaTAyRThfdW5pMDJFOBd1bmkwMkU2X3VuaTAyRThfdW5pMDJFNw91bmkwMkU2X3VuaTAyRTcXdW5pMDJFNl91bmkwMkU3X3VuaTAyRTUXdW5pMDJFNl91bmkwMkU3X3VuaTAyRTkXdW5pMDJFNl91bmkwMkU3X3VuaTAyRTYXdW5pMDJFNl91bmkwMkU3X3VuaTAyRTgXdW5pMDJFNl91bmkwMkU3X3VuaTAyRTcPdW5pMDJFOF91bmkwMkU1F3VuaTAyRThfdW5pMDJFNV91bmkwMkU1F3VuaTAyRThfdW5pMDJFNV91bmkwMkU5F3VuaTAyRThfdW5pMDJFNV91bmkwMkU2F3VuaTAyRThfdW5pMDJFNV91bmkwMkU4F3VuaTAyRThfdW5pMDJFNV91bmkwMkU3D3VuaTAyRThfdW5pMDJFORd1bmkwMkU4X3VuaTAyRTlfdW5pMDJFNRd1bmkwMkU4X3VuaTAyRTlfdW5pMDJFORd1bmkwMkU4X3VuaTAyRTlfdW5pMDJFNhd1bmkwMkU4X3VuaTAyRTlfdW5pMDJFOBd1bmkwMkU4X3VuaTAyRTlfdW5pMDJFNw91bmkwMkU4X3VuaTAyRTYXdW5pMDJFOF91bmkwMkU2X3VuaTAyRTUXdW5pMDJFOF91bmkwMkU2X3VuaTAyRTkXdW5pMDJFOF91bmkwMkU2X3VuaTAyRTYXdW5pMDJFOF91bmkwMkU2X3VuaTAyRTgXdW5pMDJFOF91bmkwMkU2X3VuaTAyRTcXdW5pMDJFOF91bmkwMkU4X3VuaTAyRTUXdW5pMDJFOF91bmkwMkU4X3VuaTAyRTkXdW5pMDJFOF91bmkwMkU4X3VuaTAyRTYXdW5pMDJFOF91bmkwMkU4X3VuaTAyRTcPdW5pMDJFOF91bmkwMkU3F3VuaTAyRThfdW5pMDJFN191bmkwMkU1F3VuaTAyRThfdW5pMDJFN191bmkwMkU5F3VuaTAyRThfdW5pMDJFN191bmkwMkU2F3VuaTAyRThfdW5pMDJFN191bmkwMkU4F3VuaTAyRThfdW5pMDJFN191bmkwMkU3D3VuaTAyRTdfdW5pMDJFNRd1bmkwMkU3X3VuaTAyRTVfdW5pMDJFNRd1bmkwMkU3X3VuaTAyRTVfdW5pMDJFORd1bmkwMkU3X3VuaTAyRTVfdW5pMDJFNhd1bmkwMkU3X3VuaTAyRTVfdW5pMDJFOBd1bmkwMkU3X3VuaTAyRTVfdW5pMDJFNw91bmkwMkU3X3VuaTAyRTkXdW5pMDJFN191bmkwMkU5X3VuaTAyRTUXdW5pMDJFN191bmkwMkU5X3VuaTAyRTkXdW5pMDJFN191bmkwMkU5X3VuaTAyRTYXdW5pMDJFN191bmkwMkU5X3VuaTAyRTgXdW5pMDJFN191bmkwMkU5X3VuaTAyRTcPdW5pMDJFN191bmkwMkU2F3VuaTAyRTdfdW5pMDJFNl91bmkwMkU1F3VuaTAyRTdfdW5pMDJFNl91bmkwMkU5F3VuaTAyRTdfdW5pMDJFNl91bmkwMkU2F3VuaTAyRTdfdW5pMDJFNl91bmkwMkU4F3VuaTAyRTdfdW5pMDJFNl91bmkwMkU3D3VuaTAyRTdfdW5pMDJFOBd1bmkwMkU3X3VuaTAyRThfdW5pMDJFNRd1bmkwMkU3X3VuaTAyRThfdW5pMDJFORd1bmkwMkU3X3VuaTAyRThfdW5pMDJFNhd1bmkwMkU3X3VuaTAyRThfdW5pMDJFOBd1bmkwMkU3X3VuaTAyRThfdW5pMDJFNxd1bmkwMkU3X3VuaTAyRTdfdW5pMDJFNRd1bmkwMkU3X3VuaTAyRTdfdW5pMDJFORd1bmkwMkU3X3VuaTAyRTdfdW5pMDJFNhd1bmkwMkU3X3VuaTAyRTdfdW5pMDJFOAd1bmlBQjVCDGFtcGVyc2FuZC5zYwd1bmkyMTI5B3VuaTAzMDgHdW5pMDMwNwlncmF2ZWNvbWIJYWN1dGVjb21iB3VuaTAzMEIHdW5pMDMwMgd1bmkwMzBDB3VuaTAzMDYHdW5pMDMwQQl0aWxkZWNvbWIHdW5pMDMwNAtvdmVybGluZWNtYgd1bmkwMzBEB3VuaTAzMEUHdW5pMDMwRgd1bmkwMzEwB3VuaTAzMTEHdW5pMDMxMgd1bmkwMzEzB3VuaTAzMTQHdW5pMDMxNQd1bmkwMzE2B3VuaTAzMTcHdW5pMDMxOAd1bmkwMzE5B3VuaTAzMUEHdW5pMDMxQgd1bmkwMzFDB3VuaTAzMUQHdW5pMDMxRQd1bmkwMzFGB3VuaTAzMjAYaG9va3BhbGF0YWxpemVkYmVsb3djb21iFmhvb2tyZXRyb2ZsZXhiZWxvd2NvbWIMZG90YmVsb3djb21iB3VuaTAzMjQHdW5pMDMyNQd1bmkwMzI3B3VuaTAzMjgHdW5pMDMyOQd1bmkwMzJBB3VuaTAzMkIHdW5pMDMyQwd1bmkwMzJEB3VuaTAzMkUHdW5pMDMyRgd1bmkwMzMwB3VuaTAzMzEHdW5pMDMzMgd1bmkwMzMzB3VuaTAzMzQWc3Ryb2tlc2hvcnRvdmVybGF5Y29tYhVzdHJva2Vsb25nb3ZlcmxheWNvbWIVc2xhc2hzaG9ydG92ZXJsYXljb21iFHNsYXNobG9uZ292ZXJsYXljb21iB3VuaTAzMzkHdW5pMDMzQQd1bmkwMzNCB3VuaTAzM0MHdW5pMDMzRAd1bmkwMzNFB3VuaTAzM0YHdW5pMDM0MAd1bmkwMzQxB3VuaTAzNDYHdW5pMDM0Nwd1bmkwMzQ4B3VuaTAzNDkHdW5pMDM0QQd1bmkwMzRCB3VuaTAzNEMHdW5pMDM0RAd1bmkwMzRFB3VuaTAzNEYHdW5pMDM1MAd1bmkwMzUxB3VuaTAzNTIHdW5pMDM1Mwd1bmkwMzU0B3VuaTAzNTUHdW5pMDM1Ngd1bmkwMzU3B3VuaTAzNTgHdW5pMDM1OQd1bmkwMzVBB3VuaTAzNUIHdW5pMDM1Qwd1bmkwMzVEB3VuaTAzNUUHdW5pMDM1Rgd1bmkwMzYwB3VuaTAzNjEHdW5pMDM2Mg9hY3V0ZWdyYXZlYWN1dGULYWN1dGVtYWNyb24HdW5pMURGRQd1bmkxREZGC2JyZXZlbWFjcm9uGWNvbWJpbmluZ2NvbmpvaW5pbmdtYWNyb24XY29tYmluaW5nbWFjcm9ubGVmdGhhbGYYY29tYmluaW5nbWFjcm9ucmlnaHRoYWxmC2RvdHRlZGFjdXRlC2RvdHRlZGdyYXZlFWRvdWJsZWNpcmN1bWZsZXhhYm92ZQ9ncmF2ZWFjdXRlZ3JhdmULZ3JhdmVtYWNyb24HdW5pMUREMAd1bmkxREM0C21hY3JvbmJyZXZlB3VuaTFEQzYLb2dvbmVrYWJvdmUKc25ha2ViZWxvdw5zdXNwZW5zaW9ubWFyawd1bmkxQUIwB3VuaTFBQjEHdW5pMUFCMgd1bmkxQUIzB3VuaTFBQjQHdW5pMUFCNQd1bmkxQUI2B3VuaTFBQjcHdW5pMUFCOAd1bmkxQUI5B3VuaTFBQkEHdW5pMUFCQgd1bmkxQUJDB3VuaTFBQkQHdW5pMURFNwd1bmkxREU4B3VuaTFERTkHdW5pMURFQQd1bmkxREVCB3VuaTFERUMHdW5pMURFRAd1bmkxREVFB3VuaTFERUYHdW5pMURGMAd1bmkxREYxB3VuaTFERjIHdW5pMURGMwd1bmkxREY0B3VuaTFERjUHdW5pMURGQgd1bmkxREZDB3VuaTFERkQHdW5pMkRFMAd1bmkyREUxB3VuaTJERTIHdW5pMkRFMwd1bmkyREU0B3VuaTJERTUHdW5pMkRFNgd1bmkyREU3B3VuaTJERTgHdW5pMkRFOQd1bmkyREVBB3VuaTJERUIHdW5pMkRFQwd1bmkyREVEB3VuaTJERUUHdW5pMkRFRgd1bmkyREYwB3VuaTJERjEHdW5pMkRGMgd1bmkyREYzB3VuaTJERjQHdW5pMkRGNQd1bmkyREY2B3VuaTJERjcHdW5pMkRGOAd1bmkyREY5B3VuaTJERkEHdW5pMkRGQgd1bmkyREZDB3VuaTJERkQHdW5pMkRGRQd1bmkyREZGB3VuaUZFMDAHdW5pRkUyNwd1bmlGRTI4B3VuaUZFMjkHdW5pRkUyQQd1bmlGRTJCB3VuaUZFMkMHdW5pRkUyRAd1cmFib3ZlB3VzYWJvdmULemlnemFnYmVsb3cHdW5pMUFCRQ9kaWVyZXNpc2NvbWIuc2MQZG90YWNjZW50Y29tYi5zYwxncmF2ZWNvbWIuc2MMYWN1dGVjb21iLnNjE2h1bmdhcnVtbGF1dGNvbWIuc2MRY2lyY3VtZmxleGNvbWIuc2MMY2Fyb25jb21iLnNjDGJyZXZlY29tYi5zYwtyaW5nY29tYi5zYwx0aWxkZWNvbWIuc2MNbWFjcm9uY29tYi5zYw1vZ29uZWtjb21iLnNjDG92ZXJzY29yZS5zYwd1bmkwMzQyB3VuaTAzNDMHdW5pMDM0NAd1bmkwMzQ1B3VuaTA0ODMHdW5pMDQ4NAd1bmkwNDg1B3VuaTA0ODYHdW5pMDQ4Nwd1bmlBNjZGB3VuaUE2NzQHdW5pQTY3NQd1bmlBNjc2B3VuaUE2NzcHdW5pQTY3OAd1bmlBNjc5B3VuaUE2N0EHdW5pQTY3Qgd1bmlBNjdDB3VuaUE2N0QHdW5pQTY5RQd1bmlBNjlGB3VuaUZFMkUHdW5pRkUyRgd1bmlBNjcwB3VuaUE2NzEHdW5pQTY3Mgd1bmkxRERCB3VuaTFEREUHdW5pMURERgd1bmkxREUxB3VuaTFERTIHdW5pMDM2Mwd1bmkxREQ0B3VuaTFERDUHdW5pMURENgd1bmkxREQ3B3VuaTAzNjgHdW5pMDM2OQd1bmkwMzY0B3VuaTFERDkTZmxhdHRlbmVkb3BlbmFhYm92ZQd1bmkxRERBB3VuaTAzNkEHdW5pMDM2NQd1bmkxREQ4B3VuaTFEREMHdW5pMURERAd1bmkxREU1B3VuaTAzNkIHdW5pMURFMAd1bmkwMzY2B3VuaTFEQ0EHdW5pMDM2Qwd1bmkxREUzB3VuaTFERTQHdW5pMDM2RAd1bmkwMzY3B3VuaTAzNkUHdW5pMDM2Rgd1bmkxREU2B3VuaTJDN0QMY29tbWFhY2NlbnQyB3VuaTJDNzAHdW5pMkM3RQd1bmkyQzdGB3VuaUFCNjUHdW5pQTdBRQd1bmlBQjYwB3VuaUFCNjEHdW5pQUI2Mgd1bmlBQjYzGXN1bW1hdGlvbkRvdWJsZVN0cnVjay5taXIHdW5pMjBCRgd1bmkyRTQzB3VuaTJFNDQHdW5pQTcwMAd1bmlBNzAxB3VuaUE3MDIHdW5pQTcwMwd1bmlBNzA0B3VuaUE3MDUHdW5pQTcwNgd1bmlBNzA3B3VuaUE3MDgHdW5pQTcwOQd1bmlBNzBBB3VuaUE3MEIHdW5pQTcwQwd1bmlBNzBEB3VuaUE3MEUHdW5pQTcwRgd1bmlBNzEwB3VuaUE3MTEHdW5pQTcxMgd1bmlBNzEzB3VuaUE3MTQHdW5pQTcxNQd1bmlBNzE2AAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtAG0AVwBXAsoAAAIbAAD/EAQt/tsC1P/2AiX/9v8QBC3+2wBtAG0AVwBXAsr/9gL4Ahv/9v8QBC3+2wLV//YC/QIl//b/EAQt/tsAbQBtAFcAVwI/AAAELf7bAkj/+AQt/tsAbQBt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QCstsIksswkEAgNFWCEbIyFZQiuwCGWwAyRQeLEFARVFWDBZLQAAAABLuADIUlixAQGOWbABuQgACABjcLEAB0JAC7WhjQBvXwBDLwkAKrEAB0JAFKgIlAiACHYDZgZWBkoENggkBwkIKrEAB0JAFLIGngaKBnsBbgReBFACQAYtBQkIKrEAEEJBCypAJUAgQB3AGcAVwBLADcAJQAAJAAkqsQAZQkELAEAAQABAAEAAQABAAEAAQABAAAkACSqxAwBEsSQBiFFYsECIWLEDZESxKAGIUVi4CACIWLEDAERZG7EnAYhRWLoIgAABBECIY1RYsQMARFlZWVlZQBSqCJYIggh4A2gGWAZMBDgIJgcJDCq4Af+FsASNsQIARLMFZAYAREQAAAAKdHRmYXV0b2hpbnQgdmVyc2lvbiA9IDEuNwoKYWRqdXN0LXN1YmdseXBocyA9IDAKZGVmYXVsdC1zY3JpcHQgPSBsYXRuCmR3LWNsZWFydHlwZS1zdHJvbmctc3RlbS13aWR0aCA9IDAKZmFsbGJhY2stc2NhbGluZyA9IDAKZmFsbGJhY2stc2NyaXB0ID0gbm9uZQpmYWxsYmFjay1zdGVtLXdpZHRoID0gMApnZGktY2xlYXJ0eXBlLXN0cm9uZy1zdGVtLXdpZHRoID0gMQpncmF5LXN0cm9uZy1zdGVtLXdpZHRoID0gMApoaW50aW5nLWxpbWl0ID0gMjAwCmhpbnRpbmctcmFuZ2UtbWF4ID0gNTAKaGludGluZy1yYW5nZS1taW4gPSA4CmhpbnQtY29tcG9zaXRlcyA9IDAKaWdub3JlLXJlc3RyaWN0aW9ucyA9IDAKaW5jcmVhc2UteC1oZWlnaHQgPSAxNApyZWZlcmVuY2UgPSAKcmVmZXJlbmNlLWluZGV4ID0gMApzeW1ib2wgPSAwClRURkEtaW5mbyA9IDEKd2luZG93cy1jb21wYXRpYmlsaXR5ID0gMQp4LWhlaWdodC1zbmFwcGluZy1leGNlcHRpb25zID0gCmNvbnRyb2wtaW5zdHJ1Y3Rpb25zID0gCgoKAA=="},function(A,e){A.exports="T1RUTwAOAIAAAwBgQkFTRYselLEAA0f4AAAAOkNGRiCkrsYlAAA1cAABsWFEU0lH3DVp8QADSDQAABx4R0RFRmHWY74AAf0wAAACtEdQT1PojzgVAAIeMAABKchHU1VCbjuk3AAB/+QAAB5MT1MvMl+WmtkAAAFQAAAAYGNtYXB2jTkgAAAMDAAAKURoZWFkEAhqGQAAAOwAAAA2aGhlYQvaDEUAAAEkAAAAJGhtdHiQIqJwAAHm1AAAFlptYXhwBZdQAAAAAUgAAAAGbmFtZdba4s8AAAGwAAAKWXBvc3T/uAAyAAA1UAAAACAAAQAAAAIAAERZq0ZfDzz1AAMD6AAAAADUkpNPAAAAANSSk0//EP6xCLsD6gAAAAMAAgAAAAAAAAABAAAEDP6xAAAI4/8Q/xoIuwABAAAAAAAAAAAAAAAAAAAFlgAAUAAFlwAAAAMCKgGQAAUAAAKKAlgAAABLAooCWAAAAV4AMgEdAAACBAYDBQQFAgIEIAAChwIAAAMAAAAAAAAAAEFEQk8AQAAg//8C2v7yAAAEDAFPIAABnwAAAAAB2wKeAAAAIAADAAAAGgE+AAEAAAAAAAAAcAAAAAEAAAAAAAEAEABwAAEAAAAAAAIABwCAAAEAAAAAAAMAJwCHAAEAAAAAAAQAEABwAAEAAAAAAAUAOQCuAAEAAAAAAAYAFgDnAAEAAAAAAAcAYAD9AAEAAAAAAAgAGgFdAAEAAAAAAAkAEQF3AAEAAAAAAAsAGQGIAAEAAAAAAA0BTgGhAAEAAAAAAA4AGgLvAAMAAQQJAAAA4AMJAAMAAQQJAAEAIAPpAAMAAQQJAAIADgQJAAMAAQQJAAMATgQXAAMAAQQJAAQAIAPpAAMAAQQJAAUAcgRlAAMAAQQJAAYALATXAAMAAQQJAAcAwAUDAAMAAQQJAAgANAXDAAMAAQQJAAkAIgX3AAMAAQQJAAsAMgYZAAMAAQQJAA0CnAZLAAMAAQQJAA4ANAjnQ29weXJpZ2h0IDIwMTQsIDIwMTUsIDIwMTYgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQgKGh0dHA6Ly93d3cuYWRvYmUuY29tLyksIHdpdGggUmVzZXJ2ZWQgRm9udCBOYW1lICdTb3VyY2UnLlNvdXJjZSBTZXJpZiBQcm9SZWd1bGFyMi4wMDA7QURCTztTb3VyY2VTZXJpZlByby1SZWd1bGFyO0FET0JFVmVyc2lvbiAyLjAwMDtQUyAxLjA7aG90Y29udiAxNi42LjUxO21ha2VvdGYubGliMi41LjY1MjIwU291cmNlU2VyaWZQcm8tUmVndWxhclNvdXJjZSBpcyBhIHRyYWRlbWFyayBvZiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZCBpbiB0aGUgVW5pdGVkIFN0YXRlcyBhbmQvb3Igb3RoZXIgY291bnRyaWVzLkFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkRnJhbmsgR3JpZadoYW1tZXJodHRwOi8vd3d3LmFkb2JlLmNvbS90eXBlVGhpcyBGb250IFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBTSUwgT3BlbiBGb250IExpY2Vuc2UsIFZlcnNpb24gMS4xLg0KDQpUaGlzIEZvbnQgU29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgU0lMIE9wZW4gRm9udCBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UsIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucyBnb3Zlcm5pbmcgeW91ciB1c2Ugb2YgdGhpcyBGb250IFNvZnR3YXJlLmh0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAsACAAMgAwADEANQAsACAAMgAwADEANgAgAEEAZABvAGIAZQAgAFMAeQBzAHQAZQBtAHMAIABJAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAZABvAGIAZQAuAGMAbwBtAC8AKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAJwBTAG8AdQByAGMAZQAnAC4AUwBvAHUAcgBjAGUAIABTAGUAcgBpAGYAIABQAHIAbwBSAGUAZwB1AGwAYQByADIALgAwADAAMAA7AEEARABCAE8AOwBTAG8AdQByAGMAZQBTAGUAcgBpAGYAUAByAG8ALQBSAGUAZwB1AGwAYQByADsAQQBEAE8AQgBFAFYAZQByAHMAaQBvAG4AIAAyAC4AMAAwADAAOwBQAFMAIAAxAC4AMAA7AGgAbwB0AGMAbwBuAHYAIAAxADYALgA2AC4ANQAxADsAbQBhAGsAZQBvAHQAZgAuAGwAaQBiADIALgA1AC4ANgA1ADIAMgAwAFMAbwB1AHIAYwBlAFMAZQByAGkAZgBQAHIAbwAtAFIAZQBnAHUAbABhAHIAUwBvAHUAcgBjAGUAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABBAGQAbwBiAGUAIABTAHkAcwB0AGUAbQBzACAASQBuAGMAbwByAHAAbwByAGEAdABlAGQAIABpAG4AIAB0AGgAZQAgAFUAbgBpAHQAZQBkACAAUwB0AGEAdABlAHMAIABhAG4AZAAvAG8AcgAgAG8AdABoAGUAcgAgAGMAbwB1AG4AdAByAGkAZQBzAC4AQQBkAG8AYgBlACAAUwB5AHMAdABlAG0AcwAgAEkAbgBjAG8AcgBwAG8AcgBhAHQAZQBkAEYAcgBhAG4AawAgAEcAcgBpAGUA3wBoAGEAbQBtAGUAcgBoAHQAdABwADoALwAvAHcAdwB3AC4AYQBkAG8AYgBlAC4AYwBvAG0ALwB0AHkAcABlAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ADQAKAA0ACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAG8AbgAgAGEAbgAgACcAQQBTACAASQBTACcAIABCAEEAUwBJAFMALAAgAFcASQBUAEgATwBVAFQAIABXAEEAUgBSAEEATgBUAEkARQBTACAATwBSACAAQwBPAE4ARABJAFQASQBPAE4AUwAgAE8A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AQ4AXAEMAF0BDQBZAQkAawEbAGcBFwBoARgAaQEZAHABIABuAR4AfAEsAHYBJgB4AScAdwEtAH0BLwB+ATABMQB/ATIAgQE0AIABMwCCATUAhgE5AIkBPACNAUAAigE9AUIAlwFLAJMBRwCYAUwAqAFcAKkBXQCrAV4AqgFfAK8BYwCzAWcAsQFlALABZAC4AW0AtwFsANIBiADAAXYAxAF6AMEBdwDCAXgAwwF5ANQBigDZAY8A2ADfAZUA4QGXAOABlgFqAKEBVQDMAYIAQgDyAHkBKQCZAU0AxQF7AMkBfwDGAXwAxwF9AMgBfgBqARoAiwE+ALIBZgC5AW4CiQKRApYCmAL/Av4DDAMPAw0DEwMJAw4CiwKSApcDFAMWAxgDGgMcAx4DIAMiAzEDJAMmAygDMAMvA5wDngNlA5gDZgNnA2gDawNtA5ADXgNfA2ADYQNiA2MDZANpA2wDhwOIA4kDigORA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgOGA38DgAOBA4IDgwOEA4UDiwOOA4wDjQOPA9EEHAPSBB0D0wQeA9QEHwPVBCAD1gQhA9cEIgPYBCMD2QQkA9oEJQPbBCYD3AQnA90EKAPeBCkD3wQqA+AEKwPhA+IELAQtA+MELgPkBC8D5QQwA+YEMQPnBDID6AQzA+kENAPqBDUD6wQ2AoECgwKEAooCjAKPApMClABUAQQAVQEFAGwBHABxASEAbwEfAIMBNgCEATcAhQE4AIcBOgCIATsAjgFBAI8BQwCQAUQArAFgAK0BYQCuAWIAtAFoALUBaQC6AXAAuwFxANYBjADTAYkA1QGLANoBkADiAZgASAD4AEkA+QBDAPMARQD1AEYA9gBHAPcARAD0AD0A7QA/AO8AQADwAEEA8QA+AO4AZAEUAGUBFQBmARYAXwEPAGEBEQBiARIAYwETAGABEAB7ASsAegEqAJ8BUwCgAVQAmgFOAJwBUACdAVEAngFSAJsBTwCiAVYApAFYAKUBWQCmAVoAowFXAMoBgADLAYEAzQGDAM8BhQDQAYYA0QGHAM4BhADcAZIA2wGRAN0BkwDeAZQB9QHzAfQB9gHmAecB6gHoAekB6wIUAhUB+ARBAd0CIAKIAioCKwKNArECrwKwBDgCGQLhAuMC5QLnAuIC5ALmAugC3QLHAsoC2gLrAvkBoQGeAZ8BogGjAAwAAAAAHKgAAAAAAAACYgAAACAAAAAgAAAAAQAAACEAAAAhAAAB3gAAACIAAAAiAAAB5QAAACMAAAAjAAACHwAAACQAAAAkAAACngAAACUAAAAlAAACuwAAACYAAAAmAAABpAAAACcAAAAnAAAB5AAAACgAAAApAAAB+gAAACoAAAAqAAACEwAAACsAAAArAAACxgAAACwAAAAsAAAB2gAAAC0AAAAtAAAB8AAAAC4AAAAuAAAB2QAAAC8AAAAvAAACDwAAADAAAAA5AAABpQAAADoAAAA7AAAB2wAAADwAAAA8AAACzAAAAD0AAAA9AAACywAAAD4AAAA+AAACzQAAAD8AAAA/AAAB4QAAAEAAAABAAAACHQAAAEEAAABaAAAAAgAAAFsAAABbAAAB/AAAAFwAAABcAAACEQAAAF0AAABdAAAB/QAAAF4AAABeAAAC0QAAAF8AAABfAAAB+QAAAGAAAABgAAADBQAAAGEAAAB6AAAAHAAAAHsAAAB7AAAB/gAAAHwAAAB8AAACEAAAAH0AAAB9AAAB/wAAAH4AAAB+AAAC0wAAAKAAAACgAAACtwAAAKEAAAChAAAB3wAAAKIAAACjAAACnwAAAKQAAACkAAACnQAAAKUAAAClAAACoQAAAKYAAACmAAACEgAAAKcAAACnAAACFgAAAKgAAACoAAADCgAAAKkAAACpAAACGAAAAKoAAACqAAACZAAAAKsAAACrAAAB7gAAAKwAAACsAAAC1QAAAK0AAACtAAAB8QAAAK4AAACuAAACGgAAAK8AAACvAAADCwAAALAAAACwAAACnAAAALEAAACxAAAC0AAAALIAAACzAAACIgAAALQAAAC0AAADBgAAALUAAAC1AAAC1wAAALYAAAC2AAACFwAAALcAAAC3AAAB9wAAALgAAAC4AAADEAAAALkAAAC5AAACIQAAALoAAAC6AAACZQAAALsAAAC7AAAB7wAAALwAAAC+AAACvQAAAL8AAAC/AAAB4gAAAMAAAADEAAAANgAAAMUAAADFAAAASgAAAMYAAADHAAAATAAAAMgAAADKAAAAVgAAAMsAAADLAAAAWgAAAMwAAADPAAAAcgAAANAAAADQAAAA4wAAANEAAADRAAAAjAAAANIAAADTAAAAkQAAANQAAADWAAAAlAAAANcAAADX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AAADaQAAA6sAAAOrAAADbAAAA6wAAAOvAAADhwAAA7AAAAOwAAADkQAAA7EAAAPBAAADbgAAA8IAAAPCAAADhgAAA8MAAAPJAAADfwAAA8oAAAPKAAADiwAAA8sAAAPLAAADjgAAA8wAAAPNAAADjAAAA84AAAPOAAADjwAAA9cAAAPXAAADkgAAA9kAAAPZAAADkwAAA9sAAAPbAAADlAAAA90AAAPdAAADlQAAA+EAAAPhAAADlgAABAAAAAQPAAADwQAABBAAAAQvAAADoQAABDAAAARfAAAD7AAABGIAAARiAAAD0QAABGMAAARjAAAEHAAABHIAAARyAAAD0gAABHMAAARzAAAEHQAABHQAAAR0AAAD0wAABHUAAAR1AAAEHgAABJAAAASQAAAD1AAABJEAAASRAAAEHwAABJIAAASSAAAD1QAABJMAAASTAAAEIAAABJYAAASWAAAD1gAABJcAAASXAAAEIQAABJgAAASYAAAD1wAABJkAAASZAAAEIgAABJoAAASaAAAD2AAABJsAAASbAAAEIwAABKAAAASgAAAD2QAABKEAAAShAAAEJAAABKIAAASiAAAD2gAABKMAAASjAAAEJQAABKoAAASqAAAD2wAABKsAAASrAAAEJgAABK4AAASuAAAD3AAABK8AAASvAAAEJwAABLAAAASwAAAD3QAABLEAAASxAAAEKAAABLIAAASyAAAD3gAABLMAAASzAAAEKQAABLYAAAS2AAAD3wAABLcAAAS3AAAEKgAABLoAAAS6AAAD4AAABLsAAAS7AAAEKwAABMAAAATBAAAD4QAABMIAAATCAAAELAAABM8AAATPAAAELQAABNAAAATQAAAD4wAABNEAAATRAAAELgAABNQAAATUAAAD5AAABNUAAATVAAAELwAABNYAAATWAAAD5QAABNcAAATXAAAEMAAABNgAAATYAAAD5gAABNkAAATZAAAEMQAABOIAAATiAAAD5wAABOMAAATjAAAEMgAABOYAAATmAAAD6AAABOcAAATnAAAEMwAABOgAAAToAAAD6QAABOkAAATpAAAENAAABO4AAATuAAAD6gAABO8AAATvAAAENQAABPIAAATyAAAD6wAABPMAAATzAAAENgAAHUMAAB1DAAACgAAAHUcAAB1HAAACgQAAHUgAAB1JAAACgwAAHU0AAB1N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AAAA3gAAHvkAAB75AAABlAAAIAcAACAHAAACuAAAIBAAACAQAAAB8gAAIBIAACASAAAB9QAAIBMAACAUAAAB8wAAIBUAACAVAAAB9gAAIBgAACAZAAAB5gAAIBoAACAaAAAB6gAAIBwAACAdAAAB6AAAIB4AACAeAAAB6wAAICAAACAhAAACFAAAICIAACAiAAAB+AAAICUAACAlAAAEQQAAICYAACAmAAAB3QAAIDAAACAwAAACvAAAIDIAACAzAAAC+gAAIDkAACA6AAAB7AAAIDwAACA8AAAEQgAAIEQAACBEAAACtAAAIEcAACBJAAAEQwAAIHAAACBwAAACIAAAIHEAACBxAAACiAAAIHQAACB5AAACJAAAIH0AACB+AAACKgAAIH8AACB/AAACjQAAIIAAACCJAAACNAAAII0AACCOAAACPgAAIKEAACChAAACowAAIKQAACCkAAACpAAAIKYAACCnAAACpQAAIKkAACCpAAACpwAAIKsAACCsAAACqAAAIK4AACCuAAACqgAAILEAACCyAAACqwAAILQAACC1AAACrQAAILgAACC4AAACsQAAILkAACC6AAACrwAAIL0AACC9AAACsgAAIL8AACC/AAACswAAIRMAACETAAAC3wAAIRYAACEWAAAEOAAAIRcAACEXAAACGQAAISAAACEgAAACHAAAISIAACEiAAACGwAAISYAACEmAAAC3AAAIS4AACEuAAAC4AAAIVMAACFUAAACwAAAIVsAACFeAAACwgAAIZAAACGQAAAC4QAAIZEAACGRAAAC4wAAIZIAACGSAAAC5QAAIZMAACGTAAAC5wAAIZYAACGWAAAC4gAAIZcAACGXAAAC5AAAIZgAACGYAAAC5gAAIZkAACGZAAAC6AAAIgIAACICAAAC2AAAIgYAACIGAAAC2wAAIg8AACIPAAAC3gAAIhEAACIRAAAC3QAAIhIAACISAAACxwAAIhUAACIVAAACtQAAIhkAACIZAAACygAAIhoAACIaAAAC2gAAIh4AACIeAAAC1gAAIisAACIrAAAC2QAAIkgAACJIAAAC1AAAImAAACJgAAAC0gAAImQAACJlAAACzgAAJaAAACWgAAAC6QAAJbIAACWzAAAC7QAAJbYAACW3AAAC7wAAJbwAACW9AAAC8QAAJcAAACXBAAAC8wAAJcYAACXGAAAC6gAAJckAACXJAAAC6wAAJcoAACXKAAAC+QAAJhAAACYRAAAC9QAAJmoAACZqAAAC+AAAJxMAACcTAAAC9wAAJ1IAACdSAAAC7AAALjoAAC47AAAEPAAA+wAAAPsAAAABoQAA+wEAAPsCAAABngAA+wMAAPsEAAABogAB8S8AAfEvAAAEPgAB8WoAAfFrAAAEPwADAAAAAAAA/7UAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEAwABAQEXU291cmNlU2VyaWZQcm8tUmVndWxhcgABAQErHAY3ABwGOAEcBjkMABwGOgP7hPvjHAi7+n4FHGHJDxxkIhHNHQABhIkSBLQCAAEACAAOABUAHAAjACoAMQA4AD8ARgBNAFQAWwBiAGkAcAB2AHwAhwCRAJcAnQCkAKsAsQC4AMIAyQDPANYA3QDkAOsA8gD5AQABBwENARcBHgEkAS8BNgFBAUUBTAFXAV4BZQFvAXYBfQGEAYsBkQGcAaMBqQGvAbYBugHBAcgBzwHWAd0B4wHpAfAB9wH+AgUCDAITAhoCJwIuAjUCPAJDAkoCUQJYAl8CZAJrAnICeQKAAocCjQKTApoCoQKoAq8CtQK8AsMCzgLVAtwC4wLpAvAC9wL+AwUDDAMRAx4DJQMrAzIDOQNAA0cDTgNVA1wDYQNoA28DdgN9A4QDigOQA5sDpAOqA7UDvAPDA8kD0APXA90D5wPuA/UD/AQCBAkEEAQXBB4EJQQsBDMEOgRBBEgETwRWBF0EZARqBHAEewSFBIsEkQSYBJ8EpQSsBLYEvQTDBMoE0QTYBN8E5gTtBPQE+wUBBQsFEgUYBSMFKgU1BTkFQAVLBVIFWQVgBWUFbAVzBXoFgAWHBZIFmQWlBasFsQW4BbwFwwXKBdEF2AXfBeUF6wXyBfkGAAYLBhIGGQYgBicGNAY7BkIGSQZQBlcGXgZlBmwGcQZ4Bn8GhgaNBpQGmgahBqcGrga1BrwGwgbJBtAG2wbiBukG7gb0BvsHAgcJBxAHFwceByMHMAc3Bz0HRAdLB1IHWQdgB2cHbgdzB3oHgQeIB48HlgecB6IHrQe2B7wHxwfOB9UH2wfiB+kH7wf5CAAIBwgOCBUIGAgbCB4IIQgmCCsINQg8CEIISAhQCFcIXghkCGwIdAh7CIcIkAiYCKAIqgizCLwIxAjOCNgI4QjpCPAI9wkACQgJEAkXCSAJKQkxCTkJQAlHCVAJWAlgCWcJcAl5CYEJjwmfCaYJrQm0CcUJ1wnoCfoKBAoRChsKJQo2CkMKUQpgCnAKfQqLCpIKmQqfCqgKsAq4CsIKywrUCtwK5grwCvkLBwsWCyYLNwtCC0wLVgthC2wLdwuAC4gLkAuaC6MLrAu0C74LyAvRC98L7gv+DA8MGgwkDC0MNQw9DEcMUAxZDGEMawx1DH4MjAybDKsMvAzHDNEM2gziDOoM9Az9DQYNDg0YDSINKw05DUgNWA1pDXQNfg2EDYoNkA2WDZwNog2oDa4NtA26DcANxg3MDdIN2A3eDeQN6g3wDfYN/A4CDggODg4UDhoOIA4mDiwOMg44Dj4ORA5KDlAOVg5cDmIOaA5uDnQOeg6ADoYOjA6SDpgOng6kDqoOsA62DsEOzA7TDtcO3g7kDusO7w7zDvoPAQ8IDw8PFg8dDyQPKw8yDzkPQA9KD1EPWA9iD24PdQ9+D4oPkg+dD6UPrA+3D78Pxg/ND9QP3Q/kD+sP9A/7EAIQCRAQEBcQHhAnEC4QNRA8EEMQShBREFgQXxBmEG0QdBB7EIIQiRCQEJcQohCpELAQtxC+EMUQzBDTENoQ4RDoEO8Q9hD/ERARFxEjESoRNhE9EU4RVRFhEWgRdRF8EYgRjxGfEaYRtRG8EccRzhHhEegR9BH7EgISCRIQEhcSHhIlEiwSNxI+EkUSUBJfEmoSeRKEEpMSnhKtErgSxxLSEuES7BL7EwYTFRMgEy8TOhNJE1QTYxNuE30TghOGE4sTkhOZE50ToBOlE6kTrhO0E7YTuBO6E8ETwxPGE8sTzhPVE9gT2xPeE+UT7xP7FAMUDBQYFCQUMBQ/FEkUThRSFFcUXBRjFGcUahRvFHMUeBR+FIUUhxSJFJAUkhSVFJoUnRSkFKcUqhStFLIUuRTDFM8U1xTgFOwU+BUEFRMVHRUuFUIVSRVQFVcVXhVlFWwVdRWCFYkVkBWVFZ4VqxW0FcEVyBXPFdYV3RXkFesV8hX5FgAWBxYOFhUWHBYjFioWMRY4Fj8WRhZNFlQWWxZiFmkWcBZ3Fn4WhRaMFpMWmhahFqgWrxa2Fr0WxBbLFtIW2RbgFucW7hb1FvwXAxcKFxEXGBcfFyYXLRc0FzsXQhdJF1AXVxdeF2UXbBdzF3oXgReIF48XlhedF6QXqxeyF7kXwBfHF84X1RfcF+MX6hfxF/gX/xgGGA0YFBgbGCIYKRgwGDcYPhhFGEwYUxhaGGEYaBhvGHYYfRiEGIsYkhiZGKAYpxiuGLUYvBjDGMoY0RjYGN8Y5hjtGPQY+xkCGQkZEBkXGR4ZJRksGTMZOhlBGUgZTxlWGV0ZZBlrGXIZeRmAGYcZjhmVGZwZoxmqGbEZuBm/GcYZzRnUGdsZ5hntGfkaCBoUGhsaIhooGi4aNBo9GkQaSxpSGlYaWhpeGmIaZhpqGm4achp2GnoafhqCGoYaihqOGpIalhqaGp4aohqmGqoarhqyGrYauhrDGswa2hrjGu8a+RsCGwwbFhsgGyobNBs+G0gbUhtcG2YbcBt6G4QbjBuWG5sbphuvG7gbxhvTG9wb5RvvG/kcAhwLHBkcIhwuHDgcRRxPHFgcYhxsHHYcgByKHJQcnhyoHLEcvhzIHNEc3xzpHPMdAR0IHRIdIB0qHTMdPB1KHVYdYB1tHXcdgR2LHZUdnh2sHbYdvx3IHdId2R3jHe0d9x4AHgoeFB4dHiceMB45HkMeTR5XHmEeah5zHn0eix6UHqAeqh66HsQezh7YHuIe7B72HwAfCh8SHxwfJh8wHzofRB9NH1IfWx9kH24feB+CH4wflR+eH6gfsh/AH8of1B/dH+cf8R/7IAUgDyAYICEgLyA7IEUgTSBdIGcgcCB6IIQgjiCYIKIgrCC2IL4gyCDSINwg5iDwIPkhAiEQIRwhJSEuITohSCFSIVwhZSFvIXkhgiGLIZghoiGoIbAhuiHCIckh0SHZIeMh6iHwIfgh/yIHIhAiFSIaIh8iKSIuIjQiPCJCIkwiUiJYIl4iZiJ1IocilCKaIqAirCKzIrkivyLHIs4i1SLbIuMi6yLyIvsjCCMTIyIjMCM7I0cjVCNjI3MjfCOFI44jmiOnI7UjxCPQI90j5yPxI/skBSQPJBkkIyQtJDckQSRLJFUkXyRpJHMkfSSHJJEkmySlJK8kuSTDJM0k1yThJOsk9ST/JQklEyUdJSclMSU7JUUlTyVZJWMlbSV3JYEliyWVJZ8lqSWzJb0lxyXRJdsl5SXvJfkmAyYNJhcmISYrJjUmPyZJJlMmXSZnJnEmeyaFJo8mmSajJq0mtybBJssmzicuJ20nfUFtYWNyb25BYnJldmV1bmkxRUFFdW5pMUVCNnVuaTFFQjB1bmkxRUIydW5pMUVCNHVuaTAxQ0R1bmkxRUE0dW5pMUVBQ3VuaTFFQTZ1bmkxRUE4dW5pMUVBQXVuaTFFQTB1bmkxRUEyQW9nb25la0NhY3V0ZUNjYXJvbkNjaXJjdW1mbGV4Q2RvdGFjY2VudERjYXJvbkRjcm9hdHVuaTFFMEN1bmkxRTBFRWNhcm9uRW1hY3JvbkVkb3RhY2NlbnRFb2dvbmVrRWJyZXZldW5pMUVCRXVuaTFFQzZ1bmkxRUMwdW5pMUVDMnVuaTFFQzR1bmkxRUI4dW5pMUVCQXVuaTFFQkNHYnJldmVHZG90YWNjZW50dW5pMDEyMkdjYXJvbkdjaXJjdW1mbGV4dW5pMUUyMHVuaTAwNDcwMzAzSGJhcnVuaTFFMkFIY2lyY3VtZmxleHVuaTFFMjRJbWFjcm9uSWRvdGFjY2VudElvZ29uZWt1bmkwMUNGdW5pMUVDQXVuaTFFQzhJdGlsZGVKY2lyY3VtZmxleHVuaTAxMzZMYWN1dGVMY2Fyb251bmkwMTNCTGRvdHVuaTFFMzZ1bmkxRTM4dW5pMUUzQXVuaTFFM0V1bmkxRTQyTmFjdXRlTmNhcm9udW5pMDFGOHVuaTAxNDV1bmkxRTQ0dW5pMUU0NnVuaTFFNDh1bmkwMTRFT21hY3Jvbk9odW5nYXJ1bWxhdXR1bmkwMUQxdW5pMUVEMHVuaTFFRDh1bmkxRUQydW5pMUVENHVuaTFFRDZ1bmkxRUNDdW5pMUVDRU9ob3JudW5pMUVEQXVuaTFFRTJ1bmkxRURDdW5pMUVERXVuaTFFRTBSYWN1dGVSY2Fyb251bmkwMTU2dW5pMUU1QXVuaTFFNUN1bmkxRTVFU2FjdXRldW5pMDE1RXVuaTAyMThTY2lyY3VtZmxleHVuaTFFNjB1bmkxRTYydW5pMUU5RVRjYXJvbnVuaTAxNjJ1bmkwMjFBdW5pMUU2Q3VuaTFFNkVVbWFjcm9uVXJpbmdVaHVuZ2FydW1sYXV0VW9nb25la1VicmV2ZXVuaTAxRDN1bmkwMUQ3dW5pMDFEOXVuaTAxREJ1bmkwMUQ1dW5pMUVFNHVuaTFFRTZVaG9ybnVuaTFFRTh1bmkxRUYwdW5pMUVFQXVuaTFFRUN1bmkxRUVFVXRpbGRlV2FjdXRlV2NpcmN1bWZsZXhXZGllcmVzaXNXZ3JhdmVZY2lyY3VtZmxleHVuaTFFOEV1bmkxRUY0WWdyYXZldW5pMUVGNnVuaTFFRjhaYWN1dGVaZG90YWNjZW50dW5pMUU5MnVuaTAxOEZhbWFjcm9uYWJyZXZldW5pMUVBRnVuaTFFQjd1bmkxRUIxdW5pMUVCM3VuaTFFQjV1bmkwMUNFdW5pMUVBNXVuaTFFQUR1bmkxRUE3dW5pMUVBOXVuaTFFQUJ1bmkxRUExdW5pMUVBM2FvZ29uZWtjYWN1dGVjY2Fyb25jY2lyY3VtZmxleGNkb3RhY2NlbnRkY2Fyb25kY3JvYXR1bmkxRTBEdW5pMUUwRmVjYXJvbmVtYWNyb25lZG90YWNjZW50ZW9nb25la2VicmV2ZXVuaTFFQkZ1bmkxRUM3dW5pMUVDMXVuaTFFQzN1bmkxRUM1dW5pMUVCOXVuaTFFQkJ1bmkxRUJEZ2JyZXZlZ2RvdGFjY2VudHVuaTAxMjNnY2Fyb25nY2lyY3VtZmxleHVuaTFFMjF1bmkwMDY3MDMwM2hiYXJ1bmkxRTJCaGNpcmN1bWZsZXh1bmkxRTI1aW1hY3JvbmlvZ29uZWtpLnRya3VuaTAxRDB1bmkxRUNCdW5pMUVDOWl0aWxkZXVuaTAyMzdqY2lyY3VtZmxleHVuaTAxMzdrZ3JlZW5sYW5kaWNsYWN1dGVsY2Fyb251bmkwMTNDbGRvdHVuaTFFMzd1bmkxRTM5dW5pMUUzQnVuaTFFM0Z1bmkxRTQzbmFjdXRlbmNhcm9udW5pMDFGOXVuaTAxNDZ1bmkxRTQ1bmFwb3N0cm9waGV1bmkxRTQ3dW5pMUU0OXVuaTAxNEZvbWFjcm9ub2h1bmdhcnVtbGF1dHVuaTAxRDJ1bmkxRUQxdW5pMUVEOXVuaTFFRDN1bmkxRUQ1dW5pMUVEN3VuaTFFQ0R1bmkxRUNGb2hvcm51bmkxRURCdW5pMUVFM3VuaTFFRER1bmkxRURGdW5pMUVFMXJhY3V0ZXVuaTAxNTdyY2Fyb251bmkxRTVCdW5pMUU1RHVuaTFFNUZzYWN1dGV1bmkwMTVGdW5pMDIxOXNjaXJjdW1mbGV4dW5pMUU2MXVuaTFFNjNsb25nc3RjYXJvbnVuaTAxNjN1bmkwMjFCdW5pMUU5N3VuaTFFNkR1bmkxRTZGdW1hY3JvbnVyaW5ndWh1bmdhcnVtbGF1dHVvZ29uZWt1YnJldmV1bmkwMUQ0dW5pMDFEOHVuaTAxREF1bmkwMURDdW5pMDFENnVuaTFFRTV1bmkxRUU3dWhvcm51bmkxRUU5dW5pMUVGMXVuaTFFRUJ1bmkxRUVEdW5pMUVFRnV0aWxkZXdhY3V0ZXdjaXJjdW1mbGV4d2RpZXJlc2lzd2dyYXZleWNpcmN1bWZsZXh1bmkxRThGdW5pMUVGNXlncmF2ZXVuaTFFRjd1bmkxRUY5emFjdXRlemRvdGFjY2VudHVuaTFFOTN1bmkwMjU5dW5pMDI1MXVuaTAyNjFmX2lmX2xmX3RmX2ZmX2ZfaWZfZl9semVyby5zbGFzaHplcm8ubGZvbmUubGZ0d28ubGZ0aHJlZS5sZmZvdXIubGZmaXZlLmxmc2l4Lmxmc2V2ZW4ubGZlaWdodC5sZm5pbmUubGZ6ZXJvLmxmc2xhc2h6ZXJvLnRvc2ZvbmUudG9zZnR3by50b3NmdGhyZWUudG9zZmZvdXIudG9zZmZpdmUudG9zZnNpeC50b3Nmc2V2ZW4udG9zZmVpZ2h0LnRvc2ZuaW5lLnRvc2Z6ZXJvLm9zZm9uZS5vc2Z0d28ub3NmdGhyZWUub3NmZm91ci5vc2ZmaXZlLm9zZnNpeC5vc2ZzZXZlbi5vc2ZlaWdodC5vc2ZuaW5lLm9zZnplcm8uY2Fwb25lLmNhcHR3by5jYXB0aHJlZS5jYXBmb3VyLmNhcGZpdmUuY2Fwc2l4LmNhcHNldmVuLmNhcGVpZ2h0LmNhcG5pbmUuY2FwZXhjbGFtZG93bi5jYXBxdWVzdGlvbmRvd24uY2FwdW5pMDBBRHVuaTIwMTB1bmkyMDE1Z3VpbHNpbmdsbGVmdC5jYXBndWlsc2luZ2xyaWdodC5jYXBndWlsbGVtb3RsZWZ0LmNhcGd1aWxsZW1vdHJpZ2h0LmNhcGh5cGhlbi5jYXBzZnRoeXBoZW4uY2FwZW5kYXNoLmNhcGVtZGFzaC5jYXBob3Jpem9udGFsYmFyLmNhcHBhcmVubGVmdC5jYXBwYXJlbnJpZ2h0LmNhcGJyYWNrZXRsZWZ0LmNhcGJyYWNrZXRyaWdodC5jYXBicmFjZWxlZnQuY2FwYnJhY2VyaWdodC5jYXB1bmkyMTE3dW5pMjEyMGF0LmNhcHplcm8uc3Vwc29uZS5zdXBzdHdvLnN1cHN0aHJlZS5zdXBzZm91ci5zdXBzZml2ZS5zdXBzc2l4LnN1cHNzZXZlbi5zdXBzZWlnaHQuc3Vwc25pbmUuc3Vwc3BhcmVubGVmdC5zdXBzcGFyZW5yaWdodC5zdXBzYnJhY2tldGxlZnQuc3Vwc2JyYWNrZXRyaWdodC5zdXBzcGVyaW9kLnN1cHNjb21tYS5zdXBzY29sb24uc3Vwc2h5cGhlbi5zdXBzZW5kYXNoLnN1cHNlbWRhc2guc3Vwc3plcm8uc3Vic29uZS5zdWJzdHdvLnN1YnN0aHJlZS5zdWJzZm91ci5zdWJzZml2ZS5zdWJzc2l4LnN1YnNzZXZlbi5zdWJzZWlnaHQuc3Vic25pbmUuc3Vic3BhcmVubGVmdC5zdWJzcGFyZW5yaWdodC5zdWJzYnJhY2tldGxlZnQuc3Vic2JyYWNrZXRyaWdodC5zdWJzcGVyaW9kLnN1YnNjb21tYS5zdWJzemVyby5kbm9tb25lLmRub210d28uZG5vbXRocmVlLmRub21mb3VyLmRub21maXZlLmRub21zaXguZG5vbXNldmVuLmRub21laWdodC5kbm9tbmluZS5kbm9tcGFyZW5sZWZ0LmRub21wYXJlbnJpZ2h0LmRub21icmFja2V0bGVmdC5kbm9tYnJhY2tldHJpZ2h0LmRub21wZXJpb2QuZG5vbWNvbW1hLmRub216ZXJvLm51bXJvbmUubnVtcnR3by5udW1ydGhyZWUubnVtcmZvdXIubnVtcmZpdmUubnVtcnNpeC5udW1yc2V2ZW4ubnVtcmVpZ2h0Lm51bXJuaW5lLm51bXJwYXJlbmxlZnQubnVtcnBhcmVucmlnaHQubnVtcmJyYWNrZXRsZWZ0Lm51bXJicmFja2V0cmlnaHQubnVtcnBlcmlvZC5udW1yY29tbWEubnVtckEuc3Vwc0Iuc3Vwc0Muc3Vwc0Quc3Vwc0Uuc3Vwc0Yuc3Vwc0cuc3Vwc0guc3Vwc0kuc3Vwc0ouc3Vwc0suc3Vwc0wuc3Vwc00uc3Vwc04uc3Vwc08uc3Vwc1Auc3Vwc1Euc3Vwc1Iuc3Vwc1Muc3Vwc1Quc3Vwc1Uuc3Vwc1Yuc3Vwc1cuc3Vwc1guc3Vwc1kuc3Vwc1ouc3Vwc2Euc3Vwc2Iuc3Vwc2Muc3Vwc2Quc3Vwc2Uuc3Vwc2Yuc3Vwc2cuc3Vwc2guc3Vwc2kuc3Vwc2ouc3Vwc2suc3Vwc2wuc3Vwc20uc3Vwc24uc3Vwc28uc3Vwc3Auc3Vwc3Euc3Vwc3Iuc3Vwc3Muc3Vwc3Quc3Vwc3Uuc3Vwc3Yuc3Vwc3cuc3Vwc3guc3Vwc3kuc3Vwc3ouc3Vwc2VncmF2ZS5zdXBzZWFjdXRlLnN1cHN1bmkwMTkybGlyYXVuaTIwQTZwZXNldGF1bmkyMEE5ZG9uZ0V1cm91bmkyMEFFdW5pMjBCMXVuaTIwQjJ1bmkyMEI0dW5pMjBCNXVuaTIwQjl1bmkyMEJBdW5pMjBCOHVuaTIwQkR1bmkyMEJGdW5pMjIxNXNsYXNoLmZyYWN1bmkwMEEwdW5pMjAwN3NwYWNlLmZyYWN1bmkwMEEwLmZyYWN1bmkyMjE5bGVzc2VxdWFsZ3JlYXRlcmVxdWFsbm90ZXF1YWxhcHByb3hlcXVhbGluZmluaXR5dW5pMDBCNXBhcnRpYWxkaWZmaW50ZWdyYWxyYWRpY2FsdW5pMjIwNnVuaTIxMjZzdW1tYXRpb25wcm9kdWN0dW5pMjExM2VzdGltYXRlZHVuaTIxOTB1bmkyMTk2YXJyb3d1cHVuaTIxOTd1bmkyMTkydW5pMjE5OGFycm93ZG93bnVuaTIxOTl1bmkyNUEwdW5pMjVDNnVuaTI1Qzl1bmkyNzUydHJpYWd1cHVuaTI1QjN1bmkyNUI2dW5pMjVCN3RyaWFnZG51bmkyNUJEdW5pMjVDMHVuaTI1QzF1bmkyNjEwdW5pMjYxMXVuaTI3MTNtdXNpY2Fsbm90ZWxvemVuZ2V1bmkyMDMydW5pMjAzM3VuaTAyQkJ1bmkwMkJDdW5pMDJCRnVuaTAyQkV1bmkwMkM4dW5pMDJDOXVuaTAyQ0F1bmkwMkNCdW5pMDJDQ2Nhcm9uLmFsdGNvbW1hYmVsb3djbWIuYWx0dW5pMDMwMGdyYXZlY21iLmNhcHVuaTAzMDFhY3V0ZWNtYi5jYXB1bmkwMzAyY2lyY3VtZmxleGNtYi5jYXB1bmkwMzAzdGlsZGVjbWIuY2FwdW5pMDMwNG1hY3JvbmNtYi5jYXB1bmkwMzA2YnJldmVjbWIuY2FwdW5pMDMwN2RvdGFjY2VudGNtYi5jYXB1bmkwMzA4ZGllcmVzaXNjbWIuY2FwdW5pMDMwQXJpbmdjbWIuY2FwdW5pMDMwQmh1bmdhcnVtbGF1dGNtYi5jYXB1bmkwMzBDY2Fyb25jbWIuY2FwdW5pMDMyNnVuaTAzMjd1bmkwMzI4dW5pMDMyOXVuaTAzMkV1bmkwMzI0dW5pMDMyM3VuaTAzMDl1bmkwMzA5LmNhcHVuaTAzMUJ1bmkwMzMxdW5pMDMwODAzMDF1bmkwMzA4MDMwMS5jYXB1bmkwMzA4MDMwMHVuaTAzMDgwMzAwLmNhcHVuaTAzMDgwMzA0dW5pMDMwODAzMDQuY2FwdW5pMDMwODAzMEN1bmkwMzA4MDMwQy5jYXB1bmkwMzAyMDMwMXVuaTAzMDIwMzAxLmNhcHVuaTAzMDIwMzAwdW5pMDMwMjAzMDAuY2FwdW5pMDMwMjAzMDl1bmkwMzAyMDMwOS5jYXB1bmkwMzAyMDMwM3VuaTAzMDIwMzAzLmNhcHVuaTAzMDYwMzAxdW5pMDMwNjAzMDEuY2FwdW5pMDMwNjAzMDB1bmkwMzA2MDMwMC5jYXB1bmkwMzA2MDMwOXVuaTAzMDYwMzA5LmNhcHVuaTAzMDYwMzAzdW5pMDMwNjAzMDMuY2FwQWxwaGFCZXRhR2FtbWF1bmkwMzk0RXBzaWxvblpldGFFdGFUaGV0YUlvdGFLYXBwYUxhbWJkYU11TnVYaU9taWNyb25QaVJob1NpZ21hVGF1VXBzaWxvblBoaUNoaVBzaXVuaTAzQTlBbHBoYXRvbm9zRXBzaWxvbnRvbm9zRXRhdG9ub3NJb3RhdG9ub3NJb3RhZGllcmVzaXNPbWljcm9udG9ub3NVcHNpbG9udG9ub3NVcHNpbG9uZGllcmVzaXNPbWVnYXRvbm9zYWxwaGFiZXRhZ2FtbWFkZWx0YWVwc2lsb256ZXRhZXRhdGhldGFpb3Rha2FwcGFsYW1iZGF1bmkwM0JDbnV4aW9taWNyb25waXJob3NpZ21hdGF1dXBzaWxvbnBoaWNoaXBzaW9tZWdhdW5pMDNDMmFscGhhdG9ub3NlcHNpbG9udG9ub3NldGF0b25vc2lvdGF0b25vc2lvdGFkaWVyZXNpc29taWNyb250b25vc3Vwc2lsb250b25vc3Vwc2lsb25kaWVyZXNpc29tZWdhdG9ub3Npb3RhZGllcmVzaXN0b25vc3Vwc2lsb25kaWVyZXNpc3Rvbm9zdW5pMDNEN3VuaTAzRDl1bmkwM0RCdW5pMDNERHVuaTAzRTF1bmkwMzdFYW5vdGVsZWlhYW5vdGVsZWlhLmNhcHVuaTAzNzR1bmkwMzc1dG9ub3N0b25vcy5jYXBkaWVyZXNpc3Rvbm9zdW5pMDMwMS5ndW5pMDMwODAzMDEuZ3VuaTA0MTB1bmkwNDExdW5pMDQxMnVuaTA0MTN1bmkwNDE0dW5pMDQxNXVuaTA0MTZ1bmkwNDE3dW5pMDQxOHVuaTA0MTl1bmkwNDFBdW5pMDQxQnVuaTA0MUN1bmkwNDFEdW5pMDQxRXVuaTA0MUZ1bmkwNDIwdW5pMDQyMXVuaTA0MjJ1bmkwNDIzdW5pMDQyNHVuaTA0MjV1bmkwNDI2dW5pMDQyN3VuaTA0Mjh1bmkwNDI5dW5pMDQyQXVuaTA0MkJ1bmkwNDJDdW5pMDQyRHVuaTA0MkV1bmkwNDJGdW5pMDQwMHVuaTA0MDF1bmkwNDAydW5pMDQwM3VuaTA0MDR1bmkwNDA1dW5pMDQwNnVuaTA0MDd1bmkwNDA4dW5pMDQwOXVuaTA0MEF1bmkwNDBCdW5pMDQwQ3VuaTA0MER1bmkwNDBFdW5pMDQwRnVuaTA0NjJ1bmkwNDcydW5pMDQ3NHVuaTA0OTB1bmkwNDkydW5pMDQ5NnVuaTA0OTh1bmkwNDlBdW5pMDRBMHVuaTA0QTJ1bmkwNEFBdW5pMDRBRXVuaTA0QjB1bmkwNEIydW5pMDRCNnVuaTA0QkF1bmkwNEMwdW5pMDRDMXVuaTA0RDB1bmkwNEQ0dW5pMDRENnVuaTA0RDh1bmkwNEUydW5pMDRFNnVuaTA0RTh1bmkwNEVFdW5pMDRGMnVuaTA0MzB1bmkwNDMxdW5pMDQzMnVuaTA0MzN1bmkwNDM0dW5pMDQzNXVuaTA0MzZ1bmkwNDM3dW5pMDQzOHVuaTA0Mzl1bmkwNDNBdW5pMDQzQnVuaTA0M0N1bmkwNDNEdW5pMDQzRXVuaTA0M0Z1bmkwNDQwdW5pMDQ0MXVuaTA0NDJ1bmkwNDQzdW5pMDQ0NHVuaTA0NDV1bmkwNDQ2dW5pMDQ0N3VuaTA0NDh1bmkwNDQ5dW5pMDQ0QXVuaTA0NEJ1bmkwNDRDdW5pMDQ0RHVuaTA0NEV1bmkwNDRGdW5pMDQ1MHVuaTA0NTF1bmkwNDUydW5pMDQ1M3VuaTA0NTR1bmkwNDU1dW5pMDQ1NnVuaTA0NTd1bmkwNDU4dW5pMDQ1OXVuaTA0NUF1bmkwNDVCdW5pMDQ1Q3VuaTA0NUR1bmkwNDVFdW5pMDQ1RnVuaTA0NjN1bmkwNDczdW5pMDQ3NXVuaTA0OTF1bmkwNDkzdW5pMDQ5N3VuaTA0OTl1bmkwNDlCdW5pMDRBMXVuaTA0QTN1bmkwNEFCdW5pMDRBRnVuaTA0QjF1bmkwNEIzdW5pMDRCN3VuaTA0QkJ1bmkwNEMydW5pMDRDRnVuaTA0RDF1bmkwNEQ1dW5pMDREN3VuaTA0RDl1bmkwNEUzdW5pMDRFN3VuaTA0RTl1bmkwNEVGdW5pMDRGM3VuaTA0MzEuc3JidW5pMjExNmJyZXZlY21iLmN5cmJyZXZlY21iLmN5cmNhcHR1cmtpY2RzY2NtYnVuaTJFM0F1bmkyRTNCdTFGMTJGdTFGMTZBdTFGMTZCZXhjbGFtZGJsdW5pMjA0N3VuaTIwNDh1bmkyMDQ5QS5zY0Iuc2NDLnNjRC5zY0Uuc2NGLnNjRy5zY0guc2NJLnNjSi5zY0suc2NMLnNjTS5zY04uc2NPLnNjUC5zY1Euc2NSLnNjUy5zY1Quc2NVLnNjVi5zY1cuc2NYLnNjWS5zY1ouc2NBZ3JhdmUuc2NBYWN1dGUuc2NBY2lyY3VtZmxleC5zY0F0aWxkZS5zY0FkaWVyZXNpcy5zY0FtYWNyb24uc2NBYnJldmUuc2N1bmkxRUFFLnNjdW5pMUVCNi5zY3VuaTFFQjAuc2N1bmkxRUIyLnNjdW5pMUVCNC5zY3VuaTAxQ0Quc2N1bmkxRUE0LnNjdW5pMUVBQy5zY3VuaTFFQTYuc2N1bmkxRUE4LnNjdW5pMUVBQS5zY3VuaTFFQTAuc2N1bmkxRUEyLnNjQXJpbmcuc2NBb2dvbmVrLnNjQUUuc2NDY2VkaWxsYS5zY0NhY3V0ZS5zY0NjYXJvbi5zY0NjaXJjdW1mbGV4LnNjQ2RvdGFjY2VudC5zY0RjYXJvbi5zY0Rjcm9hdC5zY3VuaTFFMEMuc2N1bmkxRTBFLnNjRWdyYXZlLnNjRWFjdXRlLnNjRWNpcmN1bWZsZXguc2NFY2Fyb24uc2NFZGllcmVzaXMuc2NFbWFjcm9uLnNjRWRvdGFjY2VudC5zY0VvZ29uZWsuc2NFYnJldmUuc2N1bmkxRUJFLnNjdW5pMUVDNi5zY3VuaTFFQzAuc2N1bmkxRUMyLnNjdW5pMUVDNC5zY3VuaTFFQjguc2N1bmkxRUJBLnNjdW5pMUVCQy5zY0dicmV2ZS5zY0dkb3RhY2NlbnQuc2N1bmkwMTIyLnNjR2Nhcm9uLnNjR2NpcmN1bWZsZXguc2N1bmkxRTlFLnNjdW5pMUUyMC5zY3VuaTAwNDcwMzAzLnNjSGJhci5zY3VuaTFFMkEuc2NIY2lyY3VtZmxleC5zY3VuaTFFMjQuc2NJZ3JhdmUuc2NJYWN1dGUuc2NJY2lyY3VtZmxleC5zY0lkaWVyZXNpcy5zY0ltYWNyb24uc2NJZG90YWNjZW50LnNjSW9nb25lay5zY3VuaTAxQ0Yuc2N1bmkxRUNBLnNjdW5pMUVDOC5zY0l0aWxkZS5zY0pjaXJjdW1mbGV4LnNjdW5pMDEzNi5zY0xhY3V0ZS5zY0xjYXJvbi5zY3VuaTAxM0Iuc2NMZG90LnNjdW5pMUUzNi5zY3VuaTFFMzguc2N1bmkxRTNBLnNjTHNsYXNoLnNjdW5pMUUzRS5zY3VuaTFFNDIuc2NOYWN1dGUuc2N1bmkwMUY4LnNjTmNhcm9uLnNjTnRpbGRlLnNjdW5pMDE0NS5zY3VuaTFFNDQuc2N1bmkxRTQ2LnNjdW5pMUU0OC5zY09ncmF2ZS5zY09hY3V0ZS5zY3VuaTAxNEUuc2NPY2lyY3VtZmxleC5zY090aWxkZS5zY09kaWVyZXNpcy5zY09tYWNyb24uc2NPaHVuZ2FydW1sYXV0LnNjdW5pMDFEMS5zY3VuaTFFRDAuc2N1bmkxRUQ4LnNjdW5pMUVEMi5zY3VuaTFFRDQuc2N1bmkxRUQ2LnNjdW5pMUVDQy5zY3VuaTFFQ0Uuc2NPaG9ybi5zY3VuaTFFREEuc2N1bmkxRUUyLnNjdW5pMUVEQy5zY3VuaTFFREUuc2N1bmkxRUUwLnNjT3NsYXNoLnNjT0Uuc2NSYWN1dGUuc2NSY2Fyb24uc2N1bmkwMTU2LnNjdW5pMUU1QS5zY3VuaTFFNUMuc2N1bmkxRTVFLnNjU2FjdXRlLnNjU2Nhcm9uLnNjdW5pMDE1RS5zY3VuaTAyMTguc2NTY2lyY3VtZmxleC5zY3VuaTFFNjAuc2N1bmkxRTYyLnNjVGNhcm9uLnNjdW5pMDE2Mi5zY3VuaTAyMUEuc2N1bmkxRTk3LnNjdW5pMUU2Qy5zY3VuaTFFNkUuc2NVZ3JhdmUuc2NVYWN1dGUuc2NVY2lyY3VtZmxleC5zY1VkaWVyZXNpcy5zY1VtYWNyb24uc2NVcmluZy5zY1VodW5nYXJ1bWxhdXQuc2NVb2dvbmVrLnNjVWJyZXZlLnNjdW5pMDFEMy5zY3VuaTAxRDcuc2N1bmkwMUQ5LnNjdW5pMDFEQi5zY3VuaTAxRDUuc2N1bmkxRUU0LnNjdW5pMUVFNi5zY1Vob3JuLnNjdW5pMUVFOC5zY3VuaTFFRjAuc2N1bmkxRUVBLnNjdW5pMUVFQy5zY3VuaTFFRUUuc2NVdGlsZGUuc2NXYWN1dGUuc2NXY2lyY3VtZmxleC5zY1dkaWVyZXNpcy5zY1dncmF2ZS5zY1lhY3V0ZS5zY1lkaWVyZXNpcy5zY1ljaXJjdW1mbGV4LnNjdW5pMUU4RS5zY3VuaTFFRjQuc2NZZ3JhdmUuc2N1bmkxRUY2LnNjdW5pMUVGOC5zY1phY3V0ZS5zY1pjYXJvbi5zY1pkb3RhY2NlbnQuc2N1bmkxRTkyLnNjRXRoLnNjVGhvcm4uc2N1bmkwMThGLnNjQWxwaGEuc2NCZXRhLnNjR2FtbWEuc2NEZWx0YS5zY0Vwc2lsb24uc2NaZXRhLnNjRXRhLnNjVGhldGEuc2NJb3RhLnNjS2FwcGEuc2NMYW1iZGEuc2NNdS5zY051LnNjWGkuc2NPbWljcm9uLnNjUGkuc2NSaG8uc2NTaWdtYS5zY1RhdS5zY1Vwc2lsb24uc2NQaGkuc2NDaGkuc2NQc2kuc2NPbWVnYS5zY0lvdGFkaWVyZXNpcy5zY1Vwc2lsb25kaWVyZXNpcy5zY2dlcm1hbmRibHMuc2NmX2kuc2NmX2wuc2NhbXBlcnNhbmQuc2N6ZXJvLnNjb25lLnNjdHdvLnNjdGhyZWUuc2Nmb3VyLnNjZml2ZS5zY3NpeC5zY3NldmVuLnNjZWlnaHQuc2NuaW5lLnNjZXhjbGFtLnNjZXhjbGFtZG93bi5zY3F1ZXN0aW9uLnNjcXVlc3Rpb25kb3duLnNjcXVvdGVzaW5nbGUuc2NxdW90ZWRibC5zY3F1b3RlbGVmdC5zY3F1b3RlcmlnaHQuc2NxdW90ZWRibGxlZnQuc2NxdW90ZWRibHJpZ2h0LnNjaHlwaGVuLnNjZW5kYXNoLnNjZW1kYXNoLnNjcGFyZW5sZWZ0LnNjcGFyZW5yaWdodC5zY2JyYWNrZXRsZWZ0LnNjYnJhY2tldHJpZ2h0LnNjYnJhY2VsZWZ0LnNjYnJhY2VyaWdodC5zY3VuaTA0MTAuc2N1bmkwNDExLnNjdW5pMDQxMi5zY3VuaTA0MTMuc2N1bmkwNDE0LnNjdW5pMDQxNS5zY3VuaTA0MTYuc2N1bmkwNDE3LnNjdW5pMDQxOC5zY3VuaTA0MTkuc2N1bmkwNDFBLnNjdW5pMDQxQi5zY3VuaTA0MUMuc2N1bmkwNDFELnNjdW5pMDQxRS5zY3VuaTA0MUYuc2N1bmkwNDIwLnNjdW5pMDQyMS5zY3VuaTA0MjIuc2N1bmkwNDIzLnNjdW5pMDQyNC5zY3VuaTA0MjUuc2N1bmkwNDI2LnNjdW5pMDQyNy5zY3VuaTA0Mjguc2N1bmkwNDI5LnNjdW5pMDQyQS5zY3VuaTA0MkIuc2N1bmkwNDJDLnNjdW5pMDQyRC5zY3VuaTA0MkUuc2N1bmkwNDJGLnNjdW5pMDQwMC5zY3VuaTA0MDEuc2N1bmkwNDAyLnNjdW5pMDQwMy5zY3VuaTA0MDQuc2N1bmkwNDA1LnNjdW5pMDQwNi5zY3VuaTA0MDcuc2N1bmkwNDA4LnNjdW5pMDQwOS5zY3VuaTA0MEEuc2N1bmkwNDBCLnNjdW5pMDQwQy5zY3VuaTA0MEQuc2N1bmkwNDBFLnNjdW5pMDQwRi5zY3VuaTA0NjIuc2N1bmkwNDcyLnNjdW5pMDQ3NC5zY3VuaTA0OTAuc2N1bmkwNDkyLnNjdW5pMDQ5Ni5zY3VuaTA0OTguc2N1bmkwNDlBLnNjdW5pMDRBMC5zY3VuaTA0QTIuc2N1bmkwNEFBLnNjdW5pMDRBRS5zY3VuaTA0QjAuc2N1bmkwNEIyLnNjdW5pMDRCNi5zY3VuaTA0QkEuc2N1bmkwNEMwLnNjdW5pMDRDMS5zY3VuaTA0RDAuc2N1bmkwNEQ0LnNjdW5pMDRENi5zY3VuaTA0RDguc2N1bmkwNEUyLnNjdW5pMDRFNi5zY3VuaTA0RTguc2N1bmkwNEVFLnNjdW5pMDRGMi5zYzEuMFNvdXJjZSBpcyBhIHRyYWRlbWFyayBvZiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZCBpbiB0aGUgVW5pdGVkIFN0YXRlcyBhbmQvb3Igb3RoZXIgY291bnRyaWVzLkNvcHlyaWdodCAyMDE0IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgUmlnaHRzIFJlc2VydmVkLlNvdXJjZSBTZXJpZiBQcm8CEwIAAQBSAI8A1wDpAQsBQgF7AdgB+AIcAoMCowLCAx8DKAMuAzkDUANXA1sDqAO0A8wD5wPxBCIEJwR7BL8ExwTNBOEE8QT+BR8FSAVMBbwGJAY4BoEGhQadBqEGvgbFBtcHQAevB7kHzwfmCE0IUQhdCIcIowixCLcIvQjaCPAJJwmPCacJ1QnnCf0KEAoUChoKagqiCqgK9gsQCzkLaQuMC6cLrgvSC+wL9AwDDEwMkAyUDKAMwAzDDQENFg0cDSANQg1VDV4NYw2TDZgNow3qDgcODw6VDq8PAw8HD5gPpQ+/EGgQbBB0EHkQjhCXEOoRDREdEbkR2xHvEk8SaBJ5Eo0SkxK6EwYTmBO4E8AULRRLFHoU0hUVFVoVcRWhFcYVyxXpFe8WKRY7FloWmBaiFrcWuxbSFuYXWRdpF70XxxgnGC8YURhoGJkYnRjCGPkZFRkgGUAZRBl5GX8Z4RoFGhkaJRosGm4ahRqnGroavhrDGtMa2RrgGuYbQRtRG2MbvBvbG/Ab9Bv7HAscFhweHEscVxxkHG0cdxyAHJwcoBy3HMoc0BzVHNoc3xzoHO8dKh1yHXgdkx2aHZ8dph2rHbEdwh3IHc4d1B30HfoeAx4MHh8eLx44Hj8ebh6IHpAelR64HvQfBh8kHzAfNx9MH1Efix/FH9kf4B/lIAggGSAhIEIgRSBKIE8gfiCRIKQgtyDCINIg5iD2IP4hBiENIT0hQSFHIU4hYSFoIXEhdyF+Ia4hvSHMIdEh/iILIjkiUiJXImkieiJ/IokikCKVIsEizCLXIt0i5iL3IvwjBCMJIzAjNiM/I0QjTSNXI2EjZyNsI5EjmCOfI8Uj2iPoJAgkFSQcJCQkKSQsJE4kYSRvJH0khySQJJkkoiSoJLkk2STcJO4k9CT/JQclDyUXJR8lJSUtJTElPCVJJVAlViVdJWIlaiWIJZkloiWsJbIlzyXVJdsl6yXvJfcmAyYJJhEmGCYfJiQmKSZEJl8meiZ/JpkmrSaxJrYmvCbBJtom7icHJwsnFCcfJyYnLSdDJ0knUydeJ2UnbSd1J3ongCeGJ5cnniezJ8QnySfVJ+An7Sf3J/0oAygIKA8oJCgwKEUoTChRKGUobCiAKIwomCikKKsosSi3KMEo1CjnKPopAykMKRIpGSkfKSQpMSk4KUopXCluKYApiymWKZ0poympKbopxCnJKdAp4CnwKgAqCioQKhkqIionKi8qNio9KkQqSypRKlcqXSpjKmgqdSqEKokqmCqdKqIqqCqsKroqyCrUKtoq4irrKvIq+ysBKwcrDSsSKx8rJys0KzkrRitLK1IrWStgK2crbit1K3orfyuLK5croiuuK7UrwSvGK80r1CvcK+Qr6SvuK/Qr+iwALAYsCywWLCEsLCw3LEIsTSxULF8saPdeTBWup5iyox93oQV+gICCeht1fZu2H/dpB/cSWbsiJUFbP3gecY6bfKcbppucqpQfnswFkKCdjJobzadzKh9yB2OCYX5sgAj7G1psXlIaC/c696cV9wi49w73CvcLt/sO+wj7CF/7D/sL+wpe9w/3CB73N/e0Ffsa+x0i+0v7VPccK/cb9xr3G/T3Swtgi7hevFr3LfW45/ctWrxNHRNXQH0dE5dAPh0TV0Bj+F4HEzdAkPctBRM3IFMGE1dAKR0TV4D3WAYTW4CeIwXDBhNXgIVICguxqKWxsG6mZWVucGZlqHGxHwsVnXK1obWitaIZsaCXm50an3qZdnp6gW9vHmttbGxsaggL96f4fBX7ESIl+y37LeMu9xvmy7jSsB9zngVhZ2RvSxsrS8z3D4kf99MGj5iOn6Ia9w050iMeC/emfhX3CPcG3vc59zr7B+L7B/sI+wU0+zr7OfcEOPcJH7gENFzQ9xr3G7rT4uG8Q/sb+xpaRjUfC2hykphxH3vpBU4GhfsMBXO1zHjMG/cP4sju2ly++wSzH2iXBU2haae6GsO9qsqloIaAnx6dMgXHBpH3AgWlZlqeUBv7CDZLLDDLW+VrH6x9Bc92rXdYGlNZaDseC3X7FAX7kwaJ3ovg7xr3KAaYLQW594BdBn0sBfsnvgoLeCMF+2oGic6Lz9Ya9xAGlj8Ft/dbXwZ/PQX7DwbHi9CNzh4L4AP3fK4VYG2TnGwfd/cKBU0GhfsgBW251XTWG/cf7dP3CupYxfsXvh9jmgVDp2KwyRrVxrLXqqSFfaUeoPsFBcgGkfcXBatgVZ9IG/sUKkX7ByXQUPJjH7J7BeBqsW5LGj5OXy0eCxVtq2yqaqoIp296lXobdnp9d3mXerF2H7R1tXS2dQgL92rAFV1poMCplrHirR+gk6+XrpUI+y4HY1J4f2kbC/dcfhX3Fc3O18pluiew98QKR6RznLcatKumyKOihYChHps7Bb8Gj/EFpWBgmlUb+wRNR0JHu2PUcB+5egXKdal1YBpeZ2w/bHGQlnMeeOIFVAaP+wIFcry3fsMbC8od90b3IFEdC9qBBUQdC///1IAA/wArgAAL+4X3ih0TmH0dE1g+HROYQR0HE6g6HQs0CvhgTAoL5zsKC7H7f2UH5YMFW4xaWhp4B4NwcodtG/sXPN73Lvcv4t73B6urhHupH5s1BccGiPcPBaRaVJZEG/tJ+wz7Efs3+zj3DfsQ90PVyKCmxh8LL9cd9/EdtPuvLQoLs2P/ACuAAP//1IAA/wAsgAD/AH6AALkLeqGie7AbyKm+2Jj3iApafHdsahttdqefch8LFVYd9xVBnqQFC1MK9/4d93/3LVi+E8VHHROVYgc1ChOl9+sH4pYFE8a0+4QHE45iBxONcAoTxfcTCgtkBy8dC/cOi6MK96TmE659HRNuPh0TrmP3j/gNHc7WGvekBkeLRIlH9/4KY/eQBxN2swc89yAKzh7alQUTrvdfHUmLSkUa+6QGyvgvCtiUBbL7jwcTtjodC2KL9ywK930dE8j4NxazBzKVBYq+i8bAGhOc9yX3sdmXBRPMsvtcBxOcZAfVgPsL+4AFE8j7B/eB25UFsvuTBxOofB0LJQr//9GAAAtJCjyBBQvH91AK7goTrDEKE5xKHRPM9wYKC/H7CgXVBvH3CnOg+wc2BQ73NArQgh3ZlAWy+5ALx4tOCvgud/gDHft5+RwTdJAWE3hDChO0tAeHChN4xAoLpIajgqEemnt5kHcbZ3R4Y3KUdKlxH6hxdVZvb1tkGZ5wBda7ytviGguNZR0L94z/AfiAAPccCmSyEp/5xvtZ91kTiPjYhRW1BhMU9yb4jdGWBROEsvtZBxMUZAfYfyD77gUTiPsR9+/ilgWy+4hkB+KA+xX77AUTSCb37QUTGNqVBROIsvuJBxMYZAcTKNOC9zH8jwWzBvch+CoFC/MKEpr6Pvt393cTxPklhBW2BhOK9z35A9+XBRPCtPt3BxOKYgfmfvsU/GIFE8T7KPhj8JcFtPukYgfwf/st/F4FE6T7D/hfBROM55YFE8S0+6QHE4xiBxOU3oH3SP0FBbYG9zf4mgUL9273rRXaB+KL4I3fHvGX95sKBwsD96n4ThWcnYmFnh+dSQVvkpl3rRukm5elkB/VfkHDMRv7DPsDLfsy+y7jLPcd6cu43qcfcpgFWmxZcFIbLUnP9xL3FMnP4B8LNIQdC/efB9eWBbL7Z2QH4n4F+4gH+yVYWS0eC4tNCguZChPI9xAdE8y0+3kHE5ztChPI95UdE6hiB4AdC4wK9xtQCgu5qf8AS4AA///IgAD/AEuAAAv3KRUg4VT3DfcH5NHw41q/KLweE9jmwKbFuhrlSMsiIzhNIkauUN9cHhPkL11aWUMaE9jw+AEVyLyyxMqvWE9UdmZPXR4ovXK6vxoT5PcA/HcVQVfA0s2rscqyH/cEV7BmURpIXFZEHg6k6Qr3qLn/AP2AALoK93XpSe/4KAoTrkkdE21i96cH91TW5+bcU8z7GZ4fE273A6K3y9Ia6jzP+x8e+7b3iwr3OvecFfG/ajAwV2T7DR9XBtqL5I3hHsD7wBUTbfcex1wuM01b+xQfTvfKHeH0Gg669xP3RVn3lB0L5B0T2LYKE+RWc25qXRoT2J0dE+SPHfgUHfg3HfeMrwc7mQWKwIrBwBr4DwcLfJX7IGkdWwdeikqKWR5B9zYdeQr3Jge1vLGduRvGom0wHzYH+BIdWh5BfQVn93x3CugHnYqcipoeub60nLUbxaVxLh80B/gSHVoeQX0FZ/d8dwryB/cQXL46S0lsTFcezXtkp0wbC35aCgtpBvsX+weecvcV1Quw91AKyMkTzPc7Hfd/B86Vw7fZGpaHmYOdHpd+fouBGxOemh0TzPcGCgt/n6CBrRvDqa7BlB9zlgVuf3d6bRtwdpeXdR8L92KzBjeYtvcKBfddBgsS9x5mCguLRolIHgs5CvejxxXIrAWzoJGYmxqcfph4fXqDdHoeW08FC7yEon1sGm94emR55R2ghqgb1LKtuQv1yNPdH5yDf5Z1G3J0eVxzjHyNfB98dmqEcRtxapKadh+Nmoyaoxq6dJ1ydX+AeoMeOchD9R4OgIu492u591r3RB33UedG7Pd5CveHBxPq90HM29PKXL/7CZ0fE+ztn7G+xBrbQ8P7DB77mQb3Kx0T7Pcs92YV3bl4PEBhciMfYAbG95oKtfuIFRPq9wm+aEFHV2X7BR9eBonPi9HYGg73ePddCjSBBWP3obMHNLMK0I3PHvcQBgur+xQFXpamfcQbpqCPkZ0fswdLk2r3AHbSaapXlhnunLvHxhrmO8D7HR77iwYLsaimsLFupWVlbnFlZqhwsR8OFaKh+xj3RAVpBvsY+0SidfcS9wYFC/cLHffevBPYnx0TuLMdE9iUHQtGkgoL0vjKXwoLfhX3COPT9yP3DEHW+wEfE9hXV3RgYR+Z9y/l6fdVuoWrGBPo+41v+xr7OPtYGvtI3SP3Gx6NuBU7Wtv3QR+QB62xupe0G9C6XyIjX1hGHw58CveuBxOn+B4d3Yvf8Rr31wYTc/cbHRNn55b3vx06izkzGvvXBhNr26AKE2fmlfe/HTWLNTUaC1UKbVQaCxXezLvf4U20OB8T7Hh3iYd3H5HdBfdM0ftqBn37TZ1/BY+eoI6fG8ipa1RQaWdbHxP0fn6Nj30fhK4FsIOAl3kbeH2AdYYfWJO3ZNgbDvgDHft5+RwTepAWE3xDChO6tAeHChN8xAoLcpBzlHUefJudhp8br6Kes6SCom2lH26locCnp7uyGXimBUBbTDs0Ggvl3rK3xRrAab40RExqR4YefJOYgpsbnZeWspQflbIFjJSUjJMbuqdwWFhuXFBSHwv3i/tVFTxZpcyslqanqR+KmJmKmRv3CQbTp2lfU1Be+wEfC/eT9+gdNYk2HiWABWL3wrQHJdcd46AK9y0GCzodZAc+HQtSi/c+HfcS+AodE6xgHRPMnyUFwwYTvPdrHRPc95odE7z3bR0VxZKur74axWKu92AKx4GigW8adHx6ZYMeDueABY01rx0Ldn7SScVmdqh2+DTMi3cLFfeYx/P3PPdTGvczPvD7F/sSNDn7EfsO4kH2v7ibra4eePsfPDH7SVAItfhPFfDCv8vVvEX7NoKLg4qCHnBsaX5fG0FRtvEfDvf0Hf8BqIAA91rWHfdp/wBQgAATrLcW97C0Bi73NgrgGr0H46AK92cGE8ym+ygFxAYTrIT3WgX8cwYTnC0KWQc1hB0LujgKCxL/AF6AAP8AUoAAC/sXBlyAnKaik56coR+EoaSHphvz2Mb0r4OqfKMf7QYLYx0OTou49zu594r35h0T7PdRHcGLv8Matgb3TMzb5+s/0PsqH/uCBvcrHeYWE+zS95oKugbwuV5AQGRYKh9PBg5kB8+D9yz7twVWi1GKWR40gQVjBwv3HPeTFQu3cwoLeQr3IQe5vrSevBvGom4vHzYH+BIdWR5CfgVn93x3CugHC9qC90X7/AU+i0eJTR4lgAViBwuZBYq9is23GguRCs8eC/c9HfdB9zBYvhOpshYTpfeGtAYTqfeGHRNZ6goTqrT7hQcTmmIHE5n3hwoTqaQKC4s00R0LOMhh1MaspcHCHgvnA7IW93S0BjmYBffPB46I8YjfHvd5/MIFvQb3bfjCBfuN+C0dN4AFYvekth37WQf7aPy6+3T4ugX7TWIG5YAF/McHMX4FC3D7BQX7UQaJzovNwRrFB9CL0I3QHtmUBbL7kAcLFfeayvuaBg56gcJeNAr3Xbj3O/VQfh0TNcIW948GE1X4DR3LzxqtBsOsfmiVHxOZuPspBV+Xq3zFG6axj5GcH7MHMpVg9w93x2WnSpYZqpyhqKbCnLGXppiiCImYmoqaG7qgqaSkeaNrjR9Xg2RwVvsbCC5kc4FOG3UGEzPRi9KN0B7YlAUTNbL7j3AdCxKQ92L7YvjNEzqQFhOcWR0TOoAKE1r3BAoL+3r7N+7/Aq6AACUKAfcy4wO6+QgV8YAFj/xUkCVPGlGBZ25vHnKfBaFudpRyG2tzfmaFH2WVsoCxG9/fvO+fH5a+jsD3Bhr3MAfii+H4KR37uQcLoB3RC/dGfsxKzfdP98QdErjk907kNuA24veG3hN8gPca9xUVqZat4q0eoJOtl62VCIqDi4ODGl2SY5lqHllIdYBlG2Bmo78fE7qA+Cz7IhXny7jSrx90ngVhZ2Nv9/EK99T3zgohTlNtW2AewnRZok0bJUFZP3gf998KnYybG8ipcyofcQdjgWF+bIAI+xtabGJSGgv//9KAAP8ALYAAYrQLx/u6FWJrpbarmqusoR/VaqF1ahpocmtdHg4VXHWry9Kkwam0H7aqspyqG6CfgnOfH177gQVjXW9/bhvu+IsV9y73CSf7QR8T3/tBQEZGX3envpUexPexeJtccwWddXaSchtVVmxWXx9dVWZANxoTvy7AZcK/t627tR4T31yTsGjFG+f3FOD3V/dS+w73Gvtf+477UvtY+4r7g/c2+w33XcbTmKnFH36pBXZfWYFOG/tA+yr1928fE7/3Yfcr91D3cR4OSR1iC+4d918WQx0OZweCCgv7xvgPBfsgZAbHgpOBBfxMB0GABQuvB0WZBYq9igv7iPse6vi4twH3KuADwviSFeKBBY77+5AkUhpzinN1ch5yoAWfcXiTdBtudX9ohR9llLCBrRvT1anTnh+WvY2+8hr3FAfQi9CNzR7alQWy+5kHC1/e+4AHZIp2cho9t2fRvrSeraUec6UFeXJ3gnUbaXahvh8LfJX7IGkdWwde94EdQ34FC/uR+DS6XrKad/eeqhKn0fcKzxNU97D4fBX3IwfgaaxAP1doWIEeeI6XgJ8bn5uZqZAflbEFjZeVjJQbuZt6Th95B3KEcIR3hQgTnC1tdWtiGlaybb61op6urh4TVGuRoXewG6aflaqaHxM0fJgFE1SBgoSGgRt9hZWgHxOc+06jFaSWor6eHpiQoJGhkQgnB3Nof4J3G3Fyma4fDnR9d3wfcaJ4dRpndn1jgx7C+xtkB+J+BfuIB/slWFktHgv/ADeAAP//0oAA9R3/AQuAAI4KC2KL9ywK4PcCEvcS9weH56D3B/sF91wTwgD4NxazBzKVBYq+i8bAGhOSgPcl97HZlwUTwoCy+1wHE5KAZAfVgPsL+4AFE8IA+wf3gduVBbL7kwcTogB8HRPNAK75DiMKDtf3eBWwp56tsZ90Ym+Cc21yHkqoe6imGgsVo4EFqJefnKkbpqF/f6AfC70W92mzBjCYBfgOB/fv/EkFqwYL99wd0IsL9xX3ih33rOcTbPcxChOc1R0TrPc9ChOc0PgvCtiUBRNssvuPcB0LTvcuYq1VlAhoiXdxcRpxoG28mZqMjZkenG6baqBarD+nZrN3OXloYHVMVPs0GCSBBWIHhZ60h6kbzKyavJkfwfdFBcScs6HLG68GC2h+0EbY+DJ3qXcS/wBcgAD/AEWAAP//uoAA/wBYgAD3ZdFKzBNW2vtIFZeB3p1y94AFWKa5cbIbE1XCua3crB9CkJxhwRsTVrOnoqmbHxOmgqQFhn97h34baoGcyokfidCU1Jv3XIGVGBNaNXiR+78FNWlmd1gbZWKbzm0fE2aN15PklPc6gJUYE1Y2eJr8AwUO+zn3BDj3CR64BDRc0Pca9xu60+LhvEP7G/saWkY1HwuuFtod9xgHC4z3kgpkshL3HOP3I/d5+2n3XhNsvQr3j7MHOpUFiruLu7ga2+UFE6z3Fvt8SIIFE2xj93kHE6yzB0iU+z73uwUTWvcc9y3lmAUTarL7XgcTWmQHwX77afuHBbMHE2zQi9CMzx7clQWy+4/3WgoV2EmjoVrjBad7e5d7G3p5f3R/kHuldh/H+zk5Cg4gi7xa9yv3i/frChKj+FUTWPgx9ysVE5j3EgoTqIT7KwXGBhOY9xIdE1iS9ysFC/e+i7Ri9B33Fb/4fucTnLIW93S0BjmYBffPB46I8YjfHvd5/MIFvQb3bfjCBfuNBxNc9/kKE5w3gAUTXPgyHROctAcTbC/XHeKL4o3fHhOc98gKE6z4JwpaHRNVwPce98oVE5XASR0TVdBi+JoHEzXQkvdGBVIGE1XQKB0TVeD3fwYTWeCh+xMFxAYTVeCE90UF/IYGE1PALQoLFci4rMGjH3qYBWxzcHpeG05hr9eIH/dtBo2VjZiYGttUwT81QkcnIslO6x4T7Ir3vxWyq3RfdIN+ah/7CQbak7ajrxsOQWdzaGAaRMlZ9yX3ON7h4txYu/sCHgv3U34Vr6iiqZsfg6QFhn18h30bbHyby4kfis+T1Zr3W4GVGDR5jvvsBSuMpmHJGwu8uq7Ex1ysWlpcaFFQumq8H64EaXmop6iepqytnXBub3huah8LizWwCgtrd3hfZJwlkGoflkQFsAaW0gWQrJzxshq3eJ5rHgtVCmxUGgv4Bh33pLr3pR337woTbvgW99MVuvstB93THYnfi+LwGvtR+9MV96gG4AoTtvfNCi1c6QYtizP3FAoO+IwH1JcFsvtoZAflfwX73AcLtxb3rrQGLZYFtQf34fgsBftBByT3Bh33rrQHL9cdC1odE1Vg9x73yhUTlWBJHRNVaGL4mgcTNWiS90YFUgYTVWgoHRNVcPd/BhNZcKH7EwXEBhNVcIT3RQX8hgYLtAcv1x338R20CxVmB9iRBfu7BzF7BW73jagHM5sFC4s0Cgv3OPdmFeCxakhNYl8tH04G0YvOjdAeC51+vvdJtf//14AA/wAogAD3kL0L+05+yfc+yfc+sBKz40jZE/Cz9wkVN9xd7t7OsMGzHnejBWZXYntQG0Zirr23qbT3EZCVi4mYH80HioF6ioAbE+gtY7K/vbSluY4fs20Fc6uegqEbqJ2jpB+vcliaSBv7CktUQlayXd56HxPwMXxWXUkaC2cHzPdUHftQ9xMdzZkFrwvCi7j3arj3XPg4ChPs9/j3lxW4+xUHyNMKic+L0Nga+0D7lxX3iQb3O/cZ5/dK90f7Cev7OB/7nAYT3GQH2oEFjUuLS0caO17bBkOLRYlIHjyBBQ4W91UKy4vQ2RoLVfg000XPEvcC0UX30x3/AN+AANETmOkWlYHdlYb30QXAqMS5vxvFsGo8iR+B+7l++1OVgd2dg/h5BfcXiVq3PBsTqFRDXkJnHxNo24Zyr1YbE1hpd3pydx/3kx37UQULFffCyvvCBg6Li+Md9y/p9y/XE6xvHRPM95kdE7z3fh0T3PetChO86x0OFfcYxvcYUJuk+xfq97YKLAV89xaeHQunfPcE+KK5jh0Smfj1+3D3cBMYmfkIFROozgoTFPczHRNI+y/3+QUTGOKVBbT7lwcLiz0dC2Z3qqqqoKmvsJ9tbGx2bGcfYwTBvrHLzFivVVVYZE1KvmbBHw6uY2mfYRtBY1ovhR++gwXRlKWgpxumo4BtrB9osq53tBvVtLznkB9ZkwVFgnB2bxtxcpapax8L9yQK9xb3wR0TuO8dE9T3FwoFE7TdHUB9BWcHDm8K96+0By+WBYkL90sdEp/3ffcD91YTGJ/4khUTqM4dExz3MgoTSPeVCgvQClkLecFsrUWaGayco6ikwJywl6eZoQiKlpiKlxu6n6mkpHija40fXIFnclX7Gwg0Z2t9Txt8BgvlCvezHQs9i6/4JLISlfdc+1X3c9f3TxPo92avFUCY9wL3I+37I0R+BWf3iK8HP5n7H/db9yP3RMaWBbL7T2QHzX4FE9gg+x0r9x/IlgWy+3NkB9CA9xr7WAUT6Psm+0lLfwVn91wHDseD9078DX5xf3Z+eRmkcnmUcxtueoF5fh9Nqnqxy6myq6AeCzX7g7n3R9hddvc4s/drrYm0gXcL5/uNFd3D1vdFzh8LiTceL4AFCx77ggaJ4Yvi4Rq8B+KgChNP3ZUFtPuaYgcTV9z36h37gfdzHeGL4o3hHhNP3ZUFtPunYgcTp+n3Pgo1iTUeLYAFDovkjeEe4wb3JeEm+1D7SjUi+y4fPAYLFTVzP0InHqB4BejYu+n3Ahr3AlvpLtoedncF1CejPzQaDjSLQ4lG9z8diveqHYzPHtmUBQvPCuoL8R28Bwvnts/3XgpqTxtPZ6y5eh8Lt/dhfh0L93yvBnkKCyx+9xgKCzZ+uPdQtfc1zAG63veR5AP3jn4V9wrz8fcu9y425vsdMExaSGcfo3gFtK68qMIb4cdPJpcf+9sGh36Id3Qa+yPdP/cNHom4FUhYytStlZ28H/dWBvscQ1dMHg58lfsuTgVoB9v3ex33TQoL9zUdE873Ox0TnkodE873BgoLFRPgN5Zoqr3Btc7eGhPQ2lK1LB5eYwamiAXQg6d7URoT4D91QmMaS6dezH0eSn1vXksaE9BjoUI/GlFve0aDHnCIBWO4B+rEtdof3mHOwRoT4L2uqt+WHg4i+CJRBvu9/CwFVvek+1Xe91UHOMoV+2cG92f3uQUOFXNw9yr7Q/sq+0SjcPdh90QFwAcLjgoSC/eiChKj1wsVS8Np2d3Et9G9ba1TqB4LfYyNex6EbAWHmAu69xP3RVm9C7KcoKiew5GgkpuSmQiJmpiKnhu3np6ppH+dbJMfS4ZpZG0zCD5xdHVcG2MGC8Qdvv8CO4AA9ysKC513d5tqG1RuWD2AHw6f8QX3EPeYCguh9xQF9y34KwoLEv8AHYAA0QoL1ZrAxxriea1OZG16cnj4Lx2XmI2XG66PeF0fCxVDHQv3LfjqFbCpprCybaRmZW5yZGaocLEfCxVrpnSqq6Siq6tyomtscHRrHgv3NgrhGgt+91YdCzwK+CgL90IKEgslCv8BB4AAuAvM91D3xB0L+BQdV4pUilYeO30FZ/eMrwc7mQWKtoq3thrNz/cu+4wF9xyvBkmX+zj3mfcC+DkK1Hn7P/tGBffxBwsW+C7d+9QGsKevp6eiCPch9wa4stca4FTM+wwpK1ohgB53lp1+oRuom6C7mB+dzgWPoJ+NnBvIt2dETGRbMj8fVl1XX1VeCA73ah00iQsVsYWUo5OjlKIZptqj0LAaqHeibXp7h4B7HgvHyqfNwR8L+1/3FAuLMvcUCmIL8vc6Cgt9Bfc3Cgum9xQF960G/A/82wVn+IsHC/c/CmIHC9SL994KC/8AI4AAC/Ad9zK8FevGBaSbl56cGqF6mXd6eoFzeR5IMgXkQugKxgrRmQUL94IK90AW93kd9yAdE5z3NQoLFa+nqa6ub6lnZ25taGioba8fC6PxBfd4BvvT/GcFavhOBwsGir2K0LvGCguBlfslfQUL99CLuV3KHfdG0rmiuvcT90VTw1e/Wb1itPgDHfdx6vc2uaf30gr//8eAAPfSCgvki+ON4B73Twr7qPfwHSgacwZIaJ33CFwfC58KWh5FfQULVPclHQu8E5b37AoTNsL7OAUTlil/BRM2+DIdE5a0BxNWhwoTnsQKCxVnbm1oaKhtr6+nqa6ub6lnH/td/G4V+xX3JDXggx6vlJ6aqhqkfp1Qlh77F6IFe6OBpKQarJ+jr5ceCy73Bh33rrQHL9cd4ovijd8eC9D4LwrZlQWy+4lkB9mBBY1Ki0k/GnsGUmuY42UfC/tQ+JkVR6hcu3EeC/dpCvecHQv7lRamo6Cnp3OfcG90d29vonanHw74ab4dC2L8hBX7KoY6e2Aeh3+Fg4WEdJ0Yn3F1lXAbbnZ+b4IfcYynbMcbxq6grqwfv8SS1Pc3GveGB473HAv7HgaI5ZfEsrebnZ6Wo5WThBivbrF5q4kI/EsHVopWilUePH0FZ/eLrwc7mQWKwYrAwBr4DweP9yILFfcV1PcVQp6k+xf3Bve2CvsGBQv7aAf3Xh0LfvdsHQtPlLZH5xvYHbKzFdU9pp9c7QWrfHyZeRt7eH14fJB9o3MfDqb3AwX3XQb7svwhBWj4HAcL+x/3w+qWBQvZCvt5ZwfRfgWMW4xNXRr7ewa4jMmMux7QmQWv+3iTHQsyCg4T3DodC1q87B0L9534LgpBmgWKu4rKwBq3Br6kfl2bH/eYHcAbnqSRkJ4frwdCl27edMtnqUeYGQsV9xX4t/sVagbRgwX8ZQdFgwUOFZGFBcsG9yv39wW0+59F92gHDhX3FqwGRJMF+GUH0pMFrPsWBw73agr/Aj+AALoKC+mABWIH++H8LgX3Vfe0Cgv3dPiU25YFtPtwYgfdf/sk+/cFC1J5BVB5dnltGn+PeJdkHgsS9w3n97K7C30FZ/d8rwcL9xdhwTUeCxX3NK/3CfcK9z4ecaIF+yH7GEj7L/tLGvtLzvsv9yH7GB6logX7Cvc+Z/cJ9zQaDouuCguvB0eZBQtBChOuMQoLFWuldKqrpaKrq3Gia2xxdGseC/cXi/cRCgu49/X3K/csHQsePfdLCgtUa2dVgx8L+FT3exX7FU5RQGZnmq9mHvetB7W+spiqG9S/Q/sUH/vf+5cVVYpWilQeO30FaAcL+Af4fBVMRGVUWh/3VgcLEq/dUNxD0/db3IbWgZoLuPdhHQsVIIsgiCQe91O0BvsFmAWJ4ovk4hr3hAfji+SN4R73BZgFtPtTB44iiyAiGg4GfjX3ZwoT1ACTxQUL26G5wMIa6ji/+wdJSXt5Zh6R+wkFxwad5gWSo6OOpRvMwG5CTGdjMh9nWa8GC/fVFveotAYvlgWJ3Ive6RquBsuzdVKdHwt39xAKC6v38qwSvMpbyPcMxlvNE+S8C3F+9v8Bm4AA/wArgAD3wwoLNvd0Cgu6jL6Mvh6+kAULjTeLNDQaC2IHcx0O1JyvscQa0kfAKkxMfHNjHo77DQXBBp3zBZKgpI6oG8izcFFYa2tGH2NdBgu9CveQswc9lQWJC/dF9wQV98r4EQoLlgWJ4YsLegpbikaKWR4LZAfagQWNR4tGSRrmZhWwBwu8+HG9C/cqfhX3ZAoLvfjrvQsVfo1/knYefpmahZobpKGdpqR3onGXH6Grpp20moCoGEV0TGJFGg73dh336goG93wK0Y3QHgv3HQprC/fdHUcePIEFC1aKVYpWHjx9BQuy+5BkB9mCBY0L9wwdaK4LX/ePCgv9TQSvoZ63sIDofPcfH373HQVmBn37HQV9+x+ALmYaX6F4rh4O97Yd/EsHCy4dEvce6gsa67uyyZaZioebHplOBViWn3unG6CclaGTH+GGPccvG/sCPjwiC/uR+DO/9wSr8q4SqdBG0fcyyRP0C+OB90X7uvtH+6MsfwUOdfsUBfuSBonei+DvGvcpBpgtBbn3gF0GfSwF+yi+Cguv+BDT94f3pQrcOt8LNRpaBzSLC4T3KwX8dQYLuPguuQvqHQ73la4GMJoFisKKwcAa2wdZtbh7uRv3CeTt9y73LzfpIB8LeKOigKQbsKGfpI0fsoBlmlsbC/soi7Vh9zf3NPcsYLYLrPdHtgG81fcf0AP3WAv3IwHa9yID9yoL98od4uIavAcLY/ePswc9lAULTwZx+xoygAULdneVaRsL99Qd9xvm91zm91znE16/Fgu6BtaiXlZFXWpKdniMjnofesMFqYJ6oXUbd3uDd4IfC7AdDvemfhX3CPcG3vc5zHnAb7MfC/eyClwHC/cV+wTOZLL3EsILEveB56L3XAuD90YF/LgGC/ce9/sVWQcLEsX3APfa9QuKSYpZHgv3zoHD954KCwVdHQuvBzqYBfiw9+cKC7b3Qq0BtNH3HdUD4gshmQX4dwcL+CAd9zYLlPc2BVAGC7jn9y0LizIdEvcc5gvyq2BUOVxhLXx0i49xH4OqBcB+gKRoG3Z7gXR+Hwv3bfsu9xb7VftW+y77FvttC6djmGpn95YdC/g2Cmiua6sSmAuVBYnPiwvefhW7wKv3EbMfotaZ8ZH3Awj1BoxYjEZcGlQHC4AF904dC7L7j3AdDpZtBY2YmI2YG6iTeW0fiAu9OAoL9ygdtPuuBwsaYnR3YYB9jI17Hgv4PfguHQutIwVYnKN/C6H7FAXFBguE+ysFwwYLjEaLRgsS9wjgC3FhgoRrH1eAlr8FkKeWyKkarXuYcHB6fmkeC4KsiHb3iKzqrfdvrXx3EtDU9xrU9zfU9xrUCwdYiliKWB77DHUFZ/fdrwf7DKEFir6Kvr4aC/cggZULtfcwulzG99a69xq1Eq7J9xrR+EvHE7/4BgtiB+Y7CnUHg1hliWcbJGat9wQfC0sdAQvKHfdQC/8BAIAAC4/3IgULwZgFsvtNZAfZffsP+/P7D/f13JcFsvt9C/gLCv8AaYAA/wAwgAD3beUD93gL91T3FfcH9zz3PPcV+wj7U/tU+xX7DPs8C9CMHQuBdgo0NRpaBwuw+G2wAfcCxgOzC/f0B4KRBQuL0NAasgcLm/n4Fff8CvwGB1iCBW33PqkHWJQFC173zwoIC/dfCvdB9zBYvgv7ZxX4HArStK62C/dXCveF3gv/AFKAAD/XC6/36vcCgXcLaPgDCgv3C+X3Cwv/ACSAAAvE/wEngAD3lwoS9wDq953qC/sg/dYiCgv3ZPelzQGz+XADs/elFflwzf1wBg73ZPfRCvlw+A8K+XDN/XAGDsWixhILOAoS/wAXgAD30goLBff9HRNz54AFjQuI65jCn6+Um5iZmZUL9xQS4fca+wDeC2K09+sdC5QFicyLC7X3NLkLdAoTnsgKCwP4fYoVlpEF+JgHgJL8U/uWBX0HC8P3fUwKEu7m93LnCwPp+KQVf4QF/JgHl4X4UveVBZkHC4nRi9LQGg4GieCLC/dYZrf43rcBwrr46LoD8ZIV+N4Lrx1i964HC9yvqoBhtB/7pAdfZGp5XxttUhUL9xeLtHB2+Qu4YrQLYgfTffuY+9IFygcL+Aj4fBVOSWZWWx8LuPf19+sKC4vhjeEeC/8ASYAAC4u4Xrz4XEwKEguwma2jHn+iBX94eIh9G2RupLYLQvddxPcjxAGo+G0D+Ir3XRXEC7m/9wyuHqLWlfCS9zkI9x8GjQv4yAHAzAP3CgvBg8ES+zf32gv3dQpoBwu3WUugTBsL94EKsgcLR4tGiQv4DAr37eJG5BPo9zYL91WL90IKCxqiiZWIlh6Sg4OQdxtrd3ReC/v1+3l2+nx3AevGA+v7jhXGC/um+xf/ACeAAPkV/wAngAASC22WTpFvHpVXV5YFkmtilHAbC///w4AA/wA8gAALErjku/cak9853Qv3RB33WOsL/wBTgAAL98oVNIsLs6Scr6Meg6QFhn16h34bZAv3qx00izSJNh4LEvce6gv3VxPM0B0L9yt8s/cBtPfbsvKzEqm+C8SdBcadoJ2pGpeHnn+yHgt/tQVkVAZqhoJhfh5pfwULYgfngAWNOos5C4UK55YFC/gSHVkeRX4FC7l6H2yA+B4KC1+LJQoL0QHD958D8QvPoau1yRoL91PE+BfECwHO7QP3CAsB+yT3tAML/wAxgAAL///cgAAL+3Cw9z4LtPuuYgcLEvcQ6QvqE2j3HvfoHTSJNx4LtmevEv8AIYAA/wBCgAALuB33fQsW93m0BiqYwvc3Bfd8BgsSkPd5C0B9BWcL+CUdSgcL9ekKC15UgGBXH1NaeU6B+wALgJEnYgVvB7+FBftnBwv7nhXTBoX3VwVPBg7m9xLRCgv7xvcFHdavC7MHPpQFidCLC7MHPvfDHQsB+yv3wgP7Kwv4wfddAQv/AEeAAAv//8yAAAtdikqKC/cWEs3C3PcVN7Jkzguk+UoV92MdC8f3vrgBueT3huUD8gu+OAoSC0xEZFVaH/c690y5BwswHWSyCxXE/G1SBw6J0YvT1BoLd6V3pXcSC364+Nq4AQv3lYKriXYLtAcwlQWJC2P4TAcLuF68WgsxlQWJ0IvN0BqOBgv3Yc306PcGOd37PgvBg8H4Ax37efkcC/um+zT5+gGN99oDC/faHd2BBQv3RvtF90VZvRKj1wsH+DkdCzWLNPcUCg6N3x73TwoLmgWv+3hnBwt89yQVo4EFC4v3aQoLB/f5CguuaPcMHQselm0FjQv/AGaAAAv3h3endwti96QHC/8AQ4AA///LgAALnvsqBboGlfdVBQv3lYKsiHb3ULOkC/cMugXBB/sMXAULVopWilUeO30FZwv7ClwFVgf3CrkFC/dNCvgEHQsYvY2pna8apnqYC3MabFN1JYEeDgEAAQAAIhkAQhkArgAAqwEAsAAArQABhw4ArwABlgAAigAAsQABlwcAtQAAsgEBnwAAtAABoBYAuQAAtgIBtw8AjAABxwQAugABzAMAvgAAuwAB0AAAvAAAvwAAvQAB0Q8AjQEB4QYAwAAB6AoAxAAAwQIB8xYAxQECCgYAxwACEQEAmgAAnQACEwAAywAAyAEAzQAAygACFA4AzAACIwAAkAAAzgACJAcA0gAAzwECLAAA0QACLRYA1gAA0wICRAYAkQACSwoAkgACVgQA1wACWwQA2wAA2AACYAAA2QAA3AAA2gACYQ8AkwECcQYA3QACeAUAlQACfgUA4QAA3gIChBYA4gECmwYA5AACogEApwAAogACpAgABwAAEQkCrSkADwAADQAAGwEAeQAAAgAAYAAC1wAAIAAAewAC2AAAaAAAAwAAQQAACAAAaQAAdwAAdQEAawEAagAAeAAADgAC2QEAbwAAiQABOgAC2wAAcgAAdAAAQAAACQEAPAAAPgAAXAAAXgAC3A4AEAAAXQAAPQAAoAAACwAAcAEAZgAAcwAAqgAC6wAApQAAmQAC7AAAIQAC7QAABAAC7kMAiwAAjwADMjUAoQAAZwAABQAAYQEAZAADaAABLAADaQ8AYwADeQUABgAAegAAngAAmwAAowABRAEBQAMADAAApgAAqAAAnwADfwAAHgAAHQAAHwADgAEAnAAAPwADggAAXwADgwAAlwADhC4AfAIAiAAAfwAAgwAAgAEAhAAAhgAAggAAhQADswEAhwADtf8EtSwA7QAE4v8F4lQFlwMAAAEAAE0AAFAAAFgAAFoAAGQAAJgAAJsAAP4AARMAAUUAAVEAAVQAAaQAAcQAAdEAAdQAAecAAekAAmgAAoQAApAAArQAArcAAwYAAwkAA20AA3AAA3MAA4oAA/0ABAYABDMABD4ABHgABK8ABLIABLQABN0ABPwABRUABTAABUcABVQABYMABfcABhMABiIABkQABkcABoMABokABosABpYABpoABqcABrUABsIABwgABzcAB1MAB2oAB6oAB+AACCQACE4ACJQACKsACLgACO0ACPsACRkACVQACYMACaEACdkAChUACmwACuIACvEACwQACxMACykAC3EAC3MAC7MAC/EAC/oADAMADAwADFoADLIADL4ADRQA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ufjAFfctvfstBg77e/jAvQG5960DufjAFfetvfutBg5k+MC9Abn4bQO5+MAV+G29/G0GDvt++3H3cQp9WwoO+377aPgsCvcztx33rR0O+377aPdvCvto+DoKE9BtHRPgLjIFDvt++3H3SQqbSwoT8E8KDvt++wPEAfdezAOr+wP3Fgr7fvtx9wIK+3FqHft++3H3cR37cYEK+373Bvf1Hfti9y8d+377cfdKHfsPUh37flL3hR37cYMK+/T71ffYHWPUCvv0+9X3wQpj1B378PvL98AK+8v3MB378PvL96wd+8v3Lh38CPtx8ff4HftxFfcPCvwU++P32gr7UbcK+36C93EK91pbCg77fov4LAr4B7cd960dDvt+i/dvChb3cgoT0G0dE+AuMgUO+36C90kK93hLChPwTwoO+36L9zJSxBL3XswTYKvwFfc+BhOgJswHE2Dwy8RL94lcB/c5Cvt+gvcCCoJqHft+gvdxHYKBCvt+oHb32vf1HZH3Lx37foL3Sh3kUh37fpd29zj3hR2Cgwr79PsB99gd90DUCvv0+wH3wQr3QNQd+/Ao98AKKPcwHfvwKPesHSj3Lh38CILx9/gdghX3Dwr8FPsP99oKorcK+373iPdxCvhXWwoO+373kaj4BHeldxL3MNITsNr5BLcdE9D3rR0O+373kfdvCveR+DoKE9BtHRPgLjIFDvt+94j3SQr3MAoT8E8KDvt+9/bE94l3AfdezAOr9/b3Fgr7fveI9wIK94hqHft+94j3cR33iIEK+3741/f1HfeX9y8d+373iPdKHffqUh37fvgs94Ud94iDCvv09yT32B34PdQK+/T3JPfBCvg91B378Pcu98AK9y73MB378Pcu96wd9y73Lh38CPeI8ff4HfeIFfcPCvwU9xb32gr3qLcKmR33Hgr7Nvg9rWn/ACKAAP//3YAAr2f3uB3/AFiAAK4Sk/co6PdKEy6T+D0V9yirBlKTqOAF9ygGE06qNFGEBWz3SgcTjqoHW5H7IPgRBV8GEx77GvwNUoIF95P3FBX7DgbH90EFDvtL95cd/wClgACgdqz/AJSAAPdgHRLk0/ce0FjVE5aAq/g9FfdIBvcYusrBHxOmgMNmsjGVHhOnANeZp7K3GsRatS0e+1UGE1qA9x0KE5cA9z/38xXLq3VaV2txQB9s9ykGrPtKFROWgOGw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AXMAIwFzACwBcwAsAXMALAFzACwBcwAsAXMABQF2/9UCmwAsAlQALAJUACwCVAAsAlQALAJUACwCVAAlAlQALAJUACwDhgAnA4YAJwLfACcC3wAnAt8AJwLfACcC3wAnAt8AJwLfACcC3wAnAsMALwLDAC8CwwAvAsMALwLDAC8CwwAvAsMALwLDAC8CwwAvAsMALwLDAC8CwwAvAsMALwLDAC8CwwAvAsMALwLDAC8CwwAvAsMALwLDAC8CwwAvAsMALwLDAC8DqgAvAosALAKLACwCiwAsAosALAKLACwCiwAsAgAAKAIAACgCAAAoAgAAKAIAACgCAAAoAgAAKAKyACwCXAAUAlwAFAJcABQCXAAUAlwAFALXACcC1wAnAtcAJwLXACcC1wAnAtcAJwLXACcC1wAnAtcAJwLXACcC1wAnAtcAJwLXACcC1wAnAtcAJwLXACcC1wAnAtcAJwLXACcC1wAnAtcAJwLXACcC1wAnA8IADwPCAA8DwgAPA8IADwJ5AA8CeQAPAnkADwJ5AA8CeQAPAnkADwJ5AA8CeQAPAicAFAInABQCJwAUAicAFALGACwCYwAsApEALwH9AC0B/QAtAf0ALQH9AC0B/QAtAf0ALQH9AC0B/QAtAf0ALQH9AC0B/QAtAf0ALQH9AC0B/QAtAf0ALQH9ACUB/QAtAf0ALQH9AC0B/QAtAf0ALQH9AC0DDgAtAegAKgHoACoB6AAqAegAKgHoACoCWQAtAjcALQI3AC0CNwAtAf4ALQH+AC0B/gAtAf4ALQH+AC0B/gAtAf4ALQH+AC0B/gAtAf4ALQH+AC0B/gAtAf4ALQH+AC0B/gAtAf4ALQH+AC0CBgAkAgYAJAIGACQCBgAkAgYAJAIGACQCBgAkAlkAGQJZABkCWQAZAlkAGQEqABABKgAdASoAAwEq/+wBKgALASoAHQEqAB0BKgAKASoAHQEqAB0BKv/yASoAHQEV/60BFf+tAiMAGQItACIBKgAZAUIAGQEqABkBawAZASoAGQEqAAUBKgASASoAGQOFACIDhQAiAl4AIgJeACICXgAiAl4AIgJeACICXgAiAwQAEgJeACICXgAiAiUALQIlAC0CJQAtAiUALQIlAC0CJQAtAiUALQIlAC0CJQAtAiUALQIlAC0CJQAtAiUALQIlAC0CJQAtAiUALQIlAC0CJQAtAiUALQIlAC0CJQAtAiUALQIlAC0DZAAtAacAIgGnACIBpwAiAacAIgGnACIBpwAgAbIALwGyAC8BsgAvAbIALwGyAC8BsgAvAbIALwFYABkCUAAZAUUACQFFAAkBRQAJAUX/9AFFAAkBRQAJAkcAGQJHABkCRwAZAkcAGQJHABkCRwAZAkcAGQJHABkCRwAZAkcAGQJHABkCRwAZAkcAGQJHABkCRwAZAkcAGQJHABkCRwAZAkcAGQJHABkCRwAZAkcAGQJHABkC/AAAAvwAAAL8AAAC/AAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAByAAdAcgAHQHIAB0ByAAdAiIALQIqAAYCBwAvAi0ALQIwAC0CaQAiAmQAIgKEACICkgAiA5gAIgOTACIC0AAbAfQAKQH0AEoB9AAsAfQALAH0ABgB9AAmAfQAKAH0ADMB9AAsAfQAHQH0ACQB9gAnAaoAPwH8ADMB9wAkAfEAHQH7ACkB/QAzAd8AHAH9ADECCAAuAfYAJAH0ACEB9ABJAfQAKwH0ACsB9AAYAfQAJgH0ACgB9AAuAfQALQH0ACMCJgAjAbQAPwH8ADQB9wAkAfEAHQH7ACkB/QAzAd8AHAH9ADECCAAuAfQAKAH0AEoB9AAsAfQALAH0ABgB9AAmAfQAJwH0ADIB9AAsAfQAHQEsAE8BLAAGASwATwEsAAYDhABPASEAUAEhAFABIQBQAaAAQgGgAEIBoABCALcAKAFjACgA1AAlANQAEgGfACUBnwASANQAEgGfABIBHQAeAR0AGgHnAB4B5wAaATgAKAE4ACgBOAAoAgAAKAMsACgB9AAoAywAKAEsAE8BMQAqAgAAKAFTAFABUwAZAUAAZAFAAB0BWAAoAVgAHgEdAB4BHQAaAecAHgHnABoBOAAoATgAKAIAACgDLAAoAywAKAFTAFABUwAZAUAAZAFAAB0BWAAoAVgAHgFKAAIA+wBgAUoAAgD7AGABtwAUAf8AKAH/ACgB6wAtAlYAGQLzAB4C8wAeAcsAHgLSAAwCrQAeA0MAIwNDACMCDgAZAXIALQFyAEIBcgAwAXIALQFyACABcgAvAXIAMQFyADgBcgAxAXIAKQD8ADUA/AAlAQAAVgEAACgA6ABDANwAIwDoAEMA9QAuAXUALgI1AC4BcgAtAXIAQgFyADABcgAtAXIAIAFyAC8BcgAxAXIAOAFyADEBcgApAPwANQD8ACUBAABWAQAAKADoAEMA3AAjAXIALQFyAEIBcgAwAXIALQFyACABcgAvAXIAMQFyADgBcgAxAXIAKQD8ADUA/AAlAQAAVgEAACgA6ABDANwAIwFyAC0BcgBCAXIAMAFyAC0BcgAgAXIALwFyADEBcgA4AXIAMQFyACkA/AA1APwAJQEAAFYBAAAoAOgAQwDcACMBXwAcAXkAHAG6AAgBpQAgAaIAIgHWACABkAAgAYEAIAHDACICBwAgAPsAIAD//+EBvgAgAYsAIAJTABoB5gAdAdQAIgGLACAB1AAiAbQAIAFZAB0BlQARAeMAHQG+AA0CfQANAbAACwGjAA0BcQARAV8AHAGNABABTAAeAYYAHQFfAB4A5wAWAWUAEwGcABAAzQAVAMH/wQF2ABAAzAAQAmkAFwGgABcBeQAcAZEAFwGAAB4BJQAXAS0AIQDiAAcBkQASAV0AAAIPAAABXgAHAVz//QE1ABEBXwAeAV8AHgFIACUB9gAdAfQAMwH0ACsB9AAjAfT/9QH0/+gB9AAUAfQAIwH0AAAB9AAKAfT/9AH0ACUB9AALAfQABwH0AAoB9AAhAfQAFwH0ADIB9AAwAfQAGgH0AAcB9AAUAfQAGwCM/04AjP9OAIz/TgDpAAAB9AAAAIUAAACFAAADXQBFBKwARQNdAEMDXQA7A10ATgNdAEEDXQA9A10AQANdADwDXQA/A10AVQITAB0CEwAdAhMAKwITAB0BLABPAhMAHQITADkCEwA5AhMAHQITAB0CEwAdAhMAWAITAB0CEwAxAhMAMQITABgDEQAoAjkATwISACgBZ/+wAi4AKwJ+ABkC1wAmAjEAFAMGACgB0wAfAyAALgKUABQClABnApQAJQKUAFUClAAUApQAVQKUACUClABnAtAANwLsABQBvgAYA3UANwJGABoCRgAaAkYAUgJGAFICRgAaAkYAGgJGACoCRgAqAyAANwMgADcCXAA7AfkAIgJGAFIA+QBBAbAAQQDUACUA1AASAKcAGgCnABoAdAAWAZAARQGQAI0BkABMAHQAFgGQAEsBkACMAZAAMwGQAD0BkAAnAZAAJAGQAEUBkAAxAZAAXwGQAEUBkACFAZAAaQAZ/+8AAP/CAZAAYgAA/4IAAP+BAAD/xQAA/70AAP9rAAD/bAAA/10AAP9MAAD/fQAA/2kAAP9pAAD/cAAA/70AAP+9AAD/XAAA/1YAAP+XAAD/oAAA/5AAAP+QAAD/dQAA/3UAAP+tAAD/vQAA/58AAP/cAAD/aQAA/1wAAP+9AAD/xgAA/8YAAP/2AAD/fQAA/2IAAP9WAAD/YgAA/1YAAP9cAAD/VgAA/1wAAP9WAAD/bAAA/2wAAP8kAAD/EAAA/2wAAP9sAAD/XQAA/10AAP9wAAD/cAAA/3AAAP9wAAD/cAAA/3AAAP9dAAD/XQKYAAUCdQAsAjAALAJ+ABkCWwAsAicAFAMVACwCwwAvAXMALAKbACwClwAFA4YAJwLfACcCSQAjAsMALwMBACwCTQAsAh0AFAJcABQCeQAPAs0AJAKIAAoDAgAJAtcAJgKuABsCxv/3A37/9wHd//cBcwAQAwf/9wMB//cCeQAPAxL/8wIuACcCNwBPAesAAAIHACcBogAoAaQALQImABcB/wAxAR8AYgISABcCFQAUAjkATwHrAAABtgAoAggAJwJRABMCHwBFAlMAJwHsABMCHgAXArwAJwHoAAUC1AAXAt0AJwHJACwCLgAnAaIAKAImABcBHwBiAR//6wIIACcCHgAXAh4AFwLdACcBH//zAh4AFwKCAA8CBAAnAbsAJgGdAE8CQwAqATsACwEsAE8BLABPAPkAQQD5AEYBkAClAEP/4wGQABUAAP/dAAD/TQKYAAUCagAsAnUALAIwACwCswAFAlsALAOWAAICJgAeAx0ALAMdACwCjQAsArMACQOGACcDFQAsAsMALwMHACwCTQAsAncALwJcABQCeAAOAtEAHQKIAAoDAgAsAr0AGAQTACoEFAAqAtcAFAOSACwCYQAsAmQAKQPjACwCggAAAlsALAJbACwCxgAUAjAALAJnAC8CAAAoAXMALAFzABABdv/VA34ACQPMACwDBwAUAo0ALAMdACwCeAAOAwEALALCABQCwwAvAqoADwIwACwCMAAsA7QAAgImAB4CsQAsAwsAFAMZACwCdwAvAnkADwJ5AA8CowAKAsEAGALCACwBcwAsA5YAAgKYAAUDmAAFAlsALAKbAC8DHQAsAsMALwLDAC8CeAAOAngADgH9AC0CHwA3AgUALAG/ACwCNwATAf4ALQL2AA8BrgAjAoUALAKFACwCGgAsAkAAEALmACwCeQAsAiUALQJyACwCRwAjAegAKgIQABkCAAAAAt8AJwIOAAoCbQAsAioACgNYACwDWQAsAmIAHgLuACwB+AAsAeAAKQMfACwCFAAKAf4ALQH+AC0CFwAeAb8ALAHoAC8BsgAvASoAHQEq/+wBFf+tAvEAEAMgACwCWQAZAhoALAKFACwCAAAAAnoALAJdABkCJQAtAhQAAAHEACwByAAsAwwADwGuACMCMQAsAokAHgJ6ACwB6AAqAgMAAAIDAAACJwAKAisACgJZABkC9gAPASoAGQH9AC0DDgAtAf4ALQIHAC8ChQAsAiUALQIlAC0CAAAAAgAAAAIfADQD8QAKAAD/WQAA/1UAAP+kBgcAKAjjACgC8wAeAtIADgLSAAoCWABPAi4AUAMXAEICrQBCAqwAUAJNAAUCUQA3AkkAOgKTADcCMQA3AhoANwJuADoC1gA3AWsANwFo/+kCXQA3AjUANwM4ADICpQAyApIAOgIfADcCkgA6AlIANwHfADACIwAaApgAMQJeABYDVAAUAkAACwIzABEB8QAYAk0ABQJNAAUCTQAFAk0ABQJNAAUCTQAFAk0ABQJNAAUCTQAFAk0ABQJNAAUCTQAFAk0ABQJNAAUCTQAFAk0ABQJNAAUCTQAFAk0ABQJNAAUCTQAFAk0ABQM4AAUCSQA6AkkAOgJJADoCSQA6AkkAOgKTADcCkwA3ApMANwKTADcCMQA3AjEANwIxADcCMQA3AjEANwIxADcCMQA3AjEANwIxADcCMQA3AjEANwIxADcCMQA3AjEANwIxADcCMQA3AjEANwJuADoCbgA6Am4AOgJuADoCbgA6AncANwJuADoCbgA6AsoAJgLWADcC1gA3AtYANwFrADcBawA3AWsAIgFrAAwBawAfAWsANwFrADcBawArAWsANwFrADcBawACAWj/6QJdADcCNQA3AjUANwI1ADcCNQA3AjUANwI1ACACNQA3AjUANwM4ADIDOAAyAqUAMgKlADICpQAyAqUAMgKlADICpQAyAqUAMgKlADICkgA6ApIAOgKSADoCkgA6ApIAOgKSADoCkgA6ApIAOgKSADoCkgA6ApIAOgKSADoCkgA6ApIAOgKSADoCkgA6ApIAOgKSADoCkgA6ApIAOgKSADoCkgA6ApIAOgNaADoCUgA3AlIANwJSADcCUgA3AlIANwJSADcB3wAwAd8AMAHfADAB3wAwAd8AMAHfADAB3wAwAiMAGgIjABoCIwAaAiMAGgIjABoCIwAaApgAMQKYADECmAAxApgAMQKYADECmAAxApgAMQKYADECmAAxApgAMQKYADECmAAxApgAMQKYADECmAAxApgAMQKBADECgQAxAoEAMQKBADECgQAxAoEAMQKYADEDVAAUA1QAFANUABQDVAAUAjMAEQIzABECMwARAjMAEQIzABECMwARAjMAEQIzABEB8QAYAfEAGAHxABgB8QAYApMANwI1ADcCZgA6Ak0ABQJRADcCCAA3AkUAHAIxADcB8QAYAtYANwKSADoBawA3Al0ANwJMAAgDOAAyAqUAMgIdACsCkgA6AsIANwIfADcB6wAZAiMAGgIzABECkwArAkAACwK2ABMClQAvAWsADAIzABEDtQAwA3sANwRFADcClQAeAdYAMgHtAF8B2QA5AdcAOQHGAB0B1wAyAdYAMQHZAEIB2wA4AdUAIQFGAGYBRgBlAa4AVAGuAFwAtwAoAWMAKADUACUA1AASAZ8AJQGfABIBNAA1AeQANQLpADUBWgBmAVoAIgFRAIMBUQAgAUoANQFKACcCTQAFAkIANwJRADcCCAA3AmkAAwIxADcDIwADAgEAJgLdADcC3QA3AksANwJxAAwDOAAyAtYANwKSADoCyQA3Ah8ANwJJADoCIwAaAkIAFAKUACYCQAALAsAANwKAABwDsAA0A60ANAKQABoDSAA3AjEANwI4ADIDjwA3Ajz/+wIxADcCMQA3An4AGgIIADcCOgA6Ad8AMAFrADcBawAMAWj/6QMZAAwDbQA3ArcAGgJLADcC3QA3AkIAFALEADcCfgAVApIAOgJcABYCCAA3AggALwM+AAMCAQAmAmwANwKvABoC1gA3AkkAOgIzABECMwARAlgACwKAABwChgA3AWsANwMjAAMCTQAFAzgABQIxADcCcAA6At0ANwKSADoCkgA6AkIAFAAUAAAAAQAAAAwAAAAAAg4AAgBVAAIADQABAA8ANQABAEsATAABAF0AXQABAG0AbQACAHgAeAABAKEAoQABAKcAqAABAMMAwwABAMwAzAABAOUA5QABAPsA/AABAQIBAgACAQ0BDQABARkBGQACAR0BHQACAScBJwACAS0BLgABATMBMwACAVUBVQABAVsBXAABAWwBbAACAXkBeQABAYIBggABAZoBnQABAZ4BowACAwcDBwABAwwDDAABAxIDEgADAxQDTAADA24DbgABA3IDcgABA3QDdAABA3YDdgABA3wDfAABA34DfgABA4EDgQABA4UDhQABA5MDkwABA5UDlQABA58DoAADA6EDoQABA6QDpAABA6YDpwABA6kDqQABA6sDqwABA68DrwABA7QDtAABA7cDuAABA7wDvAABA74DwAABA9ID0gABA9wD3QABA+kD6QABA+wD7AABA+8D7wABA/ED8gABA/QD9AABA/YD9gABA/oD+gABA/8D/wABBAIEAwABBAcEBwABBAkECwABBBAEEAABBB0EHQABBCcEKAABBDQENAABBDkEOgADBEYEUQABBFMEXwABBHYEdgABBNIE0wABBO4E7gABBPcE9wABBRAFEAABBVIFUgABBVQFVAABBVYFVgABBV8FXwABBWIFYwABBWcFZwABBWkFawABBX0FfQABBYgFiAABAAIAGwMSAxIAAQMUAxQAAQMWAxYAAQMYAxgAAQMaAxoAAQMcAxwAAQMeAx4AAQMgAyAAAQMiAyIAAQMkAyQAAQMmAyYAAQMoAygAAQMxAzEAAQM1AzUAAQM3AzcAAQM5AzkAAQM7AzsAAQM9Az0AAQM/Az8AAQNBA0EAAQNDA0MAAQNFA0UAAQNHA0cAAQNJA0kAAQNLA0sAAQOfA6AAAQQ5BDkAAQABAAAACgG0CWIABERGTFQAGmN5cmwASGdyZWsAuGxhdG4A5gAEAAAAAP//ABIAAAAIABAAGAAgACgAMAA4AEYATgBWAF4AZgBuAHYAfgCGAI4AEAACTUtEIAA8U1JCIABEAAD//wATAAEACQARABkAIQApADEAOQBAAEcATwBXAF8AZwBvAHcAfwCHAI8AAP//AAEAQQAA//8AEwACAAoAEgAaACIAKgAyADoAQgBIAFAAWABgAGgAcAB4AIAAiACQAAQAAAAA//8AEgADAAsAEwAbACMAKwAzADsASQBRAFkAYQBpAHEAeQCBAIkAkQAWAANBWkUgAEBDUlQgAGxUUksgAJgAAP//ABIABAAMABQAHAAkACwANAA8AEoAUgBaAGIAagByAHoAggCKAJIAAP//ABMABQANABUAHQAlAC0ANQA9AEMASwBTAFsAYwBrAHMAewCDAIsAkwAA//8AEwAGAA4AFgAeACYALgA2AD4ARABMAFQAXABkAGwAdAB8AIQAjACUAAD//wATAAcADwAXAB8AJwAvADcAPwBFAE0AVQBdAGUAbQB1AH0AhQCNAJUAlmFhbHQDhmFhbHQDjmFhbHQDlmFhbHQDnmFhbHQDpmFhbHQDrmFhbHQDtmFhbHQDvmMyc2MDxmMyc2MD0GMyc2MD2mMyc2MD5GMyc2MD7mMyc2MD+GMyc2MEAmMyc2MEDGNhc2UEFmNhc2UEHGNhc2UEImNhc2UEKGNhc2UELmNhc2UENGNhc2UEOmNhc2UEQGNjbXAERmNjbXAETmNjbXAEVmNjbXAEXmNjbXAEZmNjbXAEbmNjbXAEdmNjbXAEfmRub20EhmRub20EjGRub20EkmRub20EmGRub20EnmRub20EpGRub20EqmRub20EsGZyYWMEtmZyYWMEwGZyYWMEymZyYWME1GZyYWME3mZyYWME6GZyYWME8mZyYWME/GxpZ2EFBmxpZ2EFDGxpZ2EFEmxpZ2EFGGxpZ2EFHmxpZ2EFJGxpZ2EFKmxpZ2EFMGxudW0FNmxudW0FPGxudW0FQmxudW0FSGxudW0FTmxudW0FVGxudW0FWmxudW0FYGxvY2wFZmxvY2wFbGxvY2wFdGxvY2wFfGxvY2wFgmxvY2wFiG51bXIFjm51bXIFlG51bXIFmm51bXIFoG51bXIFpm51bXIFrG51bXIFsm51bXIFuG9udW0Fvm9udW0FxG9udW0Fym9udW0F0G9udW0F1m9udW0F3G9udW0F4m9udW0F6G9yZG4F7m9yZG4F9G9yZG4F+m9yZG4GAG9yZG4GBm9yZG4GDG9yZG4GEm9yZG4GGHBudW0GHnBudW0GJHBudW0GKnBudW0GMHBudW0GNnBudW0GPHBudW0GQnBudW0GSHNpbmYGTnNpbmYGVHNpbmYGWnNpbmYGYHNpbmYGZnNpbmYGbHNpbmYGcnNpbmYGeHNtY3AGfnNtY3AGhnNtY3AGjnNtY3AGlnNtY3AGnnNtY3AGpnNtY3AGrnNtY3AGtnN1YnMGvnN1YnMGxHN1YnMGynN1YnMG0HN1YnMG1nN1YnMG3HN1YnMG4nN1YnMG6HN1cHMG7nN1cHMG+nN1cHMHBnN1cHMHEnN1cHMHHnN1cHMHKnN1cHMHNnN1cHMHQnRudW0HTnRudW0HVHRudW0HWnRudW0HYHRudW0HZnRudW0HbHRudW0HcnRudW0HeHplcm8Hfnplcm8HhHplcm8Hinplcm8HkHplcm8Hlnplcm8HnHplcm8Honplcm8HqAAAAAIAAAABAAAAAgAAAAEAAAACAAAAAQAAAAIAAAABAAAAAgAAAAEAAAACAAAAAQAAAAIAAAABAAAAAgAAAAEAAAADAAgACQAKAAAAAwAIAAkACgAAAAMACAAJAAoAAAADAAgACQAKAAAAAwAIAAkACgAAAAMACAAJAAoAAAADAAgACQAKAAAAAwAIAAkACgAAAAEABwAAAAEABwAAAAEABwAAAAEABwAAAAEABwAAAAEABwAAAAEABwAAAAEABwAAAAIABQAGAAAAAgAFAAYAAAACAAUABgAAAAIABQAGAAAAAgAFAAYAAAACAAUABgAAAAIABQAGAAAAAgAFAAYAAAABAA0AAAABAA0AAAABAA0AAAABAA0AAAABAA0AAAABAA0AAAABAA0AAAABAA0AAAADAAwADgAPAAAAAwAMAA4ADwAAAAMADAAOAA8AAAADAAwADgAPAAAAAwAMAA4ADwAAAAMADAAOAA8AAAADAAwADgAPAAAAAwAMAA4ADwAAAAEAGgAAAAEAGgAAAAEAGgAAAAEAGgAAAAEAGgAAAAEAGgAAAAEAGgAAAAEAGgAAAAEAGAAAAAEAGAAAAAEAGAAAAAEAGAAAAAEAGAAAAAEAGAAAAAEAGAAAAAEAGAAAAAEAAwAAAAIAAwAEAAAAAgADAAQAAAABAAIAAAABAAIAAAABAAIAAAABAAwAAAABAAwAAAABAAwAAAABAAwAAAABAAwAAAABAAwAAAABAAwAAAABAAwAAAABABYAAAABABYAAAABABYAAAABABYAAAABABYAAAABABYAAAABABYAAAABABYAAAABABAAAAABABAAAAABABAAAAABABAAAAABABAAAAABABAAAAABABAAAAABABAAAAABABcAAAABABcAAAABABcAAAABABcAAAABABcAAAABABcAAAABABcAAAABABcAAAABABQAAAABABQAAAABABQAAAABABQAAAABABQAAAABABQAAAABABQAAAABABQAAAACAAkACwAAAAIACQALAAAAAgAJAAsAAAACAAkACwAAAAIACQALAAAAAgAJAAsAAAACAAkACwAAAAIACQALAAAAAQAUAAAAAQAUAAAAAQAUAAAAAQAUAAAAAQAUAAAAAQAUAAAAAQAUAAAAAQAUAAAABAAQABEAEgATAAAABAAQABEAEgATAAAABAAQABEAEgATAAAABAAQABEAEgATAAAABAAQABEAEgATAAAABAAQABEAEgATAAAABAAQABEAEgATAAAABAAQABEAEgATAAAAAQAVAAAAAQAVAAAAAQAVAAAAAQAVAAAAAQAVAAAAAQAVAAAAAQAVAAAAAQAVAAAAAQAZAAAAAQAZAAAAAQAZAAAAAQAZAAAAAQAZAAAAAQAZAAAAAQAZAAAAAQAZABwAOgBCAEoAUgBaAGIAagB0AHwAhACMAJQAnACkAKwAtADAAMgA0ADYAOAA6ADwAPgBAAEIARABGAABAAAAAQlYAAMAAAABDiQAAQAAAAEA1gABAAAAAQDUAAEAAAABANIABAAAAAEA0AAGAAAAAgFyAYQAAQAAAAEBjAABAAAAAQHEAAEAAAABBC4AAQAAAAEELAABAAAAAQRSAAEAAAABBtIAAQAAAAEG8AABAAAAAQcOAAYAAAADBwwHHgcwAAEAAAABBzgAAQAAAAEHbgABAAAAAQdsAAEAAAABB4oAAQAAAAEHkAABAAAAAQeuAAEAAAABB9QAAQAAAAEH+gABAAAAAQggAAEAAAABCEYABAAAAAEIRAABAAAAARB2AAEQrgEEAAEQrgEbAAEQsABKAAEQsAANACAAKgA0AD4ASABSAFwAZgBwAIIAjACWAKAAAQAEAEsAAgMsAAEABABdAAIDLAABAAQAbQACAxoAAQAEAHgAAgMsAAEABADDAAIDLAABAAQA+wACAywAAQAEAQIAAgMoAAEABAENAAIDLAACAAYADAEdAAIDGgEZAAIDKwABAAQBJwACAywAAQAEATMAAgMoAAEABAFsAAIDKAABAAQBeQACAywAAwABECQAARBeAAAAAQAAABsAAwABEGYAARBMAAAAAQAAABsAAhBuAB0BzwHQAdEB0gHTAdQB1QHWAdcB2AHgAeMCAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CHgOZAAIQaAE2BEYERwRIBEkESgRLBEwETQROBE8EUARRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXARdBF4EXwRgBGEEYgRjBGQEZQRmBGcEaARpBGoEawRsBG0EbgRvBHAEcQRyBHMEdAR1BHYEdwR4BHkEegR7BHwEfQR+BH8EgASBBIIEgwSEBIUEhgSHBIgEiQSKBIsEjASNBI4EjwSQBJEEkgSTBJQElQSXBJgEmQSaBJsEnASdBJ4EnwSgBKEEogSjBKQEpQSmBKcEqASpBKoEqwSsBK0ErgSvBLAEsQSyBLMEtAS2BLUEtwS4BLkEugS7BLwEvQS+BL8EwATBBMIEwwTEBMUExgTHBMgEyQTKBMsEzATNBM4EzwTQBNEE0gTTBNQE1QTWBNcE2ATZBNoE2wTcBN0E3gTfBOAElgThBOIE4wTlBOYE5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gT3BPgE+QT6BPsE/AT9BP4E/wUABQEFAgUDBQQFBQUGBQcFCAUJBQoFCwUMBQ0FDgUPBRAFEQUSBRMFFAUVBRYFFwUYBRkFGgUbBRwFHQUeBR8FIAUhBSIFIwUkBSUFJgUnBSgFEQUVBRcFGQUpBR8FJAUqBSgFTAVNBU4FTwVQBVEFUgVTBVQFVQVWBVcFWAVZBVoFWwVcBV0FXgVfBWAFYQViBWMFZAVlBWYFZwVoBWkFagVrBWwFbQVuBW8FcAVxBXIFcwV0BXUFdgV3BXgFeQV6BXsFfAV9BX4FfwWABYEFggWDBYQFhQWGBYcFiAWJBYoFiwWMBY0FjgWPBZAFkQWSBZMFlAWVBZYAAQ4SA4oAAg4WABQFLgU5BToFOwU8BT0FPgU/BUAFQQVCBUMFRAVFBUYFRwVIBUkFSgVLAAIOFAFBBEYERwRIBEkESgRLBEwETQROBE8EUARRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXARdBF4EXwRgBGEEYgRjBGQEZQRmBGcEaARpBGoEawRsBG0EbgRvBHAEcQRyBHMEdAR1BHYEdwR4BHkEegR7BHwEfQR+BH8EgASBBIIEgwSEBIUEhgSHBIgEiQSKBIsEjASNBI4EjwSQBJEEkgSTBJQElQSXBJgEmQSaBJsEnASdBJ4EnwSgBKEEowSiBKQEpQSmBKcETgRPBKgEqQRQBKoEqwSsBK0ErgSvBLAEsQSyBLMEtAS2BLUEtwS4BLkEugS7BLwEvQS+BL8EwATBBMIEwwTEBMUExgTHBMgEyQTKBMsEzATNBM4EzwTQBNEE0gTTBNQE1gTVBNcE2ATZBNoE2wTcBN0E3gTfBOAEWAUrBOEE4gTjBOQE5QTmBOcE6ATpBOoE6wTsBO0E7gTvBPAE8QTyBPME9AT1BPYE9wT4BPkE+gT7BPwE/QT+BP8FAAUBBQIFAwUEBQUFBgUHBQgFCQUKBQsFDAUNBQ4FDwUQBSwFLQURBRIFEwUUBRUFFgUXBRgFGQUaBRsFHAUdBR4FHwUgBSEFIgUjBSQFJQUmBScFKAUiBREFFQUXBRkFKQUfBSQFKgUoBSkFKgVMBU0FTgVPBVAFUQVSBVMFVAVVBVYFVwVYBVkFWgVbBVwFXQVeBV8FYAVhBWIFYwVkBWUFZgVnBWgFaQVqBWsFbAVtBW4FbwVwBXEFcgVzBXQFdQV2BXcFeAV5BXoFewV8BX0FfgV/BYAFgQWCBYMFhAWFBYYFhwWIBYkFigWLBY0FjAWOBY8FkAWRBZIFkwWUBZUFlgVNAAILtAAQAlQCVQJWAlcCWAJZAloCWwJcAl0CYgJjAl4CXwJgAmEAAguOABACRAJFAkYCRwJIAkkCSgJLAkwCTQJSAlMCTgJPAlACUQABC34ApwADAAELfgABC4gAAAABAAAAGwADAAELfgABC44AAAABAAAAGwADAAILkAuGAAELfAAAAAEAAAAbAAILhAAcAoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsAAQtWAmQAAgrmABACIAIhAiICIwIkAiUCJgInAigCKQIuAi8CKgIrAiwCLQACCzQABAIwAjECMgIzAAIKsgAQAjQCNQI2AjcCOAI5AjoCOwI8Aj0CQgJDAj4CPwJAAkEAAgsMABQBpQGmAacBqAGpAaoBqwGsAa0BrgG7AbwBvQG+Ab8BwAHBAcIBwwHEAAIK7gAUAbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgACCtAAFAGwAbEBsgGzAbQBtQG2AbcBuAG5AcUBxgHHAcgByQHKAcsBzAHNAc4AAgqyABQBpQGmAacBqAGpAaoBqwGsAa0BrgGwAbEBsgGzAbQBtQG2AbcBuAG5AAEKjgAKAAEKkAABAAgABgAOABYAHgAkACoAMAGiAAMAIQAkAaMAAwAhACcBoQACACEBngACACQBnwACACcBoAACAC8AAgpYAmcEYARhBGIEYwRkBGUEZgRnBGgEaQRqBGsEbARtBG4EbwRwBHEEcgRzBHQEdQR2BHcEeAR5BHoEewR8BH0EfgR/BIAEgQSCBIMEhASFBIYEhwSIBIkEigSLBIwEjQSOBI8EkASRBJIEkwSUBJUElwSYBJkEmgSbBJwEnQSeBJ8EoAShBKIEowSkBKUEpgSnBKgEqQSqBKsErAStBK4ErwSwBLEEsgSzBLQEtgS1BLcEuAS5BLoEuwS8BL0EvgS/BMAEwQTCBMMExATFBMYExwTIBMkEygTLBMwEzQTOBM8E0ATRBNIE0wTUBNUE1gTXBNgE2QTaBNsE3ATdBN4E3wTgBJYE4QTiBOME5QTmBOcE6ATpBOoE6wTsBO0E7gTvBPAE8QTyBPME9AT1BPYE9wT4BPkE+gT7BPwE/QT+BP8FAAUBBQIFAwUEBQUFBgUHBQgFCQUKBQsFDAUNBQ4FDwUQBGAEYQRiBGMEZARlBGYEZwRoBGkEagRrBGwEbQRuBG8EcARxBHIEcwR0BHUEdgR3BHgEeQR6BHsEfAR9BH4EfwSCBIMEhASFBIYEhwSIBIkEigSLBIwEjQSOBI8EkASRBJIEkwSUBJUElwSYBJkEmgSbBJwEnQSeBJ8EoAShBKMEogSkBKUEpgSnBE4ETwSoBKkEUASqBKsErAStBK4ErwSwBLEEsgSzBLQEtgS1BLcEuAS5BLoEuwS8BL0EvgS/BMAEwQTCBMMExATFBMYExwTIBMkEygTLBMwEzQTOBM8E0ATRBNIE0wTUBNYE1QTXBNgE2QTaBNsE3ATdBN4E3wTgBFgFKwThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BPcE+AT5BPoE+wT8BP0E/gT/BQAFAQUCBQMFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAUsBS0FLgHGAccByAHJAcoBywHMAc0BzgHFAcYBxwHIAckBygHLAcwBzQHOAjAFOQU7BT0FPgU/BUAFQQVCAgACAQICAgMCBQIIAh4EOQQ6BREFEgUTBRQFFQUWBRcFGAUZBRoFGwUcBR0FHgUfBSAFIQUiBSMFJAUlBSYFJwUoBREFFQUXBRkFKQUfBSQFKgUoBREFEgUTBRQFFQUWBRcFGAUZBRoFGwUcBR0FHgUfBSAFIQUiBSMFJAUl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AAEI2AAGAQAAAQlqAAIAAAAMCgAg4i8CPuJPZl7kcVCC7pMQopSyGMCwAGQAAAAAAAAAAAABx6bH4gABAAwAfgAcAAABAgAAAQIAAAECAAABAgAAAQIAAAECAAABAgAAAQIAAAECAAABAgAAAQIAAAECAAABAgAAAQIAAAECAAABAgAAAQIAAAECAAABAgAAAQIAAAECAAABAgAAAQIAAAECAAABAgAAAQIAAAECAAABAgBHAJYAnACiAKgArgC0ALoAwADGAMwA0gDYAN4A5ACiAOoA8AD2APwBAgEIAQ4BFAEaASABJgCWASwBMgE4AT4AogCiAUQBCAEIAUoBUAFWAQgBXAFiAWgBbgF0AXoBdAGAAYYBjACiAZIAlgGYAK4BngGkAQgAogEgAaoBsAG2AbwBwgEIARoAogEOAQ4AogABAAAB+wABAPUB+wABAIQC4gABARIB+wABAY4C4gABARQB+wABASYC7gABAQMB+wABAIoC4gABAJkCwwABAJgCwwABAJYC4gABAJAC4gABAcQB+wABATYB+wABATAB+wABAS0B+wABAPIB+wABAOIB+wABAKICfgABARsB+wABAQgB+wABAYgB+wABAQ0B+wABAQ8B+wABAO8B+wABAZEB+wABAQkB+wABAJQB+wABAJoB9wABAccB+wABAQ8C4gABAP0B9wABASAB+wABAMgC3gABAMgCyQABAR8B+wABAOUB+wABARUB+wABAJEB+wABASkB+wABARgB8QABAW4B+wABAPwB+wABAP4B+wABAXsB+wABAUIB+wABATgB+wABAQAB+wABAXgB8QABAOQB+wABAYMB+wABxi7GZAABAAwAcgAZAAABKAAAASgAAAEoAAABKAAAASgAAAEoAAABKAAAASgAAAEoAAABKAAAASgAAAEoAAABKAAAASgAAAEoAAABKAAAASgAAAEoAAABKAAAASgAAAEoAAABKAAAASgAAAEoAAABKABgAMgAzgDUANoA4ADmAOwA8gD4AP4BBAEKARABFgEcARYBIgEoAS4BNAE6AUABRgFMAVIAyAFYAOAA+AFeARYBZAE0AWoA4ADIAOYA4AFwAXYBfAEWAYIBiAGOAZQBmgGgAQQBFgGmAaYBFgGsAawBsgG4Ab4BuAHEAcoB0AHWAdwB1gHiAegB7gH0AfoCAAIGAgwCEgIY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/9AAu//QANP/xwDU/8cA1f/HANb/xwDX/8cA2P/HANn/xwDa/8cA2//HANz/xwDd/8cA3v/HAeT/vAHl/7wB5gAAAecAAQHoAAAB6QABAhP/xgIa/8YCG///Ahz//wIg/70CIf+9AiL/vQIj/70CJP+9AiX/vQIm/70CJ/+9Aij/vQIp/70CZP/HAmX/xwJm/8YCZ//GAmj/xwJp/8YCav/GAmv/xgJs/8cCbf/GAm7/xgJw/8YCcf/GAnL/xgJz/8YCdP/HAnX/xgJ2/8cCd//GAnj/xwJ5/9ECev/HAnv/0QJ8/9ECff/GAn7/0QJ//8YCgP/HAoH/xgKC/8cCg//HAoT/xwKF/8YChv/HAof/xgKI/8YCiv/GAov/xgKM/8YCjf/GAo7/xwKP/8cCkP/HApH/xgKS/8cCk//HApT/xwKV/9EClv/RApf/xgKY/8cCmf/GApr/xwKb/8cEP///BED//wABASQAAAABASQAAAABAST//wABAST//wABAST//wABAST//wABAST//wABAST//wABAST//wABAST//wABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAABASQAAAAFAOn/0ADq//4BJAAAASUAKAEmAAEABQDp/9AA6v/+ASQAAAElACgBJgABAAUA6f/QAOr//gEkAAABJQAoASYAAQAFAOn/0ADq//4BJAAAASUAKAEmAAEABADp/8YA6v/+ASL/7QEk/+0ABADp/8YA6v/+ASL/7QEk/+0ABADp/8YA6v/+ASL/7QEk/+0ABADp/8YA6v/+ASL/7QEk/+0ABADp/8YA6v/+ASL/7QEk/+0ABADp/8YA6v/+ASL/7QEk/+0ABADp/8YA6v/+ASL/7QEk/+0ABADp/8YA6v/+ASL/7QEk/+0ADAAX/8QAGf/EAEz/sAGa/+wBsf/tAbL/9QGz/+wBt//hAfn/cwIP/+ECEf/rAh4AEwAGADEAAQAyAAEBiQABAYoAAQGLAAEBjAABAAYA6gAC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AbT/7QIP/9oABAGx//YBt//1Abn/9gHG//YABQGx/+MBs//2Abf/7QG5/+0Byv/tAAUBs//2AbT/4wG3//YBuf/2Ac7/7AACAbcAEwHK//YACQG0/80BtwATAcX/7AHG/+MBx//ZAcj/2QHJ/6YByv/XAc7/7AABAcwAEwALAbL/9gGz/+wBtP/OAbX/6wG5/+wBxf/rAcf/7AHI/+wByf/sAcr/7AHO/+IACAGx/+wBsv/tAbf/4QG5/+wBx//sAcj/7AHK/+0BzP/ZAAIBtP/tAc7/7QACAbf/4gHM/+MAAwG3/+IBuf/2Acz/7QACAbT/2AHJ/7sAEgGx/+wBsv/sAbP/9gG3//UBuf/2Afn/6gIP/+sCEf/sA1L/9gNe//YDX//sA2L/4gNj/84Db//2A3j/9gOA/+IDg//1A5n/7AAJAbn/9gH4/+wCHgAKA1//9gNh/+IDY//sA4D/2AOD/+EDmP/sAAoBuf/rAfj/zgIe/+wDUgAKA2H/zANk//YDcf/2A4D/xAOD/80DmP/DAF8BsP//AbH/4gGy/+sBs//rAbT/4QG1/+sBtv/rAbj/9QG5/+wBuv//Acv/6wHN//UB2f/hAdr/4QHb//YB3P/2Ad3/4QHt//UB7//1AfD//wHy//8B8///AfT//wH1//8B9v//Aff/9gH5/8QB+v//Afz//wH+//8CAf/1AgP/9QIE//8CBv//Agf//wII//8CCf//Agv//wIN//8CD//gAh7/9gI0/9YCNf/WAjb/1gI3/9YCOP/WAjn/1gI6/9YCO//WAjz/1gI9/9YCbwAeAokAHgLK//YDTf/XA07/9gNP//YDUP/XA1H/9gNT//YDVP/sA1X/9gNW//YDV//XA1v/7ANc//YDXf/2A2L/9gNp//YDbv/0A3D/6wN0//UDd//1A3r/6wN8//QDf//0A4H/6wOC//QDg//rA4T/6wOF//QDhv/0A4f/9AOJ//UDjP/0A43/6wOO/+sDj//0A5H/6wOT//QDlP/0A5f/9gOY//YEPP//BD3//wARAbT/6wH5/3ICD//NAhEACgIeAAkDUgAJA17/9gNfAAoDYv/sA2P/9gNk//YDcf/sA3P/7AN4/+wDfv/YA4MAFAOXAAoADwGx/+wBsv/1AbP/7AG3/+EB+f9zAg//4QIR/+sCHgATA1L/9QNe/+ADX//0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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/y//b/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7EAAAAA//YAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAD/uv/s//b/xAAAAAAAAAAA/+IACv/2/+v/9v/Y/+z/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/r//X/2P/2//UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s//YAAAAA//YAAP/2/+v/7AAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/+L/4v/rAAAAAP/s//b/9v/2//b/9v/2/+z/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAA//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uv/iAAAAAAAAAAD/zP+6/+wARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAKAAAAAAAA//b/1//OAAAAAAAAAAD/zP/Y/+v/7P/O//YAAAAAAAAAAAAAAAr/4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAP/W/+EAAAAA/+L/9f/2ABT/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5v/9gAAAAoAHgAU/4j/9QAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAAAAAAAAAAAAAAAAAD/7AAAABQAAAAA/8L/sAAK//b/7AAAAAAACgAAAAAAAAAA/8MAAAAAAAAAAAAA/+IACv/2ABQAFAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAD/zAAAAAAAAP+6ABQAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+4//YAAAAA//YACgAAAAAAAAAA/+IAAP/r/+v/6/+mAAD/4gAKABQACv+IAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/9f/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAHf/X/8T/9QAU/+v/1//T/+L/4f/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAAA/+wAAAAAAAD/zgAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/2AAD/7AAAAAAAAAAA/+H/4gAAAAD/1//1AAAAAAAAAAD/4f/i/+sAAAAA//b/4QAAAAAAAAAAAAD/4v/6/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+v/7P/m/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnWQABAAAqhqqnAAWAFwAAAAK/+L/9v/s/83/7AAU/+z/4f/q//b/4v+w/+wAEgAS//UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAP/1ABMAAAAAAAD/wv/2//YACgAK/+z/9v/sAAn/7AAK//b/7AATAAoAFAAK/5v/9gAKABQAFAAU/4gAHwAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/XABMAE//2//YAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/1gAK/7oAAAAAAAAAAAAAAAAACgAAAAoAAAAA/7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/sP/iAAAAAAAAAAD/zABGAAAAAAAAAAAAAAAAAAD/4f/q/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/gABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+v/9P/EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+S/+wAAP/NAAD/xAAe/9j/uwAA/+wAAAAA/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v+vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/X/+L/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5z/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/r//b/2P+x/+sAAAAAAAAAAAAAAAAAAAAAAAD/9v/2AAAAAAAKAAAAAAAA/+L/4v+6/87/9gAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iAAAAAAAAAAAAAAAAAAAAAP/t//b/2AAA/8//7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+r/4QAK/+z/4f/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/0/+sAFP/2/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKNtAAEAACiBKKkABsATgAA//b/9v/i//b/6//2ACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wwAAAAAAAAAAAAD/xP/D//b/9v/2/8T/4v/D/8P/9v/2/+v/4v/r/+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4P/2//3//f/2//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr/4gAAAAAAAAAAAAAACv/iAAAAAP/2AAr/9v/s/+IAAAAAAAAAAAAAAAD//AAA//z//AAAAAD/9gAK//X/9v/2AAoACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+L/sf/rAAD/2P+wAAD/w/+xAAAAAABH/8P/zf+m/7EAAAAT/+H/6wAA/+0AAAAAAAAAAAAAAAAAAP/iAAAAAAAA/+IAAAAd/+sAXP/1/+sAHf+w/7AAE//sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAD/7P/YAAAAAP/t/+wAAP/h/9gAAAAAAAAAAP/XAAD/4AAA/+D/4AAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAUAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/2//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAP/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2ACj/4v+nAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/1AAD/9v/2AAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rAAAAAAAAAAAAAAAAAAD/9v/2/7n/4v/s/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAP/1/+L/4v/h/+EAAP/iAAAACv/2AAAAAAAAAAD/4f/3AAAAAAAAAAAAAP/sAAAAAAAAAAAACQAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/7AAAAAAACf/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW//X/7P/X/8T/9gAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAIAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/9v/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/1AAD/9gAAADwAAP/2AAAAAAAAAAD/9v/2//YAAP/aAAAAAAAA//b/7AAA/+z/7AAAAAAAAAAAAAAAAAAAAAAAAP/2//YAAAAA//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAP/2AAD/9gAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/0AAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAA//b/9v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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/+wAAP/2/+z/9gAAAAAAAAAA//b/9v/s/+wAAP/2AAD/2f/j//b/4/+y/+P/xP/O/9j/z//s/7z/z/+n/7L/vP/O//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAA/7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zv/Y/7H/9gAAAAAAAAATAAAAAAAAAAAAAP/2AAAAAAAA/+z/7AAA/+wAAAAAAAD/w//iAAD/7AAhABIAAAAA/+wAIP/s//YACgAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/iQAAAAAAAAAAAAAAAP/XAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAP/X//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAA/+L/2P/F/+z/7P/s//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQAAAAAAAAAAABYAAP/2AAAAAAAA//X/9v/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+4//b/uP/2/7j/9gAA/9gAAAAAAAD/4f/Y//b/9gAA/9f/9v/1AAD/9gAA/+H/2P/r//b/9v/s/+cAAP/2AAD/zv/E/8//6wAAAAAAFAAA/9gAAAAAAAAAAAAAAAAAAP+RAAAAAAAAAAAAAAAAAAAAKf/s//b/4f/s/9b/zQAU/+L/7P/iABP/4v+bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAKAAAAAP/1//YAAAAAAAD/9gAAAAAAAAAAAAD/9f/2AAAAAAAAAAAAAAAAAAD/7P/s/+z/4//2AAAAFQATABP/9QAAAAD/2gAAAAAAEwAA/68AAAAAAAAAAAAA//YAAAAzAAAAAAAAAAAAAP/rAAAAAAAAAAAAAAAA/7D/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+5AAD/uQAA/7kAAAAK/+EAAAAAAAD/4f/iAAAAAAAA/+IAAP/1AAAAAAAA/+H/4v/1AAAAAAAA//YAAAAAAAD/1v/E/+EAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAP91AAAAAAAAAAAAAAAAAAAAAP/9AAD/6//rAAAAAAAe/+z/9f/sAB7/7AAAAAD//f+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAA/+3/4gAAAAAAAAAA/+IAAAAAAAD/7QAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//f/7f/t/+P/4wAA/+L/4v/s/+MAAP/t//f/sf/P/+z/4gAA/+0AAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6wAAAAAAAP/iAAD/9gAAAAD/4v/2AAD/9gAA/+v/4gAA//YAAAAAAAAAAAAAAAD/9gAA/+z/2f/ZAAAAAAAAAAAAAAAAAAAAAP/iAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+0AAP/t/+P/7f/sAAAAAP/tAAD/7f/t/7H/z//tAAAAAAAAAAAAAAAAAAAAAAAA//YAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zQAA/80AAP/N/3MAAP/N/67/kv/1/87/xv+5/5L/zv+5/9j/rv+c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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAP/sAAD/1wAA/9cAAP/sAAAAAAAAAAAAAP/sABQACwAUAAAAAAAAAAAAAAAAAAoAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uAAAAAoAAP/2AAAAAP/W/8T/uv/E/9f/2AAA/87/1v/sAAD/2AAdABUAHgAU/+oACgAUAB0AEwAUABwAAP/2AAAAAAAUAAD/7P/Y/80AAAAAAAoAAP/gAAAAAAAAAAAAAAAAAAAAAAAA/80AAP/EAAAAAAAnAAAAAAAA/67/uf+v/+D/zf+c//b/r/91/+v//f/h/7D/1v/t/6YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wgAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/D/3//9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EAAP/sAAD/7P/s/+sAAAAAAAAAAAAA/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//X/7AAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAA/+IAAP/2//b/uf/s/9f/zv/D/+r/4f/iAAAAAP+wAAAAAAAAAAD/7AAAAAAAEgAAAAAAEv/1/9gAAP/iAAD/4v/O/+IAAAAA/+sAAAAA/9cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAP/sAAAAAP/iAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAA//b/6AAK/+H/2AAAAAAAAAAAAAAAAAAKAAoACgAA/+wAAP/jAAAAAP/2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AAAAAAAAAAAAAAAA//L/9gAAAAAAAAAAAAAAAAAAAAAAAAAKAAD/zgAA//YAAP+wAAD/4gAA/+z/9v/sAAAAAP/2AAAAAAAA/8T/zv/i/9j/9v/Y/+P/kv/E/9j/zgAAAAAAAAAA/9gAAP/2AAD/7AAA/+L/6wAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAP/tAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/6wACXCwABAAAhx6I/AAVAGsAAP/2/+z/7P/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAD/9//2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAA//YAAP/1/9j/9f/E/+z/7P/2/8T/6wAz//b/9f/s/+z/9P/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+H/zv/iAAAAAAAAAAAAAAAA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AAAAAAAA/+wAAAAAAAAACv/2//b/2f+m/+z/w//s/+z/7P/X//X/7v/E/+D/nP/D/7v/kv/2/83/9v/D/+z/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFP/j/7D/4f+m/80AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAD/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EAAP/1AAAAAAAA//YAAAAA/+v/5//2AAAAAAAAAAD/6wAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+//xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAD/2P/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1AAAAAAAA//YAAP/2AAAAAAAAAAD/9gAA/+wAAAAAAAAAAP/sAAAAAAAAAAAAAAAA/+gAAP/s/9j/7AAA/+z/4gAAAAAAAP/hAAAAAAAAAAAAAP/i//b/zv/2AAAAAAAAAAAAAAAAAAD/7P/2//b/9v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+P/8gAA/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+vAAAAAAAAAAAAAAAAAAAAAAAUAB0AEwAnAAAAAP/NAAAACv+uAAAAAAAAAB0AAAAAAAAAAP/WAAAAHgAU/68ACgAUABwAAAAUAAAAAAAA/9YAAAAAAAAAAAAAABQAAAAA/+wAAAAAAAAAAAAA/+r//f/rAAD/sAAAAAD/9gAA/8T/6//OAAv/zv/hAAD/7P/Y/9cAAAAKAAAAAP/2/+v/9f/OAAAAAAAAAAAAAAAAAAAAAP/gAAD/4v/Y/6b/4gAJ/+3/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ugAAAAD/4QAAABQAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAA/8QAAAAAAAAAAAAAAAAAAAAAAAAAAP/Y/+wAAP/OAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAAAAAAA/87/9QA0AAAAAAAA//YAAP/OAAAAAAAA/+MAAAAAAAAAAAAK/+wAAP/2/9gAAAAKAAAAAP/2AAAAAAAA/+3/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAD/2P/o/+wACv/ZAAAAAAAAAAAAAAAAAAoAAAAAAAD/7P/2AAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+L/7AAU//UAAksoAAQAAH1WfnQAEQB5AAD/4v/y//YAFP/j/+z/9v/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/pv/O/6v/uf+6/8T/ugAe/7r/sP/F/53/2f/Y/8T/sf/P/6j/uv+cABQACv/h/7r/zP/W/8T/zf/FAAv/2P/O/7D/4v/Y/6//2f/j/8T/xf+m/6b/4/+m/+L/4v/i/5L/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7AAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoABQAAAAAAAAAAP/sAAAAAAAV//sAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAUABQACgAKABUAFQAVABUAKQAVAAoAHgAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/2AAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/i//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8wAAAAAAAAAAAAFAAAAAAAAAAAAAP/EAAAAAAAJ//YAAAAAAAD/rv/iAAAACgAAAAD/9AAA//YAAAAAAAAAAAAJAAD/9f/1AAr/7AAAAAD/9v/XAAAAAAAA//X/9v+4AAAAAP/r/9wAFAAUAAAACgAKAAAAJwAT/87//QAAAAD/6//r/87/9f/h//QAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAD/9gAA/+wAAAAAAAAACgAAAAAAAP/i/6b/4gAAAAAAAAAA//YAAAAA/+sAAAAA//YAAP/2AAAAAP/jAAAAAAAA/+wAAP/sAAD/9v/2/84AAAAA//X/9f/O/+z/6//tAAD/zgA9/+P/6//EAAD/1//2/+z/sP/2//b/1//s//X/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9QAAAAD/4v/u/8T/7AAA/2r/pP/1AAAAAAAAAAAAAAAA/8QAAP/hAAAAAAAA/9n/6wAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAD/4v+I/5L/kv+c/6b/dAAA/5IAAAAAAAD/hwAAAAAAAAAAAAD/4QAAAAAAAAAK//b/8f/2/9n/w/+7/53/pv/7//b/7P/s/+v/xP/O/+L/f//i/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT//v/4//N/8X/p/+w/4kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAACwAUAAAAAAAAAAAAKAAKAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/2/+0AAAAAAAAAAP/2AAAAAAAA//b/9gAAAAAAAAAAAAAAAAAAAAAAAP/tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2AAKAAAAAAAAAAAAAAAA/87/2AAAAAAAAAAAAAAAAAATABP/7AAAAAAAAAAAAAD/9gAA//YAAAAAAAD/4gAAAAAAAP/2/+z/uQAAAAAAAP/s/+0AAAAAAAAAAP/sADQAAAAAAAAAAAAAAAAAAAAAAAAAAP/1AAAAAAAA/8T/4v/2/+wACv/s/+z/z//FAAAAAAAAAAAAAAAAAAAAAP/P//YAAAAAAAAAAAAAAAAAAAAAAAD/sAAA//b/9v/2//b/2P/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/84AAAAU//b/9v/Z/8//2QAA/7sAAAAAAAAAAAAAAAD/7P/2/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/x//H/8QAAAAAAAAAA//b/6//sAAD/8f/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAACO6wABAAAdQp2agAXAFYAAP/7//v/+//7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/1//YACv/1//D/2P/P//X/9gAUABMACf/2/+z/4v/iAFD/2P/Y/+wACgAK//b/9v/s//b/7P/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//r/4v/s/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU/+L/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/oAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAAD/7f/iAAD/9v/2AAAAAAAAAAD/7P/t/+wACv/s/+z/9v/r/9j/4v/2/+z/9v/1/9j/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/1wAA//YAAAAAAAAAAAAA/83/6//2AAAAAP/OAAAAAAAe/80AAAAA//UAAP/s/9j/4P/s//X/uQAAAAAAAP/m/9j/4gAN/+z/4v/s/+L/4v/iAAD/7AAA//X/2P/s//b/9v/2/+L/6//s/+z/7P/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAD/4gAA//X/9v/2AAoAAP/h/+IAAAAAAAAAEgAAAAAAAP/2AAAAAP/sAAD/4gAAAAAAAAAAAAAAAAAA//YAAP/2ABP/7AAA/+v/6//E/87/9v/s//UAAAAA/+sAAAAAAAAAAAAAAAAAAP+wAAAAAP/s/+oAEv/OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7f/s/7D/zv+c/5T/7QAAAAAAAAAA/+MAAP92/2v/2//2/4n/7QAAAAD/7f/sAAAAAP/sAAAAAAAAAAAAAP/2AAAAAAAAAAD/9v/o/9f/4QAAAAAAAAAA/+3/4f/tAAAAAAAAAAAAAAAA/8YAAAAA/+wAAP/C/+MAAP/2/37/rv+5/5z/nP+U/4r/xf/h/+IAAAAAAAAAAAAAAAAAAAAAAAD/2v+y/7L/sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/9v/2/9gAAAAAAAAAAAAAAAAAAAAAAAD/1//2/+wAAP/2AAAAAAAA/+H/6wAAAAAAAP/WAAAAAAAe/7oAAP/2AAD/9v/i/+r/4P/r/+v/xAAAAAAAAP/0/+z/6wAK//T/9P/1/+v/6//r//X/6wAA/+v/4f/s//YAAAAA//X/6//2//X/9v/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/Y/+gACv/2/+z/4v/ZAAD/2AAKAAoAAP/s/9j/zv/1ADT/u//Y/+IAFAAU//YAAP/t//YAAP/OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAoAAAAAAAD/7P/jAAAAAP/2AAAAAAAK//YAAP/2AAAAAAAAAAAAAAAAAAAAAAAA//b/7P/j/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU/8X/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAoAAP/s/+H/4f/O/84ACgAA/+z/9gAAAAAAAP+5/9cAAAAK/8QACgAAAAD/9//2AAAAAAAAABQAAAAAAAAAAAAAAAAAAP/2AAD/9v/1/+z/7AAA//X/9gAA/+L/7AAAAAAAAAAAAAAAAP/2/9gAAAAA//b/9v/q/+IAAAAA/9j/4v/0//X/4f/i/+v/6//r//YAAAAAAAAAAAAAAAAAAAAAAAD/7P/Y/9j/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAFAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAAAAAAAAAAAAD/7P/2AAD/9v/i/+L/4gAA/+wAAAAAAAD/9v/2/+v/7AAz/9j/4v/2AAAAAP/s//b/7AAA/+z/1wAAAAAAAAAA/+3/9gAAAAAAAP/2//b/7P/sAAAAAAAAAAAAAP/2//YAAAAAAAAAAAAAAAAAAP/2AAD/9gAAAAAAAAAA//YAAP/2AAAAAAAAAAAAAAAA//X/9gAAAAAAAAAAAAD/9gAAAAAAAP/s/+z/7P/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+6AAD/9gAK//YAAAAAAAn/r//O/9b/7AAA/68AHQATACf/sAAAAAD/6wAAAAD/u//WAAAAAP+uAAAAAAAA/9f/9f/XAB7/uv/OAAD/6v/Y/9gAAP/qAAAAAP/NAAAAAAAAAAD/4v/EAAAAAP/Y/+AAAAAAAAAAHP/sAAAAAAAdABUAHgAUAAoAFAAUABQACgAAAAAAAAAAAAAAAAAA//3/7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAA/7D/7P/i//b/7P/2AAD/9v+w/9j/9v/s//b/pQAA//YAFP+v/+3/9gAA/+z/7P/Y/8L/4v/i/68AAAAAAAD/1//r/9cACv/h/9j/6//h/+v/4f/i/9j/9f/i/9f/7P/s/+v/9f/i/+H/9f/r/+z/4QAA//EAAAAA//YAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAAAAD/9gAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/uQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/+//2AAAAAAAAAAAAAAACLIwABAAAbGZt/AAXAFYAAP+S//b/2P/s//b/9v+5/9j/r//r/+z/zv+5/7r/5//O/9j/2P/E/9j/h//i/+L/uv/O/8T/2P/EABT/zf90ABQAHgAd/9j/fv/f/8z/2AAK/9f/4f+5/+L/7P+7/6b/2f/r/9j/fP/NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+c/+L/9v+JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6YAAP/O/9kAAAAA/7D/xf+i/9j/7P+7/6b/sP/E/7H/u/+7/7D/xf+d/9n/2P+x/7v/sf/P/6gAAP+6/5wAFAAAAAr/4f+m/9b/zf/FAAv/zv/Y/6//2f/j/6f/pv/j/+L/4v+S/8MAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8P/2P/2/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/i/+IAAAAAAAAAAAAAAAAAAAAAAAD/6wAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAP/sAAAAAP/2AAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAABP/9v/2//b/9v/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAD/9gAA/88AAAAAAAD/9gAAAAD/+wAAAAAAAAAA/+z/9gAAAAAAAAAAAAAAAAAA//YAAAAA/+L/9gAA/5IAFv/OAAAAAAAAAAAAAP/Y//YAAP/t/+L/7f/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/O/6f/sP/O/50AAP/s/8T/2P/Y/+P/xP/Y/+z/6//r/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2P/1AAD/9v/YAAAAAAAAAAAAAAAAAAAAAAAA//b/9gAA//YAAAAA/+wAAAAAAAAAAAAKAAAAAP/sAAD/4v+mAD3/4gAA/+sAAAAAAAD/6wAA//YAAAAA/+P/9v/sAAD/9v/1/87/7AAAAAAAAAAAAAD/xP+6/7D/zv+wAAD/4v/X/+v/7QAA/87/4wAA/9f/7P/2/+z/9v/1/+v/9v/2//X/9gAAAAAAAAAA//UAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAAzAAAAAAAAAAAAAAAAAAAAAAAA/+wAAP/s//YAAAAAAAAAAP/rAAAAAAAAAAAAAAAA/9j/xP/E//b/ugAA/+sAAAAAAAAAAP/rAAAAAP/0AAAAAP/1//UAAP/s//UAAAAAAAAAAAAAAAAAAP/2ACoAAAAVACAAPQAAAAD/7QAMAAwAAP/s//YAAP/s//b/9gAA//f/7AAAAAz/7P/2/+wAAAAAAEgAAAAAAFIAUgBHAAAAAAAAAAAAAABR/+wAAP/sABYADf/sAAAAAAALABUAAAAAAAAAAAAAAAAAPQA+AD4APgA0AEgAAAAgAD4AKgA+AD4ANAA+/+wAPQAVAAAAFwA0AD4APv/2AAAAAP/2ABUAFQAAAAD/7AAAAAAAAP/iAAD/9v/2AAAAAAAAAAAAAAAAAAAAAP/2//YAAAAA/+MAAAAAAAoAAAAAAAAAAAAAAAAAAP+mADT/6wAA/+wAAAAAAAD/6wAAAAAAAAAA/+z/9v/2AAAAAP/2/9gAAAAAAAAAAAAAAAD/zv/E/7r/4v+6AAD/7P/r/+z/7QAA/9f/7AAA/+L/9v/2//b/9v/s/+z/7AAAAAD/9gAAAAD/9gAAAAAANAAAAB4ANAA0AAAAAAAAAB8AHwAA//EAAAAA//YACgAKAAAAAP/iAAAAFf/iAAAAAAAAAAAAWwAA/+wAZgBvAFAAHgAAAAAAAAAAAGUAAAAUAAAAHwAWAAD/7QAAAB4AFf/tAAAAAAAAAAAAAAA5AD4ASABIAEgASAAAACEAUgA0AFsAUgBIAFEAAABHABP/9gAX//YAWgA+AAAAAAAAAAAAKQApAAAAAAAAAAAAAAAA/+IAAP/sAAD/9gAAABcAAP/2AAAAAAAAAAUACgAAAAAAAAAAAAD/9QAAAAAAAAAAAAoAAAAA/9cAHgAAAAoAAP/sAAAAAP/1AAD/9f/rAAD/7QAAAAsAAP/2AAAAAAAAAAAAAAAAAAAAAP/s/9j/uwAA/9gAAAA0AAAAAAAAAAAAAAAAAAD/2QAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iAAAAAAAAAAAAAAAAAAAAAAAA//v/+//i/+IAAAAAAAAAAAAA//YAAAAAAAAAAP/YAAAAAP+SABb/zv/2AAAAAAAAAAD/zv/2AAD/4//iAAD/8QAAAAD/9v/2AAAAAAAAAAAAAAAAAAD/xP+w/7r/uv+mAAD/7P/O/7v/z//j/7r/xf/s/9j/7P/1AAAAAP/1AAAAAAAA//YAAAAAAAD/9gAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8f/xAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAApAAAAAAAAAAAAAAAAAAAAAAAA/+0AAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/7P/sAAD/6wAAAAAAAAAAAAAAAP/jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAACgAKQAUAAAAAAAAAAAAAAAVAAAAAP/tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAeAAAAAAALAAAAAAAAAB4AFQAVABUAFQAVAAAAFAAAAAAAAAAAABQACgAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAP/sAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAP/2//UAAAAA/+wAAAAAAAAAAAAAAAD/9gAAACkAAAAA//YAAAAAAAAAAAAAAAD/9gAAAAAAAP/2AAAAAAAA/+EAAAAAAAAAAAAAAAAAAP/1//YAAP/1AAAAAAAAAAAAAAAAAAAAAP/2AAAACQAAAAAAAAAA//b/9v/2//YAAAAAAAAAAAAAABQAAAAAAAD/2AAKAAAAAAAAAAAAAAAA/+z/9gAAAAAAAAAAAAAAAAAAAAAAAP/iAAD/6wAAAAAAAAAAAAD/1wAAAAAAAAAKAAAAAAAAAAAAAAAA/+IAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9f/zv+6AAD/ugAA/+sAAAAAAAAAAAAAAAD/9f/sAAD/9QAAAAD/9QAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAP/2AAD/9gAAAAAAAAAAAAAAAP/2//b/9gAAAAAAAAAAAAD/7AAAAAAAAAAA/+wAAAAA/+wAHwAAAAAAAP/2AAAAAAAA//UAAP/2//YAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/+L/2P/i/9kAAAAA/+z/7AAAAAD/7AAA//b/9f/1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/w//sAAAAAP/iAAD/9QAA//YAAAAAAAD/9v/2ABMAAAAKAAoAAP/2/6UAAP/2/+wAAP/iAAAAAAAUAAD/uP/YAB8AAAAA/6//9P/xAAAAAAAA//X/6gAK//YAAP/OAAD/7AAA/8IAAAAAAAAAAAAAAAAAAP/Y/84ACv/OAAD/4gAAABMAFAAUAAAAHQAA/+IAAP/1/+z/9f/r/8T/9f/WAAAAAAAAAAAAAAAA//b/9gAAAAD/7AAAAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAD/uQAo/+wAAAAAAAAAAAAA/+sAAAAAAAD/9v/2//YAAAAA//b/9v/YAAAAAAAAAAAAAAAA/+L/xP+n//X/ugAA/+L/6//2AAAAAP/i/+wAAP/i//b/9f/s//b/9QAA//YAAP/1//YAAAAA//YAAAATAAAAAAAA//UACgAAAAAAAAAAAAAAAAAAAAAACQAAAAoAAAAAAAAAAAAAABT/7AAAAAAAAAAAABMACgAA/+IAJwAAAAoAAAAAAAAAAAAAAAAAAP/2AAoAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAA/+L/2AAK/9gAAP/2AAkAAAATAAAAAAAdAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAP/ZAAAAAAAA//cAAP/3AAD/9gAAAAAAAP/s/+wAAP/2AAAAAAAA/+0AAAAAAAAAAP/2AAAAAP+xABYAAAAAAAAAAAAAAAD/7AAAAAD/9v/2AAD/9gAAAAD/9gAAAAAAAAAAAAAAAAAAAAD/4f+7/7v/4v+xAAD/4v/i/+L/7P/t/9j/7P/2/+z/7P/2AAAAAP/tAAAAAAAA//YAAAAAAAAAAAACHWYABAAAY5hksAAPAHwAAP+5/+v/2P/r//3/6//Y/87/8P/s/+z/7P/2AAoACgAJ/6X/6//1/9wAFAAUAAj/rgAKAAr/4gAnABP/pv/O/87/9P/1//X/6//0/9YACv/t/+IACv/X//X/9f+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/87/zQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAoAAAAAAAAAAP/OABUAAAAA/8QAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAD/9v/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/4v/PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4v/2AAAAAAAAAAAAAAAAAAD/4//sAAAAAAAAAAAAAAAAAAD/z//2/8//9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6//xP+I/4n/7P/tAAD/4v/t/9j/pv/YAAD/xv/Z/8//nP+c/8YAAP91/3X/dP+L/3UAAP90AAAAAAAA/+MAAP+y/+P/sv/Q/8X/ugAA/+P/4wAA/+L/7P+JAAD/iQAA/6//xf/s/+L/2P+m/8X/4v+m/9j/xQAM/9j/7f/j/8//sP9//9r/sP+v/6//f//Y/+z/7QAM/7z/2v/E/+P/7P/jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAA/+z/2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8/+z/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9n/7P/Z/+wAAAAKAAAAAAAAAAAACgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6//rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/+z/9v/s/9j/zv/YAAD/9gAAAAAAAAAA//b/9v/jAAAAAP/s//b/9gAAAAD/9v/3/8YAKv/2/+L/zv/sAAAAAP/s//YAAAAAAAAAAP/i//b/4gAA//X/4v/sAAD/2P/s/9j/7P/sAAAAAAAA//b/9gAAAAD/9v/2AAAAAAAAAAD/9gAAAAD/9gAAAAD/7P/s/+3/9gAAAAAAAP/2//b/7AAA//YAAAAAAAD/9v/2//b/7P/2/+P/7f/j/+P/7f/2//b/4//t//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK//YAAP/j/+IAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/tAAAAAP/s/87/xQAA//YAAAAAAAAAAAAJAAD/7f/W/9b/2AAAAAAAAAAAAAAAAAAAAAAAAAAA/7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2/8UAAP/EAAD/7AAAAAAAAAAAAAoAAAAAAAkAAAAAAAoAAAAKAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/hAAr/uv/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6//s/+L/6//O/+L/u/+xAAAAAP/sAAD/9v/2/+z/9f/PAAAAAP/W/9gAAAAAAAAAAAAAAAAAAAAA/9f/qP/PAAAAAAAA//YAAAAA/+3/2f/O/+L/4//j/9oAAP/s/+z/sf/PAAAAAP/OAAoAAAAA//X/7AAAAAAAAAAAAAr/9//2AAAAAAAA/88AAAAAAAAAAAAA/+EAAAAA//b/9wAA/+MAAP/PAAAAAP/rAAD/7AAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/s//b/9f/W//b/6//E/+wAAAAAAAAAAAAAAAAAAP/iAAD/7P/2/9b/9v+8/7sAAAAAAAAACgAAAAD/9v/2/9AAAAAA/9j/2//uAAAAAAAAAAAAAAAAAAD/4f+y/9gAAAAA/+P/7QAJ/+3/7P/P/7H/xf/i/+P/xgAAAAD/9v+7/9j/u//Y/9YACgAAAAr/9v/2AAoACv/2AAAACgAAAAAAAAAAAAAAAAAAAAAAAAAA/9b/2f/2AAAAAAAAAAD/4wAA/9D/4wAA/+L/4gAAAAD/9gAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAP/2/9YAAAAA/8b/7P/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/jAAAAAP/t/+0AAP/sAAD/9v/tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4//jAAD/7P/tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAACEAAAAA//YAAAAAAAAAAAAA/+L/7P/2/+wACgAA/9b/2AAA/+0AAP/sAAAAAAAAAAAAAAAA/9gAAAAA/+sAAP/sAAD/4f/1//YAAAAAAAAAAP/sAAAAAAAAABMAAAAAAAAAAAAA/+wAAP/iAAr/7P/s/+L/7P/s/+wAZv/s//b/7P/NAAAAAP/sAAAAAAAAAAAACgAA/+wAZgAAAAAAAP/s/+z/7P/i/+IAAAAAAAD/7AAAAAAAAP/EAAAAAP/XAAAAAAAAAAAAAAAAAAAAHQAAAAAAAP/2//YAAP/X//YAAP/q//YAAP/sAB3/7P/Z/+0AAP/kAAAAAAAA/+z/7P/Z/9kAAAAAAAAAAAAAAAAAAAAA/9gAAAAA/80AAAAAAAAAAAAAAAAAAAAAAAD/6//Q/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/Z/+z/2f/s/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAl/+T/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9cAAAAAAAAAAAAAAAAAAAAA/80AAAAA//v/2P/2/87/sgAA//b/9gAAAAAAAAAAAAAAAAAAAAD/xAAAAAD/7QAAAAAAAAAAAAAAAAAA/8X/uwAAAAD/2f/P/+3/xf/t/7P/nv/Q/+H/xv/jAAD/9gAA/7L/u/+y/7v/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+MAAAAAAAAAAAAAAAD/2P/aAAAAAAAAAAD/7f/QAAD/vP/tAAD/zf/NAAAAAP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/9QAA/+wAAAAAAAD/nP/1/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/+wAAP/Z//b/2f/E/+IAAP/h/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAP/Z//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg8sAAQAAF4OXlQABwCBAAD/ff+vAB3/4//h/7j/2P/2/33/4//h/+z/9v99//b/4//2AB3/+//h/84AMP/2/9j/4f/2/5r/z//j/1b/Vv/2AB3/4f/s/7n/4f/s/+z/4v/E/4D/4v/2/+z/iP/N/7AAE//s/+z/zv/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/kQAAAB7/7P/YAAD/xQAA/5H/7P/FAAAAAP+RAAD/7AAAAB4AAP/Y/8QAFAAA/8X/2AAA/7L/1//j/3MAAAAAAB4AAAAAAAD/2AAA/+L/4v/N/7j/7f/t/+z/fgAA/7AAFP/r/+wAAP/s//YAFAAUABUACv/2ABX/9gAUAAoAFQAU//b/7f/Y/9r/9gAU/+L/4v/sABT/7P/i/+P/7AAUABP/9v/EAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/hwAAABT/2P+6AAD/p//Y/4f/2P+nAAD/2P+HAAD/2AAAABQAAP+6/7oAFP/Y/6f/sP/Y/57/sf/O/0wAAAAAABQAAAAAAAD/sAAA/+H/uv+b/5D/xf/Z/9f/iAAA/5wAE//E/9cAAP/NAAAAFP/tAAD/7AAAAAAAAAAA/+IAAP/t/+P/2P/E/88AAAAA/9j/nP/Y/+0AAAAAAAD/7AATAAD/7P+7/+z/2AAK/9j/9v/Y/7L//f/s//b/7P/2/+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAU/8P/4gAAAAD/9gAAABT/6//2AAAAAAAUACD/6wAA/8P/1wAAAAAAAAAA//YAAAAAAAAAAAAAABQAAAAA/8MACgAAAAAAAP/sAAAAAP/sABT/9gAA/+wAAAAAAAD/7AAUAAAAAAAAAAAAAP/i/7kAAAAA/8IAAAAU/+z/uf/iAAAAAAAAAAD/zgAUAAAAAAAA/+IAAAAAAAAAAAAA/+wACgAAAAD/6/+SAAAAFv/rAAAAAAAAABb/4gAAAAD/dP/O/6YAFP+w/87/pv+mABT/4v+SAAT/kgAU/6b/7P+6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/hwAAABT/9v/YAAD/6//2/4f/9v/rAAD/9v+H/+z/9gAAABQAAP/Y/9gAE//2/+v/7P/2/5wAAAAA/1YAAAAAABQAAAAAAAD/7AAAAAAAAAAA//sAAAAA//YAAAAAAAAAAAAAAAAAAP/tAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAA//YAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAP/2//UAAAAAAAD/9QAAAAAAAAAAAAAAAAAA/+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAD/9//2//YAAAAA/+3/9gAAAAAAAAAAAAAAAP/1//UAAAAAAAAAAAAAAAD/9f/1AAAAAAAAAAD/7QAAAAAAAAAA//UAAAAAAAAAAP/r/+sAAP/jAAAAAP/1AAAAAAAA/+0AAAAAAAD/7P/2//YAAAAA//UAAAAAAAD/9f/1AAAAAAAAAAD/9QAAAAAAAAAA/+3/9v/2/+z/2ABH//b/7f/2/+z/9gAAAAAAAAAAAAD/7AAAAAAAAAAAAAAACgAU/+wAAAAKAAAAFP/sAAAAAAAAAAD/7AAAAAAAEwATAAoAAAAA/9AAAAAA/+sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAFAAKAAoAAP/2AAr/9gAAAAoACgAKAAAAAAAAABwAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAP/YAAAAAP/sAAAAEwAAAAAAAAAAABQAAAAAAAAAAAAA/+L/9QAAAAD/4v/i//UAAP/sAAD/7P/1AAAAAAAAAAAAAAAA/+wAAAA+AAAAAAAAAAAAAAAT/+wAEwAKAAEAHAMSAxQDFgMYAxoDHAMeAyADIgMkAyYDKAMxAzUDNwM5AzsDPQM/A0EDQwNFA0cDSQNLA58DoAQ5AAEARwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUA+wD8AQ0BLQEuAVUBWwFcAXkBggGaAZsBnAGdAwcDDANuA3IDdAN2A3wDfgOBA4UDkwOVA+wD7wPxA/ID9AP2A/oD/wQCBAMEBwQJBAoECwQQBB0EJwQoBDQAAQAZAxUDFwMZAxsDHQMfAyEDIwMlAycDKQMyAzYDOAM6AzwDPgNAA0IDRANGA0gDSgNMBDoAAQBgAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsASwBMAF0AeAChAKcAqADDAMwA5QOhA6QDpgOnA6kDqwOvA7QDtwO4A7wDvgO/A8AD0gPcA90D6QRGBEcESARJBEoESwRMBE0ETgRPBFAEUQRTBFQEVQRWBFcEWARZBFoEWwRcBF0EXgRfBHYE0gTTBO4E9wUQBVIFVAVWBV8FYgVjBWcFaQVqBWsFfQWIAAEAAQMrAAEACQAEABQAFQAeAC4ALwRIBFgEWQABAAYDKgMtAy4DLwMwAzQAAgAUAAIADQAAAA8AEQAMABMANQAPAKEAoQAyAMwAzAAzAOUA5QA0APwA/AA1AS0BLQA2AVUBVQA3AYIBggA4AZoBnQA5A24DbgA9A3IDcgA+A3QDdAA/A4UDhQBABEYEUQBBBFMEVQBNBFcEXwBQBPcE9wBZBRAFEABaAAEAAQMzAAEABgAQABYAKgAwBFQEWgABAAEDLAABABAAAgAGAAoAEAAWABwAIAAkACoAMAEtBEYESgROBFQEWgABAAMDGAMgAyIAAQDZAAEAAwAHAAkACgAOAA8AEQAVABYAFwAYABkAGgAhACwAMwBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfACAAIcAiACJAIoAiwCMAI0AjgCPAJAAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDkATkBagFrAWwBmQGhAaQBsQGyAbQBtQG3AbkBxQHGAccByAHJAcwBzgHfAeEB4gHkAeUB+AH5Ag8CEQIdAh4CHwKeAp8CoAKhAqICqQKvArACzgLPAtAC2gNOA1IDVgNZA10DYQNiA2MDbwNxA3MDdQN3A3gDewN/A4MDpAOnA6kDqgOrA6wDrQOuA7ADsQOzA7QDtQO2A7gDuQO8A8ADwwPEA8YDxwPIA8kDzAPNA84DzwPQA9ED0wPUA9UD1gPYA9kD3APdA94D4APhA+ID5wPqA+sEDgQRBBMEFAQcBB4ERwRLBFUEWwUPBRIFFgUaBSEFJQUmBScFLAVcBWAFbgVxBXQFdwV8BYsAAQASAAMABwNOA2IDsQO1A8MDxgPJBEcESwUSBSYFXAVgBW4FcQV0AAEAFgARABcAGQDkA1YDXQNhA2MDzAPRA+AEVQRbBF0FDwUaBSEFJQUnBXcFfAWLAAEAGwFrAZkBpAG0AbUBuQHJAcoBzgHfAeAB+AIRAh0CHgKfAqIDUgNvA3EDdwN4A4MEDgQRBBQEHgABABkAAQAsADMBsQGyAbcBxQHGAccByAHMAeEB4gHjAfkCDwIfAqACrwNzA3UDewN/BBwELQACABMDoQOwAAADsgO0ABADtgPCABMDxAPFACADxwPIACIDygPLACQDzQPQACYD0gPfACoD4QPsADgELgQuAEQFTAVbAEUFXQVfAFUFYQVtAFgFbwVwAGUFcgVzAGcFdQV2AGkFeAV7AGsFfQWKAG8FjAWWAH0AAgAZA00DTQAAA08DUQABA1MDVQAEA1cDXAAHA14DXwANA2QDagAPA20DbQAWA+0D7QAXA+8D8gAYA/QEDQAcBA8EEAA2BBIEEwA4BBUEGwA6BB0EHQBBBB8EIQBCBCMELABFBC8ENwBPBREFEQBYBRMFFQBZBRcFFwBcBRkFGQBdBRsFHgBeBSAFIABiBSIFIwBjBSkFKQBlAAIAGwACAAIAAAAEAAYAAQA2AGYABACoAKgANQDjAOMANgNgA2AANwNrA2wAOANuA24AOgNwA3AAOwNyA3IAPAN0A3QAPQN2A3YAPgN5A3oAPwN8A34AQQOAA4IARAOEA4UARwOHA5EASQOTA5MAVARGBEYAVQRIBEkAVgRgBHUAWAR3BH8AbgUOBQ4AdwUYBRgAeAUfBR8AeQUkBSQAegUqBSoAewACABAACAAQAAAAEgAWAAkAZwCBAA4AgwCnACkAqQC1AE4AtwDSAFsA5QDlAHcESgRKAHgETARUAHkEVgRaAIIEdgR2AIcEgASVAIgElwSsAJ4ErgT9ALQFEAUQAQQFKwUtAQUAAgAPABgAGAAAABoAKwABAC0AMAATANMA4gAXAOYBNAAnATYBQQB2AUMBVACCAVsBagCUAWwBgQCkAYgBiAC6AZoBmwC7AZ4BowC9BFwEXADDBF4EXwDEBP4FDQDGAAIADwAxADIAAAA0ADUAAgGJAZgABAGzAbMAFAG4AbgAFQHNAc0AFgHZAd0AFwHsAfAAHAHyAfcAIQH6AgQAJwIGAg4AMgIYAhkAOwLGAs0APQLSAtUARQQ8BD4ASQABAA4BsAG2AboBywHkAeUB5gHnAegB6QHqAesCEwIaAAIAEQAHAAcADgNOA04AAgNiA2IABAOxA7EADAO1A7UACgPDA8MABgPGA8YACAPJA8kAEARHBEcAAQRLBEsADwUSBRIAAwUmBSYABQVcBVwADQVgBWAACwVuBW4ABwVxBXEACQV0BXQAEQACAXMAAgACAAEAAwADAAIABAAEAAUABQAHAAIACAAIAAUACQAKAAIACwALAAMADAANAAIADgAPAAQAEAAQAAUAEQARAAIAEgASAAUAEwATAAIAFQAVAAYAFgAWAAcAGAAYAAgAGgAaAAkAGwAbAAoAHAAcAFgAHQAdAAwAHgAgAF0AIQAhAAsAIgAiAFkAIwAjAAwAJAAkAFoAJgAnAAwAKAApAFwAKgAqAF0ALAAsAF0ALQAtAFwALgAuAF4AMAAwAA0AMQAyAA4ANAA0AA8ANQA1AF8ANgBLAAEATQBRAAUAUgBmAAIAZwBtAAUAbgB8AAIAfQB9AAMAfgCGAAIAhwCQAAQAkQCoAAUAqQCuAAIAtwC7AAYAvADSAAcA0wDWAAgA1wDeAAkA3wDiAAoA4wDkAAIA5QDlAAUA5gD8AFgA/QEWAF0BFwEdAFkBHgEhAAwBIgEjAFoBJAEmAFsBJwEoAFoBKQEpAFsBKgErAFoBLAEsAFsBLQEtAFwBMAEwAAwBMQExAFwBMgE5AAwBOgFBAFwBQwFEAFwBRQFcAF0BXQFiAFwBYwFpAF4BagFrAAsBcgGIAA0BiQGMAA4BjQGUAA8BlQGYAF8BmQGZAF0BmwGbAF0BngGjAAsBtgG2ADcBuAG4ADQBywHLADcBzQHNADQB2QHaABAB2wHcADIB3QHdABAB5AHlABMB5gHmABQB5wHnAFUB6AHoABQB6QHpAFUB7AHsAGAB7QHtAGEB7gHuAGAB7wHvAGEB8AHwADUB8gH2ADUB9wH3ABIB+gH6ADYB+wH7ABEB/AH8ADYB/QH9ABEB/gH+ADYB/wH/ABECAAIAAGACAQIBAGECAgICAGACAwIDAGECBAIEADUCBgIIADUCCQIJADYCCgIKABECCwILADYCDAIMABECDQINADYCDgIOABECEwITABUCGAIZADMCGgIaABUCGwIcAFcCIAIpABgCNAI9ABYCZAJlAFYCaAJoAFYCbAJsAFYCbwJvABkCdAJ0AFYCdgJ2AFYCeAJ4AFYCeQJ5ABcCegJ6AFYCewJ8ABcCfgJ+ABcCgAKAAFYCggKEAFYCiQKJABkCjgKOAFYCkAKQAFYCkgKUAFYClQKWABcCmgKbAFYCygLKABIDTQNNACIDTgNPACMDUANQACIDUQNRACMDUwNTACMDVANUACUDVQNWACMDVwNXACIDWANZACQDWwNbACUDXANdACMDYANgACYDaQNpACMDbANsACYDbgNuADADcANwACgDcgNyACcDdgN2ACkDeQN5ACoDegN6ACgDfAN8ADADfwN/ADADgQOBACsDggOCADADhAOEACsDhQOHADADiAOIACcDigOKACkDiwOLADEDjAOMADADjQOOACsDjwOPADADkAOQADEDkQORACsDkwOUADADlQOVACoDoQOhAEADogOkAEMDpQOlAEEDpgOmAEMDpwOnAEQDqQOrAEMDrAOsAEEDrQOuAEMDrwOvAEsDsAOxAEMDsgOyAEsDswOzAEIDtAO0ADoDtgO2AEQDtwO3AEMDuAO4ADkDuQO6AEMDuwO7AEIDvAO9AEMDvwO/AEMDwQPCAEMDwwPDAEIDxAPEAEMDxQPFAEsDxwPIAEMDygPKAEEDywPLAEMDzAPMAEIDzQPOAEMDzwPPADoD0APQAEMD0gPSAEsD1APVAEMD1gPWAEQD2APYAEMD2QPZAEID2gPaAEMD2wPbAEsD3APdADsD3gPeAEQD3wPfADkD4APhAEMD4gPiAEQD4wPjAEAD5QPlAEMD5gPmAEsD5wPnAEMD6APpAEsD6gPrADoD7APsAGID7gPvAFQD8QPxAFID8gPyAEgD8wPzAGMD9AP2AFQD9wP3AEwD+AP5AFQD+gP6AFID+wP7AFQD/QP9AFID/gP+AEYD/wP/AD0EAAQAAFIEAQQBAEgEAgQCAFQEAwQDADwEBAQFAFQEBgQGAEYEBwQIAFQECQQJAGMECgQKAFQEDAQNAFIEDgQOAEUEDwQPAFQEEAQQAFIEEgQTAFMEFQQVAEwEFgQWAFQEFwQXAEUEGAQZAFQEGgQaAD0EGwQbAFQEHQQdAFIEHgQeAEcEHwQgAFQEIQQhAEgEIgQiAGMEIwQjAFQEJAQkAEYEJQQlAFQEJgQmAFIEJwQoAEcEKQQpAEgEKgQqADwEKwQrAEUELAQsAEgELQQtAEUELgQvAGIEMAQxAFIEMgQyAFQEMwQ0AFIENQQ2AD0EPAQ9ADUEPgQ+ADMEPwRAAFcERgRGABoERwRHABsESQRLABsETQROABsETwRPABwEUARRABsEUgRTAB0EVQRVABsEVwRXABsEWQRZAB4EWgRaAB8EXARcACAEXgReACEEYAR1ABoEfASQABsEmQSnABsEqASoABwEqQSxABsEsgS7AB0E1ATZABsE4QTmAB4E5wT9AB8E/gUBACAFAgUJACEFDgUPABsFEQURACwFEgUTAC0FFAUUACwFFQUVAC0FFwUXAC0FGAUYADgFGQUaAC0FGwUbACwFHAUdAC4FHwUfADgFIAUhAC0FJAUkAC8FKQUpAC0FKgUqAC8FTAVMAEkFTQVPAE8FUAVQAE0FUQVRAE8FUgVSAFEFVAVWAE8FVwVXAE0FWAVZAE8FWgVaAFAFWwVcAE8FXQVdAFAFXgVeAE4FXwVfAEoFYQVhAFEFYgViAE8FYwVjAD4FZAVlAE8FZgVmAE4FZwVoAE8FagVqAE8FbAVtAE8FbgVuAE4FbwVvAE8FcAVwAFAFcgVzAE8FdQV1AE0FdgV2AE8FdwV3AE4FeAV5AE8FegV6AEoFewV7AE8FfQV9AFAFfwWAAE8FgQWBAFEFgwWDAE8FhAWEAE4FhQWFAE8FhgWGAFAFhwWIAD8FiQWJAFEFigWKAD4FiwWMAE8FjQWNAFEFjgWOAEkFkAWQAE8FkQWRAFAFkgWSAE8FkwWUAFAFlQWWAEoAAgAVABEAEQACABcAFwAQABkAGQASAOQA5AAMA10DXQAIA2EDYQAEA2MDYwAGA8wDzAAOA9ED0QAUA+AD4AAKBFUEVQADBFsEWwARBF0EXQATBQ8FDwANBRoFGgABBSEFIQAJBSUFJQAFBScFJwAHBXcFdwAPBXwFfAAVBYsFiwALAAIBNgACAAIAFAADAAMAFQAEAAQATAAFAAcAFQAIAAgATAAJAAoAFQALAAsAFgAMAA0AFQAOAA8ASwAQABAATAARABEAFQASABIATAATABMAFQAUABQAFwAVABUAGAAWABYAGQAYABgAGgAaABoAGwAbABsAHAAcABwAUgAdAB0ATQAeACAAIAAhACEAUwAiACIAHQAjACMATQAkACQAVAAlACUAVQAmACcATQAoACkAHwAqACoAIAAsACwAIAAtAC0AHwAuAC4AVgAvAC8AIQAwADAAVwAxADIAIgA0ADQAIwA1ADUAWAA2AEsAFABNAFEATABSAGYAFQBnAG0ATABuAHwAFQB9AH0AFgB+AIYAFQCHAJAASwCRAKgATACpAK4AFQCvALUAFwC3ALsAGAC8ANIAGQDTANYAGgDXAN4AGwDfAOIAHADjAOQAFQDlAOUATADmAPwAUgD9ARYAIAEXAR0AHQEeASEATQEiASMAVAEkASYAHgEnASgAVAEpASkAHgEqASsAVAEsASwAHgEtAS0AHwEuAS8AVQEwATAATQExATEAHwEyATkATQE6AUEAHwFDAUQAHwFFAVwAIAFdAWIAHwFjAWkAVgFqAWsAUwFsAXEAIQFyAYgAVwGJAYwAIgGNAZQAIwGVAZgAWAGZAZkAIAGbAZsAIAGeAaMAUwGwAbAAEQG2AbYADgG4AbgACwG6AboAEQHLAcsADgHNAc0ACwHZAdoAJQHbAdwAJAHdAd0AJQHkAeUAJwHmAeYAKAHnAecAKQHoAegAKAHpAekAKQHsAewAWQHtAe0APAHuAe4AWQHvAe8APAHwAfAADAHyAfYADAH3AfcADQH6AfoAWgH7AfsAJgH8AfwAWgH9Af0AJgH+Af4AWgH/Af8AJgIAAgAAWQIBAgEAPAICAgIAWQIDAgMAPAIEAgQADAIGAggADAIJAgkAWgIKAgoAJgILAgsAWgIMAgwAJgINAg0AWgIOAg4AJgITAhMAKgIYAhkACgIaAhoAKgIbAhwAEAIgAikANgI0Aj0AKwJkAmUALQJoAmgALQJsAmwALQJvAm8ALAJ0AnQALQJ2AnYALQJ4AngALQJ5AnkADwJ6AnoALQJ7AnwADwJ+An4ADwKAAoAALQKCAoQALQKJAokALAKOAo4ALQKQApAALQKSApQALQKVApYADwKaApsALQLKAsoADQNNA00AAQNOA08ANANQA1AAAQNRA1EANANTA1MANANUA1QAAgNVA1YANANXA1cAAQNYA1kANQNbA1sAAgNcA10ANANgA2AAAwNpA2kANANsA2wAAwNuA24ABANwA3AABQNyA3IAOgN0A3QAOwN2A3YABgN3A3cAOwN5A3kACAN6A3oABQN8A3wABAN/A38ABAOBA4EACQOCA4IABAOEA4QACQOFA4cABAOIA4gAOgOJA4kAOwOKA4oABgOLA4sABwOMA4wABAONA44ACQOPA48ABAOQA5AABwORA5EACQOTA5QABAOVA5UACAOiA6QAWwOmA6YAWwOpA6sAWwOtA64AWwOvA68APwOwA7EAWwOyA7IAPwOzA7MAPgO0A7QAQAO3A7cAWwO4A7gAPQO5A7oAWwO7A7sAPgO8A70AWwO/A78AWwPBA8IAWwPDA8MAPgPEA8QAWwPFA8UAPwPHA8gAWwPLA8sAWwPMA8wAPgPNA84AWwPPA88AQAPQA9AAWwPSA9IAPwPUA9UAWwPYA9gAWwPZA9kAPgPaA9oAWwPbA9sAPwPcA90AQQPfA98APQPgA+EAWwPlA+UAWwPmA+YAPwPnA+cAWwPoA+kAPwPqA+sAQAP+A/4AQwP/A/8ARAQDBAMAQgQGBAYAQwQaBBoARAQeBB4ARQQkBCQAQwQnBCgARQQqBCoAQgQ1BDYARAQ8BD0ADAQ+BD4ACgQ/BEAAEARGBEYALgRHBEcATgRIBEgAUARJBEsATgRMBEwAUARNBE4ATgRQBFEATgRSBFMATwRUBFQAUARVBFUATgRWBFYAUARXBFcATgRYBFgALwRZBFkAMARaBFoAMQRcBFwAUQReBF4AMgRfBF8AMwRgBHUALgR3BHsAUAR8BJAATgSRBJUAUASXBJgAUASZBKcATgSpBLEATgSyBLsATwS8BNMAUATUBNkATgTaBOAALwThBOYAMATnBP0AMQT+BQEAUQUCBQkAMgUKBQ0AMwUOBQ8ATgUQBRAAUAURBREAEgUSBRMANwUUBRQAEgUVBRUANwUXBRcANwUYBRgAEwUZBRoANwUbBRsAEgUcBR0AOAUfBR8AEwUgBSEANwUkBSQAOQUpBSkANwUqBSoAOQUrBSsALwVaBVoASAVdBV0ASAVeBV4ARwVfBV8ASQVjBWMARgVmBWYARwVuBW4ARwVwBXAASAV3BXcARwV6BXoASQV9BX0ASAWEBYQARwWGBYYASAWHBYgASgWKBYoARgWRBZEASAWTBZQASAWVBZYASQACABoBawFrABQBmQGZAAwBpAGkAAEBtAG0ABIBtQG1AA8BuQG5ABkByQHJABMBygHKABABzgHOABoB3wHfAA0B4AHgAA4B+AH4AAYCEQIRAAQCHQIdAAICHgIeAAMCnwKfAAcCogKiABEDbwNvAAUDcQNxAAkDdwN3ABcDeAN4ABgDgwODAAgEDgQOAAoEEQQRAAsEFAQUABYEHgQeABUAAgElAAIAAgAaAAMAAwAhAAQABAAiAAUABwAhAAgACAAiAAkACgAhAAsACwAMAAwADQAhAA4ADwBMABAAEAAiABEAEQAhABIAEgAiABMAEwAhABUAFQANABYAFgAOABgAGAAPABoAGgAQABsAGwAjABwAHAA6AB0AHQAcAB4AIAARACEAIQA7ACIAIgAbACMAIwAcACQAJAA4ACUAJQAmACYAJwAcACgAKQBNACoAKgARACwALAARAC0ALQBNAC8ALwAnADAAMAA8ADEAMgAoADQANAApADYASwAaAE0AUQAiAFIAZgAhAGcAbQAiAG4AfAAhAH0AfQAMAH4AhgAhAIcAkABMAJEAqAAiAKkArgAhALcAuwANALwA0gAOANMA1gAPANcA3gAQAN8A4gAjAOMA5AAhAOUA5QAiAOYA/AA6AP0BFgARARcBHQAbAR4BIQAcASIBIwA4AScBKAA4ASoBKwA4AS0BLQBNAS4BLwAmATABMAAcATEBMQBNATIBOQAcAToBQQBNAUMBRABNAUUBXAARAV0BYgBNAWoBawA7AWwBcQAnAXIBiAA8AYkBjAAoAY0BlAApAZkBmQARAZsBmwARAZ4BowA7AbABsAAtAbYBtgAWAbgBuAAuAboBugAtAcsBywAWAc0BzQAuAdkB2gASAdsB3ABHAd0B3QASAeQB5QAqAeYB5gAGAecB5wArAegB6AAGAekB6QArAeoB6wAsAewB7AATAe4B7gATAfAB8AAUAfIB9gAUAfcB9wAFAfoB+gBBAfsB+wAVAfwB/ABBAf0B/QAVAf4B/gBBAf8B/wAVAgACAAATAgICAgATAgQCBAAUAgYCCAAUAgkCCQBBAgoCCgAVAgsCCwBBAgwCDAAVAg0CDQBBAg4CDgAVAhMCEwAzAhoCGgAzAhsCHAA3AiACKQA1AjQCPQA5AmQCZQA2AmYCZwBCAmgCaAA2AmkCawBCAmwCbAA2Am0CbgBCAm8CbwAHAnACcwBC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ADgCAAIAACECAQIBADoCAgICACECAwIDADoCBAIEACICBgIIACICCQIJAEgCCgIKADgCCwILAEgCDAIMADgCDQINAEgCDgIOADgCEwITACgCGgIaACgCGwIcAC8CIAIpAC0CNAI9AEYCZAJlAC4CZgJnACoCaAJoAC4CaQJrACoCbAJsAC4CbQJuACoCbwJvADkCcAJzACoCdAJ0AC4CdQJ1ACoCdgJ2AC4CdwJ3ACoCeAJ4AC4CeQJ5ACwCegJ6AC4CewJ8ACwCfQJ9ACoCfgJ+ACwCfwJ/ACoCgAKAAC4CgQKBACoCggKEAC4ChQKFACoChgKGACsChwKIACoCiQKJADkCigKNACoCjgKOAC4CjwKPACsCkAKQAC4CkQKRACoCkgKUAC4ClQKWACwClwKXACoCmAKYACsCmQKZACoCmgKbAC4CuwLFAB8CxgLHACQCyALIACACyQLJACQCygLKACMCywLLAB4CzALMACQCzQLNACAC0gLSAB4C0wLTACQC1ALUAB4C1QLVACQDTQNNAAMDUANQAAMDVANUAAQDVwNXAAMDWwNbAAQDYANgABADbANsABADbgNuABEDcANwABIDcgNyAE0DdAN0AEMDdgN2AE4DdwN3AEMDegN6ABIDfAN8ABEDfwN/ABEDgQOBABMDggOCABEDhAOEABMDhQOHABEDiAOIAE0DiQOJAEMDigOKAE4DiwOLAEwDjAOMABEDjQOOABMDjwOPABEDkAOQAEwDkQORABMDkwOUABEDoQOhAAEDpQOlAD4DrAOsAD4DrwOvAAIDsgOyAAIDswOzAAoDuwO7AAoDwwPDAAoDxQPFAAIDygPKAD4DzAPMAAoD0gPSAAID2QPZAAoD2wPbAAID3APdAAsD4wPjAAED5gPmAAID6APpAAID7APsAAwD7gPvAEED8QPxAA0D8gPyAEID9AP2AEED9wP3AD8D+AP5AEED+gP6AA0D+wP7AEED/QP9AA0D/gP+ADMD/wP/AA4EAAQAAA0EAQQBAEIEAgQCAEEEAwQDADIEBAQFAEEEBgQGADMEBwQIAEEECgQKAEEEDAQNAA0EDgQOAEcEDwQPAEEEEAQQAA0EEgQTAEAEFQQVAD8EFgQWAEEEFwQXAEcEGAQZAEEEGgQaAA4EGwQbAEEEHQQdAA0EHgQeAA8EHwQgAEEEIQQhAEIEIwQjAEEEJAQkADMEJQQlAEEEJgQmAA0EJwQoAA8EKQQpAEIEKgQqADIEKwQrAEcELAQsAEIELQQtAEcELgQvAAwEMAQxAA0EMgQyAEEEMwQ0AA0ENQQ2AA4EPAQ9ACIEPwRAAC8AAgBoA6IDowAWA6QDpAAIA6UDpQACA6YDpgAKA6cDpwAMA6gDqAAWA6kDqgAEA6sDqwAMA6wDrgAEA68DrwAOA7ADsAAEA7IDsgAGA7MDswAIA7QDtAASA7YDtgAMA7cDtwACA7gDuQAEA7oDugACA7sDuwAQA7wDvAAEA70DvQAQA74DvwAOA8ADwAAEA8EDwgAKA8QDxAAIA8UDxQAGA8cDyAAEA8oDywAQA80DzQAMA84DzgAEA88DzwASA9AD0AAEA9ID0gAOA9MD0wASA9QD1QAIA9YD1gAMA9cD1wAWA9gD2QAMA9oD2gACA9sD2wAGA9wD3QAUA94D3gAMA98D3wACA+ED4QAEA+ID4gAMA+QD5QAKA+YD5gAOA+cD5wAEA+gD6QAOA+oD6wASA+wD7AAYBC4ELgAYBUwFTAABBU0FTgAXBU8FTwAJBVAFUAADBVEFUQALBVIFUgANBVMFUwAXBVQFVQAFBVYFVgANBVcFWQAFBVoFWgAPBVsFWwAFBV0FXQAHBV4FXgAJBV8FXwATBWEFYQANBWIFYgADBWMFZAAFBWUFZQADBWYFZgARBWcFZwAFBWgFaAARBWkFagAPBWsFawAFBWwFbQALBW8FbwAJBXAFcAAHBXIFcwAFBXUFdgARBXgFeAANBXkFeQAFBXoFegATBXsFewAFBX0FfQAPBX4FfgATBX8FgAAJBYEFgQANBYIFggAXBYMFhAANBYUFhQADBYYFhgAHBYcFiAAVBYkFiQANBYoFigADBYwFjAAFBY0FjQANBY4FjgABBY8FkAALBZEFkQAPBZIFkgAFBZMFlAAPBZUFlgATAAIBGAABAAEATQGkAaQASQGwAbAAHwGxAbEAPQGyAbIAPgGzAbMAKwG0AbQAJwG1AbUAPAG2AbYAGAG3AbcAKgG4AbgAOgG5AbkAKQG6AboAHwHLAcsAGAHMAcwAXQHNAc0AOgHOAc4AXAHZAdoARAHbAdwAVwHdAd0ARAHkAeUAFAHmAeYAFQHnAecAFgHoAegAFQHpAekAFgHsAewADwHtAe0ARQHuAe4ADwHvAe8ARQHwAfAAEAHyAfYAEAH3AfcAEwH4AfgAJQH5AfkAPwH6AfoAEQH7AfsAEgH8AfwAEQH9Af0AEgH+Af4AEQH/Af8AEgIAAgAADwIBAgEARQICAgIADwIDAgMARQIEAgQAEAIGAggAEAIJAgkAEQIKAgoAEgILAgsAEQIMAgwAEgINAg0AEQIOAg4AEgIPAg8ATAIRAhEAIwITAhMAFwIYAhkADgIaAhoAFwIbAhwAHgIdAh0ASgIeAh4AUgIgAikAHAI0Aj0ARgJkAmUAHQJmAmcAGQJoAmgAHQJpAmsAGQJsAmwAHQJtAm4AGQJvAm8AOwJwAnMAGQJ0AnQAHQJ1AnUAGQJ2AnYAHQJ3AncAGQJ4AngAHQJ5AnkAGwJ6AnoAHQJ7AnwAGwJ9An0AGQJ+An4AGwJ/An8AGQKAAoAAHQKBAoEAGQKCAoQAHQKFAoUAGQKGAoYAGgKHAogAGQKJAokAOwKKAo0AGQKOAo4AHQKPAo8AGgKQApAAHQKRApEAGQKSApQAHQKVApYAGwKXApcAGQKYApgAGgKZApkAGQKaApsAHQLKAsoAEwOhA6EAAQOiA6QABAOlA6UAQAOmA6YABAOnA6cAUwOoA6gAVgOpA6sABAOsA6wAQAOtA64ABAOvA68ABQOwA7EABAOyA7IABQOzA7MAAwO0A7QABgO1A7UAIAO2A7YAUwO3A7cABAO4A7gAAgO5A7oABAO7A7sAAwO8A70ABAO+A74AVgO/A78ABAPAA8AASAPBA8IABAPDA8MAAwPEA8QABAPFA8UABQPGA8YAWAPHA8gABAPJA8kANwPKA8oAQAPLA8sABAPMA8wAAwPNA84ABAPPA88ABgPQA9AABAPRA9EAIgPSA9IABQPTA9MAIQPUA9UABAPWA9YAUwPXA9cAVgPYA9gABAPZA9kAAwPaA9oABAPbA9sABQPcA90ABwPeA94AUwPfA98AAgPgA+EABAPiA+IAUwPjA+MAAQPkA+QARwPlA+UABAPmA+YABQPnA+cABAPoA+kABQPqA+sABgPsA+wACAPtA+0AJAPuA+8AQgPwA/AASwPxA/EACgPyA/IAQwPzA/MANgP0A/YAQgP3A/cAQQP4A/kAQgP6A/oACgP7A/sAQgP8A/wAJgP9A/0ACgP+A/4ACwP/A/8ADAQABAAACgQBBAEAQwQCBAIAQgQDBAMACQQEBAUAQgQGBAYACwQHBAgAQgQJBAkANgQKBAoAQgQLBAsATgQMBA0ACgQOBA4AWwQPBA8AQgQQBBAACgQRBBEAOAQUBBQAKAQVBBUAQQQWBBYAQgQXBBcAWwQYBBkAQgQaBBoADAQbBBsAQgQcBBwALAQdBB0ACgQeBB4ADQQfBCAAQgQhBCEAQwQiBCIANgQjBCMAQgQkBCQACwQlBCUAQgQmBCYACgQnBCgADQQpBCkAQwQqBCoACQQrBCsAWwQsBCwAQwQtBC0AWwQuBC8ACAQwBDEACgQyBDIAQgQzBDQACgQ1BDYADAQ8BD0AEAQ+BD4ADgQ/BEAAHgVMBUwALQVNBU8AVAVQBVAATwVRBVEAVAVSBVIAVQVTBVMAWQVUBVYAVAVXBVcATwVYBVkAVAVaBVoAMAVbBVwAVAVdBV0AMAVeBV4ALwVfBV8AMQVgBWAAMwVhBWEAVQViBWIAVAVjBWMALgVkBWUAVAVmBWYALwVnBWgAVAVpBWkAWQVqBWoAVAVrBWsAUQVsBW0AVAVuBW4ALwVvBW8AVAVwBXAAMAVxBXEAWgVyBXMAVAV0BXQAOQV1BXUATwV2BXYAVAV3BXcALwV4BXkAVAV6BXoAMQV7BXsAVAV8BXwANQV9BX0AMAV+BX4ANAV/BYAAVAWBBYEAVQWCBYIAWQWDBYMAVAWEBYQALwWFBYUAVAWGBYYAMAWHBYgAMgWJBYkAVQWKBYoALgWLBYwAVAWNBY0AVQWOBY4ALQWPBY8AUAWQBZAAVAWRBZEAMAWSBZIAVAWTBZQAMAWVBZYAMQACAE8DTQNNAAsDTwNPABEDUANQAAsDUQNRAA0DUwNTAA8DVANUABQDVQNVAA8DVwNXAAsDWANZAA8DWgNaAA0DWwNbABQDXANcAA8DXgNeAA0DXwNfABEDZANkABMDZQNlAAsDZgNmAA0DZwNpAA8DagNqABQDbQNtABMD7wPvAAMD8APwAAED8QPxAAUD8gPyAAoD9AP1AAED9gP2AAoD9wP5AAED+gP6AAUD+wP7AAED/AP8AAUD/QP9AAID/gP+AAMD/wP/AAgEAAQAAAUEAQQBAAoEAgQFAAEEBgQGAAQEBwQHAAEECAQIAAQECQQKAAUECwQLAAEEDAQNAAUEDwQPAAMEEAQQAAIEEgQTAAYEFQQWAAQEFwQXAAcEGAQYAAoEGQQZAAEEGgQaAAgEGwQbAAEEHQQdAAUEHwQgAAMEIQQhAAoEIwQkAAoEJQQlAAEEJgQmAAIEJwQoAAkEKQQpAAoEKgQqAAEEKwQrAAcELAQsAAoELwQxAAUEMgQyAAEEMwQ0AAUENQQ2AAgFEQURAAwFEwUTABIFFAUUAAwFFQUVAA4FFwUXABAFGQUZABAFGwUbAAwFHAUdABAFHgUeAA4FIAUgABAFIgUiAA4FIwUjABIFKQUpABAAAgD+AAEAAQBkAaQBpAA7AbABsAAzAbEBsQATAbIBsgAuAbMBswAsAbQBtAASAbUBtQAoAbYBtgA6AbcBtwAUAbgBuABeAbkBuQA1AboBugAzAcYBxgA3AccBxwAvAcgByAAtAckByQApAcoBygARAcsBywA6AcwBzAAqAc0BzQBeAc4BzgA2AdkB2gADAd0B3QADAeQB5QAZAeYB5gAMAecB5wAgAegB6AAMAekB6QAgAewB7AAyAe4B7gAyAfAB8AAeAfIB9gAeAfcB9wBLAfgB+AA0AfkB+QAVAfoB+gBKAfsB+wAfAfwB/ABKAf0B/QAfAf4B/gBKAf8B/wAfAgACAAAyAgICAgAyAgQCBAAeAgYCCAAeAgkCCQBKAgoCCgAfAgsCCwBKAgwCDAAfAg0CDQBKAg4CDgAfAg8CDwArAhECEQAnAhMCEwAhAhgCGQBJAhoCGgAhAhsCHAAlAh0CHQA8Ah4CHgBpAiACKQAOAjQCPQAiAmQCZQAkAmYCZwAjAmgCaAAkAmkCawAjAmwCbAAkAm0CbgAjAm8CbwAPAnACcwAjAnQCdAAkAnUCdQAjAnYCdgAkAncCdwAjAngCeAAkAnkCeQANAnoCegAkAnsCfAANAn0CfQAjAn4CfgANAn8CfwAjAoACgAAkAoECgQAjAoIChAAkAoUChQAjAoYChgAxAocCiAAjAokCiQAPAooCjQAjAo4CjgAkAo8CjwAxApACkAAkApECkQAjApIClAAkApUClgANApcClwAjApgCmAAxApkCmQAjApoCmwAkAsoCygBLA00DTQA+A04DTwA/A1ADUAA+A1EDUQA/A1IDUgBjA1MDUwA/A1QDVABBA1UDVgA/A1cDVwA+A1gDWQBAA1sDWwBBA1wDXQA/A14DXgBoA18DXwBOA2ADYABCA2EDYQBMA2IDYgBnA2MDYwBNA2QDZABfA2kDaQA/A2wDbABCA24DbgBDA28DbwBRA3ADcABEA3EDcQBTA3IDcgBdA3MDcwBlA3QDdABiA3UDdQBVA3YDdgBFA3cDdwBiA3gDeABqA3kDeQBHA3oDegBEA3sDewBWA3wDfABDA30DfQBgA34DfgBhA38DfwBDA4ADgABUA4EDgQBIA4IDggBDA4MDgwBSA4QDhABIA4UDhwBDA4gDiABdA4kDiQBiA4oDigBFA4sDiwBGA4wDjABDA40DjgBIA48DjwBDA5ADkABGA5EDkQBIA5MDlABDA5UDlQBHA5gDmABPA5kDmQBQA6EDoQAGA6IDpAAIA6YDpgAIA6cDpwAKA6kDqwAIA60DrgAIA68DrwA9A7ADsQAIA7IDsgA9A7MDswAHA7YDtgAKA7cDtwAIA7kDugAIA7sDuwAHA7wDvQAIA78DvwAIA8EDwgAIA8MDwwAHA8QDxAAIA8UDxQA9A8YDxgAmA8cDyAAIA8sDywAIA8wDzAAHA80DzgAIA9AD0AAIA9ID0gA9A9QD1QAIA9YD1gAKA9gD2AAIA9kD2QAHA9oD2gAIA9sD2wA9A9wD3QAJA94D3gAKA+AD4QAIA+ID4gAKA+MD4wAGA+UD5QAIA+YD5gA9A+cD5wAIA+gD6QA9A+wD7AA4A+0D7QAaA/AD8AAEA/ED8QA5A/ID8gAdA/cD9wACA/oD+gA5A/wD/AAbA/0D/QA5A/4D/gAFA/8D/wAWBAAEAAA5BAEEAQAdBAMEAwABBAYEBgAFBAsECwAXBAwEDQA5BA4EDgALBBAEEAA5BBEEEQAQBBIEEwAwBBUEFQACBBcEFwALBBoEGgAWBBwEHAAcBB0EHQA5BB4EHgAYBCEEIQAdBCQEJAAFBCYEJgA5BCcEKAAYBCkEKQAdBCoEKgABBCsEKwALBCwELAAdBC0ELQALBC4ELwA4BDAEMQA5BDMENAA5BDUENgAWBDwEPQAeBD4EPgBJBD8EQAAlBREFEQBXBRQFFABXBRYFFgBmBRgFGABYBRsFGwBXBR8FHwBYBSMFIwBcBSQFJABZBSUFJQBaBScFJwBbBSoFKgBZAAIALwACAAIACgAEAAQADAAFAAUADgAGAAYAEAA2AEsACgBMAEwAEABNAFEADABSAFUADgBWAGYAEACoAKgAEADjAOMADgNgA2AAAQNrA2wAAQNuA24AAwNwA3AABgNyA3IABAN0A3QABQN2A3YAAwN5A3kAAwN6A3oABgN8A3wABwN9A30ACAN+A34ABwOAA4AACAOBA4EACQOCA4IABwOEA4QACQOFA4UABwOHA4cAAwOIA4gABAOJA4kABQOKA4sAAwOMA4wABwONA44ACQOPA48ABwOQA5AAAwORA5EACQOTA5MABwRGBEYACwRIBEgADQRJBEkADwRgBHUACwR3BHsADQR8BH8ADwUOBQ4ADwUkBSQAAgUqBSoAAgACAR4AAQABADMAAgACAFIAAwADAFMABAAEAFYABQAHAFMACAAIAFYACQAKAFMACwALAFQADAANAFMADgAPAFUAEAAQAFYAEQARAFMAEgASAFYAEwATAFMAFQAVAFcAFgAWAFgAFwAXAGMAGAAYAFkAGQAZAHQAGgAaAFoAGwAbAHAAHAAcAFsAHQAdAHIAHgAgAF0AIgAiAHEAIwAjAHIAJQAlAFwAJgAnAHIAKgAqAF0AKwArAGQALAAsAF0ALgAuAHMALwAvAF4AMAAwAF8AMQAyAGAAMwAzAHUANAA0AGEANgBLAFIATABMAG4ATQBRAFYAUgBmAFMAZwBtAFYAbgB8AFMAfQB9AFQAfgCGAFMAhwCQAFUAkQCoAFYAqQCuAFMAtwC7AFcAvADSAFgA0wDWAFkA1wDeAFoA3wDiAHAA4wDkAFMA5QDlAFYA5gD8AFsA/QEWAF0BFwEdAHEBHgEhAHIBLgEvAFwBMAEwAHIBMgE5AHIBRQFcAF0BYwFpAHMBbAFxAF4BcgGIAF8BiQGMAGABjQGUAGEBmQGZAF0BmgGaAGUBmwGbAF0BpAGkACIBsAGwAB8BsQGxAC4BsgGyADcBswGzADYBtAG0ACwBtQG1ACsBtgG2ABsBtwG3AE4BuAG4ABYBuQG5AC0BugG6AB8BxwHHAFEByAHIAFAByQHJAE0BygHKAEwBywHLABsBzAHMAE8BzQHNABYB2QHaABQB2wHcABMB3QHdABQB5AHlAEgB5gHmAD0B5wHnAD4B6AHoAD0B6QHpAD4B7AHsAGIB7QHtABcB7gHuAGIB7wHvABcB8AHwABgB8gH2ABgB9wH3ABoB+AH4ACgB+QH5ADgB+gH6ABkB+wH7ADwB/AH8ABkB/QH9ADwB/gH+ABkB/wH/ADwCAAIAAGICAQIBABcCAgICAGICAwIDABcCBAIEABgCBgIIABgCCQIJABkCCgIKADwCCwILABkCDAIMADwCDQINABkCDgIOADwCDwIPADICEQIRACYCEwITAD8CGAIZABUCGgIaAD8CGwIcAB4CHQIdACQCHgIeACUCIAIpAEICNAI9ABwCZAJlAEQCZgJnAEACaAJoAEQCaQJrAEACbAJsAEQCbQJuAEACbwJvAEMCcAJzAEACdAJ0AEQCdQJ1AEACdgJ2AEQCdwJ3AEACeAJ4AEQCeQJ5AB0CegJ6AEQCewJ8AB0CfQJ9AEACfgJ+AB0CfwJ/AEACgAKAAEQCgQKBAEACggKEAEQChQKFAEAChgKGAEEChwKIAEACiQKJAEMCigKNAEACjgKOAEQCjwKPAEECkAKQAEQCkQKRAEACkgKUAEQClQKWAB0ClwKXAEACmAKYAEECmQKZAEACmgKbAEQCygLKABoDTQNNAAkDTgNPAEoDUANQAAkDUQNRAEoDUgNSAEcDUwNTAEoDVANUAAoDVQNWAEoDVwNXAAkDWANZADsDWwNbAAoDXANdAEoDXwNfAEYDYANgAEsDYQNhACEDYgNiAEUDZANkACADaQNpAEoDbANsAEsDbgNuAAsDbwNvACcDcANwAA4DcQNxACoDcgNyAAwDcwNzADkDdAN0AA0DdQN1ADUDdgN2AA8DdwN3AA0DeAN4AEkDeQN5ABEDegN6AA4DfAN8AAsDfQN9AC8DfgN+ADEDfwN/AAsDgAOAADQDgQOBABIDggOCAAsDgwODACkDhAOEABIDhQOHAAsDiAOIAAwDiQOJAA0DigOKAA8DiwOLABADjAOMAAsDjQOOABIDjwOPAAsDkAOQABADkQORABIDkwOUAAsDlQOVABEDlwOXADADmAOYACMEPAQ9ABgEPgQ+ABUEPwRAAB4ERgRGAGYERwRHAHYESARIAGgESQRLAHYETARMAGgETQROAHYETwRPAGcEUARRAHYEUgRTAHcEVARUAGgEVQRVAHYEVgRWAGgEVwRXAHYEWQRZAGkEWgRaAGoEWwRbAG0EXARcAGsEXQRdAHgEXgReAGwEYAR1AGYEdgR2AG8EdwR7AGgEfASQAHYEkQSVAGgElwSYAGgEmQSnAHYEqASoAGcEqQSxAHYEsgS7AHcEvATTAGgE1ATZAHYE4QTmAGkE5wT9AGoE/gUBAGsFAgUJAGwFDgUPAHYFEAUQAGgFEQURAAEFEgUTAAIFFAUUAAEFFQUVAAIFFwUXAAIFGAUYAAQFGQUaAAIFGwUbAAEFHAUdAAMFHwUfAAQFIAUhAAIFIgUiAAgFJAUkAAUFJQUlADoFJgUmAAYFJwUnAAcFKQUpAAIFKgUqAAUAAgA6AAgACAABAAkACgADAAsACwAFAAwADAAHAA0ADQAJAA4ADgADAA8ADwALABAAEAANABIAEgANABMAEwAPABQAFAARABUAFQATABYAFgAVAGcAbQABAG4AfAADAH0AfQAFAH4AfgAHAH8AgQAJAIMAhgAJAIcAiAADAIkAkAALAJEApwANAKkArgAPAK8AtQARALcAuwATALwA0gAVAOUA5QANBEwETAACBE0ETgAEBE8ETwAGBFAEUAAIBFEEUQAKBFIEUgAEBFMEUwAMBFQEVAAOBFYEVgAOBFcEVwAQBFgEWAASBFkEWQAUBFoEWgAWBJEElQACBJcEmAACBJkEpwAEBKgEqAAGBKkEqQAIBKoErAAKBK4EsQAKBLIEswAEBLQEuwAMBLwE0gAOBNQE2QAQBNoE4AASBOEE5gAUBOcE/QAWBRAFEAAOBSsFKwASBSwFLAADBS0FLQAKAAIA6gABAAEAVQACAAIABQADAAMABgAEAAQABwAFAAcABgAIAAgABwAJAAoABgALAAsAPgAMAA0ABgAOAA8AQwAQABAABwARABEABgASABIABwATABMABgAUABQANAAVABUACAAWABYACQAXABcAFwAYABgACgAZABkAGAAaABoACwAbABsADAAcABwAJAAdAB0AUwAeACAAKAAhACEAJQAiACIAJgAjACMAUwAkACQANQAlACUANgAmACcAUwAoACkANwAqACoAKAArACsAHAAsACwAKAAtAC0ANwAuAC4AKQAvAC8AKgAwADAAKwAxADIALAAzADMAPAA0ADQALQA1ADUAOAA2AEsABQBMAEwAFgBNAFEABwBSAGYABgBnAG0ABwBuAHwABgB9AH0APgB+AIYABgCHAJAAQwCRAKgABwCpAK4ABgCvALUANAC3ALsACAC8ANIACQDTANYACgDXAN4ACwDfAOIADADjAOQABgDlAOUABwDmAPwAJAD9ARYAKAEXAR0AJgEeASEAUwEiASMANQEkASYAJwEnASgANQEpASkAJwEqASsANQEsASwAJwEtAS0ANwEuAS8ANgEwATAAUwExATEANwEyATkAUwE6AUEANwFDAUQANwFFAVwAKAFdAWIANwFjAWkAKQFqAWsAJQFsAXEAKgFyAYgAKwGJAYwALAGNAZQALQGVAZgAOAGZAZkAKAGaAZoATQGbAZsAKAGeAaMAJQGkAaQAVAGwAbAAMAGxAbEAGwGyAbIAHwGzAbMAHgG0AbQAMgG1AbUAMQG2AbYALwG3AbcATAG4AbgALgG5AbkAMwG6AboAMAHLAcsALwHNAc0ALgHZAdoADQHbAdwAOQHdAd0ADQHkAeUARAHmAeYARQHnAecARgHoAegARQHpAekARgHsAewADgHtAe0AOgHuAe4ADgHvAe8AOgHwAfAADwHyAfYADwH3AfcAOwH4AfgAQQH5AfkAIAH6AfoAEAH7AfsAEQH8AfwAEAH9Af0AEQH+Af4AEAH/Af8AEQIAAgAADgIBAgEAOgICAgIADgIDAgMAOgIEAgQADwIGAggADwIJAgkAEAIKAgoAEQILAgsAEAIMAgwAEQINAg0AEAIOAg4AEQIPAg8AHQIRAhEASwITAhMARwIYAhkAPwIaAhoARwIbAhwAQAIdAh0AGQIeAh4AGgIgAikAFAI0Aj0AEgJkAmUASgJmAmcASAJoAmgASgJpAmsASAJsAmwASgJtAm4ASAJvAm8AFQJwAnMASAJ0AnQASgJ1AnUASAJ2AnYASgJ3AncASAJ4AngASgJ5AnkAEwJ6AnoASgJ7AnwAEwJ9An0ASAJ+An4AEwJ/An8ASAKAAoAASgKBAoEASAKCAoQASgKFAoUASAKGAoYASQKHAogASAKJAokAFQKKAo0ASAKOAo4ASgKPAo8ASQKQApAASgKRApEASAKSApQASgKVApYAEwKXApcASAKYApgASQKZApkASAKaApsASgLKAsoAOwQ8BD0ADwQ+BD4APwQ/BEAAQARGBEYAPQRHBEcATgRIBEgAIQRJBEsATgRMBEwAIQRNBE4ATgRPBE8ATwRQBFEATgRSBFMAUgRUBFQAIQRVBFUATgRWBFYAIQRXBFcATgRYBFgAUARZBFkAUQRaBFoAAQRbBFsABARcBFwAAgRdBF0AIwReBF4AAwRfBF8AQgRgBHUAPQR2BHYAIgR3BHsAIQR8BJAATgSRBJUAIQSXBJgAIQSZBKcATgSoBKgATwSpBLEATgSyBLsAUgS8BNMAIQTUBNkATgTaBOAAUAThBOYAUQTnBP0AAQT+BQEAAgUCBQkAAwUKBQ0AQgUOBQ8ATgUQBRAAIQUrBSsAUAACAEMAGgAaAAIAGwAbAAQAHAAcAAYAHQAdAAcAHgAeAAgAHwAfABIAIAAgAAoAIQAhAAsAIgAiAAwAIwAjAA0AJAAkAA4AJQAlABAAJgAmABEAJwAnABIAKAApAA0AKgArAAcALQAtABMALgAuABQALwAvABUAMAAwABYA1wDeAAIA3wDiAAQA5gD7AAYA/AD8AAoA/QEBAAgBAgECAAkBAwEFABIBBgEWAAoBFwEdAAwBHgEhAA0BIgEjAA4BJAEmAA8BJwEoAA4BKQEpAA8BKgErAA4BLAEsAA8BLQEtAA4BLgEvABABMAExABEBMgEyABIBMwEzAAkBNAE0ABIBNgE5ABIBOgFBAA0BQwFEAA0BRQFUAAcBWwFbAAcBXAFcAAoBXQFiABMBYwFpABQBagFqAAsBbAFxABUBcgGBABYBiAGIABYBmgGbAAcBngGeAA4BnwGfABIBoAGgABUBoQGhAAsBogGiAA4BowGjABIEXARcAAEEXgReAAMEXwRfAAUE/gUBAAEFAgUJAAMFCgUNAAUAAgDaAAEAAQAwAAIAAgABAAMAAwBLAAQABAADAAUABwBLAAgACAADAAkACgBLAAsACwBAAAwADQBLAA4ADwACABAAEAADABEAEQBLABIAEgADABMAEwBLABQAFAAEABUAFQA6ABYAFgAFABcAFwA+ABgAGAA7ABkAGQBOABoAGgA8ABsAGwAGABwAHAAHAB0AHQBMAB4AIAANACEAIQAIACIAIgAJACMAIwBMACQAJAAKACUAJQALACYAJwBMACgAKQAMACoAKgANACsAKwAuACwALAANAC0ALQAMAC4ALgAOAC8ALwAPADAAMAAQADEAMgARADMAMwA0ADQANAASADUANQATADYASwABAEwATAAkAE0AUQADAFIAZgBLAGcAbQADAG4AfABLAH0AfQBAAH4AhgBLAIcAkAACAJEAqAADAKkArgBLAK8AtQAEALcAuwA6ALwA0gAFANMA1gA7ANcA3gA8AN8A4gAGAOMA5ABLAOUA5QADAOYA/AAHAP0BFgANARcBHQAJAR4BIQBMASIBIwAKASQBJgA5AScBKAAKASkBKQA5ASoBKwAKASwBLAA5AS0BLQAMAS4BLwALATABMABMATEBMQAMATIBOQBMAToBQQAMAUMBRAAMAUUBXAANAV0BYgAMAWMBaQAOAWoBawAIAWwBcQAPAXIBiAAQAYkBjAARAY0BlAASAZUBmAATAZkBmQANAZoBmgBKAZsBmwANAZ4BowAIAaQBpAAlAbABsAAjAbEBsQAtAbIBsgAyAbMBswAxAbQBtAArAbUBtQAqAbYBtgAeAbcBtwBIAbgBuAAXAbkBuQAsAboBugAjAcYBxgBVAccBxwBSAcgByABRAckByQBQAcoBygBPAcsBywAeAcwBzABJAc0BzQAXAc4BzgBHAdkB2gAVAdsB3AAUAd0B3QAVAd4B3gBTAeEB4QBUAeQB5QBBAeYB5gA9AecB5wAdAegB6AA9AekB6QAdAewB7AAYAe0B7QAZAe4B7gAYAe8B7wAZAfAB8AAaAfIB9gAaAfcB9wAcAfgB+AApAfkB+QAzAfoB+gAbAfsB+wBNAfwB/AAbAf0B/QBNAf4B/gAbAf8B/wBNAgACAAAYAgECAQAZAgICAgAYAgMCAwAZAgQCBAAaAgYCCAAaAgkCCQAbAgoCCgBNAgsCCwAbAgwCDABNAg0CDQAbAg4CDgBNAg8CDwAvAhECEQAoAhMCEwBCAhgCGQAWAhoCGgBCAhsCHAAiAh0CHQAmAh4CHgAnAiACKQBFAjQCPQAfAmQCZQBGAmYCZwBDAmgCaABGAmkCawBDAmwCbABGAm0CbgBDAm8CbwAhAnACcwBDAnQCdABGAnUCdQBDAnYCdgBGAncCdwBDAngCeABGAnkCeQAgAnoCegBGAnsCfAAgAn0CfQBDAn4CfgAgAn8CfwBDAoACgABGAoECgQBDAoIChABGAoUChQBDAoYChgBEAocCiABDAokCiQAhAooCjQBDAo4CjgBGAo8CjwBEApACkABGApECkQBDApIClABGApUClgAgApcClwBDApgCmABEApkCmQBDApoCmwBGAsoCygAcBDwEPQAaBD4EPgAWBD8EQAAiBEYERgA1BEgESAA2BEwETAA2BFQEVAA2BFYEVgA2BFgEWAA3BFoEWgA/BGAEdQA1BHYEdgA4BHcEewA2BJEElQA2BJcEmAA2BLwE0wA2BNoE4AA3BOcE/QA/BRAFEAA2BSsFKwA3AAIALgA1ADUAAQGVAZgAAQGzAbMABQG4AbgABQHNAc0ABQHZAdoAAwHbAdwAAgHdAd0AAwHsAewABwHtAe0ACAHuAe4ABwHvAe8ACAHwAfAACQHyAfYACQH3AfcADQH6AfoACwH7AfsADAH8AfwACwH9Af0ADAH+Af4ACwH/Af8ADAIAAgAABwIBAgEACAICAgIABwIDAgMACAIEAgQACQIGAggACQIJAgkACwIKAgoADAILAgsACwIMAgwADAINAg0ACwIOAg4ADAIYAhkABALGAscADgLIAsgACgLJAskADgLKAsoADQLLAssABgLMAswACgLNAs0ADgLSAtIABgLTAtMADgLUAtUABgQ8BD0ACQQ+BD4ABAACAVMAAgACAAEAAwADAAIABAAEAD8ABQAHAAIACAAIAD8ACQAKAAIACwALAAMADAANAAIADgAPAAQAEAAQAD8AEQARAAIAEgASAD8AEwATAAIAFAAUAG8AFQAVAAUAFgAWAAYAFwAXAB8AGAAYAAcAGQAZACAAGgAaAAgAGwAbAHAAHAAcAAkAHQAdAAsAHgAgAAwAIQAhAFwAIgAiAAoAIwAjAAsAJQAlAEAAJgAnAAsAKAApAHkAKgAqAAwAKwArAC8ALAAsAAwALQAtAHkALgAuAA0ALwAvAA4AMAAwAEEAMQAyAA8AMwAzAHUANAA0ABAANQA1AEIANgBLAAEATABMAB4ATQBRAD8AUgBmAAIAZwBtAD8AbgB8AAIAfQB9AAMAfgCGAAIAhwCQAAQAkQCoAD8AqQCuAAIArwC1AG8AtwC7AAUAvADSAAYA0wDWAAcA1wDeAAgA3wDiAHAA4wDkAAIA5QDlAD8A5gD8AAkA/QEWAAwBFwEdAAoBHgEhAAsBJAEmAHgBKQEpAHgBLAEsAHgBLQEtAHkBLgEvAEABMAEwAAsBMQExAHkBMgE5AAsBOgFBAHkBQwFEAHkBRQFcAAwBXQFiAHkBYwFpAA0BagFrAFwBbAFxAA4BcgGIAEEBiQGMAA8BjQGUABABlQGYAEIBmQGZAAwBmgGaADABmwGbAAwBngGjAFwBpAGkACEBsAGwAEcBsQGxACgBsgGyAFMBswGzACwBtAG0ACUBtQG1ACMBtgG2ABcBtwG3ACkBuAG4AEMBuQG5ACcBugG6AEcBxQHFAFUBxgHGAFEBxwHHAFQByAHIAC0ByQHJACYBygHKACQBywHLABcBzAHMACoBzQHNAEMBzgHOAFAB2QHaABEB2wHcAHoB3QHdABEB3gHeAHMB4gHiAHQB5AHlAEUB5gHmABUB5wHnABYB6AHoABUB6QHpABYB7AHsABIB7QHtAHEB7gHuABIB7wHvAHEB8AHwABMB8gH2ABMB9wH3AF8B+AH4AGIB+QH5AC4B+gH6AEQB+wH7ABQB/AH8AEQB/QH9ABQB/gH+AEQB/wH/ABQCAAIAABICAQIBAHECAgICABICAwIDAHECBAIEABMCBgIIABMCCQIJAEQCCgIKABQCCwILAEQCDAIMABQCDQINAEQCDgIOABQCDwIPACsCEQIRAEsCEwITAEYCGgIaAEYCHQIdACICHwIfAHsCIAIpAGECNAI9ABgCZAJlAB0CZgJnABkCaAJoAB0CaQJrABkCbAJsAB0CbQJuABkCbwJvABwCcAJzABkCdAJ0AB0CdQJ1ABkCdgJ2AB0CdwJ3ABkCeAJ4AB0CeQJ5ABsCegJ6AB0CewJ8ABsCfQJ9ABkCfgJ+ABsCfwJ/ABkCgAKAAB0CgQKBABkCggKEAB0ChQKFABkChgKGABoChwKIABkCiQKJABwCigKNABkCjgKOAB0CjwKPABoCkAKQAB0CkQKRABkCkgKUAB0ClQKWABsClwKXABkCmAKYABoCmQKZABkCmgKbAB0CnAKcAGQCngKeAGUCnwKfAGMCrwKvAGcCuwLFAF0CxgLHAGACyALIAF4CyQLJAGACygLKAF8CzALMAGACzQLNAF4C0wLTAGAC1QLVAGADTQNNAFcDTgNPAFkDUANQAFcDUQNRAFkDUgNSAHYDUwNTAFkDVANUADsDVQNWAFkDVwNXAFcDWANZAFoDWwNbADsDXANdAFkDXwNfAEoDYANgADMDYQNhAEgDYgNiADQDYwNjAEkDaQNpAFkDbANsADMDbgNuADwDcANwAD0DcQNxAE0DdAN0AFsDdwN3AFsDeAN4AGYDegN6AD0DfAN8ADwDfwN/ADwDgAOAAFIDgQOBAD4DggOCADwDgwODAEwDhAOEAD4DhQOHADwDiQOJAFsDjAOMADwDjQOOAD4DjwOPADwDkQORAD4DkwOUADwDoQOhAFYDogOkAFgDpgOmAFgDpwOnADIDqQOrAFgDrQOuAFgDrwOvADYDsAOxAFgDsgOyADYDswOzADUDtAO0AGkDtgO2ADIDtwO3AFgDuAO4AGgDuQO6AFgDuwO7ADUDvAO9AFgDvwO/AFgDwQPCAFgDwwPDADUDxAPEAFgDxQPFADYDxgPGAHIDxwPIAFgDywPLAFgDzAPMADUDzQPOAFgDzwPPAGkD0APQAFgD0gPSADYD0wPTAGsD1APVAFgD1gPWADID2APYAFgD2QPZADUD2gPaAFgD2wPbADYD3APdADED3gPeADID3wPfAGgD4APhAFgD4gPiADID4wPjAFYD5QPlAFgD5gPmADYD5wPnAFgD6APpADYD6gPrAGkD7APsADcD7gPvAHcD8APwAGwD8QPxADgD8gPyAG4D9AP2AHcD+AP5AHcD+gP6ADgD+wP7AHcD/QP9ADgD/wP/ADkEAAQAADgEAQQBAG4EAgQCAHcEBAQFAHcEBwQIAHcECgQKAHcEDAQNADgEDgQOAG0EDwQPAHcEEAQQADgEEQQRAE4EEgQTAGoEFAQUAE8EFgQWAHcEFwQXAG0EGAQZAHcEGgQaADkEGwQbAHcEHQQdADgEHgQeADoEHwQgAHcEIQQhAG4EIwQjAHcEJQQlAHcEJgQmADgEJwQoADoEKQQpAG4EKwQrAG0ELAQsAG4ELQQtAG0ELgQvADcEMAQxADgEMgQyAHcEMwQ0ADgENQQ2ADkEPAQ9ABMAAgALAbABsAAGAbYBtgAFAboBugAGAcsBywAFAeYB5gABAecB5wACAegB6AABAekB6QACAeoB6wADAhMCEwAEAhoCGgAEAAIBVAACAAIADgADAAMAPQAEAAQAEAAFAAcAPQAIAAgAEAAJAAoAPQALAAsADwAMAA0APQAQABAAEAARABEAPQASABIAEAATABMAPQAUABQAEQAVABUAEgAWABYAEwAXABcAbQAYABgAVgAZABkAbgAaABoAaAAbABsAPgAcABwAFAAeACAAGAAhACEAVwAiACIAFQAkACQAfQAlACUAWAAoACkAFwAqACoAGAArACsALQAsACwAGAAtAC0AFwAuAC4AGQAvAC8APwAwADAAWQAxADIAQAAzADMAVAA0ADQAQQA1ADUAGgA2AEsADgBMAEwAHgBNAFEAEABSAGYAPQBnAG0AEABuAHwAPQB9AH0ADwB+AIYAPQCRAKgAEACpAK4APQCvALUAEQC3ALsAEgC8ANIAEwDTANYAVgDXAN4AaADfAOIAPgDjAOQAPQDlAOUAEADmAPwAFAD9ARYAGAEXAR0AFQEiASMAfQEkASYAFgEnASgAfQEpASkAFgEqASsAfQEsASwAFgEtAS0AFwEuAS8AWAExATEAFwE6AUEAFwFDAUQAFwFFAVwAGAFdAWIAFwFjAWkAGQFqAWsAVwFsAXEAPwFyAYgAWQGJAYwAQAGNAZQAQQGVAZgAGgGZAZkAGAGaAZoAMQGbAZsAGAGeAaMAVwGkAaQASAGwAbAAXAGxAbEAXwGyAbIAYAGzAbMAUgG0AbQAKQG1AbUAJwG2AbYAHQG3AbcAUAG4AbgAQgG5AbkAXgG6AboAXAHFAcUANQHGAcYALAHHAccAMwHIAcgAMgHJAckAKgHKAcoAKAHLAcsAHQHMAcwAUQHNAc0AQgHOAc4AKwHZAdoAGwHdAd0AGwHeAd4ATAHfAd8ATQHhAeEATwHiAeIALgHmAeYARgHnAecAfwHoAegARgHpAekAfwHqAesAWwHsAewAHAHtAe0AQwHuAe4AHAHvAe8AQwHwAfAARAHyAfYARAH3AfcAWgH4AfgASgH5AfkAUwH6AfoARQH7AfsAfgH8AfwARQH9Af0AfgH+Af4ARQH/Af8AfgIAAgAAHAIBAgEAQwICAgIAHAIDAgMAQwIEAgQARAIGAggARAIJAgkARQIKAgoAfgILAgsARQIMAgwAfgINAg0ARQIOAg4AfgIPAg8AMAIdAh0ASQIfAh8ATgIgAikAdgI0Aj0AcwJkAmUAeAJmAmcAdAJoAmgAeAJpAmsAdAJsAmwAeAJtAm4AdAJvAm8AdwJwAnMAdAJ0AnQAeAJ1AnUAdAJ2AnYAeAJ3AncAdAJ4AngAeAJ5AnkAdQJ6AnoAeAJ7AnwAdQJ9An0AdAJ+An4AdQJ/An8AdAKAAoAAeAKBAoEAdAKCAoQAeAKFAoUAdAKGAoYAgAKHAogAdAKJAokAdwKKAo0AdAKOAo4AeAKPAo8AgAKQApAAeAKRApEAdAKSApQAeAKVApYAdQKXApcAdAKYApgAgAKZApkAdAKaApsAeAKcApwAeQKeAp4AegKiAqIAewKvAq8AfALIAsgAcgLKAsoAWgLNAs0AcgNNA00ACQNOA08AOwNQA1AACQNRA1EAOwNSA1IARwNTA1MAOwNUA1QACgNVA1YAOwNXA1cACQNb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"},function(A,e){A.exports="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AEj/5gBK//AAUv/yAFP/7wBU//AAVwAXAFsABgB8/7IAngAjAJ8AFACgACEAoQAfAAQAFP/nABX/6AAW/+0AGv/YAAEATQAIABUAFP/bABX/2QAW/+AAGP/yABr/ywAb/+0ALf+7ADD/+AA2/+4AN/+yADn/5AA7/8wAPP+6AD3/4wBJ/+YATv/4AFb/9QBZ//UAW//3AF3/0QB8/98AFAAF/48ACv+jABT/4QAX/+oAGv/pABz/zgAm//MAKv/yADL/7gA0/+sAN/+4ADj/7AA5/8gAPP/QAEn/8QBZ/98Auf+iALr/oQC8/48Avf+PACMAEv8lABP/7gAV//QAF//wABj/8QAZ/+IAG//yACT/4QAm/+cAJ//0ACr/6QAt/8gAMv/qADT/7AA6//UARP/TAEb/1QBH/9kASP/SAEr/1wBQ/90AUf/lAFL/2ABT/9YAVP/VAFX/6gBW/90AWP/gAFn/8gBa/9sAW//tAFz/5ABd/+oAfP/EAJH/7AANAAz/7wAR/+kAEv/jABX/7gAa//UAN//tADv/8wA8//AAPf/wAD//7QBA/+YAYP/uAHz/8gABABL/7wARAAr/8wAO//UAEP/hABUACAAX/+wAHP/xACD/6wAy//YANP/1ADf/7wA4//UAOf/vADz/7gA//+UAbP/1AHH/4QB8AAsABAAM//UAEv/rAD//9QBA//IAEgAK//QADP/wABH/8AAS/+gAFP/1ABX/9AAW//UAGv/xAC3/9QA3//QAOf/1ADz/7gA9//UAP//rAED/7gBg//AAbP/0AHz/9gACABL/7QBA//YADAAK/+QADP/1ABL/8QAU/+oAGv/hADf/4wA5/+4APP/kAD//4ABA/+YAYP/tAGz/4QALAAb/7gAO/+4AEP/jABH/xwAS/84AIP/1ACT/9AAt/9gAY//wAHH/9AB8/9UABAAQ/+cAEv/uACD/9gBx/+cABgAM//YAEv/zADf/8QA8//MAP//uAED/9QADADf/twA5/+4APP/ZAAQAFP/jABX/5QAW/+oAGv/VAAUACv/wADf/twA5/+cAPP/UALr/5QAjAAr/9AAN//EAFP/xABr/8AAi//YAN//aADj/+QA5/+wAPP/cAD//4gBF//kARv/7AEj/+wBJ//MASv/7AEv/+gBM//oATf/6AE7/+wBP//kAUP/7AFH/+gBS//sAVP/7AFX/+QBX//cAWP/5AFn/8QBa//kAW//7AFz/+QCR//sAuf/sALr/8ADF/+sAGAAS/+0ALf/7ADf/4gA7/+kAPP/4AD3/+QA///UAQP/tAEn/+ABN//sATv/7AFH/+wBV//sAVv/5AFf/+ABZ//kAW//4AFz/+wBd//MAYP/2AHz/+wCR//sAoAAXAKEAFQASAA3/8wAm//sAKv/6ADL/+QA0//kANv/5ADf/3AA4//sAOf/7ADr/+gA7/94APP/6AD//8wBJ//cAV//4AFn/9gBb//gAoAATACUADP/uABH/2wAS/94AFf/qACL/9QAk//sALf/gADf/2QA5//oAO//fADz/8AA9/+YAP//vAED/5QBE//YARf/6AEb/+ABH//kASP/3AEr/+QBL//oATP/5AE3/+gBO//gAT//6AFD/+gBR//sAUv/6AFP/9wBU//kAVv/6AFr/+gBg/+4AfP/dAJH/+ACgAAkAoQAGAB8AEP/rABf/9QAc//IAJv/pACr/6QAy/+YANP/mADb/+gA4//YAOv/0AEX/+QBG//kAR//6AEj/+QBJ//AASv/4AE//+ABQ//gAUf/1AFL/9wBT//sAVP/6AFX/8gBX/+0AWP/yAFn/4gBa//QAW//2AFz/7gCR//sAr//4ADcACf/1AA0AFwAQ/+MAEf/EABL/xAAV//EAFv/yABj/9gAZ//EAG//wAB3/5wAj/+IAJP/dACb/3wAn//gAKv/gAC3/eQAy/+EANP/lADX/+wA2/+YAOP/3ADr/7wBE/70ARf/4AEb/xABH/8cASP+/AEn/8QBK/8cAS//6AE7/9wBP//YAUP/IAFH/0ABS/8sAU/+8AFT/xQBV/9kAVv/PAFf/7wBY/9UAWf/nAFr/xgBb/98AXP/RAF3/2wBr//YAfP+GAJH/3wCeABMAr//IAML/8wDD//EAxQALAAoAEf/xABL/6wA3//YAO//qADz/+QA9//UAQP/1AEn/+QB8//sAoAAJABwAEv/zAET/9QBF//cARv/0AEf/9gBI//MASv/2AEv/+QBM//kATf/5AE7/+QBP//gAUP/5AFH/+QBS//YAU//2AFT/9gBV//gAVv/3AFj/9wBZ//oAWv/3AFv/+QBc//cAXf/5AJH/+QCgAAoAoQANAB4AEP/4ABL/9QBE//QARf/3AEb/9ABH//YASP/yAEn/+wBK//UAS//5AEz/+ABN//gATv/5AE//+ABQ//gAUf/4AFL/9QBT//YAVP/2AFX/+ABW//cAWP/2AFn/+QBa//cAW//4AFz/9wBd//gAkf/5AKAACwChAA0AHwAR//cAEv/rADv/+wBE//gARf/4AEb/+ABH//kASP/4AEr/+QBL//kATP/5AE3/+QBO//kAT//4AFD/+ABR//kAUv/5AFP/9gBU//kAVf/4AFb/+ABY//oAWf/7AFr/+ABb//oAXP/3AF3/+QB8//sAkf/5AKAABgChAAcAIwAQ/9sAFQASABf/8AAc//AAJv/dACr/3QAy/94ANP/gADb/+wA4//MAOv/0AEAACABE//oARf/0AEb/7gBH//QASP/tAEn/6gBK/+4AS//6AE//8ABQ//oAUf/1AFL/7ABU//EAVf/xAFf/2wBY/+EAWf/XAFr/6gBc/+EAYAALAGv/8gChABEAwv/lACwACf/wAAr/owAN/6IAEP+rABT/5QAVAAsAF//HABr/6gAc/7YAIv/yACb/4gAq/+AAMv/XADT/0QA3/4YAOP/YADn/qwA6//YAPP/DAD//uABF//EARv/1AEf/+gBI//UASf/iAEr/9gBL//kAT//wAFH/+ABS//IAVP/4AFX/9ABX/6UAWP/mAFn/rgBa//UAXP/lAGv/4gBx/5YAuf+kALr/pADC/8UAw//sAMX/oQAdABL/8gBE//UARf/4AEb/9QBH//cASP/0AEn/+wBK//YAS//5AEz/+QBN//kATv/5AE//+ABQ//kAUf/5AFL/9gBT//cAVP/2AFX/+QBW//cAWP/3AFn/+gBa//gAW//5AFz/9wBd//gAkf/5AKAACgChAAwAHQAS//YARP/1AEX/+ABG//QAR//3AEj/8wBJ//sASv/2AEv/+QBM//kATf/5AE7/+QBP//gAUP/5AFH/+QBS//YAU//3AFT/9gBV//kAVv/3AFj/9wBZ//oAWv/4AFv/+QBc//cAXf/5AJH/+QCgAAwAoQAOACYADP/uABH/6AAS/+IAFf/tABr/8gAi//IALf/wADf/0AA5//gAO//gADz/6QA9/+gAP//sAED/4wBE//gARf/7AEb/+gBH//oASP/5AEr/+gBL//oATP/6AE3/+gBO//kAT//7AFD/+wBR//sAUv/7AFP/+ABU//oAVf/7AFb/+wBa//oAXP/7AGD/7QB8/+wAkf/4AKAAAwAbABD/8wAR/9MAEv/SABX/8wAj//YAJP/5AC3/qgA7/+sAPf/1AET/7wBG//IAR//0AEj/7wBK//QATP/7AE7/+wBQ//kAUv/1AFP/8QBU//IAVv/6AFr/9wB8/7IAkf/5AJ8AGACgADgAoQA0AB0ALf/2ADf/2QA5//kAO//3ADz/8AA//+4ARP/5AEX/+gBG//kAR//6AEj/9wBK//kAS//6AEz/+gBN//sATv/6AE//+gBQ//sAUf/7AFL/+gBT//kAVP/5AFX/+wBW//sAWv/5AFz/+gCR//oAoAAIAKEACQAHABUAIAA3/94AQAANAGAAFQCfAAoAoAAhAKEAHgAWABL/9AA7//cASf/3AEv/+wBM//sATv/7AE//+gBQ//oAUf/5AFP/+wBV//kAV//2AFj/+wBZ//UAWv/7AFv/9wBc//gAXf/4AJH/+gCfABEAoAAeAKEAJwBMAAn/7QANABsAEP+3ABH/vAAS/8EAE//wABf/9gAZ/9MAG//vABz/9AAd/7sAIgAPACP/ugAk/8sAJv/HACf/9wAq/8oAK//7AC3/ngAy/8gAM//6ADT/2QA1//sANv/5ADr/+AA/AAkAQAAgAET/cwBF/+UARv9zAEf/dABI/3EASf/OAEr/dABL/+QATP/tAE7/3wBP//gAUP9zAFH/dQBS/3QAU/9wAFT/cwBV/4cAVv96AFf/zwBY/3YAWf+hAFr/cABb/40AXP9yAF3/gABgABEAa//kAHz/qgCR/88Akv+VAJP/ggCU/4YAlf+BAJf/lgCa/48AnP9+AJ4AMACg//UAof/iAKL/nwCj/68Apf+FAKb/hQCq/8wArP+GAK//nADC/70Aw//AAMUAHQAiAAz/9gAR/+MAEv/gABX/9gAk//sALf/qADv/6gA9//gARP/1AEX/+QBG//YAR//3AEj/9QBK//cAS//6AEz/9wBN//oATv/4AE//+QBQ//kAUf/6AFL/+ABT//QAVP/2AFX/+wBW//kAWP/7AFr/+ABc//oAfP/mAJH/9wCf//0AoAAcAKEAHwAuAAn/9gANABQAEP/hABH/ywAS/8sAGf/uAB3/6QAj/+AAJP/sACb/7gAn//sAKv/wAC3/yQAy//MANP/0ADr/+wBAABUARP/RAEb/0gBH/9UASP/OAEn/+gBK/9QATv/7AFD/1wBR/9kAUv/TAFP/1ABU/9UAVf/jAFb/1QBX//gAWP/WAFn/8wBa/9YAW//sAFz/2QBd/+gAfP+8AJH/4gCeABUAnwAJAKAAHAChACkAr//ZAML/6wAgABH/5wAS/+EAJP/6AC3/7gA7//MAPf/6AET/8wBF//gARv/0AEf/9QBI//MASv/1AEv/+ABM//gATf/6AE7/9gBP//cAUP/2AFH/+ABS//YAU//yAFT/9QBV//kAVv/2AFj/+QBa//UAXP/4AF3/+wB8/+kAkf/0AKAAGwChABsAIAAK//YAEP/cABUAGQAX/+wAHP/pACb/4wAq/+IAMv/iADT/5AA4/+0AOv/0AEAAEABF//MARv/2AEf/+gBI//YASf/oAEr/9wBL//sAT//wAFH/+wBS//QAVP/4AFX/9wBX/9gAWP/qAFn/0gBa//MAXP/qAGAADgBr//UAwv/kAEAACf/sAA0AIQAQ/8QAEf+zABL/vgAT//AAF//zABj/9QAZ/+EAG//zAB3/1QAj/80AJP/bACb/2gAn//UAKP/6ACr/2gAr//kALf+yADL/3gAz//kANP/kADX/+QA2//oAOv/3AEAAEwBE/6oARf/7AEb/rgBH/7UASP+mAEn/9ABK/7QAS//7AE7/+QBP//oAUP+2AFH/vQBS/7YAU/+vAFT/sQBV/88AVv+pAFf/8ABY/7YAWf/hAFr/uABb/9YAXP+6AF3/zgBgAAsAa//rAHz/oQCR/9kAkv+wAJr/sACeABwAoAARAKEAIQCj/8IAqv/JAK//uwDC/9kAw//uACEACf/2ABD/6QAX/+4AHP/tACb/7wAq/+8AMv/sADT/7AA4//cAOv/7AEX/+QBG//kAR//7AEj/+gBJ/+4ASv/5AEv/+gBO//sAT//4AFD/+QBR//YAUv/4AFT/+gBV//MAV//rAFj/8wBZ/+EAWv/2AFv/+QBc//AAa//wAJH/+wChABIAIgAT/+sAFv/1ABf/5QAY//QAGf/iABv/7QAc/+QAJv/fACr/4AAt/+8AMv/gADT/4gA3ABoAOv/2AET/8wBG/+YAR//rAEj/5QBJ//UASv/nAFD/8wBR/+8AUv/mAFT/6ABV/+8AVv/wAFf/7wBY/+MAWf/nAFr/5QBc/+UAXv/tAJ4ADgChAA4AGwAK/8IAE//yABT/3wAX/+QAGf/0ABr/5AAc/9kAJf/2ACb/7wAq/+4AMv/sADT/6wA3/8IAOP/pADn/zwA6//MAPP/YAEX/9QBJ/+wAT//0AFX/9gBX/+IAWP/wAFn/3wBa//UAXP/wALr/vAAIACMACAA3/4IAOf/hADz/xAA//+kAQAALAGAAEgDF//gAJAAK//gADP/tAA3/9AAR//YAEv/oACL/7AAk//oAJf/2ACf/9wAo//gAKf/2ACv/+AAs//YALf/4AC7/9gAv//YAMP/0ADH/9QAz//UANf/4ADb/9wA3/3EAOP/4ADn/1gA6//oAO//SADz/tAA9/+kAP//fAED/5gBJ//wAYP/sAHz/8gC5/+cAuv/tAMX/6QAfAAz/9gAQ/+UAEv/0ACL/7wAl//oAJv/5ACr/+QAs//oALv/7AC//+wAw//gAMf/6ADL/+QAz//sANP/5ADb/+QA3/2kAOP/0ADn/2AA6//gAO//eADz/sQA9//gAP//dAED/8ABW//wAWP/8AFv/+gBg//QAuf/2AMX/7gAWABD/9wAl//oAJv/6ACf/+gAo//oAKf/5ACr/+gAr//oALP/5AC7/+QAv//kAMP/5ADH/+QAy//kAM//5ADT/+QA1//oAOP/4ADr/+gA9//sAoAAVAKEAGQAeAAz/9QAQ/+sAEv/0ACL/7gAl//gAJ//6ACj/+gAp//oAK//7ACz/+QAu//gAL//4ADD/9wAx//gAMv/7ADP/+AA0//sANf/6ADf/aAA4//QAOf/VADr/+gA7/+sAPP+zAD3/+gA//9wAQP/wAEn//ABg//UAxf/tADEABQAhAAoAFwAMABUADQA6ABD/3wAR/+4AEv/lAB3/8gAiAC4AI//vACT/9QAlAAYAJv/6ACr/+wAt/+EAMAAHADMACgA3AGMAOQBCADsAMwA8AEEAPQAwAD8AGABAAEEARP/tAEb/7QBH//EASP/oAEr/8ABMAAwAUP/wAFL/8ABT/+4AVP/tAFb/9wBY//sAWv/1AF8AFwBgADsAfP/hAJ4AUwCfAAMAoAAUAKEAQgCv//sAuQArALoADgDC/+8AxQA2ACAADf/1ACL/7gAl//YAJv/7ACf/+AAo//gAKf/4ACr/+wAr//gALP/4AC7/9wAv//cAMP/2ADH/9wAy//oAM//3ADT/+QA1//gANv/7ADf/XQA4//EAOf/SADr/+AA8/7cAPf/6AD//1ABJ//UAV//8AFn/+QC5/+wAuv/yAMX/5wASAAQADgAK//YADf/yAA8ABwARABIAHQAKAB4AAQAjABQAN/+CADn/3QA8/8QAP//iAFn/+wC5/+YAuv/tALsABwC+AAcAxf/lABoAEv/0ACT/+wAl//kAJv/7ACf/+gAo//oAKf/6ACr/+wAr//oALP/6AC7/+QAv//kAMP/4ADH/+QAy//oAM//5ADT/+wA1//oANv/7ADf/4wA4//YAOv/7ADv/+wA8//sAPf/2AKEABwAXACX/+QAm//sAJ//6ACj/+gAp//oAKv/7ACv/+wAs//oALv/5AC//+gAw//gAMf/5ADL/+gAz//kANP/6ADX/+gA2//sAN//3ADj/9AA5//kAOv/6ADz/9wA9//sAGQAQ/9oAJf/6ACb/6QAq/+oAMv/qADT/6gA3/5AAOP/wADn/6gA6//QAPP/cAD//7ABE//wARv/wAEf/9gBI/+8ASv/xAE///ABS/+8AVP/zAFb/+gBY//MAWv/wAML/6QDF/+8AAwBAAAUAYAAJAHH/4wAOAAQADgAPAAgAEQAaACMAEwA3/4kAOP/6ADn/3gA8/8gAP//jAEAADwBgABMAuwAIAL4ACADF//IACgAQ//gAJf/7ADT/+wA3/2wAOP/3ADn/1wA8/7gAP//bALn/+ADF/+wAIwAM/+0ADf/3ABL/6gAi/+wAJP/7ACX/9QAn//cAKP/3ACn/9gAr//gALP/2AC7/9gAv//YAMP/zADH/9AAz//UANf/3ADb/+AA3/10AOP/1ADn/0wA6//oAO//WADz/sAA9/+8AP//WAED/5wBJ//QAWf/8AF3/+ABg/+wAfP/4ALn/7QC6//MAxf/qACEADP/uABL/6wAi/+0AJP/7ACX/9QAn//cAKP/3ACn/9gAr//kALP/2AC7/9QAv//UAMP/0ADH/9AAz//UANf/4ADb/+QA3/14AOP/1ADn/1AA6//oAO//WADz/swA9/+8AP//XAED/5wBJ//cAXf/6AGD/7AB8//gAuf/wALr/9wDF/+sAIwAN//YADwAJACL/7QAl//YAJv/6ACf/+AAo//gAKf/4ACr/+gAr//gALP/4AC7/9wAv//cAMP/2ADH/9wAy//kAM//3ADT/+QA1//gANv/6ADf/WQA4//EAOf/RADr/9wA8/7QAPf/4AD//1ABJ//MAV//8AFn/+QC5/+4Auv/0ALsACQC+AAkAxf/pACcADP/uAA0ABQAQ/8sAEf/HABL/1AAi/+wAI//yACT/8gAl//oAJ//4ACj/+QAp//YAK//4ACz/+AAt/6AALv/4AC//+AAw//YAMf/3ADP/+AA1//kANv/6ADf/kgA5//QAO/+1ADz/2wA9/9QAP//uAED/4wBE//QARv/3AEf/+wBI/+8ASv/6AFL//ABT//kAVP/5AGD/7QB8/7sAHgAM//UAEP/yABL/9AAi/+8AJf/4ACf/+gAo//kAKf/5ACv/+wAs//kALv/4AC//+AAw//cAMf/3ADL/+wAz//gANP/7ADX/+QA3/2UAOP/1ADn/1gA6//oAO//tADz/sQA9//oAP//cAED/8QBJ//sAYP/2AMX/7gAIABD/4AA3/5cAOP/6ADn/7gA8/+AAP//tAML/7gDF//UAHwAM/+4AEf/3ABL/6AAi/+4AJP/6ACX/9wAn//gAKP/4ACn/9wAr//gALP/3AC3/+QAu//cAL//3ADD/9gAx//YAM//3ADX/+AA2//kAN/9qADj/+AA5/90AOv/6ADv/1QA8/78APf/rAD//4gBA/+cAYP/tAHz/8wDF//MAJwAM//EADQAPABD/6QAR/+EAEv/ZAB3/+AAi//MAI//vACT/8gAn//sAKf/5ACv/+wAs//sALf/PAC7/+wAv//sAMP/5ADH/+wA1//sAN/+XADn/+wA7/9UAPP/uAD3/5gA///UAQP/sAET/8ABG//MAR//2AEj/7ABK//YAUP/7AFL/9wBT//MAVP/zAFb//ABa//oAYP/yAHz/zgAhAAz/8QAN//YAEv/wACL/7QAl//YAJ//4ACj/+AAp//gAK//5ACz/9wAu//YAL//2ADD/9QAx//YAM//2ADX/+AA2//sAN/9gADj/9AA5/9YAOv/6ADv/4AA8/7YAPf/0AD//1gBA/+0ASf/3AFn/+wBd//sAYP/wALn/7QC6//QAxf/oABQABAAUAAwACAAPAA8AEP/pABEAGAAdABIAHgABACMAGwAm//gAKv/2ADL/8gA0//IAN/+eADn/4wA8/98AP//wAEAADQBgAA0AuwAPAL4ADwAaABD/+AAi//AAJf/4ACb/+gAn//oAKP/6ACn/+gAq//oAK//6ACz/+gAu//kAL//5ADD/+AAx//kAMv/5ADP/+QA0//kANf/6ADf/cQA4//QAOf/YADr/+QA8/8IAPf/7AD//4ADF/+8AGgAQ/+UAIv/yACX/9wAm//kAJ//6ACj/+QAp//oAKv/5ACv/+gAs//kALv/4AC//+AAw//cAMf/4ADL/+AAz//gANP/4ADX/+QA3/2wAOP/yADn/1gA6//gAO//7ADz/xAA//98Axf/vABIAC//2ABP/9AAX/+cAGf/xABz/5gAm/+0AKv/tADL/6wA0/+sAOP/0ADsAFgBJ//YAV//vAFj/8wBZ/+oAXP/zAF7/7wB8AA0AAgCgABEAoQATAAEADP/2AAMAN/++ADz/7gBNACUAAgAX//EAGv/xAAYALf/uADf/4AA7/+sAPP/sAD3/6gB8/+sAAQAZ//IABQAU/+IAFf/RABb/4AAa/9sAT//jADIAJP/pACX/6wAm/+wAJ//rACj/6wAp/+wAKv/tACv/6wAs/+wALf/dAC7/6wAv/+sAMP/rADH/7gAy/+0AM//tADT/7QA1/+0ANv/uADf/sAA4/+wAOf/jADr/7AA7/+wAPP/dAD3/5ABE/+gARf/rAEb/6ABH/+gASP/nAEn/9ABKAAYAS//rAEz/6QBO/+sAT//qAFD/6QBR/+wAUv/pAFT/5wBV/+0AVv/mAFf/8QBY/+sAWf/xAFr/6QBb//AAXf/sAHz/4AABAAwACAACAAwAOAA/ADIAAgAMAB4APwANACIACv/2AAz/9gAN//IAEv/yACX/9QAn//gAKP/3ACn/+AAr//kALP/2AC7/9gAv//UAMP/0ADH/9QAy//oAM//1ADT/+gA1//gAN//aADj/8QA5/+gAOv/5ADv/5gA8/+IAPf/3AD//7ABJ//cAV//5AFn/+ABb//sAXf/5ALn/9gC6//gAxf/1AAIADQAZAMUABwABAMUAFgAGAA0AIgAiAAkAQAArAGAAHAC5AA4AxQAQAA8ABAATAAUAMgAKADAADQAUACIADgBFABkASwAZAE4AFQBPAAcAXwAqAGAABwBrAAcAuQAnALoAOADFACAAEwAEABQABQAyAAoALAAMAA8ADQAsACIAPAA/ABsAQAAkAEUAGgBLABkATAAUAE0AGQBOABUATwAHAF8ALABgAC4AuQA1ALoALwDFAFIADwAR/6IAJP/uAC3/swBE/+kARv/sAEf/3wBI/+YASv/wAFL/8gBT//AAVP/wAHz/sACfAA4AoAAtAKEALgATABH/oQAS/7oAI//VACT/6wAm//UAKv/3AC3/swBE/+UARv/pAEf/2wBI/+IASv/sAFL/7gBT/+wAVP/tAHz/rQCgAB0AoQAmAML/9AAEABH/jwCfAAsAoAAqAKEAKAADABH/jwCgABoAoQAkAAIABf+CAE0ACAADADf/uwA5//AAPP/nAAkALf/wADf/twA5/+sAO//cADz/zgA9//YASf/0AF3/7wB8/+4AAwAX//YAGv/2ABz/8AAIACT/9wAt/68ANwAKAEf/9gB8/8QAnwAVAKAANAChADQAAgASAAUABgAAAAkACwACAA0AHQAFACAAIAAWACMAPwAXAEQAYAA0AGIAYgBRAGQAZABSAGsAbABTAHEAcQBVAHUAdQBWAIIAggBXAIQAhQBYAJEAkQBaAJUAlQBbAJ4AoQBcALkAvgBgAMIAxQBmAAAAAAABAAAAAMmJbzEAAAAAywVUGwAAAADLBcTm"},function(A,e){A.exports="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"},function(A,e){A.exports="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AgYGAgQBAgQJBgIDAQIEAQEBAgICBwQHAwYCAgQEBwMEBgMFAgUCAQkIAwUDBwIBBgQKCAUJAQoIBAMGBAQGBAcHAwcEAgoBBQkFCREJBgwMCQQJFQsLFQ0ECAsKAwgEBQ4GCw0IBAUJAw8FCAUFCgYGDAULDRENCgYCCgcKCwkFIAkFBwMMAVsBAQEEAQQCAgEBAQIBAQIBCgIHFAoNFAgPDwcLAwIMBgQMDQUIAQwCCAMIDQYJBwIFAwUEAgYNAgMCBQcJAgQFAwcBAgIEAQEDBQYBAgQCAgYCAgQCAwcCAgMCAwUCAgMCBwICCgQLCAUGBwwIDAoFCAQIGQYRHw8FBwUFCgQJBgIKBQICBQIFAQICCAEBAQEFAQEBAgEBAQECAw0dDwUIBQUJBQICBQEBBg4bDAUIBQYNBgIGKwUIBAYJBQMGAwUKBQggEAkRCggSCQgPCA4lEQECAQEBAgIEAQwECA8LAwECAQIBBBIlEBISCwgOCwMGAgQFAgQGAwMHBQkWCwULBQsGAgYIBQIEAgcFBQMFAwIGBgMCAgMFBgEBAQEBAQEBAgEDAQICAQIDAQQBAwEBAQEBAQIDAgICAgIBAQICAgIDBAUBAgoCBQMDBQIDAggJBwoDAgsEAw0NBAkIBQMFBQkIBAkRCAQKBQ0OBgEHAgoFFDISAwcCAwkDCAMCAgUDBQ8GDAMIBAQGCAcFCgkDBgIIAQILDAMEAwkBBgMIBwMIAQkGAgIEAgICAgcDAgcBAgYCAwUDBAcDAwEBAwECAgICAwEBAgMDAQEBAgEBAwEBAgIBAQQFBgYIBQICAQIBAQIDAQMD2QcPCAwICwIXIQ8JBAcMBwYLBQQIAQIFAgMEAgQHAwMDAQYEAggJBAQCAQcBBgoKBQIEAQUCBAMCBQkFERYFDRAJCxkNHBgECAQFBwQNBgMQEA4MBQgJAg0EBQgEBQwFAwYCBAYDBAgFCQUCBAYEDwcFBAQJBAUDAQICAgEBAgIBAQEBCAEBBQEBAggCBgcECBgHBgYBCREIAwcDCwMGAw4SCw4cDg4cDQIGAgEBAwINBwEEBgIJAQQDAgECAQEBAxUpAAACAB4AAwHNAyQBHAH9AAABFgYVFBYVBhQHBgYHBjEGBwYGBwYGBwYGBwYGBwYGBwYGBwYUBwYGBwYHBgYHBgYHBgYjBiYHIgYnIicmJicm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AQsFAQQCAQEDAQEGAgQBBgECAgIBAgEBAQMBAQIBAQEBAQECAwIBAgEGBwUFBQMIAgcGAgQGBA0LBQQGBAQHBRAhDgQGAwwIBAQHAwoMBgwGBAIGAwUJBQIGAgIDBQUCAwUDAgMCBgEBAQEBAgECAgoCCAQCEQwHDAgCBgMJDggKEQgGDAMDCQIICAICAgEEBAUEBgcIEQgFCQUFCQUCBgIBAQEEAQcBDQMDCAUCBgIDAgMFCAUGDAUCBAECAQMBAgECBAkECRILEQMLBAIGBgsGBAMCAwICBQIBBQIHAQIDCQUEBwQIEQYDCAMQFQsOBwcOBwUHBQUJBQgPAi8OCAoFCgEHBwQBBwICBQMGAgEFAQECBAIDAQICAgEDAQEDAQEBAwEBAQICAgICAgIEAggDBAcCAgkBBwUCAgQCCQYFCggFDAgFBQwFBg8HCwcFBw0HDAUDBAkFDiURBQkFCBEKEQYEBgQLBgMDBQMGBAUKBQMHAwUIBQYGBAgIBQgBAQgIBAUFBAICAQECBgICAwICBQMIAgQDAQIFBQMFAwQHAwMLBAQaHhoDGhoMBQIIAgIHAgEBAQECBwYEBQQIBgQMCAQFDAcDBgMDBgIFDAUDBwMIBAoUCwwHCAILBQUIBQgQCg4gDgUHBQUQBggNCgQGBAcPCQYSBQQGAgUNBgsDBA4QAgcDBAgFAwkFBQsGBQ8HCAEBBQIBAwcCBgQCBgICAgIGAQUBAQMGAwIDBgQEAQECAwIBAgQBAwEBAQECAQIBAwEBAgIJCAUEBgQPEwIGAxEEBgoGCAMEEAgGBQL+SQoSBQYHBAIEAgQHAgkBBgQBEw8ECAgOCA8FCAQJAwMFBAUKBAwbDQMHAwMGAxALBQcNBQMGAwQHBQUIBAMFAwMGBQIIAgMCAgUBAgEBAgYCAwMCAgIBAQEDAgICAQIEAQICBgMBCQMDBAICAgIFDQUDBQMDBwEDBAIFBgUDBwQOAwIHBAQHBBQkFAULBxANBQIIAwwLBwcKAgILBAQGAgEBBAEBAQECAQgCCw8LCgwICwURCwUFAgICBQEBAQIEAgMECwIRAggFAQkCAwkEBgkFDAQCCwsEAQIBAwYGBQ0IBAgDBAcEBAgEAwQCAgEDAQYBBAIGCwoCAQQIBAcTBwUJBAcHAgcGAgMEAwEGAgEBAgUCAgEEAgMCAgICAgECAwkA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CwoEBAYEEA0HBw8JDgIGBgIDBQICAQUBBAkBAwIBAgMHAwMCBAIDAwEBAQUCBQECCQ4NCREKChQCBQgFCwYFAwoFBQYGDwsFAgkFAwUEBgYEAgYCCgMKCgEBCQMCAwYFAgYEBwEBBgMCEwoLEgoDCgUDAgAABAAo/+QCVAL2AOMB/QKYAsIAAAEGBgcGBgcGBwYGBwYHBwYGBwYGBwYGBwYGBwYGBwYGBwYUBwYGBwcGBgcGBgcGBgcGBwcGBgcGBgcGBwYGBwYGBwYGBwYHBgYHBgYHBgYHBgYHBgYHBgYHBjEGBgciJicmFSInJiYjNjY3NjY3NjY3JjY3NjY3NjY3NjY3NjY3NjY3NjY3NjY3NiY3NjQ3NjY3NjY3NjY3NjM2Mjc2Njc2Njc2Njc2Njc2NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzY2Nzc2Njc2Njc2Njc2Jjc2Njc2MhcWNhcWFhcWMhcWMgUWNhcyFhcWMhcWFhcWFgcGBgcGFAcGBgcGBgcGBgcGBgcGBgcGIgcGBgcGJgcGBiciJicmBicmJjcGJicmJicmJyYmJzY2NzY2NzY2NzYGFxYWFxYXFhYXMhYXFjIXFhY3MjY3Njc2Njc2NzYxJiYnJiYnJiYjBiYjBgYHBiIHBgYnJjYnJiY3NjY3NjY3NjI3NjY3NjY3NzY3NjQ3JiYnJiYHBgYHBhQHBgcGBwYGBwYGBwYGBwYGBwYGJyY2NTQmJyYnJiYnJjQ1NCY3NhYjFgYXFhYXFhYXFhYXFjY3NjY3NjY3NjY3NjY3NjI3NjY3NjM2NjMyFhc2MhcWFhcWFhcWFhcWFhUWFAcGBgcGBgcGFAcGBgcGBgUWBgcGFhUUBhUUFhUUBhUUBhYWFxY2NzY2MxYGFRQWFQYGByImIyYGIwYGFxQGFxYWFxYXFhYXFgYVBgYHBgYHBiIHBgYnNjY3NzY0NzY2NzYmNyYGIyYjIgYHBgYHBiIHBgYjJiYnJjYnJjQnJjU2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Jjc2FhY2BwYGBwYGBwYGBwYHBgYHBgYHBgYHFjYXFzYXMjYXMzQ2JzQmJyY0JwYGAi0BAwIDBwUHBgICAgQDBwgGBAIHBAQIBQcKBQgLBwIDAgYBAgQCEwUIBQYBAgQFAwMFCQQCAgYBAgYBBgYGAgcEBAUDBAYFAgECBgMFBAIGDgYCAwIFAgEFAgEECgwHCwkCCQECAQkDAgIBBQcGAgUCAgICCAEEAwkEBAcGBAECBgICAwcDBAEBCAECBAIGBgMHCAQDAwMCAggHAwICAgIEAgYGAgYBAgQCAgcEAgMCAgQCAgICAgYCBgEEAggFAgMCBgQFAgcIBQUHBQcBAgQCAQUHAggDAQwHBQgCAQUE/rYECgUDBQQFCQMGBwUEAwIBAQIFAgYFAQQEAgMGAwIFAwUSCAoHAwcOBwcJBAIFBQMHAwcEAQkFAQMFAgcGAgYCBwcBAggDAwYEBAkFDAECAgcECAMNAgQGCAQDBgQFBwgGDgUFBgUHAwQCAgIFAgIIAgYHCAoCAggKBAkDAgUGBQMCAQQDAgIGBQIFAwUHAgUFBQUEBQYLAwQDAgECBh0PBQgFBwELBQYCBAQCAwECCQMBBgwHAwcGBQYFAQECAwIBAQICCQUBAQIBAQIBAgQCAwIEAgcEBwMBBQUCAwEBBAYCCQYCAwUCCAoKBAIDCQMJCQMNBgQOBwkBAQIBAgECBAECBQoFCAECBwIGBgE1AgUBAQIBAwIBAQECCBYKBQcEBQMCAQIBBg0FCRIKAwEBAQEBCAMJAw4UBwEGESQSCRIJBwcDBAgEAggFCAICAgkBAgQDCxYMDQoLCAUEBwUIEQgEBwQEAQMDAQIEAgQECQQECQQKAgIKCAgCBQIEBgQDBAUCBQMDBgICAgIBAgICAwEBAgMJFBQUOwIEAgUCAQUCAQQFBwICBQMEBBEFAwYEEAcIDw0HFgQDAwEBAQUGAssFCQMFBwUJBgIGAwYDCwkLAgcMBggPCA4TCQsaCwMHAgcDAgMGAiYIDQgJBwMICwUHBQ8IBQIIBQIKAQcMBQgMBwUQCAkECQsCBQoFCQkEDxwNBAgFCwkECwQKAwwEBQEBBQMGBQUJAQEGDgUFBQMFBwMMBwILEggKEQcNBQUHBgMFCQUHAwEKAgICCAMKCwULDQcKCAIQDgYDBwMFBwQJCAQLAQUGBAULBQYEAwYDAgMHBAUIBgkGAgkRCAMGBAoIBQMQEQkQEQoLBQQGBgIMAgoCAgkEBQgBA5cBAgEDAgIBAwkCCxANBg0FCgcDCwMCBwYDAgYDAgQCBQgEBgECAgIEAQEBAgECAQUBAQkDAwEFAgUFAg0G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AwUGBgIFCAIFBAQCBQIKAQIJCAMIEgUKBQQIBAQHBAMGBAQHBAMGBAoEBAQCCgQCCgYDBgQCAwMDBAMEAwECAgIEAQYNBAgFBAYDBQoFBwICBgAAAAQACv/lAmYC9AHUAjECvQMSAAABBhYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYVBgcGBgcGBgcGBgcGBgcGBwYHBiIHBgYHBgYHBgYHBgYHBgYHBhQHBgYHBgYHBgYHBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYHBgYHBgYHBhQHBgYHBgYHBhYHBiYnJiYjJgYjIgYnJjY3NjI1NjM2NDc2NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzQ3NiY3NjY3Njc2Njc2Njc2Njc2Njc2Njc2NDc2Njc2Njc2NzYyNzY3NjY3NjY3NjY3NjY3NjYnNjY3NDY3NiY3Njc2Njc2NTY2NzY2NzY2NzY2NSYGBwYGBwYGBwYiBwYGBwYGBwYmJwYWFRQUBwYGBwYGBwYGBwYVBgcGBgcGMgcGBgcGBgcGBgcGIgcGBgcGBgciJiciJicmJyYmJyYnJiYnJic0JicmNSYmJyYnJjQnNCY1NDY3NDY3NDY3NjY3NiY3NjY3NjY3NjY3NjY3NjY3NjY3FjY3NjY3NjYzNhYXFhYXFhYXFjIXFhYXFhcWFzIWFxYWFxYyFxYWMzYyNzY2NzYyNzYWNzY2FzY2NzY2NzY2NzY2NzYmNzYWFxYWFxYWFxYWBSYGBwYHBgYHBgYHBgcGBgcGBgcGFAcGBgcUBhcWFhcWFhcXFhYXFgYzFhY3Njc2Njc2Njc2Njc3NjY3NjY3Njc2Njc2Njc2Njc2NjU0JicmJicmNCcmJyYmJyYmAQYGBwYHBgYjBiIHJiYnJiYnJiYnJgYnJiYHNCYnJiYnJicmJicmJicmJicmJicmNjc0Jjc0Njc2Njc2Jjc2NzY2NzYzNjY3NjY3NjY3Njc2Njc2NzY2NzY2NzY2MzYyNxYWFxYWFxYWFxYUFxYWFxYWFRQWBxQGFQYUBwYGBwYGBwYHBhYHBgYHBgYDBiIHBgYHBgYHBgcGFAcGFgcGBhUUFhUWFCMWFhUWFhcWFhcWFhcWFjc2Njc2NDc2Njc2Njc2NDc2NjUmNjU2JicmNjUmJicmNCcmJicmJiMiJgcGAjwCAQECBgIFAgEGAgIHCAIFAwICBAIGAQIFBAUBAgICCwUFBggDBggDBgEICAQCAQcCAQIDAgIDAQUDAgICAgYBBAICBAMCBAcDCQIFAwUHBQcBAQIEBAMIBQUKBQQBAgUEBwgGAQcCAgICCAMCBgIDAgUKEwsDBgMFBwUDCAQCBgQGAgcBBwIFAwIIAwUCAQIDBAIFAwUJBQIEAgIGAgUCAgICAwQEBAIFAQEKBQMKAQIDBQIHAwMGAwQGAwMFAwICBwQCBAUCAQQHAQEEAgYEAQUBAgQDAgkFAgUEAgMCBAMBBQEBBwEEBgIGBQQCAgMCAwYCAwIFAwMDBQILGAsDBgIEBwQEDgQJHQ0CAQEEAgICBAIDBgMHCwYDBgUJAgIFCwUHBwUDBgIIBQMECAUFBwUFCwYEBgUIBAQCAwUFBAwGAgQFAgQFAQEEAQEBAgQCAgEDAQMGAgMBAgUCAgIGAggBAQcFAwYJCwINBAUIAwkBAggFAggaCAQFBAUEBAYCAgIEAxIOAwIDBQMHBQQKBQIECAULBQMDCwUHBwMIAwICBwUNBQMEBwIEBQMFAgUBCwQKDAYDBgQECAMIDP6ICBUGCQYFBAQGBQIHAgcCBQEFAgIBAQIBAgEBBgMBAQEIAwICBwEBBw0ECQEJBwIEAwIEAwILAwICBwcBAgEFAQIHAgIGBAIBAQMCAgECAQEEAQIEAggQAVkDBQQHBgQRAwQGAg4LBQYLBQMGBAoCAgQDAwYCAgECBgICAQICCAICAgICBgEBAwEBAgMCAQEBBQEBAgIHAgIEAwQCAQIGAgUIBQoEAwUDBAkEBwQFBwUJAgIFCgUKDgUIEgcFBgMFAQIGAgECAQECAQIBBQICBQIFCAYBAQYLBQIERwcDAQQIBAMDAQcDAgEBAQEBBAMBAQMDAwQCAgUFAgcCBRQEBwsEAwEFAQIDCAICAgECAQIBAQEBAQEEAQcBAgICCAMDAw4FBwLQAwYCBQcEBwcCBAcDDQYECwICBAgECgQCBwEBBwMDBQIODAcMDQUMCgUMAQoIBwIKAQECBwQHAQIJAQIDCQMJBAIDBwMGBAIQDAYPAwcEBw4ICwMCAwcCCBAHCAwHAwcCCQYJDwYGCgYCBwQHEAgFDAUJCAQCBwMBAgECAwQFCAMJAQoKAgIIAwUEBQgBAgIHAgQHBQcPCAQIBAQGBAsCAgIIAwUJ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BgQDCAICBwUEBwUGAgUFAwoFBwIBAgQCCgMKBwUIBQoLBQUJBQUHBAQDBQIFAgMFAgQEAgUGAgIDAQEDAgIHAgkEAgICBQYFCQgFBQYCAgsFAwcEBAYFDAYDCAQIFwYSFAkIBQgJAwQHBQsHBAwECg8KCwIHAQQDAwgGBwQEAtYFBgIFCgUJAQIGAgMFAwYLBQMGBQoFCQMCCgQJBAIGAgYCAgIEAwwFAgUDBQYFAwcECAQECxYKAgIDBwQLBAgQCREHAQcDBwICAgIBAwEBAgQCBgQDBwYDBw4ICAMFBwQDCA0FAw8OBQsOBggICgUCCwEEBwEBAggDAgEBAQECAgEBAQQCChYNCgMCBQsFBAMFBAEBAgMBAgMBAgMCBQYDBAQEAwEFAwEGAwEIBgUJAQICBAMJCgQHBwMDBgIFCQUDCAMICQgOCwYCDw4GCAsIDAYDAwcDAwgDBAUCAgIFBQMBAgMCBAIGEAsIAQgDAggCAgUGDgcIDwMMCQMGDQgIAQEGAgMEAgcEAgMJAwQIAgEKCwgDCwYCCQQEBwMEBgMGAwQEBQEDAgMEAQEBAgECBgQCBQIGBAgBAQoECQMHBgMHBwMDBQQFBAIFBwIIBgQEBAMHAgICAwMBCREIBQgFDAoFDQUCAgUEDAUCCQULEAcJCwIBAgIBAQMEBgcCAwQCAwQKBgQEAgQEAgMCBAICBAQJAQIBBQIEBQkBCAMFBgQKBQQHBAwVCw0FAQYDCAINBwMCBwYIAgIHAQYCAgQCAgIBAQEBAQEBAQIBAgIBAQEEAQEFAgIGAwkDCAYDDw0GAwcEAwYEAwYDCgUKCQMGCwUJBwMDBgMFCgUFCwUFCAQKBAIKBgMHBgIHCAUHBQQEBwQDBgQGAQECBQIHAgMBCQEBAgQBAgMCAgICAQQEAgMCBQwFCgYDFycRBAoCCwYCAgUEBQkFDgQDBQMCCAMHCAQFBAICBgICAgICAwIHBAIEAQICAQYEAgEFAgICBAIFAwQKCAIIAQQCCAEDAgYEBAQCAAABAA4BqgBrAuAATQAAExYWFAYHBhYVFAYUFBUUBhUUFhQWFRwDBwYGBwYjJgYjJiYnJiY3NCYnNDY1JjY1JiY1NDYnJiY1NDYnJiYnJjY1JjY1NjYzOgIWaAIBAwIDAwECAQEBAQEDAg8ICQIIBQUCAwEDAQEDAQEBAQEBAgEBAgECBQIFAg4QCwQPDwwC2AMPEhMHCxULBgUFBgYEBgMCDxITBQoKCQwMChIJBwICAQEFAxAFBhUIBAcDBgMCCBAIDw8QBQsFCxEICxMNCgQCCwMDBQMEAAABAB7/yQD3AxAA3gAAExQWFQYGBwYHBgYHBgYHBgYHBgYHBgYHBgYHBgcGBgcGBgcGFAcGBgcGBhUUFBcUFhUWFBcWFhcWFhcWFhcWFxYWFxYWFxYWFxYUFxYWFxYWFxYWFxYWFxYWFxYXFhYHBiYnJgYnJiYnJiYnJiYnJiYnJiYnJiYnJiYnJiYnJjUmJicmJicmJicmNCcmNSYnJiYnJjYnJyYnNTQmNSY1JiY3NjY3NDY1NjY3NDY3NjY3NjY3NjU2Jjc2Njc2JjM2Njc2NDU2Njc2Njc2Njc2NzY2NzY2NzY2NzY2NzY2N/QDAhMGBAQEBQUDAwMCAgUCAwIMBwcDBgEEAgECAQICAgIBAgIBAgkBAwICAQMCAwMCAgcCAgECAgICBgMCAwIFAQYCAgIDAgIBAgQIBQMGAgQDBAkCCAsFBRMFCAUCBAECAgICCAcFBAYDAwIEAQUDAgUCBQQBAQIBAgIGAgICBAIBAggCBAIBAgICAwEBAgEBAgEBAQMCAwEBAQIEAQIDBQICBgMBBAQCAggEAwYCAQUFAwoQBggBAwgEBQICAwoEAwgECAUFAvoFCgUHDQcGCAUIBQMDBAMHAwUEAhIYDAUMCAMKAwYEBw8HCA8ICA4HEy0ODxcIBAgFCRIJCAsGChwJCBEKCQIFDAUIEAkEBwQHBAIKBgICBAMDCAQJEQgFCAQJAwULCQICAQEBAQcEBAQFAwMEAwkRCAgMBQUKBQUIBQQIBAYEBAcDAwYCBQgFBAoFCAcIAwkTCwkIBQ4OChEMBwQFCQgSCQcNCAQHBAgSCgMIAwYKBQwGBAoHBwQCCwMCCQQIDwgGBAILAQEJCAUSDgkIAQUJBQUDAwQJBQMFBAoEAgAB//X/yQDOAxAA4QAAExYWFxYWFxYWFxYWFxYWFxcWFhcWFxYGFxYUFxYWFxYGFxYGFxYGFxYVFhYXFhQXFhYHFhYXFBcWFhUWBgcUBwYGBxQWBxQHBhYVBhYHBgYHFAYVBhYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBiYHBgYnJjY3Njc2Njc2NzY3NjY3NjY3NjQ3NjY3Njc2Njc2NTY2NzY2NzY2NzY0NzY2NzY0NTQmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyY2NwUFBAMLBwQECQIIAQIECAMIBhAEDAYGAQEEAQcHAgMBAQYBAQUBAQMEAgIEAgEEAgMDAgEBAgEBAQEBAgEBAQICAQMCAgUJAgIBAQEEAQECBgICAQICAQIEAgECBgICBAEFAQMDBwIHBwQFAgICAQIEBgMKEgUGCwcCCAQFAgMGAgsGAgMBBAICAgEHAQYDAgUFAgICAgIIAgIEAwIDAQEBAQIBAQgCAQICAQEBAgMCAQIBAgEDAQYDBggGCAMBBgICAgQCBQUEAgQCBxICAQMBAxACBAMLBQMFCQQJAQEFCQUJCQ4KEAoJAwIFBAENDwgHBAIJAQIGBAIIBwsGBA0KBgMIAQwSCAoFCA0HCRIICQUEBwMOBwUGCAwDAgwIBBATCQIGAwIGAwkKBAUIBQIGAwMHAwgBAgQIBAUIBQUKBQUMBQsRBwUEAwMFAgYEAgYBAQECAgkLBQgEBAgCEhMIBwMEAgIGAgoEAgkHBBARBQwFBwQKEQgJHAoGCwgJEgkFCAQIFwcWLRMHDggIDwgHDwcEBgMEBwIIDAUMGAoKBAIGBwMEAwMFCAUDBgIKDQcFCgUAAQAfASYB/QLqAU4AAAEGBgcGBgcGBgcGBgcGBgcGBhcWNjc2NDc2Mjc3NjY3NDY3NjY3NjY3NjY3Njc2NjcyFhcWFhcWFhcWFBcWFBcWFhcWFBcWFAcGJiMmBgcGBgcGBgcGBgcGBgcGFxYWFxYWFxYXFhUWFxYWFzYWFxYUFxY2FxYWFxYWFxYGJwYGBwYGBwYGBwYGBwYiBwYmBwYGJyYmJyYmJyYnJiYnJiYnJjQnJicGBgcGBgcGBgcGBgcGBgcGFAcGBgcGBgcGBhUGBicmJicmJicmJicmIicmIicmJjc0Njc2NDc2Njc2Njc2Njc2Njc2Njc2NzY2NzYnJgYHBiIHBiYjBgYHBgYHBiIHBgYHBgYnJjYnJiYnNiY1NjY3NCY3NjY1NjY3NhYXFhYXFhYXFhYXFhYXFhYXFhY3Njc0JicmNCcmJicmJyYmJzY2NzY2NzYyNxYWAWABCQUCBQIDBAIEAQUFBQEHBQkFBQIHAgUFBAwCBAUGAgkFAgwKBQIFAwoMAwEFBAUEBQMDAQgDBAEFAwIDAgICBAIEDAcJGAsFCwUIDgcDCQUMFQoSCgUBAgIJAgYCCgYFBQoEBAQCCQIIAwEEBAINCQQDAwUCBQMDBQIECAUEBgIFAQEFBAMKBgUFBAMDBgIJCgQKAgMEAgkBBw4FBQICAwIEAQEBAwEEAwIGAQECAQEDAQIDCgwFCwYFCQsGAwUDBAgFBQYCDAQBDAUHAQkHBAQHBQYFAwYEAgkEAgQIDAQDDgYFDAYEBgMNBgQECQUGDAcNCAMIDwgHDQgBBAEBAgEBAQEDAQEBAQQDAwUECQYMBwULBAIFDwYLDAUHFAcGEwUFAg8DAQECBwQEBAIGAgYTCwcNCAsnDg0RAuMJEgkECAUIBgQKEwoKDwsREwcCBgIFAgIEBQkCBgEDAwIHAgILCgUCBAESDAQEAQoFBggCBwsHCAQCCgcDAgMFAwYECAQEAwMBAwICAgECAgICAQIFBwgOEAYBAQIHAgUEBwEFAwQGBQEFAgMCAQQBAQMCAgMFAgUMAQMCAgIHAgQHBQQDAgcCCQEDBwYBBQ0HBgsGHBYGCgYCBQILBgMMBQIIBQQHBAQQBAIFAwcHBAsIBQQKBAULBQcEBggDAwcDBQIKAwIDAQICAwIKAgMGBQMHAwEGBwIEBwIFAgIGAgIIAwIEBggEAxEJAgEBAQIEAQEBAQEBAQQBAgYCAgcCBxILBQoFBwICCBAIAwYCBgkFAgkCAQUCBwQCAwECAwQDBQQCAgQCAgMCAwoUGQ4FBwQMFQsMBgUQCAYBAgIFAgMBAQEAAAAAAQAJAFIBywIMAMAAABMWNjc2Njc2Njc2MzYyNzY2FxYGFQYWFRQGFwYmJwYmIyIGIyImJyIGIyImIwYmIyIGIwYmBwYUFxYUFRYWFxYUFxYWFxYWFwYmBwYGJzY2NzU0Njc2NDU2NicmBiMiIgcGBgcGIgcGBgcmNicmJicmJjc2FhcWNhcWFhcyFhcyFhcWNhcyMhcWNjM2Jic0Nic0JjU0NjUmNicmJicmJzY2NzY2MzYWNxYUBxQGBxYGFRQGBwYGBxQHBgYHBhQHFAb/BhMHEyQUBgkFCgsHCwUIDwgCBAECAQEQEwsMDAYFCggFCgUCCwEKAgIJBgUCBwQFCwUCAQEBAgEBAQECAQMJAwcPCAsfCwEGAQEBAQEEAhY0FwkRCAMGAwQHAwgPCAQBAQUBAQECAwUIBQULBw0OBwUMBQoGAwULBwUNBQcUCAIBAQEBAgEBAQEEAQICAQkeCwkCAgMGAgcCBAEBAQEBAgIBAQEBAQMBAQFMAgMBAwEEAgIBAwEBAgYCBg0HBQgGBBMEBAIBAQIBAQEBAQMBAgECAhIjFAULBQMGAwMHAwcHBw0XDAQBAQEHBRUTCQ8IEAgIDggQIRICCAIBAgECAQIHAgUKBQ8aBwsHAgIEAQEBAQECAgEBAgEBAQEBAQMIDwcCBgUEBgMDBQMJFQgSEQkPEgQDAgECAQECCA8EBQgFBAQDCAwIBQsFCAQFCwYPDAUFCwABABP/twCSAF8AOAAAFzY2NzY0NzYmNyYGIiYnJiYnJiYnJiY3NjY3NjY3NjYXFhcWFhcWFgcGFAcUBgcGBgcGBgcGBiMGQgQOCAYBBAIBBxEQDwQFBAMCAQICBQEFBQQIBAIFEgsOEgkLBQQDAQEBAwECAwIEFgwCBwIOMwYFAgcCAQcLBwECAwYCBAUCAwUEEAkLDAIDBAIDAwEBCgUMCwgSDwULBAIIBAcIBQkPBQECAQABAAkBGAGlAWQAXQAAARYUFRQWBwYjBiYnIgYjJiYnJgYjIiYjIgYjJiMmBiMjBgYnJgYjJgYHBgYHIiYjIgYjBicmJicmJjc2NjMWNhcWFjMyNjMyFjMyNjMyFjc2NjcyNjcyNjM2FjM2NgGcCAECBQgHCwUFCwYMFw0FCAUDBwICCAILAQcIAw0NDAgNDAcQFAoGDAYECAQEBwUXFQIBAQEDAgMEBQsXDQwWDQUJBQsTCgUKBhIoFAoRCAcPBggSBggBAgoOAWQNGwgFCQMEAQQBAgEEAQECAQEBAQMBAQEBBAECAQECAQECAgIGDQcFGAUBBQQDAQEEAQIBAwIBAgEBAQICAgMCAAAAAQAR//kAeQBhACwAADc2FhcWFhcWFhcWBhUUBwYGBwYGBwYGBwYnJiYnJiYnJiY3NjY3NjYzNjY3NkcCEwQFBgUDBAEBAQMCAQICBwMJBwQJDAIGAwUHBAYJCAEEAgkBAQIIAwdfAgUBAgYGBgYDAg4DBwUDBwICBwIFBgICAgEFAgQCBQocDwMFAwcEAQEBAwAAAAEAAf/3ASEC8ADAAAAXBiciBgcGIgciBic2Njc2NDc2NzY2NzY0NzY0NzY3NjY3NjY3NjY3NjY3NjY3NjY3NjY3NjY3NjY3NjY3NiY3NiY3NjU2Njc2NDc2Njc2NzY2NzY2NzY0NzY1NjY1NjQ3NjQ3MjU2MjM2NhcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGFAcGBgcGFAcGBgcGBgcGFQYGBwYGBwYGRQgFBAUDAhUDBQgEAgUBAgIBBAIEAgICAwIGAQICAQUMBwcPBQMCAQICAgMDAQIBAggHBAMIAwIDAgEBAQMBAQUCBQIBAQEDAQECAQICAgECBAEEAwECAQQCCwYWBAUPBAECAQMIBAQBAgIDAgMCAQMGAgIGAgQDAgIFAgIFAgIEAgIDAgIBAgEDAgIDAgIEAgIDAQMCAgUDBAIDAgQBAQMCAwEEAwICAwIEAgMCAgQCAgQCBAMCAQEBAQQMBwUFCQUICQUHBAULBQYFAw8HCAcEFCYSEyMUDAUCBQoFCgwGBgoFGBsODhQJCAgEAwYDBgQCCwcIEwgEBwMCBgMNBAUIBQQJBQcFAgkECAICCwQCCQkEAQMBAQYKBQMKEwgIBwQFCQUNBAILEwoHDwgPCAUIDggHDwgIDgkGDAUFCwcECgUHDwcGDQcFCwMKBwMODwcFDgULBgMFCwUKBwQLDAYGDQcMAgcPBwYNCAoVAAAAAAIAKP/lAkcC+QD8AiUAAAEWFhcXFjIXFhYXFjMWFhcWFhcWFxYWFxYWFxYWFxYWFxYWFxYWFxYWFxYUFxYXFhYVFBQHBhQHBgYHBwYGBwYGBwcGBgcGBgcGBgcGBwYWBwYGBwYHBhUGBgcGBgciBgcGBwYHBgYHBiIHBiYnJiYnJiYnJiYnJiYnJiYnJicmJicmJyY2JyYmJyYnJjYnJjQnJiY1JzQ0JyY0JyYmJzQnJicnJiYnJjY3NDQ3NzY2NzY2NzY2NzY0NyY2NzY0NzY2NzY3NjY3NjY3NjY3NjY3Njc2Njc2Njc2Mjc2NzY3NjY3NjY3NjY3NjY3NjY3NjY3NjYXFjYXFhYXFhYHBgYHBgcGBgcGIwYGBwYUBwYHBjEGBgcGFgcGBgcGBgcGBgcGBgcGBgcGBgcUFAcGBhcUFhUWBhcWFhcWFBcWFBcXFhYXFgYXFhQXFhYXFhYXFxYWFxYWFxYWNzYWNzY2NzYyNzYyNzY2NzY2NzY2NzYzNjY3NjY3NjY3NjQ3NjU2Njc2Njc2Jjc2NjcmNyY2NTQmNzY2NyYmJyYmJzQ2NTYnJiYnNCYnJicmJicmNCcmJyY0JycmJicGBgcGBgcGBgcGBgcGFgcGFxYWFxYWFxYWFxYyNzY2NzYiNzY2NzYmJyY2JyYGBwYGIzYnNjY3NhY3NjM2FhcWFxYWBwYGBwYWBwYGBwYHIiYHBiYnJjQjJjYnJiYnJjUmJicmNjU0JjU0Jjc2JjcBgQoHBQ4JBQIJBAIJAQYGAgURBQMEBAcEAgQBBQEBAwYDBAICAgICAgICAgEFAQECAwIBBQEBBgIBAQIBAggFAgIDBAIKCgUEAgYBAQMHAgQEBgoKBQQHAgMGAgIIDwYLHA4PCwYPDwYMDgcHBgIJAwIIAwIJBgMPDQUMBQoKBgEBBwQDAQIFAgEDAQECAwIEAQECAgIDAgEBAgEBAwEBAwIBAgIBAgIDAgEEAgUBAQICAwIEAgMFBAUHBQMHBQIGAgQDAgYDAgUCBgMCBwgMBAMGAwMFBAkBAgMGAwMFAwYLBgYZCgkHAgQHBAQHXQwIAwgCBgUCBgQECwIEAgQCBgUGAgUBAQUJAwICAgIFAgIDAgICAgECAQECAwICAQECAQIBAQIFAQYECAMFAQEHAgkGBAIFAwgGBwMIBwMNDwQIBgINCAIJAwIHAwIHBAIKBAIIEAgGAwQCAQIFAgYFAgYBCAQEAgYJAQEBAQECAQEBAQMDAQIDAQECAQQIAQECAgIBAQEBBhACAgIGAQQDBgIWCxQMCQIDCQUDBwQBBQMBAQEBAgMGBAIIAwMJBQYNCgQEBQUJAQEDAQICAwICAQINGAgCCAUDAwMFBgIJAwwFBgsGCgUDBQECBgIHAQELFAcIBgMGAggFBAkBCAEBBwUCBQcDAQECAgEBBAICAuMHBQIKBwIFAwEGBAMCBAkFBAgFCQUDBQILBAIHDggMBQMGEggIEwkKEwoUEQsTChQjEwcIBA8JBAsDBwMDBgMQCgQDBwsFEBQKCAUHAgECBQQGBgcEDQQECAUEAwICBAcDBQcEBgECBQICBwMFAgIHAgEHBAEHBwMNCAgMBwsPBQMCCA4IAwgMBgMKBQMJAgEMAgcCCAUCBQ4IBgoJBhQLDAYLFQoGCgUSBQkFAwYDBA0GBAgDBQcDBQUEAwUFCAQHCwQEDQUFDQUCBQIGAwIHBAIGAgYBBwYKAwIEAgIDAgQCAQICAgIEAgMGAwIFAwMBAQIFAwICQwcIAwcDCgQDCAkJBQMFAgkCDAYMBQoDAQkSCwUHBQQIBQcPCAgRCAQGBAUIBRU2GgcPCAkSCAMFAwIGAwoCARAHEgUIAQIGBAINBgQEBQMIBQcCBwEBBgIBBAICBwECBAEHAQYEAggBAgcNCAcJAQEDBwIOBwUGBgIMAQ4MAg4VCwUKBQcLBgoBEBYKAgUEBQgFCAkBDAkGAgYDEhIQDAYHDQctIQQFAwgEAggDBQMCEwQNAgEBAgQEAgkEAQwEAgQIBRIKDgsDCQECCAICAwIBBwMJAQMCBQYFBQMGAgcMCgUBCg0ECwMCAQIIAQYBDQ0JFg0MCAIHAgEHBwIGAgEBAQEEBQIGAQIHBgINAQ4HBQQGBQMHAwwPBQwKBQAB//f/7AFoAvQBDAAAEwYWBwYVBhQHFAYVFhYVFAYHFAYVBhQVFBYVFAYVFBYVBgYVFBYHBhUGFhUUFhUUBhcGBjMGBgcGFxQWFRYUFxYGFxYWFxYWFxYWFxYWFxY2FxYWFxYWFxYWFwYmBwYGIyImByIGIyImByIGJyImIyYGJyYmJzQ2NzYzNjY3Njc2NjM2Njc2Njc2NjcmNjU2JjU2Jjc2Jjc2JjU0NjU2JjU0NjUmJjUmNDUmJicmJjc0Ni8CJjY1NCYnJiYnJjYnJyYmNzQiJzU1NiY1BgYHBgcGBgcGBgcGBiMiBiciJicmJyY2JzY0NxY3MjY3NjY3NjY3NjY3NjY3NjY3NiY3NhY3MjYzNjcWNjc2Fu4CAwEHAgEBAQICAQECAQEBAQQCAgIBAgEDBQEDAgEFAQICAgECBQECBwgGBwcCAgcCCAcEAwUBCRAHBAcEAwkBCQkFBAwIBg0GDBUPFCcTDhoMCBMLAgkFBQcDBwMLBgMIBAwCCQIBBQQCCAQCBgYCAQYBAQQBAgMBAQIBAgEBAgEDAQEBAQEDAQEBAgIEAwMBAgECAQIBAgECAQEBAgMIAQEKBAgUCwYMBgoIBQMHAgkCAgQBAgECAQMRDQgRCA0GBAkGBAIDAQMEAwIJAgICAwcPCQQIBAYJCREFAgYC8wQGBAwIChgMEQsFBQoFCREICBIIFSANCA0HBAUFAwYECBEJCA4ICAQECwYFCwULEwoJAg4gDAsMDAQCBwwFDg0FFBMJCQYCAgECBgQCBAEEAQcDAgMCAgEFBwEBAQMCAQICAQMBAwECAQECBAUFAgYDAwIKAQQDAwIBBwQDCQUDAgYCAwUDERAHCgQECwYDBQgFBQgFCREJBQgFBQkFBQoFBgwKAgQFCxILBAIGEAgOGwsIAgIRBQoICQUlDA0fDgUCAQoGBwsDAgMBAQQBAgcDBgQCCgQDCgIDAQUCBAQCBgcFAQcCAwYCCRAKBgoFAQIBAQMBAgUCAQEAAAAAAQAJ/+QCGQMEAoQAADcWNhcWFjMyNjMyFjM2NzIWMzY2FzYyMzI2MzY3NhYzNjY3NjY3Njc2Njc2Njc2NDc2Njc2Njc2NjU2Jjc0NjcWBhUWFhcWFhcWBhUWBhcWFhUGFhUUFhUUBhcWFhUWFgcmJicmJyYnJiYnJiInIiYnIgYnJiYHBiIHBgYHBgYHBgYHBgYHBgYnNiY1JjY3NjY3NjY3NjY3NjI1NjY3NjY3NjQ3NjY3NjY3NjQ3NjY3Njc2Njc2MTY2NzY2NzY2NzY2NzY2NzY3NjY3NjY3NjY3NjY3NjY3NiY3Njc2Njc2Njc2NTY2NzY2JyYmJyYmJyYmJyYmJyYmJyYGBwYGBwYmBwYGBwYiBwYjBiYHBwYiBwYGBwYGBwYHBwYGBwYGBwYGBwYUBwYGFxYUFxYWFxYWFxYWFzIWNzI2NxY3MjY3NjY3NjM2Njc2NzY2NzYnNCYnJiYnJgYnJiYjBgcGBgcGFhcWNjM2NhcUBgcGBwYGBwYmNzY2NzY3NjY3NjY3NjM3FjYzFhYXFhYXFhYXBhYVFhYXFhcWFgcUBgcGBgcGBwYHBgYHBgYHBgcGBgcGIgcGBicmJicmJyYmJyYmJyYmJyY2JyY0JyYmJyYmNzc2NDc2JjU2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2NzY2NzY2NzY3NjM2Njc2Mjc2NjM2Fjc2Fjc2NhcWFjMWFhcWNhcWFhcWFhcWFhcWIhcWFhcWFxYWFxYWFxYWFxQWBwYWBwYWBwYUBwYGFQYWBwYGBwYHBgYHBiYVBiMGMgcGBgcGBwYGBwYxBgYHBgYHBgYHBgYHBiMGBgcGBgcGBgcUBgcGBgcWBgcUFhcWBhcGFsIFDAYDBgQFDAYIDwgIBQMHBAQIBQMTBQUKBgcECQQCCwcDBAYCBgYDBQMJBwIBAQEBAQIDAwMEAQIBAgELAgECAgICAgIBBQICAgIBAQEBAQEDAgECCQ0HDQ8HCQUYCBg1GAUJBQUIBAgLBw8NCAQFBQobDAkVCQMGBAUMBgIFAQEBAQQEAgICAgMDBAICBAICAgIEAQIEAgMEAggBBwQFCAICCQQJBgICDgwGAgYCCRUJAwYDBwECCQMDBQIDBwICAQIECAMIAQEEAwIBAgUCAgMEBAICAQICCwYFCgUGCwcGDAYLBAIJDwgJEQgFBgIEBgQDCAMJBQUFAgsLAwEFCQULAwIGBAoEAwIHAwICAwIFAQIBAgEBAgcEBQQCDhQNBgwGBQoFDQMIFAoFCgUHAwYGAwYDAwcCAgICAwIFBAMOCAULBw0FBQICAgICDA0IBAoFCAQHBggOCBMPAgEFAgEEAQEDAgMCCAgRAQcDBAgEBQcFCA0IAQIEBgMDAgMCAQMBAQEBDAEHBgUKBQoEAgYIBQgJBw8IFzkVAwgEBwIFDgYDBQIBAQIHAQEEAgIBAQMGAQEDAQQBAgQCAwECAgMBAwMCAQUCAgICAgYCBgMDAgcDBgMJAwULDQgFBQ8CCQQCBQkFBQcEBgsGEiAOBhMIAwUEDgkEBQwFDAMCCgICCBAFBQECAwgCBQIEBAIBAgEBAQEDAgIDAgMBAQUBAgQEAQICBQIHAgQDAgcCCQEIAQECBwQJAwMIAwsFDQYDBQMJAQIOEAgJAxIcDgYMBgUKBgEBAQMBAQEBAwICAQMDBjcCAgEBAgIBAgEBAQMCAQEBAQMBBQIBAgECBAcDBQQPDAcCBgMCBwIIEwgLCgMDCAMIDgsCCAUECAUIEQkKAgEQDwgKBwMRHggFCQUGCwUDBwMNEwkBBAMGAgUFAwMBAwMDAQEBAQECAwIBAQEDCQICAwIBAgECAgILFwwLGgsRIwsDBAMGDAYLAQYJBAMFBQgGAwUGBAQHAgsBAgkGBAQDAgMDCQQDAgkKBQMDAwkQCAIGAwgBAwcDAwcDAwUEAgYDBQcFCgQCBwQECQULCQUIAxEgFQoWCQcJBQUIBQIIAwMIAgIBAQECAgIEAgQBAQEDAQICBAQCAggGAQIFAggCAgQHCgYCAg0HCQUKBQ0IAwgKCgQIAwYNCAwLBREYCQEBAgEBAQMDAgUCBQYEAwcDAwsGCAoJEwoECgICAQECAwIDAwgFEhMJDQkDBQIFBQIEBAUJAQIiFQcOBwsCBQIEAgUECgUCAgEGAgIFAgUMAwQFAwQKBQgCBQUICQUDAwYCCwIGBwQIBQcBAQQGBAIBAgICBAYFBwUKBAcNCAQFAgIHAgYCAgUHAwMGAgsRDAsRDAUHAgIECwUIAwQDBwIIBgQDAwICBgICAwIGBQICBgIGAgQBAQUBAgUBAwIBAQEBAQMCAgEFAQEBAQEBAgEDAQIBAQUDAggCAgcKBggCAw8FBAcGCwgFCgUFDwkIDAoGAwMFBQIMBQIFCgUCBgIEBQMLCgEIAwkBAQ0IAQIKBAUDAgUCBwcHBgIFAgUCAQkKBggOFAoGDQcIDggFCQUFBwQHBwUMFQsMCAMKDwAAAAABABT/2wIGAycCiAAAExYWFxYWFxYWFxYWFxY2NzY3NjY3NjY3NjY3NjU2Mjc2Njc2NjMyNjMyFjcWMhcWMxYWFxYWFxYWFxY2FxYWFxYWFxYWFxYWFxYWFxYWFRQWFRYHFAYVFBYVBhYHBgYHBwYGBwYGBwYGBwYGBxYWFxYXFhcWFhcWFhcWFxYWFxYUFxYUFxYXFhQXFgYVFgYHBhUGBgcGBgcGBwYGBwYGBwYGBwYUBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYiBwYGBwYGBwYnBiYnJiMmIyYmJyYmJyYmNSYmIyYmJycmJicmJicmNjUmJjU0NjU0JjUmNDc0Jjc0NDc2Fjc2NhcWBhUUFhUWFBcWBhcWFhcWFhcWMhcWFhcWMhcWFhcWFhcWFhcWFhc2Njc2Njc2Njc2Njc2Njc2Njc2Jjc2Njc2MzY2NzY2NzYmNzY2NzY2NzQ2NTY0NSYmJyY0JyYmJyYnJiYnJicmIicmJiciJicmJicmJgcGBgcGBhcWFhcyFhcWFjc2Njc2NjU2JicmJjc2FxYWFxYXFhYXFgYHBgYjIiYnJiInJiInJiYnJiY3NjY3NjY3NjY3NjY3JiYnJjYnJjY1NjY3NiY3NDY3NjY3NjY3NjYzFhYXFhYXFhYXBgYHBhYHBgYnJiInJjU2Fhc2Njc2JicmBgcGBgcGBhUUFxY3MxY3MjY3NjY3NjY3Njc2Njc2Njc2NjU0NDc1NDYnJiYnJiYnJiYnJiYnJiYnJiInJgYHBiIHBgYnBgYHBgYHBgYHBgYHBgYHBgYHFAYHBwYGBwYGBwYGBwYGBwYnNiY3JjYnNCY1JjYnJicmNicmNCcmNCcmJjUmNCcmJjY2NTQ2NTY2NzQ0Ny4HAgIBAwECAgMHCQYICQgJBgoGBQMEBQYEAwoNBwMDBwIGCAgEBgMJFAoECAUGBgwGAwUJBQQMBQgFAgUHAwsUCwgFBAMIAgEGAQEBAQIBAgEBAQUBBAIGAwoEBQgFCw4GBQgDAgcDBwYHCAsEAwgFBAQHAggCAQEEAgMBBQEDAgIBAgICAQICAgIDBQIEAgMGAgcEAgoBBwICAwgDCgICAgcDCxkNBQwFAwUDAgcDBgsGChAJDRQKEQMKAwgFBQgCCwQCCQYKCQoFEQUKAQYCAgMCAwEBBAECAgICAgILBQIFCAMBAgIBAgQBAQEDAgMFAwcEAgoNBQcEAgUKBAMEAwwGBQUMBgUMBwYPBQoMBQoOBgkJBAIFAwsBAQkEAgkCAwgEAwUBAgECAQECAgUCAgIBBAEBAgIHBAoCBwECDwkEBQQDBgUIBgUDBwMMGQ8HCQgIDQIBBQMCBgMFEwgEBwMJAQIJBQYLAgsEBQcCBgMDCQIDAQgQFgsGEAgCBwICCwMICAUCBwEBBAICBQIDBwIDBQIBCQICAQIEAgIBAQQBBAQBBAsDCAwICA4ICAYFBAkCAwcCAQUCAgEDBRYKCgQBCAoQBgMKAQIGAggYCwkPAwUEExAUHAYHBQwFAgcDBAgFDAMIAwIIBAQBAQEFBAIFAwICBAoFAgoMBRAJBQsHAwoGBQQGAwULBgIHBQkRCwQHBAoEAgoLBgUKCAIBBgQEAgICAgIDAgIFAgsCAQEBAQIBAgICAQECAQECAwEBAQMBAgIDAgECAQECAQEDJwIRCAQGBAcMBw0IAgQEBQYCBwUDAwMCAgECBAEDAgECAQIBAQICAwIDAwIBAgECAgUCBQECAgcDAw8GBQgEAwUDBQUCBhQJDAgEDQUFBwUDBgMYHQsDBQIWCAwIAgcECQ8GBAcFAwQBBAECBAYDAwgGAgoLBAkFAgYDCQYFCQQOCAQJAwISEw0IBgcKBQQHBgsCBgICBgYDCgICBgIBAgICAgQCBQQBAQEBBQwFAgICAQMBAQICAgECBQIDAgECBQIHBQECCAICCQEDAQwGBwcMBgYCBRAHCwYDCA4LBQgEAwcDBgsFAwYCBgsGBQEBAQMDDxwPBw0IBQwFCQcEAgYDAgQCBgEJBgUGAgUEAgIFAgQDAgIEAgMBAQIDAwQCAgUEAgQBAgECAgQBAQQDAgcFCggEBgMDBgMECAUFDgkLAwIIEQcIEAgGCgUFCgQIAQcEAQYFAgIBAQICAQEBAQIEBAIGAgcZDgUIBQMCAQECAgQCBgEBBQsCBQEHBwIBCQIFAwIHBQgcBgEFAwIBAQICBA4HDRIMBQgEAwYDAwYEAwcCBQgFBgIDCA8FCAMCEQwFAgkBBQYFAgcCAgYBBQMCBAIEBwMICQQECAUGCAEFAQQECQICAgQFBQYGBQEEBgcECBkFFwkKAQICBAIBBQIDCAMLAwsEAgwSDgUDBgULBwwOKREIEAgHBwQHAgIHBgQGBAMHAQUCAQEBAQIBAgEBBAkDBAQCBgECBwsFDBcKBQgDDAQGBAUJBQUJBQUSBQkJCgIFCwICAwgCCxkLBAoGDQQFBQIFCgYFBgIKBwMFEhMTBgQHBQUGAggBAgAAAAL/6v/0AgwC+wF2AewAAAEWBgcGBgcGBgcUFhUUBgcGFhUGBgcUFAcGFhUGFRYWFRQGBxQUBwYWBzY2NzI3NjY3NzY2NzY2NzY2NzY2NzY3NjY3JhcWBgcGFBUGFAcWBhUGBgcUBwYGBwYGBwYWFRQGFwYGByYmJyYmJyYmJyYmJyY0JyYnJiYnJgYnBhYVFBYHFRQGFRQGFxYWFxYVFhYXFjIXFjYXFhYXFhYXMhcWIhciBgciIgciBiMGJiMGBiMiJgciBiMGJiMGBgcmBiMmBgcGIgcGJyY+Aic2NzY2NzY2NzY0NzY2NzYmNzY2NTYmNTY2NSY2JyYiJyYjIiYjIgYnIiIHBgYjBgYHIjEiBiMGBgciIgcGBgcmJicmJicmIjc0NzY2NzY2NzY2NzY2NTY3NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzYxNjE2NzY2NzY3NjY3NjYnNjY3NjY3NjY3NjY3Njc3NjY3NjY3NjQ3FhYXFjIXFhYXFjIXFjYzFjM2AzYmNTY2NSY2NTY3NjY3JjQ3NjY3NicmJicmJic0Jic0JyYmJyY2JwYiBwYiBwcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGFAcGBgcHBhYHBhQHBhYHBgYHBgcGBgcGBgcWMhc2MjM2FhcyNjMyNjMyFjcmNgGXAwMBAwECAQIBAQIBAQEBAQEBAQEEAQICAQECAgIPCwUIAwgHAggEBAICCAIDAQIFBAIDAgEBAgEKBAUBAQECAQICAgEBAQQBAgECAQEHBQEFAgUDAgYBAgIDAgIBAQMCAwcDBwkGCwYCAQECAQICAgcEBwQHBAkCAQcBAgwKAw8WCwcDAQgBHjUXBgsFAwYCBAcFAgYDBQkFBQoFBQsFAwUDDAQCDgsGAwcDCwoBAgMDAQQIChgMBg4FBgEHBQIBAQEBAQEBAgEBAgELFgsKAQsZCAwZDAgTCQgLAgoBAgwDBQMDBwMDBwILFQsEAwICBAIDBgIGCAUCBwcEBQECAgQGBgkGCwUFCAQGAwICAwIDAgICBgIFBQIGBwIEAgECBQMEBgUBAgEGBgQCBQMDBgMCBAMKAQgGAgECAgQBAgsHBQsFAgUJBAcPCgoBAgkCDFYBAQEEAgIBBQEBAgEBAQMBAgIBAgEBAgEDAgEFAgECAQUIAQEFAQEHCQUDAwUCBwICBQUECQQCAwgDAwUCCAYDAwEHBgIEBwEBBAEGAQEEBgIIBgUDAQQFAgwSCwMGAwoOBg0lERAMBgsVCgECAuYGDQYPHQ4HDQcFCgUJEgsFBwUGDgcIDwgHAQMSBQMHAwgRCAgTCBUpFAECAQEEBAIJAgYEBQsGBwcDCgwFCgQDBgILAREOCAUJBQcRBgwCAhEOCAoEAwcEBxcLCAYFChMLBAIEAQkFBgYCAwYCCQECBQQCCAMIBgIBAgIIDwgFDAgUDQ8HCA8FBgUECQMDBQMJAQUBAQcBBAILBAUFBQQCAQIBAQECAQECAQEBAQEBAgECAQEBAwMEAwMDBAEGCA4IBQwIBgMCCggLCA0JCxMJBQwFCwEBDhQJAwECAgIBAgEBAgEBAgEBAQECCgIGDwgEBgQJAwYGCgQCCggFBgICAgcFAgUJEQwIBw4FCgICAgYCBQYCBAcFDQYECgoEBgMFAgoHBQ0FBQEFBQwGAwkFBQoFBAcEDAwIDAECAwcCBQkDAQYCAgECBAECAQMCAQT+YwQJBAUKBQgCARwXAwwBBwgFCBAIFhYDBwMDBgMNGwkKBA0FAwoUCAgBCQIKCwgEBAYDDAQCCQkFDQsFCA0IBQkFCgwGBgMCDQkFCwsDAgQIAgkBAQQGBA8GCwICBg0GAgICAgEBAwEDAgUIAAEAMv/MAhsDAQJSAAABFgYVBgYVFAcWBgcGFgcGBgcGFAcGBgcGFAcGFAcGBgcGFgcGBgcmNic0JyYmJyY2JzQmJyYmJyYmJyYmJyYmJyYmJyYmJyYmIwYGBwYmByIGIyImIwYGBwYGBwYGBwYUFxQGFRQWFRQGFQYXFBYVBhYVFAYHBhQHBhYVFBYVFgYXNjY3NjY3Njc2Njc2Njc2NzY2NzYyNzY2NzYWNzI3NhYzFjIXFhYXFhYXFhYXFhQXFhYXFhQXFhYXFhYXFhQXFgYXFhYHFBQVFhYVBhYVBhQHBhQHBgYHBgYHBjEGBgcGBgcGBgcGBgcGBgcGBwYGBwYGBwYGBwYGBwYHBgYHBgYHBgYHBgYHBgYjIiYjJiYnJiYnJiYnJicmJicmJicGBgcGBgcGFhUGBgcGByY2NSYmJzQ3NDY3NjQ3NDY1NiY1NjY3NiY3NDY3NDY3NjQ3FgYVFBcWFhcWFhcWFBcWFhcWFhcWMhcWFhcWFhcWFhcWMhcWNjMyFjM2Njc2Njc2NzYzNjY/AjY2NzY2NzY3NjY3NjY3NjY1NjQ3NDQnJjYnJjQnJiYnJiYnJiYnJiYnJiYnJiYjIgYHBgYHBgYHBgYHBgYHBgYHBiIHBgYHBgYHBgYHBgYHJiYnJiciBwYGBwYGJyY2NzYmNzY2NzY2NzY0NzQ2NSY2NTQmNzQ2NTQmNTU0NCcmJjc1NDY1NjQ3NhYzFhcWFjM2FjMyNhcWMzI2MzIWMzYUMzI2MzYWMzc2NjMWNjM3FjYzFjYzNjY3NhY3NjY3NjI3MjYzNjI3NhYCBQUDBAMCAQIBAQEBAQMBAQEBAwECAQIBAQIBAQEBAQMHBAEBAgEBAgUCAgQCAgECBgICAgICBAcIBwsJBQoICBYJBQoFDRYLBAYECQMBBQcFBw0JBg0IBAEBAQEBAQEBBAMBAQEEAwEBAQMEAwIJBgIHAwUKAgIFAw0DCgsFAwYDAwcCBhEGDAIMCQUMEggDBgUFCQUIEQwKAgkBAQoCBQMEAQQCAwEFAQICBgEBBAEEAQEGAgQCAgQDAQYIBgMFAgEGAgIDBgMCBwQIBgkEBAYHBQULBgYNBgYGAwUCCwYFCAwGDw4IBg8FAwcDCwgHBAUCAwUFAQYDBAMDCAkFBQQCAgIDAQUEAgYDBAEBAQECAQECAgMBAQECAQEBAQIBAQEBBggEAgMGAgECAQIEAQICAgUCBQIBBQYCCQwIBQoFBAgCAwgGBQkFBw8ICBEJCgEGBQQLBQoNAwUCBgoFBgEBAwIECwQEAwEBAgMCAQQBAgYDAwcFBQkFCAEBCAcFBQcHBQwGBg0FBQgFBAkEAgcCCgIBBQQCCwgEAwQCAgQCCQUECA8ICBESCwkHAwQPAwYFAQEBAQEBAQEBAQIBAgEBAgECBgEBAQEBAQMEBQMHCwsFAgUGAwUJCA4QBAgEBAYDCwIDBwQDBgMLCQUCCQcDDQIHAgoKCAoGBQQHBBYZCwUJBAQGBAgQBwcFAwEDBgIRGg4ECAwGAwMHBAYLBgcOBwUKBQgNBwcNBwIFBAMGAwQNAQULBgQIBQsHDwsFBgoFBQsFDwgGBQcGBgMFBAUCAQICAgIBAQEBAQEBAQEDAgIBAgIDAhEXDAcMBQUKBQQHAwwNBQsGDAcEBQoFAgYDDQwFBQcFCxMKAQYDBwUDBQMCAwEBAgIFAQQEAgEBAQIBAQEBAQEDAQQCAwEBAQEFCgIHAgEGAgEGAwIDBwIFDAYIBAIKCQQHCQoECQUIDgkPCwYHEgUNCgYKBAIHBgIKCwMCBgEBAwMCAgQDAgUCBQMHAgIEAwICBwIDBQIDAgIDAQICAQMCAgYBAgECAQEBAwQBAQIIAQMGBQgHBgoCAwkFBQcFBgMCDhEJBgEDCQUFCQUWDAgNBhMSCgUJBQgNCAUNCAUIBgIKBQMFAwUMAgURCAcIBQwIAwcEBwoEAQcCBAYECgEHBQQEDQMCAQEBAQICAgEEAQIBAgMBAgIDAgUGAgICBQ4IDQICBgQIDwkOBwUECgUJEggNBgQMCAQLEwoECAQDBwMDAgEFBAICBAMCAgECAgQCAgIDAgIBBwEBBQIIBwMCAwICBQIFBwICAwICAgMDAgEBAwINEAgKFgsDCQMLFAwGDQYFDAUDBwMKEgkGDQYJEAsnDQsHCxINDAMIAgkCAgIEAwEDAgEBAQIEAQIBAQIBAQICAQEBBAIDAQIBAQEBAQEFAgIBAQMCAgQBAAAAAgAf/98CNgMkAeQCTgAAARYUFQYUBxQGFQYWBwYGBxQGFRQGBwYGBxQWBwYWBxYGByYmNSY2NSYnJicmJicmJicmJicmJicmJicmJicmJyYmJyYmJyYmBwYHBgYnBgYHBgYHBgYHBgYHBgYHBgcGBgcGFQYGBwYGBwYGBwYGBwYGBwYGBwYG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AwMFAgUMBgULBQMIBQgKCwgJBAkMBwgKBQwKBQICBgEBAgIDAQFbAwMCCAYDAgYDCwUHAwgBAgsCAwgFBQgDBQYEBAgEDAMEBgUCCAMKFAgFBQIHAwIDCAIIDAcDCwMBAgEEAgIDAgIBAQICAQIBAgICAgYCAQEBBQIKBwMFDQYFBwUNBwMLCwUMGgwDBgIGBQIHBQIFBgQFCAgSCAQJAgYHAgMFAgICAQQBAQICAwECAQIEAQEDCAIFCAUNGA8ICQUIAwQCAgQHAgcCCAICAwECAwIFBAcFCBYGEgYDBgsDBwIFEAUCCAEKAwcHBwUIAg0GAgIFAgECAQMIAgMICwgEBgUIDQcBCg0CBwMEBwIDBQIEAgIDAQMBAgUCBwMDCAMDBwMIDAgDCAwDBgsGCQIKBwUUCwcCAgQCVQQCAQkRCAkDAwEDAgEBAgECAwMBBQcBAQgBAgcCAQIDAgYBAgwMAwgDCwcDCQUDCgECBwMCBQgFCBEJCwwFCAUEBwwFCg0FDgkFCAsFDgkFCwUGAwcBAQcIBAIGAgQDDQsFBQEBAQECAgIBAgIBAQEDAQICAQECBgEGAgEDBgMFBwUCCgUIAQwNBQoBAhAFBQoEAwYECBQJFwcOCAYEAgkKBQsSCgEIAwQIBQUHAggHBgYFAgMEAwYCBQMCAgQDAwEBAQICAwECBAQBAgYCAgMCBwEBBwIBBwEKBAIKBwQDBAICDAULAwIGDwcHDAUFCgUIAw4NCAgSCgsYDgcOBgcDAgMFBAUJBQwEAg8LBQUMBQQHBQsDAQ8LBgsCAQcICBAICAcEDQcCCAUEAgQDCgQCBAIPBgIBAQIGAgEBAQMBAgMCAgUCAQECAgIBAgQDBAQCAwYKBQUJAwUKBgIKAhMGBAILBgICBgIHAQMGAgUCAQgBAgICAgIBAQIBAQMBAQMCAwIFCggCBQIFBgIDBwMNDQcKFAsCBgMJAwcKCQMCBQUCCAICAwcEBw8HBgwGBQcDBAUECQYEBQYFBgIDAgEGAgUBBQMBAQUBAQUBAQIBAgIEBAgEAgQCAwsCAwoEAwQEBAgDBAcECQYDAgcEBwwFBQQFAwgGCgcDCgUFCwIBAwMCAwYBAQUFAgYHCAYFCAUKFwsIAwUFBAEFAgMDBw8RAQIEBAICAQMFBAIFAQECCAQCBwQFDQQCAwkCDQECCAECAQEBAQIB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BwEJCAMDAQgTCQULBQ4iDwEDAQQCAgMBAgIFAwECAQEBAQEBAQEBAQIBBQECAgUGBgMDBgMFEgQKCwYKBAsaChIHDAUKBAICBgUCAggKAwICAQIBAgEEBAQCAQEBBAMBBAEICAIGAwQMBgMIBQ0IBwMCAwwFAwcDAwcDBAUDCBQJBAcECREUEgUIBAMHBwQCAQICAwIFAgIEAgEDAQMCAwQCBAkICAQGCAMRHg0KAgUFAgcCAQICAgUEAwQBAQQCCQUDAwUEBQkFCQkIDwMDCQgLAwcDCQQJBQUIBgsEAgoEBQkBAQECAwQIBgUFCAUHDAcIDwYEBQQGBgcCAgECAgMBAQICAwICBgQFBgMGAQEDCAUDBwQIDwkFCAUFCgULCwcMBQoLBQIGAwQHAgcBCQcCAgEBBQEBAQMBAgIECAYECQMCCwcFCQIFCwcGCggGDggGDQYhEB8PBQgEBAcECwECCAMCAwYDBggFBQwDBQQCDQUCBAIHAwQCAwIGAQICBAIGAwIBAwEBAQIBAQEBAwIDAgQEBgUDBQICBAgFBwkIAwoFBAgEAwcDDxMMBwQFBgQECAMDBgMEBwUIEAwDAgIEAQECAgIICQYFCQUIDQYNDggMCAMIBQQIBQYCAwQEBREMDBcBKRY3FQUCBQ4MBgUHAwwFAgEBAQUKCwMJBQIHAwMHBA0OAwYDAwYEBgkIBQkFCRIGBQcFBQsDAgcCAgcCAwQBAwEBAwEBAQQIBwgFCAMCAwcCAgcCCw0GAwgCBQcEAwgOBgMECwUODAYHEQYTIgsDCQICBgQCBAMGAgIBAgEBAwEBAQECAQECAQIBAwUDBAIDBgcCBQMLBg4IBQcFBhgFAwQDBgMCBgUFAwICAQIKBgECAwIKAQEDBwQICwgJBwUKBQwGAgMFAQECAgEEAggIEw4BBAsCCAkFBAgCBAEBBQMDCQgJEAgQBAgCAQEBAgIHAQIFAwMEBQgICQQDBgMEDgYIDgUKAgEFCwMKCAYCAQICAgIEAQICAQEDBAIGAgQBAgEEAgMDAwoCAgsLBQgPCAwYEQMIAwMGBAQGAwgIBwMFBAIHBgIEAQICAgIDAgECAQEBAQICAQIBAwEBAgECAgMEAwIFAgIKBQMIAwgBBQQDCAQMCAQDBwUeJhMKEwsLAQEDBgMIAgIGDgUFBwQIEQgGBQgHBAYBBQcEBQoDAgQBAgEBAgICAgEBAQICAQPZAwMEAgMEAgsDBg4GDgsEAgQCBAUBAQYHCAkEEAgGCAIDBAMDBQUFBAICAQAAAAACAB7/7wMGAv0C4wNgAAABBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBwYmIyYmJyYmJyYnJiYnJiYnJiYnJicmJjUmJic2JicmNzYmNTQ2NSY0NzY2NzQ3NiY3Njc0Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2NDc2Njc2Njc2Njc2Njc2Njc2NhcWFxYWFxYWFxYWFxYWFxYXFgYHBhQHBgYHBhQHBgYHFAYVBhQHBgYVBhYVBgYHFBYHBhYVBgYVFBYXFhYXFhY3NjY3NjY3NjY3Njc2Njc2Njc2NjU2Njc2NjU2Njc2NjU0NjU2JyY0JyY2JyY2JyYmJyYmJyYmJyYmJyY0JyYmJycmJicmJiciJicmJicmJicmIicmJicmBicmIyIHBiYHBgYHIgcGBgcGIgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBwYGBwYGBwYUBwYHFgYVBhYHFAYHBgYHBhYXFgYXFBYVFhQXFBYVFhQXFhcWFhcWFhcWFhcWFhcWFhcWFhcWFxYXFhYXFhYXFhcWFhcWMxYWFxYWFxYWFxY3Njc2NzYzNjI3NjY3NjY3Njc2NzYXFhYXFhYXBgYHBgYHBgYHBgYHBgYHBgYHBgYjBiYjBiYnJiYnJiYnJicmJicmJicmJyYnJiYnJiYnJicmJicmJicmBicmJyYmJyYmJyYnJiYnJiYnJiYnJjYnJiYnJiY1JjYnJjYnJjY1NiY1NjcmNjU2NDc2NjU2Njc2Njc2Njc2Njc2Njc2NzY2NzY3NjY3NjY3NjY3Njc2NzY2NzY2NzY2NzY2NzY2NzY2NzYWMzY2FzIWFxYWFxYWFxYWFxYXFhYXFhYXFhcWFhcWFxYWFxYWFxYWFxYWFRYWFxYWFxYWBwYGBwYGBxYGFQYWFQYWFQYUFQYGBwYGBwYGBwYGBwYUBwYGBwYGBwYHBgYHBgYHBgcGBgcGBgciIicGJicmJicmJicmJicmNjc2Njc2Jgc2Njc2NzY2NzY2NzY2NzY2NTY2NyY2NzY2NzY2NzYmNTYmNSY0JyY1JiYnJiInJiYnJiYjBgYHBgYHBiIHBgYHBiMHBgYHBgcGBgcGBgcHBgYHBgYHBhQHBgYHBgYVFBYXFhYXFhYXFhYXFhYXFxYWFxYyFxYWFxYWFzY2AhYJAgIHBgMGAQICBwMDBAIHAwICBAMDBgUPFg4MDAsFCxAICQQCCAELBgMCBAIHAgIEAQICAwMDAQEBAQEEAwMCAgEDAgIBAQMCAgYCAgICAgQCBgYCAgQBAQQCBwICAgYECwoFCQIHBwMLAwIMAwIFBwQNCQkKFg0QDQYCAgUBAQIGAgsRBQkFAgcCAQECAwEBAQECAQEDAQECAgICAgEBAQMBAQQEAQYMCAYNBwQFAwIFAgMFAgcDAgIBBAMCAQICAQIBAgMEAgIGAgICBAEDAQEGAQECBgIEBgUFAgIGCgYLAgsIAhAEBgUHDQcFBgUECgQDBQUNCAUDCAMFCQUKBgQKBQgDBQkCBwQDBQIIAgIFDwYIBQMKBwMDCQMDBAIFBQICCQQGBwMMCAQIAwIDAgICAgQCBQIBAQEBAQICBQEDAQMCAgEBAgEBAQMBAgIFAwECAQIECQUGAgIJBgIFCAQGBQYECwYCBgYLCQcKAQUJBAMJBg0GAhocDgIICQYFBwMBAwUCBAcDBQYHCw0BAwIBAQICBwYDBAcCAwwGCgIBCQgFBAYEDioUCRMFBAoEAgsFBAcFDAoIBgMGCgUVERQRAgQCAgMCBgMCBAICAwIDBAETDwECAQkEAwIDAgQCAgUCAgMBAgECAwQCAgMCAQECAQECAgECAgQBAgEBAQMGBAIIBQQCAwIHBAIEBwcECAYKBQYEDgwGAwoFBQUDCAYPBAUKBQIEBAYFAgoXCwcYBQUSBwwBAQseDAYNCA8LBwcJBQIHAwwKCxULAwgEBwkDBQEJCAIDAgoIBQQGBQUDAgUDBQoFAwMBAQQCAQIBAQMBAgMCAQEFAgEBAQQEAwIDAQYBAgQCAwgFBgICAwMCCAIDBgUFBQgPDgYKBQoMBwkHAwIGBAIEAgICAQIEAQIBZwYLBgQDBgEBBgQBCgYEBQIIAQoCBwEFAQECAQEBAgEBAQEFBQICBAMBBgQBBw8HDA4MCgICCQMCAgYCBwMHCQUDDAoKBwIFAQEGBgIBAgMBAQECBQEDAgEBAgMCAwYCAgECAgMCCAQDAQgFAgcQCAkUCwUFAQYIAQIKBQUIAwIDBQQFBgIJAQICBAIDBgIIDwQDAgEBAgQGAQIIAQsIBQMKBgwFBAkBCQICExgKBgcEDhEKBgIFCwUFBgUECQQMBAMIAgsEBgoFAwcFAgYECwQDBQIEAwQCCQECAgYCBgkCAwEBAwMCAgIBAwIBAgMCBAMBAQMBAgcEAQIEBAIEBgQNCAYBBwsVCQUNBwcNBwgQCAUKBQQGAg0KBQUKBQYNBwUJBQIGAwUIBQUOBwcOBwEBAgEBAgIIBQUJAwUIBAwEAQgECggECgECBgwGAwYEChELDyIOBQkFEAwKBgMHAwELAgIFCwYHBwUDBAIGCgQFAgEIBgIGAgQCAwYFBQIDAgEBAgIFAgEDAQEBAQICAQEBAQIBAQIBAgMBAgYDBgICBgUCAwQDAgUCAgUCAwcDCQYDFggJEQoFCAUFCgUFBgQGAwYNBwYMBQgRChUbDAYOCAIGBAIHAgQFAwgMBgoHAgUDCwQCAwUCBgsHCAMCCAYCBgQDCAEGAwYEAgQDBQcDBAIBAgIBAgMCAQUFAwECAwMGAQIEAQIBAgQCBQYBAgcBAwIGAwcGAwgFAwUHAwgBAQcFAwIFAgcDAQEBAgEBAQIBAQEDBAYBAgIIBA8PDxECBAICBgIGAwIEAgIHAgwBARcWAgcCCwoFAgkFCQUFCQUFBQYEBgUIEgkGBAIJBwIDCwUMBgIFCwYPDQUGBQMHAwoBAg0IBQsLBQIFAwoIAwUKBQQGBgoFBgILCwUDBQMDBQIGAgkCAwYDAQICBAEBAwoEAgQCAgEBAgIBAQIDAQMCAQIDAgIBAQUDBQoEBAYFBQgCBAMFCgIFAg0HBAQHBAkCAQQKBQwXDQgaDggRCQQJBAUHBAMFAwsBAQIMBQYMBQQFAwgUCAYLBwkEAgUIBQgRCAoEBAkFBAoEAwQEAwMFBwEBAQcDBQMCAgQCAwYFBRQICA0HBgskBg0GCAMFAwIGAwIMDAUIAQERGwsICQUOBgIGDggKFAoLBQMFCgQMAwsCAgkBBwIBBgUBCgcFAgEGAgIGAgcJBwYCCgwICQMDBgIKCAEBCAQCAwYDBgkFChgIBg4FCAYGBgsFBQYCAgUCCAcDAQkBBAkCAgICAwgAAv/L//MDQQL2AlACwwAAAQYiBwYGBwcGBgcGBgcWBhUUFxQWFxYWFxYWFxcUFhcWFhcWFhcWFhcWFhcWFxYWFxcWFhcWFhcWFhcWFhcWFxYUFxYWFxYWFxYXFxYUFxYUFxYWFxYWFxYXFhYXFhcWFxYyFxYWFxYWFxY2FwYUIyImIyYGBwYiByIGIyIGBwYmByIGIwYGByImBwYGJyImIyIGIyYGJyInNjY3NjY3Njc2NzY2NzYyNzYWNzY2NzI2NzY3NjYnJjYnJjQnJjQnJiYnJiYnJiYnJiIjJiYjIgYjBgYjIyYHBiYnJgcHBiIjIiYHBgYHBgYHFBYVFAYXFhcGFhUGBhcWFhcWFhcWFhcWFhcWFgcGJiMGIgciBiMmBgciJicmBiciJiMiBiMiNCMGBiMiJiMiBiMGBiMmNjc2NzY3NjY3NjY3NjY3NjY3NjY3NiY3NjYnNjY3NjY3NjY3NjY3NjY3NiY3NzY2NzY2NzY2NzY2JzY2NzY2NTYmJzY2NzY2NzY3NjY3NjQ3NjY3NjY3NjY3NiY3NDY3NjY3NjYnJiYnBiYnJiInIiYHBgYHBgcGFAcGBgcGFBcUBhcUFhcWFxYWFxYWFxY2NzY2NzY2NzY2NzYmJyYGBwYGBwcmBzY3NjM2Njc2Njc2NhcWFhcWFhUGBwYGBwYGBwYzBgYHBiIHBiIHBgYnJiYnJiYnJiYnJiYnJiYnJiY3NjY3NiY3NjY3NjY3NjY3NjY3NjY3NhYzMjY3NhYzMjYzMhYzNhYzMhYzMjYXFjYzMzY2NzYWNzY2NzY2NzYXNhYHJyYmJyYmJyYmJyYnJicmMSYnBgYVBgYHBgYHBgYHBwYHBgYHBgYVBgYHBhQHBgYHBgYHBgYHBgYHBhQHBgYHBgYHFjYXFhYXFjYXMhYzMjYzMhYzMjY3NjY3NiYnNDQnJiYnJiY1NiYnJiYnJyYmJzQmAjwCBgIDCAQKBwsIAgUDAQMCAwECAQIGAgIEAgECBQUCBQQBAwICAwMDBQIEAQUCBAIGAQICBgMDBgQEAwICBAUCBAICAwIFBQIFAQIEAgYGAgkGCAgFCAINBAcEAgUNBQUHBQQJBAkCAwgFCRULBw8IDw0IBAUCCxYKBgwGDhoNBgwGChIJBQcFAwYDDhMIDwoFBgQHDwgFCgwIBQkFAwYCCwMCBwMCBQUCCAMBBAEGAQEEAQMBAgUCAwMCBw0HDAoGBw0HAggEER0UCwYHCwYDERAMCA8HCAwHCBAGAgcBAQMCAQQDAQEBBAIIBQUQBgcFAwcSBwMIAQoHBAUJBQQHBRgkEQoUCgsUCgQHBQQHBAsBBQkFCA0GBQoFAwsFDAkCDAELAQkPBQsGBAMHAwYIBwIIBAUBAQIFAQkIAgICAQQGBQIDAgMEAQICAgcCAwICAgIHAgICBAEFBQQCAwECAgIDAQQDAgMFAgMCBgEECAQCAgICBAECAQICAQsJBgIFAQINBAsVCgseEQgSCAoSCBERCgIJBAMEAQEBBgICBwQGAwUDBg4GBQgKBwIHAgIBAgUNBgsHAwQFAg0JBAEFBwEIBwMDBAUEBgQLDwgEDAMCAgcFBAcECwEJBAIJBQIFBgUEBAUHCgUFCQMGDQUDBwICAgEBAQIBAwEBAQEDDQUCAgMHCwUFBwUPDwYFCwUDBwQPIg0IDwgJEgwEBgMIEQgNHw4DCwQUDQgEBQoFDBYLBAgFBgkDDH0JAwYDAQIBAgICAQQEBAUHBwkDAgUCAgECBAgCCgcBBwQDAQMCAQEBAQcDAwIDAQgMBwIGAgICAQQCAwIBCxgMCA4HBxEJBw4HBwsHBQoFDBgNDh8IAgwFAQYBAQEDAQMBAgEDCQMFAwcC8w4CBQUFCAYOBQUGAwwHAgQKBw0IBg0FDgkFDQgFAggQBgkSCA0MBQYKBQsKBwUDDwYLBgkIAwcKCAkSCQgHAwcCCwsGCQsEBQUKCAcEBwYDBAYEDAgEDgUECQMFAwcCBwECBQICAgEBAQQFAgIBBAEBAQICAQEBAQIBAQEBAQEDAQIBAQMBBgwCAgMGBAEEBwICBgICAgcBAQQFAgUCBgMGDQgKAgIHCQUMBQIFCwUMCQUHAgIDAQMBAQEBAQECAQICAwECAQEDAQkVDAMGBAUHBQkJDQoFCBEHBAsEBAYEBgECAwoFAgEFBgIBAgMBAwECAQEDAQICAQECAwEBAgkBAggBBwEJBgIGAwICAgIECgQICgUIAQECCgUNDwgMAgIKGQsFCggMBQQEBwQMAwUDBQgFDAgFBQwIBRIIAwMFBQgFBQgFBwYDBwkECQUKBQIIEAgFCAQFBwUEBwQCBgMUEQwGDQQFAwMCBQMDAQEBAgcCBQcHAgEIBwILEg0ECAQEDgUDBQkGBAUGBAQCAgIEBgIEAgIGAhAOBQcDAgEDAgYCAgkLCQYCAgIBAgECAQERBQgOChEDAwUFAwgDCQUDAgcBBAEBAgIBCAIFBAMHDggHDgcIEwsLEQkECAUECAMFCwUCBQIGAwICBQICBAEBAQIBAQEBAwEBAQECAQEBAgEBAQECBQQBAQEBAQQC+xUIEAgDBgIHDAUEBg0IDQkCBAQBAgUCAwcFAwoECxMDDQ8HCAIBAwcDAwcDCw8EAwgCFycQBQoFBQgEBAcFCBMJBAMCAQUBAQIBAgIBAQECBQUVIhICBwIMCgUCCwIICAUIEAUJBAcDBgkAAAAAA/+3//ECugMCAbcCSALSAAADJiYnJiYnJjYnJjY3Njc2Njc2Njc2Jjc2NzYWNzY2NzYWNzY3NjI3NjY3FjI3MhcyFjMWFhcyNhcyFhcyFxYWMxYzNhYXMjYzMhY3FjYzMhYXMhYzMjYzMhYzFjYzFhYXFjIXFjIXFhYHFhYXFhYXFxYUFxYWFxYUFxYUFxYWFxYWFxYWBwYWFQYGBwYGBwYHBgcGJgcGBgcGBgcGBgcGIgcGBgcWFhcWFhcWFhcWFxYWFxYWFwYWFxYGFRYGBwYGBwYUFQYUBwYGBwYGBwYGBwYHBgYHBgYHBgYHBgYHJgYHBiIHBgYHBiIHBgYjIgcGJicmJicmJgcGJgciBiMiJgcGBicmNjc2Njc2NzY2NzY2NzY2NTY0NzYmNzQ2NTQmNTQ2JzQmNyYmJyYmJzYyNzYWNzYyNzY2NTQmNTQ2NTYmNTQ2NzYmNSYGJyYiJyYmJyImBwYGBwYGBwYGIwYGBwYGBwYGBwYGFxYWFxYVFjcyNjc2Njc2NicmJiMGBgcGBgcmNCcmNjc2Njc2Njc2FhcWNhcWMhcWFhcUFhUUBhcWBgcGBgcGBgcGJgcGBiMiJiciBicmJhcWBjMWFxYWNxY2MxYXMhYzMjYzMhYzNhYzMjYzFjYzFjY3Fjc2NzYWNzY2NzY2NzY2NzYyNTY2NzY2NzY1Njc2Njc2NzYmNzY2JyYmJyYmJyYmJyYmJyYnJiYnBiYnBiYnJiIjJgYjJgYjJiMmIiMiBicGBgcGBgcGBgcGBgcGBgcUBhUGFAcUBgcHFgYVFhYTFhYXMjYXMhYzNhYzMjYzNhQ3NhY3FhY3FxY3NjM2Nhc2Njc2Njc2Njc2Mjc2Njc2Njc2Njc2Njc3Njc2Njc2JicmNCcmJicmJyYmJyYmJyImJyYmJyYmIyYiJyYGJyYmJyYiJyYmIyIGIyImIyImByImIyIGJwYHBgYHBgYXFBQXFhQVFhYXFjIqAwgEAgUDAwIBBAICAgUCAgICBAIGAQIJAgoCAgkGAwoFAgsIBAgEBAUFBg0IDA4ECAQIDggGDQUNDQcIBAUKBg4EDiQSDRIIDR0LCQoFBAkFCQQDAwYDAwoDCwUCBgwGCBEGCAoCAgcCBQcDAgICBQYBCAICCAEDAQIEAgIDAQIDAQMCBQYEBAQCBAIGBgYCAQMHAgMEAwQIBQgDAQcNBAUPBQ0IBgQIAgwCAgcCAgICAgUBAQEBBAMCAwEBBAICBQICBAQFDggIAgQGAgIEAwYIBQsPBAQFBAMHAwUKBQMJBgUICBMFBRUICxYLHDMcCREICA4HEiMSBw0IBQoDDQkFCQMEAgEBAQECBAEBAgIBBAMCAQQBDBEIDA8IAw0ICQMBCQ8GAQEBAQEBAgEBAQIFBAcIBQMHAw4JBQQIBAUIAwUGBQMFBAEGAgIEAwcKAgEEAwcOEggPCAUEAwIGAQgMBQYJAgQDBQUEAQUCAgYDBAMECBAFBQcEBQMCBQEBAwEBAQUEAgQDBQYIDQgEBQYEAwgFBgsFCAj7CwEBBAoFCQILBwIFBg4ZCgQHAgMGBAoDAggMBQwGAg4JBQkEDAEFBAIHDwUICwMCAQIGAgQDAgIBAgIDAgEBAQMCAQEBAQIDAgQBBgsCAwUDAgUDDwMOEQcEBwILFQsLFwsQFAsHAQMKAQcLBAoTCgMFAgMEAgECAQICAgECAQEDAQEBAwIDBAYUBQcFBAgEAgYEBwICAwYDDAMICwgDBQMUCQcKCAYKBQQIBAgNBgoUCgcDAQMJAgYGAgIEAgIDAgUCAgMDAgIDBAYBBwICDgQDBQMHDwUEBQIIBAILBAIKBwINCgMIDggGDQcGDQYDBwQIDQYEBgELAwIFDQQRDAUHBAEBAgEBAgYFBAgCGgUIBAYGBQcJBRUZCg8NBAkCBQECCwICDAMGAQIHAgIHAQEEBAEBAQMBAgEDAQECAQECAgIBAQICAQEBAQEBAQMBAQIBAwICAQIBAgMFAgYCBQIKBwQHBQoIBgIKBgILBAIHAwEEAwQDCQIFDAkKAgIRDggLBwQIAggIBwEBBwUDAgYDAwUDBwEIAwUFAwIGBQICBQUFAwIGAwEHAgkHBwMHBRI1EwcMBwMHAwoIBQUKBQUIBQcNBgcCAwUCAgQCBAYDCQcGAQQCAgICAwICAgEBAQIBAQEDAQIEAQIBAQIDAgEEAwMHAwsMBg0L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AQEDAQgEAQMCAgUDAQIEAQEBAgUEAgQGBQsBAQQOBgUKBiwUFQwBAwEBAQMCAQENAwcCAgUICgYCEAsDBgMDBgUEBwUEBwQFDQcSJhMIDQcLFQgFDgUIBAMBAgEFAwIBBAECAgQBAgIDAgEDAQUCAgIHAQEDBAMDAQ0CAgQCAgIEAgEBAgEBAQECAgECAgEDAQEDAwICAQIBBAIFCwgQEwgNGwkEBgUFCwUWIg8FBgQDBgMFCwcNBwUDCwQVIQ4FCQUJEQYHCQgHBgMHDAYGCwcIDwkLBgINBwQCAQcGAgYIBAIDAgIGAgQDBgIBAwIDAQICAQEBAgEDAgEBAQQCAgECAQYBAQEBAQECAQEBAQICBgMCBQIECAIJBwIKBgINCQUQBAUKAgUSCA8gDg4MBw8RCQQEBQoBAgMGAgoKAwQLBAkCDQQFKgoEAgQIBQkFBQkFBgoFAwYCFQ4LBQQFAwoBAQQHBQYLBQMGAwUJBgQLBQMHBBAHBQYFBAkCDAcDBAsC+wUHBQwHBAULBgYOBw4bDQkUCAQIBAsZDggNBhEFDQISFgsICQkHAwQHBAMGAwMJBAYGBQsCAwYDAggDAwUEAwUEAgIGAQEBAgECAgEBAQEBAQMHBAICAgMBAgUGBQMCAgsUCxEhEAMFAwMHAwgMBgwFAhITDBgNBQICAgUCAwIKBQgEAwkGAw8LBQoJAg0BAwoDBwMHAgIGDgUDBQIIAQgOCAgQCQgPCA0XDAsDAgQIBQsTDAkGAwgNBwcICR4ODx4PBggEAgYDCg4DBwMLDAUGDAULBQMFBQQHAgIGAgEBAQEBFCYTBg0HBQwFBAgFFSQUCAIFAgYBAgkEAgICAQIBAQIBAwEBAQEBAgEFAgIFCggCAwgDCAsGAgYDBQkFCAMCAwYECwMIBwQDBQQKAwIFCQoFAgcFAgUGAwcECgEGDgcGDAYGDAUEDAUREQgEBgMHAwIKCQUHDAcGDQYFAwECAQECAgEBAQEBAQEBAQICAQEBAgEHAgIBAQICAQICAgEBAQECAgIBBAQBAgICDwMJBQQJBwUCBgQCBQMGBgkEAhABCxQKCAUEDhsQCwQCCAwHDh0LBQsECBILCRMICRIJCxULCiMOBgwGBQwFBQ0FBw0FBQgFBQoDBQYFBgMCCQECBwYCBAICAwYHAwEBAwIBAgEBAQICAgQCAQQBBAIB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Njc2Njc2Njc2Njc2NzY3NjY3Njc2Mjc2NzY3NiY3NjY3NicmJicmJiMiBiMGJiMHBgYHBgYHBgcGBgcGFQYGBwYGBwYGBwYGJyI2NTY0NzQ2NTU0Nic0JjU2Jjc2FhcWNhcyFjMWMhc2Fjc2FxYWFxYyMxY2MzIWNzY3NhY3MjYzMhYXFhUUBhUVFAYVBhYVBhQXBhYXFhUWBhUWFhUGFgcWBhUWBgcVFAYHBgYVBgYHBgYHBgYXBgYHBgcGBgcGJgcGBiMGIgcGIgcGBgcGBgcGBgcGBgcGIgcGBicmIiMmJicmJicmJyYmByYmJyYmJyYmJyYmJyYmJyYnJiYnJiYnJiYnJiYnJicmJicmJicmJicmJjU2JjU0NjU2NDc2Njc2Njc2Njc2Njc2Fjc2MjM2FzIXFhYXFhYXFhYXFhYXFhUWBhUWFgcGBgcGBwYGBwYGBwYiJyIGJyYmJyYmJyYmJyYnNiY1NDY3NjY3NjY3NhYXFhYXFhYXFAYHIicmNCcmJicGBgcWFDcWFhcWFhcWNzY3NjY3NjYnJiYnJiYnJicmJiMmJyYHBgYHBjUGBgcGFxYWFxYWFxYWFxYXFxYVFhYXFhYXFhcWFhcWFhcWFhcWMhcWFhcyNjcyNjMWFhcWMjMWMjc2Njc2Njc2NjcWNjc2Fjc2Njc2Mjc2Njc2Njc2NTY2NzY2NzY0NzY2NzYVNjY3NCY3NyY2NSYmJzU0Jjc3NiY1NjY3NjQnJiY3NDYnBgYHBgcGBgcGBgcGBgcGBwYGBwYGBwYHBgYHBiIHBiMGBgcGJyYmJyYiJyYnJgYnJiYnJiYnJgYnJiInJicmJicnJiYnJiYnJiYnJiYnJiYnJiYnJjYnJiYnJiYnJiYnJiYnJjYnNCYnJjc2NDc2Njc2Njc2NDc2Njc2Njc2NzY0NzYmNzY2NzYmNzY2NzY2NzY3NjY3NjY3NjY3NjY3Njc2Njc2Fjc2Njc2NzY2NzY2NzY2NzY3NhYzNjY3NjYzMhYXMjYXFjIXFhcWFhcWFhcWFhcWFjMWFhcWMxYWFxcWFhcWFhcWFhc2Njc2Njc2Njc3NjY3NjY3NjY3NjY3NjQ3NjY1NjQ3NjYC0wUBAQIBBAICAQECAwEDAQEBAgEBAgEBAQECAQEBAQMBAQICAQMFCgMCBAICCAcDAgECAQIGAQIGAwQEAwkECAICAwYECggGBQMGAwMHAhgPBw0HAwcEBAYFAwkFBAgFCxgMCgICBQwFDAoFCgULFgoEAwIGCQYIAQIDAQIEAwUDBQIEAgIBAgIFBQEBAQEBAQMBAgICAwICBAMDBQICAgICBQMFBAUICAMCAwUDAgYDCA8IBQsGHz0eBwsFBQwGBQoFBQkFBgUJCAgQBwYDAgQBBgIKAQIBAgIGAQMGCxYLCBMKBgwIBQgFEg4cDwkRCQ0DDQsGCQgDAgMKBQMGBAIGBQUDAQIBAgECAQECCRILBQoFBQsFCRAIDx8KFBIGCwYHFAoFCAcDBAQNFgwEAgUJBQgOCAUBAgECAQEBAQECAQIBAgEBAgICAgEBAQEBAQEBAwIFAwIEAQUKBQoGCRAJCAICCQQDAwYDBgMCBgwHBQoGBxMJBw8ICBAJESEVCBQIBgwGBg0GCw0FDAYHDwgFCwMBCAIFCwYKAgIJAQkCAgoDAgIFAgcGAQUFBwkFAgICAgECBAEBAQIBAQQCBQIHAwICAwYJBAILAgUSBwoECQwHBQMLBwMFCwICAgIFAwIBAwEBCgYDCAMFAwMLBQUDBQUKBQQHAwQGBAUEAwwDAQQFAwUIAwMGBQIIAwUHBQwIAQEGCQEDBAUNBgMHAgUEAQUDAgEFDwwHCAUGBQILBQIHAgUHBgMIBQIFCAQKCA4aCAgBAQEFBgECAgIEAgICAgQIBwUDCQQODAgHCQsLBQsIBgkBAgQIBQgGAwMJBQQHBAkTCwUMBgoRCg0QBgwDAgULBQYJBQYLBQUHBAQHAwYJCAwJBAkJAwICBQIEAQUEAgUFBgECAQEBAQECAQEBAwQBAgUCAgEBAgEFAgkGBAUGBAQCAgUCAgQCCwcHAwIHAQILDQMFBQIHAwoGDyESFBIFDAYGCwYIDQMGAgwCAgcKBQgDAgUFAgoBAwUDDAUJBQkWCQMFAwcFAwQJBAgBAggBAQMFAwMJAgQEAgIBAwQBAQEBBQIBAQEDAgEDAgEBAQEBAwIBAgEEAgUBAQIGAgUBAgIEAgIDAQQEAQMCAgICBQUCBQMDCgMCBAIJAQEEBAIGCAUDAggUCw0LBgwBDAICBQwFCxYMCxgIAgYDBAgECgQDCAMCBgIGDQcCBQQCCwUIAwcFAgwEBQMGDQcCAwQGCQUCAwIGBQMLCAICAgMCAQIBAgMCAgIDAwICAQMDGAcGAw4HBAsZDQMGAwgNCQsFAwgRCAUKBgkKAwYECwICBgwGBAgCBgMFCAUECgMLAQgDCAICBQgDAwYDBAgECg0JAQIDBwIGAgIFCwUJCAYJBgkDAgQJBQgKAwUDBwMDBAQLDgEJAwIBAgEEAQEBAQECAQEBAQEBAgIDAgUBCRMLBAQDCRYKCwcEBAUDCAQNDBkNBgwIBgwGCwECGTkdAwYCDAMEBgQFCwcGDAUFCgUIDgcGDQcECAUEBwUCBQIEAwYCAgQCAgIDCAMCAwEHBAkCAwICAwQCBQICBAMBBAYGBg4HBgQMAQkEDgMECgULGQ0fGgMDAgECAgEBAwEEAwIFAwUBBgkEBQMEAwIFCgYDCQMCBgMIAwkRCwMFAwwFCwYIEAgOCgUDBgMBAQECAQIDAwICAgEBAgIBAQICBAIBAgECAQENCgMFAy8QEgkDBgMHBAUECQUKBQgRCQ4eDg0RBAsBAQ4iDw8PHQ4IDwgNEwsFCwYDBAMFCAUMCgMLBAUBAQYCAgEDAQIIAwIEAgMHBAIEAgIBAQICAQEDAQIBAQEFAQIBBAYFAwQDAQIBBAkEBQMCBAEGAwIHBgICBQIKBQQBBwoVCwUHBQMIBA4JBAcDAgMGBQQIAw4MBQMFAwIGAgYGBQMCAwQCAgcDAgEFCQQFBgQCCAQIBQoDAgQHBgcQCAQIBAYCAgUCAgEBAQEDAgICAgMBBREMAggDBQkFCQYCAwYBAQEBAQMCBQwHBAkDBgIIAQIDAgMFBAwHAQYIAwMIAQMEAgMCCAIKDwwFCgYECwMKBgMBAQIBAQMPCwoBBAQFFxMFCAUFCAQIDggLCwoLAQQGBQ0LBAQEBAUCAwICAgEBAQIBAgEBAQEBAwEBAQIEAQMCAgECBAQCAwEBAQEBAwECAgIFAwUIAwgBCQQCAgcCBQMCCAcFDQEPDAkHCwcXBwICBQoFDgYJBwsMAgEDBwQDBQUMBQMMGA0MCgUGAwQEAgIDAgIFAgkEBAQCAgIBBwYCAwIBAgQFCAICAgECAQEBAQQBAQEDAgEDAQIGAQEEAQMBAQMCBgIEAgUMBgIEAgUFAgMKBQoGAggBAQMPBQUJBQoTCAgQCAcHBAMGBSYtBAYEDRIIBQwFBAYEAwcCCAECCAUFBQIHAgIGDQUHBgIDCwUEBQIIAwIGAgIGAwkHBAgEAgUFAgQCCAEBBQICAwYBAwEGBAIEAQEDAQMBAQEBAQICBAICAwICAQEBAgEDAgMFAwEEBQQECAcHAgYCAwEHCgcCBQEDBgYFAwIHCAQWDAUDAwUDAgcCAgYCBAcFCgICBAcFBAkAAAAB/3r/ygLZAuQC3wAAAQYGBwYGBwYGBwYGBwYGBwYGBwYWBwYUFxQUFxYWFxYGFxY2FzY2MzIWFxY2MxYWFzI2NzIWNzYWMzI2FzIWMzI2MzYWMzI2MzYWMzY2NzY3Njc2Fjc0NCcmNDUmJic2JjUmJyYmJyY0JyY1JjQnJiYnJicmJicmJicmJjU2JicmJicmJyYmIyYmJzYXMjc2Njc2Fjc2FjMyNzI2MzMyNhcyNjM2MhcGBwYGBwYGBwYUIwYGBwYGFQYWFQYGBwYHBhUGFhUUBhcUFhUUFAcUBhUGFhUVBhYVFhQXFBYVBhYHFAYHBgYHBhcWFhUUBhcUFhUWFBcWFBcWFhcWNhUWFhcWFxYWFxYXFgYjBiYHBgYHBiYjIgYHBgYnJiInNjc2Njc2Njc2Njc2Njc2NzY2NzY2NzY0NTYmJyYmNTY0JzQmJyY0NTQ2NSYmJyYiIwYmIyYGBwYmIwYmIyIGIwYiByIGIyImIyMmJicmBiMiJgcUBhcWBhcUBhcUFhUUBhUWFhcWFhcWBhUWFhcWFBcWIhUWFhcWFxYWFxYWFxYXFhYXFhYVBiIjIiYjJiYHIgYjBgYHBgYHBgYjIiIHBgYjBiYjBgYnNjY3NjM2Njc2Njc2Njc2Fjc2Njc2Jjc2JjU0NjU0Jjc2Jic0JjU0Nic0JjU2NCciBgciJicmBicmJicmIicmJicmJicmJicmJjc2Jjc2JjcmNic2Njc2Njc2Njc2Njc2MjcyNjMWFhcWFhcWFhcWFhcWFgcGBgcGBgcGJicmNjc2NzIGFRYWFxY2NzY2NzY2JyYmJyYmJyIiBwYHBgYHBgYHBgYHBgcGFRQWFRYXFBQXFhYXFhYXFhYXFhYXFhYzMjcWFjMyNjcyNjc2NjcmNjc0JjU0NjUmJjU0JjUmJjU2IjU2JicmNicnJicmNicmJicmJyYmJyYmJyYnJiYnJiYnJiY3FhYXFhcWNhcWFhcWNjMWNjMyFjc2MgEFCgoCCAcFAgYCAgQDAwwDAwMBBgECBAEBAQEBAgEBAxIEBg0IBAkFCRIIBQYEBQwFAwYCDwgFBAoECBAIBgwGCA4IAgYDAwcDBAYEDQIQBQwIBQEBAQIBAQIBAgEEAQEBBwIBAwECAwQCAwICAQIDAgEDAQMFBQQEAgUDAgEBBQYLBQsWDQkOBwsNCwsPBQkFFwUIBAgCAggPCAQDCA8IBQgFBwIIAQIBAwEBAQMBBgQCAQICAQQBAwECAQQBAQIBAwEEAQEFAQEFAgUBAQEEAQICAQQCBAMEBgUKBQoGAgcMAgoGDiERChULCBMKDhoOCRQJAwYCAQoBBgIIAQEHAQIFCgUQBgMBAgEBAgMBAwEBAQEBAQEBAQQJBQsTCQoKBQkRCQoUCw0IBQUNCAYOBgQHBAUIBBQIEAkIDggHDwgBAgIBAQEBAgEBBAMEBAIEAgEDAQECBQIFBAMGBQUJBAUFAhIKAwYDBQsFDAUFCwUTLhwDBgIJEggIEQkLBAEECQUEBAMDBgMHEAkBCgUHAwcJBgULBQMFAgYCAgIJBAUBAQMCAgICAQIBAQICAgECEiUTEScTCAwHBQ4GBQcDBAYFAggCAgEBAgMBAwUBBAEEAQIBBQIEBQEDAgMCCQQDDBEDAQsCBQcDCQ0FBQcFCAQBAQECAQQCCQ0ICCAFCgEFAQcFAQEDBgsVBgIFAgIBAwgRBQkTCwEMAwUEAgMCBAEBBQICAQMBAQECAQEGAwMGAgMHBQQHAwkCAQMIDA0FBw4IBw4HDxoNAgQBAgIBAwECAwEBAQQBAQIBAgICAwEBAQIBBQoDCwUIBAIIAQQEAgIJAwMGAw8ZDQkHBw4HBQcFCxgMECEOBQsFBgMCzw4HBQINBQIFAgMGAQkNCgsCAQ0EBQwQCg4eERAeEA4hEQIFBQIDAwEBAgIDAQIBAQEDAgIBAwIBAgIBAQEEAQMBAwIDAQEIEAgDCAMCBgMDBwIFCAcMBgYKBRABBAkEDQsFDgkEBwYFCAUKAQEGAwIKDgcHAwIFAgcEBAMBAgMBAQEBAgICAgIBAQECDAIECQMDCQQGAgsJBQUJBQQJBQYNBiEiCAQDBQMHDwoOGw4HDAYFDAYFCgYPCg0GBAYECQ8FCgwFBQgEDAcEDQ0FDgkFCQYEBgIKCQQJDQIEAwMIAQMDBgQHBAgBAgQECwEBAQEBAgEBAQMCAgQCAQMFAgMCAgQCAQMCAQIEAwgIBQkIBgwHDAcDCRMLBgQEBREICBAIEygSBwwHAwIBAgECAQIB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AgYCBQICAgQCAgYCBQgFCgcEBgIDCAUKAwIEEAIHDwgEBwQFCwQEAwQECAQUJBIMBgIDCAUEBAIGAgQFAgQDCAUDAgYCAgMCBAUEAQIBAQECAwECAgECAQEDAQEDAgUGAgIGAgIFAwUMBAkRBwUECAcEBgsLDQoPCQUKBwIFAwICBAMLBAIJBQYEAgECAQEBAgIGAQcCBgUCBwIBCQEIBwIGDAgHBgQKAgIGCgUHAgIFBAICBwcJAgIKBgUNBQUKAggFBQEKAgcBAgMCBAIBAgMICBQIBwgFAgYCDxMFBwYDBAkEAgUDCgQCBAoECRMLAwYEBwcFBAQGAgIDAgICAQMCBAMCBAIBAQIBAgICAQEEAgIBAwIIBgwCBQIFBgQDCAMKEwoEBwUHCwgTBgQJBQgIBQQGCA8IAgUCAgECAwUBAQYGAgIBAQEEAQQBAgMDAgECAQUBAQEBAQIBAQEBAQEBBAIBAQEBAQQHAgECAgMCBAMOBgYHBAgEAgYDDgsFBhUKBAkEAwgIAwUMCQgVCwYNBQULBggPCgcCAhMOCQUMGg0ECAUFCAUECAURAt8MCQYBCQIDAgkGBQgCAgMKBQYNCAgDDBoOGkIeECQTBQwFBgsHCxcMBQcFBgsFBQ4GCA8JDRgNDQwGBAcCBwMDBQIDBgIEBQMKAgIDBgMDBQQCBwIFBgMDAQIBAQYBAQQBAgECAQECAQIBAQECAwUBAQEEAgMDAgUCBwUCBQQMBwUECAUFCAULFAoCBgMCBgMFCQUJGQsECAIDBgMEBgMLAwIDCAQKDAcFCAUFCAQKDwoLCwUDAgIBAQICAgICBQICBgEBBQEBAgcCCAYCCgMFBQ0GCgsFCgUFCwULBQILAgoJCQEBCAEBBgIBAgQCBAEEAQEGCAYDCRAQDBAICgQCBwIEAgQFCQgCCQEBAggCBQMFCAoLCgcGBAICBwUCBAIaIBQJBQMECAUDCAIHAwECBAQBAwMBBAIFBwgHBgYEAgMGAwQIBQQFBAsJBgUVCAUGBAsZCgMFAwcKAwQHBRMYBgUIBQEGAgIDBAUBAQECAQICAwECAQQDBgUDBAMCBgMIBAUDAggNBQYNBwQJBQsICxYMESISBgoFBQoFBQoFFAsTCgcOCAULBQYJBg4OCAUMBQYIAwUDBgYKAQEJAQEHDgcIEggHBwQJAgEBAQcFAgIBAQEBAQEFBQEBAgMBAQEBAQMBAQECAQEBAgMBAQEBAQECAQAAAf/s/wwDJQLsAuwAAAEGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcHBiIHBgYHBgYHBgcGBgcGBgcGBgcGBgcGBgcGBgcGFRY2MxYWFxY2MzIWFxYXFhYXFhYXFhQXFhQXFhYXFhcWFhcWFhUWBgcGFgcGBgcHBhQHBgYHBgYHBgcGBgcGBgcGBgcGBwYWBwYGBwYGFRQWFxYWFxYWFxYGFxYWFxYWFxYWFxYWFxYWFxcWMhcWMhcWFjc2NzY0NzY2JyYmJyY1JiYnJiYnJgYnBgYHFAYVFBYXFhYXNjc2Njc2JjcyFBUUBhUGFAcGBgcGJicmJyY0JyY2NzY2NzY2NzY2NzY3NjY3NhYXFhYXFhYXFhYXFhcUBgcGFAcGBgcGBgcGBgcGBwYiBwYjIiYnJiIjJiYnJiInJiMmJicmJicmIicmJicmNSY0JyYmJyYmJyYmJyY0JyYmJyY0JyYmJyY0JyYmNTQ2NTQmJyY3NjY3NjY3NiY3NjY3NjY3NjY3NjY3NiYnJiYnJiI1JiYnJiYnJiYnIiYnBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgcGBgcGBgcGFhUUFhcWBhUUFhUWFhUUBhcUFhUWFhcWFxYWFxYXFxYWFxYWFxYiIwYjBgYHBgYHIiYHIgYHBgYHBgYHBgYHBiIHBgYnNDY3Njc2Njc2Njc2Njc2Njc2Njc2Njc2NDc2Njc2NDU2Jjc0NDc0NjU2JjU2Njc2NjU2Jic0Nj0CNCY1NjY1NiYnNDQnJiYnNDQnJiYnJjQnJicmJyYmJyYmJyYmNzYWNzMWNhcWFjcyMzY2FxY2FwYGBwYHBgYHBgYHBgYHBgcGBwYGBwYWBwYGBwYWBwYGBxUHBgYHFBYXFBYVBhYXFgYXNjc2Njc2NzI2MzY2NzY2NzY2NzY2NzY2NzY3NjU2NDc2Njc2Njc2Njc2Njc2NDc2Njc2Njc2NjUmMSYnJiYnJgYnNhYzFjYXMjYzFjc3MjYzMhYC4AQRCAUMBQYOCAQHBQcEBAMGAwIGAwoIBQQFAgMEAwIGAgkHBAEMEgkHAgIFBAoIBQwMCAQNBQMHAwMFAwMGAg4IDwgEBgQIEAgLEwsKAQMPBggKAwMBBQIHAgQFAwIDAgECAQIBAQEBAQMBAwEBAQEDAQMCBAMBAgECAgIDBwQEAQIBAgEEAgIECAQCAgIEAgECAQEFBQMGBgEIDgYECAUDBgMTCQcECQ0ICikNDQkGAQcHAgIBAggCAgIFBAMDCAMOEgkFAwIEDAYHAwECAgUCBgUBAQICBwgLCwUHAwoBBgECAgYCAwEFCgQCBggHCAcNDQgCBAIGBAIGBgMEAQMCBAECBAICAwIKBwMMBgULBhkWBQgFBQkEBQgEBgkFCQQODAcKAwIDBgICBgIICQEGAgIFBAIGBAIGAQIGAwcCBgICAgICBgECAQEBAgUEAwEBBAEBAgMCAgIDAgECAQIBAQICAggIBQIDAQIJBQIDBgMOFg0LFgsJDgYIBgMEBAIIBQUCBgIHBQMECAUJBAUIAgIBAQQEAgEBAgEBAgECAQEEAgMHAwgWBAUFAwcDAwcDBAoFCgUECQUFBwUGDAYHDAYNGQ0OGAwHDQYFCwUEBQcBCQUDCAQCAgUCAgUDAg4FAgQCAgEBAwEBAQQBAQIBAQEBAQICAQcBAgIBAgEDAgEBAgEBAQICAQIDBwkDBQYCBQgFAggCAg0GFBEjDggNCAgKEB4ODxoLAgIDCQMLBQIMCAQKBgQJAwcBBQIBAgECAQIBAQEBAQMBAQEBAQEBAQEDAgUGAw8MAgcDEwkFBAYCBQQJEQoFCQUODAYJCwUGBAoCAwIFBAMIBAYEAgYCAgUBAgIDBgECAwgEBgEIAgMKFgUDEAUVKhQIFQkJDhoMDgYdMgLoCQMDAgUCAgUCAgICBQEBAQIBAQECBAYDAgECAgYEAgUDCQcCERIICAMDBQcLBwUODAYGCQUCBQICBwICBQIJBAMHAQMBAgMIAgkDBQ0FCA8HBgMCBQYCBwkEBgoECAUDBgIECQUFCAQDBwIPAwgDAwYCChEIDQ4DBwMFCgcLGAwIBAUJBAUHBAUMBwwYCwUKBQcEAgIGAw0MBQwGBAUJBgECAgIGAgUDAgQCAgUFCQkIBQILFBILBQQHAgIKBAEEAgIBAwMQCAYLBQINAwYDBAEHAgUDCwwBCgUFCgQFCgQGBAICBgIDAggFAw8XBgULBQUCBAcGAQQCAwQBAQkJAgYCCAUDCREICgMDCgUKBQIEBwQFCAIJDAIFBQIBBQEBAQEBAQEBBggIBQYDAgIBAgcCCAEFAgEDAwEDBQIKBwQIAwIF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BgcCBQsECAMKBgMCCAgDBAYEBgIBBQUEBwYCBgQCCAICBgMMDQkIBQMFEAUMCgUIAwEICAMIAQ0CBAUDBgMBCQYDBgICBwYBBAEBAgQCBgEBBgIDAgEBAQEBAQEBAQIBAQEBBAEBAgIGAgMBBQIIBgUGAQEGAgEHAQICBQIJCwUIBwcCDhITDQ4hDwQHBAMGBAUIAwUKBQMGAwUDAgEBAgEFAgYCBQgFAwcEEwgHBAgECwIFBwMDAgIBAgIBBgIHBwgLBgMGAgQCBAIMBAIJCQcBBQIBBQEEAgICCQICBQsHBQkFDAYCCAIEBQIIAgQFDAYFBQQQDAcGDggKEwUHBwUFAQYDAgcCAQIBAwICAwYBBQMBERwQBxAIChIKAgkC8gECAgIBAgQBAQQBAgIEAgICAgICBQEBBQEBCAgFAgYCBQMCBgICBQIBBQgEBgsHCAkFBQQCCQQCBAsFBQkFBhAIDwYIBQ4iEBctFgwDBwMICwcDBgQCBgQDBgMIEQkWEwUJBQsIBQYCAQQBAgMGAgQGBgIJBwQCBAIDAwEHBgUCAgICBQEBAQEFAgEBAQEBAgUCAQIEAQMBAQIBAgQJBgMHBAMEBgIEAwIFAgQGAgMDAgQIBAgDAgMJBAYIBAUHCAoECgUDBQQFCQUHBwMNDAURIhIDBwMYGgsEBgILAQkCAQQHBAIGAwgFBwQCBgQPAgMGAwsLAwYGAwIHAwkBAgcNBgcBBwsFAgQHAgQDAgYCAgMFBwICAjYDBgICBQEDAgUIBAYBAQkBAQIFAgcGAQEGCwUTDQoTCSksBQ4CCAwFDRgNDRkNDBwICAQCBQgFBAcCAwcCCAEIBgMFCAMGAQIDCAMGCgYBAggFAgIFAQkBAQMGAgUEAgQCAgEBAgEBBQEBAQIFAgMEAgYCAgMFAgUDBgICBgIFAgEKBAILBAMKAwYDAgUIBQcMBQgFAg0KBQsFAgMJBAMHAwgQCAUHBA0MAgoMBwgPCA8KBQYEAgsHAhELBwoCAgkBAQoEAgIIAQkMBgkBBgEFBQYCAgIBAgECAgEBAQIHAwIBAgUICAoNCAsdCAkDAgMLAwIGAQMEAwIEAwcBAgQCBQsGBw4GBAgEDAICBQICAgoKBQUMBQoBAQQBBwIBCA4JBQoDCwMCBQUCAgQCBgECBgYCAgsmDRQWBgEFAggEAgMGCgQFBQYFAwIG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BwQCCgcCAgICBAIEBQMCBAICBAIDCAMBAwYCAwEDAQECAgUCAwIFAQYCBAEFAwEFBwQCBgEHBQMEAwgCAgQIBQMKBQQHBQoEAggRCgkHBQYEAgcECAICEgoDAgEIBwcBAwEEBQIDCwUGBQIEAgEDAQICAgMBAQEEAgECAQIBAwECAQEBAgECAgMCBQQDAgcEBAIBCQoCBwICCAIJAgUFDAYIBQcKCAUJAgcKBQgUBgQJBQ4EAwcFAw4CBQUCBQYFBAgFCgwHBAMIAQcBBQIGAgEDAgYCAggCAgQBAQEBAQECAQEBAQMBAwICAgICAgYEAgIEAQMDAgcFAgMEAwMGAwICAQYIBAEGCwUIBgMREwUQDwMEAgkHAwQFAgoNAwcHAwWWCBIFAgECAQQBAQECAgIIEg0KDggECAUKEAcCCwQBAgUDBwsPBAQIBQkLBAYEBg4HBwwHBwsGChMKBgMBBQsFDAkDBQQDCAICAQIBBAICAQICBwQGBQUTCAcHCxIJCggCAQIFAQEEAgwFCgIJCAgBCgMJAhcIBAYCBQEBAQIBAwQHCA8MBQoFBwwGBwMBAgEBAgECAQEBAQMGAQEKBQQDBgMEBwQFEAcLEQcKAggEAgYCBAcEBQQCAwMBAQICAQEDAgQCBQEIAwgFCwgFBQUCDwMHAwwNBgoEAwkFDAsDDBUKBQsFBAECAQIBAgQIBAECAgICAwEEAQICAQUKCAcLBgYMBQwOCAcDAQ4IBw4HDAoFCA4GBwICFhoMHBoNGAwIDAcHDggZKxQODQkGAwkGAgoHAwYHBAgJAQ4DAgIIAQQEAgECBAMIAgEEAgQCAgQCAwEBAgMBAQEBAgIBAgECAQEFAwECAQcDAQQDAQQCAgQCBgQCBQIHCAMLBwQEAg4NAwUDAwsFBQwFBQkHBw0ICBULCQsTGQwKEQoDCgMCCQUJDwgIEAgIAQEMBAILAgcCAQsBAgkLBQMFBQkGBAUFCAQDBgoFBAgFBAcDCQQCBw4GBgICBAEBATwHARILCAEBDQwJBwECBQ4FBgQFCgMCBgwHAwYDBQoHEAgKEAgHBQIHDQcFCgIMBwQQBQcFBwsGDx8PCw8HDw8FBQYFBgICDQgDCAUCBAMBBQQCAgcCAgECBAEBAwMCAQECAQQCBwECAQEGAgQCAwkDAgICCAEKBQMDCAIJAQkBCgICBAUECggECxAJCxgLBAkCCQkFBQkFDhoLDRwKEBQJEgkNBQYLBQ8HBQMIAwgEAg0JBQEHAgUPBQcBAgsLAwIBBQIEAQUBAgQNAgQCCAYFBQcEFxUFCwMCBkoFBwoCCQQEBgQMAgEGDAUIBQIBAQEBAQEECxULCAECChEHAggAAAL/x/8lAtcC3QIpAqwAACUGFhcWFhcWFhcWBhcWFhcWFhcWFhcWFhcWFhcWFBcWFhcWFBUWBwYWBxQGFQcGFAcGBhUGBhUWFhcUBhcWFBcWFhcWFhcyFjM2FjMyNjc2NzY3NjY3NiYnJicmJyYnJiYnJgYHBgYXFhY3NjY3FgcGBgcGBgciJyYmJyYmJyYmNTY2NzY3NjY3NhYXFhYXFgYXFhcWFBcWFhUWFBcGFhUGBgcGBgcGBgcGBwYGIyIGIyYGJyYmJyYmJyYiJyYmJyYmJyYnJiYnJiYnJiY3NzY2NzY2NTY0NzY2NzQ2NTQmNTQmJyY1JicmJicmJicmJicmBiciJiMmJicmIicmJgcGFhcWBhcUFhcWFhcWFhcWFhcWFhcWFhUGIgcGBgcGJgciBgcGIgciBiMmBiMGBgcGBicmNjc2Njc2Njc2Nzc2Njc2Nic0JicmNzQ2NTYmNTQmJyY0JzQmJzQ0JyY0NTQ2NTQmNzQ2NzY2NTQnJiYnJjYnJiYnJjYnJjQnJjY1JiYnJjQnJiYnJiYnJiYnJiYnJiInJiYnJyY3NhYXMhYzMjYzMjYXMjYzMhYXFjYXFjc2Fjc2NjcWNjMWFjM2NjMyFhcyNhcyFhcWFhcWFhcWFBcWFxYXFhYXFhYXFhYHFhYVFhYXFhYXFhYXBhYHFhcWFBcWFhUWBhUGFgcGBgcUBgcGFgcGBgcGFAcGBgcGBgcGBgcGBhUGBgcGBwYGBwYGBwYiBwYGBwYmJxYWFxYWFxYWMzMyNjc2Njc2Njc2Nhc2Njc2Njc2Njc2MjU2Njc2NDc2Njc2Njc2JjU0NCcnJiYnNicmNCcmJicmIjUmJicmJicmJicmBicmIicmIicmJgcGJgcGIwYGBwYGBwYGBwYUBwYHBgYVFAYHBhYVBhYVFRQUFxYGFxYWFxYBlwEIBAQIBAIHBAoBAQIIAwgBAQgCAgUGBQMDAgICAQMBAQEBAQIBAgMCAgEDAQEBAQEBAQMDAw4ICBIOCQEBBgcDCBEECgsMAwMMAgIBAQEDAQMEBAYGBA8cCwMFCQQGBAwFAgsBBgMCCgMDBQYEDAYDBAQCBgEFAggMAw0GBg8IDhAICgEBCQUFAgEDAQEBAQEJAwUWDAUNBQQIBQcICgYDBg0FBAcDCRMLCgUCBgkFBQoHBQUDCAMDBgIDBQEBAQMEAQICAQEDAgIBAQMEBAcFCAcIDgkFDQUOHA4CBgMOEggFDAULFgwBAgIGAQMEAgMCAgQMBQQFBQcJBQkECAYCCxwNEhIJBAkFCx0OBAcECAQCCxUKCwcDAgwFCQ4ICQEBCwgPDQMCAQIBBAIGAwMBAwECAQICAQEBAQMBAgECAgICAwICAQEBAwECAQECAgMBAQICAQECBQICBgIFBwUFBwQEDAYNAwILDwEECggDBwUECAUFDQYGDQYMGg0YNRsWGA0aDQgSCAcKBQgNCQcRCAUKBQsGAgIHBAUHAwgHAggBCQYEBAMEAgIDAgIEAgMGAgUCAgQCAgIEAQQCCQMEAQECAQMBAgEBAgECAQMBAQQFAgUDBwICAggDAgICAgQICAUGDwIEBAgEAwcGBAQJBAgR3Q4TCA8NBwgKCA0RIxAFCQUQCQUHEQYCCAMCAQICAwEDAgICAgICBAEBAgMBAgECAgICAgECAQEBAwIDAgMFAwMQBAcHBw8QCAsbCAsLBwkQCQ4ZDQgDCwsIAwEBAQMBAQEIAQEBBAECAgEBAQUCAgYCAgf3BAUCAwUBBAQDBQIBAwYDBgMBAwIBAwgFAwQCAwgEAwUDAggDDw8JGw0EBwQQCBAJCAsLCQ8GBQsGAgYDEBMHBgcDAgQBAQEBBQIIBQgCAwgFBRQFBwUHBggCAwUCBgkGCRsGAQIBBQIBBQIGAwIJBAECAQIDBwwHBQ4HBAYEDAkCCAEBAgICBAcHAgEKBwYGAgMHBQQMBQYLBAUMBQgPBgIFAgICAgIBAQEBAQIBAgECBwEFCAMECwQEBgMIBQcEAwUJCRQTJBEDBQMGEAgTIxIDBwMCBgMHCwcJBgoIBQgFBQsEBwsHAgEBAQICAgIBAQQCCBQKHkMZAgsCBAUCBAQDAwUDBQICBgEDCQEEBAQEAQIBAQICAgEBAQIDAwMDCAYFCA4FBQIBBgMJDSoRBQwDBAgFFg4EBQQFEAUJDQcLEgsCBwMFCQUIEAkCBgMFDAUEBwQKAwIHCAMEAwwMCAUMBQoTCg8bDgsDAgUJBQUKBAMFAgIDAwEDAgIEAQICBQEBBQcGAgEBAgEBAQEFAQIGAQEBAQIBAQMBAgIBAQEBAgECAQIBAQIBBQECBgIBCAYIAgYBAQIGAgIFBAECBAMDAwcFAgUHAwUFBQwKBwkFBAcDBQgFBgwFBwYFCQQCCQMBCwwIDQgECwsFCAwGAwcDAwcEBQwGCAsCAgIEAwICAQECAQEBPwMGAgMEAgIBAwQCAwEFAgICBwIFAwICBwMDBQMMAQkCAgQHAwoHAwsGBAgWCwUWAhAHEQUHBgYOBQIGAwsBBgwFBQsFCAICBQEBAQQCAQIFAgIBAQICBAIDCgQCBQMECQQaEQkVCggRBQsDAgwgDxIFCwUNBgETGA4HAAAAAQAJ/+MCAQMRAn0AAAEWBgcGFgcGBgcGBgcGFAcGBgcGBgcGBgcGBgcGBgciNicmJjUmNCc0NCcmJicmJicmJicmJicmNCcmNCcmJyYmJyYmJyYGJyYmJyYiJyYmJyYmJwYmIyYmJyImBwYGBwYGBwYGBwYWBwYGBwYWFxYGFRYGFQYXFhQXFhYXFhQXFhcWFxYWFxYWFxYWFxYyFxYWFxY2FxY2FxYWFxYXFjYXFhYXFjMWFhcWMhcWFhcWNhcWMhcWFhcWFhcWFxYWFRYWFxYWFQYWFQYGBwYGBwYGBwYGBwYWBwYGBwYGBwYGBwYGBwYGBwcGBwYGBwYGBwYGBwYGBwYGJwYiJiYnJiYnJiYnJiYnJiInJiYnJiYnJicmIicmJicmJyYnJiYnJiYnJjYnJiY1JjY3NjY3NjY3NjY3NjY3NjY3NjY3NjY3NjYzNhYzNjIXFhcWFhcWFhcWFhcWFhUWBwYUFQYGBwYGBwYGBwYmJyYiJyYUJyY0JzQ2NzY2NzYWMwYGBwYGFxY2NzY2NzYmJyYmNSYmJyYmIyIHBwYGBwYGBwYGBwYGBwYGBxQWBxQUFxYVFhQXFhYXFhYXFhY3NjI3NjY3NjI3NjYzNjY3NjY3NzY3NjY3Njc2Njc0JjU0NjU1NDYnJiYnJiY1JiInJicmJiMmJicmJicmIicmJiMmMSYmJyYjJicmBicmJyYmJyY0JyYmJyYmJycmJicmJicmJyYmJyYmJyYiNSYmJyY0NSYmNzY2NzY3NjY3NjU2NzY3NjY3NjY3NjY3NjY3NjY3NhY3NjYzNhYzMjYXMhcWNhcWFxYWFxYWFxYWFxYWFxYWFxYXFjY3NjY3NjY3NjY3NjY3AfsGBQECAQEBAQMBBAIBAgICAgEBAQECAgIEAgQBAgUCAQEBAQEBAQQCAgQCAgUCAwIBAgIDAgwGCQUEBA4FBAYCBQoFBQgEBgwFAwcCBAUCBQ0FDQ4ICA4GBgwEBwUCBQEBAgMBAwECAQEBAgQBBAIBAgICAgIGBgECBQMCBQEIDAcJBwIFCAQGBAICCAUECwYLCwcCAgMHAg4IAwcCBQUBBQkEBQMCBQYCChIIDQ0FBwEEAwIBAQEBAQEBAwIDAwIFCAUFAwIGAQEIAgIJAgECBAMIAwEFBAIJDgYODAYFCQYGDggFEwgMGw0DCQsLAgcIBQQIBQgFAgcFAgIFAwMFAgQGBQIBCAECBAIDAgIEAwUCAQYCAgMDAgQDAgMCAwgCBAgEBAcFAwkDAwYEBwcIDwkDAgcDBhAFDQIJBgIGAgIHAQIBAgICAwcDBQMGBAEGAwQYAwoCAggBCQEBAgIGBQ0LCQIHBQULAhIMCgUJBAUEBAQFAwkEAwkFBQcKCAECDQcEBAcEBwQCAQQBAQEDAwYCBAgFCQsHCREOCBYIBQsHBAkGBw8JBg4GAwcDDBILAgQCBgICBgEDAQQBAQUDBAMHAwEKAQsCAgwLBg4GBQUIAgoDAgwJDQcKBgoFBQgEDAgEBwQMAgMFBQQIAgkLAwUDBwIDAgIBAgICAgMBBQUCAQEBAgIEAgUDAgQCBQIDBgsGAwIGBQIIAgMFCQQLCwcKDAYEBwUFCQUFBwQGCAQIAw4FBQ0FCwoCBwwHBQQEBgYEAwsPGQYJCgYDCwUCBAMHAgMDEQIMBQcPBw0cDQYLBgUMBQoUCwUMBgUKBQoUCwsFAQkFBAYEBAcEAwcDBAcFBQsFAwYECgICBQgEBAUCDAQIAgICBQIEAQECBQECAQIDAgIDAQECAQIBAwIBCAUHBwQKCgYIBAIEBgIPCAUFCAUIAgIMDxALBAMEAwMGAgUIBgMDCQQCBQUCCAUIAgQBAQQCAgEBAQECAgEDAwEBAQECBAEBAQMBAQECBQEBBQEFBwYKEQgMAgoCAgQLBQgQCwgCAgUNBgwGBQsWCAcDAgoEAgoGAgoBAQIJAwcBAQYCAgcHBQcFAgIFAgQFAwIFAQIEAgECAgEEAQICAwIFAQEIAgIGAgIBAwEI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BgcGJhUHBgYHBgYHBgYHBgYHBjEGBgcGBgcGJicmJjcmJicmJjcmJic0JicmJicmJicmNCcmJjU2JjUmJicmJicmJicmJyYmJyYmJyYmJyYmJyYmJyY2JyYmJyYmJyY0JyY0JyYmJyYmJyYmJyYmJyYmJyYiJyYiJyY0JyYmJyYmNzYWNzc2NzYWMxYWFzI3NjYzFjYzNjY3MhY3NhYzNjYzMhY3MjYzMjYzMjYXFhYzMjYXFgYHBgYHBgYHBgYHBgYHBgYHBgcWFhcWBhUWFxYWFxYXFhYXFhYXFhcWFxYWFxYXFhQXFhQXFhYXFhQXFhYXFhYXFhcWFBcWFRYWFzY2NzY2NzY2NzY2NzY2NzY3NjY3NjY3NjY3NiY3NjY3NhU2Njc2Njc2Njc2NzY2NzY2NyY2NyY2Nzc2Jjc2Jjc2NzY2NzY2NzY2NzY2NzY2NyY2NzY2NzY2FxYGBxYHFhYXFhcWFxYWFxYWFxcWFhcWFBcWFhcWFxYGFxYWFxYWFxYWFxYWFxYUFxYWFxYWFxYWFxY2NzY2NzY2NTY3Njc2Njc2Nzc2Njc2Jjc2NjcmNjc2Jjc2Njc2NDc2Jjc2NDc2Njc2NDc2Njc2Njc2Njc2NicmJicmJyYiJyYnJiYnJiYnJiI3NhY3FjY3FjYzMhYzNhY3NhYzMhYzFjcyNhc2NhcWNjMyFjM2NhYWFxY2FzYWA+4TBwsIAgMGBAQGBQoXCwgOBwgNCAMFAwMJBgMCBAECBAEBBgsDBQIEBAQFAQUCAgIBAQEFAQIDAQEFAQECBwIDCAUBAQEBAwECAgUDBgMCAQMFBwICAQICAgIBAgIEBAMCAQIGFgQGAwIEAQICAgIFAwECAwECAQEBAgICBAICBQsIAgQCAgQDBAIBAQEEAgICAgQCAQEBAgICBQUCBAYNBgIBAgMEAgEFAgMCAgUBAgECBAIHBAECAQQCAgECAQQCAwUDAgICAwIBAgUEAgQCAgEEAgECAQMCBgECAgICAgEHAgICAwQCAgECAQQJFwgCBQECAwIFBAIFAQICAQEBAQIHBAEBAgIBAwIEAwECAgIDAgMBAQMCAgICAQICAQEBAQIBAwIBAQIBAgECBAIHAQwHBgUDBQkBAQYDAgUKBQYCAg0IBAkBCAgEBwQBBAoHHwsIBAoGAwcDBgoLEwoKDQcIDQcECAMKBAIECAQFCAUFCAUFDAQGBAUOCAQFCAUCCAMIEgkMEggMCgUMDQYFBwUFBgMBAgMBAQQCAgIDAQIDAgIDAgQCAwICAQIEAQEFBgECAwEBAQEFAgIBAgQCAgEFBwECBQQCBAMEAQIBAgUDAgMCAgUCAwIDCQMDBAMFAgEFAwUEAgECAgQCAgECBAQFAQIDAgIBBQIBBAIDBQEBBQEBAQQDBwIDAQICAwICAQIBAQQCBgIEBwUHAgMEAQIHAQYCAgIDAQUCBgMCAgIDAQEBAQEBAwECAgEBAQEEAgMGBAIEAgIBAQICAgMCAgUCBAIDCQUCAgMCAQQCAgICBwECBQEGBQUDBAECBQQEAQIBAgIBAQIBAQEEAQEBAQIDAgECBQQCBgQCAQECAQEBAgYDCQEDCAMECAcNBwYOCAsKAQIGBAMIAgkCAQQHAwUOBggPCwoIBQgECQ8HFxsQDAUCCA8GDhYXFQgFBwQCCQL6CgcDBQMDAQECAgIFCAUFBgQEBgIGCwcFEQoFDgcFBQIKAgENGhAEDQYHEggFBgUDBQMDBAQKCQQHAgIFAwIFDwcLFgsDBQMCBQMIBwsVCw4NBQkGFBsOCA8ICAUIBQYLBhMWCgcBAwUKBQQGCgQDBg0HDAgFCRMKDhYNBwoHAwYDCwMCBwwHEBAIFCUTBQcFCBQJCRIFCAQKEQgJEwkLBwICBgQGBQgQBwIIDRwPAgYDBgwKBQgECAUFCAUFCAUICAMLCAMCCQQDBQQECAUECAMIDwgFBgQLAgIGDgYEBgkDAg0GAgMGAwkBAgwGBQQCBwIIDQcHDAYLCgcDBw8HAgECAgcCCBEIDA0GCxgMBQoHBwkEER4QBAgFBAUGAwYEDCEQBw8JCBQLCgkGDwgJEwsFCAUFCQYFCwULBgMCBQQIGgkKBQIJAgEJAQEECgQEAgEDAwIDBAMEAgcCBAIBBAUCCgIFAwEBBgECAQEBAQECAQIBAQECAQEBAwEBAgIBAgIDAgECBQIFAgIFBwUJCQUGCAQHCQYDCAIMBRAcFA0GAwgLChILDwIFBgUHDgcLBAcNBg8ICQkIDgUHBgIEBwUCBgMDBgQFDgYLAQcIBAkFCwkEAgsFCxkMBAYCCAsHBAgDBQYDCwUIDggGCwcHAgMDDgIMAQkFAgMEAwIGBAkIBQYDBAMCBgUCBAYDDAgDAgcDAQYHCBIKAgcEAwgEAwgDAwYBBQoFDhEKCgQCAgcECQ4NCAUJCwoOCBEIBg0HDAcDAgUKBQIGAwgEBAcDBQsFCxYLBQsFBw4IBwoGCBoLBw0JDhkLAQ8GBw4HBgYCCgQIBRIQBwsKHg8OBwoJBAsJBAUGBQgCAwQGBAMIBAUHBAUHBQoIBAQHAwoLBxIPCAMEBAsGBQMCAgQBBAIBBAIDAgIDAgQGBAEBAQEBAQICAgEBAQEBAgEDAgIBAQECAQEBAQEBAQECAgIAAf97/9sC4gLuApcAABMGBgcGBgcGBgcGBgcGFhcWFBcWFhcWFhcWFhcWFhcWFhcWFxYWFxYWFxYWFxYWFxYWFxYWFzY2Nzc2NDc2Njc2Njc2Njc2Njc2Njc2Nzc2Njc2NzY2NzY2NzY2NzY2NzYnNCcmJicmJicmJyYiJzY2NzI2MzI2MzYWNzY2NzYWFzYWNzY2NzYyMzYWNzYzFgYHBgYHBgYHBgYHBgcGBgcGBgcGBgcGIwYGBwYGBwYUIwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYWFxYWFxcWFhcWFhcWFBcWFhcWFhcWFhcWFxYXFhYXFhYXFhYXFhYXFhcWFhcWMhcWFhcWFhcWFhcWFhcWFhcWFhcWFhcWFhcUJgciBiMjIgYjIiYjIgYnJgYHBiYHIgcGBgcGJgciBgcGJic2NjU2Njc2NzY2NzY2NyY0JyYmJyYmJyYmJyYmJyYnJicmJyYmJyYmJyYmJyYmJyYnJiYnJicmJicmJwYGBwYGBwYGBwYGBwYHBhQHBgcGBgcGBgcGFQYGBwYGBwYHBgYXFhYXFhcWFhcWFhcGJgcGBiMiJiMiBgcHBiYjBiYjIgYHBgYHIiYHIgYHBiIjBiYjBiIHBgYnNDY3NjI3NjI3NjY3NjY3NjY3NjY3NjY3NjY3NzY2NzY2NzY2NzY3NjY1NjY3NjY3NjY3NjY3NjY3Njc2Njc2Njc2Njc2Njc2Nz4DNzY2NyYmJyY0JyYmJyYmJyY0JyYmJyYnJiYnJyY0IyYmJyY1JiYnJjQnJiYnJiYnJiYnJiYnJiYnJiYnJiInJicmJjU2Njc2FjcyNjMyFjMyNjMyFjMWNjMWNjMzMjYzMzYyFzYWzwEMCAUIBwsGBAMFAgYGAgYCAgcCAgMCBAgEAgYCBAQCCgcDBwQDCQUDBQQDCAMFBgQHAwQDBAIHBQICBgIEAQIGAQIIBwQDBgMFAg4FAwEGAQkGAgUCAgIDAgQDAgQEBAQNCgcXCQ0GDwsDBRYMBQwHBQsFChMLBQkGEC4UCxULBQkFChQMChgOCgUCBwMDBwQNCwUDBwQDCAUMBgoEAwUHAg0BBgQCBg0FCQEECQMLBgQCBQIFBgMCBQMCAwICBwIECAMDBQMGCwQHAgUCAgQBBgQCBQIFAgIBAwIBBAIFBgQIBQYFCAsFBwECBgICAQIHAwIGAQQCBwYCBAcCAwECCAYDCAUHDAQKAwINDQUFBgQLBwUHAwILBgMHBwIHAgEGBgINBAULBRIEBgMCBgMJEwsJAwUFGgYUFQoVCgQKBAIHAg0KBQcDCxQJBAMIAQECBgIEAgcFAwMJAgQCAQYBAQgIAgYDAgMIBQcFAgIHAgUBAQMGAgQCCAEIAQICBgsDAgQFAggOBgUDAQ0IBAIFAgQIBQMGAgYEBAMCAwIGCAQDCQIKBA4DAwYECBACBgQEDAkEAwcDBQsGCwYOBwcNCAgTCQ8aEQsDAgMGAwQIBAoDAgoLBQgOCAUCCAQCCQICAwUDCgICBgsFBAUEBAUDAwUDCwgHAwQFAgMFAwcCBwIHBQEGCAUHCgYHAQIGCwUFAwQHAwgDAgICAgQEAQgBAQoNDQYGDgkEDQUGAQQGAgUHAwcBCAICCAQEAwIIBwEJDQUGBQMCCAIICwQCAQIJBgEKGQsLEwoOCgUDBgUODwUHAQoCCBEIBhAGAgsFBw4HBQwFCxYLBwkFCwULBicECgUHBgLpCAYBAwYCBAYCAwYEDAYECAgCBAYDCQYEBgsFBQkFCQQCDQoFCgUFCwUFCwUFBgUECgUGCAICBAIJAgUCAwQFBwUCBgMCCggEAwYEBQYQBgEBCQELCgQIBQICBwIEBgIPBwgIBwYDAwMCAwQEBAgBAQECAQIBAQEBAgECBQMBAQIBAQEBAQIEBAICAgIFBQICAgIDAwIHAgUEAgMBAgcEAgICBAMEAgIKBQ4MBgQHBgIIBAIIAgIFAgIHAwUJBQQHBAcLBQgJAgIJAQcLBQMLBQcDAQIFAwwIBQQIBQoGCgYJCgUHAgICBgQCBgILAgIHAgMICwYFCAcFBAYCCQkFDAUPCQgFAggFAgIBAgMFAgICAgcDAgUCAQcBAQMDAQoCAQIBAQMBAQIBAQIBAwICAgIBAQMBBAICCQICBQoIBAYIBAECBgQHBgMKCAUFCwgHBgMGAwIJDwQIBwMFEQYIBwQDCAQIAwEEBgYDAwoBBQMCAwYHBwMDBwMMEwoMAgIRDAgDAgUGBg4ICAcECQEKBwMCCQMICggQBQEGAQQBAgMCAwIGBQQCAQIBAgICAgEBAQMBAgEBAQEDAQECAgQBAgUDBQQCBQEFAQIEAQICAQIFAgICAgICAwICAgUFAgIEAgICBgMGAggBAQsEAgoIBQoJBggDAgcMCAUEBgkECwUCAgcCAwICDQELDwsLBg8bDQkPCAsCAQQHBAUJBQkCAQkEAgYJAwYCDAgCCA4HBwQEBwMIAgEICQUCBgILCAULDgkCCQUEBAICAgUJBAMDBQIBAgIBAwIDAwEDAgIBAQQCAwAAAAH/Zv/kAo8C+wH5AAATFgYHBgYHBgYHBiIHBiIHBjEGBgcGBgcGBgcWFhcWFhcWFhcWFhcWFhcWFhcWFxYWFxYXFhYXFhQXFhYXFhYXFjc2Njc2Njc2Njc2Njc2NjU2Njc2Njc2Njc3NjY3NjY3NjY3NjQnJicmJicmJicmJjc2FjcWNjcyFjc2FjM2FjMWNjcyNjMyFjMWNhc2MjMWNjMyNjMWNjM2NhcGBgcGBgcGIgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcHBgYHBgYHBgYHBgcGBgcGBgcGBgcGBwYGBwYiBwYGFQYGBwYGBxYGFRQWFxYGFxYWFxQGFxQWFRYGFRQWFxYGFRQGFxYWFxYXFhYXFjIXFhYXFhYXFhYXFjYXFiYHIgcGBgcGJiciJiMiBiMiJiMGBiMmBiciJiMmBicmJicmIicmJiMGJiMiBic2Njc2Njc2NzY2NzY3NjY3NjQ1NCY1JjY3NjY3NjQ3NiY3NSY2NTQmNzYmNTYmNTQ2JzQmNSY0JyYmJyYnJiYnJiYnJiYnJicmNCcmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYnJiYnJiYnJjQnJiYnJiYnJicmJicmJicmJicmIicmIjU0NjIWMzIyMzI2MzI2MxY2Nzc2Njc2Mjc2Njc2FjcyNjMyNjM2Njc2FrYDAQICBgICBQIDBgIIAwEJDAcECggCBwIBAQcEBgMCAgMCBwEBAgUCBAQCBAICBAIBBgICAgcBCAUEBAcEDgkDCQMECQUCBAIECAIDBAUGBAYLBgcKBg0EBAUBBgMCAgIFCAkCBQUFBA0DCAUCAgsFAxMGAgYDDQsFAgsCBQgFBQcECA8IChAGBQsFBAwFBQcEBgUECxsPAgcFBAgFCgQCCgICBAgECA8IBAgFCA4IAwYDBw0HBwMEBwMCEQYDAgoIBAIDAggCAgQCCBAIAgMCCAYGBQIDAgEEBAMCAgIGAgIDAgEEAQEBAgEBAQMCAwQBAQEBAQECBAEEAgIEBgMCCwYEDR4PCQQDCQECAwYCBwQFBwULGAsKBgIDBwQGAwIIDwgNGw4DBwMFBwQGCgYFDQYGCwULAQECCAELBgUHBgMLBAQJBQQGBgwCAgIBAQQCAwEBAQICAQEBAgIEAgICAQECAQICBQMEAgYBAgIGAwIEAgkCCgIJAgUCAgMHAgQGBQcEAgYHAgIFAgUEAgIHAwUCBgEBAgYCCAEDCgYEBwUIBggEAwsJBgQIBAcFAg4NCAoJAwIYAwsHBQwIBA0hChMJEQgFCAQFBwQHDgcDBwMDBwIFBwQFCgL7BgYCAgIBAgMCAQIGAggGBAIIBQIJAQILEggLBwIBBwIJAwIECgUIAwIIAgQGBQEIAgQECgIBCQ4FBQYFBQkDCAUFCgUCBgIFBAMHAgIIBgQHDggGDgcNAwcCAwkDAQoECA0CCAIFBgMEBQIGBQUIBAEBBQEBAQMCAQIBAQEBAgEEAwIBAQIBAQEDBQQDAgIBAgUBBQIBAgICAwcDAgICAwsEAgECBAsHBQMCBQQCDwgEAgwKBQMEAwkEAgQCCRAIAgUCBg0IBwQIAgoJBQIEAwMGBAoRCQgQCg8OBgUIBQQHBQYMBgUNBQUKBgUNBgUJBRQmFggLBwoFBwEHBQIGBwUDAgEDAQINAwECAQMBAQQBAQMBAQIBAQICAQEBAgYCAgEBAgEBAwUIBAMFAQIIAwIDAgIEBAYEAgkDBg8ICA4IBAUEAgsFDQwIIQUIBA0aDgwCAgUNAwMKBQMGBAQIAgUHBAYFCAYCAwYDAgQCCQIHAwILBAUFAwcFAwUOBwgDAwwFAwMHAwoEAgQJBQoBBwMCAgUDCAEBAwQCAgYCAgQCAwEDBwICAQMEAQUFBAMBAQIBAQICAgMCAQIBBAEBAQEBAQEDAQIBAAH/7P/zAmgDKwILAAABBgcGBgcGBgcGBgcGBgcGBgcWBgcGBgcGFgcGFgcGBgcGBhUGFAcGBgcGBgcGBwYUBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYWBwYGBwYHBgYHBgYHBgYHBgYHFjMyNjMyFjMyNjcyNhcWNjMyFjMyNhcyFjMWNjMyFjc2Njc2Njc2Njc2NzY2NzY2NzY2NzY2NzY3NjY3NjY3NhcWBhUWFwYWFRQGFRQWBxQGFxYWFxYxFgYXFhYHBiYjJiYnJiYnJiYnJiYjBgYHBiMGJiciByIGBwYmBwYjBiYHBgcmBgcGBgcGIgcGBgciIgcGBgcGJgcGBgcmBiMiJgcmNjc2NzY2NzY0NzY3NjY3NjY3NjQ3NjY3NjQ3NjY3NjY3NjY3NjY3NjY3NjY3NjQ3Njc2Njc2NzY2NzY2NzY2NzY3NjY3NjY3NjY3NjY3NjY3NjY3NjY3NjQ3NjY3NjY3NjY3NjY3NjY3JgYHJgYHJicmJicGJiMGNCMGJgcGBgcGIiMGBgcGBgcGIgcGBgcGBwYHBgYHBgYHBgYHBwYGIyYmJyYmJyY2JzQmNSYmJyYmJyYmJyYmJyY0JyYmJyYmJzYWFxYWFxYWFxYWFxYWFxYWFxYWNzYWMxY2NzIWNzY2Nzc2Njc2MzI2NzIWNzY3NjY3NjEyMjcyNjM2MjM2FjMyNgIPAwICBQIDAgEICwUCAgIEBwYBAwIBAQEGAgIFAQECAgIDAwUBBwwHAQIBCAgFAQYBAQMFAwUBAgcGAwQBAggKBQUFAgoLBQIEAgIJAwUFAgIBAgIGAwMEAgUDBQEBAQICBAECBQkEBgMFCgUOGQwEBQIEBgIFCwcGCgYFCgYHEQYECAYHGAsGDAUHCwQFBAYCAQIDAgICAggIAwYEAgMCCQcHBAUCBQIBAQMBAgECAQEDAgMCAQIBBAIIAQIGCgUCBwIGDgYQCgcFCgcDCAwGBQUKDh0OCRILCwEDBgQFCAkLBQgOCAgOCAgOCAUHBQsYDAgNCAgRCAcIBAQJBAsGAQkCAwUDBQEEAgQCAQIEAwUBBAEBBQEHBQQCBgQDCAIIDAcDBgMFCwcFAQEGAwwGBgMCAQICAgIFBwUEAgIEAgIDAgUGAwIDAgIBAQEDAgICAgMCBgUCAgEBAgcDAQMCAwYCChMLBw0FDAIDBwMJDwkJAgkKBQQGBAoEAgQGBA0LBQsGAgQHBAUCBQICAwQCBgIFCQUGAgEFBgMDAQMBAQEBAgIDAgEBAQECAgMGAwEBAgECAgcCBgYBBQIBAgICCQsEBAcDCxELBQoDDAYEBw4IAwUEBhAJDwwYDgcIChAHBQgECQgIGAYLBwgDBgsFDRgNAxAFBQsC/ggEAwQDCwICEhULAwcDCBIIBAYEAwcCBwMBBwICAwUDBwIBCgICCxwNAwcCDhIIAwIIAgEGDAcIBgIMDgcGBwQTEQgLBgUPGAsEBwICAgICBQIGCgYGDwYFBgUIBQcEAgMGBQYIBAICAgEBAgEBAQICAQMBAgEBAQEBAQMBAgICBQkLAgIFCAUDBQIJDwULCwUHBRQgDAoCBQsFCAULFgoFCQUJEwsKEggHDAUNChkMBgsGAgICBQIBAwECAgQGAwECAQEDAgECAQEBAQIEAQEBAQICAQEBAgECAQEDAQECAgIBAQEBAwEBAQEDBgQCCQQEDgUHAgIGBAcDAgQHBAYCAgUDAggCAggLBQUMBQUHBggVCwUMCAsUCwkCAgQGDhkLDwcDBwQEBgUKFgsKBAMFBAMHBAcMBQQFBAMGAgMFAgQIBAQJBA4JBQIHAwcOCAIFBAsMBwIEAQEGAQIBAQMCAwMDAgQBAQECAgMCBQIIBQMIAgQPBgYFBQUFCQMJEAgRHxEPAwkVIQ4GCQUIDgcFBwQJGAwEBgQJDwgOHg4ECAMIDwcHCQYEAgIJAQICBgIMBQMDBgQFCAMBAgEBAgECAQEBAQIBAQICAgMDAQEBAgIBAQECAQIBAQEBAAAAAAEAJ/+8AM8DHQDeAAATFgYHBhQHBiYHBgYHBiYHBhQHBhYVFgYVBhYVBhYXFBYVFAYVBhQVBhUUFgcUFAcGBhUGFBUWBhcUFhUUFBcWFxYWFRQWFxQWFRQGFRQWFRYGFxYGFRQWBzYzMjYzFjYzFjYXFBYVBhYHBgYjBiYHBgYHBgYHBgYnJjQ3NDY1NCY3NDYnNDQ3JjY1NDQ1NjY1NCYnNCc2JjUmNicmJjU2JjUmJic2JjU0IjU2JjU0NjUmNjc2NDU1NiYnNCY1JjY1NDY1JjY1JjYnJjYnNiY3NjcyFjcyNzY2MxY2NzYysAMCAQECBAwFBQcEBQgFBQEBAQECAQEDAQEDAgECAQECAQICAQECAgEDAwEBAQEBAQMBAQICAQQCDwMECAQHCwYGDAQBAQMCDA4ICBEIBQoFBQoFCxMKAgEBAgEDAQEBAgEDAwEBAQICAQEBAgECAgIBAQMCAQIDAQIBAQEBAQIBAgIBAQECAQEBAQEKAxUNBg0GCg4EBgUJBgMFBwMdBQ4FDAUCAgEBAQUBAgECBAcHCAwLCgUCCggDDAkFBgwFBw0HBQcEBwQDBgQDCAMGDAcOHQ4ZLxkHDggIDwgJDAMMBQgJBAkTCQgRCRMnFAgPCAoEAg4SCwMDAQMBAQMMAQIJCQMHAQECAQECAQECAQIEAgUKCQsIBQQIBAYMCQIJBQ0RCAsMCA0fDA4ZDQoFBQYEDyAPAwcEDAMCEhUOCwwGDAEHCAMFCwYMCQUIFggdDBULAwcDAwYDEAwGDAYDDwgHBgwECRAGCQECAQMCAgECAQIAAf/s//cBCwLwAL4AABcmJicmJyYmJyY1JiYnJiYnJjQnJiYnJjYnJiYnJiYnJicmJicmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYnJjQnJiYnJiYnJicmIjU2FhcyMhcWNhcWFBcWFBcWFhUWFxYVFhYXFhYXFgYXFhYVFhQXFhYXFhYXFhYXFgYXFhYXFhYXFhYXFhYXFhYXFhYXFhYXFhYXFhYXFhcWFhcWFBcWFhcWFhcWFhcWFhcWFgcUJiMmIicmJiMGyQMEAwUEAgICBAIEAgECAQQBBQMCAQEBBQMCBAQCBgECAwIGAwIDAgIDAQIBAgICAgIFAgIFAgIFAgIDAgUEAgUIBAICAgICAQIKBgUBBQ4FBRcDBwQCAgEEAQEBAwIEBgEBAgIBAwEBAQMCAQIEAgMCAQEBAgEBAQEDAgQHAgUHBAYCAgEDAgMBAgQBAQUPBwcMBQIBAwIBBQEEAQICAwICAQIBAQIBBQIJBAIWAgMFBAYCChUKDwwHDwcMAgcNBgYMBQoHAwwLBQMGAw0OBQcPCA0GCgsFDQ0HDwcFCgQHCwUFDAYJDggIDwcIDggFCAUSDwcVEwsGAgUJBQQHAxcTDAIKAQEBBAQDBAkEBwQCCwICCwIJBgoJBAUIBQkGAgMGAgMHBAgTCAwEAgkCAQMGAwQIAw4UCBQbDg8KBgYMAwwKBQsGAhQjExImFAoECQcDCwUCCQsFBAcFBAgFBQkFBQcFCwEBAQECAgAAAAAB/+D/vACIAx0A3gAAAxYyFxYWMzYWFxYzFjYzFhcWBhcGFBcGFhcGFhUGFhUUFhUUBhUGFBUWBxYGFxQWFQYWFQYGFRUGBgcWBgcGBgcWBhUGFgcGBxYUBxQGFRQWFRYUFwYWFxQUFQYWFRQGFRQWFRQWBwYmJyYmJyYmJyYGJyImJyY2NTQmNzYWFzYWMzYWMzI2BzY2NzQmNTYmNTY2NTQmNTQ0NzQ2NTQ2NzY2NzYmNzQ2NTYmNTYmJzQmJyY0JzQ2JyYyNTQmNSYmNTY2NzY0NSY2NSYmJzcmNCcmBicmJicmBicmNic2JgEGBwUCBwMLBgMPCQcMBw0NCwoDAwECAQECAgECAQICAQEBAQIDAQMBAgECAQECAgEBAQIDAQECAgEBAQICAQEBAQEBAwEBAQIKFAoFCgUFCgUIEggIDQgGAwICBAwCCgsDCQcDCQcBAgMBAQQBAQMBAQIBAQIDAQEBAQICAQEBAQIBAQEBAQIBAQICAQMBAQIBAwEBAgEFBQkFAwcEBg0DBAECAQMDHQECAQIBAgIDAQIBBAsQBQgMAgsIBgwGAhAMBg0GAwMHAwsVDAsKEBYIBQkEDgsFAwgEEAYMBRQVCgoDAg4HAw8gDwoCBwcEDRkODB8NCAwFDhEICgkCCQwGBAgEBQgEEAoFAgQCAQIBAQIBAQIBAQEJCQUMBQIDAQECAwEDAgIIEggIBAIQDwgUJxMJEQgJEwkECQUIDAMGCgUIDwgIDgcZLxkOHQ4HDAYDCAMEBgMKAQQHBQcNBwUMBgUJAwwIAQsFAicHBwQCAQIBBQEBAQIMBAEHDgAAAAEACgGwAXIC8gC9AAATBjMGBgcGBgcGBgcGBgcGBgcGBgcGMwYGBwYGBwYGBwYGBwYmBwYiJyYGIyYGIyYnNjY3NjY3NjY3NjY3NjQ3NjY3NjY3NjY3NjY3NjY3NjQ3NjY3NjY3NjY3NjY3NhcWFxYWFxYWFxYWFxYWFxYWFxYWFxYWFxYXFhcWFhcWFhcWFhcWFhcWFxYWFxYXBiYjBgYjJiYnJiYnJiYnJiYnJjYnJiY1JjQnJiYnJiYnJjQnJjQnJyYmJyYnBgYHtQcBBAICAgIBBQEBAgYCBQMCBAMCBgECAwECAQECDgICAQICDQICBwMJBQMKBwMLAQYFAgQFAwQFAgULBgQBBgkDBwcFBQQFBgEBBQUCCAIEAQEEAwEGAwIGAgEIBAQEAgQCBgQCAgQDAgQCBAcEAwYCAgQDBAIGAQQFAgMHBAMDAgIIAwQCBQgEBgIBBQMLCwUOFwICAQIFAwICAgEEAQEDAQYBBQMCAgECBQIHAQYGBgMHBgIFAgJxCwcHAwIHAwgDAQUJBQgKBQcFAwsDBwIGBQIFFAgCBgMDAgECAQMBAwMEAgsHBQMJBAMLAwgRCQcBAgsKBg0MBgYNCAkDAgwGBAsGAgcDAgkCAgwEAw0MAgIICAYEBgQMBwMEBwQEBgMIDAYGBwQDCAQJAgsBCAkFBgsHCQQEBQwGCAUHCwcICQoDAQQBBAECBgQNCAUFBAIJAQIHAgILAgIOBgMEBgQHBAILAwIKCwsFDggDBwUAAf////gCKgBFAGUAACUWFhcWFhUUFgcGIwYmJyIGIyYmJyYGIyImIyIGIyImBwcmBiMjBgYnJgYjIiYjBgYHBgYHIiYjIgYjBicmJicmJjc2NjMWNhcWFjMyNjMyFjMyNjMyFjc2NjcyNjcyNjM2FjM2NgIdBgEBAgIBAwgLCA4HCA4HESAQBwwHBAgEAgsDAgUECwMLBBATEAsSEQgEBgMJGw4IDwgGCwUFCgUhHAIBAgEEAgUEBhAfEREeEAgMBw0bDgYOBxo2GwwXDQkSCQsYBwwBAg4URQIFAgUaCQUJAwQBBAECAQQBAQIBAQIBAQIDAQEBAQQCAQIBAQIBAQICAgYNBwYXBQEFBAMBAQQBAgEDAgECAQEBAgICAwMAAQBoAkoBFgLiADkAABM0FxYXFhYXFhYXFhYXFhYXFhYXFhYHFAYHBgciJicmJiMmJjUmJiciJicmJicmJyYmJyYmNSY2NzaACwoPAgkDDQsHBQwGBAYDAwUEDwYCDQUECAwEAwgJBQEGDRMLAwYBBgICBQYEBQQBBQEHAgsC1wsBEwkFCAIKCQUIDAYDBgMDCAQFBgMFBAEFAgcDBQYDAwQIEggEAQMFAgUEAwQCBAMEBgoFCAAAAAIAI//sAeECAgFzAeIAACE2Njc2Njc2Njc3NjY3NjY3BgYHBgYHBgYHBgcGBgcGBgcGBgcGBgcGJicmJicmJicnJiYnJiMmJicmJicmJicmJicmJyYmNSY3NiY1NjQ3NjE2NDc2NzY2NzY2NzY2NzY2NzY2NzY3NjY3NhYXFhYXFhYXFhYXFhYXFhYXFhYXNCcmJicmNCcmJicmNjUmJyY2JyYmJyYmJyYnJiYnJyYiJyYmJyYmByIGBwYGBwYiBwYGBwYGBwYHBgcGFgcGBhcWFhcWFhc2Njc2Mjc2Njc2JgcGBhUGNhUGBicmPgI3MhcWMhcWFxYWBwYGBwYGBwYGBwYGByIGJwYGJyYiJyYmJyY0JyYmNTY2NzY0NzY2NzY2NzYyNzY2FxY2NzIWNzI2MzIWFxYWFxYWFxYWFxYXFhYXFhYXFhYXFhcWFBUWBhUUFgcGBhUGBgcGBhUUFhUUFBcWFhcWFhcWMxYWFxY2MxYWFQYmByImByIGBwYGIyIiJzY3NjY3NjY3Njc2Njc2NzY3NjY3NjY3NiYnJjQnJiYnJiYnJiYnJiYnJiYnJiYnJiYnJgYjJiYnJgciBgciIgcGBgcGBwYGBwYGBwYGBwYGBwYGBwYWFRQGFxQWFxYWFxYWFxYWFxYWFxY2FzY2ATwCBwEGBAQBBQMIAgMCAQEBDAoCBgoIDgoGCQQEBQIFCQQFCQQOBgULFwgHCQUKBgMMBAcCBwEIAwMCCwUCBQIBAgIDAQECAQEBAQMBBQQBCQYEBgEHCgYKBQIKAwIJCAMREQQJBAsXCQsDAgQJBQcHAgMIBQkNCAMGBQYBAgEEAQECAQMBAwEBAQEBBAEGBAIFBAgFAxQKAwIJBQgEDAUFDgUDBQIDBgIECgUGCwUHBgQDAwEBAgMFAgYHCQwFDQYDBwICBQgFBBQLBAcCCgIPBgQCCAoFCA4FCQIDBAMDAgQBAQIGAwIEAgcKBQMHAwUOCwkNBQgNAgEBAQIGBAQIAgYNCwIGAg8PBgQFBg4mEQMLBQUIBAcOCAgEBQQNAwQDAwsGBQYFBwMCAgQCBAEBAQEBAQECAgUEAgQBAgECAgIHBAkECggEBwMBDQMDBAUDBQQECQUVLxcKEV4EBgkLBQQIBAYGCAcDCAMGBAsIAwQDAQMBAgEBAQQBAwUCAgECAw4ICgYECAgEAwUDCwICBAgDCQIEBgIDBgICBQMIAgQMAgcDAgUIAgMDAgIFAQEBAQEDAgUJBgQHBAUBAQgEAgQGAw0RBwMCBwYBBQcECwIQBQUKBgsJBwMMBAkJBQgCBAICAgUCAgYCBQMBAgICAgIDBgcCCwQEAw4LBgMLEwsFCgUDBAMIDwMFAwoBCgsFCgQCDQYDAQgEBwQEAwsFCAECBgQCCAMCCggCBAICAgICAgICAwIFAgECBQMFDQYCBgIPDgQIBgwIBAIGBAcCAgUGAwYDBQcFCwUEBAgGBAIJBgEEAgIBAQEEAgEDAQEBAgYDBQgGCQgECAYDAgkOCAQCAgUCAwYCAwYBBAsEEQYDAQIFBgIFBgECCAsIBgMDAQECCAUJBQYGAgIEAgIFAwMIAgICBQEBAQMDFAkDCAQIEQkHDwgHAwIICAUCAgIGAgEEAQIEAwEBAQMCAgEDAgcCBQMDCQsIEwgKBwUEDAYKAwYMBRAiEQwXDAgRCBEgEAgOCAMIBQgOCAMGAgMDAgUFAwIEAggBAwgBAQEBAQECBD8CBAYIBAIGAgUGAwoCBgMHAgsJAwgCAQkGBwUIAwIGAwYOBgQHAgUNBwgEAwgBAgIEAgUCAgMBAgEEAQIBAwIFAQMJBAoDAgkJBQUOCAYNBgUNBQUMBQMIBA4cDAcLBgcDAQYDAQIBAgILAAAAAv+8//IB4wKUAS4CDwAAExYGBwYWBxQHBhQHFBYHFgYHBhQVBgYVFgYXFgYXNjY3NjY3Njc2Mjc2NzY0NzY2NTI2NzY3NjY3NjY3NhY3NjYXFhYXFjMWFxYWFxYUFxYWFxYWFxYXFhcWFhcWFhcWFxYWFxYGFRQWBxQGBwYGBwYWFQYGBwYUBwYHBgcGBgcGBgcGBgcGBgciBgcGBgcGBgcGBiMGJiMiBicmJicmJicmJyYnJiYnJicmJicWFhcUFQYmIyImByIGJyIGJzQ2NzY3Njc2NzY3NjY3NjY3NjQ3NjY1NCY1NiI1NjQnNTQmNTQ2NTQmNTY2NzYnJiYnJjY1NCY1NSYmNSY2NTQmJzQ0JyYmJzYnJiYnJjUmIicmJicmIicmJjc2Fjc2Fjc2FjMyNhcWMhcyFxYWFxY2EwYGFRYWFxY2NzY2NzY1JjQnJiYnJiYnIgYHBgYHBgYHBgYHBgYVFBYXFhYXFhYXFhYXFhYXFjYXFhYXMjYXMhYzNjY3NjY3NjY3NjY3NjY3NjY3NjY3NjQ3NjYnNCY1NiYnJjYnJyY0JyYmJyY0JyYnJiYnJiYnJicmIicGBwYGBwYHBgYHBgYHBgcGBgcGMQYHBgYHBgYHBhYHBgYVBhYXMjY3NjY3Njc2Njc2Njc2Njc2NhcWFhcWFhcWFhcWFhcWFxYWBwYGBwYGJyYmJyYmJyY2NTQmNzY2NzY2FxYUogIGAgIBAgIEAQECAQYBAgECAQMBAQIBBgICAgQDBwMFAwIKCwcBCgMFBAMJAg4JBQwJBQgCAgkSDAsSCAgBBgMHAgIFAgkGAgIIBAUCAgICAgICBAEDAgEDAQIBAgEBAQECAQEBAQMCAQEFBQMEAgICBgMBAgMCBwQCBQcEBQkGCBMKCxAHAwYECBEIBQ0HBgcFCwcLAQMIBAgFCAIFAwYBBgkGGiYXCRUNBAcBBgMFBQkDBgQDCAoJBQMHAgICAQEBAgECAQEBAQECAQICAgYBAQECAQQBAgQBAQEEBQEHAgIFCgoIAwweDgQJAwIIAgEHBQMLCA4MBgsXDAQHBQoEBQcEESJSAQMBCQgNCgIFBwIFAwEGCwMECQMDCQILCgQHEwUFAwIBAgkCAwUECgMFAwoDDQ8HAwUCDgoEAwcCBAUCBAYCCAECCAECBQcFBQgDBQECAgQCAQECAQEEAQQBAQEDAQQBAQICAwEGCAIFAgsEAgUMBQcDDwMFBgQHAwsGBAQHAgsCBQICCggCCwkFAwcEBgEBBQEBAQIFAgICCgIEBgoGAgYIBQgBAQUOCAIGBAMIAgUKAwIBAgUFAgMCAQwGBxYMBQ0FBQsCAQIBAQYDAgMCBQMCjBAOCAgOCAMIDiAQBg4JAxUFCxUKCBAIDQkFAgYDBQMCAgcEBgUJAgwKBgIBCQECCQIFAQkHAgMCAgQBAQICAwIKBQcGAQgCAgYBAgoGBQUMBQQFAwoFBgUIBAINBAgGAhILBwcNCAULBgUKBQkDAgcQCAQIBBESDAcDBwMIAgEDBwIFBQMFAwMGAgIHAwQDAQIBAgIHAgIEAwQIBQMEBwUICQkGAhMhFAoIAgMCAgQBAgUFAgEFAQgDBAQDBAMIBQMGAwMLBQUKBQQIAwsCCxsMGBYuFwMFAwQHAgcFAw8JCAwHBAcDAwYEDQYLBgUGBAoWDAoSCgsVCA0NBQQCBQEDAQQGAwECAgIFBQQBAQEBBAIBAQEBAQEDAQIF/iMFBgcLBwIBBQIDCAMMAg0JAgoHAgUDAQQBAwUCBAwHCwgFBQUFBxgGCgQECwQDAwYDCAoDBAECBQQBAQEBAQQCBAICBAIBBAQEBwoHDAkFAwYDAgcECBkIDBoJCw8GBRQCDgwGAggPBgkGAgwGBAgCBwECAwICAQMBAwkFAwMKBQMDBAIIAgMDAQgG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NCcmJicmNicmJicmJicmJicnJiYnJiYnJiYnJiYnIiYCNgkFEgsBAQoIBQIFBAgIAgYDBgoCAQEBAQEBAgEBAQECAgsEAQECAgEDAgEDAQEBAQMDAQEBAgIBAQgDBgYCAgQCBAgFAgQCBQsFDQkFCAkJBQsFCgsEBwUFDQYECAUGEAcZCBIJCA8IDgYHBAIHAQICBQIDAgEEBgICAgUEAQEBAQgCBgoIDAcFDQoFBgwHBxMGBQ8FDA4HBgYCAgIEBAIBAQMCCQICBgIFAwkJBAgRBQUQAgICAQEEAwQDAwIJBQUIBQUEBgEBBAUDAQUEBgcCAgIBAQcEChAKBAUCCwEBAgIJCgMJBQcIBgULBwQMBQYKBwcEAQECAgEBBAEBAQECBAMEAgIGAwgDAgUHBQsJBAgQCAUGAwUNBQcMBQUIBAgGAwkJBAUOBg4EBQIHAwMCAwMCBQECAgECAgEBAgEBAQEBAQICAQMEAggEAgQCAwcIAgQCAwYCBQMJAQIJCAQQEw0JDQgPDwUCCAIKBAIJAQkGAwQGBAcLCAIGAwYDAwYDAgIBAQECAQMBBAEEAgEBAQEGAgMEAQIGAQINEgsHBAIDBgIIAgIGCgUDBgQCBQQIBAMGAwQIBAULCAIFBAQNBAsECAQCAwUCBgMCBQMCCgYDBQUCAwEBAQIBAQEBAQEBBQgMGgwIDwgGDAYIDQcGDAcHDv7RBwoCBgwFAwcDBAkDCgIHBAEHAgUJBAICAgIEAQIBAQEBAQEBAgEBAQMCAQEBAgEBAQUCAgYCAggDBgoFCgMIDwUKBwgGDAQGCwUMDAYDBAMGBAYFAgUJAwcCAgECAgEBAQECAgEFAgIGAggJBgwEBwMGAQECBQIFCgQHCwIACQYCCQYCAQMEAgIEAgUEAgMCBRQHAwgDBAUCBgwIBQkFDyEQCREIFisRDgkFChMOHxEFCgUFCQUFCwUFCAUTKhUFCgULFAsFBwUFDQUJBAICBQIECAQCBAIEBgUJBAMFCAICBAMEBwIEAgIEAwIBAQICAgEEAgIFBAkFBQYDBgECAgMCCQICBgwIBQoRDg0bDgUIBQsSCwUUBgYEAgUCAQECAQIBAQYDBxEKCQkFBA0EBAgHCAIDBQILBAIFAggDBwYCAgQDAw0FAg4EDBQICgIDAgEBAgIHFQgECgECCAUFCQMCCQUEEAUFCQMKCwkHBgUNBQQNDQ0GAgMDBAoCAgIBAQEBAggBCgoEBgQGCwgLDwQEBwUHDAgOCgYGBAIDCQQHAQEGAwIFAQIBAgEDAQEBAQQCAwQCBAgEBAkFDAMCAgcGBg4HBQYIFwsIEAsIAwUIBQcLCAcHAwsWCwsUChYpFAEHAwsJBAYEAw0KAgQCCAYCAQIGAQEFBgIGBQEFAgMEAgIBAgYCAgYFBwMDBQMGDQQEBwQGCwUKBAILAgIHEQYQEwoFBwUDBwMaEQIHAg4HBQMGAwwHBAYDAggCAgsUCAQDAgIBAgUBAQIHAgICAQIBBAEBAgEBAQMCAgEKAgQCAgMFAgcEAwgDAgkIBQkDBQwGAgoFBAUDAwcDAwcDBgsFCAMBAgIBAQEBAwEBAScBAgECAQMCAgICBwgBAQoCDQ4HAwgEBAYEBQsFChIKEA4ICA4IBwwFBAYFBAkFBAcFBAkFCgkFDAoDCwIGBQQHAQMBBAUDBwMFCQMIDQcDCAQJAggIBAcPBwkJBAoFDBwLBAYFBw8HBQgFBQkFBQ8HDAQIAwcDAQQIBAUFBQQAAAH/xv9gAigClwHkAAADFjYXMhYzFjYXFjYXMhY3MjYzFjYzFjYXFgYHBhYHBhQHFAYVBhYVFAYHFBYVFBYVFAYVBhYVNjY3NjY3NjY3NjY3NjY3Fjc2NjMyNjcWNjMyFjMyFhcWFhcWFhcWMxYWFxYWFxYUFxYWFxYWFxYWBwYGBwYGBxQGFRYGFQYUFQYGBxQGFRYGFRQxFgYXFAYHBhQHBhYXFhYXFhQXFhYXFhcWFhcWFjM2Njc2NicmNicmJicmJgcGBhUGFhcyNhcWBwYGBwYmJyYmJyYmJyYmJzY3FhYXFhYXFhQXFhYXFBYVFAYXBiIVBgYHBgYHBgYHIiYnJgYnJiYHJiInJiYnJiYnJiYnJicmJic0JicmJyY0NSYmJyY2NTYmNTQ3NjY1NSY2NzQmNSY3NCY1NDY3JjU0NicmJicmJicmJicmJicmIicmJiMmBgcGBgcGBgcGBgcGBgcGFgcUBgcGBhcWFhcWFhcWFhcUFxYXFhYXFhYXFhYHFCYjIgYnIiYjIgYHBgYjBiYjBjQjBgYnNjY3Njc2Njc2Njc2Njc2Njc2Njc2JjU0Nic0JjU0NjcmNzQmNzY2NyYmJyY0JyYnJjYnJiYnNiYnNDQnJiYnJiY1JiYnJgYnJiYnJiYnJicmJiMmBicmJjYGCwUEBgUIDQgGBwYIFgkKBgMKBwUNDQUBBQICAQEDAQIBAQIBAgICAQEFBQMDBwIICwUFCgUFCQMHCgYIBwoIBQYOAwIHBQYOBwYNCAsHBQcDBQMCAgQCAgICAwIBAQECAwEBAgECAQICAQEBAgEBAgEDAgEBAQEBAQEBAgECAQEBBgICCwsCBgMCCwUHDQUKDAIEAQEGBQIGDwcDAwILCAcJBgMGAgICBxIGBQUCAgECAgMBBRQIDgcPEAUCAgICAQICAQQDBAkEAgQDBQgKBAYFBAcEBAYDBwQBAwYDBgQCAwUCDAQCBQQJAgEGAgEBAQEBAQIDAQEBBQEBAwMDAQIDAQIBBQIDBAICBgQDBwQFDAcQBwUPIQsEBwQDBQQDDQUECAQGAQECAQUBAgEDAQIDAgEBAQEBBQEBAQMGAgUKAwsEBAYFCBYLBw8HCBMMCA8ICwEIDggJDwYEBwgBAgoRCAgDAgMDAQMCAQgEAgEBAwEBAgEBAQMBAQIBAgIBAgIDAgIDAgEBAQEBBAMCAwULBQcCAgUGBgIGBAUOAwcCBQgFAgQClwICAQQCAgIBAQEDAgIBAwECBQsUCwkFBQYGAwQFAgQGAwMGAgMHBQgWCwoUCwsXDAEJAwMGBQQLBQIGAgIDBQEDAgQEAQEDAQEBAgYCBwMBCAYCAgIEAwMOCAcMBQcMCAoTDAUMBgkUCwsCAgwGBQYNBxQaDgMFAwkJAwsCDwUIDwkLFgwLGAwDBgMDBwIJBAINBQEDAgIEAQcEBw4SDQYCBwcDBQYFBQMCCxIEBwIGBgMFAgUDAgIEBAMGBAIHAyAOAQEBBgUGAgYEBgsJAwYDBQ0ICgEIBgMCBQIFBgECAQEBAQECAQIBAQUCAwECAgYCBgYDCAIHCAcIDQUGBgYRCAsUCwYLBRoeBxIHCw4LBwUNBxESBAcEBQsFFQ4JDwgIDwgOCwcCBAICBAECAgQCAQIFAgYDAwcCCw8JBxAHDQkFAgcEFC8ZCA4IDiEPBAgDCwQIBwQIAwgNBQgHBQUCAQEDAgICBgECAQEBAgMOBAQBBQMCAQUFBwcCAgYBAggCAhAyEwsVCQMGAwMIBQcGAwYCBQkFBwYFCA8KExwaMxkNGAsGBgMFBwUGEAcDBQQEBgMHAQEDBQIBAgICBAECAgECAgsA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AgIHBAcCBQMHDQYFCAoHAgcCAgECBQ0FDAcDBAUCDQoDAQYGAQgHAwMEBQQGBQoPCAQMAwICBwUEBwQLAQkEAgoGBQYFBAQFBwoFBQkDBg0FAwcCAgIBAQECAQMBAQEBAw0FAgIDBwsFBQcFDw8GBQsFAwcEDyINCA8ICRIMBAYDCBEIDwsGBQUEAwYBAgECAQMDAQIBAgMWCAMHAgIFBQ0DBAsFBQoFBgkFBQsFCQgkBwYDAwsFBQkDCBUEAwIBBAEECQcGDQUEDwYKDAUBBAIB+RUhEQwGCwYCAwgNCQIEBAECBQIDBwUDCgQLEwMNDwcIAgEDBwMDBwMLDwQDCAIXJxAFCgUFCAQEBwUIEwkEAwIBBQEBAgECAgEBAQIFBRUiEgIHAgwKBQILAggIBQgQBQkEBwMGCQFiCRAIBBkGBAkFCAEHCQIEAQEBAgEBAQECBQQBAQEBAQQCAQ4CBQUFCAYOBAUHAwwGAgUKBw0IBg0FDgkFDQgFAggQBgkSCA0MBQYKBQsKBwUDDwYLBQoIAwcKCAkSCAUGBQMGAwsLBgkLBAMFAgoIBwQHBgMEBgQMCAQOBQQJAwUDBgECBwECBQICAgEBAQQFAgIBBAEBAQICAQEBAQIBAQEBAQECAgEBAwEGDAICAwYEAQQHAQECBgIFAwIDAgUCBQIGAwYNCAsBAgcKBQsFAgULBQwJBQYDAgMBAwEBAQEBAQECAgMBAgEBAwEJFQwDBgQFBwUJCQ0KBQgRBwQLBAQGBAYBAgMKBQIBBQYCAQIDAQMBAgEBAwECAgEBAgMBAQIJAQIIAQgJBQMGAwICAgIECgQICgUJAQIKBQ0PCAwCAgoZCwUKCAwFBQMHBAwDBQMFCAUMCAYEDAgFEggDAwUFCAUFCAUHBgMHCQQJBQoFAggQCAUIBAUHBQQHBAMIFRAMBg0EBQMDAgUDAwEBAQIHAgUHBwIBCAcCCxINBAgEBA4FAwUJBgMGBgQEAgICBAYCBAICBgIQDgUHAwECAwIGAgIKCgkBBQICAgECAQIBAREFCA4KEQMDBgQDCAMJBQMCBgIEAQECAgEIAgUEAwcOCAcOBwgTDAsQCQQIBQQIAwULBQIFAwUDAgIFAgIEAQEBAgEBAQECAwEBAQQEBAcDAwUCAwkEBQcEBQYFBQcFCBEGAgYBAQIDAQEDAgEBAQIIAwUFGQQGAQIBAQIBAg4FCAECBwkGBQoCAgcEAgQKBgkPCQABAB7+8wKEAwgC7AAABRY2FxYWFxYWFxcWFhcUFgcGBgcGBgcGIgcGBgcGBgcGIicmJicmIicmJicmJicmNjMyFhcWFhcWFx4CMjc2Njc2Njc2JjU2JicmJicmJicmJicmBgciByIHBgYnNDY3NjY1NjY3NjY3NDY1JiYnJiInJiYnJiYnJiYnJiYnJiYnJiYnJiYnJiYnJiYnJiYnJiYnJjQnJjQ1JiYnJiYnJjQnJjQ1JiY3NDQ3NDY1NiY1NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzY2NzY3NjY1Njc2NDc2Njc2Njc2NzYWNzY2NzY2NzY2NzY2NzI2FzY2NzY2NzI2MzIWFxY2MzIXFhY3FhcWNhcWMhcWNhcWFhcWFxYWFxYWFxYWMzI2NzY2NzY3NjY3NjY3NjQ3NjQ3NhQHBgYHFBYHFAYHBgYHBgYHBhYHBgYVBgcGFhUGBgcGFgcGBgcGFgcGMQYHBgYHBgYHBgYjBhQjBgYHBgYjBiciJicmJicmMSYmJyYmJyYmJyYmJyYmJyY3NDY3NjQ3NjY3NjY3Njc2Njc2NhcWFhcWBgcGBgcGIgcGBicmJyYmNzYWFxYWFxYWFxYWNzY2NzY2NTY0JyYmJyYnJgYHBgYHBgcGBhUWIhcUFhcWFxYWFxYWNzc2Njc2Njc2Njc2Njc2NzY2NzY2NzYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmJyYmIwYmIyYGBwYHBgYHBgYHBgYHBgYjBgYHBgYHBgYHBgYHBgYHBhYHBgYVFBYVFAYHBgYXFBQXFgYVFhYXFhQXFBYHBhQVFAYVFhYHBgYVFgYVFBcWFhcWFhcWFxYWFxYWFxYUFxYWFxYWFxYyFxYWFxYXFhYXFxYWFxYWNzY2NzY2NxY2NzYyNzY2NzY2NzYWNzY3NjY3NjY3NzY2NzYWNzY2NzY2Nzc2Njc2FhcWFxYGBwYGBwYGBwYGBwcGBgcGBgcGBgcGIgcGBgcGIgcGBgcGBgFODBgLCQ8HBgICBgICBAIEAQQBAgYCAwgFBA4GDAgFBiAIChoFDAYCBwgFBQICCQsGAwwECgUCBwgEERIRBAMGBAMWAgIBAwICBQICBwsFBgIICQcECgQICgQEBAUBBAEBBQEBAwEGBAcEBQgFBAYECA4HCgoIDg8ICA0FCwEBCAICDAYDBQUCAgMBAgMCAgEDBAIBAwIBAQEBAgECAQIBAQECAgEDBQMCBwIDAgEBAgICAwIDAwECAQEFAQUCAwMFAQMIAwkUCAgHBwECCg4IBQoEAwYCAwUDBwkFCRQKBAsHBQcFBg4HDQcEBwoMBQEHBAMHAwcCAggDAQIDAgYDCQUCBAcDCgkEBQYFAwoFBQQCAgICBQICAgUDBwEBBAEBAQIBAgIBAgIBAQEBBgEGAwMBAQIBBQEBAQICAQEBCAUFAwUFBAkEBwYCCgEKBwQFEQYKCwMFBAIHAwoOBAUCBQECAQIEAQICAgEFAgMCBQEFCAQHBwMGCQYOCAsfDgQDAQEBAwIFBAIIBBAXDQQCAQEDBQQCAgUDAgMCBAUIBAQCAgIBAgMGAgUHDR0GBAQEBQQBAgECAQMCBQgDAwUJEg8RBAcFCQMCBAYDBQoFBQMCAgECAgIDBAMBAwIDCwYFCwUCBQICBgMPDQYFCQUNCQQRHA4DBwMKCAUFCAUGCBIRCgUJBAMHAwMFBQIHBAIFAgIDAgQHBAQHBAEDAQMBAQEBAQIBAgMBAgMBAQECAQECAQMBAwEBAgUCAQECBAIBBAIBAgEDAgICCAIBCwECBgMBAgUCBQUEBgUKAwkFBwYHCAsHCw0DCQYFBAgEBAgFEA8JCAICDQcFBgQECQQSAgMDBwIBAwYCBQUCBgIBAwQFAwoDAgkEAwYEBw0GBgYEFQcLBQcOCAoKBQsIBAUFAwQHBAUNBwgQaAEDAwMEBQcBBAwECQMKGA4DCQMDCQQJBQQEAwUBAQEBAQgCBgEFCAUGAQIKDwMCBAQCBQICAwMBAgMBBAkFBwMCDgkFCwYCAQIBAQECAgIBAQIBAQIHBQgLAQICBgIFCgMDBgQCBAEBAQICAgMGAgQFBQoQBwcLBwQCAQIDAggHBAcOBQIFAwULBQQFAw4HAgsDAgsCAgQIBAUHBBAZEQgPBgMFAwgMBA4JBgQKFAsIFAsJBgQDCwUFBwUIBQIDCAMMAwoBAgkDBwICBQ0ICAwJAQYFAQEIBwQCBQMCBQICBgIFAwYFBQIBAQIBAQEDAgICBAcCAgEBBQEFAQECBgIEAwoCAgUEAgcJBwILEwsKBAcFBAsGBAUHAwQFAQINBQ4PDAYNBQULBQscCw0GAwQHBAwFAhIW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BwYGBwYGBwYjDgMBBg0XCwoPBgYCAgYCAgUCBQEEAQIGAgMIBAQPBg8JBx8ICxkFCAMLAQIFBwUGAgIJCwcDCwQKBQIICAQQEhEEAwYFAxUCAgEDAgIFAgIGCwYGAggIBwQLBAMLAwQEBAUBBAEBBAEBAwEGFhMLCwMCBgICBgMKBgYJAQICAwICAgIEAQUEAgMCAQIBAwEBAQMBAQMBAQIBBQUBAwYHAgICBgQKFgkDBgQMBwQFCAUEBwQKEwgFDAcNHgoKDgkCCQQCDA0FCgQCDRAFAgUDBwIBBQQBAwECAgIIAwIFAwQCAQMDAgUMBwUBAwIBAQYEAgUDAgIFBAICAgIDAQEBAQIDAgIFBgIVFw0OCBUICwgGAwIFAwULBQIGAgcBBgQCAQIIBgQDBgICAgIFAgICAgMFAQEGAwMDBgICAgIFAwQCAgkDCAgNBQ4IBwwHCAwHBg4GCgYEBAUEBAcEBwoHAggEBQIFBgIFBQICBgIGAgIDBAECBQoGBwMBAwUDFA4LAwIECAUECAQECgMKCQUhAQMDAgQFBwEEDQQIAwoYDgMJAwQJAwkFBAQDBwEBAQEJAgQEAQECCAQGAQILDwMCBAQCBQICBAMBAgMBBQkFBwICDwkFCwUCAQIBAQECAwMBAQEBAQECCAUICwEBAgYCBQsDBAYDAwMECAMCAQICBgMMBwsMBwQCBgQDBwMJAQwIBQkDAwYDAwYDBAYECAICAwUDAgcDFRkMEB0LDgsFAwoFFhYPAgQDCAUCAgICAgMBAwECAgYBAgYDBAYDBAUDAgQGAwcBAQISBwQJBAkEAg0CAQgCAwcCCgMNGw4PDQYKEQgVJxQLCgcEAgoDCAUJCwUIEAkFBQYJBQMDBwMDBgMDCAQIBwULBgQBAgIEBgUDAgIEAgYLBwMHAw0CDAgEBwUQFgwJEgsXFwYNBwcOBwgFBwMCCgwFBQcCBgIDBQMLBQcDBQIEAQEBAQEBAQEBBAECAgICAgMDBhAFBwwFCgIIBQsCCAMIBQQLBAYGBwUCBw0ICQEBAgYCCgMCAgEBAQECAQEBBQsMDAAA//8AJAAEAa4C2QImAFsAAAAGAKBc9wAA//8AJAAEAa4C2QImAFsAAAAGAFZS9wAA//8AJAAEAbEC0gImAFsAAAAGAOJS9wAA//8AJAAEAa4CsAImAFsAAAAGAKFc7QAA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AwIDBQQCBwIBAQEDBgIJHhAaDwkEAgcDAgMCBAEDAgIBAQQCAgIFAQICBAEGCAQEBgMHDggKEQsIAgcBBwIHAgMDAQMDAQEBAQEBAQQBAQkKAgIFBQUDBQcCCgUCBwEBBAoEBQIEAgEEAwMBBAIEAgEBAQMBAQIBBgIDBQIEAgoHAgIKAQMLBAUIBAYLBgkPCQkRBQUIBAkHBAQIBQUEAwQLBAkGAQkIAgQBAgIEAwQBBwcCBQEBAQMCAgECAQFrAgwDDAICCAUDCAEBBwUBAQEDAQIGAgUBCAcGAgYCAwMDDBcLDQECAQIFAgINAQICAQIDBAQCBwIHBQQFCwIFBQI6BgQCCwQCBwMFCgUGDggODQgKBgIEBwIFCAIBAgIFBgECAgQCBQsIBQ4IAwkECBENBw4ECQQJAgICAwIDAgEIAgIEAgIIAgYBAQUCAQMGAgkCBg0GBAYECAIJBAcFBQkGAwUDBhEIBAgGBgsPBw0CAwUCCAEIAQIDAgICBQQEAgIGAgQGDAcDAwUDBQQCCAgJBgMFCgQJDgUFDAUHAwIJCQUDBQIDBAQFAwIBAwMCAwQBBAECAQIDAQMEAgkIAggDAgYHAQ4KBQUFAgMJBQUIBQUIBQcRBgwDAwYDBQcECAMCBw4MAgcCAgoDCBEJCA8JBQgECBEICw0GBQkHBwILBwoHDAwGAwYEBgsFCQMGCQUEBwUKBgQEBgQHDAcKGAsIAgEJBAkCAwkFAwYGCwcFAwkDBQYFCgQCDggHAgMFAgYCAgQFCAQDBgMBBQcGCQEHAQIKCQQGCAUIBwsEBAkHBQsBAQMJAwQFBAwHBAIFAggHAgcBAQMFAwMBAgICAQEFBQIFCAUDBwICCQUECAQJCAEGCAUPDwgFDQYLBAIMEggMDAcFCAQECAUDBv7QAggFAQIHBgIJAQwGBAIHBAsLBQYIBQgGBQ0GBAgCAwQCCxULBQQDBwIGBAsKCgIKBgsFCg4IBQwECgkDBwoHAggAAQASAPgAvwGhAD8AABMWFhcWFBcWBhUUBgcGFAcGFAcGBgcGBicmJicmIicmJicmJicmJjc2Njc2MzY2NzYzNjY3NjY3NhcWMhcXFhanAw8DAQEBAQEFBQEIAQkGBgoeEgoEAwYFAQMGBAYHBAQJBAEGAwcBAwQEBwMKBQMECgYGDgkHBAwJBAGLCwoIAgcDBgwI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JyYmJyYnJicnJiYnJicmJicmNCcmJyYnJjQnJjY1NjY3NjY3NjY3NjY3NjY3NjY3NjY3NzY2NzY0NzY0NzY2NzY2NzY3NjI3NjY3Njc2Njc2Njc2NzYzNjYzNhY3Njc2MjM2MjMyFzI2FzIWFxYWFxYWByYjJiYjJiYjIgYHBiYHBgcGBwYiBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYGBwYHBhUGBgcGBgcGBgcGFAcGFgcGBwYGFxYWFxYUFxQWFRYWFxYWFRYXFhUWNRYWFxYWFxYWFxYWMxYWFxYWFxcWFxYXFhYXFhYXFjYXMhYzNjYjNhY3NjY3NjY3NjYzNjc2Njc2Fjc2Njc2NzY2NzY2NzY3NzY2NzY1NjY3NjY3NTY2NTQ2NTY2NTQmNTQ2NSY0JyYmNyYmJyYxJjQnJiYnJiYnJiYnJiY1JiYnJjUmJycmJicmJicmJhcXFAYHBgYHBhQHBgYHBhQHBjEGFAcGJicmJicmJicmJicmIicmJyYmJyYmJyYmJwYmBwYHBjEGBgcGBgcGBgcGBwYUBwYUBwcGBgcGBxYGFRYWBxUWFhcWFhcWFhcWFhcWFhcWFjMWNjcWNzI2NzY2NzY3Njc2Njc2Njc2JjM2Njc2NjU2NjU2FhcWFgcGBgcGBwYGBwYGBwYGBwYiBwYxBgYHBgYHBgYHBiIHBgYnJiYnJiMmJyYmJycmJyYmJyYnJiYnJiYnJjc2NTY2NSY2NTY2NzY1Njc2MTY2NzY0NzY2NzYxNjYzJjY3Njc2Jj8CNjY3NzYzFhcWFhcWFhcWNjc2Njc2NjcB2AMIBAkJBgkLBgkFAgIFAgcFBAMCAgICAgIDAgUBAQMDAgQDAgIFBgIDAgMFBAICBAIGAQEEAwIHAQIDAwYBAQYBAgIHAgYBAgcCCQgGBQoECBAIDQcFBQgFCgwCBQoFBAgEBAkFCgUOEAoGBAUGAwwMBgQHBQMHAwIEAgQIBwIBCgQCCQYDBgECBQYHAggIBgMEAQUEAgECAgEDAQEBAwIBBAIBAwIEAQICAwIDCQEHAgICAwIICAICBgEHAgQDAgYKCAcBCgIBCgMCBggDBQMJEwsKBAoCBAcDBgwGCA0MCwYFCgMGCQgOBwQIBQkDAgMFJgoHAgUEBQwGBQoHChMIEAYLBwcHAwUHBA4GAwUHBQIHAgUFAgUCAgIHAgcDAgcEAgYBBwcCAgIEAwICAgUBBQEBAwIDAgMBBAICAQIEAQIBAwcDBQgGAgIFBQQFBAIHAgICCQIFBQQJDQYGBAYNBQcFAw4IBQUJBQsBAQYEAwUHBQUJBQwBAQsFAwYCCQQBBQsECAEMCQUFBwQGBAcEAgIEAgECAgMBAQEBAQECAQICAQIBBQICBwECBgQEBQECAgQCBAEDBAIGBwIJAwMCBwIBAwcaAwICAgICAQECAgIBAQQCBAYBAgEEAgQBAgIFAgcCAgcBAwQCCQQCCgkDAggEBwQHAgQCAgUCAQEBAgMGAQUBBAQCAgECAQEBAQEBAQICBQQIAwICBgIJAgQFBwIEBgMLAQQGAwYIBQkBAwUKBQIHAgIHAQEEAwIFAgYDCAcCAgECCQoGBQMDBQQDBAMIBQMGAgEJBAgEAwUDAggECQMDCBMHBQgGCQMGBQQGAg4GBAYCAQYFAQMBAgMBAgIBAQIBAgEBAQQCAQMEAQIHAQQCAQYEAQQBAgEHAgcBARAQBQMDDgkIEAUHDAYGAgIFGgQGBwIEBQUC2AUGBQgMCw0OBwwJBAMEAwwJBQYEAgUHBQUHBAsBCQgFCwQCDAIXKRQFCwYKAgsOAwMNBAoBAQQFAggEAwUCBwEIBAQDBQQEAgYBBwcDAwUFAgcCBQECAQIBAwEBAQIBAgEBAgECAwMFAgIDAgcFBAIEAgICAgQCAgIGBQEJAgIHCAMDAgIHBgsGCQsLBQgCBwoFAwYDBwUGBQIHAwwJBhIdDggPBgkGBAcNBQgNCAgEAgIEAwkLBAIIAgEFAgEBBQIGCgUHAQYBBwQBAgICAgIEBwICAQIBAgEBAgEEAgEDAwEEAQMEAgICFQQBAgEBAgEBAQICAQIBBAIBAgEFAgEDBwEEBAIDBgIEBAIDBQMJBAIKCQQKAQkDCAgFBAYEBAkECQUCCQIBCQINIQwFCQUHDAYECAIOBgMDCAIMBgoCCQEGBQIGBwIEBQEIAwQFAwQGAgcHAgMCAgUDAwIBBQEBAgEBAQECAgICAgUCBAIDBAIBAggBAgQFBAcBCggFBAsFCAkJDAcECwIEBwUFCgURAwUDBwoFBgsFBQkFBQsFAwcDAwcEBQ8HDAMIBA0LBQkEAgMIAgcCAQQEAgoBCAMJAgUCBQECAgI9EAUKBQYOCAIHAwUMBQUIBQsDBwEDBwQD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BAEBAQUEBAsFAAAAAAL/rf/VA4cDCwNXA6YAAAEWBgcGBwYHBgYVBhUHBgYHBhUWBhUGFhUGFAcGFgcUBwYHBgYHBjEGJicmJicmJjU0NjU0NCcmJicmJicmJyYmJyYmByYmJwYiJyYGIwYGBwYiByIGIyYGBwYmBwYGBwYHBgYHBhYXFQYGFRQGFRYGFRYGFRUGBhUUFhcUBhcWFhc2Njc2MjcyNjc2NjM2Fjc2Njc2MTY2JyYmJyYmJyYiJyYmBwYGBwYGBwYUFxY2NzY0NxYGBwYGBwYHBiYHBicmJicmNSY2NzY3NjY3NjY3NjY3NjI3NjYzNhYzNhYXFhYXFhYXFhQXFxYWFxYGBwYGBwYGBwYGBwYGIxY2MxYWMxYXFjIXFhcWFwYWFRQHFBQHFgcGBgcGBgcGBgcGIgciBiMiJicmJicmIyYmJyYmNTQ3NjY3NjIzNhcWFwYmJyImBwYHFhYXFhYXFhY3NjY3NjY3NjY1JicmJicmBicmJicmJicGIicmJiMmJiMmIgciBiMGBgcGFhUGFhUWBhUWFBcWFgcWFxYWFxY2FxYWFxYyFxYyMzI2MzI2NxY2MzY2NzY2NzY2NzY2NzY2Nzc2Njc2NjU2NDc2NzY2MzIWFQYGFRQGBwYGFRQWFRQXBhYXFgYXFhYVFgYXFhYVBiYjJiYnJiYnJicmJiciIiciBgciJiMGBiMmJgcGBgciIyImIwYGIyImIyIGByMiBwYiIwYGJzY2NzY2MzY2NzY2NzY1JiY1NDYnJjQnNCYnJjY1JiYnNCY1JjYnJgYHJhQjIiYjBiYjBgcmIgcGBwYGBwYUBwYGBwYiBwcGFAcGBgcGBgcGBwYXFhYXFhYXFhYXFhYXFhYHBiYHIgYHBgYjIiYjIgYnIiYjIgYjBiYnIgciJiMiBgciJgcGBicmNjc2Njc2Njc2Njc2NzY2NzY2Nzc2Mjc2NzYxNjc2Njc2Njc3Njc2Njc2Njc2NzY2NzY0NzY2NzYmNzY2NzY3Njc2NzY2NzY0MzY3NjY3NjY3NjY3NjY3NjY3NjY3Njc2NzY2NzY3NiYnJiYnJiYjJhYXFhYXFjIXFhYzNhYXFjYzFjYzMjYXMhYXMjYXMhYzNxY2MxYWNzYWMzY2NzMyNjM2FjM2NjcWNjM2Njc2Mjc2Njc2Mjc2NjcFBhQHBgYHBgYHBhYHBgYHBgYHBgYHBgYHBgYHBgYHBgcGBgcGBgcGBgcGBgcWNjcWNjcyNzYWNzY0JzQ0JyY0NTQ0NzY2NzQ2JzY0NQYGA38IAgECAQEFAQIBBwMDAQIBAgEBAQIEAQICBAEDAQIEDQEBBAIBAQMBAQIFAwQNCAcFBQYFBQ4FCB0ODAsFCAIBCQcFBQkHBQYGCQcCAgYEChAIBgICAgEDAgEBAgEBAgEBAQICAQEBAQQBECgVCA4HBgwFDQQDCRAFCAECBQoEAQEIBgMGBAMJBQgPCwoGBwQGAgICChYGAwYHAQEBAgIEDgUPCAYGCAYEBwEFAwUCBgICBAsGBAcCCAMCAgYEBAcECA0IAwUDBQYCBwIHCAkCAgQFAgICAwwCCQICDwsICgIBCAEBCwgHAgEGAgsFAwMEAQECAgQEBQcFDgcFBAgFBAcEBQsHAgYDBwUIBAIIBAUCAwMPCQcSCggBCQkFBQkDCQQBCAQECAQLFQwFDgMCAQICAwMBAgQEBwcEDgcEBQYEBAkECgMCCAcBBRIKBAgFCRQKAQQBAgEDAQEBAgECEAoJBAQIBQcMBwMHAgwUDAYMBQkGBA8MBw4WCgQEAwcEAwYDAQIBAgYCAgIFAgECCAECAQYFAQEDAgQCBAECAQUCAQEBAQICAgIBAg0CBAcMBQUHBAsBAwoGBxMHCBEICxQLChMKDhkNBQkECwUCBgQEBwQFBwQJEQgMDQgCBwMFCgUDBAIFAwIBBAIEBQIDAQQCAgIBAgECAgECAQIBAQEPIBEIAwQHBAgCAgUICQwFGhgFBgQFAQYCAgQBAQwEAgsLBQQCAgUBAQICBQIDCAMJEwsKDwUGCwEHDQYJFAoFCQUDBwUDBgIDBgIDBwMLEgoGCAwWCwgSCAwTCgsGBAEGAwwHBQMHAwYLBgoNAgUDAgQDDAYCAgoIBQYECQYDBAMCCQQGBQIBAgQDBgECAgMHAQUDAQQBAgIKAwcDBQENDwECAgMDAQkFAQICAwEFBQUGBQICBgMFBgIFBQMEBgEDAgUCBgUGAgQLCAsGEgUOGwsFDAYEBwMMBgILGAsJBgIFCAUFCwcDBQQEBQUUCgUDExYKBwkFBQkFDQkGAwMFAwUJBQcJBAUKBQUIBQoTCQQGBAgJBf4nBAEIAQEFBAIHAQICBAIEBgcCCgIEBQIEAwEIAgIDAwUCAQcBAQYGBAQHAggTBwkVCiYSCQ8HAgEBAgEBAgEBAQIDBQMLBgsGBQcOEQIGAwQHEAoEAgoGBwcDBQsFBQkFDA0GBQgPAQ0IBQ0EBQQIGg4IDgcDBwMECAQOHA4FBAMCAwIDAgEBAQMBAQEBAQICAQICAQEBAgECAgEFBAUGBwURCwwJBRcHDAgLCAQEDgULCwgQCgcDAwYDBQgECBAIBAECAQEDAgECAgEFCwMCCw8UCwYIBQQIAwEBAQMCAQUJBgwJCAoHAgIFBA4BAQ0EBgsDBgcCAQICBAYCAw8BCA8HCAQJAwIECQMDAgIHAQECAQEBAQMCAgICAwMEAgIJDxILCxELBQkEBwsJBgIBBQUHAQMCBQYHAQYCCQIFDAUGCgQIBQUICgsIAwgECAUBAQECBQIBAQIDCAMDDAYFCQ0GCgIEAgkEBAkBAQEBBA0FAgICAQIDCAUCDQYDCAMFCQIRAgUFBAUBAgYBAQECAQEBAQICAQEBAQEBAwsTCw0GBAUKBREmDAkXDBIFAgQBAQEBAgMCAQEBAQQBAQEBBwMECQUREAcLBQIFCQUSBwwGCQEBBgcEDgMFDw0FBw0JDSQOBhUKBQcECQgJDQcJBgMJCwYLFwoGCQUGBgMKBQQFAggBAgcBAQIBAgEBAQMBAQEBAgEDAQQBAgECBAMJBgIDBQUHBAYLCAoLEg8IBw8GBRAGBQwGCgMCDQwIAgYEBw4HAgMCAgMDAgIBAgEBAgQKEgoJBQILBQIJARgJBQIPEQkHBAMIDQYHBQwFBQgFAgoEBAECAgUIBQEBAQEBAwMCAQICAQYBAgMCAQECAQMEBQYDCAUCAgMCBAgFCgUCBAMCBAIHBwIHDAsHBg4JBQcDAw8KCgwBAgMGBAkBBAcFCgECCQMCCQkEBAcFBwYIAxwdAgYEBAYPDgYGAwMFAggNCAsMBQULBgkIBAkNDQYIBgILBxAYDAgGAwgHDwIBAgMCAQIBAgECAQIBAQEBAQMBAQECAQECAQEBAQEBAQEDAQEBAwEBAgEDAQEBAgYCAgIEAQKeBwIBCgMBBgUEBwMCAwUDBg0FCgsJAwgDCAICCgUECgQKAQILAgIMDQcHDggBAQEBAgEFAgQCDhsOBQsFEiQTCBEICA0IBBcBBw4HAgcAAAAABAAe/6oC1QM7AKcBEAGnAxcAAAEGBwYGBwYGBwYGBwYGBwYGBwYGBwcGBgcGBgcHBgYHBgYHBgYHBwYUBwYGBwYGBwYGBxYXFhYXFhYXFhcWFhcWFhcWNjcWNjc2Njc2Njc2Fjc2Njc2NDM2NzY2NzY3NjY3NjY3NjQ3NjQ3NjY3NjY3NiY3NjQ3NjY3NjQ1NjY3NiY3NjY3NiY1NiYnJjYnJjQnJjY1JjQnJiYnJjYnJiYnJicmJicmJwc2Njc2Njc0NicmJicmJyYGBwYUBwYGFxYWFwYGJiYnJiYnJjY3NjY3NjY3NjY3FhYXFjIXFjMWFhc2NjcmIyYGBwcGBgcGBgcGBgcGBgcGBgcGFhcWFhcWFhUWFhcWFhc2Njc2Njc2NwM2Njc2Njc2Njc2Njc2Njc2Njc2Njc2Njc2NjcGBiMiJicmJicmNCcmJicmJicmJjU0NjU0JjUmNzY2NzY2NzY2NzY2NzYyNyYmJyYmBwYiBwYHBgYHBiMGJgcGBgcHBhYHBgYHBgYHBgYHBgcGBhUUBgcGBgcGBhcUFhcWFBcWFhcWFhcWFhcWMhUWFhcWFhcWFhcWFhcHBiciBgcGIgciBic2Njc2Njc2Njc2Njc2Njc2NyYmJyYnJicmJyYnJiYnJiYnJiYnJiYnJiYnJiYnJiYnJicmNCcmJicmNicmJjUmJicmJjc0NDc2Jjc2NDc2Njc0NjU2NDc2Njc2NTYmNzY3Njc2Njc3NjE2NzY0NzY1NjY3NjY3NjU2Njc2NzI2NzY2NzY0MzY3NjY3NjY3FjYzMhYzMjYzNjIXFjYXFhYXFhYXFhcWFhcWNhcWNhcWFzY2NzY2NzYzNjY3NjY3NjY3NjY3NhY3NjIzNjYXFgYHBgcGBgcGBgcGBgcGBgcGBgcGBgcWFxYWFxYWFxYWFxQWFxYWFxYWFxYWFxYWFxYXFhcWBgcUFAcHFBQHBgYHBhYHBgYHBhYHBgYHBgcGBwYGBwYUBwYGBwYGBwYHBgYjBgYHBgYHBgYHBwYGBwYGBwYiBwYGIyYmJyYmJyYiJyYmJyY2IycmJicmJiMGBgcGBgcGBgIfBwEEBwMFCAQFCAUECAQDBwMDBAQMBAYFBAcFCwUFAgkHBwMHAwYCAgMGAwcCAgcDAg0BCQUEBwYCBgQCCAICBgMMDQkIBAQFEAUMCgUIAwEICAMIAQ0CBAUDCAIJBgMGAgIHAQUBBAEBAgQCBgEBBgIDAgEBAQEBAQEBAQIBAQEBBAEBAgIGAgMBBQIIBgUGAQEGAgEGBAIFAg8KdgIDAgQFAgEBAQYCBwcICwYMAQICBAIMBAIJCQcBBQIBBQEEAgICCQICBQsHBQkFDAYCCAIEAwIGCQUQDQ4hDw8DBgQFCAMFCgUDBgMFAwIBAQIBBQIGAgUIBQQGBBMIBwQIBAsCsQcOCA0aCwIBAgICAgMFAgUIAgIGAwIDAgUMBgkOCAoTBQcHBQUBBgMCBQMBAQICAgIDBgEBBAMBERwQCA8IChIKAgkFCA4KECEOBgcLFgwGBAcCAQMFAwkIAQEFCgQKCAMFBgURBwEBAgECAQEBAwEEAgMBAgMCAgECAwsDBQIIBwMGCAUGBwIFCwUXCQcFBgUCGQIFDAQFCAMCBAICBQMCBwIDBAUFAgUKBQQIDAMEBgYFBQUDAgUCBAYFCAECAgMCBAICAgUCAgMCAgICAQIBAgMDAwEBAgMCAQYCAwMBAQIBAgEBAQIBAgMBAQUBAgMCAwIFBQIGBgEHCAEBBQkHCQkJBQcDBQYEBgQCCgIJBQkSCwkPBwUHBQQHBAMHAwUOBQoHBAsLBQUKBQgEBAYEBgICCgQCDgcCBQMHAQIEAQQCAQMCAQUDAQIBBAMGBQcbBgYRAwECAQIEBwwHBgQCAwcDAgECAgICAgYCDgMKBwQGDQcJCgUJAgcCAgIGAwIEAgMJAwMDAgECAQECAwEBAwIBAQEBAgEBAQECBwMICgYHCggEBgEFAgIDBgMECAcBAQ4LBQMGBAoCAQoKCwYDCAULCgUIGQ8PDQYEBwUDBwMIDQgKAQIMBgICCQEBBwQDAwgEBwkCYxEDBgwFCREKCBEJChEKCA4IBgwHGAkSCAgPCBYNCQQPEwkFEAYLAwcEBg0HDAgEDAsFCwIEBgIFBAIEAgIBAQIBAQUBAQIBAQEFAgMEAgYCAgMFAgUDBgICBgIGAgoEAgsEAwoCAQYDAgUIBQYNBQgFAg0KBQsFAgMJBAMHAwgQCAUHBA0MAgoMBwgPCA8KBgUEAgsHAxALBwoCAgkBAQoGAggBDQ5rBAYECAgFBQkFBAkDDAICBQIFAwIECgUFDAUKAQEEAQcCAQgOCQUKAwsDAgUFAgIEAgYBBgUCAhIXCgkCAgIDAQICAQEBAgcDAgECBQgICg0ICx0ICQMCAwsDAgYBAwQDAgQDBwH+lQ8cDhYrFwMH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AQEBAQIBAgMBAQEEAgIEAQQDAgQFAwIFAgQDAQUHBQUIBQQGAwUCAQgICQQFCAUFBgQCBwMWEAgHDQYEBwMLESEMCQYCBAYGCwUOAgQIAQcIAQEBAQICAQEBAwICAQIDBgMCBAUCBQUCBwICDwQGBAkFAgYGAgUDAg0DDgQEBwMHDQcECAQbBAcEAgkECQEBCQYFCxEBCAIDAQUDAgkNBg0HBAkHBwoGBwMCCwgLBgMIAwkBBAMEAQEBAQEFAwIEAwYCAwcEDAgFAgoGDQcFBgQHCgUFAgIEAgEBAQUGAgwCBAMCCAYFBwUECQIHAgUOBQIIAwsEAgUJDRUIBQcEAwICAwEBAwMDAQMDAgIGAwkFAgUICQ4YDgUJBQIJBAICBQICAgEBAgIDAQECAQUDAwIFAgUIBAYRCAMIBAYDCgIDCgELChkLBQoGDgcMCQUGDAYDCAMGBQICAgIHAgMEAwEDAQEBAQEBAQMBAwkCBQoEBgcIAgECBAQGEwkPBgQLAQIEBwQEBQUFCAQECAMIAQcECQYECgECAwcDAwYCAgMCAgMCAkYCCgIFCQUFCgUFCwIJAgIGCQIHBwQCBAIDAQIBAgEBAQQCAQIBAQMGBQMBCAICAQICAgMDBAIGAwYGAgsNBwsBDAEFCgYJAQINBwQFCQUVDh0MAwIMDQcNGQoJFAkHDAgLBgIFCwUGDQYIEAcNBQUOAgIGAgQHAgkDAgcECgIEAgIIAwEEBAIDBQMEBwQCAQIKBAIFBwEBAgEDAQEBAQEDAgIFAQEFCQMHAQcCBgYEEw8KBQoFBQQCIAMGAxEUCAMGAwQLBgUQAgcEAwUOBQIEAwcDAQYMAwUJBgQIAwcBCQYFAgIDAgIEAgIBCgIBAQECAQECBQQCAQIEAgYCBgICBQMcAQoFCQgFDQ0FEAYGAgUHBAUHBQwNCAoHDAEJAwIJBgISBAcDBQEFAQEEAgEGAQMCAQEBAgIFAQICBQIIAQEMEgoCAv5LAxAFAwQCBQkDBgYCAgICAgIBBQIECAYKBgUGCAQCBwMQEwgDBAMIBAQIBQwFAQEFAgEBAQECBQMKBwMCBgMPBQYMAgUCAQICAgQCBAEFBAIBAQkFBAICEg0HAgIEBAcFBgMECxYJCQcKAQIHAQECAwIJAQECAwURCAYMBQgLBgYGBQQGBQsGBQcDAwUDCQcDBAcEDQgC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CAcGCAYCBQICBAYDBAEFAwIEAgMBAQEC/vUCAwIEAQEBAgEEAgIIAgIPAg4PBwsHCAECBwIMEAUECgMDBwMGBQIOAwgCAgcBAQIEAgQBAQIBAQICAgUCBAkEAgYDCgcIBAcEDxEOFw0LBwMBCgUHCgMDaQUHBQgOBgQBAQIBAgICAQMCAgIBAgcQCAULBAECAQEBAgEBAQECAQMBAQEBAQECAgAAAwAj/+QC4wIIAg8CaALIAAAlBiYnBiYjBiMiJiciBiMiJgcGBiMiJiMiBiMiJgcGBgcGJgcGFBcWFhcWFhcWFhcWFhcWFxYWFxYyFxYWFxYWMzYWNzYyNzY2NzY2NzY2NzY1NjI1NjU0JjU0JjU2FxYWFxYWMxYWFxYGBwYHBgYHBgYHBgYHBgYHBiIHBgYHBiYjJiYnJiYnJiYjJiYnJiYnJiYnBwYGBwYGBwYHBgcGBgcGBiMGIgciBiMGJyImJyYjJiYnJiInJiYnJiYnJiYnJiYnJiYnJiYnJiY1JjY3NiY3NjY3NjY3NjY3NjI3NjY3NjI3NjY3NjYzNhY3NjY3MjI3NjI3NjY3NjY3NiY1NDYnNCYnJiYnJiYnIiYnJiYnJiYHIgYHBiIHBgcGBgcGBwYGBwYGBwYGBwYGFxYWFxYWFxYXFhYXFjIXFjY3NiI3NjY3NjY1JicmJgcGIgcGBgcWFhcGJicmNjc2Njc2FhcWFhcWFhcUBgcGBgcGBgcGBgcGBgciJiMjJiYnJicmJicmNicmJjc2Jjc2NDc2NDc2Njc2Njc2NzY0MzY2NzY2NzY2NzY2NzYWNzY3MhYXMhYXFhYzFxYWFxYWFxYWFxYXFhYXFhYXNjY3Njc2Njc2Njc2NzY3Njc2NzY2NzY2NzYyNzY2NzI3NjY3NjIzNhYzFhYXFhYXFhYXFhYXFhYXFhYXFhQXFhYXFBYVFAYnNCYnJiY1JicmJyYmIwYjBgYHBgYHBgYHBgYHBgYHBgYHBiIHBgcGFBUGBgcGBgcGFAcGFgcGBhcWNhcyFjcyNjMyFjM2FjMWNjMyNjc2MjcyNjM2Fjc0NgUGBgcGBwYiBwYGBwYGBwYHBiIHBgYnBgYHBgYHBgYHBhQHBgYVFhYVBhYVFhQXFhcWFBcWFxYWMzI2FzY2NzY2NzY2NzY2NzYWNzY2NzY2NzY2NyY0JyY0NSYmNSY2NwLeBQsGCxIHCAYFCAQIDggTNRgFCQUFCQQFBwUFDAUFCwUFDAYDAQECAgIEAgIBAgMJAwkFBQsFBQQEAwcFER8LCwgECwUCBAcDBgoFCAQFBgECBAEBCgIEBgQJAwIFCgYCBgICAgIHAgIBAgsOBAgLBwYDAgQPBwsVDRg4FwgGBQcJBQoSBgIEAgMHAggIAwIJFQsDCAUHAwoFDAQCBAcDAwYCCw0GCgUECAIGAgQHBQsWCQIEAgUBAgcDAgQCAgYBAgEDAgICAgEFAgcECAYCCQkEBgQCAgUDBgQCBQ4ICAIBBQgECBEJBQkFDAICDA8HCxgLAgECAQMFBgYCBAYDBgkFBQcFBA4IBQkFBQoFCAMODAYKAgsFAgYCAgMGBAQOAQEIBQIFAwYDAgoEAwUHCgkFBgEBBQcCAgMDBwUICAgHAgYCBQMPBQcPBxENBAYNCAgQCAUIAwQDAwECAgMCAwUIAgcEBw4HAwcEDggSCQgJDQIDBwEBBAYCAwIBBQEFAQgEBAoLAwoFCwEJCwUDBgQLDwYCBwIECAUECgcOBgQJBQsCAg8MCAULBwMFCAUDAwQFAwIDAQQBAQMBBQQCBAECCAECBgYDBQMFBgMKBAIFAwILCAQFCAQFAwYPBwgHBAgOCAsPCgIGAgwJAggDBQgKAwEBBQICAgNgBwQEAwYBCwIJDwULBgYKCAUJBQQFAwwGAwIHAwUDAgQCAQcBBgIDAQMFAwQBBQEBAwgCDRoMBQgEBQkFAwcDCwECBQQCCg8IBg8HAwcECBIIBf7NBAgGBAgIBQMFBwQDBwILAQgIAgsTCQULBAsKBQIGAQIBAQMBBAEBAQIHCAYCDAMFBwQIDAcHFAcECAMFCwUIAQIIAgECAwMGAwIFCwECAQQCAgEBAeYCBAEBAQICAQEDAgEDAQEBAQEDAQEBAgwZDgwZCw0HAwQIAwcLBwcIAQUCBAEBAQIBAgIBAQUBAgUCAwYECAgBCgEJAg0FBQwGAgYDCQUCBAIFAwIBAgcJBgoFBQgFAgUDEg8JBAoFBQECBQICAgECBQEBAwQGCxINAQYCBQ0FCAcFAwsYCwMGBgQCBgIFAwIBAwICAQEBAQMBAQIDEQcBBQIDAwIHBAIGCQUOBgYLCQMLGAsIDAYLDwgIBQILBQIFAQIEAgQBAgUDAgIBAQECBQIBBAEEAwQFDQcLHA4HDAYKFAcEAgICAwQGAgICAgIDAQQBAQECAQYFAgMCBwQCBgECAwYFBh4JBQwDAgICBgIBBAICAgIFBwkBBQ0DBA4CBgICBgMFAgQMBAUDBQ8BBhEZCwIJAQEGAgIBAgIHAgoQCAcIBQgHBQIDAgMIAQEBBgICBAUBAwgCAQYJCAYHAgkEAgoFAgwIBQ0HBwUGAwIFAwMCBgIDBAIBAgEBAQEBAgEBAgEDAwYGBgMGBQIEBwYDCAgYCwcQCQEIAgsBBAgEBwYCCgEEBggDBQYCBwMIAQIFAQgEAwMBAwEBAQMCAQIDCAYCBQIGDAUPEQUbKBQHDwcQEwwFBgQFCJAOHwwKAwEKAQUBBQECAgMBBQcDBAYCCAYDAwUDCgICCQEJAgkEAQMGAgYLBQYEAgcDAggPCgICAQMBAgEBAQECAQEBAQICAwQYNkADAwMCBgMCAgMCAgECBwEJAQcCBAMHAgYHBQMHBQMEBQUSBggNBwoFAwUNAhQMBwICBwECAgYBBQUDAgMCAgoEBAICBwEBAgQCBAMCBQsECgYDCAgECxcLFyQTAAAAAAQAHv/HAcoCRwBsALsBAgH5AAABBgYHBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGBgcGFAcGBgcGBwYGBxYzFhYXFjIXFjMWFjc2Nhc2Njc2Njc2Njc2Njc2Njc2NzY2NzY2NTY2NzY0NzYmJyYnJiY1JiYnJiYnJiYnBzY2NzY2NzY3JicmJiMmBgcGFhYGByYmJyYmNzY3NhYXNjY3NjQ3JjQjJicmJicmJicmBiMiBgcGBgcGBwYUBwYWBxQGFRYWFxYWFxY2Nwc2NzY2NzY3NjY3NjY3Njc2NwYmJyYGJyYmJyYiJyYmJyYmJyYmJyYmJwYGBwYGBwYGBwYUFQYGFxQWFRYWFxYXFhQXFhYXFQYiIyYGByIGIiIjBgYnNjY3NjY3NjY3NjY3NjY3NjQ3NicmBicmJicmJyYmJyYmJyYmJyYmJyY2JycmJicmNCcmJicmNjc2Njc2NDc2Njc2Njc2Njc2Njc2Njc2NzY2NzY2NzY2FxY2MxYWFxYWMxY2MxYWFxYWFzc2NzY2NTY2NTY2NzY0NzcyNjIyMzY2FwYGBwYGBwYGBwYHBgYHBhYXFhYXFhYXFhYXFhYXFhYXFhYXFhYHFhQHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBgYHBhQHBgYHBgcGBgcGBgcGBiMGJgciBiciJyYmJyYmJwYGBwcGBgFeAwUCBwQDBgMCBAICAwICBAIDBAMCBwICBAIDAgIGBQQCBQMFAgIDAgYBBAIBCQEDCQIEBgIGBQUNBQgMBwIKAgcDAQQIBAYEAgMFAgIEBAMBBAMEBQICAQUEAgcIAwIDBAMCBQIDBAJdAwcEAwUBAwMCAwMOBQYNAgECAgMGAwUDBQYBAQkTLAoCBwMBAgoBCwMECAMIDwUFBAQLBAMKAwEKBAcBBAEBAQIPBAYJBQ4TCV4DBAgRCAUDAgICBAQCAwQKBA0IBQQJAgIFAggCAQQCAgcLBAIBAgMFAwIFAgUGAwIDAQIBAwIFBQECBQEKAgkHAgQGAgMFAwEMDgwBAwgDBAUCAgECAgMCAgMCAwMCBAIBBQgCAQIDAgYDAwQDAgUCAgEBAwICBAEBBgIEAgEBAQMCAwUDAgEDBQEHBgQIAwMFBgICBAICBgIHAwkXCAcRCQ8KCQEKAQgFAgQKBQQGAwUJBQUMBggDAgMCAgIDAgECBAsBDQ8NAgQMAgICAQUHBQQCAgYDBQIBAQICAwgDAwICBQMCAgMCBAEBBQgDAgMDAQICAwMFBQICAgECBQICAgIGCAQCAgICBAIFAQQKBQMGAgoFCwwGBAcDAwwFBQcDAgoJEQgFCgYFAgILAwYBjQULBQ0MBwsHBwkFBQgFBAgFBgwGBQwFBQgCCQYECg4FBAsFCQYCBQgFCwYIBQIJAwUBBQEFAgMBAQcBBAUCBAUCBggFCgYEBgcCBAYIAgILAgIOCwUGDAYSDAkWEgsBAQsSCgUNBQoHBTcGDwgHBwMLAwcDAwQBAwcFDAwJAgIIBAcICxEHBAMLBg8HAwYCBQIDAQEDAgMGAQEBAgIEAwIGBggIAgYHBQUHBBEbCwQKBAkEBdIHBxAeEA0EBAcFCQoECQkTCgQCAQEBAQEEAgUBCAQCDRILCgMCCxcLBAcEChMKBQoFBg4IEy4UBxAEFRcIDAEIAwIFBQKzAQECAQEBAQMLBgQEBwUEBwQDBgMFCQQGBAIMBQYBAQIFAgQDAgYCAwUCAgYDBAUFBwYCFQoVDQMHAgcSCBkmEAgLBgoFAg4OCAsGAwgFBAMIAgIBAgYCCQ0IBAQCBQYBAQMBAgEBAgEBAQICAgMCDgkECAIC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NyYmJyYmJyYmByIGIyImBwYGByIHIgcGIgcWBhcWFhcWFBcWFhUWBhcWFxYWFxYWFxYWMxY2NzY2NzY2MzY2NzYmNzY2NzY2NzY2NzY2NzY2NTY2NzY2NzY3NjQ3FgYVFhYVFRYWFxYUFxYWFxYWFxYGFxYWFxYVFgcGJicmBicmMSYmJyYmIyYGJyYmJyYGByImByYGByIGIwYmIwYiBwYGBwYGBwYiIwYGBzQ2JwYUBwYGBwYGBwYGBwYGBwYGBwYGJyImIyIGIyImJyYmJyYnJgYnJiYnJiYnJiYnJiYnJiYnJicmJicmJyYmJyY0IyYmJyYmNSY0JyYmNSY0JyYmJyY1JjY1NCY1JjQnJiYnNiYnJjQ1NiY1NiY3NjQ3NTQ2NzQ3JjY3NjY3NjY3NjY3NjY3NjQ3NjY3NjY3NjY3NjY3NjY3NjY3NjY3NjY3Njc2Mjc2Njc2Njc2Mjc2NhcyMhcyFhcWFhcWFhcWFhcWFhc2JjUmNTYyMxYWFxY2FxY2FxY3FhYzFxYzFjYXMhYXMhYzMjYzMhYXFjIzMzI2NzIWNzI2MzYWNzY2NzY3NjY3NjY3BSYmJyYmJyYmJyYmJyYjJiYjBiYHBgYHBgYHBgYHBgcGBgcGBgcGIgcGBgcGFAcGIwYGBwYUBwYGBwYGBwYHBgcGBwYGBwYGBwYGBwYGBwYUBxQGFRQWFxYUFxYWFxYWFxYWFxYXFhYXFhQXFhQXFhYXFhYXFhYXFhYXFhcWFhcWFxYWFxYWFxY2MzY2NzY2NzYyNzY2NzY3Njc2NzY0NzYyNzY2NzY2NyY2NyY2NTQmNTQ2NSY2JzUmNjU0JjU1JiYnNCY1NDYnJiYnJiYnJiYnBAkIBwICBAQCAgIFAQICAwICAgICAwEFAQECBgIBAwMCBgEEBQEBAwICAwEDBAMCAwECAQMEAwUBAQIEAQkKBAoGAwYDBQgFAwgCAg0FBxAGCg8KAwgDBgYCFQkUJhEFAQIBAQEBAgEBAQECAQECBQcFAwkFCxgOESEQBQsFBQgECwICBwEBAQUCAQQCBgIFDAcJBwQVBQwFCQUCBwUBAgQCAwgNEQkEBQQMAwIJBAQDBwMEBQIKEAgGDgIEAgIEBQoHBAkCAQUFAw0LBgkOBwYNBggPCAECAQIEAQIBAwECAQECAwECAQICCgIIBwQECQUEBAoEBgQFCgICBAIKAwMDAgIEAgYBAgoCAgcCBg8ICA8FBQwDAgYBAQEBAQIBAgILCwsFCwkGAwgHBQEKAgsCAwUEBgUFEQYLBAEEBwQGAwECCAUEBgcLDA4FDAUFDAUFCwcHBAcEEhEGAgIBAQIBAQIBAgIBAgIHDx0OChMLCBULCRIIDRYLDAQCCxcLBwECBQICBAMEAQYCBAIBAQMCAgICBwIDAwEFCgQBAwECAQECAwEBAgECBAIDAQQCAgMBCQEGBQsFDBEdDgYMBRAlCwQHBQoVCwsSBwkTCQoBAQUMBQUIBQYMBwwHBAUMBQ4dDwEBCAIHEQkDBgQEBgQFCAUJDwYLGxMDBgQDBgIDBQMJCQUMCgcCAgIIBAYIBQgFAwMHAgwJBQYDBQcFCAUGBAIFAQQFBAUCAgIFAwQBAgMCBQECAgEBAQEDAgIBAQEBAwECAQEDAQUCAwECAQIEBAEEAgIFAQIFAQYEAgYEAgUKBQYKBQUGBQgXDgUJBQQGBAkGAgkFBQcFCBAJAgYFCBQLBw8IBAkFBgwFDAoFBAMCCgoGAwEGAgYDAwUDCwkFCwsFDQsHBAIQDAIGDgcLFwsDBgMDBgQCBwQKGQsjDQcDBQgEBAgECBAGChELBwQLEwkECAT9zAkIBQIFAwIIBAQHBAUKBQYECwwGAwgEBAYFCBMFBQcDBgQDBgIIAQEFCQQIAQUBBwICBwECAgIEAgEDAgEEAgECAwECAgEFAwIBAQEBAQIBAQECAgMBAwUBAgMCAgECAwECAgICAgcEAwQCBgMCAwQCEg0FBQQGCQMFAwMFAwkUCwsXDgIIAgcCAQYEAgMEBgMHBAYBBAMBAwMCDg4HAgIBAQIBAgIBAQECAQEDAQEBAgEFAgIEAgQIAgMSBA8FAwgGBAUIBAcFAwMMBQQFAwUKBQ0PCA4aDgULBRUYCQIJAQEIAgQHBAgEAg0RBQQJAgcEBgwHCwYCBQoFDAgFAgIBAwEBAQEDAQEBAQEDAgEDAQEBAgMECQgOIBAECAULFw0HDQcGDQYWLRcCAgMCAQEBAQECAgEEAgECAQkCAggCAgYEDQcDBwYIBwcFAgcCBQsCAQMBAQYCBQECBwUEBgoEBwUCBgIBAQECBQMJAwIBAQICAQQCChgOBAYFBgkECAQBBwEBBAEDAgEBAQMCAwMECwICBgMFCQkFDgUICQUECAMEBwQF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CQUFCQUKGQsQCQQCCAICBQICBwcFCwIGBgMHAgICAQEBAQEBBAECAgMBAgIEDQUSFQcLDQEBDwgFBQMPBwgIBQQHAgQCAQECAgEBAQEBBAIBAgIGAQIEAgQCAgcDBAQCBwkDAgsLBgcTBwcDBQkFAgUDBAgEBAYCBwwFCBgKCwEKBQICAwIHAwICBQEBAgIBAgIBAQYGAwYEAgEHAQIGCAQJBQsUEQgPCAQGAgcBAQIJAgMGAgIDAQUCBwIJBAcMBQMEBQgHAwoFBQkBAQIBAQIFBwIMCwYFAgULCggEBAIFAQQBAQIBBwoFAgkKBwQQCwQGBgEBAQEEAwEBAQECAQECBwEIBQQIBAUIBQkECQcFEQoFCQoECQEDBQQDBQMBBQICAwICBQMCAQIBBAICAQMGAgQFAgIJAwUIDh8QCwEBFhEHBwUMEQUJBgoEAgoMBQwaDgEDAwECAgECAQQBAgEBAgICAQIBAgIHAwUCAQICAwIFAgMKBRcHAgIBAQIBAgMCAQECBQEBCwMGBgMDBgIDCwQJCwYFCwYFCQUGDAUDBwMOBAoGCgYCBQkFDQYEBAgFAgUDCwQEAwcEAgMCAgQBAQEBAgEBAQECBQUKBgUGBRMTCwUIBAoVCRAMDQgEAgQJBQgQCA4NBQ0HCwQCAgQBAgIBAwEFAQUDAgINAwUCDAoFCQUNCwgRJw4QDggFCgUFCQUIEAgHDgcHCwcFAQEDAgIGCAQCAQICAQQBAQIBAQEPFwwJDwoIAwoBBBAGCw0GCwgIDwkCCAQGBAMGBAYDAwYDCQEICAUFCAYCAwIDAgICAwEBBAEEAQMCAgcGCAIKBgMCBQIODAUFDAUSAhIEBQsGBQ0FEBAIDAcBAgwDCAUCBgIGCgUCBgQDAQIHAQEDBwUECgQEDwgEDAcMAwwGBAYEAgECAgEDBgUECQQEBgQDBwIFAwMCCAwHDwcCCgMJBgQHBAURBgkCAgcIAgEEAgIIBAoNBAMHAw4HBQgOCAUJBQUJBQQIAwkOCAYCAgECBgEBAwIBBwoEBwcFDAYFBggIAQEMCAIHCgkSCwUHBQIPAwoDCA4JDhUMAwEBAgECAgECAgEBAgIBAgEBAgQFBAUKBQUKDiMRCBAICA0IBQsGCBUJCRMIBQoFCQECBQICBAIDBQMAAf////EB8gLJAbcAAAEWFhcWFxYGFRUUFgcU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ADIAMAAxADIAIABiAHkAIABGAG8AbgB0ACAARABpAG4AZQByACwAIABJAG4AYwAgAEQAQgBBACAATgBlAGEAcABvAGwAaQB0AGEAbgAgACgAZABpAG4AZQByAEAAZgBvAG4AdABkAGkAbgBlAHIALgBjAG8AbQApACAAdwBpAHQAaAAgAFIAZQBzAGUAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgACIARwByAGkAZgBmAHkAIgBHAHIAaQBmAGYAeQBSAGUAZwB1AGwAYQByAEYAbwBuAHQARABpAG4AZQByACwASQBuAGMARABCAEEATgBlAGEAcABvAGwAaQB0AGEAbgA6ACAARwByAGkAZgBmAHkAOgAgADIAMAAxADIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABHAHIAaQBmAGYAeQAtAFIAZQBnAHUAbABhAHIARwByAGkAZgBmAHkAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABGAG8AbgB0ACAARABpAG4AZQByACwAIABJAG4AYwAgAEQAQgBBACAATgBlAGEAcABvAGwAaQB0AGEAbgAuAEYAbwBuAHQAIABEAGkAbgBlAHIALAAgAEkAbgBjACAARABCAEEAIABOAGUAYQBwAG8AbABpAHQAYQBuAFMAcQB1AGkAZABoAHQAdABwADoALwAvAHcAdwB3AC4AZgBvAG4AdABiAHIAbwBzAC4AYwBvAG0ALwBmAG8AdQBuAGQAcgBpAGUAcwAvAG4AZQBhAHAAbwBsAGkAdABhAG4AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHMAcQB1AGkAZABhAHIAdAAuAGMAbwBtAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsAA0AVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AA0AaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/7MAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAAADpAOoA4gDjAOQA5QDrAOwA7QDuAOYA5wD0APUA8QD2APMA8gDoAO8A8AADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkwCUAJUAlgCXAJgAnQCeAKAAoQCiAKMApACmAKcAqQCqAKsBAgCtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AQMAvgC/AMAAwQDCAQQAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANMA1ADVANYA1wDYANkBBQDbANwA3QDeAN8A4ADhAL0BBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoHdW5pMDBBMARFdXJvDnBlcmlvZGNlbnRlcmVkBm1hY3JvbglzZnRoeXBoZW4IZG90bGVzc2oCSUoCaWoEaGJhcgZJdGlsZGUGaXRpbGRlC0pjaXJjdW1mbGV4C2pjaXJjdW1mbGV4C2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAxrZ3JlZW5sYW5kaWMMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudARMZG90Cmxkb3RhY2NlbnQGTmFjdXRlBm5hY3V0ZQZSYWN1dGUGUmNhcm9uBnJjYXJvbgABAAH//wAP"},function(A,e){A.exports="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GgIaPhqAGrQa0hr+GyYbTBt6G6Ab0hv0HCYcWhyOHMIc6B0YHVQdYB2gHc4d9B4wHm4eoB7gHyAfSh90H7Af5iAYIF4gnCDCINAg3iDsIPohDiEiITYhUCFeIXghpCHOIgIiNAACAAAAAAUABwAAAwAHAAABESERAREhEQUA+wABAAMABwD5AAcA/v/7AQUAAAIAAAAAAQAHAAADAAcAADERIREBESERAQD/AAEAAQD/AAIABQD7AAACAAAFAAMABwAAAwAHAAAZASERIREhEQEAAQABAAUAAgD+AAIA/gAAAgAAAAAGAAcAAAMAHwAAAREhEQERIREhESERIREhESERIREhESERIREhESERIREEAP4A/wD/AAEA/wABAAEAAgABAAEA/wABAP8A/wD+AAIAAwD9AP4AAQABAAMAAQABAP8AAQD/AP8A/QD/AP8AAQD/AAADAAAAAAUABwAAAwAHACMAAAERIREBESERAREhESERIREhESERIREhESERIREhESERIREhEQQAAQD7AAEAAQD+AAIA/wABAP8AAQABAAIA/gABAP8AAQD/AAIAAQD/AAIAAQD/APwAAQABAAEAAQABAAEAAQD/AP8A/wD/AP8A/wD/AAAPAAAAAAcABwAAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAADERIREhESERAREhGQIhEQERIREhESERAREhESERIREhESERAREhESERIREhESERAREhEQERIREhESERAQAEAAEA+wABAAEAAQABAAEAAQD6AAEAAQABAAEAAQD+AAEA+wABAAEAAQACAAEA+wABAAQAAQABAP8AAQD/AAEAAQD/AAEAAQD/AP8AAgD+AAIA/gACAAEA/wABAP8AAQD/AAEAAQD/AAIA/gACAP4AAQABAP8AAQABAP8AAQD/AAAABQAAAAAFAAcAAAMABwAPABMAFwAAIREhEQERIREhESERIREhEQERIRkCIREBAAMA/AABAAMA/QADAAEA+wABAAMAAQD/AAEAAgD+AAIAAQABAPwAAwACAP4AAgABAP8AAAAAAAEAAAUAAQAHAAADAAAZASERAQAFAAIA/gAAAAADAAAAAAMABwAAAwAHAAsAACERIREBESEZAiERAQACAP0AAQACAAEA/wABAAUA+wAFAAEA/wAAAAMAAAAAAwAHAAADAAcACwAAMREhGQIhEQERIRECAAEA/QACAAEA/wABAAUA+wAFAAEA/wAAAAAABQAAAgAFAAcAAAMABwALAA8AGwAAGQEhESERIREBESERIREhEQERIREhESERIREhEQEAAwABAPsAAQADAAEA/QD/AAEAAQABAP8AAwABAP8AAQD/AAIAAQD/AAEA/wD9AAIAAQACAP4A/wD+AAAAAAEAAAEABQAGAAALAAABESERIREhESERIRECAP4AAgABAAIA/gABAAIAAQACAP4A/wD+AAABAAD/AAEAAQAAAwAAGQEhEQEA/wACAP4AAAAAAQAAAwAEAAQAAAMAABkBIREEAAMAAQD/AAAAAAEAAAAAAQABAAADAAAxESERAQABAP8AAAMAAAAAAwAHAAADAAcACwAAMREhGQIhGQIhEQEAAQABAAIA/gACAAMA/QADAAIA/gAAAAAFAAAAAAUABwAAAwAHAA8AFwAbAAAhESERAREhEQERIREhESERIREhESERIREBESERAQADAP4AAQD9AAEAAQD/AAMA/wABAAEA/AADAAEA/wADAAEA/wD+AAUA/QD/AP8AAwABAAEA+wAFAAEA/wAAAQAAAAACAAcAAAUAACERIREhEQEA/wACAAYAAQD5AAAEAAAAAAUABwAABQAJAA0AEQAAMREhESERAREhGQIhEQERIREBAAQA/AADAAEA+wAEAAMA/gD/AAMAAQD/AAEAAgD+AAIAAQD/AAAABQAAAAAEAAcAAAMABwALAA8AEwAAMREhGQIhEQERIRkCIREBESERAwABAPwAAwABAPwAAwABAP8AAQACAP4AAgABAP8AAQACAP4AAgABAP8AAAAAAwAAAAAFAAcAAAMABwATAAABESEZAiERAREhESERIREhESERAQABAAEAAQD8AAEAAwD/AAIABAABAP8AAQABAP8A+wACAAIA/wADAAEA+QAAAAAAAwAAAAAFAAcAAAMABwAPAAAxESEZAiERAREhESERIREEAAEA+wAFAPwAAwABAP8AAQACAP4AAgAEAP8A/gD/AAAAAAAEAAAAAAUABwAAAwAHAA8AEwAAIREhGQIhESERIREhESEZAiERAQADAAEA+wABAAMA/QADAAEA/wABAAIA/gAFAP4A/wD+AAUAAQD/AAAAAAMAAAAABQAHAAADAAcADQAAIREhGQIhGQIhESERAgABAAEA/AAFAAMA/QADAAIA/gACAAEAAQD+AAAAAAcAAAAABQAHAAADAAcACwAPABMAFwAbAAAhESERAREhESERIREBESERAREhESERIREBESERAQADAPwAAQADAAEA/AADAPwAAQADAAEA/AADAAEA/wABAAIA/gACAP4AAgABAP8AAQACAP4AAgD+AAIAAQD/AAAAAAQAAAAABQAHAAADAAcADwATAAAhESERAREhEQERIREhESERAREhEQEAAwD8AAEAAwD9AAMAAQD8AAMAAQD/AAQAAgD+AP0AAgABAAIA+wAFAAEA/wAAAAACAAAAAAEABQAAAwAHAAAxESERAREhEQEA/wABAAEA/wAEAAEA/wAAAgAA/wABAAUAAAMABwAAGQEhEQERIREBAP8AAQD/AAIA/gAFAAEA/wAAAAAHAAAAAAQABwAAAwAHAAsADwATABcAGwAAIREhEQERIREBESERAREhGQIhGQIhGQIhEQMAAQD+AAEA/gABAP4AAQABAAEAAQABAP8AAQABAP8AAQABAP8AAQABAP8AAQABAP8AAQABAP8AAQABAP8AAAAAAAIAAAIABAAFAAADAAcAABkBIREBESERBAD8AAQAAgABAP8AAgABAP8AAAAABwAAAAAEAAcAAAMABwALAA8AEwAXABsAADERIRkCIRkCIRkCIREBESERAREhEQERIREBAAEAAQABAP4AAQD+AAEA/gABAAEA/wABAAEA/wABAAEA/wABAAEA/wABAAEA/wABAAEA/wABAAEA/wAAAAUAAAAABAAHAAADAAcACwAPABMAACERIREBESEZAiEZAiERAREhEQEAAQD/AAEAAQABAPwAAwABAP8AAgABAP8AAQABAP8AAQACAP4AAgABAP8AAAYAAP8ABwAHAAADAAcAEQAVABkAHQAAAREhEQERIRkCIREhESERIREBESERAREhEQERIREBAAUA/AABAAEA/wACAAEA+gABAAUAAQD6AAUA/wABAP8AAwACAP4A/wABAAIAAQD9AP8A/wAGAPoAAgAEAPwABAABAP8AAAACAAAAAAUABwAACwAPAAAxESERIREhESERIRkCIREBAAMAAQD/AP0AAwAGAP0AAwD6AAIA/gAGAAEA/wAAAAAAAwAAAAAFAAcAAAMABwATAAABESERAREhEQERIREhESERIREhEQQAAQD/AAEA+wAEAP0AAwD9AAMAAQACAP4AAwACAP4A/AAHAP8A/gD/AP4A/wAAAwAAAAAEAAcAAAMABwALAAAhESERAREhGQIhEQEAAwD8AAEAAwABAP8AAQAFAPsABQABAP8AAAACAAAAAAUABwAAAwALAAABESERAREhESERIREEAAEA+wAEAP0AAwABAAUA+wD/AAcA/wD7AP8AAAEAAAAABAAHAAALAAAxESERIREhESERIREEAP0AAwD9AAMABwD/AP4A/wD+AP8AAAEAAAAABAAHAAAJAAAxESERIREhESERBAD9AAMA/QAHAP8A/gD/AP0AAAAAAwAAAAAFAAcAAAcACwAPAAAhESERIREhEQERIRkCIREBAAMA/wACAPsAAQAEAAEAAgABAPwAAQAFAPsABQABAP8AAAABAAAAAAUABwAACwAAMREhESERIREhESERAQADAAEA/wD9AAcA/QADAPkAAwD9AAABAAAAAAEABwAAAwAAMREhEQEABwD5AAACAAAAAAUABwAAAwAHAAAxESEZAiERBAABAAEA/wABAAYA+gAAAAAABwAAAAAFAAcAAAMABwALAA8AEwAbAB8AACERIREBESERAREhEQERIRkCIREBESERIREhEQERIREEAAEA/gABAP4AAQD/AAEAAQD8AAEAAQD/AAMAAQABAP8AAQABAP8AAQABAP8AAgABAP8AAQABAP8A+wAHAP0A/wD9AAYAAQD/AAAAAQAAAAAFAAcAAAUAADERIREhEQEABAAHAPoA/wAAAAADAAAAAAUABwAAAwALABMAAAERIREBESERIREhESERIREhESERAgABAP0AAQABAP8AAwD/AAEAAQAEAAEA/wD8AAcA/wD/APsABQABAAEA+QAAAAADAAAAAAUABwAAAwALABMAAAERIREBESERIREhESERIREhESERAgABAP0AAQABAP8AAwD/AAEAAQAEAAEA/wD8AAcA/wD/APsAAwABAAMA+QAAAAAEAAAAAAUABwAAAwAHAAsADwAAIREhEQERIREhESERAREhEQEAAwD8AAEAAwABAPwAAwABAP8AAQAFAPsABQD7AAUAAQD/AAACAAAAAAUABwAAAwANAAABESERAREhESERIREhEQQAAQD7AAQA/QADAP0AAwADAP0A/QAHAP8A/QD/AP4AAAAABQAA/wAGAAcAAAMABwALAA8AEwAAAREhEQERIREBESERIREhEQERIREEAAIA+wADAPwAAQADAAEA/AADAP8AAQD/AAEAAQD/AAEABQD7AAUA+wAFAAEA/wAAAAADAAAAAAUABwAAAwAHABEAACERIREBESERAREhESERIREhEQQAAQD/AAEA+wAEAP0AAwD9AAIA/gADAAMA/QD9AAcA/wD9AP8A/gAABQAAAAAFAAcAAAMABwALAA8AEwAAMREhGQIhEQERIREBESEZAiERBAABAPwAAwD8AAEABAABAP8AAQACAP4AAgABAP8AAQACAP4AAgABAP8AAAAAAQAAAAAFAAcAAAcAACERIREhESERAgD+AAUA/gAGAAEA/wD6AAAAAAMAAAAABQAHAAADAAcACwAAIREhEQERIREhESERAQADAPwAAQADAAEAAQD/AAEABgD6AAYA+gAABQAAAAAFAAcAAAMABwALAA8AEwAAIREhEQERIREhESERAREhESERIRECAAEA/gABAAEAAQD8AAEAAwABAAEA/wABAAEA/wABAP8AAQAFAPsABQD7AAAAAAMAAAAABQAHAAADAAsAEwAAAREhEQERIREhESERIREhESERIRECAAEA/QABAAEA/wADAP8AAQABAAIAAQD/AP4ABwD7AP8A/wABAAEABQD5AAAAAAkAAAAABQAHAAADAAcACwAPABMAFwAbAB8AIwAAMREhESERIREBESERIREhEQERIREBESERIREhEQERIREhESERAQADAAEA/AABAAEAAQD+AAEA/gABAAEAAQD8AAEAAwABAAIA/gACAP4AAgABAP8AAQD/AAEAAQD/AAEAAQD/AAEA/wABAAIA/gACAP4AAAMAAAAABQAHAAAHAAsADwAAIREhESERIREBESERIREhEQIA/wADAP8A/QABAAMAAQADAAEA/wD9AAQAAwD9AAMA/QAABQAAAAAFAAcAAAUACQANABEAFwAAMREhESERAREhGQIhGQIhGQIhESERAQAEAPwAAQABAAEA/AAFAAIA/wD/AAIAAQD/AAEAAQD/AAEAAQD/AAEAAQABAP4AAAABAAAAAAMABwAABwAAMREhESERIREDAP4AAgAHAP8A+wD/AAADAAAAAAMABwAAAwAHAAsAACERIREBESERAREhEQIAAQD+AAEA/gABAAIA/gACAAMA/QADAAIA/gAAAAABAAAAAAMABwAABwAAMREhESERIRECAP4AAwABAAUAAQD5AAAFAAAEAAUABwAAAwAHAAsADwATAAAZASERIREhEQERIREhESERAREhEQEAAwABAPwAAQABAAEA/gABAAQAAQD/AAEA/wABAAEA/wABAP8AAQABAP8AAAAAAQAA/wAEAAAAAAMAABkBIREEAP8AAQD/AAAAAAIAAAUAAgAHAAADAAcAAAERIREBESERAQABAP4AAQAFAAEA/wABAAEA/wAAAwAAAAAEAAUAAAMADQARAAAZASEZAiERIREhESERAREhEQEAAgD+AAIAAQD9AAIAAQABAP8A/wABAAEAAQABAPwABAABAP8AAAAAAAIAAAAABAAHAAADAA0AAAERIREBESERIREhESERAwABAPwAAQACAP4AAgABAAMA/QD/AAcA/gD/AP0A/wAAAAADAAAAAAMABQAAAwAHAAsAACERIREBESEZAiERAQACAP0AAQACAAEA/wABAAMA/QADAAEA/wAAAAIAAAAABAAHAAADAA0AABkBIRkCIREhESERIREBAAIA/gACAAEAAQADAP0A/wABAAMAAQACAPkAAAAAAAMAAAAABAAFAAADAA0AEQAAIREhEQERIREhESERIRkCIREBAAMA/AABAAIAAQD9AAIAAQD/AAEAAwD/AAEA/gD/AAMAAQD/AAAAAAACAAAAAAQABwAACwAPAAAhESERIREhESERIRkCIREBAP8AAQABAAIA/gACAAQAAQABAP8A/wD8AAYAAQD/AAAAAwAA/wAEAAUAAAMABwARAAAZASERAREhEQERIREhESERIREDAP0AAQACAP4AAgD+AAMA/wABAP8AAwACAP4A/gABAAEAAgABAPsAAAIAAAAABAAHAAADAAsAACERIREhESERIREhEQMAAQD8AAEAAgD+AAQA/AAHAP4A/wD8AAACAAAAAAEABwAAAwAHAAAxESERAREhEQEA/wABAAUA+wAGAAEA/wAAAwAA/wADAAcAAAMABwALAAAZASEZAiERAREhEQIAAQD/AAEA/wABAP8AAQAFAPsABgABAP8AAAAFAAAAAAQABwAAAwAHAAsADwAXAAAhESERAREhEQERIRkCIREBESERIREhEQMAAQD+AAEA/wABAAEA/AABAAEA/wABAP8AAQABAP8AAgABAP8AAQABAP8A/AAHAPwA/wD+AAAAAQAAAAABAAcAAAMAADERIREBAAcA+QAABAAAAAAFAAUAAAMABwANABEAAAERIREBESERIREhESERAREhEQIAAQABAAEA+wACAP8AAgABAAEAAwD9AP8ABAD8AAUA/wD8AAQAAQD/AAACAAAAAAQABQAAAwAJAAAhESERIREhESERAwABAPwAAwD+AAQA/AAFAP8A/AAAAAAEAAAAAAQABQAAAwAHAAsADwAAIREhEQERIREhESERAREhEQEAAgD9AAEAAgABAP0AAgABAP8AAQADAP0AAwD9AAMAAQD/AAACAAD/AAQABQAAAwANAAABESERAREhESERIREhEQMAAQD8AAMA/gACAP4AAQADAP0A/gAGAP8A/QD/AP8AAAAAAgAA/wAEAAUAAAMADQAAGQEhEQERIREhESERIREBAAIA/gACAP4AAwABAAMA/QD+AAEAAQADAAEA+gAAAgAAAAAEAAUAAAcACwAAMREhESERIREBESERAQABAP8AAQACAAUA/wD/AP0ABAABAP8AAAUAAAAABAAFAAADAAcACwAPABMAADERIRkCIREBESERAREhGQIhEQMAAQD9AAIA/QABAAMAAQD/AAEAAQD/AAEAAQD/AAEAAQD/AAEAAQD/AAAAAAIAAAAABAAHAAADAA8AACERIREBESERIREhESERIRECAAIA/QD/AAEAAQACAP4AAQD/AAEAAwABAAIA/gD/AP0AAAAAAgAAAAAEAAUAAAMACQAAGQEhGQIhESERAQACAAEAAQAEAPwA/wABAAQA+wAAAAAABQAAAAAFAAUAAAMABwALAA8AEwAAIREhEQERIREhESERAREhESERIRECAAEA/gABAAEAAQD8AAEAAwABAAEA/wABAAEA/wABAP8AAQADAP0AAwD9AAAAAAUAAAAABQAFAAADAAcACwAPABMAACERIREhESERAREhESERIREhESERAQABAAEAAQD+AAEA/QABAAMAAQABAP8AAQD/AAEAAwD9AAQA/AAEAPwAAAkAAAAABQAFAAADAAcACwAPABMAFwAbAB8AIwAAMREhESERIREBESERIREhEQERIREBESERIREhEQERIREhESERAQADAAEA/AABAAEAAQD+AAEA/gABAAEAAQD8AAEAAwABAAEA/wABAP8AAQABAP8AAQD/AAEAAQD/AAEAAQD/AAEA/wABAAEA/wABAP8AAAMAAP8ABAAFAAADAAcADwAAGQEhEQERIREBESERIREhEQMA/QABAAIA/gACAAEA/wABAP8AAwADAP0A/gABAAEAAwD7AAAAAAMAAAAABQAFAAAHAAsAEwAAMREhESERIREBESEZAiERIREhEQEAAQADAP0AAQD9AAUA/wABAAEA/wD/AAIAAQD/AAEAAQABAP8A/wAAAAAABQAAAAAEAAcAAAMABwALAA8AEwAAIREhEQERIREBESEZAiEZAiERAgACAP0AAQD+AAEAAQACAAEA/wABAAIA/gACAAEA/wABAAIA/gACAAEA/wAAAQAAAAABAAcAAAMAADERIREBAAcA+QAABQAAAAAEAAcAAAMABwALAA8AEwAAMREhGQIhGQIhEQERIREBESERAgABAAEA/gABAP0AAgABAP8AAQACAP4AAgABAP8AAQACAP4AAgABAP8AAAAABAAABQAGAAcAAAMABwALAA8AABkBIREhESERAREhESERIREBAAIAAgD8AAIAAgABAAUAAQD/AAEA/wABAAEA/wABAP8AAAAAAgAAAAABAAcAAAMABwAAMREhEQERIREBAP8AAQAFAPsABgABAP8AAAIAAAAABAAHAAADABcAABkBIREBESERIREhESERIREhESERIREhEQEAAQD/AAEA/wABAAEAAQD/AAEA/wACAAMA/QD+AAEAAQADAAEAAQD/AP8A/QD/AP8AAAAAAgAAAAAFAAcAAA8AEwAAMREhESERIREhESERIREhEQERIREBAP8AAQABAAIA/gADAP0AAwABAAIAAQACAP4A/wD+AP8ABgABAP8AAAMAAP8ABQAHAAAXABsAHwAAAREhESERIREhESERIREhESERIREhESERAREhESERIRECAP4AAgD+AAIA/wADAP8AAgD+AAIA/gD9AAEAAwABAP8AAQABAAEAAQABAAEA/wD/AP8A/wD/AP8ABgACAP4AAgD+AAAAAAIAAAAAAQAHAAADAAcAADERIREBESERAQD/AAEAAwD9AAQAAwD9AAACAAAGAAMABwAAAwAHAAAZASERIREhEQEAAQABAAYAAQD/AAEA/wAACwAA/wAIAAcAAAMABwALAA8AEwAXABsAHwAjACcAKwAAAREhEQERIREhESERAREhEQERIREBESERAREhEQERIREBESERIREhEQERIRECAAQA+wABAAQAAQD8AAIA/QABAP0AAQACAAIAAgABAPkAAQAEAAEA+wAEAP8AAQD/AAEAAQD/AAEA/wABAAEA/wABAAIA/gD/AAQA/AADAAEA/wD9AAQA/AAEAAEA/wABAP8AAQABAP8AAAoAAAEABgAGAAADAAcACwAPABMAFwAbAB8AIwAnAAABESERIREhEQERIREhESERAREhESERIREBESERIREhEQERIREhESERAgABAAIAAQD7AAEAAgABAPsAAQACAAEA/QABAAIAAQD9AAEAAgABAAEAAQD/AAEA/wABAAEA/wABAP8AAQABAP8AAQD/AAEAAQD/AAEA/wABAAEA/wABAP8AAAAAAQAAAQAEAAQAAAUAAAERIREhEQMA/QAEAAEAAgABAP0AAAAACwAA/wAIAAcAAAMABwALAA8AEwAXACEAJQApAC0AMQAAAREhEQERIREhESERAREhEQERIREBESERIREhESERIREhESERIREBESERIREhEQERIRECAAQA+wABAAQAAQD+AAEA/wABAPoAAQABAAMA/gACAP4ABAABAPkAAQAEAAEA+wAEAP8AAQD/AAEAAQD/AAEA/wABAAEA/wACAAEA/wD+AAQA/AAEAP8A/wD/AP8ABAD8AAQAAQD/AAEA/wABAAEA/wAAAAAEAAAEAAMABwAAAwAHAAsADwAAAREhEQERIREhESERAREhEQEAAQD+AAEAAQABAP4AAQAEAAEA/wABAAEA/wABAP8AAQABAP8AAAAAAgAAAAAFAAcAAAMADwAAMREhEQERIREhESERIREhEQUA/QD+AAIAAQACAP4AAQD/AAIAAgABAAIA/gD/AP4AAAIAAAUAAgAHAAADAAcAABkBIRkCIREBAAEABQABAP8AAQABAP8AAAACAAD/AAQABQAABwALAAAZASERIREhEQERIREBAAIA/gACAAEA/wAGAPwA/wD/AAIABAD8AAAAAAEAAP8ABQAHAAANAAABESERIREhESERIREhEQIA/wD/AAEABAD/AP8A/wAEAAEAAgABAPgABwD5AAAAAAEAAAMAAQAEAAADAAAZASERAQADAAEA/wAAAAACAAD+AAIAAAAAAwAHAAAZASEZAiERAQABAP4AAQD/AAEAAQD/AAAACgAAAQAGAAYAAAMABwALAA8AEwAXABsAHwAjACcAABkBIREhESERAREhESERIREBESERIREhEQERIREhESERAREhESERIREBAAIAAQD9AAEAAgABAP0AAQACAAEA+wABAAIAAQD7AAEAAgABAAEAAQD/AAEA/wABAAEA/wABAP8AAQABAP8AAQD/AAEAAQD/AAEA/wABAAEA/wABAP8AAAUAAAAABAAHAAADAAcACwAPABMAACERIREBESEZAiEZAiERAREhEQEAAwD8AAEAAQABAP8AAQABAP8AAQACAP4AAgABAP8AAQABAP8AAgABAP8AAAQAAAAABQAKAAALAA8AEwAXAAAxESERIREhESERIRkCIREBESERAREhEQEAAwABAP8A/QADAP4AAQD+AAEABgD9AAMA+gACAP4ABgABAP8AAgABAP8AAQABAP8AAAAAAAQAAAAABQAKAAALAA8AEwAXAAAxESERIREhESERIRkCIREBESEZAiERAQADAAEA/wD9AAMA/gABAAEABgD9AAMA+gACAP4ABgABAP8AAgABAP8AAQABAP8AAAAABQAAAAAFAAoAAAsADwATABcAGwAAMREhESERIREhESEZAiERAREhESERIREBESERAQADAAEA/wD9AAMA/QABAAEAAQD+AAEABgD9AAMA+gACAP4ABgABAP8AAgABAP8AAQD/AAEAAQD/AAAABgAAAAAGAAoAAAsADwATABcAGwAfAAAxESERIREhESERIRkCIREBESERIREhEQERIREhESERAQADAAEA/wD9AAMA/AABAAIAAgD8AAIAAgABAAYA/QADAPoAAgD+AAYAAQD/AAIAAQD/AAEA/wABAAEA/wABAP8AAAAAAAQAAAAABQAJAAALAA8AEwAXAAAxESERIREhESERIRkCIREBESERIREhEQEAAwABAP8A/QADAPwAAQADAAEABgD9AAMA+gACAP4ABgABAP8AAgABAP8AAQD/AAAABQAAAAAFAAoAAAsAEwAXABsAHwAAMREhESERIREhESEZAiERIREhEQERIREhESERAREhEQEAAwABAP8A/QABAAEAAQD9AAEAAQABAP4AAQAGAP0AAwD6AAIA/gAGAAEAAQD/AP8AAgABAP8AAQD/AAEAAQD/AAAAAQAAAAAGAAcAABUAADERIREhESERIREhESERIREhESERIREBAAIA/gAFAP4AAgD+AAIA/QD+AAYA/QADAAEA/wD+AP8A/gD/AAIA/gAAAAAEAAD+AAQABwAAAwALAA8AEwAAAREhGQIhESERIREBESEZAiERAQABAP8AAwD/AP0AAQADAP4AAQD/AAEAAQABAP8A/wACAAUA+wAFAAEA/wAAAAADAAAAAAQACgAACwAPABMAADERIREhESERIREhEQERIREBESERBAD9AAMA/QADAP4AAQD+AAEABwD/AP4A/wD+AP8ACAABAP8AAQABAP8AAAMAAAAABAAKAAALAA8AEwAAMREhESERIREhESERAREhGQIhEQQA/QADAP0AAwD9AAEAAQAHAP8A/gD/AP4A/wAIAAEA/wABAAEA/wAAAAAABAAAAAAEAAoAAAsADwATABcAADERIREhESERIREhEQERIREhESERAREhEQQA/QADAP0AAwD9AAEAAQABAP4AAQAHAP8A/gD/AP4A/wAIAAEA/wABAP8AAQABAP8AAAAAAwAAAAAEAAkAAAsADwATAAAxESERIREhESERIREBESERIREhEQQA/QADAP0AAwD8AAEAAgABAAcA/wD+AP8A/gD/AAgAAQD/AAEA/wAAAAADAQAAAAMACgAAAwAHAAsAACERIREBESEZAiERAQABAP8AAQABAAcA+QAIAAEA/wABAAEA/wAAAAMAAAAAAgAKAAADAAcACwAAIREhEQERIREBESERAQABAP8AAQD+AAEABwD5AAgAAQD/AAEAAQD/AAAAAAQAAAAAAwAKAAADAAcACwAPAAAhESERAREhESERIREBESERAQABAP4AAQABAAEA/gABAAcA+QAIAAEA/wABAP8AAQABAP8AAAMAAAAAAwAJAAADAAcACwAAIREhEQERIREhESERAQABAP4AAQABAAEABwD5AAgAAQD/AAEA/wAAAgAAAAAGAAcAAAMAEwAAAREhEQERIREhESERIREhESERIREFAAEA+wD/AAEABAD9AAEA/wADAAEABQD7AP8AAwABAAMA/wD+AP8A/gD/AAAHAAAAAAYACgAAAwALABMAFwAbAB8AIwAAAREhEQERIREhESERIREhESERIREBESERIREhEQERIREhESERAgABAP0AAQABAP8AAwD/AAEAAQD7AAEAAgACAPwAAgACAAEABAABAP8A/AAHAP8A/wD7AAMAAQADAPkACAABAP8AAQD/AAEAAQD/AAEA/wAAAAAGAAAAAAUACgAAAwAHAAsADwATABcAACERIREBESERIREhEQERIREBESERAREhEQEAAwD8AAEAAwABAPwAAwD+AAEA/gABAAEA/wABAAUA+wAFAPsABQABAP8AAgABAP8AAQABAP8AAAYAAAAABQAKAAADAAcACwAPABMAFwAAIREhEQERIREhESERAREhEQERIRkCIREBAAMA/AABAAMAAQD8AAMA/gABAAEAAQD/AAEABQD7AAUA+wAFAAEA/wACAAEA/wABAAEA/wAAAAAABwAAAAAFAAoAAAMABwALAA8AEwAXABsAACERIREBESERIREhEQERIREBESERIREhEQERIREBAAMA/AABAAMAAQD8AAMA/QABAAEAAQD+AAEAAQD/AAEABQD7AAUA+wAFAAEA/wACAAEA/wABAP8AAQABAP8AAAAACAAAAAAGAAoAAAMABwALAA8AEwAXABsAHwAAIREhEQERIREhESERAREhEQERIREhESERAREhESERIREBAAMA/AABAAMAAQD8AAMA/AABAAIAAgD8AAIAAgABAAEA/wABAAUA+wAFAPsABQABAP8AAgABAP8AAQD/AAEAAQD/AAEA/wAABgAAAAAFAAkAAAMABwALAA8AEwAXAAAhESERAREhESERIREBESERAREhESERIREBAAMA/AABAAMAAQD8AAMA/AABAAMAAQABAP8AAQAFAPsABQD7AAUAAQD/AAIAAQD/AAEA/wAAAAAJAAABAAUABgAAAwAHAAsADwATABcAGwAfACMAABkBIREhESERAREhESERIREBESERAREhESERIREBESERIREhEQEAAwABAPwAAQABAAEA/gABAP4AAQABAAEA/AABAAMAAQABAAEA/wABAP8AAQABAP8AAQD/AAEAAQD/AAEAAQD/AAEA/wABAAEA/wABAP8AAAAABQAAAAAFAAcAAAMABwAPABcAGwAAIREhEQERIREBESERIREhESERIREhESERAREhEQEAAwD+AAEA/QABAAEA/wADAP8AAQABAPwAAwABAP8AAwABAP8A/gAFAP0A/wD/AAMAAQABAPsABQABAP8AAAUAAAAABQAKAAADAAcACwAPABMAACERIREBESERIREhEQERIREBESERAQADAPwAAQADAAEA/QABAP4AAQABAP8AAQAGAPoABgD6AAcAAQD/AAEAAQD/AAAFAAAAAAUACgAAAwAHAAsADwATAAAhESERAREhESERIREBESEZAiERAQADAPwAAQADAAEA/QABAAEAAQD/AAEABgD6AAYA+gAHAAEA/wABAAEA/wAAAAAABgAAAAAFAAoAAAMABwALAA8AEwAXAAAhESERAREhESERIREBESERIREhEQERIREBAAMA/AABAAMAAQD8AAEAAQABAP4AAQABAP8AAQAGAPoABgD6AAcAAQD/AAEA/wABAAEA/wAAAAAFAAAAAAUACQAAAwAHAAsADwATAAAhESERAREhESERIREBESERIREhEQEAAwD8AAEAAwABAPsAAQADAAEAAQD/AAEABgD6AAYA+gAHAAEA/wABAP8AAAAABQAAAAAFAAoAAAcACwAPABMAFwAAIREhESERIREBESERIREhEQERIRkCIRECAP8AAwD/AP0AAQADAAEA/QABAAEAAwABAP8A/QAEAAMA/QADAP0ABAABAP8AAQABAP8AAAAAAAIAAAAABQAHAAADAA8AAAERIREBESERIREhESERIREEAAEA+wABAAMA/QADAP0AAgADAP0A/gAHAP8A/wD9AP8A/wAABgAAAAAFAAcAAAMABwALAA8AEwAXAAAhESEZAiERAREhEQERIREBESERAREhEQIAAgABAP0AAgD8AAEAAwABAPwAAwABAP8AAQACAP4AAgABAP8A/QAGAPoABAACAP4AAgABAP8AAAAFAAAAAAQACAAAAwANABEAFQAZAAAZASEZAiERIREhESERAREhEQERIREBESERAQACAP4AAgABAP0AAgD/AAEA/gABAAEAAQD/AP8AAQABAAEAAQD8AAQAAQD/AAIAAQD/AAEAAQD/AAAAAAAFAAAAAAQACAAAAwANABEAFQAZAAAZASEZAiERIREhESERAREhEQERIRkCIREBAAIA/gACAAEA/QACAP4AAQABAAEAAQD/AP8AAQABAAEAAQD8AAQAAQD/AAIAAQD/AAEAAQD/AAAAAAYAAAAABAAIAAADAA0AEQAVABkAHQAAGQEhGQIhESERIREhEQERIREBESERIREhEQERIREBAAIA/gACAAEA/QACAP4AAQABAAEA/gABAAEAAQD/AP8AAQABAAEAAQD8AAQAAQD/AAIAAQD/AAEA/wABAAEA/wAAAAcAAAAABAAIAAADAA0AEQAVABkAHQAhAAAZASEZAiERIREhESERAREhEQERIREhESERAREhESERIREBAAIA/gACAAEA/QACAP0AAQABAAEA/gABAAEAAQABAAEA/wD/AAEAAQABAAEA/AAEAAEA/wACAAEA/wABAP8AAQABAP8AAQD/AAAAAAAFAAAAAAQABwAAAwANABEAFQAZAAAZASEZAiERIREhESERAREhEQERIREhESERAQACAP4AAgABAP0AAgD9AAEAAgABAAEAAQD/AP8AAQABAAEAAQD8AAQAAQD/AAIAAQD/AAEA/wAAAAcAAAAABAAJAAADAA0AEQAVABkAHQAhAAAZASEZAiERIREhESERAREhEQERIREBESERIREhEQERIREBAAIA/gACAAEA/QACAP8AAQD+AAEAAQABAP4AAQABAAEA/wD/AAEAAQABAAEA/AAEAAEA/wACAAEA/wABAAEA/wABAP8AAQABAP8AAAAEAAAAAAUABQAAAwAVABkAHQAAGQEhGQIhESERIREhESERIREhESERAREhESERIREBAAEA/wABAAEAAQABAP4AAgD8AAEAAQABAAEAAQD/AP8AAQABAAEAAQD/AAEA/gD/AP8ABAABAP8AAQD/AAAABAAA/gADAAUAAAMACQANABEAABkBIRkCIREhEQERIRkCIREBAAIA/wD+AAEAAgD+AAEA/wABAAIA/wD/AAIAAwD9AAMAAQD/AAAAAAUAAAAABAAIAAADAA0AEQAVABkAACERIREBESERIREhESEZAiERAREhEQERIREBAAMA/AABAAIAAQD9AAIA/wABAP4AAQABAP8AAQADAP8AAQD+AP8AAwABAP8AAgABAP8AAQABAP8AAAAAAAUAAAAABAAIAAADAA0AEQAVABkAACERIREBESERIREhESEZAiERAREhGQIhEQEAAwD8AAEAAgABAP0AAgD+AAEAAQABAP8AAQADAP8AAQD+AP8AAwABAP8AAgABAP8AAQABAP8AAAAABgAAAAAEAAgAAAMADQARABUAGQAdAAAhESERAREhESERIREhGQIhEQERIREhESERAREhEQEAAwD8AAEAAgABAP0AAgD+AAEAAQABAP4AAQABAP8AAQADAP8AAQD+AP8AAwABAP8AAgABAP8AAQD/AAEAAQD/AAAABQAAAAAEAAcAAAMADQARABUAGQAAIREhEQERIREhESERIRkCIREBESERIREhEQEAAwD8AAEAAgABAP0AAgD9AAEAAgABAAEA/wABAAMA/wABAP4A/wADAAEA/wACAAEA/wABAP8AAAADAAAAAAIACAAAAwAHAAsAACERIREBESERAREhEQEAAQD/AAEA/gABAAUA+wAGAAEA/wABAAEA/wAAAAADAQAAAAMACAAAAwAHAAsAACERIREBESEZAiERAQABAP8AAQABAAUA+wAGAAEA/wABAAEA/wAAAAQAAAAAAwAIAAADAAcACwAPAAAhESERAREhESERIREBESERAQABAP4AAQABAAEA/gABAAUA+wAGAAEA/wABAP8AAQABAP8AAAMAAAAAAwAHAAADAAcACwAAIREhEQERIREhESERAQABAP4AAQABAAEABQD7AAYAAQD/AAEA/wAAAgAAAAAFAAgAAAMAFQAAGQEhGQIhESERIREhESERIREhESERAQACAP4AAgD/AAEAAQABAP8AAQADAP0A/wABAAMAAQABAAEAAQD/AP8A+gAAAAAABgAAAAAEAAgAAAMACQANABEAFQAZAAAhESERIREhESERAREhESERIREBESERIREhEQMAAQD8AAMA/gD/AAEAAQABAP4AAQABAAEABAD8AAUA/wD8AAYAAQD/AAEA/wABAAEA/wABAP8AAAAABgAAAAAEAAgAAAMABwALAA8AEwAXAAAhESERAREhESERIREBESERAREhEQERIREBAAIA/QABAAIAAQD9AAIA/wABAP4AAQABAP8AAQADAP0AAwD9AAMAAQD/AAIAAQD/AAEAAQD/AAAGAAAAAAQACAAAAwAHAAsADwATABcAACERIREBESERIREhEQERIREBESEZAiERAQACAP0AAQACAAEA/QACAP4AAQABAAEA/wABAAMA/QADAP0AAwABAP8AAgABAP8AAQABAP8AAAAAAAcAAAAABAAIAAADAAcACwAPABMAFwAbAAAhESERAREhESERIREBESERAREhESERIREBESERAQACAP0AAQACAAEA/QACAP4AAQABAAEA/gABAAEA/wABAAMA/QADAP0AAwABAP8AAgABAP8AAQD/AAEAAQD/AAAAAAgAAAAABAAIAAADAAcACwAPABMAFwAbAB8AACERIREBESERIREhEQERIREBESERIREhEQERIREhESERAQACAP0AAQACAAEA/QACAP0AAQABAAEA/gABAAEAAQABAP8AAQADAP0AAwD9AAMAAQD/AAIAAQD/AAEA/wABAAEA/wABAP8AAAYAAAAABAAHAAADAAcACwAPABMAFwAAIREhEQERIREhESERAREhEQERIREhESERAQACAP0AAQACAAEA/QACAP0AAQACAAEAAQD/AAEAAwD9AAMA/QADAAEA/wACAAEA/wABAP8AAAAAAwAAAQAFAAYAAAMABwALAAABESERAREhEQERIRECAAEA/QAFAP0AAQABAAEA/wACAAEA/wACAAEA/wAAAwAAAAAEAAUAAAMACwAVAAAhESERAREhESERIREhESERIREhESERAQACAP0AAQABAP8AAgD/AP8AAgABAAEA/wABAAMA/wD/AP8AAgABAAEA/wD9AAAAAAQAAAAABAAIAAADAAkADQARAAAZASEZAiERIREBESERAREhEQEAAgABAP4AAQD+AAEAAQAEAPwA/wABAAQA+wAGAAEA/wABAAEA/wAAAAAABAAAAAAEAAgAAAMACQANABEAABkBIRkCIREhEQERIRkCIREBAAIAAQD9AAEAAQABAAQA/AD/AAEABAD7AAYAAQD/AAEAAQD/AAAAAAUAAAAABAAIAAADAAkADQARABUAABkBIRkCIREhEQERIREhESERAREhEQEAAgABAP0AAQABAAEA/gABAAEABAD8AP8AAQAEAPsABgABAP8AAQD/AAEAAQD/AAAABAAAAAAEAAcAAAMACQANABEAABkBIRkCIREhEQERIREhESERAQACAAEA/AABAAIAAQABAAQA/AD/AAEABAD7AAYAAQD/AAEA/wAAAAUAAP8ABAAIAAADAAcADwATABcAABkBIREBESERAREhESERIREBESEZAiERAwD9AAEAAgD+AAIAAQD9AAEAAQD/AAEA/wADAAMA/QD+AAEAAQADAPsABgABAP8AAQABAP8AAAACAAD/AAQABwAAAwAPAAABESERAREhESERIREhESERAwABAPwAAQACAP4AAgD+AAEAAwD9AP4ACAD+AP8A/QD/AP8AAAUAAP8ABAAHAAADAAcADwATABcAABkBIREBESERAREhESERIREBESERIREhEQMA/QABAAIA/gACAAEA/AABAAIAAQD/AAEA/wADAAMA/QD+AAEAAQADAPsABgABAP8AAQD/AAAGAAAAAAQACgAAAwAHAAsADwATABcAACERIREBESEZAiERAREhEQERIREhESERAQADAPwAAQADAP4AAQD+AAEAAQABAAEA/wABAAUA+wAFAAEA/wACAAEA/wABAAEA/wABAP8AAAAAAAYAAAAAAwAIAAADAAcACwAPABMAFwAAIREhEQERIRkCIREBESERAREhESERIREBAAIA/QABAAIA/gABAP4AAQABAAEAAQD/AAEAAwD9AAMAAQD/AAIAAQD/AAEAAQD/AAEA/wAAAAAABQAAAAAFAAoAAAMACwAPABMAFwAAAREhEQERIREhESERAREhEQERIREhESERBAABAPsABAD9AAMA/gABAP4AAQABAAEAAQAFAPsA/wAHAP8A+wD/AAgAAQD/AAEAAQD/AAEA/wAAAAADAAAAAAYABwAAAwANABEAABkBIRkCIREhESERIREBESERAQACAP4AAgABAAEAAQABAAMA/QD/AAEAAwABAAIA+QAFAAIA/gAAAAAABAAAAAAEAAoAAAsADwATABcAADERIREhESERIREhEQERIREBESERIREhEQQA/QADAP0AAwD+AAEA/gABAAEAAQAHAP8A/gD/AP4A/wAIAAEA/wABAAEA/wABAP8AAAAABgAAAAAEAAgAAAMADQARABUAGQAdAAAhESERAREhESERIREhGQIhEQERIREBESERIREhEQEAAwD8AAEAAgABAP0AAgD/AAEA/gABAAEAAQABAP8AAQADAP8AAQD+AP8AAwABAP8AAgABAP8AAQABAP8AAQD/AAAAAQAAAAABAAUAAAMAADERIREBAAUA+wAABgAAAAAFAAoAAAMACwATABcAGwAfAAABESERAREhESERIREhESERIREhEQERIREBESERIREhEQIAAQD9AAEAAQD/AAMA/wABAAEA/QABAP4AAQABAAEABAABAP8A/AAHAP8A/wD7AAMAAQADAPkACAABAP8AAQABAP8AAQD/AAAFAAAAAAQACAAAAwAJAA0AEQAVAAAhESERIREhESERAREhEQERIREhESERAwABAPwAAwD+AAEAAQD+AAEAAQABAAQA/AAFAP8A/AAGAAEA/wABAAEA/wABAP8AAAIAAAAABgAHAAADABMAABkBIRkCIREhESERIREhESERIREBAAIA/gAFAP4AAgD+AAIAAQAFAPsA/wABAAUAAQD/AP4A/wD+AP8AAAAGAAAAAAUABQAAAwAHAAsAFQAZAB0AACERIREhESERAREhESERIREhESERIREBESERIREhEQEAAQABAAIA+wABAAEAAQABAAEA/gD+AAEAAQABAAEA/wABAP8AAQADAP0AAwD/AAEA/gD/AAMAAQD/AAEA/wAAAAAGAAAAAAUACgAAAwAHABEAFQAZAB0AACERIREBESERAREhESERIREhEQERIREBESERIREhEQQAAQD/AAEA+wAEAP0AAwD9AAEAAQD+AAEAAQABAAIA/gADAAMA/QD9AAcA/wD9AP8A/gAIAAEA/wABAAEA/wABAP8AAAAABQAAAAAEAAgAAAcACwAPABMAFwAAMREhESERIREBESERAREhEQERIREhESERAQABAP8AAQACAP4AAQD+AAEAAQABAAUA/wD/AP0ABAABAP8AAgABAP8AAQABAP8AAQD/AAAAAAgAAAAABQAKAAADAAcACwAPABMAFwAbAB8AADERIRkCIREBESERAREhGQIhEQERIREBESERIREhEQQAAQD8AAMA/AABAAQA/QABAP4AAQABAAEAAQD/AAEAAgD+AAIAAQD/AAEAAgD+AAIAAQD/AAIAAQD/AAEAAQD/AAEA/wAACAAAAAAEAAgAAAMABwALAA8AEwAXABsAHwAAMREhGQIhEQERIREBESEZAiERAREhEQERIREhESERAwABAP0AAgD9AAEAAwD+AAEA/gABAAEAAQABAP8AAQABAP8AAQABAP8AAQABAP8AAQABAP8AAgABAP8AAQABAP8AAQD/AAAEAAAAAAUACgAABwALAA8AEwAAIREhESERIREBESERAREhESERIRECAP4ABQD+AP8AAQD+AAEAAQABAAYAAQD/APoACAABAP8AAQABAP8AAQD/AAADAAAAAAYABwAAAwAPABMAACERIREBESERIREhESERIREBESERAgACAP0A/wABAAEAAgD+AAMAAQABAP8AAQADAAEAAgD+AP8A/QAEAAIA/gAAAAAHAAAAAAUACwAAAwAHAAsADwATABcAGwAAIREhEQERIREhESERAREhEQERIREhESERAREhEQEAAwD8AAEAAwABAP0AAQD+AAEAAQABAP4AAQABAP8AAQAGAPoABgD6AAcAAQD/AAEAAQD/AAEA/wABAAEA/wAAAAAGAAAAAAQACQAAAwAJAA0AEQAVABkAABkBIRkCIREhEQERIREBESERIREhEQERIREBAAIAAQD+AAEA/gABAAEAAQD+AAEAAQAEAPwA/wABAAQA+wAGAAEA/wABAAEA/wABAP8AAQABAP8AAAAFAAAAAAUACQAABwALAA8AEwAXAAAhESERIREhEQERIREhESERAREhESERIRECAP8AAwD/AP0AAQADAAEA+wABAAMAAQADAAEA/wD9AAQAAwD9AAMA/QAEAAEA/wABAP8AAAAACAAAAAAFAAoAAAUACQANABEAFwAbAB8AIwAAMREhESERAREhGQIhGQIhGQIhESERAREhEQERIREhESERAQAEAPwAAQABAAEA/AAFAP0AAQD+AAEAAQABAAIA/wD/AAIAAQD/AAEAAQD/AAEAAQD/AAEAAQABAP4AAwABAP8AAQABAP8AAQD/AAAAAAAGAAAAAAUACAAABwALABMAFwAbAB8AADERIREhESERAREhGQIhESERIREBESERAREhESERIREBAAEAAwD9AAEA/QAFAP8A/gABAP4AAQABAAEAAQABAP8A/wACAAEA/wABAAEAAQD/AP8AAwABAP8AAQABAP8AAQD/AAAAAwAA/wAFAAcAAAMADwATAAAZASEZAiERIREhESERIRkCIRECAP8AAQABAAEA/wACAP8AAQD/AAEAAwABAAIA/gD/AP0ABgABAP8AAAEAAAMABQAEAAADAAAZASERBQADAAEA/wAAAAABAAAFAAEABwAAAwAAGQEhEQEABQACAP4AAAAAAQAABQABAAcAAAMAABkBIREBAAUAAgD+AAAAAAEAAP8AAQABAAADAAAZASERAQD/AAIA/gAAAAACAAAFAAMABwAAAwAHAAAZASERIREhEQEAAQABAAUAAgD+AAIA/gAAAgAABQADAAcAAAMABwAAGQEhESERIREBAAEAAQAFAAIA/gACAP4AAAIAAP8AAwABAAADAAcAABkBIREhESERAQABAAEA/wACAP4AAgD+AAABAAAAAAUABwAACwAAIREhESERIREhESERAgD+AAIAAQACAP4ABQABAAEA/wD/APsAAAAAAQAAAwABAAQAAAMAABkBIREBAAMAAQD/AAAAAAMAAAAABQABAAADAAcACwAAMREhESERIREhESERAQABAAEAAQABAAEA/wABAP8AAQD/AAAFAAABAAMABgAAAwAHAAsADwATAAABESERAREhEQERIRkCIRkCIRECAAEA/gABAP4AAQABAAEAAQABAP8AAQABAP8AAQABAP8AAQABAP8AAQABAP8AAAAABQAAAQADAAYAAAMABwALAA8AEwAAGQEhGQIhGQIhEQERIREBESERAQABAAEA/gABAP4AAQABAAEA/wABAAEA/wABAAEA/wABAAEA/wABAAEA/wAAAwAAAAAFAAcAAAMAFwAbAAAhESERAREhESERIREhESERIREhESERIRkCIRECAAMA/AD/AAEA/wABAAEAAgD+AAIA/gADAAEA/wABAAEAAQABAAEAAQD/AP8A/wD/AP8ABQABAP8AAAADAAADAAgABwAAAwARABkAAAERIREBESERIREhESERIREhESERIREhESERBQABAPsA/wAEAAEA/wD/AP8ABQD/AAEAAQAEAAEA/wD/AAMAAQD/AP8A/gADAP0AAgABAAEA/AAAAAAWAQ4AAQAAAAAAAABNAAAAAQAAAAAAAQANAE0AAQAAAAAAAgAHAFsAAQAAAAAAAwAVAE0AAQAAAAAABAAVAE0AAQAAAAAABQAXAGIAAQAAAAAABgATAHkAAQAAAAAACQAfAIwAAQAAAAAACgA/AKsAAQAAAAAADAAlAOoAAQAAAAAADgAuAQ8AAwABBAkAAACaAT0AAwABBAkAAQAaAdcAAwABBAkAAgAOAfMAAwABBAkAAwAqAdcAAwABBAkABAAqAdcAAwABBAkABQAuAgEAAwABBAkABgAmAi8AAwABBAkACQA+AlUAAwABBAkACgB+ApMAAwABBAkADABKAxEAAwABBAkADgBcA1upIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMgR3JhbmQgQ2hhb3MgUHJvZHVjdGlvbnMuIFNvbWUgUmlnaHRzIFJlc2VydmVkLkdyYW5kOUsgUGl4ZWwgUmVndWxhclZlcnNpb24gMS4wIC0gNS8xMy8yMDEzR3JhbmQ5S1BpeGVsUmVndWxhckpheXZlZSBELiBFbmFndWFzIChHcmFuZCBDaGFvcylUaGlzIGZvbnQgd2FzIGNyZWF0ZWQgdXNpbmcgRm9udENyZWF0b3IgNS42IGZyb20gSGlnaC1Mb2dpYy5jb21odHRwOi8vZ3JhbmRjaGFvczkwMDAuZGV2aWFudGFydC5jb20vaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wLwCpACAAMgAwADAAOQAsACAAMgAwADEAMAAsACAAMgAwADEAMQAsACAAMgAwADEAMgAsACAAMgAwADEAMwAgAEcAcgBhAG4AZAAgAEMAaABhAG8AcwAgAFAAcgBvAGQAdQBjAHQAaQBvAG4AcwAuACAAUwBvAG0AZQAgAFIAaQBnAGgAdABzACAAUgBlAHMAZQByAHYAZQBkAC4ARwByAGEAbgBkADkASwAgAFAAaQB4AGUAbAAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwACAALQAgADUALwAxADMALwAyADAAMQAzAEcAcgBhAG4AZAA5AEsAUABpAHgAZQBsAFIAZQBnAHUAbABhAHIASgBhAHkAdgBlAGUAIABEAC4AIABFAG4AYQBnAHUAYQBzACAAKABHAHIAYQBuAGQAIABDAGgAYQBvAHMAKQBUAGgAaQBzACAAZgBvAG4AdAAgAHcAYQBzACAAYwByAGUAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAEYAbwBuAHQAQwByAGUAYQB0AG8AcgAgADUALgA2ACAAZgByAG8AbQAgAEgAaQBnAGgALQBMAG8AZwBpAGMALgBjAG8AbQBoAHQAdABwADoALwAvAGcAcgBhAG4AZABjAGgAYQBvAHMAOQAwADAAMAAuAGQAZQB2AGkAYQBuAHQAYQByAHQALgBjAG8AbQAvAGgAdAB0AHAAOgAvAC8AYwByAGUAYQB0AGkAdgBlAGMAbwBtAG0AbwBuAHMALgBvAHIAZwAvAGwAaQBjAGUAbgBzAGUAcwAvAGIAeQAtAHMAYQAvADMALgAwAC8AAAAAAgAAAAAAAP8nAJYAAAAAAAAAAAAAAAAAAAAAAAAAAADZAAAAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAowCEAIUAlgDoAI4AiwCpAKQAigCDAJMAjQCXAIgAwwDeAKoAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AP8BAAEDAQQBBQEGANcBBwEIALAAsQEJAQoA5ADlAQsBDAENAQ4AuwDmAOcApgCzALYAtwDEALQAtQDFAIIAhwCrAL4AvwEPAIwHdW5pMDBBMAZEY2Fyb24GZGNhcm9uBkVjYXJvbgZlY2Fyb24GTmNhcm9uBm5jYXJvbgZSY2Fyb24GcmNhcm9uBlRjYXJvbgZ0Y2Fyb24FVXJpbmcFdXJpbmcERXVybwAAAAAB//8AAg=="},function(A,e){A.exports="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BgYCAgQDAwYBAwMEBAIEAgMFBAUFBQUFBQUFAgIDBAMEBQYFBAYGBgUGAwUHBQgGBQUFBgQGBgYIBwcFAgMCBAQDBQQEBQYDAwYDCQUEBQQEBAQGBQcGBQQAAAAMCgYABgYCAwUDBAYBAwMEBQMEAgMFBAUGBQUFBgUFAgIDBAQEBQcGBQYGBgYGAwUHBgkHBgYGBwUGBwcJCAcFAgMDBAUEBQQEBgcDBAYDCgYEBQQFBQQGBQgGBgQAAAANCwcABwcCAwUDBAcBAwMFBQMEAgQGBAUGBgYGBgYFAgIDBAQEBQcGBQcHBwYHAwYIBgkIBgYGBwUHBwcKCAgGAwMDBAUEBQQEBgcEBAcDCwYFBQQFBQQHBggHBgUAAAAOCwcABwcCAwUEBAcCBAQFBQMFAwQGBQYHBgYGBgYGAgIEBQQEBggHBQgHBwcHAwYJBwoIBwYHCAUHCAgKCQgGAwQDBQYEBgUFBwgEBAcDCwcFBgUGBQUHBgkHBwUAAAAPDAgACAgCAwYEBAgCBAQFBgMFAwQGBQYHBwcGBwcGAgIEBQUFBgkHBggICAcIBAYJBwsJBwcHCAYICAgLCgkHAwQDBQYEBgUFBwgEBQgEDAcFBgUGBgUIBwoIBwUAAAAQDQgACAgCBAYEBQgCBAQGBgMFAwQHBQcIBwcHBwcHAgMEBgUFBwkIBgkICAgIBAcKCAwJCAcICQYICQkMCgoHAwQEBQYFBwUFBwkEBQgEDQgGBwYGBgUIBwoICAYAAAARDgkACQkDBAYFBQkCBAQGBgQGAwUHBgcICAcHCAgHAwMEBgUFBwoIBgkJCQgJBAcKCAwKCAgICQYJCgkNCwoIBAQEBgcFBwYGCAkFBQkEDggGBwYHBwYJCAsJCAYAAAASDwkACQkDBAcFBQkCBQUGBwQGAwUIBgcJCAgICAgHAwMFBgUGBwoJBwoKCQkKBAgLCQ0LCQgJCgcJCgoNDAsIBAUEBgcFCAYGCAoFBQkEDwkHCAYHBwYJCAwJCAYAAAATEAoACgoDBAcFBgoCBQUHBwQGAwUIBggJCQgICQgIAwMFBwYGCAsJBwoKCgkKBQgMCQ4LCQkJCgcKCwoODAsIBAUEBggGCAYGCQoFBgoFEAkHCAcIBwYKCQwKCQcAAAAUEAoACgoDBAgFBgoCBQUHCAQHBAYJBggKCQkICQkIAwMFBwYGCAsKCAsLCgkLBQkMCg4MCgkKCwgKCwsPDQwJBAUEBwgGCAcHCQsGBgoFEAoHCAcICAcKCQ0KCQcAAAAVEQsACwsDBQgGBgsCBQUHCAQHBAYJBwkKCgkJCgkJAwMFBwYHCQwKCAsLCwoLBQkNCg8MCgoKCwgLDAwQDgwJBAUFBwgGCQcHCgsGBgsFEQoICQcICAcLCQ4LCgcAAAAWEgsACwsDBQgGBwsCBgYICAUHBAYKBwkLCgoJCgoJAwMGCAcHCQ0LCAwMDAoMBQkNCxANCwoLDAgLDAwQDg0KBQYFBwkHCQcHCgwGBwsFEgsICQgJCAcLCg4LCggAAAAXEwwADAwDBQkGBwwCBgYICQUIBAYKBwkLCgoKCwoJAwQGCAcHCQ0LCQwMDAsMBgoOCxENCwsLDQkMDQ0RDw4KBQYFCAkHCggICwwGBwwFEwsICggJCQgMCg8MCwgAAAAYFAwADAwEBQkGBwwDBgYICQUIBAcKCAoMCwoKCwsKBAQGCAcICg4MCQ0NDQsNBgoPDBEODAsMDQkMDg0SEA4LBQYFCAoHCggICw0HBwwGFAwJCggKCQgMCxAMCwgAAAAAAQAAAZAABQACArwCigAAAI8CvAKKAAABxQAyAQMAAAAABAAAAAAAAAAAAAADAAAAAAAAAAAAAAAATUFDUgBAACAAegKz/zsAAAKzAMUAAAABAAAAAAAAAAEAAIAAAAAB9AGKAABgAAKzAnVCbGFjayBib3lzIG8gICAg/////zf///5CTEFSMDAAAAAAAAAAAQAAAAEAABIO2bBfDzz1AAAD6AAAAAC0STWnAAAAALRJNaf/mf87A2oDIAAAAAMAAgABAAAAAAABAAADIP84AAADMP+Z/7gDagABAAAAAAAAAAAAAAAAAAAAWwABAAAAWwChAAMAAAAAAAIACABAAAoAAABeALsAAQABAAAAEADGAAEAAAAAAAAAMgAAAAEAAAAAAAEACwAyAAEAAAAAAAIABwA9AAEAAAAAAAMACwBEAAEAAAAAAAQACwBPAAEAAAAAAAUAIABaAAEAAAAAAAYACwB6AAEAAAAAAAcAGgCFAAMAAQQJAAAAZACfAAMAAQQJAAEAFgEDAAMAAQQJAAIADgEZAAMAAQQJAAMAFgEnAAMAAQQJAAQAFgE9AAMAAQQJAAUAQAFTAAMAAQQJAAYAFgGTAAMAAQQJAAcANAGpQnkgSmFrb2IgRmlzY2hlciBha2EgUGl6emFEdWRlICpEaXN0cmlidXRlIGZyZWVseSpTY3JhdGNoRm9udFJlZ3VsYXJTY3JhdGNoRm9udFNjcmF0Y2hGb250aHR0cDovL2hqZW0uZ2V0Mm5ldC5kay9qZmlzY2hlci9TY3JhdGNoRm9udCoqKiBObyBUcmFkZU1hcmsgRm91bmQgKioqAEIAeQAgAEoAYQBrAG8AYgAgAEYAaQBzAGMAaABlAHIAIABhAGsAYQAgAFAAaQB6AHoAYQBEAHUAZABlACAAKgBEAGkAcwB0AHIAaQBiAHUAdABlACAAZgByAGUAZQBsAHkAKgBTAGMAcgBhAHQAYwBoAEYAbwBuAHQAUgBlAGcAdQBsAGEAcgBTAGMAcgBhAHQAYwBoAEYAbwBuAHQAUwBjAHIAYQB0AGMAaABGAG8AbgB0AGgAdAB0AHAAOgAvAC8AaABqAGUAbQAuAGcAZQB0ADIAbgBlAHQALgBkAGsALwBqAGYAaQBzAGMAaABlAHIALwBTAGMAcgBhAHQAYwBoAEYAbwBuAHQAKgAqACoAIABOAG8AIABUAHIAYQBkAGUATQBhAHIAawAgAEYAbwB1AG4AZAAgACoAKgAqAAAAAABUAGgAaQBzACAARgBvAG4AdAAgAFIAZQBuAGEAbQBlAGQAAAAAAAAA/AAAAxg="},function(A,e){A.exports="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AooQJgJX890QJgB2BPkQBgKDAAD//wAK//YCTgI3ECYE8EXqEAYCgwAA//8ACv8uAk4CNxAmAlfz3RAmBPBF6hAGAoMAAP//AB0AAAI7AtcQJgH87cQQBgAkAAD//wAdAAACOwLLECcAcf/6AJkQBgAkAAD///+HAAACOwI7ECcFG/63/3UQBgAkAAD///+BAAACOwI7ECcFJv5Q//4QBgAkAAD//wAd//8DNgIyECcE7gIzAK4QBgAkAAAAAQCrAkYBKgL4ABIAAAEGBwYHJzY3NicmNzY3NhcWFxYBHg83EBANGBAMChwFBiEICigJBgKgNRsHAxAGGBMOESQkCAIBAiUbAAABAGH/UQED/90AEQAAFzMGMQYXFjc2FxYHBicmJyY1YjgBAR0bIA4EBAouMzIGASMuIxEPFQkNDAckEBA4BwcAAQExAfABsAKiABIAAAEGBwYHJzY3NicmNzY3NhcWFxYBpA85DhANGBAMChwFBiEICigJBgJKNRsHAxAGGBMOESQkCAIBAiUbAAABAEMCBQD9Ak0AFQAAEzY3NjMyFxY3NjczFgcGIyYnJiMGB0MBJA8QDRwOCCARBQMbDBAVFw0KJRQCBicWChULAQMYJRUJARQLAR///wCBAeIBagKyECYE8FVkEAYAagAA//8AFv84AkACjxAmAleN5xAmAEMA/hAGAokAAP//ABb/OAJAAbgQJgJXjecQBgKJAAD//wAW/zgCQAKPECYCV43nECYAdgP+EAYCiQAA//8AFv9AAkACPBAnBPAAof/vEAYCiQAA//8AFv54Al0CPBAnAlcA5/8nECcE8ACh/+8QBgKJAAD///9XAAACKAI7ECcFG/6H/3UQBgAoAAD///9RAAACKAI7ECcFJv4g//4QBgAoAAD///8sAAACOQI7ECcFG/5c/3UQBgArAAD///8mAAACOQI7ECcFJv31//4QBgArAAD//wAf//8DNAIyECcE7gIxAK4QBgArAAD//wExAfACigKiECcFGwEC/9wQBgTvAAD//wExAfACkAKiECcFJgChAGQQBgTvAAD//wEbAfAB1gMlECcE8ADYANcQBgTvAAD//wBn/z8CHwJOECcB/P/i/zsQBgKLAAD//wA2/z8CHwJCECYAce8QEAYCiwAA//8AZ/8/Ah8C9RAmAEMYZBAmAGpN8BAGAosAAP//AB3/PwIfApYQJgHsQwEQJgBqnMYQBgKLAAD//wBn/z8CHwI2ECYE8EPpEAYCiwAA//8AZ/8/Ah8CvhAmBPBDcBAmAGruDBAGAosAAP//AFkAAAH/AtcQJgH8K8QQBgAsAAD//wBZAAAB/wLLECcAcQA4AJkQBgAsAAD///9nAAAB/wI7ECcFG/6X/3UQBgAsAAD///9hAAAB/wI7ECcFJv4w//4QBgAsAAD//wCMAkYB1QL4ECYFG00xEAYFJwAA//8AjAJGAdsC+BAnBSb/7QC6EAYFJwAA//8AZgJGASEDexAnBPAAIwEtEAYFJwAA//8AFv/yAg8CThAnAfwAC/87EAYClwAA//8AFv/yAg8CQhAmAHEYEBAGApcAAP//ABb/8gIPAvUQJgBD6GQQJgBqHfAQBgKXAAD//wAW//ICDwKWECYB7G0BECYAasbGEAYClwAA//8AIf9AAjkCoBAmBO/k/hAGAFMAAP//ACH/QAI5AqAQJwUnAIj/qBAGAFMAAP//ABb/8gIPAjYQJgTwbekQBgKXAAD//wAW//ICDwK+ECYE8G1wECYAahcMEAYClwAA//8AIAAAAjcC1xAmAfwqxBAGADwAAP//ACAAAAI3AssQJwBxADcAmRAGADwAAP///y0AAAI3AjsQJwUb/l3/dRAGADwAAP///ycAAAI3AjsQJwUm/fb//hAGADwAAP///3oAAAItAjsQJwUn/u7/RBAGADMAAP//AIEB4gFqAv8QJgUbyjkQBgBqAAD//wCBAeIBagLQECcB7ACnADsQBgBqAAAAAQDQAjEBhwLGAAMAABMzFyPQT2gnAsaVAP//AAb/NgJSAoEQJgJXO+UQJgBDAfAQBgKbAAD//wAG/zYCUgGqECYCVzvlEAYCmwAA//8ABv82AlICTBAmAlc75RAnAewA3v+3EAYCmwAA//8ABv/+AlICNhAnBPAAjP/pEAYCmwAA//8ABv82AlICNhAmAlc75RAnBPAAjP/pEAYCmwAA////f//3AhoCOxAnBRv+r/91EAYAMgAA////yf/3AhoCOxAnBSb+mP/+EAYAMgAA////YwAAAlMCPBAnBRv+k/92EAYCewAA////twAAAlMCPBAnBSb+hv//EAYCewAA//8AAP//A04CPBAnBO4CSwCuEAYCewAAAAEBMQGkAe4CPQADAAABByM3Ae6UKWsCPZmZAAABAIwCRgELAvgAEgAAEyY3Njc2FxYHBgcGFxYXByYnJpgVDw0gKQ0MGAMFDh8NDA06HwkCoBsgGgIDJSIYAwMVGwwDEAsyDgABAHYA5AGtATsAAwAAEyEVIXYBN/7JATtXAAEAdgDkAa0BOwADAAATIRUhdgE3/skBO1cAAQB2AOQBrQE7AAMAABMhFSF2ATf+yQE7VwABAHYA5AGtATsAAwAAEyEVIXYBN/7JATtXAAEAIADkAjkBOwADAAATIRUhIAIZ/ecBO1f//wAgAOQCOQE7EAYFMAAAAAIAvv9xAY4CMgADAAcAAAERIxEzESMRARZY0FgCMv0/AsH9PwLBAP//ACP/cAI2ACgQJgBCAAAQBgBCAF0AAQDFAcUBfQKRAAMAABM3MwfFii5bAcXMzAABAMUBxQF9ApEAAwAAAQcjNwF9ii5bApHMzAAAAQDF/5oBfQBmAAMAABc3MwfFii5bZszMAAABAMX/jgF9AFoAAwAAJQcjNwF9ii5bWszMAAIAjQHFAfgCkQADAAcAABM3MwczNzMHjYsuXFaKLlsBxczMzMwAAgCYAacCAwJzAAMABwAAAQcjNyMHIzcCA4ovXFaKLlsCc8zMzMwAAAIAf/+aAgYAZgADAAcAABc3MwczNzMHf4suXHKKLltmzMzMzAAAAgCK/6QB9QBwAAMABwAAFzczBzM3MweKii5bVYsuXFzMzMzMAAACAHb/2gHgAqIAAwAHAAABESMRByEVIQFRUIsBav6WAqL9OALIg1AAAQB2/9oB4AKiABMAADczESM1MzUzFTMVIxUzFSMVIzUjdouLi1CPj4+PUIvQAP9Qg4NQ/1CmpgABALMAhAGZAWkAEAAANwc0NzYzMhcWFRQHBiMiJya0ATMdIzwiFTMdIz0iE/cBPSMTMR0kPSMTMx0AAQD2AHgBgQGQAAIAABMXB/aLiwGQi40AAQDa/+cBfgB1AA8AADc0NzYzMhcWFRQHBiMiJybaKBMXMBgKKBMXMBgKLigVCiUQEigVCiUQAAACAG7/5wHqAHUADwAfAAA3NDc2MzIXFhUUBwYjIicmNzQ3NjMyFxYVFAcGIyInJm4pExYxFwkoExYyFwnZKBMWMhcJKRMWMRcJLikUCiYPEikUCiYPEikUCiYPEikUCiYPAAMANf/8AiMAYAAPAB8ALwAANzQ3NjMyFxYVFAcGIyInJjc0NzYzMhcWFRQHBiMiJyY3NDc2MzIXFhUUBwYjIicmNR8MDSUPBSAMDSQPBcYfDA0lDwUgDA0kDwW3IAwNJA8FHwwNJQ8FLh8OBR4JCx8OBR4JCx8OBR4JCx8OBR4JCx8OBR4JCx8OBR4JAAABANoA2AF+AWcADwAAEzQ3NjMyFxYVFAcGIyInJtopExYwGAooExcwGAoBHyoUCiUQEygVCiUQAAEAvAHiAZMCkQADAAABByM3AZOpLnoCka+vAAACAH8B4gHjApEAAwAHAAABByM3MwcjNwFWqS566qkuegKRr6+vrwAAAwBHAeICOgKRAAMABwALAAABByM3MwcjNzMHIzcBHqkueuypLnrqqC96ApGvr6+vr68AAAEAsAHiAYcCkQADAAATMxcjsF16LwKRrwAAAgB/AeIB4wKRAAMABwAAATMXIyUzFyMBDF16Lv7KXXouApGvr68AAAMANAHiAigCkQADAAcACwAAATMXIyUzFyMlMxcjAVFdei/+yF16Lv7KXXouApGvr6+vrwABADb/RgFO//EABQAABQcnByc3AU4fcHAZjZsfXFMWjAAAAQCNABsB3wHFAAUAAAEHFwctAQHap6wy/uABIQGNnaE01dUAAQCjABsB9QHFAAUAABM3DQEnN6gsASH+4DKsAY041dU0oQAABQAA/9QCWAJjAAsAGwArADsASwAAARUJARUJATUJATUBFzIXFhUUBwYjIicmNTQ3NhMyFxYVFAcGIyInJjU0NzYTNDc2MzIXFhUUBwYjIicmJTQ3NjMyFxYVFAcGIyInJgJY/u4BEv7T/tUBEP7wASsFKRQKJRASKhQKJhARKRQKJRASKBUKJg96KBMXMBgKKRMWMBgK/pIpExYxFwkoExYwGAoCYzX+7v7uNQEs/tM4ARABDzj+1HcoExYwGAopExYxFwkBXygTFjAYCigTFzEXCf7zKBUKJRASKhQKJRAXKRUJJRASKRQKJRAA//8AX//mAfkCYhAnAAQAowAAEAYABJ0AAAEAIwKOAjYC6QADAAATIRUhIwIT/e0C6VsAAQAk/3QCJP/OAA8AAAUGBwYjIicmJzMWMzI3NjcCJBFtOkeXSBwGKiC2kT8IBTI0GQ0xEhcpIAQFAAEAJAKrAiQDBQAPAAABIyYnJiMiByM2NzYzMhcWAiQjKY0UE7UhKg1rPUyXSBkCqyIGASkzGQ4yEgAB//YAAAB4ApkAAwAAEzMDI1UjZB4Cmf1nAAIA1AGSAYQCtAAHAA0AAAEUFzI1NCciNzIVFCIQAQErKysrK1iwAiNjAWRjAS2RkQEiAAACAMEBlgGXAq8ADgARAAATNzMVMxUjFTMVIzUzNSM3BzPBiC8bGx9tIImIQ0MB+7SlLxgtLRiFVgAAAQDAAZQBnAKyABkAAAEHMzIXFhUUBwYjIic3FjMyNzY1NCsBNTMVAQ4BIVYTBT8ZGjE5GiwjMQ8EP1C5AoU6Ow4ROxgKJiceHggIK5YtAAACAMsBkQGLAq8AGgAqAAABMhcWFRQHBiMiJyY9ATQ3NjsBFSMiBwYdATYXIgcGFRQXFjMyNzY1NCcmASs1HQ4uFxs0HQ8vHiREQycVBxYbIQwEGwoMIgwDHAoCRSoWGjIbDSoWGl8xIBQvIQsKEQwvGwgIGgwFHQcHGwwEAAABAMYBlgGJAq8ACQAAATcjFSM1MxUGAwEESlouwwRQAZbsGEUOC/8AAAADANQBkQGFArUADAAYADEAAAEVNCcmIyIHBhUUMzInFDMyNTQnJiMiBwYHFTQ3NjMyFxYVFAcWFRQHBiMiJyY1NDcmAVYaCAgbCwMpKlAmJxQJCh8GAS80EBEuGg4YGzASF0YPAxoXAfoBHAsDGwgJN64cHA4HAxQCAgEwEgYeERciFRklRxkJRg8RJxoUAAACAN8BkgGdArEAGgAqAAABIicmNTQ3NjMyFxYdARQHBisBNTMyNzY9AQYnMjc2NTQnJiMiBwYVFBcWAT41HA4uFxo1HA4uHyNDQyUVBxcZIAwEGwoLIgwDHAoB/CsWGjMaDSoWGmAwIBUvIQsKEg0vHAgIGwwEHQcHHAwEAAABAMwBtAGMAnUACwAAEzM1MxUzFSMVIzUjzEgtS0stSAIsSUktS0sAAQDMAesBjAIWAAMAABMzFSPMwMACFisAAgDeAeQBegJmAAMABwAAEzMVIxUzFSPenJycnAJmLCosAAEA5AEoAWICqAAQAAABBwYVFBcWFyMwJyY1NDc2NwFdDz8xEBIxCUQzCwwCqBNQXExMGBEJU2VZShAMAAEBGgEoAZkCqAAQAAABMxYXFhUUBwYxIzY3NjU0JwEfLzkPA0UJMTcVBz8CqDpcFRRmUgk1VxwZXFAAAAEAoQF7AbcCVwAeAAATFTYzMhcWHQEzFSM1MzU0JyYjIgcVMxUjNTM1IzUz7CgjKSQVHmkeGA0QHC8eaR4eSwI+ARohExNqKypRGxIJHWkrKoErAAIA1P+IAYQAqgAHAA0AACUUFzI1NCciNzIVFCIQAQErKysrK1iwGWMBZGMBLZGRASIAAQDM/4wBhQClAAoAAD8BMxUzFSM1MzUHzEovQK9BMXIz7C0ttSEAAAEAx/+MAZIAqgAfAAA3NTQ3NjMyFxYVFA8BBhUzNTMVIzU0PwE2NTQnJiMiFcc4FxoxHhNDOxZYLbQ+PhgVDhA6QQ04GQsfExo0KiYRECBNLS8nJRMTDQwIOgAAAQDN/4YBjQCpACgAABcWMzI3NjU0JyYrATUzMjc2NSYnJiMiByc2MzIXFhUWBxYXFAcGIyIn8RsZJRAEHAIDGBQZCgIBGgoMHh8jLjE1HA8BHBoCORYYMSgqIR4JCCUGAS8UBQQTCAMkHzQhExkgFRU0NxcKMgAAAgDB/4wBlwClAA4AEQAAFzczFTMVIxUzFSM1MzUjNwczwYgvGxsfbSCJiENDD7SlLxgtLRiFVgABAMD/igGcAKgAGQAAJQczMhcWFRQHBiMiJzcWMzI3NjU0KwE1MxUBDgEhVhMFPxkaMTkaLCMxDwQ/ULl7OjsOETsYCiYnHh4ICCuWLQACAMv/hwGLAKUAGgAqAAAlMhcWFRQHBiMiJyY9ATQ3NjsBFSMiBwYdATYXIgcGFRQXFjMyNzY1NCcmASs1HQ4uFxs0HQ8vHiREQycVBxYbIQwEGwoMIgwDHAo7KhYaMhsNKhYaXzEgFC8hCwoRDC8bCAgaDAUdBwcbDAQAAQDG/4wBiQClAAkAAAU3IxUjNTMVBgMBBEpaLsMEUHTsGEUOC/8AAAMA1P+HAYUAqwALABcAMAAABTQnJiMiBwYVFDMyJxQzMjU0JyYjIgcGBxU0NzYzMhcWFRQHFhUUBwYjIicmNTQ3JgFWGggIGwsDKSpQJicUCQofBgEvNBARLhoOGBswEhdGDwMaFxEcCwMbCAk3rhwcDgcDFAICATASBh4RFyIVGSVHGQlGDxEnGhQAAgDf/4gBnQCnABoAKgAABSInJjU0NzYzMhcWHQEUBwYrATUzMjc2PQEGJzI3NjU0JyYjIgcGFRQXFgE+NRwOLhcaNRwOLh8jQ0MlFQcXGSAMBBsKCyIMAxwKDisWGjMaDSoWGmAwIBUvIQsKEg0vHAgIGwwEHQcHHAwEAAEAzP+qAYwAawALAAA3MzUzFTMVIxUjNSPMSC1LSy1IIklJLUtLAAABALz/4QF8AAwAAwAANzMVI7zAwAwrAAACAN7/2gF6AFwAAwAHAAA3MxUjFTMVI96cnJycXCwqLAAAAQDk/z8BYgDAABAAACUHBhUUFxYXIzAnJjU0NzY3AV0PPzAQEzEJRDILDb8TUFxKTBkSClNkWEoRDQAAAQEa/zsBmQC8ABAAACU3FhcWFRQHBjEjNjc2NTQnAR8vOA8ERQkxNhYHP7sBOV0WFGVSCjRXHRlcUQAAAQAuAAACAQKJACMAACUjFTMVITUzNSYnJjU0NzYXFhcHJgcGFRQXFhc1IzUhFSMVMwGgXr/+0h9bOi8wR3oICBhMLh82HCIfASu8XsV1UFB2B0s9S1JGaB8CAkwYQCw9RCsXBERQUEUAAAMANf/YAj4CjQADAAcANAAAFwEXCQInAQcyFxYXFjc2NTY3FwYVFBcHJicmIyIHBhUUFxYzMjc2NxcGBwYjIicmNTQ3NjUBN0j+yQHB/sBIAUCxPx8EBAoBAQMJPhMTSRUwFxc/LCc2KDQ0MAMDQS1QGBZoRkBMRAUCkiL9bgKO/XEkAo9XGAIEBwICAxYTEDQPFi8RKRYKPTdSXD4uNgMEPzgTBllScHxUSwABADH//gI4Aj8AOwAAATIXFhcWNzY3FwYVFBcHJicmIyIHBhUUFxYXNSM1MxU2MzIXByYnJiMiBwYHFTY3FwYHBiMiJyY1NDc2AR8+IQMFCQIDCT4TE0kVMBcXPywnNhkfPJYsLlE4SxUPChAbLwsFHhZCLVAZFmhGQExEAjQYAgQJCRYTEDQPFi8RKRYKPTdSXD4dC81UICU1PBQDAyYIBJMRHD84EwZZUnB8VEsAAAIADgAAAkoCMgADACEAACU1IxUlJicmIyIHBgcVMxUhNTMRIzUhFyMnIRUzFTYzMhcBDFsBThUPChAaLwwGO/5tSEgB6Ac0B/7vtS8sUThU0NC4FAMDJQkEoFRUAYpUoU1mICU1AAEAN//JAgUCXAA/AAATMyYnNDc2MzIXFhcHJiMiBwYVFBcWFzMVIxYXMxUjBgcyNzIXFjMyNzY3FwYjIicmIyIHBgcnNjc2NyM1MycjNzwMAV0/SFlOCgo6QEhRJhINAQHQsAsFoJ4EFgEnHi0dCzMgBgYkM1AiLSYXNhkKCjkpGwoEb20QXQFjJxhgNiRFCAo6PTEYHR0eAgJCFhpHJi4EJRghBgdDPx8bEQcKKylHGBZHMAAAAgAA/5QCWAIvAAsANAAAJSc0JyYjIgcGBxUzEzY/ARcHFhcWHQEzFSMRNCMiDwIzFSM1Byc3IzUzESM1MxU2NzYzMgD/AQwGDCwZBAIaigwHVEgsShIFO5UeDAo1ATuVXEcohDw8exA2FAtH8RJGDwksBwfSASAOBqYkVgxVFRfTVQEDXgVon1VCriRIVQEBVDIeGQkABQAA//kCWAIyAAIABgAKAA4ANQAAJRc1JyMVMzcjFzMlMycjBzM1IzUzFRczNSM1MxUjFTMVIxUzFSMVIycjFTMVIzUzNSM1MzUjAa0a8kNux4IrV/7LBwUCkjg4lnO+Td43Nzc3N1CVqk7gODg4OL8jI4k5OTmJBwdGVAGZRlRURlA5UMbGa1RUa1A5AAMAAAAAAlgCMgAEAAsAJQAAASYnIx0BMzI3NjcjBzM1IzUzNSM1ITIXFhczFSMGBwYrARUzFSEB1hZUmJg3HwYE+J9FenpFAU1XMCAEKzQYRSIjrm7+8wGSSARMhCYGCO7uUExUPSg7UFIkEmZUAAAEAAD/9AJOAjIAPgBDAEgAbAAAAQYHFBcnJiciBwYVFB8BFhUUIyInJicmDwEjMDc2NTQnJicwMxYXFjMyNzQnJicmNTQ3MjMyFxYXFjc2NzY3JSYnIx0BMzI3IxcWFxYXMxUjJyYnIxUzFSM1MxEjNTM1IzUzMhcWFzMVIwYHBgJDCwIYQh0pEwgCMDYwfyEPBQEIAw0+DgkTAgI+GQMNDzsDKzUEM2gGBx8QAwELAQEDAgL+2QwtPj44CX94HBcEAhJLGR40DRR/EBQUEMk4IxQHDAsMLRQBsBcaKBYBJwEXBwcnIygpOnUQBAEGDBYhFBMTHwQCHgMKJyEdIwQrRWUGDgIBCQoIBAIDEBwBHY8/kx9UDglUWVYvilRUAR1QHVQwGyZQTy8VAAAEAAD/8QJYAjIAAwAHAAoAMgAAARczNyEXMzcXJwcTMxUjBzMVIwczFSMHIycjByMnIzUzJyM1MycjNTMVIxczNzMXMzcjAXoaGxf+yRYcGmIREXfGGBEpPhZUaTA5M040MzFtWBZCLREcxlwQeQ1UDXsRWwFOVVVVVVU9PQE5VEBQVVC4uLi4UFVQQFRUQCsrQAAAAgAa//0CPgKXABYALQAAJRE3JicjIgc2FREjETQ3NjsBMhcWFREDEQcWFzMyNwY1ETMRFAcGKwEiJyY1EQFMAQ0dkB0DAVojHDqQXRgOmgENHZAdAwFaIxw6kF0YDq0BTzEPARIELf3+AgJeHhkxHkz+sQE6/rExDwESBC0CAv3+Xh4ZMR5MAU8AAgAp//gCRQJ5AB4ALgAAISM1BgcGIyInJjU0NzYzMhc1IzUzNQc1NxUzFSMRMyc0JyYjIgcGFRQXFjMyNzYCPqQ0MhIUYkY9SkNYUjpBQWO+UFBJpDYoLkEsHjYnLkAtHy4qCQNJQFReQzw3PjIlE1cljjL+m4E7Kh41JCo8KR40JQAAAQAd//cCJgI7AC8AABMzNDcjNzM2NzYzMhcGMSYjIgcGByEHIQYXIQchFhcWMzI3NjcwFwYHBiMiJyYnI0sQAkAuJSdWLDBhRUUsNUEuBAQBVC7+wQQBAXAu/swcPRYWOSwNCVAxWSAhZkclEUkBECERTGktF1Q5MkUGB0wZGUxOGwk3ERMpYx8LXDFAAAQAD//+AlICmQAMAC0AMQBXAAATJiMiBwYVFBcWMzI3FzMVIzUGIyInJjU0NzYzMhc1NCcmIyIHJzA3NjMyFxYVNzMDIyU3FzAHBhcUFwcmJyYjIgcGFRQXFjMyNxcGByInJjU0NzYzMhcW2zolLAoBHhATMSQ2OG4oLT4kFTYaHSA/MBEWIzQRJCsZRC0cmSO7HgEwCSUKAQEJLxAqBwguGgsqFBUrIRotN0spGDgjLCYfBgHYECEFBBINCCUhMxoiJxgfOBsNDwYeCwQWJw4NJBYbgP1n6hMOHwUDAhQQIQgBKRERLRkMGCgeAzchKEEmGRUEAAQAFf/3Aj4CmQAMAC0AZABoAAATJiMiBwYVFBcWMzI3FzMVIzUGIyInJjU0NzYzMhc1NCcmIyIHJzA3NjMyFxYVAQYVBhcnJiMiBxQXFhcWFRQHBiMiJyYHBgcjMDc2NTQnMDMWMzI1NCcmJyY1NDc2MzIXFjc2NwMzAyPiOScrCgEdERIwJjY4bicvPiMWNxkdJTsyERQkNBEkKB1CLh0BHwcBDygNOzEGLD4JKzgYGy4YBAICBiUIBg4lDDtEKz4PJz0WGSsSBgEBBG0jux4B2A8gBQQSDggmITMaIicXIDgbDRAGIQoDFicNDiMXG/7pEgwYDQEYFxYPFgQXKSsTCA8EBwQNFA4JDRUaGBMNFQkXKioRBgsCAwQGAZf9ZwAABABP//UCCgI5ADkAQQBRAFsAACUUByMiJyYjIgcGBwYnJjU0NzYXFhcWFxY3NjczMh8BFCsBIicmJyYjIgcGBwYXFjMyNzY3NjsBMgcDFhcnBwYnJgMmJyY3Njc2NwYHBhUUFxYlBgc2MzIXFBczAeUIEAYDBA0UMiQZoy4QOT9yMiYaAg0SCgQKBgIJCAwHESQsHiVJMCgBATUlOFJCJg4CBgwKAnEwHAgDHSABiVkkEgEBOB8oaigSWyUBER5EExAZCQEBBgUCDxAXEAEGojdBeVZgAQEaEwEEGQ0BCLQJK1kdFF1LX4NJM0orMwYKAUguT5MEKxYB/gcNfj1Gd1UuEhuEOj6pPRmORiwHGQIDAAMAE//+AfkC7AAPAB8ASwAAEzIXFhUUBwYjIicmNTQ3NhciBwYVFBcWMzI3NjU0JyYXNTIXFhcWNzY3FwYVFBcHJicmIyIHBhUUFxYzMjc2NxcGBwYjIicmNTQ3NmgwGQwpFBgwGQwpFBggDgUdCwsgDgUdC8o/HwQECgIDCT4TE0kVMBcXPywnNig0NDADA0EtUBgWaEZATUQC7CkUGDAZDCkUGDAZDCIdCwsgDgUdCwsgDgWXARgCBAgIFhMQNA8WLxEpFgo9N1JcPi42AwQ/OBMGWVJwfFRKAAACAE8AAAJJAjIADQAyAAATIzUhFSMRMzczByE1MxMGJyYjIgcGFRQXFjMyNzY3JwYjIicmNTQ3NjMyFxYXNycmNyfBVAEFV8YRVxT+N1WRBAclL1ExIkEuOz0xBgUeKDYuIBYlHSMvHgcEOQsCDy4B3lRU/naL31QBPwYFGT0qNU0uICAEBDEeKBshJh4YIwgIExoMIxIAAAQAG//8AkgCmQAlADUARQBJAAATNxcwBwYXMBcHJicmIyIHBhUUFxYzMjcXBgciJyY1NDc2MzIXFhMyFxYVFAcGIyInJjU0NzYXIgcGFRQXFjMyNzY1NCcmAzMDI/AJJQoBAQkvDicKCS0bDCoUFS8eGSw4SykYOCMsJh8G0kMqHDclLUQqHDcmLSwaDicVGCwaDScVVSO7HgJbEw8gBAMVEB4KAigSES0ZDBgoHgM3IShBJhkVBP6vNSQrQSkbNiQrQCgcNiYTFSgZDicTFSgZDQHK/WcAAAMACv/2Al4CmQAlAEMARwAAEzcXMAcGFzAXByYnJiMiBwYVFBcWMzI3FwYHIicmNTQ3NjMyFxYBBiMiJyY9ASM1MxUjFRQXFjMyNzUjNTMVIxUzFSMDMwMj3wklCgEBCS8OJwoJLRsMKhQVLSAZKzhMKRg4IywoHQYBKDUkOicVI3wjGxAVJjMjfSQkWqkjux4CTRMPIAQDFRAeCgIoEhEtGgwZKR0DOCAoQSYZFQT9zB4pFxZ/MjJhHhUNI34yMpsyApv9ZwAAAQB7//QB3QIyADoAACUGBwYjIicmNTQ3JjU0NzYzMhc2NTcXMAcGHwEPASYnJiMiBwYVFBcWOwIVKwEiBwYVFBcWMzI3NjcBx0BDDg9aMiA0LEAoLkE0AQ8/EAMBD00DDCsZGiQWCSALCS8QDy8dFAwrEhQsJgYIQkMJAlEzPEs2MztLKhokAQIgGS0OBiQaASQWDSAODiYWB1oiFRs8HgwkBggAAAEAX//+AgkCPwAxAAABMhcWFRQHBiMiJyYnNxYXMjc2NyMVIzUzFTMmJyYjIgcGByc2NTQnNxYXFjc2NzY3NgEbaEZATEReS0ATDUEwOkUsGAeBR0d/EUIdHjYrCwdJExM+CQMBBwICHycOAjRZUnB8VEsyDhE/OwJLKTI5sCNdJxAvDQ0RLxYPNBAOGwkGAQIZBAEAAAMACgAAAnUC7AAPAB8ANQAAEzIXFhUUBwYjIicmNTQ3NhciBwYVFBcWMzI3NjU0JyYXFTM1MxUjNSMVMxUhNTMRIzUhFyMnXzAZDCkUGDAZDCkUGCAOBR0LCyAOBR0Lu2xJSWyp/pxgYAIACzQLAuwpFBgwGQwpFBgwGQwiHQsLIA4FHQsLIA4F7HEvwT7FVFQBilS+agAAAgAj/zsCkAGyACUANQAAAQcjMAMGBwYjIic3FhcWMzI3Nj8BBgcGIyInJjc2NzYzMhcWFzcHIgcGBwYXFjMyNzY3NicmApASTE8NWVZRXFchJUoeGFUyFwYOJjscHGA2MxIUWVBXWSICAQycQjglCQwtIS5COCUIDCwhAapU/os+NTM6Uh8QBzUXHUEoEglGQVZeQzw8AwM6UjYkKTwpHjYkKTwpHgAAAwAC//QCVwI1AAkAEwCxAAABNjc2JyYHBgcGBwYHBhcWMxY3Nj8BMzY3Njc2NzIXFhcWBwYPARUGBxQXFhcWNzYnJicmJyYjBgcwBwYHJzY3NjMyFxYXFgcGByIjJicmJyY3BjEWBwYHJzY3NjUHIwYHBgcGBwYnJicmNzY3Njc2NzY3BgcGJyYnJiMmBwYXFhcWMxY3Njc2JxcWBwYHBicmJyY3NjMyFxYXMjc2NwcGBwYHBg8BNjc2NzQ3NjcXBgcGAW+TNRsIBSMuOyzPdCkTBAMgMy0UbyABCgYpWzUfIgoEAhmaLzsKHQEFCiEfJjMIAQIIEwQDHhIQCQMNAQcZNxcPBAISLyUsAwMwFwUDECAbAgkECQcEAwcKAQgSOVIREyINAgEUdSozFAQKGwUVBgsUGBcMAwQdDAkGBhsIBxcJAQIFBQ8EBAklIRQGAw8gDhIiHhEHGhIDEgEECB8UDAIOBwkKBQUHDgIGAgQBL0hQKSQVBQhYQqk2RiEfGQNkLXcNHA9yUS8BDAUIZGQfGiIBbi0YFScDBS4+RAgIHwcBATM0IiMDFid8HwkJTEg5AwI0DQ9eXgkcEQgKBAcHEBkEAgbJIQcBAhwDBE1QHRZNDyU9DBwDAgEmJAUBASkdJCAPBQEeBgcXGgYeEzADAykMD0InEjAbARoFBAsFCytUMQY1AQQEARgJDQkJCwYIAAEAVAABAgQCOAAdAAATFRcHJxEnNxcVNxcWMzI3NSc3FxEXByc1BycmIyLONTU/Ozs/PE4SBhMNOjo/NTU/QE4SBw8BBJg2NT4BhDo7P+s5EQQEjTo7P/5zNjU+7zsRBAAAAwAe//gCKwIxADsAVwBzAAAFNTMyNzY9ASMVFBcWOwEVIzUzMjc2NRE0JyYrATUzFSMiBwYdATM1NCcmKwE1MxUjIgcGFREUFxY7ARUBNDc2Mxc1IxU3NhcWFREUBwYrARUzNSMiJyY1IRQHBisBFTM1IyInJjURNDc2OwE1IxUzMhcWFQFYNQwHAvsPAwM10zUNBgIOBAM10zUPBQH7DwMDNdM1DwUBDwMDNf5rFggIJLIlFgwEFggIJbIkGgoCAR0WCAglsiQYCwMXBwgksiUXCwQIMg8EA9nZEAUBMjIPBAMBqA8GAjIyEQMDvb0OBwIyMhEDA/5YEAUBMgHwGQwEARAQAQEZCQj+WBYNBBERGgYHFg0EEREZBwcBqBkMAxAQGAgIAAAB/9MAAAIPAnkAHwAAEzYzMhcWDwEzByM3Mzc2JyYjIgcGDwEzByM3MxMHPwG7YT9COTUKLTsS0BI7IwgcGCg8XQUELTsS0BI7Xz8RngGENDIvL9RUVKIrIx02AwLSVFQBvhJUJQAB/9MAAAIPAnkAJwAAEzYzMhcWDwEzByM3Mzc2JyYjIgcGDwEzByM3MxMHJz8BBz8BBzcXB7thP0I5NQotOxLQEjsjCBwYKDxdBQQtOxLQEjtDNBxgDD8Rnhc7HGcBhDQyLy/UVFSiKyMdNgMC0lRUATwbNjA3ElQlax42MwAE/03/QAKPAh8ACAASACEAWwAAFwcGBwYXFjM2ARYXFjc2JyYHBgE3Njc2NyYjBgcGFxQXFgM2NyYnJjc2NzYXNjMyFxYXFgcGJyYnBgcGBwYHNjc2NxcGBwYHBgcGBzY/ARcHBgcGBwYnJjc2NzZYpDkREBoFCHECISYYHBAFAgUqHP7EFyqGDQ0NHnRYTQwCFU45TUcWKINNbxoqQh4mCggEDiUQEhI+WEoICAIBJhYTCRANER42Oh4JCl8UBA0HK2WIrDULFXkZiwYbMBUkIggBBQKlBgEDDgUFDQUD/wAwXksHBwIEOTI0BAQ3/utXpwo8azQeAgEEHgUECBcLBAEBBzp9Dg4DBAsSDxYLGA8YDYI0EA8sHQcHCDIsxggCIT8sCScBAAIAkgACAcACOgAjAF0AAAEUBwYjIicmBwYHBhcWFxYXBicmNzYzMhcWNzY1NCcmNTIXFgcmFxYXFBcWBwYVBgcGBwYnJicmPwE2JyYPAQYHJjc2MzIXFhUUBwYVFBcWMzI3NDU2JyY1Jjc2FxYBwEIgFR08KgwEAg80AwQkBFcZDhYxNDNICBEJDAcrBQEGKwIBGAESCwQLOggIIj8yGCEpKAgDAxARAQICGA0SGQwEEAgKChcdBgEYFQJKFh4UAgopHA0eFgsECDITAQEJAxYzGyZaLgYEAgUMCwYJJQRvDygRRQICOT4TAko2CAYaEQ0yQ0tADwkQFRcBASQTCTgUFBZBJBssCgpfCAEWTD8jSCEKBwQAAwAt/9QCbQI0AAkAFABgAAABNjc2JyYjJgcGAycmIwYHFhcWMxYTBgcGBxYzMj8BFwcGBwYnIicGJyYnJicmNzYzMh8BNjc2PwEGIwYnJicmNzYXMhcWHwEmIyYHBgcGFxYXFjcyNzY3NhcyFxYXFgcGAb5MNCcIBRw5JgzOfBgNIwILQhERLeAUEhw0HxBDJgYMBiIaFh4fMDNENC0bBgoqCQk/ZBhFGAIBChIIZzESCQ8oFBsKDwQTARcBEQgiEA4JFl0WGA8PKTQkMiELAQEMMDgBKilYQSIXAX0p/oA9CQMUMhIFAQEuYDVTKQxLCwsLPA8NAREdAgEjFRgmCQI2DUVrCAgvAgVJGyRAIxIBBQELDg0GAQMjHSRcEgUBA7w7KAEbAwMwTlwAAgBF/+IBzQJ4AAcAMgAAATYnJgcGBwYHNzY3NjcyFxYHBgcGDwEGFxYXFjMyPwEXDwEGBwYjIicmJyY3BwYHJz8BAQa7CgYTIFQSejBQHjcqJwgIkBVCFQwfBgQIFAMEJxIrDgcgECcKCiocCgUKFggBKQ4HGAFD8R4TAQPEK7ZxtjRgASYlvhtVNixVGQ8bCAEZOAkNMRgKAiIMDxs+CgE2CgwiAAIAEQAAAkwCMwAnAC0AABMBETQnJisBNTMVIyIHBhURIwERFBcWOwEVIzUzMjc2NRE0JyYrATUXFQEzNQGeAT0cDA8gyCkmDQQp/r8ZDhEgySoiDwYTBgYsWwFKD/66AjP+IAF8LxYKFRUyDw7+MQHu/nYoGg0VFS8RDwGbFAkDFBEV/gQlAewAAAQAAP/5Ak8CMgAUABgAKAA4AAAbATUjNTMVIxEjAxUzFSM1MxEjNTMBIzUzAzIXFhUUBwYjIicmNTQ3NhciBwYVFBcWMzI3NjU0JyZ6eR+QF1CHIZccHHoB0+LicDwiFDIdIzwiFDIdIxIFARIDAxIFARIDAjH+48pUVP4bATDVVFQBilT+Kj8BJzIdIzwiFDIdIzwiFFoSAwMSBQESAwMSBQEABAAcAOwCKwL9AA8AHwAoADsAAAEWFxYHBgcGJyYnJjc2NzYXJgcGFxYXFjMWNzYnJicmBzMyNzY1NCcjBzM1IzUzMhcWFRQHBisBFTMVIwElj0k8EhJYQlmPSTwSElhCWWcvKBgYTRwiZy8pGBlNHDs9HgoDKz1AHByGLREGJQ8QRixsAvwBa1lxczssAQFrWXFzOyxbAVFFT1EbCgFRRU9RGwq8GQgJKAGdnSImDxIwFwkoIgABAA3/8AJTAjIAdwAAASYnJiMmBwYHFBcWFxYzFjc2NzYnJic3FhcWBwYHBgcGJyYnJjc2NzY3NhcWFzc2NxcGDwIWFxYHBgcGJyY3Njc2NxcGBwYXFjM2NzYnJicGBwYHBgcGIyInJicmNzY3NhcWBwYnNDciBwYXFhcWNzY3Njc2NzYB+jNDBQVcST4BBQ8rDhAkHhgDAgcFBQkKAhAEBjcXGzAjDgYWPDlbFBRMRQYGEQUWAg8CEAEiDh4tHissCw0gBgYJAwIFChcICRgmEQwJBhU3HgcNIVUxOUg4IgwKEwQGGAoGDw4FAggDCQkVSSMhTTUMDixKEgHrMwYBAVJGShMQMBEFATYqMyIRDwgBEgYtJE4jEAECLxIVT1RRFgUBBTUFBQoDBAoGAgsBIidQPScFBB8kHgUEBAEIAgobGBcCQTE3IRs2bho5j0ElMB0oJA8DAQMYEAICEAEHAwgcQBwNAQOXITOdRhAAAAQAd//4AeICMQAcACUAOABFAAABIxUUFxY7ARUjNTMyNzY1ETQnJisBNTMyFxYHBicjFTMyJzQnJicmIxYXERQHBisBFTM1IyInJjUTBxYXFhUWBzY3NicmAVFSDwMDNNE1DQYCDgQDNed8BwhZHClMS10BMBRzFCMWAxUICCSvIxkKAm8WPCATAlJbDQMCBwEq9xEFASQkEAQDAcgPBgIfb24gCuPDdTAVCRIBDRj+OBYNBAQEGgYHAe0BAikXHnESClETFmUABAAj/6MCKQIyACwAOABiAHQAAAUGJyYnIiMWBwYjIicmNTQ3JicmNzY3NjMyFxYHBgcGBxYzMjc2PQEzFRQHBiUGFxYzMjc0JyYHBgEWFxYHBgcmByYnJjc2NwYHBhcWHwEHMzIXFjM2NzY3BiMiJzc2NzYnJgM2NzYnJicmIyIHBhcWFxYXNgF/Kzw0GQQEGQkKJBkLAyVZHR0xNHUbHotJPg8QVh8nEgkiDgUXLhf+9gYRBAQdAgIIGgsBB1EFBEUzTzYbTCouFxdSXR8eLSVJEwUCGzU7KTYUAQEVISFBImY2NRYXyFoxLxITUCUuZDUxEhJPCQsaVQImIAITHR4bBwglFDN7e252GQZyYn+BRBkNAhYHBwkJPR4PLBIPBBcFBiEPBwIhUoaDWUQQEQUba3NybiwweHZpVSEKASIkATMCAxQVBhJqZnV5/j4HZ2R2ey4VaGB3fDMGBQQAAAQACv/nAl0CNgANABQAIQCZAAABBgcGFxY3Njc2JyYnJhcmBwYVFjM3Bg8BMDc2FzY3NicmJzY3FwYPARYXFgcGBxYXFgcGFxYzFjc2PwEXDwEGByInJjc2LwEjIicHFQYHBgcGJyYnJjc2FxYXFgciJyY3IhUGFxYXFjc2NzY3Nj8BNjc2NyYHBgcWFxYHBgcGJyYnJjc2NyYHBgcGBwYHJzY3Njc2FxYXNjc2ARhPIBUPFC4lIjATAQEMiQcLBwEUQSwZGAkVFjAUERMJBwUOCAIMAykPDSIgNgwHCA8NCgcKIxwDDQcMBiQTGzAQERMNBAcIHAcGN0czREotFQgOGxsKAgEDEA4HAwIJAQURTBQUTSkKJQcGRCUxBgMwPzEyJA4eIyBOKhoGBBg3IjMpKUszCgsIBAgCBy9JGiAqITM9SwICMFY6LUEEAjVNVQQEK/MPAQICCvsrW1sDBh8TRz40GCwCCAkBBwMoPTY5NAwSGR84MyEbASoFFQ0LCTQWAS8zQy0TGREQAZo1JAIBKxQcNQMCGAUFFQEPBwYKAhE7DwQBA0oSXxEOoU4nBAMtAgEaITFlR0ECATAMDlNXNB8dAgFQEBYQCwQIE2sRBwQFGxsBAgACAFsAAAH7AjEAVQBjAAAlBgcGJyYnJicGBwYHBgcmJyYHNjc2FxYXFhc2NTQ9ASYnJicmJwYfARYXFgcGBwYnJjcXFhcWNzY3NicmJyY3NDc2NzYXFhc2NzYXFhcWBwYXBxYXFicmJyYnJgcGBxYXNjc2AfsaNiwNAgcFEQkFAgkKeRQkFA0OJBEGBwsXEwwWBBIcBBcUFiMXDRAlGyMYCwcFCQIDGRUIBQsiJAQPEgEPLzk4DAwLMTQlBAMPAwUSMAQTD1IIBgUdFgUCBBEDHBoHWB0mI0YPcVAVIj8bFxlxIQ0IByciEQEBDRoRE08OAmhXCzAWAwcSFiMbIy5FMxQNKhoNHAMDGhIHDBggIwUTaAEEVCYuRxAWNBMUIgMEESUuHyoSfWrxEzwwDgkOBRZPTAgbBwAEADP/+AIlAjEAJQA7AFMAXgAABSIvASMVFBcWOwEVIzUzMjc2NRE0JyYrATUzMhcWBwYHFxY7ARUBFTMyFxYVERQHBisBFTM1IyInJjURFzIXFhUUKwETFhczJgMmJzY3NicmJyYjByMVMzI3NjU0JyYB5zEdkUwPAgM00TUNBwEOBAM1/noJB1wKCjhcMhT+HyQXCwQWCAgksCQZCgJoPCASbgSYICAaToECAWsJAQEFSQ8VHldXUQoCMBUINP73EQUBJCQQBAMBwg8GAiVvcR4DAm6qHgIqBRkIB/4+Fg0EBAQaBgcB7wYpFh6A/vUpAx0BEQQBDFgPEk4MAhK6Tw8RLhQJAAACAD4BwwHkArAAOwBYAAATBhUUFycmJyYjIgcGFRQXFhcWFRQHBiMiJyYHBgcjMDc2NTQnMzAXFhcyNzQnJicmNTQ3NjMyFxY1NjcFFTMVIzUzNSMHIycjFTMVIzUzNSM1MxUXNzUzFdkFCR8FIAQEHgUBICoKFSYQERcXAgIDAxkGBAoZBRUeIwEhKgIcKw4OFhMEAQMBDxFUHwE4CTgCHlUTEzs6PDkCsAoZEwsBGQQBEwICFQwRCBMhJxQJEgMFCwcQDA0QFgsdAyIbDRABECUmDgUOAwMIBieeISF5amh3ISGeIgVkZQQiAAP//wHJAl4CqwAPACcANQAAEycjFTMVIzUzNSMHIzczFzcVIzUjFTM3MwcjNTM1IzUzFyMnIxUzNTcjNTMVIxUzNzMHIzUztwQ4MYUwOAQcBM0Eohw6YwUYBbocHLkEFwRjOmgiaCJPByIItiICVDaeIiKeNldXEkcXSx5AIp0iPBowDiIiIp03WSIAAgAfAcoB/gKrAA8ALAAAEycjFTMVIzUzNSMHIzczFzcVMxUjNTM1IwcjJyMVMxUjNTM1IzUzFRc3NTMV2AQ4MIQwOAQdBM0E+BFUHwI4CDgDH1USEjs6PDgCVDaeIiKeNldXNZ4hIXlqaHchIZ4iBWRlBCIAAAQAV//4AgECLgAVAB0AJAAqAAAFITUBIyIHBg8BIzchFQEzMjc2PwIBBzM3Njc2MxM3BwYHBisBATUjARUBy/6MAUV+MjAdCAwkKQFg/sKKOzUUDBUg/pwhAgkPQCskmioOGjwpJacBTyP+qwgcAfUqGhsssB3+DDoXGCwDAWmPIDElGf3qlB05JRkCDgj98QcAAQAAAAACUwI8ADUAACUzNxcHIzU0NzY3NjU0JyYjIgcGFRQXFhcWHQEjJzcXMzU0JyYnJjU0NzYzMhcWFRQHBgcGFQG0Uh0wNsM0LgkNQCs7aSoTMDELDMM7NR1SKTUODF1GXXRLQTsrBwtUTxOQZi49NxEYFlItHkwjLiQ4OhoZGGaOFU8SGzNCJyAhbUAxRz5ZREo3DBQTAAEAAP/3AlMCMwA1AAABFRQXFhcWFRQHBiMiJyY1NDc2NzY9ASMHJzczFRQHBgcGFRQXFjMyNzY1NCcmJyY9ATMXBycBtCoyDg5eRlx0S0E9KwcJUh01O8M1LwkLTiUzXy4ZMDALDcM2MB0B3xIeND4jISRuQDBHPVpFTjgMEg8STxWOZi5AOBMVE2IoE0YmMSY4OBcaGmaQE08AAAEAvAAAAZ0CMwBQAAABBgcGBxYVFgcGJyYnJjc2NzYnJicmNzYzMhcWFxYHBhcWMzI3NicmJzY3Nj8BNjM2NzY1NicmJyYHBhUGFxY3NjcUBwYnJjc2NzY3NhcWBxQBjRITDQhJATE0QhMTHBgDAxYQBQgWDwUHKSEOAwQOBw0FBiMEBCYkPgEYCQMLBQg1CQUCPxoSGQQCBxwgFwQEIAsFPw0KKgoLIjE1AQHCQhINEihjVT5DGQcPGU4JCToNBAIGAQE8GhYaLxcDATxGNzMEBxoJBhcFAQ0HDCsmDwQFEgQBFB8iEAMGEQoEAhZENSEJBA4cHy4IAAABAFz/cgIUAd0AHAAAATQnJiMiBxYXFhUUBwYnJjc2NzYzMhcWFREzFSMBGyAXFSETDQoCIRoSCwECLSAqTi4jn/kBMSUkGRwDEwQDNw0JGRAYQywgMyc8/n9U//8ABQAAAlICMhAGAC4AAP//AB0AAAI7AxAQJwH+ADgAnBAGACQAAAADABf/8wJKAjkADQAXAJkAABMGBwYXFjcyMzY3NicmFyYHBgcUFxY3NjcGBzYHAgcGJyYnJjc2FxYHBicmJwcGFxY3Njc2NzY3NjcmJyYHFhcWBwYnJicmNzY3NjcmJyYHBgcUFyMmJyY3NhcWFzY3Nhc/ATY3FwcjFhcWBxYXFgcGBwYnJjc2NzYfAicmBwYHBhcWNzY3NicmJwYHBicmJyYzMhc2JzQnJukjEhgPEDICAjoQESUY5xINEwEBBRQMHi0WBRlIgyElQRMKCw0OEgcEDQQDBwICEl1FMQstAwIwWClLWT5DEhEkHDE5EQ8YAwIVHREQVSkWAgwOCgIINzFLDRY4SWZADwECCgMSAScDBDklDxkyIzMvFw0DDTEHBxACDjEPAQEGJRAQKxcWDwYSCRAUEwgBBCkMFiEBBAYB8SI2Sk9TAgZMT1I2zAoEBAMDAwkDAeIjShFc/vIjCQUJNRoKDQoNCgYFAgcDBAg8BQJzGooIB4k6MwUFNC5oYDsuBgddVUYHBS0hCAMNUiw+GiQdEGk8NxICCjMDBEEIAQEEEAotQkcsGTBXQS4FBSQUGk0FAQECDAEDQgYGJw0GAwlKRToYEAgICQ0GCRcIKk0WEBgAAgB3AAAB4QI6ADcASQAAAQYHBgcGIyInJjcmBxQXFhcWFRQHBgcWFxY3NicmJzczMhcWFRQHBiMiJyY1NDc2NxYXFhcWNzYHJicmNTQ3NgcGBwYXFhcWNzYB3QUSAwMnGSINBwIdASszDQs0Hyg/RBcKAwEGOhYDLQoCLCs4W0Q8EWa2AgoFBwoLCI0JLx0eDAsLCjcUDzUcDAYB1wkKAgIdLBcgBC8WJi0XFBQ+JxcDUQMBFAcHLAcNJwcJMS0sWlBdLCXeBAU2FwoNAwPzEk4xHh83FgICEl9ZPyISEgwAAAIARQAAAgcBqwAGAB4AAAEmIyIHFTMXIRUWMzI3FwYHBiMiJyY1NDc2MzIXFhcBlChGPCjSc/67KUBUPio+XxAPZUY7TEBVZ0M0AwEnMDAbTzgzLT80CgJHPVFgQDZIOUwAAgBAAAACDQGrAAYAIAAAASYjIgcGBwUhFhcWMzI3FwYHBiMiJyY3Njc2MzIXFgcwAbIWWkEzDAUBRP6dBikbJ1VHHEljDw5jNjISFVpLVGQ0Kw0BDEs1DApPOh4TLT81CgFEPVRhQDVFOU8AAgAt//cCKwIyAAcAdQAAARYXFicmJyYjBgcGFxYXFhcWNzYnJicmJyYjJgcGFxYXJyYnJjc2NzYzFhcWBwYHBiMmJyYnJjc2NzYzJicmNzYXFhcWFxYHBgcGJyYnJjc2NzYfASYHBgcGFxYXFjM2NzYnJicmIwYHBhcWFxYXFhcWBwYnJgELChMUAQEQFCQ7KzAVHFkSFVo4MQ0BAg44BAQvMDIFAQkLCgENJSpACAhOGBIpL1EOD3VFHw8aMTBUCgoPBQ1UMEVCMhcKGi4gNC0eCQURIA4SGCEDGRQmCwYHDS0IBz4ZFA8URBcZMTM6CwQHEBAdDgYECh4dAVMSBwcKBQkICDlCSmQUAwIGQjpCBgYzBQEDOj06ChgJGgQvPkYHAQJNOkJJCwEDRR8qR0VECgEYHlsnFwIBMxccRi8hBAMiCwwoKBEICgcIAwgPKRURIQYBBDMmLDsTBwEqMTQSGQIFCRMJBg4MCQAAAwAO//wCgwI4AAcADQCQAAABNjc2JyYHBgM2NzYjIgc2NzY3JicmJyYjJgcGFxYXFhcWMxY3NicmJyYnNRYXFhcWBwYjIicmJyY3Njc2MxYXFhcWFzY3NhcWFxYHBgcGBwYHNj8BNhcWFxYHBgcGByc2PwEGBwYHBgcGBwYnJicmNzYXFgcGJyYnBgcGFxYXFjc2NzY/AQYHBgcVByY1Jjc2AiRKBgIDAg0VORgFAw4MnCIlCxA7EhAwBQZLPjwGAQMROQgHMichCAQEBgcQCQQJDisqNj4hCwUVNDdaDAxFJA0FChw2LQwJGQgJOBsbCAMbKiEZAgYcEQUQPAIECA4UDwsFNggQDjY2LkRYOhwIChAPDhEDAg8HBwUDAwUTVh4dViwPExFRDQEBBwUGSBUByBsiCAcHAwL+8AsOC0FcSRYXFCspBQEDOzpCCwo6CgEBQDYpFQYKBQQKDQccNDc1LQ8SR0RHCQEBKg4SIQhJFgYBARcfIA8HEAcwggUKFikDAgskGhEHDRACDBQLDQIyGVgeGgICLhUaIAoKCAoMCAIBCgEFBg41EwYBA0oaMS8HIgQFDQMKBDIRBAABACkAAAI1AjIAFQAAJTUjFSM1MxUzNSM1IRUjETMVISczFwF5bElJbKgBZGFh/gAMNAxUcS/BPsVUVP52VL5qAAABAAz/9wJYAj4ArwAAAQYHBicmJyYnJgcGBwYXFhcWNzY3Njc2MRcGBwYHBicmJyY3Njc2FxYXFjc2NzY/ATY/ARcPAQYPATc2NzY3Njc2NxcPAQYHBgcUFxYXFjc2NzQnJiMiDwInNDc2NzYXMhcWBwYHIiMmJyYnJjc2NzY3NjcGBwYHBgcGBwYPASc2NzY3NhU3BwYHBgcGBwYHBicmJyY3NjMyFxYHBicmJzA1BhUGFxYXFjM2NzY3NgGAFRsZHxMHDR8JCCUNCAoRKQ4NDBECAgcDAwkODiYkEwoXKBMcKh4HBBIlFxsMBgELEhAHAgoDEwgIFxswKgMDAxIOBkIKCCcBAQgNGR8gAQEEChoOEwQGAhQEEBoTBwkfICQEBBsQBgIIJRAqBgUUBg8SKSsCBA0kCgohFAsGDBErCBETJwoKNicqNyknHgkIEAQEFgQEDQIDDAMFAwUKKBwdUlIJCjcBwxkNCh0SGDEPBAEEKBwjOhUHAQEUAgIHDQYLDQIGKhceSCgTAQI0DA08CQceDgYBGSAcDhJ1GXYuEkI1YTUEBAQUBxG1HyKnRAgEHAMHP0EsBQQNLkIOBgcETgskARopSEkFBB0MDT6aQ10PCi4MEho7ZgUKHnIgG1cLIRUtY/UCLCYpcBwbkjI2AgElHCkjDgMWFAMBAQQJCwIBDBUnHBMBzBcblgAAAgA8//gCFQGyAA8AHwAAATIXFgcGBwYjIicmNzY3NhciBwYHBhcWMzI3Njc2JyYBYl8zMBYYXFNXXzMyFxhcU0BDOiYKECwgLkM7JAsPKx8BskZBVl5DPEVBV11EPFo3Iyk7Kh44Iyg8KR4AAwAT//oCPAKZAAMALgA5AAABMwMjNxYXMjc2NTQnJisBNTMyNzY1NCcmIyIHJzY3NjMyFxYVFAcWFxQHBiMiJwE3MxEzFSM1MzUHAUUjZB6bHyArEwYgBAQdGRwMAx8NDyMlKjAxCAk7IxYhHgNBHR45Mv6+WThM0k46Apn9Z1klASILCyoJATkXBgUXCgQrJTgGASUXISYaHjpAHQw8AgA9/uU2NtkoAAADAAb//AJEApkAAwAjAFAAAAEzAyMDNTQ3NjMyFxYVFA8BBhUzNTMVIzU0PwE2NTQnJiMiFQEWMzI3NjU0JyYrATUzMjc2NTQnJiMiBwYHJzY3MjMyFxYVFAcWFxQHBiMiJwFJI2Qe5D8eIjUlG0tLHGo22EhLHxgRFEYBSh8gKhMGHwQEHRkcDAMdDREhIwICKzM1BQY7IhYgHQRCHB47MAKZ/WcB+w9BHw8hGSE9MTAUFCZcNTcuLhcXDw8KRf5gJyMLCyoJATgYBQYVCwUnAgIlOQUkGCEnGCE3QB0MPAAAAwAT//kCQQKZAAMADgAsAAABMwMjAzczETMVIzUzNQcFFTMyFxYVFAcGIyInJic3FhcyMzI3NjU0KwE1MxUBQiNkHtBZOEzSTjoBZSdkGAdJHiE7QAICHzMjBQU3EwZLX9wCmf1nAjY9/uU2Ntko70ZEEhZFHgwqAgEvIQMiCgs0tDYAAwAG//kCQQKZAB8AIwBBAAATNTQ3NjMyFxYVFA8BBhUzNTMVIzU0PwE2NTQnJiMiFSUzAyMTFTMyFxYVFAcGIyInJic3FhcyMzI3NjU0KwE1MxUGPh8hNiUaS0ocaTbYSEsfFxEVRgELI2QerSdkGAdJHiE7QAICHzMjBQU3EwZLX9wB+w9AIA8iGCE9MS8VFCZcNTcuLhcXDw8KRZ79ZwEaRkQSFkUeDCoCAS8hAyIKCzS0NgADABv/+QJBApkAKgAuAEwAABMWMzI3NjU0JyYrATUzMjc2NTQnJiMiBwYHJzY3MhcWFRQHFhcUBwYjIicBMwMjExUzMhcWFRQHBiMiJyYnNxYXMjMyNzY1NCsBNTMVRx8gKhMGHwQEHRkcDAMeDRAiIwECKzs4OyIWIB0EQhweOzABLyNkHqwnZBgHSR4hO0ACAh8zIwUFNxMGS1/cAXwmIgsLKgkBORcGBRcKBCgBAiU8AyQYISYaIDhAHQw8AUD9ZwEaRkQSFkUeDCoCAS8hAyIKCzS0NgAEAA//+QJRApkAAwAhADAAMwAAATMDIxMVMzIXFhUUBwYjIicmJzcWFzIzMjc2NTQrATUzFSU3MxUzFSMVMxUjNTM1IzcHMwFyI2QelCdkGAdJHiE7QAICHzMjBQU3EwZLX9z9xLY/IyMpkSm2tllZApn9ZwEaRkQSFkUeDCoCAS8hAyIKCzS0Nm/x3T4gPDwgsnQABAAT//gCSwKZAAoADgApADkAABM3MxEzFSM1MzUHJTMDIzcyFxYVFAcGIyInJj0BNDc2OwEVIyIHBh0BNhciBwYVFBcWMzI3NjU0JyYTWThM0k46ASIjZB7jPiITNBwjPCIUNCYtUVEuGAkaICUQBR8MDygPBB4OAjY9/uU2NtkokP1n0TAbITsgEi8cInI4Jhs4Jg4NFQ84HwoLIA4GIAoKHg8HAAQAC//4AksCmQAbAB8AOgBKAAATFTMyFxYVFAcGIyInJic3FhcyNzY1NCsBNTMVNzMDIzcyFxYVFAcGIyInJj0BNDc2OwEVIyIHBh0BNhciBwYVFBcWMzI3NjU0JyZoJ2UYBkcgITk/AwQfOSc3EwZLX9xfI2QezD4iEzQcIzwiFDQmLVFRLhgJGiAlEAUfDA8oDwQeDgJBRUYSFUQeDSkCAy8iAiEKCzS0Nlj9Z9EwGyE7IBIvHCJyOCYbOCYODRUPOB8KCyAOBiAKCh4PBwAFAB///AJCApkACgAWACIAOgA+AAATNzMVMxUjNTM1BwE0JyYjIgcGFRQXMicUMzI1NCcmIyIHBgc0NzYzMhcWFRQHFhUUBwYjIicmNTQ3JgMzAyMfSi8/r0ExAdEeCQsfDQUxMmAuLxgKDSUIATg8FRU1HxMcIDQYH1ITBSAcJyNkHgJCM+wtLbUh/lwgDgQeCwxBAdAhIhEIAxcDAzgWCCIVHigZHi1QHw5PFBctIBkBvf1nAAUAA//7AjMCmQADADAAPABHAF8AAAEzAyMDFjMyNzY1NCcmKwE1MzI3NjU0JyYjIgcGByc2NzIzMhcWFRQHFhcUBwYjIicFNCcmIyIHBhUUFzInFDI1NCcmIyIHBgc0NzYzMhcWFRQHFhUUBwYjIicmNTQ3JgFGI2QeuB8fKxMGHwQEHRgdDAMdDREhIwICKzM1BQY7IhYgHQRBHR86MAH4HgkLIA4EMjJgXBcKDSQJATg8FRU1HxMcHzYWHlAUBh8bApn9ZwF/JyMLCyoJATgYBgUVCwUnAgIlOQUkGCEnGCE3Px0NPOQhDQQfCgxAAc8hIxAIBBcEAzgWCCIVHSgaHyxSHg1NFRgsIhgAAAUABv/7AjMCmQADAB8AKwA2AE4AAAEzAyMDFTMyFxYVFAcGIyInJic3FhcyNzY1NCsBNTMVEzQnJiMiBwYVFBcyJxQyNTQnJiMiBwYHNDc2MzIXFhUUBxYVFAcGIyInJjU0NyYBXSNkHpsnZRgGRyAhOT8DBB80LDYUBktf3PQeCQsgDgQyMmBcFwoNJAkBODwVFTUfExwfNhYeUBQGHxsCmf1nAkBGRhIVRB4NKQIDLyMBIgoKNbQ2/jghDQQfCgxAAc8hIxAIBBcEAzgWCCIVHSgaHyxSHg1NFRgsIhgABQAD//sCMwKZAAMADQAZACQAPAAAATMDIwMTIxUjNTMVBgMFNCcmIyIHBhUUFzInFDI1NCcmIyIHBgc0NzYzMhcWFRQHFhUUBwYjIicmNTQ3JgE/I2QelFlsNukJXAF0HgkLIA4EMjJgXBcKDSQJATg8FRU1HxMcHzYWHlAUBh8bApn9ZwEmARsdUxEZ/tmuIQ0EHwoMQAHPISMQCAQXBAM4FggiFR0oGh8sUh4NTRUYLCIYAAACAFMAAAGZApkAAwAOAAABMwMjAzczFTMVIzUzNQcBdiNkHsRKL0CvQDACmf1nAkgz7C0ttiIAAAMAJP/OAjQB3gAPAB8AKgAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwY/ATMVMxUjNTM1ByRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zdkovQK9AMNZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPA407C4utCEAAAMAJP/OAjQB3gAPAB8APwAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXNTQ3NjMyFxYVFA8BBhUzNTMVIzU0PwE2NTQnJiMiFSRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zaTgYGjAeFEM7FlgstD89GBQOEDrWck5IU0xpck5IU0xpYD80STtPYT8zSTwkDTcaCx8TGjQrJREQIE0tLicmEhMODAg6AAADACT/zgI0Ad4ADwAfAEgAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFxYzMjc2NTQnJisBNTMyNzY1NCcmIyIHJzYzMhcWFRQHFhcUBwYjIickU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M5kaGiUPBRsDAxgUGAoCGgsMHCAjLDM0HBAbGgI5FxgwKdZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPJIgHQkIJAcBLxQFBBMIAyQgNCETGiAUFjQ3FwoyAAAEACT/zgI0Ad4ADwAfAC4AMQAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXNzMVMxUjFTMVIzUzNSM3BzMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M2iJLhoaH20giYlERNZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPHm1pi8XLi4XhVYAAwAk/84CNAHeAA8AHwA5AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBjcVMzIXFhUUBwYjIic3FjMyNzY1NCsBNTMVJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzO0IVMVBT8ZGjA5GiwjMA8EPlC41nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8Cjo6DxE7GAomJx4eBwkrli0ABAAk/84CNAHeAA8AHwA6AEoAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFzIXFhUUBwYjIicmPQE0NzY7ARUjIgcGHQE2FyIHBhUUFxYzMjc2NTQnJiRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8z0TYcDi0YGzUcDi4eJUNDJxQHFhogDQMbCgsjCwMcCtZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPDErFRozGg4rFhpfLyAWLyELChINLxsICBwMBB0HCBsMBAAAAwAk/84CNAHeAA8AHwApAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBhc3IxUjNTMVBgckU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M6ZLWy3DBFDWck5IU0xpck5IU0xpYD80STtPYT8zSTze7BhGDwz/AAUAJP/OAjQB3gAPAB8AKgAzAEsAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFzQnJiMiBwYVFDInFDI1NCcmIwYHNDc2MzIXFhUUBxYVFAcGIyInJjU0NyYkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M/0aCAgbCwRUUEwUCAohNTUREDAYDhgaMREWRRADGhjWck5IU0xpck5IU0xpYD80STtPYT8zSTx5HAoDGwgJNq0cHQ4HAgQUMBIFHxEWIRYaJEkXCEQPEiUcEwAEACT/zgI0Ad4ADwAfADoASgAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXIicmNTQ3NjMyFxYdARQHBisBNTMyNzY9AQYnMjc2NTQnJiMiBwYVFBcWJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzPSNBwPLhcaNRwPLx4kQ0MmFQcXGiEMBBwKCyANAxsK1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8cCsWGjMaDisWGl8xIBUwIAsLEQ0wGwgIGwwEGwgIGwwEAAAEACT/zgI0Ad4ADwAfACIANAAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXMycXMycjBzMVIzUzNyM1MxczFSMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M8EwGSAbGkAaG24jQTR5TSJs1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8REWyTU0rK8wr9ysAAAUAJP/OAjQB3gAPAB8AJgAxAEQAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFzMyNTQnIxUzMjc2NTQnJisBNxYVFAcGKwE1MzUjNTMyFxYVFCRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zwE4jI05HHwoEIgYFR3omKQ0PqSAgqSgTCNZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPCMZFgHMIQsOKQsCFBc5QRcHK8wrHw4QKAADACT/zgI0Ad4ADwAfAEYAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGNzIXFjU2NxcGFRQXByYnJiMiBwYVFBcWMzI3FwYHBiMiJyY1NDc2JFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzPUIhMGAQUgCQomER8GBiYXDiQSFR0aIh0xBgU+JBg0H9ZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPDAQBAQMCQgXCxAUCR4HASkaIzgfEB8gJAUBPCYwTCwaAAAEACT/zgI0Ad4ADwAfACoAOQAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXMzI3NjU0JyYrAQczNSM1MzIXFhcUBwYrASRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zrSwuGQ8hFh8sUiQkjkEhDwEhIDGO1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8wCwaIS8fFsvLK0wjHzgvLQAAAwAk/84CNAHeAA8AHwA3AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBgUVIzUjFTM3MwcjNTM1IzUzFyMnIxUzNSRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zASMlSn8GHwbwJCTvBR4Ff0rWck5IU0xpck5IU0xpYD80STtPYT8zSTwVWx5hJ1MsyytOIz8SAAMAJP/OAjQB3gAPAB8ANQAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwY3FTM1MxUjNSMVMxUjNTM1IzUhFyMnJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzPMOCYmOFe3MjIBCAYbBtZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPAI7GWQgZSwsyytiNwADACT/zgI0Ad4ADwAfAEcAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGNzIXFjc2NxcGFRQXByYnIgcGFRQXFjMyNyM1MxUGBwYjIicmNTQ3NiRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8z3yYOBQEBBSEJCSYTKDATCC0ODjwDJEsDQw8RPyUWNCHWck5IU0xpck5IU0xpYD80STtPYT8zSTw6EAQEDAkHGwcOFgkjAzgWF0YbCVElJWIUBD0mL0ktGwADACT/zgI0Ad4ADwAfADsAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFzM1IzUzFSMVMxUjNTM1IxUzFSM1MzUjNTMVIyRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8znHEkdiMjdyVxJHYjI3Yk1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8HC8rK8ssLG5uLCzLKysAAAMAJP/OAjQB3gAPAB8AKwAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwY3IzUzFSMVMxUjNTMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M7tX2VRU2VfWck5IU0xpck5IU0xpYD80STtPYT8zSTwQKyvLKysAAAMAJP/OAjQB3gAPAB8AOAAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXFBcWMzI3Nj0BIzUzFSMVFAcGIyInJj0BJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzOdCAwfKwcBWroyIxokNB4O1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8XDkQGSYGBZgsLK0iFxEsFRY5AAADACT/zgI0Ad4ADwAfAD8AADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGNzMVIwcWFxYXMxUjJicmJwcVMxUjNTM1IzUzFSMVNyMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M9OEOFI6NQECLUgvIxAUFi6FKip+J0oP1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8PCpXEFsDAytUFwoFFzkqKskqKk9PAAMAJP/OAjQB3gAPAB8ALQAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwY3IzUzFSMVMzczByM1MyRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zjCuGLWcILQrsLNZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPBsrK8xIcysAAAMAJP/OAjQB3gAPAB8APAAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYlFTMVIzUzNSMHIycjFTMVIzUzNSM1MxUXNzUzFSRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zAVcVbCgCSAtIBChuGBhMS01J1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8FMssLJuIhpksLMsrBYKDBCsAAwAk/84CNAHeAA8AHwA1AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBjcXNSM1MxUjFSMnIxUzFSM1MzUjNTMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M4edJ3IcKqMBKHQdHU7Wck5IU0xpck5IU0xpYD80STtPYT8zSTxF0aYrK/rZqysrzCsAAAQAJP/OAjQB3gAPAB8ALwA/AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBjcyFxYVFAcGIyInJjU0NzYXIgcGFRQXFjMyNzY1NCcmJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzPRPiUYMiEoPSUZMyAoKBcNKBETJxcOKBHWck5IU0xpck5IU0xpYD80STtPYT8zSTxCPScxSy4dPSgxSi4dLy0ZIDweDSwbIDwdDQAEACT/zgI0Ad4ADwAfACgAOwAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXMzI3NjUmJyMHMzUjNTMyFxYVFAcGKwEVMxUjJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzPDTyIPBwgwT1IkJKw2FwstFBdaOYvWck5IU0xpck5IU0xpYD80STtPYT8zSTxlGwwPMQXLyyssFBs7Hg40LAAEACT/zgI0Ad4ADwAfAEcAVwAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXBzYzMhcWMzI3FwYHBiMiJyYjIgcnNyYnJjU0NzYzMhcWFRQHBiMiNyIHBhUUFxYzMjc2NTQnJiRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8ztBMMCA0ZDAcNGBgjEQQFDhgMBxwnGD0pDQQ0Hyc/JBg0ICcSEigXDSgREygXDSgR1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8qhgCFQsVHB4EARUKGx5OGzwSE0wsGjwmMEwsGvgtGSA8Hg0uGh89HQwAAAQAJP/OAjQB3gAPAB8AKABHAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBhczMjc2NSYnIxcWFxYXMxUjJicmJyMVMxUjNTM1IzUzMhcWFRQHBiMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M6VfMQkCCjJfYhgaAwIvTBcZDBUrNYgkJMM3FwoyEhTWck5IU0xpck5IU0xpYD80STtPYT8zSTw9HwYHKgKEDS8HBCs7Gg0QRysryywnEhk/FwgAAwAk/84CNAHeAA8AHwBcAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBiUGFRQXJyYnJiMiBwYVFBcWFxYVFAcGIyInJgcGByMwNzY1NCczMBcWFxYzNjc0LwEmNTQ3NjMyFxY3NDckU0xpck5IU0xpck5INUg8T2A/NEk8TmE/MwExBgwpBSQICCcHASYzBCssFxkeHQQBBgIgCAQMIAcTJAUFKwQpNSo0ExUcGAYBBNZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPE0SHBoMARwIAhcDBBoPFQIZNC4bDxgDBxAHFhAQEx4PIQcBBiYjDxUUMi8UCBMDBAkJAAADACT/zgI0Ad4ADwAfAC8AADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGBScjFTMVIzUzNSMHIzchFyRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zATgFST+rPkgFJQUBCAXWck5IU0xpck5IU0xpYD80STtPYT8zSTw8RsssLMtGcXEAAAMAJP/OAjQB3gAPAB8APQAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYlIxUUBwYjIicmPQEjNTMVIxUUFxYzMjc2PQEjNTMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/MwFjGCYiLjslExdpJxwTGTEUBiZp1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8BpomHxsyGBaaLCyFJBYOLQ4NhSwAAwAk/84CNAHeAA8AHwAuAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBiUjByMDIzUzFSMXNyM1MyRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zAWkXZy1nF2YfTU4fZtZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPAT/AP8rK8bGKwAAAwAk/84CNAHeAA8AHwA0AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBiUzFSMHIycHIycjNTMVIxc3Mxc3IyRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zAQNmDUIeLi8aQw9mLyUoLCgnL9ZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPDQs/qio/iwskIaEjgADACT/zgI0Ad4ADwAfAD0AADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGJQcXMxUGJzUzJwczFQYnNTM3JyM1MxUjFzcjNTMVJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzMBQExMKDdFHC8vG0Y3KUpLJX4fLy4ffdZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPBlmZSsBASs9PSsBAStlZisrPj4rKwADACT/zgI0Ad4ADwAfADQAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFzMVIzUzNScjNTMVIxc3IzUzFSMHJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzPmHmkdYBJpH0BAH2kSYtZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPL8rK0iDKytVVSsrgwAAAwAk/84CNAHeAA8AHwAtAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBgU3MwcjNTcjByM3MxUHJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzMBFgUqCMmFWwMrBciF1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8rj5pCuw9aQzrAAQAJP/OAjQB3gAPAB8ALABNAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBgUmIyIHBhUUFxYzMjcXMxUjNQYjIicmNTQ3NjMyFzU0JyYjIgcnMDc2MzIXFhUkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/MwERMSAlCAEbDg4pHy4wXiImOR0PMRQXIy4uDQ4hKg4eJRY6JxbWck5IU0xpck5IU0xpYD80STtPYT8zSTxhDRwEAxALBiAdKxYcJBMYMRcJDQUdCAITIQwLIBIWAAQAJP/OAjQB3gAPAB8ANABEAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBjcHJzcVNjMyFxYVFAcGIyInFSM1MzciBwYVFBcWMzI3NjU0JyYkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M3slA1ccLD0kFTEgJSYiVSZ3KBYKIxITKBYKIxLWck5IU0xpck5IU0xpYD80STtPYT8zSTwnBysMgxwyHSM4JBYcGCyGIxARJBUKIhARJBULAAADACT/zgI0Ad4ADwAfAEUAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGJTcXMAcUFRcVByYnJiMiBwYVFBcWMzI3FwYHIicmNTQ3NjMyFxYkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/MwETCCAJCCgOJgUGKBYJJhARJR0WITVDIxIzHSMgHAXWck5IU0xpck5IU0xpYD80STtPYT8zSTwDEAwcBAIRAQ4dBgElDg4pFQkWIxsBMhshOyATEgQAAAQAJP/OAjQB3gAPAB8ANABEAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBgUjNQYjIicmNTQ3NjMyFzUHNTcRMyc0JyYjIgcGFRQXFjMyNzYkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/MwFRVCInOyUWMR8mKSA0YiZVIxITKBYKIxITKBYK1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k86RgcMR0kOSMWHU0KLRP+5UMkFQoiEBEkFQsjEAAEACT/zgI0Ad4ADwAfACYAPQAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYFJiMiBwYHFyMWFxYzMjcXBgciJyY1NDc2MzIXFhckU0xpck5IU0xpck5INUg8T2A/NEk8TmE/MwETFC4lEwMBsLgJHw0RLCAVJzo9JBUzHSQ/IhIB1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8PiceBQQoIg8HGCEgAS8dIjohEzAaHwAAAwAk/84CNAHeAA8AHwA7AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBhc1IzUzNTQ3NjMyFwcmJyIHBh0BMxUjFTMVIzUkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M5clJTkRESwgEx8VKgYBc3NWqtZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPMWFKyktDwQYJxEBJAUEDyuFKysAAAQAJP/OAjQB3gAPAB8AQgBSAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBiUVIxUUBwYjIic3FhcWMzI3Nj0BBgcGIyInJjU0NzYzMhc1ByIHBhUUFxYzMjc2NTQnJiRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zAWsnMiMjMzAIHy8HBjISBREkCQo7JRYzHyQwGEcoFgojEhMmFwokEdZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPDgrwSUcFB4qFgUBIQoLIhkHAjAeIzojFSIeKiMQESQVCiIQESUVCgADACT/zgI0Ad4ADwAfAD0AADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFzYzMhcWHQEzFSM1MzU0JyYjIgcVMxUjNTM1BzU3JFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzOeLSAqJRcebB8aDRAiKx5rHx9N1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8IRoiFBRtKytUHBEJHmwrK+YJKxMAAAQAJP/OAjQB3gAPAB8AKQAtAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBhcjNTMVMxUjNTM3FSM1JFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzPBUoBMzFIhJtZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPCcrsSsr9zIyAAQAJP/OAjQB3gAPAB8AMQA1AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBhcWMzI3Nj0BIzUzFRQHBiMiJxMVIzUkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M5wTJhMOBzZkKRQZLBWJJtZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPOANFgkJwSvsMRgMDwF4MjIAAAMAJP/OAjQB3gAPAB8ANwAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXMycHFSM1MzUHNTcVNyM1MxUjBxczFSMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M9UTNA1UJSVUKBGFPTRKRYzWck5IU0xpck5IU0xpYD80STtPYT8zSTy5QAthLOIMKxq3ISsrK1osAAMAJP/OAjQB3gAPAB8AKQAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwY3BzU3ETMVIzUzJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzOtRnRi1kbWck5IU0xpck5IU0xpYD80STtPYT8zSTwsEiwZ/uUrKwADACT/zgI0Ad4ADwAfAE4AADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFzY3NjMyFxYdATMVIzU0IyIHFTMVIzU0JyYjIgcGBxUzFSM1MzUjNTMVNjc2MzIkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M9kWHAMCMgsCHk0QFhAeTQsCAxkLAQEebB8fQAkgBwQm1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8BBsGATUKC20rhTAdbSuFKwQBGQICbSsrhSsaEwwCAAADACT/zgI0Ad4ADwAfAD0AADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGNzYzMhcWHQEzFSM1MzU0JyYjIgcVMxUjNTM1IzUzJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzOYLSAqJBcfbB8aDRAiKx5rHx9N1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8AxohFRRtLCxTHBIJHmwsLIUrAAAEACT/zgI0Ad4ADwAfAC8APwAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwY3MhcWFRQHBiMiJyY1NDc2FyIHBhUUFxYzMjc2NTQnJiRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8z0zwlFjIgJTslFjEgJScXCiQREygWCiMS1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8HDEeIzkjFjEeIzgkFi8iEBEkFQsjEBEkFQoABAAk/84CNAHeAA8AHwA2AEYAADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGFzUjNTMVNjMyFxYVFAcGIyInFTMVIzU3Mjc2NTQnJiMiBwYVFBcWJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzN/JlUfKT0kFTEfJisdKH6eKBYKIxITKBYKIxLWck5IU0xpck5IU0xpYD80STtPYT8zSTzA5SsYHDIdIzkjFh1NLy9fIhARJBULIxARJBUKAAQAJP/OAjQB3gAPAB8ANgBGAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBgUzFSM1MzUGIyInJjU0NzYzMhc1MxUjBzI3NjU0JyYjIgcGFRQXFiRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zASMmfCgfKTskFTIeJCQkUyV2JhcKIhITJxUKIxDWck5IU0xpck5IU0xpYD80STtPYT8zSTzALi5MHDAeIjkiFRsXKoQhEBEjFQsjEBAjFQoAAAMAJP/OAjQB3gAPAB8ANQAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYFJiMiBxUzFSM1MzUjNTMVNjMyFxYXJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzMBKxAbHy8fbB8fTS0hJiEHBNZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPDEXHmwrK4UrExoaBgUAAwAk/84CNAHeAA8AHwBWAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBiUGFRQXIyYjIgcUFxYXFhUUBwYjIicmBwYHIzA3NjU0JzAzFjMyNTQnJicmNTQ3NjMyFxY3NjckU0xpck5IU0xpck5INUg8T2A/NEk8TmE/MwEuBgwiCzMtAig4DRsyFBYoFAQCAQYgCAQMIAsyOyc5EBg1ExQlEAUBAQPWck5IU0xpck5IU0xpYD80STtPYT8zSTwlDA4VChUUEw0TCRIfJhEGDgMGBAoRDAgNEBYUEA0SDBMfJQ4FCQMDBQQAAwAk/84CNAHeAA8AHwA5AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBhczNTMVMxUjFRQXFjMyNxcGBwYjIicmPQEjJFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzNEKS50dCMPEygtEy8vCAhFHQsp1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8A0dHK04kEwg2ITULAiwSFGgAAwAk/84CNAHeAA8AHwA9AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBgUGIyInJj0BIzUzFSMVFBcWMzI3NSM1MxUjFTMVIyRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zARMvHjQhEB5rHxgOESIrHmseHk3Wck5IU0xpck5IU0xpYD80STtPYT8zSTy2GyYSE20rK1QbEgoebSsrhSwAAwAk/84CNAHeAA8AHwAuAAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBgUjByMnIzUzFSMXNyM1MyRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8zAXEmWStbJnAZPj8ZcNZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPCG3tysrg4MrAAMAJP/OAjQB3gAPAB8ANAAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYfATczFzcjNTMVIwcjJwcjJyM1MxUkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M4AdJikkICVnEjsiKy0gOhRo1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8H2lhYWksLL1ycr0sLAAAAwAk/84CNAHeAA8AHwA7AAA3NDc2MzIXFhUUBwYjIicmNxQXFjMyNzY1NCcmIyIHBhcjNTM3JyM1MxUjFzcjNTMVIwcXMxUjNTMnBzMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/M7l9LEtMK30ZMDAZfSxMSy19GC8vGNZyTkhTTGlyTkhTTGlgPzRJO09hPzNJPL4rQkMsLCoqLCxDQisrKSkAAAMAJP/OAjQB3gAPAB8AMwAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYTNSM3MzUjFTMHJzM1IxUzFwcjFSRTTGlyTkhTTGlyTkg1SDxPYD80STxOYT8z8hBtJ3IXPkEbbyJaE27Wck5IU0xpck5IU0xpYD80STtPYT8zSTz/ACzbLCyAgCwssiksAAADACT/zgI0Ad4ADwAfAC0AADc0NzYzMhcWFRQHBiMiJyY3FBcWMzI3NjU0JyYjIgcGBQczNTMVIzU3IxUjNTMkU0xpck5IU0xpck5INUg8T2A/NEk8TmE/MwE6im0m14hpKNfWck5IU0xpck5IU0xpYD80STtPYT8zSTwEjBM+JooSPQAEACT/zgI0Ad4ADwAfACsAMgAANzQ3NjMyFxYVFAcGIyInJjcUFxYzMjc2NTQnJiMiBwYXFBcWMzInNCcmIyI3MhUUIjU0JFNMaXJOSFNMaXJOSDVIPE9gPzRJPE5hPzOnIQQFKwEhBAUrK1iw1nJOSFNMaXJOSFNMaWA/NEk7T2E/M0k8VFsJAWRbCQEtkZKRkgAAAQA8/zsBYQGqABMAABcWFzIzMjc2NREjNTMRFAcGIyInTCFBBgUfHBNowj0tPlEsVBcDIxYWAXVU/jdRMSQeAAsAKf/jAi8CYQALAC8APgBAAFoA+AD9AQIBEQEgAS8AACUnBzMyFxYXNjc2MwciJyYnJicmPQE0NzY3NjMiOwEyFxYXFhcWHQEUBwYHBiMyIxM0NzYXNSEVNhcWHQE3FwMjMyMiByIHJiMmKwEmJyY3NjM2MwYHBhcWFxYHBgcmIyIHJiMiByYjIgcmJyYHBhcWMxY3FhcyNxYzFjcWMxY3FhcyNxYXMjcWFxY3FhcyNxYXMjcWFzI3NicmJyIHJiMiByYnIgcmJzMmJysBJi8BNTYXFjc2NzYnJic0NzYXFjcnNyInJi8BJiMGBwYXFhcWBxQHBicmIyIHBicmJyYnBgcGFxYVBgc2HwEWFwYVBhcWFxYVIg8BIzMGByYnMwYHJicfASMXIxcjFSM1IzcjNyMHFyMXIxcjFSM1IzcjNyMnFyMXIxcjFSM1IzcjNyMBxJmWbhMKCwMDCAoQZ0QVFBM6BgIKDykmPRUygEQYEhE6BwILDiomPR05dQ0MDP5KDA0Mtra6BSABAwEDAgIGAwQCAwELBwMHBQkDAgIJAQEFJQUCBgYHBgUGCgMGBggGBAYJBgQBAwkJBQUGCAUFBgkFBQUJBQMICAYDBwkFAwYJBgQGCQUCCQkFAwgJBgQCAQsIBQYGCAYCCQgEAwQFAggJAQYCBQUSCwUWBAIYEAEMBw0NEAoKAwoJBAgEDBUGAwIBDAcBBwYQCgwLEAoIBwcDAQMCAQkDAwUHEA0LCAQECwEBBQEDBgEcBgICBScFAgIGYyAZGRkXFw4WFhYWFVgfGBgYFhYOFxcXFxZZIBkZGRcXDRcXFxcWQ5eXCQsFCQcJXwYGDSdcFjeqYiMwGxkIBgsmVxU+qmIjMBsZAXIOCggBEhIBCAwM77W4AUQBAQEBAgUbCQICAwcFDwICCQcCAwYGBgYGBgQBAQcHBgUCBwMCBQUCBwUCBwQCBgUBBgUBAggFAQYFAQYEAgcGBgUCBgYGBAIGAwIBAg0JDgIMBAIBCRUeDwoKBQQBAwEDAwQCAgMKAgIYCQgECQYGAwQBCAUQCQQECgQEAwUEDQUDEwUJAQgFAgYDCBECAgkCAQICAwMCAwIEAWsTDg4ODg4OkBMPDQ4ODQ+2Ew4ODg4ODgAAAwAA/9sCWAIzAA8ALQAxAAAlFBcWMzI3NjU0JyYjIgcGNzM1NDc2NzY1NCcmBwYdATM1NDc2FxYVFAcGBwYVEwkCAQsbCAgeCgMaCAkdCwMeFyIpCgc9NzIuFjAyKB4oJAgJAwEs/tT+1GEeCgMbCAgdDAMbCD4oFiIoGhITPhgVGRcvDAwmDg4ZEyIlJiMPEBIBY/7U/tQBLAAAAAABAAAAAQAAhzkKW18PPPUCEwPoAAAAALs5K/8AAAAAuzkr//xl/ngDTgPnAAEACAAAAAAAAAAAAAEAAAMo/0AAWgNR/GX+gwNOAAEAAAAAAAAAAAAAAAAAAAVMAbAAIQAAAAABTQAAAlgAAAJYAMICWACNAlj//gJYAGACWAAdAlgAIAJYAN8CWADPAlgAigJYAD4CWABNAlgALgJYAE0CWABsAlgANwJYAHwCWABtAlgAYQJYAG0CWABWAlgAVAJYAGsCWABhAlgAewJYAFsCWAC3AlgAiAJYAD0CWAB2AlgANAJYADYCWABaAlgAHQJYAFECWABXAlgANAJYAEoCWAAtAlgAVgJYAB8CWABZAlgAOwJYAAUCWABHAlgACAJYAAACWAA+AlgANQJYADkCWAAJAlgAYAJYACICWAAcAlgADQJYAAACWAAUAlgAIAJYAFsCWADHAlgAYAJYAKsCWABfAlgAIwJYAL8CWAApAlgAIwJYAEUCWAApAlgARQJYAFUCWAAnAlgAFgJYAGcCWAA8AlgANwJYAFwCWAAAAlgAFgJYAEYCWAAhAlgAGwJYABYCWABfAlgAGwJYABYCWAAKAlgAAAJYAA0CWAAAAlgAUwJYAHcCWAEAAlgAlwJYAAcCWAAAAlgAwgJYAEUCWAA3AlgAKwJYACACWAEAAlgATAJYAIECWAAFAlgAmQJYAA0CWABHAlgAdgJYAAUCWABHAlgBEQJYAE0CWACyAlgAugJYALwCWAAWAlgABgJYAN0CWAEMAlgAuQJYAKACWAAWAlgAEwJYABMCWAAaAlgAJgJYAB0CWAAdAlgAHQJYAB0CWAAdAlgAHQJYABUCWABXAlgASgJYAEoCWABKAlgASgJYAFkCWABZAlgAWQJYAFkCWAAwAlgAAAJYAD4CWAA+AlgAPgJYAD4CWAA+AlgAmgJYADMCWAAcAlgAHAJYABwCWAAcAlgAIAJYADUCWAAgAlgAKQJYACkCWAApAlgAKQJYACkCWAApAlgABgJYAEUCWABFAlgARQJYAEUCWABFAlgAZwJYAGcCWABnAlgAZwJYAEUCWAAWAlgARgJYAEYCWABGAlgARgJYAEYCWABNAlgAPAJYABYCWAAWAlgAFgJYABYCWAAAAlgAIQJYAAACWAAdAlgAKQJYAB0CWAApAlgAHQJYACkCWABXAlgARQJYAFcCWABFAlgAVwJYAEUCWABXAlgARQJYADQCWAApAlgAMAJYACkCWABKAlgARQJYAEoCWABFAlgASgJYAEUCWABKAlgARQJYAEoCWABFAlgAVgJYACcCWABWAlgAJwJYAFYCWAAnAlgAVgJYACcCWAAfAlgAFgJYAB8CWAAWAlgAWQJYAGcCWABZAlgAZwJYAFkCWABnAlgAWQJYAGcCWABZAlgAZwJYAAcCWAA8AlgAOwJYADwCWAAFAlgANwJYAAUCWABHAlgAXAJYAEcCWABcAlgARwJYAFwCWABHAlgAXAJYACsCWABcAlgAAAJYABYCWAAAAlgAFgJYAAACWAAWAlgAFgJYAAACWAAWAlgAPgJYAEYCWAA+AlgARgJYAD4CWABGAlgAGQJYAA0CWAAJAlgAFgJYAAkCWAAWAlgACQJYABYCWABgAlgAXwJYAGACWABfAlgAYAJYAF8CWABgAlgAXwJYACICWAAbAlgAIgJYABsCWAAiAlgAGwJYABwCWAAWAlgAHAJYABYCWAAcAlgAFgJYABwCWAAWAlgAHAJYABYCWAAcAlgAFgJYAAACWAAAAlgAIAJYAAACWAAgAlgAWwJYAFMCWABbAlgAUwJYAFsCWABTAlgAbwJYACMCWABlAlgAMAJYAA4CWAA3AlgAIwJYAHsCWAAAAlj/zgAA/lEAAP8UAlgAPgJYAEYCWABuAlgAbQJYACACWAAcAlgAFgJYAAACWABbAlgAUwJYAGsCWAA5AlgAOQJYAPQCWAC+AlgAwgJYAB0CWAApAlgAWQJYAGcCWAA+AlgARgJYABwCWAAWAlgAHAJYABYCWAAcAlgAFgJYABwCWAAWAlgAHAJYABYCWABPAlgAHQJYACkCWAAdAlgAKQJYABUCWAAGAlgAVgJYACcCWAAFAlgANwJYAD4CWABGAlgAPgJYAEYCWABrAlgAUwJYADwCWABWAlgAJwJYAAACWAAWAlgAHQJYACkCWAAVAlgABgJYADMCWAA8AlgAHQJYACkCWAAdAlgAKQJYAEoCWABFAlgASgJYAEUCWABZAlgAZwJYAFkCWABnAlgAPgJYAEYCWAA+AlgARgJYAAkCWAAWAlgACQJYABYCWAAcAlgAFgJYABwCWAAWAlgAIAJYAD8CWAAiAlgAGwJYAB8CWAAWAlgAHQJYACkCWABKAlgARQJYAD4CWABGAlgAPgJYAEYCWAA+AlgARgJYAD4CWABGAlgAIAJYAAACWAAPAlgATwJYAEYCWABPAlgAcgJYAHYCWAAnAlgAVgJYAFYCWAAaAlgAZwJYAGcCWABZAlj//wJYAAACWABZAlgALwJYAC8CWAAJAlgACQJYADoCWAAWAlgACAJYAAECWAACAlgAIAJYAFMCWABRAlgAHwJYABECWABHAlgANAJYAAACWAAsAlgAJgJYACoCWAAAAlgAFgJYACUCWAAfAlgALQJYAC0CWADFAAAA/wJY/zwCWAFIAlgBPQJYAAACWAAAAlgAPQJYADQCWAA6AlgAOgJYAKkCWACpAlgANAJYAEcCWACCAlgAdwJYAEkCWABHAlgAdwJYAIICWAArAlgAKwJYAUgCWAE9AlgAPQJYAD0CWABgAlgATQJYAJoCWAD8AlgAmQJYAEsCWAEbAlgAqAJYAB4CWAAAAlgATQJYAEcCWAAfAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAAD/cAAA/50AAP8AAAD+0gAA/oMAAP23AAD+uwAA/8EAAP82AAD/YAAA/qQAAP5pAAD+dQAA/4QAAP8PAAD+NQAA/rUAAP67AAD/UAAA/yoAAP84AAD/KgAA/hoAAP5mAAD/FAAA/xYAAP5ZAAD/KgAA/zAAAP8HAAD/BwAA/jkAAP6nAAD/OAAA/1wAAP7mAAD+UAAA/jQAAP8qAAD/WAAA/uwAAP+DAAD+swAA/rMAAP6WAAD+bwAA/rsAAP67AAD+0gAA/oMAAP2oAAD9igAA/tIAAP6DAAD9kgAA/lEAAPxlAAD/QAAA/jIAAP7VAAD+vAAA/scAAP7pAAD9pQAA/3AAAP+dAAD+0gAA/yoAAP82AAD+ZAAA/wkAAP8yAlgAygJYAMoCWADUAlgAiAJYADQCWACBAlj/wQJYAN0CWP/uAlj/wwJY//0CWP/iAlj/xAJY/6QCWABnAlgAHQJYAFECWAAwAlgACgJYAEoCWABbAlgAHwJYAD4CWABZAlgABQJYAA0CWAAIAlgAAAJYAAoCWAA+AlgAHQJYADUCWAAgAlgAIgJYACACWABZAlgAFAJYACwCWAAAAlgAWQJYACACWAAKAlgAcgJYABYCWABnAlgAFgJYAAoCWAA4Alj/7gJYAEYCWAByAlgAYgJYABYCWAB1AlgAZwJYAAUCWAAAAlgAFgJYAAoCWACDAlgARgJYACcCWAAhAlgAiAJYAEYCWAAHAlgAFgJYACUCWAANAlgADQJYAAYCWABnAlgAFgJYAEYCWAAWAlgABgJYAB4CWP/CAlgAHgJYAC0CWAAWAlgAFgJYADwCWABKAlgASgJYAF8CWAAwAlgAVwJYAGACWABZAlgAWQJYADsCWP+xAlgAFQJYACICWAAFAlgAIQJYAAoCWAAdAlgAHQJYACMCWABRAlgAMAJYABgCWABKAlgADQJYAHgCWAAhAlgAIQJYAAUCWP+xAlgACAJYAB8CWAA+AlgAHQJYADUCWABXAlgAIgJYAAoCWABZAlgAFAJYAB0CWAAWAlgAFwJYABcCWAAQAlgAFQJYAG8CWABfAlgAHwJYABYCWAApAlgARgJYAFECWAA+AlgAGAJYAEUCWAANAlgAhAJYACECWAAhAlgABQJY/7ECWAAIAlgAHwJYAEYCWAAnAlgAIQJYAEUCWAAiAlgAAAJYACUCWAANAlgAJwJYABYCWAAXAlgAFwJYABgCWAATAlgAbwJYAGQCWAAOAlgACAJYAEUCWABFAlgAbwJYAD4CWABFAlgAXwJYAGcCWABnAlgAPAJY/7ECWAAVAlgAFgJYAAUCWAAhAlgAAAJYACcCWAAzAlgAPgJYADMCWAA8AlgADQJYAA0CWAB4AlgAhAJYAAUCWAAFAlgAVwJYAEUCWAAiAlgAIgJYACACWAAgAlgAIAJYACACWAAUAlgADQJYACECWAAgAlgAWQJYAA0CWAANAlgAHQJYACkCWAAdAlgAKQJYABUCWAAGAlgASgJYAEUCWAAjAlgATwJYACMCWABPAlgADQJYAA0CWAB4AlgAhAJYAGsCWABTAlgAIQJYACECWAAhAlgAIQJYAD4CWABGAlgAPgJYAHUCWAA+AlgAdQJYAF8CWABkAlgACgJYAAACWAAKAlgAAAJYAAoCWAAAAlgAFgJYABYCWAAVAlgAEwJYAB0CWAApAlgAUQJYACMCWABRAlgAIwJYAFECWAAjAlgAVwJYAEUCWAA0AlgAKQJYADQCWAApAlgANAJYACkCWAA0AlgAKQJYADQCWAApAlgASgJYAEUCWABKAlgARQJYAEoCWABFAlgASgJYAEUCWABKAlgARQJYAC0CWABVAlgAVgJYACcCWAAfAlgAFgJYAB8CWAAWAlgAHwJYABYCWAAfAlgAFgJYAB8CWAAWAlgAWQJYAGcCWABZAlgAZwJYAAUCWAA3AlgABQJYADcCWAAFAlgANwJYAEcCWABcAlgARwJYAFwCWABHAlgAXAJYAEcCWABcAlgACAJYAAACWAAIAlgAAAJYAAgCWAAAAlgAAAJYABYCWAAAAlgAFgJYAAACWAAWAlgAAAJYABYCWAA+AlgARgJYAD4CWABGAlgAPgJYAEYCWAA+AlgARgJYADUCWAAhAlgANQJYACECWAAJAlgAFgJYAAkCWAAWAlgACQJYABYCWAAJAlgAFgJYAGACWABfAlgAYAJYAF8CWABgAlgAXwJYAGACWABfAlgAYAJYAF8CWAAiAlgAGwJYACICWAAbAlgAIgJYABsCWAAiAlgAGwJYABwCWAAWAlgAHAJYABYCWAAcAlgAFgJYABwCWAAWAlgAHAJYABYCWAANAlgACgJYAA0CWAAKAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYABQCWAANAlgAFAJYAA0CWAAgAlgAAAJYAFsCWABTAlgAWwJYAFMCWABbAlgAUwJYABYCWAAbAlgAAAJYAAACWAApAlgAbwJYAB0CWAApAlgAHQJYACkCWAAdAlgAKQJYAB0CWAApAlgAHQJYACkCWAAdAlgAKQJYAB0CWAApAlgAHQJYACkCWAAdAlgAKQJYAB0CWAApAlgAHQJYACkCWAAdAlgAKQJYAEoCWABFAlgASgJYAEUCWABKAlgARQJYAEoCWABFAlgASgJYAEUCWABKAlgARQJYAEoCWABFAlgASgJYAEUCWABZAlgAZwJYAFkCWABnAlgAPgJYAEYCWAA+AlgARgJYAD4CWABGAlgAPgJYAEYCWAA+AlgARgJYAD4CWABGAlgAPgJYAEYCWAA+AlgARgJYAD4CWABGAlgAPgJYAEYCWAA+AlgARgJYAD4CWABGAlgAHAJYABYCWAAcAlgAFgJYABwCWAAWAlgAHAJYABYCWAAcAlgAFgJYABwCWAAWAlgAHAJYABYCWAAgAlgAAAJYACACWAAAAlgAIAJYAAACWAAgAlgAAAJYAAoCWAAKAlgACgJYAAoCWAAKAlgACgJYAAoCWAAKAlj/xwJY/+cCWP5kAlj+ZAJY/mQCWP5kAlj/dwJY/3cCWABy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ARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAWIAigDaAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB+AIAAgQDsAO4AugFjAWQBZQFmAWcBaAD9AP4BaQFqAWsBbAD/AQABbQFuAW8BAQFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewD4APkBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwD6ANcBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoA4gDjAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpALAAsQGqAasBrAGtAa4BrwGwAbEBsgGzAPsA/ADkAOUBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQC7AcoBywHMAc0A5gDnAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCAkMCRAJFAkYCRwJIAkkCSgJLAkwCTQJOAk8CUAJRAlICUwJUAlUCVgJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYA2ADhAncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYA2wDcAN0A4ADZAN8ChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLTAtQC1QLWAtcC2ALZAtoC2wLcAt0C3gLfAuAC4QLiAuMC5ALlAuYC5wLoAukC6gLrAuwC7QLuAu8C8ALxAvIC8wL0AvUC9gL3AvgC+QL6AvsC/AL9Av4C/wMAAwEDAgMDAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYAmwMXAxgDGQMaAxsDHAMdAx4DHwMgAyEDIgMjAyQDJQMmAycDKAMpAyoDKwMsAy0DLgMvAzADMQMyAzMDNAM1AzYDNwM4AzkDOgM7AzwDPQM+Az8DQANBA0IDQwNEA0UDRgNHA0gDSQNKA0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGA4cDiAOJA4oDiwOMA40DjgOPA5ADkQOSA5MDlAOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAOhA6IDowOkA6UDpgOnA6gDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPCA8MDxAPFA8YDxwPIA8kDygPLA8wDzQPOA88D0APRA9ID0wPUA9UD1gPXA9gD2QPaA9sD3APdA94D3wPgA+ED4gPjA+QD5QPmA+cD6APpA+oD6wPsA+0D7gPvA/AD8QPyA/MD9AP1A/YD9wP4A/kD+gP7A/wD/QP+A/8EAAQBBAIEAwQEBAUEBgQHBAgECQQKBAsEDAQNBA4EDwQQBBEEEgQTBBQEFQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQQiBCMEJAQlBCYEJwQoBCkEKgQrBCwELQQuBC8EMAQxBDIEMwQ0BDUENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBFAEUQRSBFMEVARVBFYEVwRYBFkEWgRbBFwEXQReBF8EYARhBGIEYwRkBGUEZgRnBGgEaQRqBGsEbARtBG4EbwRwBHEEcgRzBHQEdQR2BHcEeAR5BHoEewR8BH0EfgR/BIAEgQSCBIMEhASFBIYEhwSIBIkEigSLBIwEjQSOBI8EkASRBJIEkwSUBJUElgSXBJgEmQSaBJsEnASdBJ4EnwSgBKEEogSjBKQEpQSmBKcEqASpBKoEqwSsBK0ErgSvBLAEsQSyBLMEtAS1BLYEtwS4BLkEugS7BLwEvQS+BL8EwATBBMIEwwTEBMUExgTHBMgEyQTKBMsEzATNBM4EzwTQBNEE0gTTBNQE1QTWBNcE2ATZBNoE2wTcBN0E3gTfBOAE4QTiBOME5ATlBOYE5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gT3BPgE+QT6BPsE/AT9BP4E/wUABQEFAgUDBQQFBQUGBQcFCAUJBQoFCwUMBQ0FDgUPBRAFEQUSBRMFFAUVBRYFFwUYBRkFGgUbBRwFHQUeBR8FIAUhBSIFIwUkBSUFJgUnBSgFKQUqBSsFLAUtBS4FLwUwBTEFMgUzBTQFNQU2BTcFOAU5BToFOwU8BT0FPgU/BUAFQQVCBUMFRAVFBUYFRwVIBUkFSgVLBUwFTQVOBU8FUAVRBVIFUwVUBVUFVgVXBVgFWQVaBVsFXAVdBV4FXwVgBWEFYgVjBWQFZQVmBWcFaAVpBWoFawVsBW0FbgVvBXAFcQVyBXMFdAV1BXYFdwV4BXkFegV7BXwFfQV+BX8FgAWBBYIFgwWEBYUFhgWHBYgFiQWKBYsFjAWNBY4FjwWQBZEFkgWTBZQFlQWWBZcFmAWZBZoFmwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIAsgCzBbMFtAW1ALYAtwDEBbYAtAC1AMUFtwCCAMIAhwW4BbkFugCrBbsFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJAL4AvwXKBcsFzAXNBc4AvAXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBesF7AXtAPcF7gXvBfAF8QXyBfMF9AX1BfYF9wX4BfkF+gX7BfwF/QX+Bf8GAAYBBgIGAwYEBgUGBgYHBggGCQYKBgsGDAYNBg4GDwYQBhEGEgYTBhQGFQCMBhYAnwYXBhgGGQYaBhsGHAYdBh4GHwYgBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQYyBjMGNAY1BjYGNwY4BjkGOgY7BjwGPQY+Bj8GQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAZNBk4GTwZQBlEGUgZTBlQGVQZWBlcGWAZZBloGWwZcBl0GXgZfBmAGYQZiBmMGZAZlBmYGZwZoBmkGagZrBmwGbQZuBm8GcAZxBnIFc3BhY2UGZXhjbGFtCHF1b3RlZGJsCm51bWJlcnNpZ24GZG9sbGFyB3BlcmNlbnQJYW1wZXJzYW5kC3F1b3Rlc2luZ2xlCXBhcmVubGVmdApwYXJlbnJpZ2h0CGFzdGVyaXNrBHBsdXMFY29tbWEGaHlwaGVuBnBlcmlvZAVzbGFzaAR6ZXJvA29uZQN0d28FdGhyZWUEZm91cgRmaXZlA3NpeAVzZXZlbgVlaWdodARuaW5lBWNvbG9uCXNlbWljb2xvbgRsZXNzBWVxdWFsB2dyZWF0ZXIIcXVlc3Rpb24CYXQBQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaC2JyYWNrZXRsZWZ0CWJhY2tzbGFzaAxicmFja2V0cmlnaHQLYXNjaWljaXJjdW0KdW5kZXJzY29yZQVncmF2ZQFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoJYnJhY2VsZWZ0A2JhcgpicmFjZXJpZ2h0CmFzY2lpdGlsZGUHdW5pMDBBMAd1bmkwMEFEB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleApDZG90YWNjZW50CmNkb3RhY2NlbnQGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUKRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4Ckdkb3RhY2NlbnQKZ2RvdGFjY2VudAxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BEhiYXIEaGJhcgZJdGlsZGUGaXRpbGRlB0ltYWNyb24HaW1hY3JvbgZJYnJldmUGaWJyZXZlB0lvZ29uZWsHaW9nb25lawJJSgJpagtKY2lyY3VtZmxleAtqY2lyY3VtZmxleAxLY29tbWFhY2NlbnQMa2NvbW1hYWNjZW50DGtncmVlbmxhbmRpYwZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24LbmFwb3N0cm9waGUDRW5nA2VuZwdPbWFjcm9uB29tYWNyb24GT2JyZXZlBm9icmV2ZQ1PaHVuZ2FydW1sYXV0DW9odW5nYXJ1bWxhdXQGUmFjdXRlBnJhY3V0ZQxSY29tbWFhY2NlbnQMcmNvbW1hYWNjZW50BlJjYXJvbgZyY2Fyb24GU2FjdXRlBnNhY3V0ZQtTY2lyY3VtZmxleAtzY2lyY3VtZmxleAd1bmkwMTYyB3VuaTAxNjMGVGNhcm9uBnRjYXJvbgRUYmFyBHRiYXIGVXRpbGRlBnV0aWxkZQdVbWFjcm9uB3VtYWNyb24GVWJyZXZlBnVicmV2ZQVVcmluZwV1cmluZw1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BlphY3V0ZQZ6YWN1dGUKWmRvdGFjY2VudAp6ZG90YWNjZW50BWxvbmdzB3VuaTAxODIHdW5pMDE4Ngd1bmkwMTg5B3VuaTAxOEIHdW5pMDE4RQd1bmkwMThGB3VuaTAxOTAHdW5pMDE5Qwd1bmkwMTlEB3VuaTAxOUUHdW5pMDE5RgVPaG9ybgVvaG9ybgd1bmkwMUE3B3VuaTAxQTgHdW5pMDFBOQVVaG9ybgV1aG9ybgd1bmkwMUIxB3VuaTAxQjUHdW5pMDFCNgd1bmkwMUI3B3VuaTAxQjgHdW5pMDFCOQd1bmkwMUMwB3VuaTAxQzEHdW5pMDFDMwd1bmkwMUNEB3VuaTAxQ0UHdW5pMDFDRgd1bmkwMUQwB3VuaTAxRDEHdW5pMDFEMgd1bmkwMUQzB3VuaTAxRDQHdW5pMDFENQd1bmkwMUQ2B3VuaTAxRDcHdW5pMDFEOAd1bmkwMUQ5B3VuaTAxREEHdW5pMDFEQgd1bmkwMURDB3VuaTAxREQHdW5pMDFERQd1bmkwMURGB3VuaTAxRTAHdW5pMDFFMQd1bmkwMUUyB3VuaTAxRTMGR2Nhcm9uBmdjYXJvbgd1bmkwMUU4B3VuaTAxRTkHdW5pMDFFQQd1bmkwMUVCB3VuaTAxRUMHdW5pMDFFRAd1bmkwMUVFB3VuaTAxRUYHdW5pMDFGMAd1bmkwMUY0B3VuaTAxRjUHdW5pMDFGOAd1bmkwMUY5CkFyaW5nYWN1dGUKYXJpbmdhY3V0ZQdBRWFjdXRlB2FlYWN1dGULT3NsYXNoYWN1dGULb3NsYXNoYWN1dGUHdW5pMDIwMAd1bmkwMjAxB3VuaTAyMDIHdW5pMDIwMwd1bmkwMjA0B3VuaTAyMDUHdW5pMDIwNgd1bmkwMjA3B3VuaTAyMDgHdW5pMDIwOQd1bmkwMjBBB3VuaTAyMEIHdW5pMDIwQwd1bmkwMjBEB3VuaTAyMEUHdW5pMDIwRgd1bmkwMjEwB3VuaTAyMTEHdW5pMDIxMgd1bmkwMjEzB3VuaTAyMTQHdW5pMDIxNQd1bmkwMjE2B3VuaTAyMTcMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50B3VuaTAyMUUHdW5pMDIxRgd1bmkwMjI2B3VuaTAyMjcHdW5pMDIyOAd1bmkwMjI5B3VuaTAyMkEHdW5pMDIyQgd1bmkwMjJDB3VuaTAyMkQHdW5pMDIyRQd1bmkwMjJGB3VuaTAyMzAHdW5pMDIzMQd1bmkwMjMyB3VuaTAyMzMHdW5pMDI1MAd1bmkwMjU0B3VuaTAyNTgHdW5pMDI1OQd1bmkwMjVCB3VuaTAyNUMHdW5pMDI2MAd1bmkwMjYxB3VuaTAyNjIHdW5pMDI2NQd1bmkwMjY4B3VuaTAyNjkHdW5pMDI2QQd1bmkwMjZGB3VuaTAyNzQHdW5pMDI3OAd1bmkwMjc5B3VuaTAyN0EHdW5pMDI4MAd1bmkwMjgxB3VuaTAyODcHdW5pMDI4Qgd1bmkwMjhDB3VuaTAyOEQHdW5pMDI4RQd1bmkwMjhGB3VuaTAyOTIHdW5pMDI5OQd1bmkwMjlDB3VuaTAyOUUHdW5pMDI5Rgd1bmkwMkIwB3VuaTAyQjEHdW5pMDJCMgd1bmkwMkIzB3VuaTAyQjQHdW5pMDJCNQd1bmkwMkI2B3VuaTAyQjcHdW5pMDJCOAd1bmkwMkI5B3VuaTAyQkEHdW5pMDJCQglhZmlpNTc5MjkJYWZpaTY0OTM3B3VuaTAyQkUHdW5pMDJCRgd1bmkwMkMwB3VuaTAyQzEHdW5pMDJDMgd1bmkwMkMzB3VuaTAyQzQHdW5pMDJDNQd1bmkwMkM4B3VuaTAyQzkHdW5pMDJDQQd1bmkwMkNCB3VuaTAyQ0MHdW5pMDJDRAd1bmkwMkNFB3VuaTAyQ0YHdW5pMDJEMAd1bmkwMkQxB3VuaTAyRDIHdW5pMDJEMwd1bmkwMkQ0B3VuaTAyRDUHdW5pMDJENgd1bmkwMkQ3B3VuaTAyREUHdW5pMDJFMAd1bmkwMkUxB3VuaTAyRTIHdW5pMDJFMwd1bmkwMkU0B3VuaTAyRTUHdW5pMDJFNgd1bmkwMkU3B3VuaTAyRTgHdW5pMDJFOQlncmF2ZWNvbWIJYWN1dGVjb21iB3VuaTAzMDIJdGlsZGVjb21iB3VuaTAzMDQHdW5pMDMwNQd1bmkwMzA2B3VuaTAzMDcHdW5pMDMwOA1ob29rYWJvdmVjb21iB3VuaTAzMEEHdW5pMDMwQgd1bmkwMzBDB3VuaTAzMEQHdW5pMDMwRQd1bmkwMzBGB3VuaTAzMTAHdW5pMDMxMQd1bmkwMzEyB3VuaTAzMTMHdW5pMDMxNAd1bmkwMzE1B3VuaTAzMTYHdW5pMDMxNwd1bmkwMzE4B3VuaTAzMTkHdW5pMDMxQQd1bmkwMzFCB3VuaTAzMUMHdW5pMDMxRAd1bmkwMzFFB3VuaTAzMUYHdW5pMDMyMAd1bmkwMzIxB3VuaTAzMjIMZG90YmVsb3djb21iB3VuaTAzMjQHdW5pMDMyNQd1bmkwMzI2B3VuaTAzMjcHdW5pMDMyOAd1bmkwMzI5B3VuaTAzMkEHdW5pMDMyQgd1bmkwMzJDB3VuaTAzMkQHdW5pMDMyRQd1bmkwMzJGB3VuaTAzMzAHdW5pMDMzMQd1bmkwMzMyB3VuaTAzMzMHdW5pMDMzNAd1bmkwMzM1B3VuaTAzMzYHdW5pMDMzNwd1bmkwMzM4B3VuaTAzMzkHdW5pMDMzQQd1bmkwMzNCB3VuaTAzM0MHdW5pMDMzRAd1bmkwMzNFB3VuaTAzM0YHdW5pMDM0MAd1bmkwMzQxB3VuaTAzNDIHdW5pMDM0Mwd1bmkwMzQ0B3VuaTAzNDUHdW5pMDM2MAd1bmkwMzYxB3VuaTAzNzQHdW5pMDM3NQd1bmkwMzdBB3VuaTAzN0UFdG9ub3MNZGllcmVzaXN0b25vcwpBbHBoYXRvbm9zCWFub3RlbGVpYQxFcHNpbG9udG9ub3MIRXRhdG9ub3MJSW90YXRvbm9zDE9taWNyb250b25vcwxVcHNpbG9udG9ub3MKT21lZ2F0b25vcxFpb3RhZGllcmVzaXN0b25vcwVBbHBoYQRCZXRhBUdhbW1hB3VuaTAzOTQHRXBzaWxvbgRaZXRhA0V0YQVUaGV0YQRJb3RhBUthcHBhBkxhbWJkYQJNdQJOdQJYaQdPbWljcm9uAlBpA1JobwVTaWdtYQNUYXUHVXBzaWxvbgNQaGkDQ2hpA1BzaQd1bmkwM0E5DElvdGFkaWVyZXNpcw9VcHNpbG9uZGllcmVzaXMKYWxwaGF0b25vcwxlcHNpbG9udG9ub3MIZXRhdG9ub3MJaW90YXRvbm9zFHVwc2lsb25kaWVyZXNpc3Rvbm9zBWFscGhhBGJldGEFZ2FtbWEFZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBWthcHBhBmxhbWJkYQd1bmkwM0JDAm51AnhpB29taWNyb24DcmhvBnNpZ21hMQVzaWdtYQN0YXUHdXBzaWxvbgNwaGkDY2hpA3BzaQVvbWVnYQxpb3RhZGllcmVzaXMPdXBzaWxvbmRpZXJlc2lzDG9taWNyb250b25vcwx1cHNpbG9udG9ub3MKb21lZ2F0b25vcwhVcHNpbG9uMQd1bmkwM0QzB3VuaTAzRDQHdW5pMDNEQwd1bmkwM0U0B3VuaTAzRTUHdW5pMDNGMwd1bmkwNDAwCWFmaWkxMDAyMwlhZmlpMTAwNTEJYWZpaTEwMDUyCWFmaWkxMDA1MwlhZmlpMTAwNTQJYWZpaTEwMDU1CWFmaWkxMDA1NglhZmlpMTAwNTcJYWZpaTEwMDU4CWFmaWkxMDA1OQlhZmlpMTAwNjAJYWZpaTEwMDYxB3VuaTA0MEQJYWZpaTEwMDYyCWFmaWkxMDE0NQlhZmlpMTAwMTcJYWZpaTEwMDE4CWFmaWkxMDAxOQlhZmlpMTAwMjAJYWZpaTEwMDIxCWFmaWkxMDAyMglhZmlpMTAwMjQJYWZpaTEwMDI1CWFmaWkxMDAyNglhZmlpMTAwMjcJYWZpaTEwMDI4CWFmaWkxMDAyOQlhZmlpMTAwMzAJYWZpaTEwMDMxCWFmaWkxMDAzMglhZmlpMTAwMzMJYWZpaTEwMDM0CWFmaWkxMDAzNQlhZmlpMTAwMzYJYWZpaTEwMDM3CWFmaWkxMDAzOAlhZmlpMTAwMzkJYWZpaTEwMDQwCWFmaWkxMDA0MQlhZmlpMTAwNDIJYWZpaTEwMDQzCWFmaWkxMDA0NAlhZmlpMTAwNDUJYWZpaTEwMDQ2CWFmaWkxMDA0NwlhZmlpMTAwNDgJYWZpaTEwMDQ5CWFmaWkxMDA2NQlhZmlpMTAwNjYJYWZpaTEwMDY3CWFmaWkxMDA2OAlhZmlpMTAwNjkJYWZpaTEwMDcwCWFmaWkxMDA3MglhZmlpMTAwNzMJYWZpaTEwMDc0CWFmaWkxMDA3NQlhZmlpMTAwNzYJYWZpaTEwMDc3CWFmaWkxMDA3OAlhZmlpMTAwNzkJYWZpaTEwMDgwCWFmaWkxMDA4MQlhZmlpMTAwODIJYWZpaTEwMDgzCWFmaWkxMDA4NAlhZmlpMTAwODUJYWZpaTEwMDg2CWFmaWkxMDA4NwlhZmlpMTAwODgJYWZpaTEwMDg5CWFmaWkxMDA5MAlhZmlpMTAwOTEJYWZpaTEwMDkyCWFmaWkxMDA5MwlhZmlpMTAwOTQJYWZpaTEwMDk1CWFmaWkxMDA5NglhZmlpMTAwOTcHdW5pMDQ1MAlhZmlpMTAwNzEJYWZpaTEwMDk5CWFmaWkxMDEwMAlhZmlpMTAxMDEJYWZpaTEwMTAyCWFmaWkxMDEwMwlhZmlpMTAxMDQJYWZpaTEwMTA1CWFmaWkxMDEwNglhZmlpMTAxMDcJYWZpaTEwMTA4CWFmaWkxMDEwOQd1bmkwNDVECWFmaWkxMDExMAlhZmlpMTAxOTMJYWZpaTEwMDUwCWFmaWkxMDA5OAd1bmkwNDkyB3VuaTA0OTMHdW5pMDQ5Ngd1bmkwNDk3B3VuaTA0OTgHdW5pMDQ5OQd1bmkwNDlBB3VuaTA0OUIHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUMHdW5pMDRBRAd1bmkwNEFFB3VuaTA0QUYHdW5pMDRCMAd1bmkwNEIxB3VuaTA0QjIHdW5pMDRCMwd1bmkwNEJBB3VuaTA0QkIHdW5pMDRDMAd1bmkwNEMxB3VuaTA0QzIHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDIHdW5pMDREMwd1bmkwNEQ0B3VuaTA0RDUHdW5pMDRENgd1bmkwNEQ3B3VuaTA0RDgJYWZpaTEwODQ2B3VuaTA0REEHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTAHdW5pMDRFMQd1bmkwNEUyB3VuaTA0RTMHdW5pMDRFNAd1bmkwNEU1B3VuaTA0RTYHdW5pMDRFNwd1bmkwNEU4B3VuaTA0RTkHdW5pMDRFQQd1bmkwNEVCB3VuaTA0RUMHdW5pMDRFRAd1bmkwNEVFB3VuaTA0RUYHdW5pMDRGMAd1bmkwNEYxB3VuaTA0RjIHdW5pMDRGMwd1bmkwNEY0B3VuaTA0RjUHdW5pMDRGOAd1bmkwNEY5B3VuaTFFMDAHdW5pMUUwMQd1bmkxRTAyB3VuaTFFMDMHdW5pMUUwNAd1bmkxRTA1B3VuaTFFMDYHdW5pMUUwNwd1bmkxRTA4B3VuaTFFMDkHdW5pMUUwQQd1bmkxRTBCB3VuaTFFMEMHdW5pMUUwRAd1bmkxRTBFB3VuaTFFMEYHdW5pMUUxMAd1bmkxRTExB3VuaTFFMTIHdW5pMUUxMwd1bmkxRTE0B3VuaTFFMTUHdW5pMUUxNgd1bmkxRTE3B3VuaTFFMTgHdW5pMUUxOQd1bmkxRTFBB3VuaTFFMUIHdW5pMUUxQwd1bmkxRTFEB3VuaTFFMUUHdW5pMUUxRgd1bmkxRTIwB3VuaTFFMjEHdW5pMUUyMgd1bmkxRTIzB3VuaTFFMjQHdW5pMUUyNQd1bmkxRTI2B3VuaTFFMjcHdW5pMUUyOAd1bmkxRTI5B3VuaTFFMkEHdW5pMUUyQgd1bmkxRTJDB3VuaTFFMkQHdW5pMUUyRQd1bmkxRTJGB3VuaTFFMzAHdW5pMUUzMQd1bmkxRTMyB3VuaTFFMzMHdW5pMUUzNAd1bmkxRTM1B3VuaTFFMzYHdW5pMUUzNwd1bmkxRTM4B3VuaTFFMzkHdW5pMUUzQQd1bmkxRTNCB3VuaTFFM0MHdW5pMUUzRAd1bmkxRTNFB3VuaTFFM0YHdW5pMUU0MAd1bmkxRTQxB3VuaTFFNDIHdW5pMUU0Mwd1bmkxRTQ0B3VuaTFFNDUHdW5pMUU0Ngd1bmkxRTQ3B3VuaTFFNDgHdW5pMUU0OQd1bmkxRTRBB3VuaTFFNEIHdW5pMUU0Qwd1bmkxRTREB3VuaTFFNEUHdW5pMUU0Rgd1bmkxRTUwB3VuaTFFNTEHdW5pMUU1Mgd1bmkxRTUzB3VuaTFFNTQHdW5pMUU1NQd1bmkxRTU2B3VuaTFFNTcHdW5pMUU1OAd1bmkxRTU5B3VuaTFFNUEHdW5pMUU1Qgd1bmkxRTVDB3VuaTFFNUQHdW5pMUU1RQd1bmkxRTVGB3VuaTFFNjAHdW5pMUU2MQd1bmkxRTYyB3VuaTFFNjMHdW5pMUU2NAd1bmkxRTY1B3VuaTFFNjYHdW5pMUU2Nwd1bmkxRTY4B3VuaTFFNjkHdW5pMUU2QQd1bmkxRTZCB3VuaTFFNkMHdW5pMUU2RAd1bmkxRTZFB3VuaTFFNkYHdW5pMUU3MAd1bmkxRTcxB3VuaTFFNzIHdW5pMUU3Mwd1bmkxRTc0B3VuaTFFNzUHdW5pMUU3Ngd1bmkxRTc3B3VuaTFFNzgHdW5pMUU3OQd1bmkxRTdBB3VuaTFFN0IHdW5pMUU3Qwd1bmkxRTdEB3VuaTFFN0UHdW5pMUU3RgZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwd1bmkxRTg2B3VuaTFFODcHdW5pMUU4OAd1bmkxRTg5B3VuaTFFOEEHdW5pMUU4Qgd1bmkxRThDB3VuaTFFOEQHdW5pMUU4RQd1bmkxRThGB3VuaTFFOTAHdW5pMUU5MQd1bmkxRTkyB3VuaTFFOTMHdW5pMUU5NAd1bmkxRTk1B3VuaTFFOTYHdW5pMUU5Nwd1bmkxRTk4B3VuaTFFOTkHdW5pMUU5QQd1bmkxRTlCB3VuaTFFQTAHdW5pMUVBMQd1bmkxRUEyB3VuaTFFQTMHdW5pMUVBNAd1bmkxRUE1B3VuaTFFQTYHdW5pMUVBNwd1bmkxRUE4B3VuaTFFQTkHdW5pMUVBQQd1bmkxRUFCB3VuaTFFQUMHdW5pMUVBRAd1bmkxRUFFB3VuaTFFQUYHdW5pMUVCMAd1bmkxRUIxB3VuaTFFQjIHdW5pMUVCMwd1bmkxRUI0B3VuaTFFQjUHdW5pMUVCNgd1bmkxRUI3B3VuaTFFQjgHdW5pMUVCOQd1bmkxRUJBB3VuaTFFQkIHdW5pMUVCQwd1bmkxRUJEB3VuaTFFQkUHdW5pMUVCRgd1bmkxRUMwB3VuaTFFQzEHdW5pMUVDMgd1bmkxRUMzB3VuaTFFQzQHdW5pMUVDNQd1bmkxRUM2B3VuaTFFQzcHdW5pMUVDOAd1bmkxRUM5B3VuaTFFQ0EHdW5pMUVDQgd1bmkxRUNDB3VuaTFFQ0QHdW5pMUVDRQd1bmkxRUNGB3VuaTFFRDAHdW5pMUVEMQd1bmkxRUQyB3VuaTFFRDMHdW5pMUVENAd1bmkxRUQ1B3VuaTFFRDYHdW5pMUVENwd1bmkxRUQ4B3VuaTFFRDkHdW5pMUVEQQd1bmkxRURCB3VuaTFFREMHdW5pMUVERAd1bmkxRURFB3VuaTFFREYHdW5pMUVFMAd1bmkxRUUxB3VuaTFFRTIHdW5pMUVFMwd1bmkxRUU0B3VuaTFFRTUHdW5pMUVFNgd1bmkxRUU3B3VuaTFFRTgHdW5pMUVFOQd1bmkxRUVBB3VuaTFFRUIHdW5pMUVFQwd1bmkxRUVEB3VuaTFFRUUHdW5pMUVFRgd1bmkxRUYwB3VuaTFFRjEGWWdyYXZlBnlncmF2ZQd1bmkxRUY0B3VuaTFFRjUHdW5pMUVGNgd1bmkxRUY3B3VuaTFFRjgHdW5pMUVGOQd1bmkxRjAwB3VuaTFGMDEHdW5pMUYwMgd1bmkxRjAzB3VuaTFGMDQHdW5pMUYwNQd1bmkxRjA2B3VuaTFGMDcHdW5pMUYwOAd1bmkxRjA5B3VuaTFGMEEHdW5pMUYwQgd1bmkxRjBDB3VuaTFGMEQHdW5pMUYwRQd1bmkxRjBGB3VuaTFGMTAHdW5pMUYxMQd1bmkxRjEyB3VuaTFGMTMHdW5pMUYxNAd1bmkxRjE1B3VuaTFGMTgHdW5pMUYxOQd1bmkxRjFBB3VuaTFGMUIHdW5pMUYxQwd1bmkxRjFEB3VuaTFGMjAHdW5pMUYyMQd1bmkxRjIyB3VuaTFGMjMHdW5pMUYyNAd1bmkxRjI1B3VuaTFGMjYHdW5pMUYyNwd1bmkxRjI4B3VuaTFGMjkHdW5pMUYyQQd1bmkxRjJCB3VuaTFGMkMHdW5pMUYyRAd1bmkxRjJFB3VuaTFGMkYHdW5pMUYzMAd1bmkxRjMxB3VuaTFGMzIHdW5pMUYzMwd1bmkxRjM0B3VuaTFGMzUHdW5pMUYzNgd1bmkxRjM3B3VuaTFGMzgHdW5pMUYzOQd1bmkxRjNBB3VuaTFGM0IHdW5pMUYzQwd1bmkxRjNEB3VuaTFGM0UHdW5pMUYzRgd1bmkxRjQwB3VuaTFGNDEHdW5pMUY0Mgd1bmkxRjQzB3VuaTFGNDQHdW5pMUY0NQd1bmkxRjQ4B3VuaTFGNDkHdW5pMUY0QQd1bmkxRjRCB3VuaTFGNEMHdW5pMUY0RAd1bmkxRjUwB3VuaTFGNTEHdW5pMUY1Mgd1bmkxRjUzB3VuaTFGNTQHdW5pMUY1NQd1bmkxRjU2B3VuaTFGNTcHdW5pMUY1OQd1bmkxRjVCB3VuaTFGNUQHdW5pMUY1Rgd1bmkxRjYwB3VuaTFGNjEHdW5pMUY2Mgd1bmkxRjYzB3VuaTFGNjQHdW5pMUY2NQd1bmkxRjY2B3VuaTFGNjcHdW5pMUY2OAd1bmkxRjY5B3VuaTFGNkEHdW5pMUY2Qgd1bmkxRjZDB3VuaTFGNkQHdW5pMUY2RQd1bmkxRjZGB3VuaTFGNzAHdW5pMUY3MQd1bmkxRjcyB3VuaTFGNzMHdW5pMUY3NAd1bmkxRjc1B3VuaTFGNzYHdW5pMUY3Nwd1bmkxRjc4B3VuaTFGNzkHdW5pMUY3QQd1bmkxRjdCB3VuaTFGN0MHdW5pMUY3RAd1bmkxRjgwB3VuaTFGODEHdW5pMUY4Mgd1bmkxRjgzB3VuaTFGODQHdW5pMUY4NQd1bmkxRjg2B3VuaTFGODcHdW5pMUY4OAd1bmkxRjg5B3VuaTFGOEEHdW5pMUY4Qgd1bmkxRjhDB3VuaTFGOEQHdW5pMUY4RQd1bmkxRjhGB3VuaTFGOTAHdW5pMUY5MQd1bmkxRjkyB3VuaTFGOTMHdW5pMUY5NAd1bmkxRjk1B3VuaTFGOTYHdW5pMUY5Nwd1bmkxRjk4B3VuaTFGOTkHdW5pMUY5QQd1bmkxRjlCB3VuaTFGOUMHdW5pMUY5RAd1bmkxRjlFB3VuaTFGOUYHdW5pMUZBMAd1bmkxRkExB3VuaTFGQTIHdW5pMUZBMwd1bmkxRkE0B3VuaTFGQTUHdW5pMUZBNgd1bmkxRkE3B3VuaTFGQTgHdW5pMUZBOQd1bmkxRkFBB3VuaTFGQUIHdW5pMUZBQwd1bmkxRkFEB3VuaTFGQUUHdW5pMUZBRgd1bmkxRkIwB3VuaTFGQjEHdW5pMUZCMgd1bmkxRkIzB3VuaTFGQjQHdW5pMUZCNgd1bmkxRkI3B3VuaTFGQjgHdW5pMUZCOQd1bmkxRkJBB3VuaTFGQkIHdW5pMUZCQwd1bmkxRkJEB3VuaTFGQkUHdW5pMUZCRgd1bmkxRkMwB3VuaTFGQzEHdW5pMUZDMgd1bmkxRkMzB3VuaTFGQzQHdW5pMUZDNgd1bmkxRkM3B3VuaTFGQzgHdW5pMUZDOQd1bmkxRkNBB3VuaTFGQ0IHdW5pMUZDQwd1bmkxRkNEB3VuaTFGQ0UHdW5pMUZDRgd1bmkxRkQwB3VuaTFGRDEHdW5pMUZEMgd1bmkxRkQzB3VuaTFGRDYHdW5pMUZENwd1bmkxRkQ4B3VuaTFGRDkHdW5pMUZEQQd1bmkxRkRCB3VuaTFGREQHdW5pMUZERQd1bmkxRkRGB3VuaTFGRTAHdW5pMUZFMQd1bmkxRkUyB3VuaTFGRTMHdW5pMUZFNAd1bmkxRkU1B3VuaTFGRTYHdW5pMUZFNwd1bmkxRkU4B3VuaTFGRTkHdW5pMUZFQQd1bmkxRkVCB3VuaTFGRUMHdW5pMUZFRAd1bmkxRkVFB3VuaTFGRUYHdW5pMUZGMgd1bmkxRkYzB3VuaTFGRjQHdW5pMUZGNgd1bmkxRkY3B3VuaTFGRjgHdW5pMUZGOQd1bmkxRkZBB3VuaTFGRkIHdW5pMUZGQwd1bmkxRkZEB3VuaTFGRkUHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDEwB3VuaTIwMTEKZmlndXJlZGFzaAlhZmlpMDAyMDgHdW5pMjAxNg11bmRlcnNjb3JlZGJsDXF1b3RlcmV2ZXJzZWQHdW5pMjAxRgd1bmkyMDIzDm9uZWRvdGVubGVhZGVyDnR3b2RvdGVubGVhZGVyB3VuaTIwMjcHdW5pMjAyOAd1bmkyMDI5B3VuaTIwMkEHdW5pMjAyQglhZmlpNjE1NzMJYWZpaTYxNTc0CWFmaWk2MTU3NQZtaW51dGUGc2Vjb25kB3VuaTIwMzQHdW5pMjAzNQd1bmkyMDM2B3VuaTIwMzcHdW5pMjAzOAd1bmkyMDNCCWV4Y2xhbWRibAd1bmkyMDNFB3VuaTIwM0YHdW5pMjA0MAx6ZXJvc3VwZXJpb3IMZm91cnN1cGVyaW9yDGZpdmVzdXBlcmlvcgtzaXhzdXBlcmlvcg1zZXZlbnN1cGVyaW9yDWVpZ2h0c3VwZXJpb3IMbmluZXN1cGVyaW9yB3VuaTIwN0EHdW5pMjA3Qgd1bmkyMDdDEXBhcmVubGVmdHN1cGVyaW9yEnBhcmVucmlnaHRzdXBlcmlvcgluc3VwZXJpb3IMemVyb2luZmVyaW9yC29uZWluZmVyaW9yC3R3b2luZmVyaW9yDXRocmVlaW5mZXJpb3IMZm91cmluZmVyaW9yDGZpdmVpbmZlcmlvcgtzaXhpbmZlcmlvcg1zZXZlbmluZmVyaW9yDWVpZ2h0aW5mZXJpb3IMbmluZWluZmVyaW9yB3VuaTIwOEEHdW5pMjA4Qgd1bmkyMDhDEXBhcmVubGVmdGluZmVyaW9yEnBhcmVucmlnaHRpbmZlcmlvcgd1bmkyMEEwDWNvbG9ubW9uZXRhcnkHdW5pMjBBMgRsaXJhB3VuaTIwQTUHdW5pMjBBNgZwZXNldGEHdW5pMjBBOAd1bmkyMEE5CWFmaWk1NzYzNgRkb25nBEV1cm8HdW5pMjEwMAd1bmkyMTAxB3VuaTIxMDIHdW5pMjEwMwd1bmkyMTA0CWFmaWk2MTI0OAd1bmkyMTA2B3VuaTIxMDcHdW5pMjEwOAd1bmkyMTA5B3VuaTIxMEEHdW5pMjEwQgd1bmkyMTBDB3VuaTIxMEQHdW5pMjEwRQd1bmkyMTBGB3VuaTIxMTAISWZyYWt0dXIHdW5pMjExMglhZmlpNjEyODkHdW5pMjExNQlhZmlpNjEzNTIHdW5pMjExNwt3ZWllcnN0cmFzcwd1bmkyMTE5B3VuaTIxMUEHdW5pMjExQghSZnJha3R1cgd1bmkyMTFEB3VuaTIxMjAHdW5pMjEyMQd1bmkyMTI0B3VuaTIxMjcHdW5pMjEyOAd1bmkyMTI5B3VuaTIxMkEHdW5pMjEyQgd1bmkyMTJDB3VuaTIxMkQJZXN0aW1hdGVkB3VuaTIxMkYHdW5pMjEzMAd1bmkyMTMxB3VuaTIxMzIHdW5pMjEzMwd1bmkyMTM0CG9uZXRoaXJkCXR3b3RoaXJkcwd1bmkyMTU1B3VuaTIxNTYHdW5pMjE1Nwd1bmkyMTU4B3VuaTIxNTkHdW5pMjE1QQlvbmVlaWdodGgMdGhyZWVlaWdodGhzC2ZpdmVlaWdodGhzDHNldmVuZWlnaHRocwd1bmkyMTVGB3VuaTI0NjAHdW5pMjQ2MQd1bmkyNDYyB3VuaTI0NjMHdW5pMjQ2NAd1bmkyNDY1B3VuaTI0NjYHdW5pMjQ2Nwd1bmkyNDY4B3VuaTI0QjYHdW5pMjRCNwd1bmkyNEI4B3VuaTI0QjkHdW5pMjRCQQd1bmkyNEJCB3VuaTI0QkMHdW5pMjRCRAd1bmkyNEJFB3VuaTI0QkYHdW5pMjRDMAd1bmkyNEMxB3VuaTI0QzIHdW5pMjRDMwd1bmkyNEM0B3VuaTI0QzUHdW5pMjRDNgd1bmkyNEM3B3VuaTI0QzgHdW5pMjRDOQd1bmkyNENBB3VuaTI0Q0IHdW5pMjRDQwd1bmkyNENEB3VuaTI0Q0UHdW5pMjRDRgd1bmkyNEQwB3VuaTI0RDEHdW5pMjREMgd1bmkyNEQzB3VuaTI0RDQHdW5pMjRENQd1bmkyNEQ2B3VuaTI0RDcHdW5pMjREOAd1bmkyNEQ5B3VuaTI0REEHdW5pMjREQgd1bmkyNERDB3VuaTI0REQHdW5pMjRERQd1bmkyNERGB3VuaTI0RTAHdW5pMjRFMQd1bmkyNEUyB3VuaTI0RTMHdW5pMjRFNAd1bmkyNEU1B3VuaTI0RTYHdW5pMjRFNwd1bmkyNEU4B3VuaTI0RTkHdW5pMjRFQQhkb3RsZXNzagd1bmlGQjEwB3VuaUZGRkQAAAA="},function(A,e){A.exports="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"},function(A,e){A.exports="AAEAAAANAIAAAwBQRFNJRwAAAAEAAB1oAAAACEdERUYAZQAGAAAdcAAAACBPUy8yT9xevAAAANwAAABgY21hcJKjZw0AAB8UAAACRGdhc3AAAAADAAAdYAAAAAhnbHlmxyYn8AAAAkgAABjkaGVhZAHgrEgAABx8AAAANmhoZWEELwJPAAACBAAAACRobXR4EdUO0AAAHLQAAACsbG9jYQAD8EgAABssAAABUG1heHAAZQBMAAACKAAAACBuYW1l/LrQJgAAHZAAAAGDcG9zdAheB7AAAAE8AAAAyAADAf8BkAAFAAgBTAFmAAAARwFMAWYAAAD1ABkAhAAAAgAFCQAAAAAAAAAAAAEAAAAAAAAAAAAAAABQZkVkAEAAIAB6AeD/4AAuAgAAAAAAAAEAAAAAAf4AAAAAACAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAFMAAAABAAIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdABMAFAAVABYAFwAYABkAGgAbABwAPwAMAB0ADwAFAAQAEgAKACMAEQALAB8AQgAeABAAIgAhAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AAEAAAIAAAAALgIAAEsASwG1AAEAAAAAAAAAAAAAAAAAAAADAAEAAABTAEwAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgBLAAIBtQH+ABcAIwAAExUjFSMVIxUjETM1MxUzESM1IzUjNSM1BzMVMxUzFSM1MzUz3CUkJCRI2kgkJCQlSEglJNokJQH+JCUkJP6VkZEBayQkJSRtJCRtbSQAAAAAAwBLAAIBtQH+AA8AFwAfAAATESE1MzUzNSM1MzUjNSM1BzMVMxUjFSMVMxUzFSMVI0sBIiQkJCQkJNq2JCS2tiQktgH+/gQkJZFIkSUkSSRIJUglSCQAAAEASwACAbUB/gAkAAA3NSM1IxEzNTM1MxUzFTMVIzUjNSMVIxEzFTM1MzUzFSMVIxUjkyQkJCTaJCRIJJIkJJIkSCQk2hQSJQFqJSQkJUgkJCT+3iQkJEglJAAAAgBLAAIBtQH+ABMAIwAAExEzNTM1MzUzNTM1IzUjNSM1IzUHMxUzFTMVMxUjFSMVIxUjS9klJCQkJCQkJZFtJCUkJCUkbQH+/gQkJSQk2iQkJSRJJCQkkiQkJAABAEsAAgG1Af4ADAAAEzUhFSEVMxUjFSEVIUsBav7e2toBIv6WAQD+SZFIkUkAAAABAEsAAgG1Af4ACgAAEzUhFSEVMxUjFSNLAWr+3traSAEA/kmRSNoAAQBLAAIBtQH+ACAAADc1IzUjETM1MzUzFTMVMxUjNSM1IxUjETMVMzUjNTMVIZMkJCQk2iQkSCSSJCS2kdn+3hQSJQFqJSQkJWxIJCT+3iRsSf4AAQBLAAIBtQH+AAwAABM1MxUzNTMRIzUjFSNLSNpISNpIAQD+2tr+BNraAAABAJMAAgFtAf4ADAAANzUzESM1MxUjETMVI5NJSdpJSdomJQFqSUn+lkkAAAEASwACAbUB/gAYAAA3NSM1IzUzFTMVMzUzESM1MxUjESMVIxUjkyQkSCRJJEjZSCQ3fxQSJUgkJCQBRklJ/pYlJAAAAQBLAAIBtQH+ADQAABM1MxUzNTM1MzUzNTM1MzUzFSMVIxUjFSMVIxUzFTMVMxUzFTMVIzUjNSM1IzUjNSM1IxUjS0gkJSQkJSRIJCQkJSQkJSQkJEgkJSQkJSRIAQD+2iUkJCQlJEkkJCQlSCUkJCRJJCUkJCQl2gAAAAEASwACAbUB/gAGAAATNTMRIRUhS0gBIv6WAQD+/k1JAAAAAAEASwACAbUB/gAcAAATNTMVMxUzFTM1MzUzNTMRIxEjFSMVIzUjNSMRI0tIJCVIJSRISCQlSCUkSAEA/iQlJCQlJP4EAWskSUkk/pUAAAAAAQBLAAIBtQH+ACAAABM1MxUzFTMVMxUzFTMVMxEzESM1IzUjNSM1IzUjNSMRI0tIJCUkJCUkSEgkJSQkJSRIAQD+JCVISUhJAWv+BCQlSElISf6VAAAAAAIASwACAbUB/gATAB8AABMVIxUjETMVMxUzNTM1MxEjNSM1BzMVMxEjFSM1IxEzkyQkJCTaJCQkJLaSJCSSJCQB/iQl/pYlJCQlAWolJEkk/t4kJAEiAAACAFQAAgGsAf4ADQAVAAATETM1MzUzNTM1IzUjNQczFTMVIxUjVEjIJCQkJMi2JCS2Af7+BNokJJElJEkkSCUAAgBUAAIBrAH+ABcAKwAAExUjFSMRMxUzFTM1MxUzNSM1MxEjNSM1BzMVMxUjNSM1IxUzFTMVIzUjETOcJCQkJH9bNiQkJCSjfiUlJDYkJGwlJQH+JCX+liUkJCRJJAFGJSRJJP4kJUkkJCQBIgAAAAIAVAACAawB/gAjACsAABMRMzUzFTMVMxUzFTMVMxUzNSM1IzUjNSM1MzUzNTM1IzUjNQczFTMVIxUjVEgSJSQkJCVIJCQlJEkkJCQkyKMlJaMB/v4E2iUkJCQlJEkkJCQlJCSRJSRJJEglAAEASwACAbUB/gAsAAA3NSM1MxUzNTM1IzUjNSM1IzUzNTM1MxUzFSM1IxUjFTMVMxUzFTMVIxUjFSNvJEi2JCS2JCQkJP4kSLYkJLYkJCQk/hQSSSQkSCUkJJElJCRJJCRIJSQkkSUkAAAAAAEASwACAbUB/gAIAAA3NSM1IRUjESPckQFqkUjc2UlJ/k0AAAEASwACAbUB/gAUAAA3NSM1IxEzETMVMzUzETMRIxUjFSOTJCRIJJIkSCQk2hQSJQGz/nEkJAGP/k0lJAAAAAABAEsAAgG1Af4AIAAANzUjNSM1IzUjETMRMxUzFTM1MzUzETMRIxUjFSMVIxUj3CUkJCRIJCVIJSRIJCQkJUgUEiUkJAFr/rkkJCQkAUf+lSQkJSQAAAAAAQBLAAIBtQH+ABgAADc1IzUjETMRMzUzFTMRMxEjFSMVIzUjFSOTJCRISUhJSCQkSUhJFBIlAbP+cbW1AY/+TSUkJCQAAAAAAQBLAAIBtQH+ADQAADc1MzUzNTM1IzUjNSM1MxUzFTMVMzUzNTM1MxUjFSMVIxUzFTMVMxUjNSM1IzUjFSMVIxUjSyQkJCQkJEgkJUglJEgkJCQkJCRIJCVIJSRIS0gkJUglJJFtJCQkJG2RJCVIJSSRbSQkJCRtAAAAAAEASwACAbUB/gAgAAA3NSM1IzUjNSM1MxUzFTMVMzUzNTM1MxUjFSMVIxUjFSPcJSQkJEgkJUglJEgkJCQlSF1aJSQk2rUlJCQltdokJCW1AAAAAAEASwACAbUB/gAoAAA3NTM1MzUzNTM1MzUzNTM1MzUhNSEVIxUjFSMVIxUjFSMVIxUjFSEVIUskJCQlJCQlJP7eAWokJCQlJCQlJAEi/pZLSCQlJCQlJCQkSZEkJSQkJSQkJEkAAAAAAgBLAAIBtQH+ABMAHwAAExUjFSMRMxUzFTM1MzUzESM1IzUHMxUzESMVIzUjETOTJCQkJNokJCQktpIkJJIkJAH+JCX+liUkJCUBaiUkSST+3iQkASIAAAEAkwACAW0B/gAOAAA3NTMRIzUzNTM1MxEzFSOTSUkkJUhJ2iYlASJIJST+TUkAAAEASwACAbUB/gAyAAA3NTM1MzUzNTM1MzUzNTM1MzUjNSMVIxUjNTM1MzUzFTMVMxUjFSMVIxUjFSMVIxUzFSFLJCQkJSQkJSQkbSVsJCTaJCQkJCQlJCTZ/pYmJSQkJCUkJCVIJCQkSCUkJCWRJCQlJCQkSQAAAAEASwACAbUB/gAwAAA3NSM1IzUzFTMVMzUzNSM1IzUzNTM1IzUjFSMVIzUzNTM1MxUzFTMVIxUzFSMVIxUjkyQkSCSSJCRtbSQkkiRIJCTaJCQkJCQk2hQSJUgkJCRIJUglSCQkJEglJCQlkUiRJSQAAAAAAgBLAAIBtQH+ABUAHwAAARUjFSMVIxUjFSMVIxUzFTM1MzUjEQczFSM1MzUzNTMBJCQkJSQkJNlJSEhtJJEkJSQB/iQlJCQkJZGRkUkBIpGRJCQlAAAAAAEASwACAbUB/gAgAAA3NSM1IzUzFTMVMzUzNSM1IzUhFSEVMxUzFTMVIxUjFSOTJCRIJJIkJP4Bav7e2iQkJCTaFBIlSCQkJJEk2klIJCXZJSQAAAIASwACAbUB/gAhACsAABMVIxUjETMVMxUzNTM1MzUjNSM1IzUzNTMVMxUzNSM1IzUDMxUzFSMVIzUjkyQkJCTaJCQkJNokkiRIJCTatiQkkiQB/iQl/pYlJCQlkSQkbSQkJEglJP7eJUgkJAAAAAABAEsAAgG1Af4AFgAANzUzNTM1MzUzNSE1IRUjFSMVIxUjFSPcJCQlJP7eAWokJCQlSJORJSQkJEmRJCUk/gAAAwBLAAIBtQH+ABsAJwAzAAATFSMVIxUzFSMVMxUzFTM1MzUzNSM1MzUjNSM1BzMVMxUjFSM1IzUzFTMVMxUjFSM1IzUzkyQkJCQkJNokJCQkJCS2kiQkkiQkkiQkkiQkAf4kJZFIkSUkJCWRSJElJEkkSCUlSLUlSCQkSAAAAAACAEsAAgG1Af4AIQArAAATFSMVIxUzFTMVMxUjFSM1IzUjFTMVMxUzNTM1MxEjNSM1BzMVMxUjNSM1M5MkJCQk2iSSJEgkJNokJCQktpIktiQkAf4kJZEkJG0kJCRIJSQkJQFqJSRJJG0lSAABAEsASwG1AbUAJAAAJTUjNSM1IzUjNSM1IzUjNSM1IxUzFTMVMxUzFTMVMxUzFTMVMwG1JCQkJSQkJSRIJCQkJSQkJSRIbyQkJSQkJSQkJEgkJSQkJSQkJAAAAAEApQAUAVsB7AAcAAA3NTM1MzUzNSM1IzUjNSMVMxUzFTMVIxUjFSMVM9w2JCUlJDY3JSQkJCQlNyYTJCT+JCQlJSQk/iQkJQAAAAACANwASwEkAbUABAAJAAA3NTMVIxE1MxUj3EhISEhvJEgBRiRIAAAAAQC3AAABSQCRAAwAADc1MzUzNTMVIxUjFSO3JSRJJSRJEhIlSEglJAAAAAACAG8BJgGRAgAADAAZAAATNSM1MzUzFTMVIxUjNzUjNTM1MxUzFSMVI5MkJCQlJSS2JSUkJCQkAV02SSQkSW03NkkkJEltAAACANwAAgEkAf4ABAAJAAA3NTMVIxE1MxEj3EhISEgmJUkBR7X+lQAAAQBLAEsBtQG1ACQAADc1MzUzNTM1MzUzNTM1MzUzNTMVIxUjFSMVIxUjFSMVIxUjFSNLJCQkJSQkJSRIJCQkJSQkJSRIbyQkJSQkJSQkJEgkJSQkJSQkJAAAAAABAMoBJgE2AgAAEAAAEzUzNSM1IzUzNTMVMxUjFSPuJCQkJCQkJCQBORJIJCUkJJElAAAAEQBLACYBtQHaAAMABwALAA8AEwAXACMAJwArAC8AMwA3ADsAPwBDAEcASwAAExUzNRUVMzUVFTM1FRUzNQcjFTMjIxUzJzUjFSMVMxUjFTMVJyMVMyc1IxU3MzUjNSMVMyMjFTMjIxUzMRUzNRUVMzUVFTM1MTM1I7eSJCQkJCQkJCQkJCUkJCQkJElJSSQkSUkkJCQkJCQkJCQktiQkAdolJSUkJCQkJCSRkZElJCS2JCUkJCUlJSVtbW0kSCQk2iQkJCQkJCUlJAAAAQDcAAABJABJAAQAADc1MxUj3EhIJCVJAAAAAAEApQAUAVsB7AAcAAAlNSM1IzUjNTM1MzUzNTMVIxUjFSMVMxUzFTMVIwEkNiQlJSQ2NyUkJCQkJTcmEyQk/iQkJSUkJP4kJCUAAAABAG8AAgGRAf4AMAAAJTUjNSM1IzUjNSM1IzUzNTM1MzUzNTM1MzUzFSMVIxUjFSMVIxUzFTMVMxUzFTMVIwFJJSQk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"},function(A,e){A.exports="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AiAAHAKQADECIQANAu4APwJTAA4AzgAAAsQATwIgABwC0gAhAnUAIgKzAF0CXAAyArMAXQJcADIC4QBiAl4ATAJ7AGMBYQAwAnsAYwFhADACewBjAWEAIAJYAF8CMgARAuEAYgJeAEwCWgANAhkAJgLEAE8CIAAcASz/9gKQADECIQANAlgAXwIyABEBFf/2APv/4wKzAF0CXAAyAu4APwJTAB4C0gAhAnUAIgJZAGMCWQA7AlkAQQJZAGQCYgApAlkAOQJpACYBcwAdAqAAQQKBABACUwA3AdwALwH0AEcD6ABPAlkANAEs//MCWQBhAlkARQJZAFkETQA/A9gAHgOi//cDjgATARX/rAD7/5oBLP+sAu4APwJTAB4CWgANAhkAJgPIAC8DJgAHA6L/9wOOABMDov/3A44AEwLSACECdQAiAtIAIQJ1ACICzwAJAnUAKgLPAGYCdQAqAs8ACQJcAB4CbwBCASwAFwKQADECIQANAlgAXwIyABEC0gAhAnUAIgEVABcA+wADAu4APwJTAB4CswBdAlwAMgEs//0BLABiAlkAZAJZADgCWQBDAlkAQwJCABwCWQBZAjgAVwD1/88CTABjAQYAPgJMAGMBBgA+AuQAaAJeAEwCaQAmAU///wJ8AGACcgBIAl0ALgHeAAoBCgBIAQoAJgDo//IBCgA2AcUASAHFACYBo//yAcMANAEVAFkA+wBKAlMANwHcAC8CaQAmAU///wEs/9oC7gA/AlMAHgKzAF0CXAAyAkwAYwEGAD4CkAAxAiEADQEV//MA+//ZAu4APwJTAB4CswBdAlwAMgLuAD8CUwAeAoEAaQJyAD4CzwBmAnIAPgLkAGgCXgBMAkwAYwEGAD4DcABjA3MAQwJ7AGMBYQAwAlMANwHcAC8CXQAuAd4ACgLhAGICXgBMAloADQIZACYCUwA3AdwALwJpACYBT///AlgAXwIyABEDyAAvAyYABwPIAC8DJgAHA8gALwMmAAcDyAAvAyYABwPIAC8DJgAHAoMAZgImAEsD6ABkA+gAZANwAGMDcwBDAowAOAIaAA0CTABjAQb/+ALhAGICXgBMAs8AZgJ1ACoC5ABoAl4ATAKBAGkCcgA+As8AZgJ1ACoCQwBVATgADgNwAGMDcwBDAmIAYQJyAEgCUwA3AdwALwJpACYBT///AuEAYgJeAEwBFQBZAPsASgJvAEICWABfAjIAEQLuAD8CUwAeApAAMQIhAA0CWgANAhkAJgJpACYBT///ArMAXQJcADICWgANAhkAHAKMAD8CjAA9ApAAMQIhAA0CWABfAjIAEQKQADECIQANAu4APwJTAB4CUwBDAdwAFQHcABUBFf/6APv/8AJpACYBT///AuQAOwJe//gCswAYAlz/+gMgACoDIAAqAyAAFQImAEsCTAAMAQb/6wC7AA4AuwAOApAAMQIhAA0BTwAhAU8ADwFPAB8C6gBQAdIAUAKkAA4CWABLAjIAEQNwAI4DcABjA3AAOwNwAFUDcABjA3AAkQNwAD0DcABCA3AAJwNwABADcAAlA3AAJgNwACYDcAAdA3AAHQNwAD8DcAAXA3AASgNwAEoDcABWA3AANwNwAFwDcABJA3AAMANwADADcABEA3AACANwADEDcAAxA3AAdwNyACgDcAA2A3AANgNwACsDcAArA3AAuANwAEoDcABKA3AAMANwADADcAEhA3ABIQNwAEcDcAAxA3AAewNwAEcDcAA6A3AAHQNwAB0DcAAdA3AAogNwAKIDcACOA3AAfQNwABkDcAB9A3AAPQNwAD0DcAA9A3AARgNwAEYDcABGA3AAYQNwAGkDcABFA3AAeANwAE8DcACJA3AAVANwAGQDcAAmA3AAtANwAEcDcABJA3AAvgNwADoDcAC6A3AAbANwAKcDcABpA3AAMQNwACcDcAA7A3AAcQNwAD0DcAB0A3AAeANwAA8DcAAxA3AAJwNwADsDcAFUA3AAXANwAPoDcADmA3AAeQFPAAMBTwANAtAABAE4AFkC4QBYAhcATALuAFcCUwAkAu4AUQJTAB0CzwAJAnUAIAROAGIC3gAdAzcAGgH0AEcCkAAxAmIAVwKBAGkCQwBOAxAAVAJYAF8DoAAtAlgAUALhAGMC4QBjAoMAZgLkABQDXABkAuQAaALuAD8C5ABlAmIAYQLEAE8CaQAmAtIAPwLuADICiAAQAvgAbwLqAGgD0gBjA+gAYwKyABUDaABhAmIAYQLuAFoD1ABXAnsAYwIhAA0CSQBFAnUAPAHnAEYCgwAoAjIAEQNiADwCPwAnAlwAQAJcAEACJgBLAlwAMgLuADwCXAA8AlMAHgJcADwCcgBIAiAAHAJKAEACGQAmArIAGgH9ABgCSgA8AlwARgMdAGMDSABjAroAAAM+AEYCdQBGAiAALALmACgCIAAoAlgAXwIyABECWABfAjIAEQLoABwCXv/qAkMATgHnAEYC7gBQAiAALAJTADcB3AAvARUAWQD7AEoBFQAVAPv/9wI4AFcA9f/fBDEAFAPxADIEJwBoA/EAPALWABwCXv/sAoMAZgImAEsC4QBjAlwAQALSAD8CGQAmAvgAbwJKADwCQwBOAecARgLuAFECUwAdA3AAbQEKADYC7gA/AlMAHgE4AAgBOABZAoH/2AJyAD4Cz//iAnUAKgLh/9wCXv/FAloADQIZACYCQ//XATj/WwKzAFwCMwA+AtIAIQJ1ACICgwBmAiYASwLuAD8CUwAeAtYAUQJIAFAC1gBRAkgAUAE9ACUBPQAoAtIAIQJ1/+ECWgANAhkAJgJaAA0CGQAmAogAEAH9ABgCgwBmAiYASwLkAGgCXAA8A6AALQNiADwC5AB2Al4ATAJD//YB5//2Am4AHgShAE8B9AApAcAASgH0ACkBzgBXAc4AVQHAAEYCkgAnApIAJwLvADIDTAAZAsAAFAEVAFsBpAAdAw4AOgKoACEClgAUA6AALQNiADwC7gBaAiAALADyAEoBwABKAkoASgD8AEYCkAAxAiEADQJYAF8CMgARAoP/6wIm/+QC0gA/AhkAJgE6//gBOv/4AsQATwKD/+UCYv/9AlP/8wK8AEYASAAAAAAAAAAAAQQAAAEEAAABxAAAAogAAAZcAAAIcAAACtgAAAyQAAAM8AAADXAAAA4MAAAPMAAAD+wAABDIAAARGAAAEVwAABHkAAATTAAAFBgAABVIAAAXCAAAGCAAABncAAAbuAAAHJwAAB5wAAAgPAAAIPgAACGUAAAiQAAAIsgAACN0AAAlEAAAJ6gAACjsAAAqrAAALGQAAC3QAAAukAAAL0AAADDUAAAyDAAAMqQAADOYAAA00AAANcgAADeMAAA4SAAAOcwAADrYAAA8vAAAPhQAAD8sAAA/mAAAQNwAAEIAAABDPAAARKAAAEW0AABHGAAAR9AAAEhcAABJSAAASfAAAEpIAABK8AAATEwAAE18AABOwAAAT/gAAFFYAABSNAAAVGwAAFXoAABWlAAAV5AAAFiUAABZIAAAWvQAAFwAAABdAAAAXsgAAGCIAABhNAAAYqAAAGOEAABlIAAAZhgAAGeMAABopAAAaggAAGsUAABsSAAAbKgAAG3cAABvAAAAcEgAAHIgAAB0DAAAdXAAAHe0AAB4xAAAehwAAHxAAAB+IAAAf4wAAIEgAACCtAAAhOQAAIaYAACHkAAAiSQAAIswAACODAAAjuAAAI+MAACRTAAAktQAAJRIAACVUAAAlngAAJgAAACZfAAAm0wAAJzYAACe2AAAoMQAAKJEAACinAAApIwAAKZ0AACoaAAAqlgAAKuoAACtlAAArugAALDcAACyDAAAsxAAALREAAC1TAAAt1wAALjoAAC7AAAAvJAAAL54AADAzAAAwrgAAMUUAADGxAAAyOQAAMmQAADKAAAAy7QAAM1kAADOeAAA0CgAANEcAADR4AAA07QAANUEAADWsAAA2NAAANmsAADaaAAA29QAAN7oAADfiAAA4CgAAOE4AADhyAAA4gwAAOL4AADkhAAA5iwAAOdwAADp0AAA67QAAO0EAADusAAA8FwAAPJcAAD0dAAA9iQAAPdkAAD48AAA+fAAAPuMAAD9EAAA/pgAAP9oAAEAXAABAOwAAQI4AAEDLAABBcwAAQg8AAEK9AABDdAAARAQAAERvAABFAAAARZIAAEXwAABGVQAARlUAAEbSAABHMQAAR6MAAEhCAABI4wAASZYAAEowAABK/AAAS0QAAEujAABMIAAATHAAAEzkAABNKQAATZsAAE3fAABOKAAATpkAAE8VAABPwwAAUB4AAFCYAABRJAAAUZEAAFGxAABSJAAAUpQAAFLdAABTTgAAU5AAAFPGAABUNgAAVMMAAFU9AABVlQAAVhUAAFbBAABW+gAAVzMAAFd2AABXpgAAV/4AAFiGAABYrwAAWMoAAFjrAABZrgAAWg0AAFqBAABalQAAWqkAAFrjAABbAwAAWykAAFuYAABbrAAAXC0AAFzJAABdIAAAXcEAAF41AABepwAAXvAAAF9eAABfqwAAYA0AAGCLAABg9gAAYXcAAGHeAABikAAAYw4AAGPXAABkYwAAZRoAAGWaAABmRgAAZrcAAGcUAABnjQAAaCsAAGicAABo9QAAaUwAAGmRAABqLwAAatgAAGtbAABsEgAAbMUAAG2+AABuKAAAbocAAG80AABvwgAAcGIAAHEfAABxYwAAcXYAAHGjAABx0AAAcfoAAHIkAABynwAAcrMAAHMMAABzVwAAc74AAHQKAAB0dgAAdLsAAHUrAAB1sAAAdeQAAHZJAAB2kAAAdwgAAHd0AAB3yAAAd+gAAHgJAAB4KwAAeEwAAHiDAAB4ugAAePMAAHkqAAB5XQAAeXoAAHnXAAB6RgAAenwAAHrZAAB7JgAAe80AAHxSAAB87wAAfaoAAH35AAB+KAAAfpsAAH8LAAB/TQAAf4MAAH/9AACAVQAAgMUAAIFSAACBvgAAggkAAIKFAACC3AAAg0YAAIOdAACD+wAAhGoAAIS0AACE4wAAhWQAAIXpAACGTAAAhoIAAIbTAACHOQAAh6EAAIfxAACIRAAAiK0AAIkLAACJkgAAifIAAIphAACKlwAAiusAAItnAACMIgAAjJcAAI0fAACNlQAAjiEAAI6HAACPAgAAj14AAI/OAACQKgAAkJcAAJEEAACRYwAAkbAAAJH9AACSnQAAkz4AAJPeAACUhAAAlNEAAJUDAACVPwAAlZEAAJYOAACWhgAAlvYAAJd7AACX+AAAmFAAAJi6AACZEwAAmUwAAJmOAACaEAAAmpgAAJrmAACbbQAAm74AAJwlAACcSwAAnJAAAJzLAACdHAAAnU4AAJ2DAACd2gAAnhUAAJ53AACe4gAAnywAAJ+NAACf7wAAoEAAAKCsAACg0gAAoRYAAKF1AACh7gAAooAAAKNSAACjowAAo+IAAKRlAACk3wAApTMAAKWuAACmYQAApxwAAKegAACoAwAAqHIAAKjYAACpPgAAqXcAAKmyAACp2gAAqh8AAKqLAACq8gAAq1sAAKvkAACscgAArQcAAK2xAACt8QAArj0AAK5yAACulgAArroAAK8cAACvfwAAr6gAAK/mAACwJwAAsIQAALEZAACxfgAAsa8AALIIAACyLQAAsnAAALLAAACy+wAAszIAALPEAAC0PQAAtJAAALTbAAC1XwAAtbkAALY8AAC29AAAt0kAALfKAAC4UQAAuREAALlgAAC51wAAuhMAALp3AAC61gAAu4gAALvqAAC8eAAAvLQAAL0XAAC9aAAAveMAAL4rAAC+ngAAvxoAAL/EAADACwAAwJsAAMDzAADBUgAAwdsAAMIuAADCsQAAwuIAAMM9AADDdgAAw7MAAMQKAADEdgAAxKkAAMT4AADFdQAAxfMAAMZEAADGvwAAx0AAAMd0AADHzwAAyBUAAMg+AADIkgAAyOUAAMmtAADKrgAAy58AAMvaAADMQAAAzJkAAMzgAADNZgAAzbMAAM3+AADOLgAAzoAAAM7hAADPNwAAz3IAAM+sAADQDQAA0EYAANCvAADQ9wAA0VQAANHOAADSYwAA0qkAANL2AADTowAA1DEAANR/AADVBwAA1bcAANZ/AADW6wAA1wcAANccAADXPQAA14MAANedAADYAQAA2EQAANiPAADYuQAA2T8AANmoAADaIAAA2n4AANroAADbTAAA270AANwdAADctAAA3PIAAN1YAADdbAAA3bQAAN4GAADedgAA3pYAAN8KAADfOgAA3/cAAOCAAADg9gAA4bQAAOIJAADibwAA4tYAAOMsAADjjQAA48kAAOQMAADkbgAA5IkAAOToAADlYgAA5bMAAOXxAADmWAAA5o8AAObLAADnEwAA54AAAOfDAADoOgAA6NEAAOkyAADpiQAA6gwAAOqIAADqsgAA6zkAAOuRAADsDgAA7KUAAO0cAADt3QAA7iYAAO5lAADuuQAA7vsAAO87AADvhwAA7+cAAPBDAADwZgAA8MgAAPEvAADxdQAA8b4AAPIaAADyUQAA8o0AAPLLAADzIAAA804AAPPRAAD0aAAA9KgAAPTtAAD1WQAA9a0AAPYoAAD2egAA914AAPemAAD39QAA+GoAAPjuAAD5NAAA+Y8AAPm1AAD56AAA+iUAAPpWAAD6igAA+skAAPt8AAD7yAAA/HIAAPzVAAD9PAAA/eQAAP5nAAD+3gAA/4MAAQAnAAEAvwABAWwAAQGoAAEB5gABAg0AAQI6AAECsQABAxUAAQNuAAEDkgABBAAAAQRmAAEEnAABBNEAAQVaAAEFrgABBh8AAQZ1AAEGrQABBugAAQczAAEHgwABB7QAAQghAAEIlwABCPgAAQlaAAEJzwABCkEAAQqHAAEK9gABC0IAAQuZAAEMBwABDHYAAQ0AAAENIgABDUUAAQ2wAAEOHgABDm4AAQ63AAEPLAABD48AAQ/gAAEQJgABEHgAARDMAAERKwABEWQAARILAAESiQABEuQAARNLAAETgQABE7cAARQbAAEUMgABFFYAARSEAAEUmgABFMEAARToAAEVPwABFWAAARWNAAEWEgABFoUAARbmAAEW+QABF1kAARgOAAEYkAABGPEAARntAAEaoAABGy0AARvNAAEb4AABHA4AARw8AAEcbAABHPIAAR2AAAEd6AABHn0AAR7aAAEfMQABH9wAASCTAAEgtQABINcAASFJAAEhrwABIg8AASKzAAEi2wABIv+AAEAAAMOAMwABwAAAAAAAgAqAFcAjQAAALkODAAAAAAAAAANAKIAAwABBAkAAAAoAAAAAwABBAkAAQASACgAAwABBAkAAgAOADoAAwABBAkAAwAqAEgAAwABBAkABAASAHIAAwABBAkABQAGAIQAAwABBAkABgAQAIoAAwABBAkACAAIAJoAAwABBAkACQAQAKIAAwABBAkACwAgALIAAwABBAkADAAiANIAAwABBAkADQEiAPQAAwABBAkADgA2AhYAqQAgADIAMAAyADAALQAyADAAMgAyACAARwBHAEIAbwB0AE4AZQB0AEIAYQBkACAAQwBvAG0AaQBjAFIAZQBnAHUAbABhAHIAMAAuADkAOwBHAEcAQgBvAHQATgBlAHQAOwBCAGEAZABDAG8AbQBpAGMAQgBhAGQAIABDAG8AbQBpAGMAMAAuADkAQgBhAGQAQwBvAG0AaQBjAGYAMABuADcARwBHAEIAbwB0AE4AZQB0AGgAdAB0AHAAcwA6AC8ALwBmADAAbgA3AC4AYwBvAG0AaAB0AHQAcABzADoALwAvAGcAZwBiAG8AdAAuAG4AZQB0AFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6ACAAaAB0AHQAcABzADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcABzADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAAACAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAw4AAAADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEBAgCEAIUAlgC9AIgAlwCLAIoAjAEDAQQA/wEAAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAOQA5QERARIA5gDnANoArQBqAMkAaQDLAHEAZQBwAM8AdQDMAHQA0wB6ANAAeQDWAH8A1AB+AOsA7ACNAI4AYgBsAMoAcwDOAHcAZwB8AGgAgQC4AKMAogDGAOgA8ACDAN4AwwETARQBFQEWAP0A/gEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQA4ADiAOMArwB9AK4AbQBkAG8AYwBuAJEAoQElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3AGYAeAC7ALoBOAE5ANgAxwBrAMgAcgDNAHYA1QCAANEAewE6ATsAlACVAI8BPAE9AT4BPwCHAKsBQAFBAUIAsgCzAJMA4QCkAKcA7wCwALEAkACgAUMBRADZAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAQEBVAFVAOkA6gCJANsBVgFXAVgBWQD4APkBWgFbAVwBXQFeAV8A3QDcAWABYQFiAWMAhgFkAWUBZgFnAWgBaQFqAWsBbAFtAW4A7QDuAW8BcAC2ALcAxAFxALQAtQDFAXIBcwDXAPsA/AF0AXUA3wF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwCpAKoBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0A9QD0APYB7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AjgCOQI6AjsCPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwAnQCeAl0CXgJfAmACYQJiAmMCZAJlAmYCZwClAJICaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QLSAtMC1ALVAtYC1wLYAtkC2gLbAKYC3ALdAt4C3wLgAuEC4gLjAuQC5QLmAucC6ALpAuoC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8DAAC+AL8DAQCCAMIDAgMDAwQDBQMGAJ8AmACoAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYAvAMXAxgDGQMaAxsDHAMdBEV1cm8HQW1hY3JvbgdhbWFjcm9uB0VtYWNyb24HZW1hY3Jvbgd1bmkwMTIyB3VuaTAxMjMHSW1hY3JvbgdpbWFjcm9uB3VuaTAxMzYHdW5pMDEzNwd1bmkwMTNCB3VuaTAxM0MHdW5pMDE0NQd1bmkwMTQ2B1VtYWNyb24HdW1hY3JvbgpFZG90YWNjZW50CmVkb3RhY2NlbnQKWmRvdGFjY2VudAp6ZG90YWNjZW50Bk5hY3V0ZQZuYWN1dGUGU2FjdXRlBnNhY3V0ZQZaYWN1dGUGemFjdXRlB0FvZ29uZWsHYW9nb25lawdFb2dvbmVrB2VvZ29uZWsHVW9nb25lawd1b2dvbmVrB0lvZ29uZWsHaW9nb25lawd1bmkwMEEwCkNkb3RhY2NlbnQKY2RvdGFjY2VudApHZG90YWNjZW50Cmdkb3RhY2NlbnQFVXJpbmcFdXJpbmcGVXRpbGRlBnV0aWxkZQZOY2Fyb24GbmNhcm9uBlJhY3V0ZQZyYWN1dGUHdW5pMDE1Ngd1bmkwMTU3BlJjYXJvbgZyY2Fyb24GRWNhcm9uBmVjYXJvbgtDY2lyY3VtZmxleAtjY2lyY3VtZmxleAtHY2lyY3VtZmxleAtnY2lyY3VtZmxleAtlcXVpdmFsZW5jZQd1bmkyMEJEBGxpcmEHdW5pMjBCOAd1bmkyMEJGC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4Bkl0aWxkZQZpdGlsZGUHT21hY3JvbgdvbWFjcm9uC1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4C1djaXJjdW1mbGV4C3djaXJjdW1mbGV4B3VuaTAxRTIHdW5pMDFFMwdBRWFjdXRlB2FlYWN1dGUHdW5pMDFGNAd1bmkwMUY1BkdjYXJvbgZnY2Fyb24GRGNyb2F0BkRjYXJvbgZkY2Fyb24GQWJyZXZlBmFicmV2ZQZFYnJldmUGZWJyZXZlBklicmV2ZQZpYnJldmUGT2JyZXZlBm9icmV2ZQZVYnJldmUGdWJyZXZlB3VuaTAyQzIHdW5pMDJDMwd1bmkwMkM0B3VuaTAyQzUHdW5pMDBBRAtKY2lyY3VtZmxleAtqY2lyY3VtZmxleAZMYWN1dGUGbGFjdXRlBkxjYXJvbgZsY2Fyb24LSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgGVGNhcm9uBnRjYXJvbgd1bmkwMUI1B3VuaTAxQjYNcXVvdGVyZXZlcnNlZAd1bmkyMDFGCklkb3RhY2NlbnQHdW5pMDE2Mgd1bmkwMTYzDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dA1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQETGRvdARsZG90B3VuaTAxQ0QHdW5pMDFDRQd1bmkwMUNGB3VuaTAxRDAHdW5pMDFEMQd1bmkwMUQyB3VuaTAxRDMHdW5pMDFENAd1bmkwMjJFB3VuaTAyMkYHdW5pMUUwNAd1bmkxRTA1B3VuaTFFMEMHdW5pMUUwRAd1bmkxRTI0B3VuaTFFMjUHdW5pMUUzNgd1bmkxRTM3B3VuaTFFNDIHdW5pMUU0Mwd1bmkxRTVBB3VuaTFFNUIHdW5pMUU2Mgd1bmkxRTYzB3VuaTFFOTIHdW5pMUU5Mwd1bmkwMUY4B3VuaTAxRjkGWWdyYXZlBnlncmF2ZQd1bmkwMjE4B3VuaTAyMTkHdW5pMDIxQQd1bmkwMjFCB3VuaTFFQkMHdW5pMUVCRAZXZ3JhdmUGd2dyYXZlBldhY3V0ZQZ3YWN1dGUJV2RpZXJlc2lzCXdkaWVyZXNpcwd1bmkxRTg2B3VuaTFFODcHdW5pMUU4OAd1bmkxRTg5B3VuaTAxRTgHdW5pMDFFOQd1bmkxRTNFB3VuaTFFM0YHdW5pMUU3Qwd1bmkxRTdEB3VuaTFFM0EHdW5pMUUzQgd1bmkxRTQ4B3VuaTFFNDkHdW5pMUUxMAd1bmkxRTExB3VuaTAyMUUHdW5pMDIxRgd1bmkxRTAyB3VuaTFFMDMHdW5pMUUwQQd1bmkxRTBCB3VuaTFFMUUHdW5pMUUxRgd1bmkxRTQwB3VuaTFFNDEHdW5pMUU1Ngd1bmkxRTU3B3VuaTFFNjAHdW5pMUU2MQd1bmkxRTZBB3VuaTFFNkIHdW5pMUU0NAd1bmkxRTQ1B3VuaTFFQ0EHdW5pMUVDQgd1bmkxRTlFB3VuaTFFQjgHdW5pMUVCOQd1bmkxRUNDB3VuaTFFQ0QHdW5pMUVBMAd1bmkxRUExB3VuaTFFRjQHdW5pMUVGNQd1bmkxRTZDB3VuaTFFNkQHdW5pMUVFNAd1bmkxRUU1B3VuaTFFRjgHdW5pMUVGOQd1bmkwMTk0B3VuaTAyNjMHdW5pMUVBQwd1bmkxRUFEB3VuaTFFQzYHdW5pMUVDNwd1bmkxRUI2B3VuaTFFQjcHdW5pMUVEOAd1bmkxRUQ5B3VuaTAxOTAHdW5pMDI1Qgd1bmkwMjVDB3VuaTAxOTcHdW5pMDI2OARUYmFyBHRiYXIESGJhcgRoYmFyB3VuaTAyNDQHdW5pMDI4OQxrZ3JlZW5sYW5kaWMHdW5pMDIzRAd1bmkwMTlBB3VuaTAyQkMHdW5pMDJCQgd1bmkwMjI2B3VuaTAyMjcHdW5pMDBCOQd1bmkwMEIyB3VuaTAwQjMCSUoCaWoLbmFwb3N0cm9waGUHdW5pMDE4RQd1bmkwMjU4B3VuaTMwQTAHdW5pMzBBMQd1bmkzMEEyB3VuaTMwQTMHdW5pMzBBNAd1bmkzMEE1B3VuaTMwQTYHdW5pMzBBNwd1bmkzMEE4B3VuaTMwQTkHdW5pMzBBQQd1bmkzMEFCB3VuaTMwQUMHdW5pMzBBRAd1bmkzMEFFB3VuaTMwQUYHdW5pMzBCMAd1bmkzMEIxB3VuaTMwQjIHdW5pMzBCMwd1bmkzMEI0B3VuaTMwQjUHdW5pMzBCNgd1bmkzMEI3B3VuaTMwQjgHdW5pMzBCOQd1bmkzMEJBB3VuaTMwQkIHdW5pMzBCQwd1bmkzMEJEB3VuaTMwQkUHdW5pMzBCRgd1bmkzMEMwB3VuaTMwQzEHdW5pMzBDMgd1bmkzMEMzB3VuaTMwQzQHdW5pMzBDNQd1bmkzMEM2B3VuaTMwQzcHdW5pMzBDOAd1bmkzMEM5B3VuaTMwQ0EHdW5pMzBDQgd1bmkzMENDB3VuaTMwQ0QHdW5pMzBDRQd1bmkzMENGB3VuaTMwRDAHdW5pMzBEMQd1bmkzMEQyB3VuaTMwRDMHdW5pMzBENAd1bmkzMEQ1B3VuaTMwRDYHdW5pMzBENwd1bmkzMEQ4B3VuaTMwRDkHdW5pMzBEQQd1bmkzMERCB3VuaTMwREMHdW5pMzBERAd1bmkzMERFB3VuaTMwREYHdW5pMzBFMAd1bmkzMEUxB3VuaTMwRTIHdW5pMzBFMwd1bmkzMEU0B3VuaTMwRTUHdW5pMzBFNgd1bmkzMEU3B3VuaTMwRTgHdW5pMzBFOQd1bmkzMEVBB3VuaTMwRUIHdW5pMzBFQwd1bmkzMEVEB3VuaTMwRUUHdW5pMzBFRgd1bmkzMEYwB3VuaTMwRjEHdW5pMzBGMgd1bmkzMEYzB3VuaTMwRjQHdW5pMzBGNQd1bmkzMEY2B3VuaTMwRjcHdW5pMzBGOAd1bmkzMEY5B3VuaTMwRkEHdW5pMzBGQgd1bmkzMEZDB3VuaTMwRkQHdW5pMzBGRQd1bmkzMEZGB3VuaTI2MjEFbG9uZ3MDRW5nA2VuZwd1bmkwMTg2B3VuaTAyNTQHdW5pMDE4Rgd1bmkwMjU5B3VuaTAxODkHdW5pMDI1Ngd1bmkyMTE2CmZpZ3VyZWRhc2gHdW5pMDQxMAd1bmkwNDExB3VuaTA0MTIHdW5pMDQxMwd1bmkwNDE0B3VuaTA0MTUHdW5pMDQxNgd1bmkwNDE3B3VuaTA0MTgHdW5pMDQxOQd1bmkwNDFBB3VuaTA0MUIHdW5pMDQxQwd1bmkwNDFEB3VuaTA0MUUHdW5pMDQxRgd1bmkwNDIwB3VuaTA0MjEHdW5pMDQyMgd1bmkwNDIzB3VuaTA0MjQHdW5pMDQyNQd1bmkwNDI2B3VuaTA0MjcHdW5pMDQyOAd1bmkwNDI5B3VuaTA0MkEHdW5pMDQyQgd1bmkwNDJDB3VuaTA0MkQHdW5pMDQyRQd1bmkwNDJGB3VuaTA0MzAHdW5pMDQzMQd1bmkwNDMyB3VuaTA0MzMHdW5pMDQzNAd1bmkwNDM1B3VuaTA0MzYHdW5pMDQzNwd1bmkwNDM4B3VuaTA0MzkHdW5pMDQzQQd1bmkwNDNCB3VuaTA0M0MHdW5pMDQzRAd1bmkwNDNFB3VuaTA0M0YHdW5pMDQ0MAd1bmkwNDQxB3VuaTA0NDIHdW5pMDQ0Mwd1bmkwNDQ0B3VuaTA0NDUHdW5pMDQ0Ngd1bmkwNDQ3B3VuaTA0NDgHdW5pMDQ0OQd1bmkwNDRBB3VuaTA0NEIHdW5pMDQ0Qwd1bmkwNDREB3VuaTA0NEUHdW5pMDQ0Rgd1bmkwNDAxB3VuaTA0NTEHdW5pMDQwMAd1bmkwNDUwB3VuaTA0MDIHdW5pMDQ1Mgd1bmkwNDAzB3VuaTA0NTMHdW5pMDQwNAd1bmkwNDU0B3VuaTA0MDUHdW5pMDQ1NQd1bmkwNDA2B3VuaTA0NTYHdW5pMDQwNwd1bmkwNDU3B3VuaTA0MDgHdW5pMDQ1OAd1bmkwNDA5B3VuaTA0NTkHdW5pMDQwQQd1bmkwNDVBB3VuaTA0MEIHdW5pMDQ1Qgd1bmkwNDBDB3VuaTA0NUMHdW5pMDQwRAd1bmkwNDVEB3VuaTA0MEUHdW5pMDQ1RQd1bmkwNDBGB3VuaTA0NUYHdW5pMDQ5MAd1bmkwNDkxB3VuaTA0RDgHdW5pMDREOQd1bmk1MTg2B3VuaTAyQkQHdW5pMDRFOAd1bmkwNEU5B3VuaTFFOUMHdW5pMUU5Qgd1bmkwMTgxB3VuaTAyNTMHdW5pMDE4QQd1bmkwMjU3B3VuaTAxOUQHdW5pMDI3Mgd1bmkwMUIzB3VuaTAxQjQHdW5pMDE5MQd1bmkwMUIyB3VuaTAyOEIHdW5pMDE5Mwd1bmkwMjYwB3VuaTAxOTgHdW5pMDE5OQd1bmkwMUVBB3VuaTAxRUIHdW5pMDFCNwd1bmkwMjkyB3VuaTAxRUUHdW5pMDFFRgd1bmlBNzhCB3VuaUE3OEMHdW5pMDFFNAd1bmkwMUU1B3VuaTA0QUUHdW5pMDRBRgd1bmkwNEIwB3VuaTA0QjEHdW5pMDRCMgd1bmkwNEIzB3VuaTA0OUEHdW5pMDQ5Qgd1bmkwNEEyB3VuaTA0QTMHdW5pMDQ5Ngd1bmkwNDk3B3VuaTA0QkEHdW5pMDRCQgd1bmkwNDkyB3VuaTA0OTMHdW5pMDI5NAd1bmkyMDE1DXVuZGVyc2NvcmVkYmwHdW5pMjAxNgd1bmkyMDNFCWV4Y2xhbWRibAd1bmkyMTA1B3VuaTIxMTcJZXN0aW1hdGVkB3VuaTIyMTkHdW5pMjExMwd1bmkwNEMxB3VuaTA0QzIHdW5pMDRFQwd1bmkwNEVEB3VuaTAxQzAHdW5pMDFDMQd1bmkwMUMyB3VuaTAxQzMHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDYHdW5pMDRENwd1bmkwNEEwB3VuaTA0QTEHdW5pMDRGMgd1bmkwNEYzB3VuaTIyMTUHdW5pMjBCNQd1bmkyMEFEB3VuaTIwQjEHdW5pMjBCNApvcnRob2dvbmFsBWFuZ2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiAGIAYgBiArj/+gIi//r/LAK4//kCIv/u/ywAYgBiAGIAYgK5//cC1wId//D/JQLB//cC1wIh/+7/JQAYABgAGAAYAsYBgwLGAYOwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwjISMhLbADLCBkswMUFQBCQ7ATQyBgYEKxAhRDQrElA0OwAkNUeCCwDCOwAkNDYWSwBFB4sgICAkNgQrAhZRwhsAJDQ7IOFQFCHCCwAkMjQrITARNDYEIjsABQWGVZshYBAkNgQi2wBCywAyuwFUNYIyEjIbAWQ0MjsABQWGVZGyBkILDAULAEJlqyKAENQ0VjRbAGRVghsAMlWVJbWCEjIRuKWCCwUFBYIbBAWRsgsDhQWCGwOFlZILEBDUNF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"},function(A,e){A.exports="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OwEdATsBBTUrAR0BKQE9ASsBgAEAAQBAQEBAgIBAQP7A/sBAQEBAQEBAQAIAwMBAQICA/wCAgAEAAQCAgAPAQEBAgIBAQICAQEBAQICAQECAgICAQEBAQMBAgIBAQAAAAAIAAACAA4AEAAAnAC8AABM1KQEdATsBGQErAR0BKwEdASkBPQE7AT0BOwE9ASkBPQErAT0BOwEFNSsBHQE7AYABQAFAQEBAQEBA/wD/AMDAQED/AP8AQEBAQAIAwMDAwAPAQEBA/wD/AEBAQEBAQEBAQEBAQICAgICAgAACAQABAAIAA4AABwAPAAABNTsBHQErARE1OwEdASsBAQCAgICAgICAgAGAgICAAgCAgIAAAgCAAIACAAOAAA8AFwAAATU7AR0BKwEdASsBPQE7ARE1OwEdASsBAQCAgEBAgIBAQICAgIABgICAgEBAQEACAICAgAABAIAAgAMABAAANwAAATU7AR0BKwEdASsBHQErAR0BOwEdATsBHQE7AR0BKwE9ASsBPQErAT0BKwE9ATsBPQE7AT0BOwECAICAQEBAQEBAQEBAQEBAgIBAQEBAQEBAQEBAQEADwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAACAAABgAOAAwAABwAPAAARNSkBHQEpARE1KQEdASkBAcABwP5A/kABwAHA/kD+QAHAQEBAAUBAQEAAAAABAIAAgAMABAAANwAAEzU7AR0BOwEdATsBHQE7AR0BKwEdASsBHQErAR0BKwE9ATsBPQE7AT0BOwE9ASsBPQErAT0BKwGAgIBAQEBAQEBAQEBAQECAgEBAQEBAQEBAQEBAQAPAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAIAAACAA4AEAAAHAC8AACU1OwEdASsBAzUpAR0BOwEdASsBHQErAR0BKwE9ATsBPQE7AT0BKwEdASsBPQE7AQEAwMDAwIABQAFAQEBAQEBAwMCAgEBAwMCAgEBAwEBAQANAQEBAgIBAQEBAQEBAQEBAQECAgAAAAAIAAACAA4AEAAAnAC8AABM1KQEdATsBGQEpAT0BOwEdATsBPQEpARkBKQEdASkBPQErARkBOwEBNSsBHQE7AYABQAFAQED+wP7AwMBAQP7A/sABQAFA/sD+wEBAQEABgEBAQEADwEBAQP8A/wDAwICAwMD+wP7A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KwE9ATsBAYCAgEBA/wD/AEBAQEBAQAPAQMDAQEBAQEBAQEAAAAIAgAIAAwAEAAAXAB8AAAE1OwEdATsBHQErAR0BKwE9ASsBPQE7AQU1KwEdATsBAQDAwEBAQEDAwEBAQEABAEBAQEADwEBAQICAQEBAQICAgICAgAAAAAACAAABAAOAA4AANwBPAAARNTsBHQE7AT0BOwEdATsBHQE7AR0BKwEdASsBHQErAT0BKwEdASsBPQE7AT0BOwE9ASsBPQErAQU1KwEdATsBHQErAR0BOwE9ATsBPQErAYCAQECAgEBAQEBAQEBAgIBAQICAQEBAQEBAQEACAEBAQEBAQEBAQEBAQANAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAACAAAAgAOABAAAEwBbAAABNTsBGQErAT0BKwE9ATsBPQE7AQE1OwEZATsBPQE7AT0BOwE9ATsBPQE7AR0BKwEdASsBHQErAR0BKwEdASsBHQErAR0BKwE9ATsBPQE7AT0BKwE9ASsBPQE7AQMAQEBAQICAQEBAQP2AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAkBA/wD/AEBAQEBAQAHAQP8A/wBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgIBAQAAAAAEAAACAA4AEAABjAAATNTsBGQE7AT0BOwE9ATsBPQE7AT0BOwEdASsBHQErAR0BOwEdASsBHQE7AR0BKwE9ATsBPQE7AT0BKwE9ASsBHQErAR0BKwEdASsBHQErAT0BOwE9ATsBPQErAT0BKwE9ATsBgEBAQEBAQEBAQEBAQEBAQECAgEBAQEDAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAA8BA/wD/AEBAQEBAQEBAQEBAQEBAgIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAQEAAAAADAAAAgAOABAAAEwBjAGsAAAE1OwEZASsBPQErAT0BOwE9ATsBATU7AR0BKwEdATsBHQE7AT0BOwE9ATsBPQE7AR0BKwEdASsBHQErAR0BKwEdASsBHQErAR0BKwE9ATsBPQE7AT0BKwE9ATsBPQErAT0BKwEBNSsBHQE7AQMAQEBAQICAQEBAQP0AwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAQEBAQAGAQEBAQAJAQP8A/wBAQEBAQEABwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQP7AQEBAAAAAAAIAAACAA4AEAAAnAC8AAAE1OwEdASsBHQErAR0BOwE9ATsBHQErAR0BKQE9ASsBPQE7AT0BOwERNTsBHQErAQEAwMCAgEBAwMCAgEBA/sD+wEBAQEBAQMDAwMACwEBAQEBAQEBAQICAQEBAQICAQEABQEBAQAAAAAIAAACAA4AEAAAvAD8AAAE1OwEdATsBHQE7AR0BOwEdATsBHQErAT0BKwEdASsBPQE7AT0BOwE9ATsBPQErAQE1KwEdASsBHQE7AT0BKwEBAEBAQEBAQEBAQECAgMDAgIBAQEBAQEBAQAEAQEBAQMDAQEADwEBAQEBAQEBAQMDAQEBAQMDAQEBAQEBA/sBAQEBAQEBAAAAAAgAAAIADgAQAAC8APwAAATU7AR0BKwEdATsBHQE7AR0BOwEdASsBPQErAR0BKwE9ATsBPQE7AT0BOwE9ATsBETUrAR0BKwEdATsBPQErAQIAQEBAQEBAQEBAQICAwMCAgEBAQEBAQEBAQEBAQMDAQEADwEBAQEBAQEBAQMDAQEBAQMDAQEBAQEBA/sBAQEBAQEBAAAMAAACAA4AEAAAvADcARwAAATU7AR0BOwEdASsBHQE7AR0BOwEdASsBPQErAR0BKwE9ATsBPQE7AT0BKwE9ATsBBTUrAR0BOwEVNSsBHQErAR0BOwE9ASsBAQDAwEBAQEBAQEBAgIDAwICAQEBAQEBAQEABAEBAQEBAQEBAwMBAQAPAQEBAQEBAQEBAwMBAQEBAwMBAQEBAQEBAQEBAwEBAQEBAQEAAAAMAAACAA4AEAAAzADsASwAAATU7AR0BOwE9ATsBHQErAR0BOwEdATsBHQErAT0BKwEdASsBPQE7AT0BOwE9ASsBPQE7ARc1KwEdATsBFzUrAR0BKwEdATsBPQErAQEAgIBAQEBAQEBAQEBAgIDAwICAQEBAQEBAQECAQEBAQIBAQEBAwMBAQAPAQEBAQEBAQICAQEDAwEBAQEDAwEBAQEBAQEBAQEDAQEBAQEBAQAAABAAAAIADgAQAAB8ALwA3AD8AAAE1OwEdATsBHQE7AR0BKwE9ASsBHQErAT0BOwE9ATsBBTUrAR0BKwEdATsBPQErARE1OwEdASsBJTU7AR0BKwEBAMDAQEBAQICAwMCAgEBAQEABAEBAQEDAwEBAgICAgP6AgICAgALAQEBAQEDAwEBAQEDAwEBAQEBAQEBAQEABwEBAQEBAQEAAAwAAAIADgAQAACcALwA/AAABNTsBHQE7AR0BOwEdATsBHQErAT0BKwEdASsBPQE7AT0BOwE9ATsBFzUrAR0BOwEVNSsBHQErAR0BOwE9ASsBAYBAQEBAQEBAQICAwMCAgEBAQEBAQIBAQEBAQEBAQMDAQEADwEBAQICAQEDAwEBAQEDAwEBAgIBAQEBAwEBAQEBAQEAAAAACAAAAgAOABAAAJwAvAAABNSkBHQErAR0BOwEdASsBHQE7AR0BKQE9ASsBHQErARkBOwE9ATsBEzUrAR0BOwEBAAFAAUCAgICAgICAgP8A/wBAQICAQEBAQIBAQEBAA8BAQECAgEBAgIBAQICAgIABQAFAQED/AICAgAAAAQAAAAADgAQAAEcAAAE1KQEdATsBHQErAT0BKwEdASsBHQE7AR0BOwE9ATsBHQErAR0BKwEdASsBHQErAT0BOwE9ASsBPQErAT0BKwE9ATsBPQE7AQEAAQABAEBAgICAgEBAQECAgICAQEBAQEBAgICAgICAQEBAQEBAQEADwEBAQEBAQEBAQICAQEBAQEBAQEBAQEBAQEBAQEBAQECAgEBAAAABAAAAgAOABAAAJwAAATU7AR0BOwEdATsBHQEpAR0BKQEdASkBHQEpAR0BKQEZATsBPQErAQEAQEBAQMDA/sD+wAEAAQD/AP8AAUABQP5A/kDAwEBAA8BAQEBAQEBAQEBAQEBAQEABQAFAQEAAAAAAAQAAAIADgAQAACcAAAE1OwEdASsBHQE7AR0BKQEdASkBHQEpAR0BKQEdASkBGQE7AT0BOwECAEBAQEDAwP7A/sABAAEA/wD/AAFAAUD+QP5AwMBAQAPAQEBAQEBAQEBAQEBAQEBAAUABQEBAAAAAAAIAAACAA4AEAAAnAC8AAAE1OwEdATsBHQE7AR0BKQEdASkBHQEpAR0BKQEdASkBGQE7AT0BOwEFNSsBHQE7AQEAwMBAQEBA/sD+wAEAAQD/AP8AAUABQP5A/kBAQEBAAQBAQEBAA8BAQEBAQEBAQEBAQEBAQEABQAFAQEBAQEBAAAAAAAMAAACAA4AEAAAXAB8AJwAAGQEpAR0BKQEdASkBHQEpAR0BKQEdASkBATU7AR0BKwElNTsBHQErAQHAAcD+wP7AAQABAP8A/wABQAFA/kD+QAIAgICAgP6AgICAgAHAAUBAQEBAQEBAQEBAA0BAQEBAQEBAAAAAAAEAgACAA4AEAAAnAAABNTsBHQE7AR0BOwEdASsBHQE7AR0BKQE9ATsBPQErAT0BOwE9ASsBAYBAQEBAgICAgICA/oD+gICAgIDAwEBAA8BAQEBAQEBAwMBAQEBAwMBAQEBAAAABAIAAgAOABAAAJwAAATU7AR0BKwEdATsBHQErAR0BOwEdASkBPQE7AT0BKwE9ATsBPQE7AQIAQEBAQMDAgICAgP6A/oCAgICAgIBAQAPAQEBAQEBAQMDAQEBAQMDAQEBAQAAAAQCAAIADgAQAACcAAAE1OwEdATsBHQE7AR0BKwEdATsBHQEpAT0BOwE9ASsBPQE7AT0BOwEBgICAQEBAQICAgID+gP6AgICAgEBAQEADwEBAQEBAQEDAwEBAQEDAwEBAQEAAAAMAgACAA4AEAAAXAB8AJwAAEzUpAR0BKwEdATsBHQEpAT0BOwE9ASsBATU7AR0BKwElNTsBHQErAYABgAGAgICAgP6A/oCAgICAAgCAgICA/gCAgICAAsBAQEDAwEBAQEDAwAFAQEBAQEBAQAAAAAACAAAAgAOABAAAHwA3AAATNSkBHQE7AR0BOwEdASsBHQErAR0BKQE9ASsBPQE7ASU1KwEdATsBHQErAR0BOwE9ATsBPQErAYABAAEAQEBAQEBAQED/AP8AQEBAQAGAQEBAQEBAQEBAQEBAA0DAQEBAQMDAQEBAQMDAQEDAQICAQECAgEBAwMAAAgAAAIADgAQAACsAPwAAATU7AR0BOwE9ATsBHQErAR0BOwEZASsBPQErAT0BKwEdASsBGQE7AT0BOwEXNSsBHQE7AR0BOwEdATsBPQErAQEAgIBAQEBAQECAgMDAQEBAQICAQEBAQIBAQEBAQEBAQICAA8BAQEBAQEBAQED+wP7AQEBAQICAAUABQEBAQEBAQEBAQECAgAACAAAAgAOABAAAJwAvAAABNTsBHQE7AR0BOwEdATsBHQErAR0BKQE9ASsBPQE7AT0BOwE9ASsBATUrAR0BOwEBAEBAQECAgEBAQED+wP7AQEBAQICAQEABgMDAwMADwEBAQEBAQEDAwEBAQEDAwEBAQED+QMDAwAACAAAAgAOABAAAJwAvAAABNTsBHQErAR0BOwEdATsBHQErAR0BKQE9ASsBPQE7AT0BOwE9ATsBEzUrAR0BOwECAEBAQECAgEBAQED+wP7AQEBAQICAQECAwMDAwAPAQEBAQEBAQMDAQEBAQMDAQEBAQP5AwMDAAAADAAAAgAOABAAAHwAnAC8AAAE1OwEdATsBHQE7AR0BKwEdASkBPQErAT0BOwE9ATsBBTUrAR0BOwETNSsBHQE7AQEAwMBAQEBAQED+wP7AQEBAQEBAAQBAQEBAgMDAwMADwEBAQICAwMBAQEBAwMCAgEBAQED+wMDAwAAAAwAAAIADgAQAACsAMwA7AAABNTsBHQE7AT0BOwEdASsBHQE7AR0BOwEdASsBHQEpAT0BKwE9ATsBPQE7ARc1KwEdATsBATUrAR0BOwEBAICAQEBAQEBAQEBAQEBA/sD+wEBAQEBAQIBAQEBAAQDAwMDAA8BAQEBAQEBAQEBAQMDAQEBAQMDAgIBAQEBA/sDAwMAAAAQAAACAA4AEAAAXAB8AJwAvAAATNSkBHQE7AR0BKwEdASkBPQErAT0BOwEFNSsBHQE7AQM1OwEdASsBJTU7AR0BKwGAAUABQEBAQED+wP7AQEBAQAIAwMDAwICAgICA/oCAgICAAsBAQEDAwEBAQEDAwMDAwMACwEBAQEBAQEAAAQCAAQADAAOAAEcAABM1OwEdATsBHQE7AT0BOwE9ATsBHQErAR0BKwEdATsBHQE7AR0BKwE9ASsBPQErAR0BKwEdASsBPQE7AT0BOwE9ASsBPQErAYBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEADQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAMAAACAA4AEAAAHAB8ANwAAATU7AR0BKwEBNSkBHQE7ARkBKwEdASkBPQErARkBOwEFNSsBHQE7AR0BKwEdATsBPQErAT0BOwEBgEBAQED/AAFAAUBAQEBA/sD+wEBAQEACAMDAQEBAQMDAQEBAQAJAQEBAAcBAQED+wP7AQEBAQAFAAUBAQMDAQEBAQMDAQEAAAAACAAAAgAOABAAAFwAnAAAZATsBGQE7ARkBOwEZASsBHQEpAT0BKwEBNTsBHQE7AR0BKwE9ASsBgIDAwICAQED+wP7AQEABAEBAQEBAQEBAAgABAP8A/wABAAEA/wD/AEBAQEACwEBAQEBAQEAAAAAAAgAAAIADgAQAABcAJwAAGQE7ARkBOwEZATsBGQErAR0BKQE9ASsBATU7AR0BKwEdASsBPQE7AYCAwMCAgEBA/sD+wEBAAgBAQEBAQEBAQAIAAQD/AP8AAQABAP8A/wBAQEBAAsBAQEBAQEBAAAAAAAIAAACAA4AEAAAXAC8AABE1OwEdATsBPQE7AR0BKwEdASkBPQErAQE1OwEdATsBHQErAT0BKwEdASsBPQE7AYCAwMCAgEBA/sD+wEBAAQDAwEBAgIBAQICAQEABwMDAwMDAwMBAQEBAAsBAQEBAQEBAQEBAQAAAAAMAAACAA4AEAAAXAB8AJwAAGQE7ARkBOwEZATsBGQErAR0BKQE9ASsBATU7AR0BKwElNTsBHQErAYCAwMCAgEBA/sD+wEBAAgCAgICA/oCAgICAAgABAP8A/wABAAEA/wD/AEBAQEACwEBAQEBAQEAAAAAAAQCAAIADgAQAAC8AAAE1OwEdASsBHQErAR0BOwE9ATsBHQErAR0BKwEdASsBPQErAT0BKwE9ATsBPQE7AQIAQEBAQEBAgICAgEBAQECAgEBAQECAgEBAA8BAQEBAQICAgICAgEBAgICAgEBAgIBAQAAAAAACAAAAgAOABAAAFwAfAAAZATsBHQEpAR0BOwEdASsBHQEpAR0BKwEBNSsBHQE7AYCAAQABAEBAQED/AP8AgIACgMDAwMACQAHAQEBAQMDAQEBAQAHAwMDAAAAAAAIAgACAA4AEAAAjADcAAAE1KQEdATsBHQErAR0BOwEdASsBHQErAT0BKwEdASsBGQE7AQU1KwEZATsBHQE7AT0BKwE9ATsBAQABAAEAQEBAQEBAQECAgEBAgIBAQAGAgIBAQEBAQEBAQAPAQEBAgIBAQICAQEBAQEBAAYABgICA/wD/AEBAgIBAQAAAAgAAAIADgAQAACsAMwAAATU7AR0BOwEdATsBHQE7ARkBKQE9ASsBPQE7AT0BKQE9ASkBPQE7AT0BKwEBNSsBHQE7AQEAQEBAQICAQED+gP6AQEBAQAEAAQD/AP8AgIBAQAGAwMDAwAPAQEBAQEBAQP8A/wBAQEBAQEBAQEBAQED9wEBAQAAAAAIAAACAA4AEAAArADMAAAE1OwEdASsBHQE7AR0BOwEZASkBPQErAT0BOwE9ASkBPQEpAT0BOwE9ATsBEzUrAR0BOwECAEBAQECAgEBA/oD+gEBAQEABAAEA/wD/AICAQECAwMDAwAPAQEBAQEBAQP8A/wBAQEBAQEBAQEBAQED9wEBAQAAAAAADAAAAgAOABAAAIwArADMAAAE1OwEdATsBHQE7ARkBKQE9ASsBPQE7AT0BKQE9ASkBPQE7AQU1KwEdATsBEzUrAR0BOwEBAMDAQEBAQP6A/oBAQEBAAQABAP8A/wBAQAEAQEBAQIDAwMDAA8BAQECAgP8A/wBAQEBAQEBAQICAQEBAQP5AQEBAAAAAAAMAAACAA4AEAAAvADcAPwAAATU7AR0BOwE9ATsBHQErAR0BOwEdATsBGQEpAT0BKwE9ATsBPQEpAT0BKQE9ATsBFzUrAR0BOwEBNSsBHQE7AQEAgIBAQEBAQEBAQEBA/oD+gEBAQEABAAEA/wD/AEBAgEBAQEABAMDAwMADwEBAQEBAQEBAQEBA/wD/AEBAQEBAQEBAgIBAQEBA/kBAQEAAAAAABAAAAIADgAQAABsAIwArADMAABM1KQEdATsBGQEpAT0BKwE9ATsBPQEpAT0BKQEBNSsBHQE7AQM1OwEdASsBJTU7AR0BKwGAAUABQEBA/oD+gEBAQEABAAEA/wD/AAIAwMDAwICAgICA/oCAgICAAsBAQED/AP8AQEBAQEBAQED+wEBAQALAQEBAQEBAQAAAAwAAAIADgAQAACsAMwA7AAABNTsBHQE7AR0BOwEdATsBGQEpAT0BKwE9ATsBPQEpAT0BKQE9ATsBPQE7ARc1KwEdATsBEzUrAR0BOwEBgEBAQEBAQEBA/oD+gEBAQEABAAEA/wD/AEBAQECAQEBAQIDAwMDAA8BAQEBAQEBA/wD/AEBAQEBAQEBAQEBAQEBAQED+QEBAQAADAAAAgAOAAwAAIwArADMAABM1KQEdATsBHQErAR0BOwEdASkBPQErAT0BOwE9ATsBPQErAQU1KwEdATsBBTUrAR0BOwGAAUABQEBAwMCAgP7A/sBAQEBAgICAgAIAQEBAQP8AQEBAQALAQEBAgIBAQEBAQEBAQEBAQEBAQEBAwEBAQAABAAAAAAOAAwAAJwAAEzUpAR0BKQEdASkBHQErAR0BKwEdASsBPQE7AT0BKwE9ASsBPQE7AYABgAGA/sD+wAFAAUCAgEBAgICAgMDAQEBAQALAQEBAgIBAQEBAQEBAQEBAQECAgAAAAAIAAACAA4AEAAArADMAAAE1OwEdATsBHQE7AR0BOwEdASkBHQEpAR0BKQE9ASsBPQE7AT0BOwE9ASsBATUrAR0BOwEBAEBAQECAgEBA/sD+wAEAAQD+wP7AQEBAQICAQEABgMDAwMADwEBAQEBAQECAgEBAQEBAQMDAQEBAQP7AQEBAAAIAAACAA4AEAAArADMAAAE1OwEdASsBHQE7AR0BOwEdASkBHQEpAR0BKQE9ASsBPQE7AT0BOwE9ATsBEzUrAR0BOwECAEBAQECAgEBA/sD+wAEAAQD+wP7AQEBAQICAQECAwMDAwAPAQEBAQEBAQICAQEBAQEBAwMBAQEBA/sBAQEAAAAMAAACAA4AEAAAjACsAMwAAATU7AR0BOwEdATsBHQEpAR0BKQEdASkBPQErAT0BOwE9ATsBBTUrAR0BOwEXNSsBHQE7AQEAwMBAQEBA/sD+wAEAAQD+wP7AQEBAQEBAAQBAQEBAgMDAwMADwEBAQICAgIBAQEBAQEDAwICAQEBAQMBAQEAAAAAEAAAAgAOABAAAGwAjACsAMwAAEzUpAR0BOwEdASkBHQEpAR0BKQE9ASsBPQE7AQU1KwEdATsBAzU7AR0BKwElNTsBHQErAYABQAFAQED+wP7AAQABAP7A/sBAQEBAAgDAwMDAgICAgID+gICAgIACwEBAQICAQEBAQEBAwMBAQEBAAcBAQEBAQEBAAAIAgACAA4AEAAATACMAAAE1OwEdATsBHQEpAT0BOwE9ASsBETU7AR0BOwEdASsBPQErAQEAwMCAgP6A/oCAgEBAQEBAQEBAQEACQEDAwEBAQECAgAHAQEBAQEBAQAAAAAIAgACAA4AEAAATACMAAAE1OwEdATsBHQEpAT0BOwE9ASsBATU7AR0BKwEdASsBPQE7AQEAwMCAgP6A/oCAgEBAAQBAQEBAQEBAQAJAQMDAQEBAQICAAcBAQEBAQEBAAAIAgACAA4AEAAATACsAAAE1OwEdATsBHQEpAT0BOwE9ASsBETU7AR0BOwEdASsBPQErAR0BKwE9ATsBAQDAwICA/oD+gICAQEDAwEBAgIBAQICAQEACQEDAwEBAQECAgAHAQEBAQEBAQEBAQEAAAAADAIAAgAOABAAAEwAbACMAAAE1OwEZATsBHQEpAT0BOwE9ASsBATU7AR0BKwElNTsBHQErAQEAwMCAgP6A/oCAgEBAAQCAgICA/oCAgICAAsBA/wD/AEBAQEDAwAFAQEBAQEBAQAAAAAMAAACAA4AEAAAvADcAPwAAEzU7AR0BOwE9ATsBHQErAR0BOwEdATsBHQErAR0BKQE9ASsBPQE7AT0BKwE9ATsBBTUrAR0BOwEBNSsBHQE7AYCAgICAQEBAQEBAQEBAQP7A/sBAQEBAQEBAQAEAgICAgAEAwMDAwAOAgEBAQEBAQICAQECAgEBAQECAgEBAQEBAQEBA/wCAgIAAAAIAAACAA4AEAAArADMAAAE1OwEdATsBPQE7AR0BKwEdATsBHQE7ARkBKwEZASsBGQErARkBOwE9ATsBFzUrAR0BOwEBAICAQEBAQEBAQEBAQICAwMCAgEBAQECAQEBAQAPAQEBAQEBAQEBAQED/AP8AAQABAP8A/wABQAFAQEBAQEBAAAIAAACAA4AEAAAnAC8AAAE1OwEdATsBHQE7AR0BOwEdASsBHQEpAT0BKwE9ATsBPQE7AT0BKwEBNSsBHQE7AQEAQEBAQICAQEBAQP7A/sBAQEBAgIBAQAGAwMDAwAPAQEBAQEBAQMDAQEBAQMDAQEBAQP5AwMDAAAIAAACAA4AEAAAnAC8AAAE1OwEdASsBHQE7AR0BOwEdASsBHQEpAT0BKwE9ATsBPQE7AT0BOwETNSsBHQE7AQIAQEBAQICAQEBAQP7A/sBAQEBAgIBAQIDAwMDAA8BAQEBAQEBAwMBAQEBAwMBAQEBA/kDAwMAAAAMAAACAA4AEAAAfACcALwAAATU7AR0BOwEdATsBHQErAR0BKQE9ASsBPQE7AT0BOwEFNSsBHQE7ARM1KwEdATsBAQDAwEBAQEBAQP7A/sBAQEBAQEABAEBAQECAwMDAwAPAQEBAgIDAwEBAQEDAwICAQEBAQP7AwMDAAAADAAAAgAOABAAAKwAzADsAAAE1OwEdATsBPQE7AR0BKwEdATsBHQE7AR0BKwEdASkBPQErAT0BOwE9ATsBFzUrAR0BOwEBNSsBHQE7AQEAgIBAQEBAQEBAQEBAQED+wP7AQEBAQEBAgEBAQEABAMDAwMADwEBAQEBAQEBAQEBAwMBAQEBAwMCAgEBAQED+wMDAwAAABAAAAIADgAQAABcAHwAnAC8AABM1KQEdATsBHQErAR0BKQE9ASsBPQE7AQU1KwEdATsBAzU7AR0BKwElNTsBHQErAYABQAFAQEBAQP7A/sBAQEBAAgDAwMDAgICAgID+gICAgIACwEBAQMDAQEBAQMDAwMDAwALAQEBAQEBAQAADAIABAAOAA4AABwAPABcAAAE1OwEdASsBATUpAR0BKQEBNTsBHQErAQGAgICAgP8AAYABgP6A/oABAICAgIABQEBAQAFAQEBAAUBAQEAAAAMAAACAA4ADAAAHAB8ALwAAATU7AR0BKwEBNSkBHQE7AR0BKwEdASkBPQErAT0BOwEFNSsBHQE7AR0BOwE9ASsBAYBAQEBA/wABQAFAQEBAQP7A/sBAQEBAAYCAgEBAgIBAQAHAQEBAAUBAQEDAwEBAQEDAwEBAgIBAQICAAAAAAgAAAIADgAQAABMAIwAAGQE7ARkBOwEZATsBGQEpAT0BKwEBNTsBHQE7AR0BKwE9ASsBgIDAwICA/oD+gEBAAQBAQEBAQEBAQAIAAQD/AP8AAQABAP7A/sBAQALAQEBAQEBAQAAAAAACAAAAgAOABAAAEwAjAAAZATsBGQE7ARkBOwEZASkBPQErAQE1OwEdASsBHQErAT0BOwGAgMDAgID+gP6AQEACAEBAQEBAQEBAAgABAP8A/wABAAEA/sD+wEBAAsBAQEBAQEBAAAAAAAIAAACAA4AEAAATACsAABE1OwEdATsBPQE7ARkBKQE9ASsBATU7AR0BOwEdASsBPQErAR0BKwE9ATsBgIDAwICA/oD+gEBAAQDAwEBAgIBAQICAQEABwMDAwMDA/wD/AEBAAsBAQEBAQEBAQEBAQAADAAAAgAOABAAAEwAbACMAABkBOwEZATsBGQE7ARkBKQE9ASsBATU7AR0BKwElNTsBHQErAYCAwMCAgP6A/oBAQAIAgICAgP6AgICAgAIAAQD/AP8AAQABAP7A/sBAQALAQEBAQEBAQAAAAAACAAAAAAOABAAAHwAvAAARNTsBHQE7AT0BOwEZASsBHQEpAT0BKQE9ASkBPQErAQE1OwEdASsBHQErAT0BOwGAgMDAgIBAQP7A/sABAAEA/wD/AEBAAgBAQEBAQEBAQAJAwMDAwMD+wP7AQEBAQEBAQEACQEBAQEBAQEAAAgAAAAADgAQAABcAHwAAGQE7AR0BKQEdATsBHQErAR0BKQEdASsBATUrAR0BOwGAgAEAAQBAQEBA/wD/AICAAoDAwMDAAgACAICAQECAgEBAgIACAICAgAAAAAADAAAAAAOABAAAHwAnAC8AABE1OwEdATsBPQE7ARkBKwEdASkBPQEpAT0BKQE9ASsBATU7AR0BKwElNTsBHQErAYCAwMCAgEBA/sD+wAEAAQD/AP8AQEACAICAgID+gICAgIACQMDAwMDA/sD+wEBAQEBAQEBAAkBAQEBAQEBAAAMAAACAA4AEAAAfAC8ANwAAATU7AR0BOwEdATsBHQErAT0BKwEdASsBPQE7AT0BOwEFNSsBHQErAR0BOwE9ASsBATUpAR0BKQEBAMDAQEBAQICAwMCAgEBAQEABAEBAQEDAwEBA/oABQAFA/sD+wALAQEBAQEDAwEBAQEDAwEBAQEBAQEBAQEABwEBAQAAAAAMAAACAA4AEAAAbACMAKwAAEzUpAR0BOwEZASkBPQErAT0BOwE9ASkBPQEpAQE1KwEdATsBATUpAR0BKQGAAUABQEBA/oD+gEBAQEABAAEA/wD/AAIAwMDAwP4AAUABQP7A/sACwEBAQP8A/wBAQEBAQEBAQP7AQEBAAsBAQEAAAgAAAIADgAQAAC8APwAAEzU7AR0BOwE9ATsBHQErAR0BOwEdATsBHQErAT0BKwEdASsBPQE7AT0BOwE9ASsBATUrAR0BKwEdATsBPQErAYBAQMDAQEBAQEBAQECAgMDAgIBAQEBAQEABgEBAQEDAwEBAA8BAQEBAQEBAgIBAQMDAQEBAQMDAQECAgP7AQEBAQEBAQAAAAAACAAAAgAOABAAAMwA7AAATNTsBHQE7AT0BOwEdASsBHQE7AR0BOwEZASkBPQErAT0BOwE9ASkBPQEpAT0BOwE9ASsBATUrAR0BOwGAQEDAwEBAQEBAQEBA/oD+gEBAQEABAAEA/wD/AEBAQEACAMDAwMADwEBAQEBAQEBAQEBA/wD/AEBAQEBAQEBAQEBAQP3AQEBAAAAAAAIAAAAAA4AEAAAzAEMAAAE1OwEdATsBHQE7AR0BKwEdASsBHQE7AR0BKwE9ASsBPQE7AT0BKwEdASsBPQE7AT0BOwEFNSsBHQErAR0BOwE9ASsBAQDAwEBAQEBAQEBAgICAgEBAQEDAwICAQEBAQAEAQEBAQMDAQEADwEBAQEBAwMBAQEBAQEBAQEBAgIBAQMDAQEBAQEBAQEBAQAAAAAACAAAAAAOABAAAMwA7AAATNSkBHQE7ARkBKwEdASsBHQE7AR0BKwE9ASsBPQE7AT0BKwE9ASsBPQE7AT0BKQE9ASkBATUrAR0BOwGAAUABQEBAwMBAQICAgIBAQEBAgIBAQEBAAQABAP8A/wACAMDAwMADwEBAQP8A/wBAQEBAQEBAQEBAQEBAQEBAQEBAQP7AQEBAAAAAAAEAAACAA4AEAABHAAABNTsBHQErAR0BOwEdATsBHQErAT0BKwEdASsBHQE7AR0BOwE9ATsBHQErAR0BKQE9ASsBPQErAT0BOwE9ATsBPQE7AT0BOwECAEBAQECAgEBAgICAgEBAQECAgICAQED/AP8AQEBAQEBAQEBAQEBAA8BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAQAAAIADgAQAACcAAAE1OwEdASsBHQE7AR0BKQEdASkBHQEpAT0BKwE9ATsBPQE7AT0BOwECAEBAQEDAwP7A/sABQAFA/oD+gEBAQECAgEBAA8BAQEBAQEBAwMBAQEBAwMBAQEBAAAACAAAAgAOABAAAQwBLAAABNTsBHQE7AR0BOwEdASsBPQErAR0BKwEdATsBHQE7AT0BOwEdASsBHQEpAT0BKwE9ASsBPQE7AT0BOwE9ASsBPQE7AQU1KwEdATsBAQDAwEBAQECAgICAQEBAQICAgIBAQP8A/wBAQEBAQEBAQEBAQEABAEBAQEADwEBAQICAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAIAAACAA4AEAAAjACsAAAE1OwEdATsBHQE7AR0BKQEdASkBHQEpAT0BKwE9ATsBPQE7AQU1KwEdATsBAQDAwEBAQED+wP7AAUABQP6A/oBAQEBAQEABAEBAQEADwEBAQEBAQEDAwEBAQEDAwICAQEBAQAAAAgAAAIADgAQAADcAPwAAATUpAR0BOwEdASsBPQErAR0BKwEdATsBHQE7AT0BOwEdASsBHQEpAT0BKwE9ASsBPQE7AT0BOwETNTsBHQErAQEAAQABAEBAgICAgEBAQECAgICAQED/AP8AQEBAQEBA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QEBAQEBAQEBAQEBAQEBAQAABAAAAgAOABAAANwAAATU7AR0BOwEdASsBHQErAR0BOwEdASsBPQErAT0BKwEdASsBHQErAT0BOwE9ASsBPQErAT0BOwEBgEBAwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwMADgICAgEBAQEBAQICAQEBAQEBAQECAgEBAQEBAQAAAAAACAAAAgAOABAAALwBHAAABNTsBHQE7AR0BKwEdASsBHQE7AR0BKwE9ASsBHQErAT0BOwE9ASsBPQErAT0BOwEXNSsBHQErAR0BOwEdATsBPQE7AT0BKwEBgEBAwMBAQEBAQEBAQMDAQEBAQEBAQEDAwIBAQEBAQEBAQEBAQEADgICAgEBAQEBAQICAQEBAQICAQEBAQEBAQEBAQEBAQEBAQEBAAAEAAACAA4AEAAAvAAABNTsBHQE7AR0BOwEdATsBHQErAR0BOwEdASkBPQE7AT0BKwE9ATsBPQE7AT0BOwEBgEBAQEBAQEBAgIBAQP7A/sBAQICAQEBAQEBAA8BAQEBAQEBAgIBAQEBAQEBAQICAQEBAQAAAAgCAAIADgAQAAB8AJwAAATU7AR0BOwEdASsBHQE7AR0BKQE9ATsBPQErAT0BOwEFNSsBHQE7AQGAgICAgICAQED/AP8AQECAgICAAQCAgICAA4CAgICAgICAQEBAQICAgICAgICAAAABAAAAgAOABAAALwAAEzU7AR0BOwE9ATsBHQE7AR0BKwEdASsBHQErAR0BKwE9ASsBPQErAT0BKwE9ATsBgICAQECAgEBAQEBAQEBAQEBAQEBAQEBAQAPAQEBAQEBAQMDAQEBAQEBAQEBAQEBAwMAAAQAAAIADgAQAADcAAAE1OwEdATsBHQE7AR0BOwEdASsBHQErAR0BKwEdASsBPQErAT0BKwE9ASsBPQE7AT0BOwE9ATsBAYBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAA8BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAQAAAIADgAQAADcAAAEROwEdATsBHQE7AR0BOwEdASsBHQErAT0BOwE9ASsBPQErARkBKwEdASsBPQErAT0BOwE9ATsBAYBAQEBAQEBAQEBAQEBAQEBAQEBAQICAQEBAQICAAwABAEBAQEBAQEBAQEBAQEBAQED/AP8AQEBAQEBAQEAAAwCAAIADgAQAAAcAFwAfAAATESkBGQEpAQE1KQEdATsBHQErAR0BOwEFNSsBHQE7AYABgAGA/oD+gAKA/wD/AMDAgIDAwP8AQEBAQAJAAcD+QP5AAkDAQEBAQEBAwEBAQAAAAAEAgACAAwABgAALAAABNTsBHQEpAT0BOwEBgMDA/sD+wICAAUBAgIBAQAAAAwAAAIAEAAQAAC8ANwBHAAABNTsBHQE7AR0BOwEdASsBHQErAR0BKwE9ASsBHQErAT0BKwE9ASsBPQE7AT0BOwEXNSsBHQE7AQU1KwEdASsBHQE7AT0BOwECAEBAgIBAQEBAQECAgEBAQEBAQEBAQEDAwIBAQEBAAQBAQEBAQEBAQAPAQEBAQEDAwEBAQEBAQEBAQEBAQMDAQEBAQEBAgICAgEBAQEAAAQAAAIADgAQAACMAAAE1OwEdASsBHQEpARkBKwEZASsBGQErARkBKwE9ATsBPQE7AQEAwMCAgAEAAQCAgICAgIBAQEBAQEADwEBAQEBA/sD+wAEAAQD/AP8AAQABAEBAQEAAAAIAAACAA4AEAAAbACMAAAE1KQEZASsBGQErARkBKwEZASsBPQE7AT0BOwEFNSsBHQE7AQEAAUABQICAgICAgEBAQEBAQAGAgICAgAPAQP5A/kABAAEA/wD/AAEAAQBAQEBAQEBAQAAAAAASAN4AAQAAAAAAAABOAJ4AAQAAAAAAAQAOAQsAAQAAAAAAAgAHASoAAQAAAAAAAwAqAYgAAQAAAAAABAAOAdEAAQAAAAAABQANAfwAAQAAAAAABgAMAiQAAQAAAAAADRE1JJ0AAQAAAAAADgAaNgkAAwABBAkAAACcAAAAAwABBAkAAQAcAO0AAwABBAkAAgAOARoAAwABBAkAAwBUATIAAwABBAkABAAcAbMAAwABBAkABQAaAeAAAwABBAkABgAYAgoAAwABBAkADSJqAjEAAwABBAkADgA0NdMAKABjACkAIAAyADAAMQAxACAAQwBvAGQAeQAgACIAQwBvAGQAZQBNAGEAbgAzADgAIgAgAEIAbwBpAHMAYwBsAGEAaQByAC4AIABSAGUAbABlAGEAcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlAC4AAChjKSAyMDExIENvZHkgIkNvZGVNYW4zOCIgQm9pc2NsYWlyLiBSZWxlYXNlZCB1bmRlciB0aGUgU0lMIE9wZW4gRm9udCBMaWNlbnNlLgAAUAByAGUAcwBzACAAUwB0AGEAcgB0ACAAMgBQAABQcmVzcyBTdGFydCAyUAAAUgBlAGcAdQBsAGEAcgAAUmVndWxhcgAARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABQAHIAZQBzAHMAIABTAHQAYQByAHQAIAAyAFAAIAA6ACAAMQAyAC0ANgAtADIAMAAxADEAAEZvbnRGb3JnZSAyLjAgOiBQcmVzcyBTdGFydCAyUCA6IDEyLTYtMjAxMQAAUAByAGUAcwBzACAAUwB0AGEAcgB0ACAAMgBQAABQcmVzcyBTdGFydCAyUAAAVgBlAHIAcwBpAG8AbgAgADIALgAxADQAIAAAVmVyc2lvbiAyLjE0IAAAUAByAGUAcwBzAFMAdABhAHIAdAAyAFAAAFByZXNzU3RhcnQyUAAAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADEALAAgAEMAbwBkAHkAIAAiAEMAbwBkAGUATQBhAG4AMwA4ACIAIABCAG8AaQBzAGMAbABhAGkAcgAgACgAYwBvAGQAeQBAAHoAbwBuAGUAMwA4AC4AbgBlAHQAKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAAUAByAGUAcwBzACAAUwB0AGEAcgB0AC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGMAbwBwAGkAZQBkACAAYgBlAGwAbwB3ACwAIABhAG4AZAAgAGkAcwAgAGEAbABzAG8AIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAAKAAoACgAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ACgBTAEkATAAgAE8AUABFAE4AIABGAE8ATgBUACAATABJAEMARQBOAFMARQAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAgAC0AIAAyADYAIABGAGUAYgByAHUAYQByAHkAIAAyADAAMAA3AAoALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAAoACgBQAFIARQBBAE0AQgBMAEUACgBUAGgAZQAgAGcAbwBhAGwAcwAgAG8AZgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACAAKABPAEYATAApACAAYQByAGUAIAB0AG8AIABzAHQAaQBtAHUAbABhAHQAZQAgAHcAbwByAGwAZAB3AGkAZABlAAoAZABlAHYAZQBsAG8AcABtAGUAbgB0ACAAbwBmACAAYwBvAGwAbABhAGIAbwByAGEAdABpAHYAZQAgAGYAbwBuAHQAIABwAHIAbwBqAGUAYwB0AHMALAAgAHQAbwAgAHMAdQBwAHAAbwByAHQAIAB0AGgAZQAgAGYAbwBuAHQAIABjAHIAZQBhAHQAaQBvAG4ACgBlAGYAZgBvAHIAdABzACAAbwBmACAAYQBjAGEAZABlAG0AaQBjACAAYQBuAGQAIABsAGkAbgBnAHUAaQBzAHQAaQBjACAAYwBvAG0AbQB1AG4AaQB0AGkAZQBzACwAIABhAG4AZAAgAHQAbwAgAHAAcgBvAHYAaQBkAGUAIABhACAAZgByAGUAZQAgAGEAbgBkAAoAbwBwAGUAbgAgAGYAcgBhAG0AZQB3AG8AcgBrACAAaQBuACAAdwBoAGkAYwBoACAAZgBvAG4AdABzACAAbQBhAHkAIABiAGUAIABzAGgAYQByAGUAZAAgAGEAbgBkACAAaQBtAHAAcgBvAHYAZQBkACAAaQBuACAAcABhAHIAdABuAGUAcgBzAGgAaQBwAAoAdwBpAHQAaAAgAG8AdABoAGUAcgBzAC4ACgAKAFQAaABlACAATwBGAEwAIABhAGwAbABvAHcAcwAgAHQAaABlACAAbABpAGMAZQBuAHMAZQBkACAAZgBvAG4AdABzACAAdABvACAAYgBlACAAdQBzAGUAZAAsACAAcwB0AHUAZABpAGUAZAAsACAAbQBvAGQAaQBmAGkAZQBkACAAYQBuAGQACgByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAZgByAGUAZQBsAHkAIABhAHMAIABsAG8AbgBnACAAYQBzACAAdABoAGUAeQAgAGEAcgBlACAAbgBvAHQAIABzAG8AbABkACAAYgB5ACAAdABoAGUAbQBzAGUAbAB2AGUAcwAuACAAVABoAGUACgBmAG8AbgB0AHMALAAgAGkAbgBjAGwAdQBkAGkAbgBnACAAYQBuAHkAIABkAGUAcgBpAHYAYQB0AGkAdgBlACAAdwBvAHIAawBzACwAIABjAGEAbgAgAGIAZQAgAGIAdQBuAGQAbABlAGQALAAgAGUAbQBiAGUAZABkAGUAZAAsACAACgByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACAAcAByAG8AdgBpAGQAZQBkACAAdABoAGEAdAAgAGEAbgB5ACAAcgBlAHMAZQByAHYAZQBkAAoAbgBhAG0AZQBzACAAYQByAGUAIABuAG8AdAAgAHUAcwBlAGQAIABiAHkAIABkAGUAcgBpAHYAYQB0AGkAdgBlACAAdwBvAHIAawBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAGEAbgBkACAAZABlAHIAaQB2AGEAdABpAHYAZQBzACwACgBoAG8AdwBlAHYAZQByACwAIABjAGEAbgBuAG8AdAAgAGIAZQAgAHIAZQBsAGUAYQBzAGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAdAB5AHAAZQAgAG8AZgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlAAoAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5AAoAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABmAG8AbgB0AHMAIABvAHIAIAB0AGgAZQBpAHIAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALgAKAAoARABFAEYASQBOAEkAVABJAE8ATgBTAAoAIgBGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAHQAaABlACAAcwBlAHQAIABvAGYAIABmAGkAbABlAHMAIAByAGUAbABlAGEAcwBlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0AAoASABvAGwAZABlAHIAKABzACkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAbgBkACAAYwBsAGUAYQByAGwAeQAgAG0AYQByAGsAZQBkACAAYQBzACAAcwB1AGMAaAAuACAAVABoAGkAcwAgAG0AYQB5AAoAaQBuAGMAbAB1AGQAZQAgAHMAbwB1AHIAYwBlACAAZgBpAGwAZQBzACwAIABiAHUAaQBsAGQAIABzAGMAcgBpAHAAdABzACAAYQBuAGQAIABkAG8AYwB1AG0AZQBuAHQAYQB0AGkAbwBuAC4ACgAKACIAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABuAGEAbQBlAHMAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGEAcwAgAHMAdQBjAGgAIABhAGYAdABlAHIAIAB0AGgAZQAKAGMAbwBwAHkAcgBpAGcAaAB0ACAAcwB0AGEAdABlAG0AZQBuAHQAKABzACkALgAKAAoAIgBPAHIAaQBnAGkAbgBhAGwAIABWAGUAcgBzAGkAbwBuACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAHQAaABlACAAYwBvAGwAbABlAGMAdABpAG8AbgAgAG8AZgAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABjAG8AbQBwAG8AbgBlAG4AdABzACAAYQBzAAoAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYgB5ACAAdABoAGUAIABDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByACgAcwApAC4ACgAKACIATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIABtAGEAZABlACAAYgB5ACAAYQBkAGQAaQBuAGcAIAB0AG8ALAAgAGQAZQBsAGUAdABpAG4AZwAsAAoAbwByACAAcwB1AGIAcwB0AGkAdAB1AHQAaQBuAGcAIAAtAC0AIABpAG4AIABwAGEAcgB0ACAAbwByACAAaQBuACAAdwBoAG8AbABlACAALQAtACAAYQBuAHkAIABvAGYAIAB0AGgAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABvAGYAIAB0AGgAZQAKAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4ALAAgAGIAeQAgAGMAaABhAG4AZwBpAG4AZwAgAGYAbwByAG0AYQB0AHMAIABvAHIAIABiAHkAIABwAG8AcgB0AGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAdABvACAAYQAKAG4AZQB3ACAAZQBuAHYAaQByAG8AbgBtAGUAbgB0AC4ACgAKACIAQQB1AHQAaABvAHIAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABkAGUAcwBpAGcAbgBlAHIALAAgAGUAbgBnAGkAbgBlAGUAcgAsACAAcAByAG8AZwByAGEAbQBtAGUAcgAsACAAdABlAGMAaABuAGkAYwBhAGwACgB3AHIAaQB0AGUAcgAgAG8AcgAgAG8AdABoAGUAcgAgAHAAZQByAHMAbwBuACAAdwBoAG8AIABjAG8AbgB0AHIAaQBiAHUAdABlAGQAIAB0AG8AIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgAKAAoAUABFAFIATQBJAFMAUwBJAE8ATgAgACYAIABDAE8ATgBEAEkAVABJAE8ATgBTAAoAUABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGgAZQByAGUAYgB5ACAAZwByAGEAbgB0AGUAZAAsACAAZgByAGUAZQAgAG8AZgAgAGMAaABhAHIAZwBlACwAIAB0AG8AIABhAG4AeQAgAHAAZQByAHMAbwBuACAAbwBiAHQAYQBpAG4AaQBuAGcACgBhACAAYwBvAHAAeQAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAdABvACAAdQBzAGUALAAgAHMAdAB1AGQAeQAsACAAYwBvAHAAeQAsACAAbQBlAHIAZwBlACwAIABlAG0AYgBlAGQALAAgAG0AbwBkAGkAZgB5ACwACgByAGUAZABpAHMAdAByAGkAYgB1AHQAZQAsACAAYQBuAGQAIABzAGUAbABsACAAbQBvAGQAaQBmAGkAZQBkACAAYQBuAGQAIAB1AG4AbQBvAGQAaQBmAGkAZQBkACAAYwBvAHAAaQBlAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQACgBTAG8AZgB0AHcAYQByAGUALAAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAGYAbwBsAGwAbwB3AGkAbgBnACAAYwBvAG4AZABpAHQAaQBvAG4AcwA6AAoACgAxACkAIABOAGUAaQB0AGgAZQByACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAbgBvAHIAIABhAG4AeQAgAG8AZgAgAGkAdABzACAAaQBuAGQAaQB2AGkAZAB1AGEAbAAgAGMAbwBtAHAAbwBuAGUAbgB0AHMALAAKAGkAbgAgAE8AcgBpAGcAaQBuAGEAbAAgAG8AcgAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4AcwAsACAAbQBhAHkAIABiAGUAIABzAG8AbABkACAAYgB5ACAAaQB0AHMAZQBsAGYALgAKAAoAMgApACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAbQBhAHkAIABiAGUAIABiAHUAbgBkAGwAZQBkACwACgByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACwAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAZQBhAGMAaAAgAGMAbwBwAHkACgBjAG8AbgB0AGEAaQBuAHMAIAB0AGgAZQAgAGEAYgBvAHYAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAbgBvAHQAaQBjAGUAIABhAG4AZAAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlAC4AIABUAGgAZQBzAGUAIABjAGEAbgAgAGIAZQAKAGkAbgBjAGwAdQBkAGUAZAAgAGUAaQB0AGgAZQByACAAYQBzACAAcwB0AGEAbgBkAC0AYQBsAG8AbgBlACAAdABlAHgAdAAgAGYAaQBsAGUAcwAsACAAaAB1AG0AYQBuAC0AcgBlAGEAZABhAGIAbABlACAAaABlAGEAZABlAHIAcwAgAG8AcgAKAGkAbgAgAHQAaABlACAAYQBwAHAAcgBvAHAAcgBpAGEAdABlACAAbQBhAGMAaABpAG4AZQAtAHIAZQBhAGQAYQBiAGwAZQAgAG0AZQB0AGEAZABhAHQAYQAgAGYAaQBlAGwAZABzACAAdwBpAHQAaABpAG4AIAB0AGUAeAB0ACAAbwByAAoAYgBpAG4AYQByAHkAIABmAGkAbABlAHMAIABhAHMAIABsAG8AbgBnACAAYQBzACAAdABoAG8AcwBlACAAZgBpAGUAbABkAHMAIABjAGEAbgAgAGIAZQAgAGUAYQBzAGkAbAB5ACAAdgBpAGUAdwBlAGQAIABiAHkAIAB0AGgAZQAgAHUAcwBlAHIALgAKAAoAMwApACAATgBvACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG0AYQB5ACAAdQBzAGUAIAB0AGgAZQAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQACgBOAGEAbQBlACgAcwApACAAdQBuAGwAZQBzAHMAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuACAAcABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGcAcgBhAG4AdABlAGQAIABiAHkAIAB0AGgAZQAgAGMAbwByAHIAZQBzAHAAbwBuAGQAaQBuAGcACgBDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByAC4AIABUAGgAaQBzACAAcgBlAHMAdAByAGkAYwB0AGkAbwBuACAAbwBuAGwAeQAgAGEAcABwAGwAaQBlAHMAIAB0AG8AIAB0AGgAZQAgAHAAcgBpAG0AYQByAHkAIABmAG8AbgB0ACAAbgBhAG0AZQAgAGEAcwAKAHAAcgBlAHMAZQBuAHQAZQBkACAAdABvACAAdABoAGUAIAB1AHMAZQByAHMALgAKAAoANAApACAAVABoAGUAIABuAGEAbQBlACgAcwApACAAbwBmACAAdABoAGUAIABDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByACgAcwApACAAbwByACAAdABoAGUAIABBAHUAdABoAG8AcgAoAHMAKQAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAKAFMAbwBmAHQAdwBhAHIAZQAgAHMAaABhAGwAbAAgAG4AbwB0ACAAYgBlACAAdQBzAGUAZAAgAHQAbwAgAHAAcgBvAG0AbwB0AGUALAAgAGUAbgBkAG8AcgBzAGUAIABvAHIAIABhAGQAdgBlAHIAdABpAHMAZQAgAGEAbgB5AAoATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAsACAAZQB4AGMAZQBwAHQAIAB0AG8AIABhAGMAawBuAG8AdwBsAGUAZABnAGUAIAB0AGgAZQAgAGMAbwBuAHQAcgBpAGIAdQB0AGkAbwBuACgAcwApACAAbwBmACAAdABoAGUACgBDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByACgAcwApACAAYQBuAGQAIAB0AGgAZQAgAEEAdQB0AGgAbwByACgAcwApACAAbwByACAAdwBpAHQAaAAgAHQAaABlAGkAcgAgAGUAeABwAGwAaQBjAGkAdAAgAHcAcgBpAHQAdABlAG4ACgBwAGUAcgBtAGkAcwBzAGkAbwBuAC4ACgAKADUAKQAgAFQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAbQBvAGQAaQBmAGkAZQBkACAAbwByACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAsACAAaQBuACAAcABhAHIAdAAgAG8AcgAgAGkAbgAgAHcAaABvAGwAZQAsAAoAbQB1AHMAdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGUAbgB0AGkAcgBlAGwAeQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACwAIABhAG4AZAAgAG0AdQBzAHQAIABuAG8AdAAgAGIAZQAKAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAKAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQACgB1AHMAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgAKAAoAVABFAFIATQBJAE4AQQBUAEkATwBOAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABiAGUAYwBvAG0AZQBzACAAbgB1AGwAbAAgAGEAbgBkACAAdgBvAGkAZAAgAGkAZgAgAGEAbgB5ACAAbwBmACAAdABoAGUAIABhAGIAbwB2AGUAIABjAG8AbgBkAGkAdABpAG8AbgBzACAAYQByAGUACgBuAG8AdAAgAG0AZQB0AC4ACgAKAEQASQBTAEMATABBAEkATQBFAFIACgBUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABJAFMAIABQAFIATwBWAEkARABFAEQAIAAiAEEAUwAgAEkAUwAiACwAIABXAEkAVABIAE8AVQBUACAAVwBBAFIAUgBBAE4AVABZACAATwBGACAAQQBOAFkAIABLAEkATgBEACwACgBFAFgAUABSAEUAUwBTACAATwBSACAASQBNAFAATABJAEUARAAsACAASQBOAEMATABVAEQASQBOAEcAIABCAFUAVAAgAE4ATwBUACAATABJAE0ASQBUAEUARAAgAFQATwAgAEEATgBZACAAVwBBAFIAUgBBAE4AVABJAEUAUwAgAE8ARgAKAE0ARQBSAEMASABBAE4AVABBAEIASQBMAEkAVABZACwAIABGAEkAVABOAEUAUwBTACAARgBPAFIAIABBACAAUABBAFIAVABJAEMAVQBMAEEAUgAgAFAAVQBSAFAATwBTAEUAIABBAE4ARAAgAE4ATwBOAEkATgBGAFIASQBOAEcARQBNAEUATgBUAAoATwBGACAAQwBPAFAAWQBSAEkARwBIAFQALAAgAFAAQQBUAEUATgBUACwAIABUAFIAQQBEAEUATQBBAFIASwAsACAATwBSACAATwBUAEgARQBSACAAUgBJAEcASABUAC4AIABJAE4AIABOAE8AIABFAFYARQBOAFQAIABTAEgAQQBMAEwAIABUAEgARQAKAEMATwBQAFkAUgBJAEcASABUACAASABPAEwARABFAFIAIABCAEUAIABMAEkAQQBCAEwARQAgAEYATwBSACAAQQBOAFkAIABDAEwAQQBJAE0ALAAgAEQAQQBNAEEARwBFAFMAIABPAFIAIABPAFQASABFAFIAIABMAEkAQQBCAEkATABJAFQAWQAsAAoASQBOAEMATABVAEQASQBOAEcAIABBAE4AWQAgAEcARQBOAEUAUgBBAEwALAAgAFMAUABFAEMASQBBAEwALAAgAEkATgBEAEkAUgBFAEMAVAAsACAASQBOAEMASQBEAEUATgBUAEEATAAsACAATwBSACAAQwBPAE4AUwBFAFEAVQBFAE4AVABJAEEATAAKAEQAQQBNAEEARwBFAFMALAAgAFcASABFAFQASABFAFIAIABJAE4AIABBAE4AIABBAEMAVABJAE8ATgAgAE8ARgAgAEMATwBOAFQAUgBBAEMAVAAsACAAVABPAFIAVAAgAE8AUgAgAE8AVABIAEUAUgBXAEkAUwBFACwAIABBAFIASQBTAEkATgBHAAoARgBSAE8ATQAsACAATwBVAFQAIABPAEYAIABUAEgARQAgAFUAUwBFACAATwBSACAASQBOAEEAQgBJAEwASQBUAFkAIABUAE8AIABVAFMARQAgAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAgAE8AUgAgAEYAUgBPAE0ACgBPAFQASABFAFIAIABEAEUAQQBMAEkATgBHAFMAIABJAE4AIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUALgAAQ29weXJpZ2h0IChjKSAyMDExLCBDb2R5ICJDb2RlTWFuMzgiIEJvaXNjbGFpciAoY29keUB6b25lMzgubmV0KSwKd2l0aCBSZXNlcnZlZCBGb250IE5hbWUgUHJlc3MgU3RhcnQuCgpUaGlzIEZvbnQgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIFNJTCBPcGVuIEZvbnQgTGljZW5zZSwgVmVyc2lvbiAxLjEuClRoaXMgbGljZW5zZSBpcyBjb3BpZWQgYmVsb3csIGFuZCBpcyBhbHNvIGF2YWlsYWJsZSB3aXRoIGEgRkFRIGF0OgpodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClNJTCBPUEVOIEZPTlQgTElDRU5TRSBWZXJzaW9uIDEuMSAtIDI2IEZlYnJ1YXJ5IDIwMDcKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClBSRUFNQkxFClRoZSBnb2FscyBvZiB0aGUgT3BlbiBGb250IExpY2Vuc2UgKE9GTCkgYXJlIHRvIHN0aW11bGF0ZSB3b3JsZHdpZGUKZGV2ZWxvcG1lbnQgb2YgY29sbGFib3JhdGl2ZSBmb250IHByb2plY3RzLCB0byBzdXBwb3J0IHRoZSBmb250IGNyZWF0aW9uCmVmZm9ydHMgb2YgYWNhZGVtaWMgYW5kIGxpbmd1aXN0aWMgY29tbXVuaXRpZXMsIGFuZCB0byBwcm92aWRlIGEgZnJlZSBhbmQKb3BlbiBmcmFtZXdvcmsgaW4gd2hpY2ggZm9udHMgbWF5IGJlIHNoYXJlZCBhbmQgaW1wcm92ZWQgaW4gcGFydG5lcnNoaXAKd2l0aCBvdGhlcnMuCgpUaGUgT0ZMIGFsbG93cyB0aGUgbGljZW5zZWQgZm9udHMgdG8gYmUgdXNlZCwgc3R1ZGllZCwgbW9kaWZpZWQgYW5kCnJlZGlzdHJpYnV0ZWQgZnJlZWx5IGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IHNvbGQgYnkgdGhlbXNlbHZlcy4gVGhlCmZvbnRzLCBpbmNsdWRpbmcgYW55IGRlcml2YXRpdmUgd29ya3MsIGNhbiBiZSBidW5kbGVkLCBlbWJlZGRlZCwgCnJlZGlzdHJpYnV0ZWQgYW5kL29yIHNvbGQgd2l0aCBhbnkgc29mdHdhcmUgcHJvdmlkZWQgdGhhdCBhbnkgcmVzZXJ2ZWQKbmFtZXMgYXJlIG5vdCB1c2VkIGJ5IGRlcml2YXRpdmUgd29ya3MuIFRoZSBmb250cyBhbmQgZGVyaXZhdGl2ZXMsCmhvd2V2ZXIsIGNhbm5vdCBiZSByZWxlYXNlZCB1bmRlciBhbnkgb3RoZXIgdHlwZSBvZiBsaWNlbnNlLiBUaGUKcmVxdWlyZW1lbnQgZm9yIGZvbnRzIHRvIHJlbWFpbiB1bmRlciB0aGlzIGxpY2Vuc2UgZG9lcyBub3QgYXBwbHkKdG8gYW55IGRvY3VtZW50IGNyZWF0ZWQgdXNpbmcgdGhlIGZvbnRzIG9yIHRoZWlyIGRlcml2YXRpdmVzLgoKREVGSU5JVElPTlMKIkZvbnQgU29mdHdhcmUiIHJlZmVycyB0byB0aGUgc2V0IG9mIGZpbGVzIHJlbGVhc2VkIGJ5IHRoZSBDb3B5cmlnaHQKSG9sZGVyKHMpIHVuZGVyIHRoaXMgbGljZW5zZSBhbmQgY2xlYXJseSBtYXJrZWQgYXMgc3VjaC4gVGhpcyBtYXkKaW5jbHVkZSBzb3VyY2UgZmlsZXMsIGJ1aWxkIHNjcmlwdHMgYW5kIGRvY3VtZW50YXRpb24uCgoiUmVzZXJ2ZWQgRm9udCBOYW1lIiByZWZlcnMgdG8gYW55IG5hbWVzIHNwZWNpZmllZCBhcyBzdWNoIGFmdGVyIHRoZQpjb3B5cmlnaHQgc3RhdGVtZW50KHMpLgoKIk9yaWdpbmFsIFZlcnNpb24iIHJlZmVycyB0byB0aGUgY29sbGVjdGlvbiBvZiBGb250IFNvZnR3YXJlIGNvbXBvbmVudHMgYXMKZGlzdHJpYnV0ZWQgYnkgdGhlIENvcHlyaWdodCBIb2xkZXIocykuCgoiTW9kaWZpZWQgVmVyc2lvbiIgcmVmZXJzIHRvIGFueSBkZXJpdmF0aXZlIG1hZGUgYnkgYWRkaW5nIHRvLCBkZWxldGluZywKb3Igc3Vic3RpdHV0aW5nIC0tIGluIHBhcnQgb3IgaW4gd2hvbGUgLS0gYW55IG9mIHRoZSBjb21wb25lbnRzIG9mIHRoZQpPcmlnaW5hbCBWZXJzaW9uLCBieSBjaGFuZ2luZyBmb3JtYXRzIG9yIGJ5IHBvcnRpbmcgdGhlIEZvbnQgU29mdHdhcmUgdG8gYQpuZXcgZW52aXJvbm1lbnQuCgoiQXV0aG9yIiByZWZlcnMgdG8gYW55IGRlc2lnbmVyLCBlbmdpbmVlciwgcHJvZ3JhbW1lciwgdGVjaG5pY2FsCndyaXRlciBvciBvdGhlciBwZXJzb24gd2hvIGNvbnRyaWJ1dGVkIHRvIHRoZSBGb250IFNvZnR3YXJlLgoKUEVSTUlTU0lPTiAmIENPTkRJVElPTlMKUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCmEgY29weSBvZiB0aGUgRm9udCBTb2Z0d2FyZSwgdG8gdXNlLCBzdHVkeSwgY29weSwgbWVyZ2UsIGVtYmVkLCBtb2RpZnksCnJlZGlzdHJpYnV0ZSwgYW5kIHNlbGwgbW9kaWZpZWQgYW5kIHVubW9kaWZpZWQgY29waWVzIG9mIHRoZSBGb250ClNvZnR3YXJlLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCjEpIE5laXRoZXIgdGhlIEZvbnQgU29mdHdhcmUgbm9yIGFueSBvZiBpdHMgaW5kaXZpZHVhbCBjb21wb25lbnRzLAppbiBPcmlnaW5hbCBvciBNb2RpZmllZCBWZXJzaW9ucywgbWF5IGJlIHNvbGQgYnkgaXRzZWxmLgoKMikgT3JpZ2luYWwgb3IgTW9kaWZpZWQgVmVyc2lvbnMgb2YgdGhlIEZvbnQgU29mdHdhcmUgbWF5IGJlIGJ1bmRsZWQsCnJlZGlzdHJpYnV0ZWQgYW5kL29yIHNvbGQgd2l0aCBhbnkgc29mdHdhcmUsIHByb3ZpZGVkIHRoYXQgZWFjaCBjb3B5CmNvbnRhaW5zIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIGxpY2Vuc2UuIFRoZXNlIGNhbiBiZQppbmNsdWRlZCBlaXRoZXIgYXMgc3RhbmQtYWxvbmUgdGV4dCBmaWxlcywgaHVtYW4tcmVhZGFibGUgaGVhZGVycyBvcgppbiB0aGUgYXBwcm9wcmlhdGUgbWFjaGluZS1yZWFkYWJsZSBtZXRhZGF0YSBmaWVsZHMgd2l0aGluIHRleHQgb3IKYmluYXJ5IGZpbGVzIGFzIGxvbmcgYXMgdGhvc2UgZmllbGRzIGNhbiBiZSBlYXNpbHkgdmlld2VkIGJ5IHRoZSB1c2VyLgoKMykgTm8gTW9kaWZpZWQgVmVyc2lvbiBvZiB0aGUgRm9udCBTb2Z0d2FyZSBtYXkgdXNlIHRoZSBSZXNlcnZlZCBGb250Ck5hbWUocykgdW5sZXNzIGV4cGxpY2l0IHdyaXR0ZW4gcGVybWlzc2lvbiBpcyBncmFudGVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nCkNvcHlyaWdodCBIb2xkZXIuIFRoaXMgcmVzdHJpY3Rpb24gb25seSBhcHBsaWVzIHRvIHRoZSBwcmltYXJ5IGZvbnQgbmFtZSBhcwpwcmVzZW50ZWQgdG8gdGhlIHVzZXJzLgoKNCkgVGhlIG5hbWUocykgb2YgdGhlIENvcHlyaWdodCBIb2xkZXIocykgb3IgdGhlIEF1dGhvcihzKSBvZiB0aGUgRm9udApTb2Z0d2FyZSBzaGFsbCBub3QgYmUgdXNlZCB0byBwcm9tb3RlLCBlbmRvcnNlIG9yIGFkdmVydGlzZSBhbnkKTW9kaWZpZWQgVmVyc2lvbiwgZXhjZXB0IHRvIGFja25vd2xlZGdlIHRoZSBjb250cmlidXRpb24ocykgb2YgdGhlCkNvcHlyaWdodCBIb2xkZXIocykgYW5kIHRoZSBBdXRob3Iocykgb3Igd2l0aCB0aGVpciBleHBsaWNpdCB3cml0dGVuCnBlcm1pc3Npb24uCgo1KSBUaGUgRm9udCBTb2Z0d2FyZSwgbW9kaWZpZWQgb3IgdW5tb2RpZmllZCwgaW4gcGFydCBvciBpbiB3aG9sZSwKbXVzdCBiZSBkaXN0cmlidXRlZCBlbnRpcmVseSB1bmRlciB0aGlzIGxpY2Vuc2UsIGFuZCBtdXN0IG5vdCBiZQpkaXN0cmlidXRlZCB1bmRlciBhbnkgb3RoZXIgbGljZW5zZS4gVGhlIHJlcXVpcmVtZW50IGZvciBmb250cyB0bwpyZW1haW4gdW5kZXIgdGhpcyBsaWNlbnNlIGRvZXMgbm90IGFwcGx5IHRvIGFueSBkb2N1bWVudCBjcmVhdGVkCnVzaW5nIHRoZSBGb250IFNvZnR3YXJlLgoKVEVSTUlOQVRJT04KVGhpcyBsaWNlbnNlIGJlY29tZXMgbnVsbCBhbmQgdm9pZCBpZiBhbnkgb2YgdGhlIGFib3ZlIGNvbmRpdGlvbnMgYXJlCm5vdCBtZXQuCgpESVNDTEFJTUVSClRIRSBGT05UIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCkVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBBTlkgV0FSUkFOVElFUyBPRgpNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQKT0YgQ09QWVJJR0hULCBQQVRFTlQsIFRSQURFTUFSSywgT1IgT1RIRVIgUklHSFQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQpDT1BZUklHSFQgSE9MREVSIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwKSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgT1IgQ09OU0VRVUVOVElBTApEQU1BR0VTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKRlJPTSwgT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgRk9OVCBTT0ZUV0FSRSBPUiBGUk9NCk9USEVSIERFQUxJTkdTIElOIFRIRSBGT05UIFNPRlRXQVJFLgAAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAABodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTAAAAAACAAAAAAAA/+kAMwAAAAEAAAAAAAAAAAAAAAAAAAAAAi8AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIBAwCjAIQAhQC9AJYA6ACGAI4AiwCdAKkApAEEAIoA2gCDAJMBBQEGAI0BBwCIAMMA3gEIAJ4AqgD1APQA9gCiAK0AyQDHAK4AYgBjAJAAZADLAGUAyADKAM8AzADNAM4A6QBmANMA0ADRAK8AZwDwAJEA1gDUANUAaADrAO0AiQBqAGkAawBtAGwAbgCgAG8AcQBwAHIAcwB1AHQAdgB3AOoAeAB6AHkAewB9AHwAuAChAH8AfgCAAIEA7ADuALoBCQEKAQsBDAENAQ4A/QD+AQ8BEAERARIA/wEAARMBFAEVAQEBFgEXARgBGQEaARsBHAEdAR4BHwEgASEA+AD5ASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEA+gDXATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAOIA4wFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwCwALEBUAFRAVIBUwFUAVUBVgFXAVgBWQD7APwA5ADlAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8AuwFwAXEBcgFzAOYA5wF0AKYA2ADhAXUBdgF3AXgA2wDcAN0A4ADZAN8BeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiACoAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsAnwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQCXAa4BrwGwAJsBsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeALIAswIfALYAtwDEALQAtQDFAIIAwgCHAKsAxgC+AL8AvAIgAiECIgCMAiMCJAIlAiYAmAInAJoAmQClAJIAnACnAI8AlACVAigCKQIqAisAuQIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwd1bmkwMDdGB3VuaTAwQTAHdW5pMDBBRAd1bmkwMEIyB3VuaTAwQjMHdW5pMDBCNQd1bmkwMEI5B0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleApDZG90YWNjZW50CmNkb3RhY2NlbnQGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUKRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4Ckdkb3RhY2NlbnQKZ2RvdGFjY2VudAxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BEhiYXIEaGJhcgZJdGlsZGUGaXRpbGRlB0ltYWNyb24HaW1hY3JvbgZJYnJldmUGaWJyZXZlB0lvZ29uZWsHaW9nb25lawJJSgJpagtKY2lyY3VtZmxleAtqY2lyY3VtZmxleAxLY29tbWFhY2NlbnQMa2NvbW1hYWNjZW50DGtncmVlbmxhbmRpYwZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24LbmFwb3N0cm9waGUDRW5nA2VuZwdPbWFjcm9uB29tYWNyb24GT2JyZXZlBm9icmV2ZQ1PaHVuZ2FydW1sYXV0DW9odW5nYXJ1bWxhdXQGUmFjdXRlBnJhY3V0ZQxSY29tbWFhY2NlbnQMcmNvbW1hYWNjZW50BlJjYXJvbgZyY2Fyb24GU2FjdXRlBnNhY3V0ZQtTY2lyY3VtZmxleAtzY2lyY3VtZmxleAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50BlRjYXJvbgZ0Y2Fyb24EVGJhcgR0YmFyBlV0aWxkZQZ1dGlsZGUHVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUFVXJpbmcFdXJpbmcNVWh1bmdhcnVtbGF1dA11aHVuZ2FydW1sYXV0B1VvZ29uZWsHdW9nb25lawtXY2lyY3VtZmxleAt3Y2lyY3VtZmxleAtZY2lyY3VtZmxleAt5Y2lyY3VtZmxleAZaYWN1dGUGemFjdXRlClpkb3RhY2NlbnQKemRvdGFjY2VudAVsb25ncwd1bmkwMkM5B3VuaTAyQ0EHdW5pMDJDQgd1bmkwMkQ3B3VuaTAzN0EHdW5pMDM3RQV0b25vcw1kaWVyZXNpc3Rvbm9zCkFscGhhdG9ub3MJYW5vdGVsZWlhDEVwc2lsb250b25vcwhFdGF0b25vcwlJb3RhdG9ub3MMT21pY3JvbnRvbm9zDFVwc2lsb250b25vcwpPbWVnYXRvbm9zEWlvdGFkaWVyZXNpc3Rvbm9zBUFscGhhBEJldGEFR2FtbWEHRXBzaWxvbgRaZXRhA0V0YQVUaGV0YQRJb3RhBUthcHBhBkxhbWJkYQJNdQJOdQJYaQdPbWljcm9uAlBpA1JobwVTaWdtYQNUYXUHVXBzaWxvbgNQaGkDQ2hpA1BzaQxJb3RhZGllcmVzaXMPVXBzaWxvbmRpZXJlc2lzCmFscGhhdG9ub3MMZXBzaWxvbnRvbm9zCGV0YXRvbm9zCWlvdGF0b25vcxR1cHNpbG9uZGllcmVzaXN0b25vcwVhbHBoYQRiZXRhBWdhbW1hBWRlbHRhB2Vwc2lsb24EemV0YQNldGEFdGhldGEEaW90YQVrYXBwYQZsYW1iZGECbnUCeGkHb21pY3JvbgNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNjaGkDcHNpBW9tZWdhDGlvdGFkaWVyZXNpcw91cHNpbG9uZGllcmVzaXMMb21pY3JvbnRvbm9zDHVwc2lsb250b25vcwpvbWVnYXRvbm9zB3VuaTA0MDAJYWZpaTEwMDIzCWFmaWkxMDA1MQlhZmlpMTAwNTIJYWZpaTEwMDUzCWFmaWkxMDA1NAlhZmlpMTAwNTUJYWZpaTEwMDU2CWFmaWkxMDA1NwlhZmlpMTAwNTgJYWZpaTEwMDU5CWFmaWkxMDA2MAlhZmlpMTAwNjEHdW5pMDQwRAlhZmlpMTAwNjIJYWZpaTEwMTQ1CWFmaWkxMDAxNwlhZmlpMTAwMTgJYWZpaTEwMDE5CWFmaWkxMDAyMAlhZmlpMTAwMjEJYWZpaTEwMDIyCWFmaWkxMDAyNAlhZmlpMTAwMjUJYWZpaTEwMDI2CWFmaWkxMDAyNwlhZmlpMTAwMjgJYWZpaTEwMDI5CWFmaWkxMDAzMAlhZmlpMTAwMzEJYWZpaTEwMDMyCWFmaWkxMDAzMwlhZmlpMTAwMzQJYWZpaTEwMDM1CWFmaWkxMDAzNglhZmlpMTAwMzcJYWZpaTEwMDM4CWFmaWkxMDAzOQlhZmlpMTAwNDAJYWZpaTEwMDQxCWFmaWkxMDA0MglhZmlpMTAwNDMJYWZpaTEwMDQ0CWFmaWkxMDA0NQlhZmlpMTAwNDYJYWZpaTEwMDQ3CWFmaWkxMDA0OAlhZmlpMTAwNDkJYWZpaTEwMDY1CWFmaWkxMDA2NglhZmlpMTAwNjcJYWZpaTEwMDY4CWFmaWkxMDA2OQlhZmlpMTAwNzAJYWZpaTEwMDcyCWFmaWkxMDA3MwlhZmlpMTAwNzQJYWZpaTEwMDc1CWFmaWkxMDA3NglhZmlpMTAwNzcJYWZpaTEwMDc4CWFmaWkxMDA3OQlhZmlpMTAwODAJYWZpaTEwMDgxCWFmaWkxMDA4MglhZmlpMTAwODMJYWZpaTEwMDg0CWFmaWkxMDA4NQlhZmlpMTAwODYJYWZpaTEwMDg3CWFmaWkxMDA4OAlhZmlpMTAwODkJYWZpaTEwMDkwCWFmaWkxMDA5MQlhZmlpMTAwOTIJYWZpaTEwMDkzCWFmaWkxMDA5NAlhZmlpMTAwOTUJYWZpaTEwMDk2CWFmaWkxMDA5Nwd1bmkwNDUwCWFmaWkxMDA3MQlhZmlpMTAwOTkJYWZpaTEwMTAwCWFmaWkxMDEwMQlhZmlpMTAxMDIJYWZpaTEwMTAzCWFmaWkxMDEwNAlhZmlpMTAxMDUJYWZpaTEwMTA2CWFmaWkxMDEwNwlhZmlpMTAxMDgJYWZpaTEwMTA5B3VuaTA0NUQJYWZpaTEwMTEwCWFmaWkxMDE5MwlhZmlpMDAyMDgERXVybwd1bmkyMEFGCWFmaWk2MTM1MglhcnJvd2xlZnQHYXJyb3d1cAphcnJvd3JpZ2h0CWFycm93ZG93bgd1bmkyMjA2B3RyaWFndXAHdW5pMjVCNgd0cmlhZ2RuB3VuaTI1QzAHdW5pMjYwNQd1bmkyNjA2BXNwYWRlBGNsdWIFaGVhcnQHZGlhbW9uZAttdXNpY2Fsbm90ZQd1bmlGMTAwB3VuaUYxMDEHdW5pRjhGRgd1bmlGQjAxB3VuaUZCMDIAAAAAAf//AAIAAQAAAA4AAAAYACAAAAACAAEAAQIuAAEABAAAAAIAAAABAAAAAQAAAAAAAQAAAADMPaLPAAAAAMobHN4AAAAAzLYldw=="},function(A,e){A.exports="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AQv/7QELACQBC//nAi8AIwIvACMClgBWApYAVgIYAFYEMwBWAhgAVgIYAFYCGABWAhgAVgL3AFYCGAAAA08AVgLgAFYFDwBWAuAAVgLgAFYC4ABWAuAAVgLg//4DvwBWAuAAVgMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMDFAAzAxQAMwMUADMEzQAzApkAVgKnAFUDFAAzAtcAVgLXAFYC1wBWAtcAVgLXAFYC1wBWAqEANAKhADQCoQA0AqEANAKhADQCoQA0AqEANAL/AFQC9AAxAl4AEwJeABMCXgATAl4AEwJeABMCXgATAtsAVALbAFQC2wBUAtsAVALbAFQC2wBUAtsAVALbAFQC2wBUAtsAVALbAFQC2wBUAtsAVALbAFQC2wBUAtsAVALbAFQC2wBUAtsAVALbAFQC2wBUAtsAVALbAFQC2wBUAtsAVALbAFQCiAAKA5wADAOcAAwDnAAMA5wADAOcAAwCqAALAo8ACgKPAAoCjwAKAo8ACgKPAAoCjwAKAo8ACgKPAAoCjwAKAnsAIAJ7ACACewAgAnsAIAKdAFECnQBRAp0AUQKdAFECnQBRAp0AUQKdAFEC2AAzAuAAVgMUADMCoQA0AnsAIAIhACICIQAiAiEAIgIhACICIQAiAiEAIgIhACICIQAiAiEAIgIhACICIQAiAiEAIgIhACICIQAiAiEAIgIhACICIQAiAiEAIgIhACICIQAiAiEAIgIhACICIQAiAiEAIgIhACICIQAiA34AIgN+ACICNwBFAgcAJQIHACUCBwAlAgcAJQIHACUCBwAlAjcAJwI3ACkCNwAnAjcAJwQoACcCJAAnAiQAJwIkACcCJAAnAiQAJwIkACcCJAAnAiQAJwIkACcCJAAnAiQAJwIkACcCJAAnAiQAJwIkACcCJAAnAiQAJwIkACcCJAAnAiQAJwIjACgBGAAMAiwAEgIsABICLAASAiwAEgIsABICLAASAjMARQIzAAACM//ZAjMARQDhAEUA4QBFAOEAPADh/98A4f/dAOH/3QDh/7gA4f/kAOEARQDhAEEA4f/sAOEAJwDh/98BwABFAOH/2gDhABMA4f/RAN//6QDf/+kA3//dAgIARQICAEUCAgBFAOEARQDhAEUA4QBFAOEANwDhAEUBwABFAOEAAQNcAEUCMwBFAjMARQIz//YCMwBFAjMARQIyAEUCM//pAxIARQIzAEUCOgAnAjoAJwI6ACcCOgAnAjoAJwI6ACcCOgAnAjoAJwI6ACcCOgAnAjoAJwI6ACcCOgAnAjoAJwI6ACcCOgAnAjoAJwI6ACcCOgAnAjoAJwI6ACcCOgAnAjoAJwI6ACcCOgAnAjoAJwI6ACcCOgAbAjoAGwI6ACcCOgAnA6cAJwI3AEUCMgBFAjcAJwFMAEUBTABFAUwAJwFMADgBTAACAUwAKQH+ACMB/gAjAf4AIwH+ACMB/gAjAf4AIwH+ACMCawBPARgADAEpABEBKQARASkAEQEpABEBKQARASkAEQIyAEACMgBAAjIAQAIyAEACMgBAAjIAQAIyAEACMgBAAjIAQAIyAEACMgBAAjIAQAIyAEACMgBAAjIAQAIyAEACMgBAAjIAQAIyAEACMgBAAjIAQAIyAEACMgBAAjIAQAIyAEACMgBAAfgADQLTAAsC0wALAtMACwLTAAsC0wALAgEADgH4AA0B+AANAfgADQH4AA0B+AANAfgADQH4AA0B+AANAfgADQHyAB8B8gAfAfIAHwHyAB8CNgBGAjYARgI2AEYCNgBGAjYARgI2AEYCNgBGAjYARgI2AEYCBwAlAjMARQI6ACcB/gAjAfIAHwIcAAwC/QAMAv0ADAH6AAwB+gAMAYEAHQF7ACABeQA0ArcAEQMEADACNwBFAr8AHQF5ADQCPQAxAgkAQgI3ADICPQAqAisAHAI7ADICPQAxAikAJwI+AC8CPQArAj0AMQI9ADECCQBCAjcAMgI9ACoCKwAcAjsAMgI9ADECKQAnAj4ALwI9ACsCPQAxAjgAKgHUACcCOAAzAjgAKQI4ACECOAAsAjgALQI4ACsCOAAsAjgAJwI4ACoCOAAuAjgAXgI4ADECOAApAjgAIwI4ACwCOAAxAjgAMgI4AC8COAApAjgALgI4ACoCOABhAjgAMwI4ACkCOAAhAjgALAI4AC0COAArAjgALAI4ACcCOAAqAVoAJwFaADsBWgAtAVoAKQFaACUBWgArAVoAJgFaACkBWgAqAVoAJQFaACcBWgA7AVoALQFaACkBWgAl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AHQAdABwAHMAOgAvAC8AZwBpAHQAaAB1AGIALgBjAG8AbQAvAE8AbQBuAGkAYgB1AHMALQBUAHkAcABlAC8AQQByAGMAaABpAHYAbwApAEEAcgBjAGgAaQB2AG8AUgBlAGcAdQBsAGEAcgAyAC4AMAAwADEAOwBPAE0ATgBJADsAQQByAGMAaABpAHYAbwAtAFIAZQBnAHUAbABhAHIAQQByAGMAaABpAHYAbwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADIALgAwADAAMQBBAHIAYwBoAGkAdgBvAC0AUgBlAGcAdQBsAGEAcgBBAHIAYwBoAGkAdgBvACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAATwBtAG4AaQBiAHUAcwAtAFQAeQBwAGUALgBPAG0AbgBpAGIAdQBzAC0AVAB5AHAAZQBIAGUAYwB0AG8AcgAgAEcAYQB0AHQAaQBBAHIAYwBoAGkAdgBvACAAaQBzACAAYQAgAGcAcgBvAHQAZQBzAHEAdQBlACAAcwBhAG4AcwAgAHMAZQByAGkAZgAgAHQAeQBwAGUAZgBhAGMAZQAgAGYAYQBtAGkAbAB5ACAAZgByAG8AbQAgAE8AbQBuAGkAYgB1AHMALQBUAHkAcABlAC4AIABJAHQAIAB3AGEAcwAgAG8AcgBpAGcAaQBuAGEAbABsAHkAIABkAGUAcwBpAGcAbgBlAGQAIABmAG8AcgAgAGgAaQBnAGgAbABpAGcAaAB0AHMAIABhAG4AZAAgAGgAZQBhAGQAbABpAG4AZQBzAC4AIABUAGgAaQBzACAAZgBhAG0AaQBsAHkAIABpAHMAIAByAGUAbQBpAG4AaQBzAGMAZQBuAHQAIABvAGYAIABsAGEAdABlACAAbgBpAG4AZQB0AGUAZQBuAHQAaAAgAGMAZQBuAHQAdQByAHkAIABBAG0AZQByAGkAYwBhAG4AIAB0AHkAcABlAGYAYQBjAGUAcwAuAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBvAG0AbgBpAGIAdQBzAC0AdAB5AHAAZQAuAGMAbwBtAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6ACAAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABBAHIAYwBoAGkAdgBvAFIAbwBtAGEAbgBXAGUAaQBnAGgAdABXAGkAZAB0AGgATgBvAHIAbQBhAGwASQB0AGEAbABpAGMAUgBvAG0AYQBuAAAAAgAAAAAAAP9sACwAAAAAAAAAAAAAAAAAAAAAAAAAAAM3AAAAJADJAQIBAwEEAQUBBgEHAQgAxwEJAQoBCwEMAQ0BDgBiAQ8ArQEQAREBEgETAGMBFACuAJABFQAlACYA/QD/AGQBFgEXACcBGADpARkBGgEbACgAZQEcAR0AyAEeAR8BIAEhASIBIwDKASQBJQDLASYBJwEoASkBKgApACoA+AErASwBLQEuACsBLwEwATEALAEyAMwBMwE0AM0BNQDOAPoBNgDPATcBOAE5AToBOwAtATwALgE9AC8BPgE/AUABQQFCAUMA4gAwADEBRAFFAUYBRwFIAUkBSgBmADIA0AFLAUwA0QFNAU4BTwFQAVEBUgBnAVMBVAFVANMBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAJEBYQCvAWIAsAAzAO0ANAA1AWMBZAFlAWYBZwA2AWgA5AD7AWkBagFrAWwBbQA3AW4BbwFwAXEBcgA4ANQBcwF0ANUBdQBoAXYBdwF4AXkBegDWAXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcAOQA6AYgBiQGKAYsAOwA8AOsBjAC7AY0BjgGPAZABkQA9AZIA5gGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAEQAaQGgAaEBogGjAaQBpQGmAGsBpwGoAakBqgGrAawAbAGtAGoBrgGvAbABsQBuAbIAbQCgAbMARQBGAP4BAABvAbQBtQBHAOoBtgEBAbcASABwAbgBuQByAboBuwG8Ab0BvgG/AHMBwAHBAHEBwgHDAcQBxQHGAccASQBKAPkByAHJAcoBywBLAcwBzQHOAEwA1wB0Ac8B0AB2AdEAdwHSAdMAdQHUAdUB1gHXAdgB2QBNAdoB2wBOAdwB3QBPAd4B3wHgAeEB4gDjAFAAUQHjAeQB5QHmAecB6AHpAHgAUgB5AeoB6wB7AewB7QHuAe8B8AHxAHwB8gHzAfQAegH1AfYB9wH4AfkB+gH7AfwB/QH+Af8AoQIAAH0CAQCxAFMA7gBUAFUCAgIDAgQCBQIGAFYCBwDlAPwCCAIJAgoAiQILAFcCDAINAg4CDwIQAFgAfgIRAhIAgAITAIECFAIVAhYCFwIYAH8CGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQBZAFoCJgInAigCKQBbAFwA7AIqALoCKwIsAi0CLgIvAF0CMADnAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCAMAAwQCdAJ4CQwJEAkUCRgCbAkcAEwAUABUAFgAXABgAGQAaABsAHAJIAkkCSgJLAkwCTQJOAk8CUAJRAlICUwJUAlUCVgJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcALwA9AD1APYAEQAPAB0AHgCrAAQAowAiAKIAwwCHAA0ABgKdABIAPwKeAp8CoAKhAAsADABeAGAAPgBAABACogCyALMCowKkAqUAQgKmAqcCqAKpAqoCqwDEAMUAtAC1ALYAtwCpAKoAvgC/AAUACgKsAq0AAwKuAq8CsAKxArIAhAKzAL0ABwK0ArUApgD3ArYCtwK4ArkCugK7ArwCvQK+Ar8AhQLAAJYCwQLCAsMCxALFAsYCxwAOAO8A8AC4ACAAjwAhAB8AlQCUAJMApwBhAKQAQQCSAsgCyQCcAsoCywCaAJkApQCYAswCzQAIAMYCzgLPAtAC0QLSAtMC1AC5ACMACQCIAIYAiwCKAtUAjALWAIMC1wLYAF8A6ACCAtkAwgLaAtsC3ALdAt4C3wLgAuEC4gLjAuQC5QLmAucC6ALpAuoC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8DAAMBAwIDAwCOANwAQwCNAN8A2ADhANsA3QDZANoA3gDgAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYDFwMYAxkDGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/A0AGQWJyZXZlB3VuaTFFQUUHdW5pMUVCNgd1bmkxRUIwB3VuaTFFQjIHdW5pMUVCNAd1bmkwMUNEB3VuaTFFQTQHdW5pMUVBQwd1bmkxRUE2B3VuaTFFQTgHdW5pMUVBQQd1bmkwMjAwB3VuaTFFQTAHdW5pMUVBMgd1bmkwMjAyB0FtYWNyb24HQW9nb25lawpBcmluZ2FjdXRlB0FFYWN1dGULQ2NpcmN1bWZsZXgKQ2RvdGFjY2VudAd1bmkwMUM0BkRjYXJvbgZEY3JvYXQHdW5pMDFDNQZFYnJldmUGRWNhcm9uB3VuaTFFQkUHdW5pMUVDNgd1bmkxRUMwB3VuaTFFQzIHdW5pMUVDNAd1bmkwMjA0CkVkb3RhY2NlbnQHdW5pMUVCOAd1bmkxRUJBB3VuaTAyMDYHRW1hY3JvbgdFb2dvbmVrB3VuaTFFQkMGR2Nhcm9uC0djaXJjdW1mbGV4B3VuaTAxMjIKR2RvdGFjY2VudARIYmFyC0hjaXJjdW1mbGV4B3VuaTFFMjQCSUoGSWJyZXZlB3VuaTAxQ0YHdW5pMDIwOAd1bmkxRUNBB3VuaTFFQzgHdW5pMDIwQQdJbWFjcm9uB0lvZ29uZWsGSXRpbGRlC0pjaXJjdW1mbGV4B3VuaTAxMzYHdW5pMDFDNwZMYWN1dGUGTGNhcm9uB3VuaTAxM0IETGRvdAd1bmkwMUM4B3VuaTAxQ0EGTmFjdXRlBk5jYXJvbgd1bmkwMTQ1A0VuZwd1bmkwMTlEB3VuaTAxQ0IGT2JyZXZlB3VuaTAxRDEHdW5pMUVEMAd1bmkxRUQ4B3VuaTFFRDIHdW5pMUVENAd1bmkxRUQ2B3VuaTAyMEMHdW5pMDIyQQd1bmkwMjMwB3VuaTFFQ0MHdW5pMUVDRQVPaG9ybgd1bmkxRURBB3VuaTFFRTIHdW5pMUVEQwd1bmkxRURFB3VuaTFFRTANT2h1bmdhcnVtbGF1dAd1bmkwMjBFB09tYWNyb24HdW5pMDFFQQtPc2xhc2hhY3V0ZQd1bmkwMjJDBlJhY3V0ZQZSY2Fyb24HdW5pMDE1Ngd1bmkwMjEwB3VuaTAyMTIGU2FjdXRlC1NjaXJjdW1mbGV4B3VuaTAyMTgHdW5pMUU2Mgd1bmkxRTlFB3VuaTAxOEYEVGJhcgZUY2Fyb24HdW5pMDE2Mgd1bmkwMjFBB3VuaTFFNkMGVWJyZXZlB3VuaTAxRDMHdW5pMDIxNAd1bmkwMUQ3B3VuaTAxRDkHdW5pMDFEQgd1bmkwMUQ1B3VuaTFFRTQHdW5pMUVFNgVVaG9ybgd1bmkxRUU4B3VuaTFFRjAHdW5pMUVFQQd1bmkxRUVDB3VuaTFFRUUNVWh1bmdhcnVtbGF1dAd1bmkwMjE2B1VtYWNyb24HVW9nb25lawVVcmluZwZVdGlsZGUGV2FjdXRlC1djaXJjdW1mbGV4CVdkaWVyZXNpcwZXZ3JhdmULWWNpcmN1bWZsZXgHdW5pMUVGNAZZZ3JhdmUHdW5pMUVGNgd1bmkwMjMyB3VuaTFFRjgGWmFjdXRlClpkb3RhY2NlbnQJWS5sb2NsR1VBDllhY3V0ZS5sb2NsR1VBE1ljaXJjdW1mbGV4LmxvY2xHVUERWWRpZXJlc2lzLmxvY2xHVUEOWWdyYXZlLmxvY2xHVUEPdW5pMDIzMi5sb2NsR1VBD3VuaTFFRjgubG9jbEdVQQ5DYWN1dGUubG9jbFBMSw5OYWN1dGUubG9jbFBMSw5PYWN1dGUubG9jbFBMSw5TYWN1dGUubG9jbFBMSw5aYWN1dGUubG9jbFBMSwZhYnJldmUHdW5pMUVBRgd1bmkxRUI3B3VuaTFFQjEHdW5pMUVCMwd1bmkxRUI1B3VuaTAxQ0UHdW5pMUVBNQd1bmkxRUFEB3VuaTFFQTcHdW5pMUVBOQd1bmkxRUFCB3VuaTAyMDEHdW5pMUVBMQd1bmkxRUEzB3VuaTAyMDMHYW1hY3Jvbgdhb2dvbmVrCmFyaW5nYWN1dGUHYWVhY3V0ZQtjY2lyY3VtZmxleApjZG90YWNjZW50BmRjYXJvbgd1bmkwMUM2BmVicmV2ZQZlY2Fyb24HdW5pMUVCRgd1bmkxRUM3B3VuaTFFQzEHdW5pMUVDMwd1bmkxRUM1B3VuaTAyMDUKZWRvdGFjY2VudAd1bmkxRUI5B3VuaTFFQkIHdW5pMDIwNwdlbWFjcm9uB2VvZ29uZWsHdW5pMUVCRAd1bmkwMjU5BmdjYXJvbgtnY2lyY3VtZmxleAd1bmkwMTIzCmdkb3RhY2NlbnQEaGJhcgtoY2lyY3VtZmxleAd1bmkxRTI1BmlicmV2ZQd1bmkwMUQwB3VuaTAyMDkJaS5sb2NsVFJLB3VuaTFFQ0IHdW5pMUVDOQd1bmkwMjBCAmlqB2ltYWNyb24HaW9nb25lawZpdGlsZGUHdW5pMDIzNwtqY2lyY3VtZmxleAd1bmkwMTM3DGtncmVlbmxhbmRpYwZsYWN1dGUGbGNhcm9uB3VuaTAxM0MEbGRvdAd1bmkwMUM5Bm5hY3V0ZQtuYXBvc3Ryb3BoZQZuY2Fyb24HdW5pMDE0NgNlbmcHdW5pMDI3Mgd1bmkwMUNDBm9icmV2ZQd1bmkwMUQyB3VuaTFFRDEHdW5pMUVEOQd1bmkxRUQzB3VuaTFFRDUHdW5pMUVENwd1bmkwMjBEB3VuaTAyMkIHdW5pMDIzMQd1bmkxRUNEB3VuaTFFQ0YFb2hvcm4HdW5pMUVEQgd1bmkxRUUzB3VuaTFFREQHdW5pMUVERgd1bmkxRUUxDW9odW5nYXJ1bWxhdXQHdW5pMDIwRgdvbWFjcm9uB3VuaTAxRUILb3NsYXNoYWN1dGUHdW5pMDIyRAZyYWN1dGUGcmNhcm9uB3VuaTAxNTcHdW5pMDIxMQd1bmkwMjEzBnNhY3V0ZQtzY2lyY3VtZmxleAd1bmkwMjE5B3VuaTFFNjMFbG9uZ3MEdGJhcgZ0Y2Fyb24HdW5pMDE2Mwd1bmkwMjFCB3VuaTFFNkQGdWJyZXZlB3VuaTAxRDQHdW5pMDIxNQd1bmkwMUQ4B3VuaTAxREEHdW5pMDFEQwd1bmkwMUQ2B3VuaTFFRTUHdW5pMUVFNwV1aG9ybgd1bmkxRUU5B3VuaTFFRjEHdW5pMUVFQgd1bmkxRUVEB3VuaTFFRUYNdWh1bmdhcnVtbGF1dAd1bmkwMjE3B3VtYWNyb24HdW9nb25lawV1cmluZwZ1dGlsZGUGd2FjdXRlC3djaXJjdW1mbGV4CXdkaWVyZXNpcwZ3Z3JhdmULeWNpcmN1bWZsZXgHdW5pMUVGNQZ5Z3JhdmUHdW5pMUVGNwd1bmkwMjMzB3VuaTFFRjkGemFjdXRlCnpkb3RhY2NlbnQJeS5sb2NsR1VBDnlhY3V0ZS5sb2NsR1VBE3ljaXJjdW1mbGV4LmxvY2xHVUEReWRpZXJlc2lzLmxvY2xHVUEPdW5pMUVGNS5sb2NsR1VBDnlncmF2ZS5sb2NsR1VBD3VuaTFFRjcubG9jbEdVQQ91bmkwMjMzLmxvY2xHVUEPdW5pMUVGOS5sb2NsR1VBDmNhY3V0ZS5sb2NsUExLDm5hY3V0ZS5sb2NsUExLDm9hY3V0ZS5sb2NsUExLDnNhY3V0ZS5sb2NsUExLDnphY3V0ZS5sb2NsUExLA2ZfZgVmX2ZfaQVmX2ZfbAd1bmkyMDdGB3VuaTAzOTQHdW5pMDNBOQd1bmkwM0JDB3VuaTIwOTkJemVyby56ZXJvB3plcm8ubGYGb25lLmxmBnR3by5sZgh0aHJlZS5sZgdmb3VyLmxmB2ZpdmUubGYGc2l4LmxmCHNldmVuLmxmCGVpZ2h0LmxmB25pbmUubGYMemVyby5sZi56ZXJvCHplcm8ub3NmB29uZS5vc2YHdHdvLm9zZgl0aHJlZS5vc2YIZm91ci5vc2YIZml2ZS5vc2YHc2l4Lm9zZglzZXZlbi5vc2YJZWlnaHQub3NmCG5pbmUub3NmDXplcm8ub3NmLnplcm8HemVyby50ZgZvbmUudGYGdHdvLnRmCHRocmVlLnRmB2ZvdXIudGYHZml2ZS50ZgZzaXgudGYIc2V2ZW4udGYIZWlnaHQudGYHbmluZS50Zgx6ZXJvLnRmLnplcm8JemVyby50b3NmCG9uZS50b3NmCHR3by50b3NmCnRocmVlLnRvc2YJZm91ci50b3NmCWZpdmUudG9zZghzaXgudG9zZgpzZXZlbi50b3NmCmVpZ2h0LnRvc2YJbmluZS50b3NmDnplcm8udG9zZi56ZXJvB3VuaTIwODAHdW5pMjA4MQd1bmkyMDgyB3VuaTIwODMHdW5pMjA4NAd1bmkyMDg1B3VuaTIwODYHdW5pMjA4Nwd1bmkyMDg4B3VuaTIwODkJemVyby5kbm9tCG9uZS5kbm9tCHR3by5kbm9tCnRocmVlLmRub20JZm91ci5kbm9tCWZpdmUuZG5vbQhzaXguZG5vbQpzZXZlbi5kbm9tCmVpZ2h0LmRub20JbmluZS5kbm9tCXplcm8ubnVtcghvbmUubnVtcgh0d28ubnVtcgp0aHJlZS5udW1yCWZvdXIubnVtcglmaXZlLm51bXIIc2l4Lm51bXIKc2V2ZW4ubnVtcgplaWdodC5udW1yCW5pbmUubnVtcgd1bmkyMDcwB3VuaTAwQjkHdW5pMDBCMgd1bmkwMEIzB3VuaTIwNzQHdW5pMjA3NQd1bmkyMDc2B3VuaTIwNzcHdW5pMjA3OAd1bmkyMDc5B3VuaTIwM0UPZXhjbGFtZG93bi5jYXNlEXF1ZXN0aW9uZG93bi5jYXNlG3BlcmlvZGNlbnRlcmVkLmxvY2xDQVQuY2FzZRZwZXJpb2RjZW50ZXJlZC5sb2NsQ0FUB3VuaTAwQUQHdW5pMjAxNQd1bmkyMDEwB3VuaTIwMTENdW5kZXJzY29yZWRibAtoeXBoZW4uY2FzZQx1bmkwMEFELmNhc2ULZW5kYXNoLmNhc2ULZW1kYXNoLmNhc2UMdW5pMjAxMS5jYXNlB3VuaTI3RTgHdW5pMjdFOQd1bmkwMEEwB3VuaTIwMDkCQ1IHdW5pRkVGRgd1bmkyMEI1DWNvbG9ubW9uZXRhcnkEZG9uZwRFdXJvB3VuaTIwQjIHdW5pMjBBRARsaXJhB3VuaTIwQkEHdW5pMjBCQwd1bmkyMEE2BnBlc2V0YQd1bmkyMEIxB3VuaTIwQkQHdW5pMjBCOQd1bmkyMEE5B3VuaTIyMTkHdW5pMjA1Mgd1bmkyMjE1C2VxdWl2YWxlbmNlCmludGVncmFsYnQKaW50ZWdyYWx0cA1yZXZsb2dpY2Fsbm90CGVtcHR5c2V0DGludGVyc2VjdGlvbgd1bmkyMTI2B3VuaTIyMDYHdW5pMDBCNQpvcnRob2dvbmFsB2Fycm93dXAKYXJyb3dyaWdodAlhcnJvd2Rvd24JYXJyb3dsZWZ0CWFycm93Ym90aAlhcnJvd3VwZG4MYXJyb3d1cGRuYnNlB3VuaTIxMTcHdW5pMjEwNQZtaW51dGUGc2Vjb25kB3VuaTIxMTMHdW5pMjExNgllc3RpbWF0ZWQFaG91c2UHdW5pMDJCQwd1bmkwMkJBB3VuaTAyQzkHdW5pMDJCOQd1bmkwMzA4C3VuaTAzMDgwMzAwC3VuaTAzMDgwMzAxC3VuaTAzMDgwMzBDC3VuaTAzMDgwMzA0B3VuaTAzMDcLdW5pMDMwNzAzMDQJZ3JhdmVjb21iCWFjdXRlY29tYgd1bmkwMzBCB3VuaTAzMDIHdW5pMDMwQwd1bmkwMzA2B3VuaTAzMEELdW5pMDMwQTAzMDEJdGlsZGVjb21iC3VuaTAzMDMwMzA0B3VuaTAzMDQNaG9va2Fib3ZlY29tYgd1bmkwMzBGB3VuaTAzMTEHdW5pMDMxMgd1bmkwMzEzB3VuaTAzMUIMZG90YmVsb3djb21iB3VuaTAzMjQHdW5pMDMyNgd1bmkwMzI3B3VuaTAzMjgHdW5pMDMyRQd1bmkwMzMxB3VuaTAzMzUHdW5pMDMzNgd1bmkwMzM3B3VuaTAzMzgMdW5pMDMwOC5jYXNlEHVuaTAzMDgwMzAwLmNhc2UQdW5pMDMwODAzMDEuY2FzZRB1bmkwMzA4MDMwQy5jYXNlEHVuaTAzMDgwMzA0LmNhc2UMdW5pMDMwNy5jYXNlEHVuaTAzMDcwMzA0LmNhc2UOZ3JhdmVjb21iLmNhc2UOYWN1dGVjb21iLmNhc2UMdW5pMDMwQi5jYXNlDHVuaTAzMDIuY2FzZQx1bmkwMzBDLmNhc2UMdW5pMDMwNi5jYXNlDHVuaTAzMEEuY2FzZRB1bmkwMzBBMDMwMS5jYXNlDnRpbGRlY29tYi5jYXNlEHVuaTAzMDMwMzA0LmNhc2UMdW5pMDMwNC5jYXNlEmhvb2thYm92ZWNvbWIuY2FzZQx1bmkwMzBGLmNhc2UMdW5pMDMxMS5jYXNlDHVuaTAzMUIuY2FzZQx1bmkwMzM3LmNhc2UMdW5pMDMzOC5jYXNlDWRpZXJlc2lzLmNhc2UOZG90YWNjZW50LmNhc2UKZ3JhdmUuY2FzZQphY3V0ZS5jYXNlEWh1bmdhcnVtbGF1dC5jYXNlD2NpcmN1bWZsZXguY2FzZQpjYXJvbi5jYXNlCmJyZXZlLmNhc2UJcmluZy5jYXNlCnRpbGRlLmNhc2ULbWFjcm9uLmNhc2USYWN1dGUubG9jbFBMSy5jYXNlDWFjdXRlLmxvY2xQTEsLdW5pMDMwNjAzMDELdW5pMDMwNjAzMDALdW5pMDMwNjAzMDkLdW5pMDMwNjAzMDMLdW5pMDMwMjAzMDELdW5pMDMwMjAzMDALdW5pMDMwMjAzMDkLdW5pMDMwMjAzMDMQdW5pMDMwNjAzMDEuY2FzZRB1bmkwMzA2MDMwMC5jYXNlEHVuaTAzMDYwMzAzLmNhc2UQdW5pMDMwMjAzMDEuY2FzZRB1bmkwMzAyMDMwMC5jYXNlEHVuaTAzMDIwMzAzLmNhc2UHdW5pRTBGRgd1bmlFRkZEB3VuaUYwMDATdW5pMjBCNS5CUkFDS0VULjExMBBjZW50LkJSQUNLRVQuMTEwGWNvbG9ubW9uZXRhcnkuQlJBQ0tFVC4xMTASZG9sbGFyLkJSQUNLRVQuMTEwE3VuaTIwQjIuQlJBQ0tFVC4xMTATdW5pMjBBNi5CUkFDS0VULjExMBN1bmkyMEE5LkJSQUNLRVQuMTEwAAEAAf//AA8AAQACAA4AAAAAAAAAZgACAA4AAQBqAAEAbQEEAAEBBgEcAAEBHgFMAAEBTwHEAAEBxgHJAAICcAJyAAECdAJ0AAECeQJ5AAECwwLDAAECygLsAAMC+gMRAAMDHwMsAAMDMAM0AAEAAQADAAAAEAAAACAAAAA2AAEABgLiAuMC5ALlAucC6AACAAMCygLgAAAC+gMOABcDHwMsACwAAQACAuEDDwABAAAACgAYACwAAkRGTFQALmxhdG4ALgADa2VybgAkbWFyawAqbWttawAwAAUAJgAwADgAQgBMAEoAAAAAAAEAAAAAAAEAAQAAAAMAAgADAAQAAgAIAAIAPAD6AAQAAAABD8QABgAQAAEPyAAAAAYAEAABD8oAAQAGABAAAQ/MAAIAAP//AAMAAAABAAIAAQ/CAAQAAABaEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBc6F0AXQBB+EH4QfhB+EH4QfhdSF1IQmBCYEJgQmBCYEJgQnhCoEKgQqBCoEKgQqBCoEKgQqBDKFzoXOhc6ELoQuhC6ELoQuhC6EMoQxBDEEMQQxBDEEMQQyhDqEOAQ6hDqEOAQ6hDwEmoSdBMWE5ATnhW8FzoXQBdSF1IXUhdYAAIXyAAEAAAYhhqgAC0AKgAAAAAAAAAA//MAAAAAAAAAAAAAAAD/8wAA//MAAAAA/+kAAAAA//YAAAAAAAAAAP/dAAAAAP/2AAAAAAAAAAAAAAAAAAD/+wAAAAAAAP/zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7AAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAAAAAAAAAA/+z//gAAAAD/8//7AAAAAP/xAAAAAP/xAAD/tQAA/+QAAAAA/6kAAAAAAAAAAP+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/oQAAAAAAAP/p//b/7AAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAAAAAAAAAA//0AAAAA//sAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+IAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/fQAA/84AAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAB4AKAAoAAAAAAAUACgAAAAoACgAKP/O/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAA//0AAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7AAAAAAAA/6H/8//D/7X/oQAA/8kAAP/T/30AAP/h/+z/zf+v/+z/pv/dAAD/wQAAAAAAAP89/37/zv/TAAAAAAAA/+IAAAAAAAAAAAAAAAAAAP/i/8kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9P/8//d/+T/0wAA/+cAAP/s/87/7AAAAAAAAP/dAAAAAAAAAAD/4gAAAAAAAP9z/6sAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/s/+L/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EAAAAA/+wAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAP/dAAAAAP/Y/7D/igAA/6EAAAAA/68AAAAA/+wAAP+mAAAAAAAA/+z/agAAAAAAAAAA/6b/2AAAAAD/nAAAAAAAAP9//+z/2AAA//b/8v/2AAD/9v/vAAAAAP/xAAD/6gAA//YAAAAA/+cAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAP/uAAD/8QAA/7D/6f+6/6n/sAAA/7oAAP/dAAD/7AAAAAAAAP+wAAAAAP/Y/+z/3QAAAAAAAP/O/5cAAP/sAAAAAAAA/84AAAAAAAAAAAAAAAAAAP/s/93/3QAAAAD/9gAAAAAAAAAAAAAAAAAA/50AAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAA//YAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAA/87/9gAAAAAAAAAAAAD/8QAAAAAAAAAA/+wAAAAA/+IAAAAAAAAAAP+m/7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAA/+r/3v/q/87/6gAAAAAAAP/b/8z/2AAA/9gAAAAA/+IAAAAA//YAAP/rAAAAAAAA/+r/vgAAAAAAAAAA/6gAAAAAAAD/8QAAAAAAAP/sAAD/2wAA//sAAAAAAAD/+wAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAFf/YAAAAAP/2AAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAA/98AAAAAAAD/6QAAAAAAAP/s/84AAAAAAAAAAP/rAAAAAAAAAAD/7AAAAAAAAAAAAAD/xAAAAAAAAAAA/78AAAAAAAAAAAAAAAAAAAAA/93/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8wAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAA/+cAAAAA/8n/5wAAAAAAAAAA/+z/5wAAAAAAAAAAAAAAAAAA/9MAAAAAAAAAAP/E/7UAAP/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/OAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAA/84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAA//sAAAAA/6EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/O/5wAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAAAACMAAAAAAAAAAP/YAAD/qwAA/87/2AAA/+wAAP/YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v+IAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//P/8//s/+n/8wAAAAAAAP/Y/87/4gAA/+wAAP/z/+wAAP/h/+z/7AAAAAAAAAAAAAD/zgAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAA/9j/2AAAAAAAAAAAAAAAAAAAAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AKcAwAADAMEAxgAMAMcAxwAqAMgA0AAJANEA1AASANwA3AAIAN8A3wALAOAA4AASAPsA/AAFAP0A/QABAQUBBQABAQYBBgAdAQgBCAAOAQkBHAAFAR0BHQABAR4BHgAYAT0BPwAZAUIBQgAdAUQBRAArAVEBbwABAXABcAAFAXEBcgABAXQBeQATAXoBfwANAYIBggAYAYMBiAAUAaMBqAAGAakBqQAsAaoBsgAGAbMBtgAOAcIBwgABAcMBwwANAcQBxAAOAcUBxQAYAdIB0gAWAdMB0wAjAdQB1AApAdUB1QAoAdYB1gAgAdcB1wAfAdgB2AAnAdkB2QAmAdoB2gAeAdsB2wAiAdwB3QAWAd4B3gAjAd8B3wApAeAB4AAoAeEB4QAgAeIB4gAfAeMB4wAnAeQB5AAmAeUB5QAeAeYB5gAiAecB5wAWAj4CPwAcAk8CUgAHAlQCVQAHAlgCXAAHAl0CXgAlAmQCZAAhAmYCZgAhAmcCaAAkAnACcAAIAnICcgAIAngCeAAbAnkCeQAKAnoCegAXAn8CgQAVAoQChAAMAAIAYAABABwABAAeACMAAgA/AEQAAgBZAFoAGQBvAI4AAgCRAJEAAgCYAJ0ADACgAKAAAgChAKYAEACnAMAABgDBAMYADQDHAMcAJwDIANAACwDRANQAEwDcANwAAgDeAN4AAgDfAN8ADADgAOAAEwDhAPwABQD9AP0ACAD+AR0AAQEeAR4ADgEfASQAEQElASgACAE9AT4ACAE/AT8ABwFAAUYACAFHAVAABwFRAXAAAQFxAXEABwFyAXIACAFzAXMAAQF0AXkABwF6AX8ADwGBAYEACAGCAYIADgGDAYgAEgGJAaIAAwGjAagACQGpAakAKAGqAaoAKQGrAbIACQGzAbYAFAG3AboAAwG8AbwAAwG+Ab8AAwHAAcAAAQHBAcEABwHCAcIAAQHDAcMADwHEAcQAFAHFAckADgHKAcsAFQHPAc8ABwHSAdIAFgHTAdMAIgHUAdQAJgHVAdUAJQHWAdYAHgHXAdcAHQHYAdgAJAHZAdkAFwHaAdoAHAHbAdsAIQHcAd0AFgHeAd4AIgHfAd8AJgHgAeAAJQHhAeEAHgHiAeIAHQHjAeMAJAHkAeQAFwHlAeUAHAHmAeYAIQHnAecAFgI1AjYAGAI3AjgAGwI5AjkAGAI+Aj8AGgJAAkAAFQJOAk4AFwJPAlIACgJUAlUACgJYAlwACgJjAmMAHwJkAmQAIAJlAmUAHwJmAmYAIAJnAmgAIwJwAnAAAgJyAnIAAgJ1AnUAAQJ5AnkAAgKEAoQADQKmAqYABwK5ArkAFQACAAMCygLsAAAC+gMRACMDHwMsADsAAgAKAAEAagAAAG0BBABqAQYBHAECAR4BTAEZAU8BxAFIAnACcgG+AnQCdAHBAnkCeQHCAsMCwwHDAzADNAHEAEkAAB3OAAAdyAAAHc4AAB3yAAAd1AAAHdoAAB3+AAAd4AAAHeYAAB3sAAAeZAAAHfIAAB5eAAAd+AAAHfgAAB5qAAAeagAAHf4AAB4EAAAeCgAAHl4AAB4QAAAeFgABH8YAAh2AAAIdhgACHYwAAh2SAAMUyAACHZgAAh2eAAQUzgAEFNQABBTaAAQU4AAAHhwAAB5wAAAeHAAAHnwAAB4iAAAeKAAAHkwAAB4uAAAeNAAAHjoAAB58AAAefAAAHnAAAB5AAAAeQAAAHnYAAB5GAAAeTAAAHlIAAB5YAAAecAABH8wABBTmAAQU7AAAHl4AAB5eAAAeXgAAHmoAAB5kAAAeZAAAHmQAAB5qAAAecAAAHnAAAB52AAAefAAAHoIAAB6IAckUGgAAFDIUOAAAFAgAABQyFDgAABPMAAAUMhQ4AAAT0gAAFDIUOAAAE8wAABQCFDgAABPSAAAUMhQ4AAAT2AAAFDIUOAAAE94AABQyFDgAABPkAAAUMhQ4AAAT5AAAFDIUOAAAE+oAABQyFDgAABPkAAAUAhQ4AAAT6gAAFDIUOAAAE/AAABQyFDgAABP2AAAUMhQ4AAAUCAAAFDIUOAAAE/wAABQyFDgAABQaAAAUAhQ4AAAUCAAAFDIUOAAAFA4AABQyFDgAABQUAAAUMhQ4AAAULAAAFDIUOAAAFBoAABQyFDgAABQgAAAUMhQ4AAAUJgAAFDIUOAAAFCwAABQyFDgAABQ+AAAUSgAAAAAURAAAFEoAAAAAFFAAABRWAAAAABw2AAAcPAAAAAAUXAAAHDwAAAAAFGgAABw8AAAAABw2AAAUYgAAAAAUaAAAHDwAAAAAFG4AABw8AAAAABSMAAAbXgAAFJIUdAAAFHoAABSAFIwAABteAAAUkhSGAAAbXgAAFJIUjAAAG14AABSSFJgAABSeAAAUpBTmAAAU8hT4AAAU1AAAFPIU+AAAFKoAABTyFPgAABSwAAAU8hT4AAAUsAAAFPIU+AAAFLYAABTyFPgAABSwAAAUzhT4AAAUtgAAFPIU+AAAFLwAABTyFPgAABTCAAAU8hT4AAAU1AAAFPIU+AAAFMgAABTyFPgAABTIAAAU8hT4AAAU5gAAFM4U+AAAFNQAABTyFPgAABTaAAAU8hT4AAAU4AAAFPIU+AAAFOwAABTyFPgAABTmAAAU8hT4AAAU7AAAFPIU+AAAFP4AABf4AAAAABUQAAAVIgAAAAAVBAAAFSIAAAAAFQoAABUiAAAAABUKAAAVIgAAAAAVEAAAFRYAAAAAFRwAABUiAAAAABU0AAAVLgAAFUAVNAAAFS4AABVAFSgAABUuAAAVQBU0AAAVOgAAFUAV0AAAFXwVggAAFUYAABVMFYIAABW4AAAVfBWCAAAVUgAAFXwVggAAFVgAABV8FYIAABVYAAAVfBWCAAAVuAAAFXwVggAAFV4AABV8FYIAABVeAAAVfBWCAAAV0AAAFWQVggAAFbgAABV8FYIAABVqAAAVfBWCAAAVcAAAFXwVggAAFXYAABV8FYIAABXQAAAVfBWCAAAVdgAAFXwVggAAFYgAABWUAAAAABWOAAAVlAAAAAAVoAAAFZoAAAAAFaAAABWmAAAAABXQFdYV3AAAFeIVrBXWFbIAABXiFbgV1hXcAAAV4hXQFdYV3AAAFeIV0BXWFb4AABXiFdAV1hXcAAAV4hXEFdYVygAAFeIV0BXWFdwAABXiFegAABXuAAAAABweAAAcJAAAAAAV9AAAFfoAAAAAFgAAABwkAAAAABYGAAAcJAAAAAAcHgAAFgwAAAAAFhIAABYYAAAAABYeAAAcJAAAAAAYNBg6GEAYRhhMFn4YOhhAGEYYTBYkGDoYQBhGGEwWKhg6GEAYRhhMFioYOhhAGEYYTBYwGDoYQBhGGEwWKhg6Fk4YRhhMFjAYOhhAGEYYTBY2GDoYQBhGGEwWPBg6GEAYRhhMFn4YOhhAGEYYTBZCGDoYQBhGGEwWSBg6GEAYRhhMFkgYOhhAGEYYTBg0GDoWThhGGEwWfhg6GEAYRhhMFlQYOhhAGEYYTBaoFnIWrhhGGEwWYBZyFq4YRhhMFqgWchZaGEYYTBZgFnIWrhhGGEwWZhZyFq4YRhhMFmwWchauGEYYTBZ+GDoYQBhGGEwWeBg6GEAYRhhMFoQYOhhAGEYYTBg0GDoYQBhGGEwYNBg6GEAYRhhMFn4YOhhAGEYYTBaEGDoYQBhGGEwWihg6GEAYRhhMFpAAABaWAAAAABacAAAWogAAAAAXwgAAF8gAAAAAFqgAABauAAAAABa6AAAW0gAAAAAWxgAAFtIAAAAAFrQAABbSAAAAABa6AAAWwAAAAAAWxgAAFtIAAAAAFswAABbSAAAAABhSAAAYWAAAAAAW2AAAGFgAAAAAFuQAABhYAAAAABhSAAAW3gAAAAAW5AAAGFgAAAAAGFIAABbqAAAAABhSAAAW8AAAAAAW9gAAFvwAAAAAFwIAABcIAAAAABcmAAAXFAAAFzIXJgAAFxQAABcyFw4AABcUAAAXMhcmAAAXGgAAFzIXJgAAFyAAABcyFyYAABcsAAAXMhd6F4wXkhtAAAAXbheMF5IbQAAAFzgXjBeSG0AAABc+F4wXkhtAAAAXPheMF5IbQAAAF24XjBeSG0AAABdEF4wXkhtAAAAXUBeMF5IbQAAAF0oXjBeSG0AAABdQF4wXkhtAAAAXVheMF5IbQAAAF3oXjBdcG0AAABduF4wXkhtAAAAXYheMF5IbQAAAF3oXaBeSG0AAABduF2gXkhtAAAAXehdoF1wbQAAAF24XaBeSG0AAABdiF2gXkhtAAAAXhhdoF5IbQAAAF24XjBeSG0AAABd0F4wXkhtAAAAXhheMF5IbQAAAF3oXjBeSG0AAABeAF4wXkhtAAAAXhheMF5IbQAAAF5gAABeeAAAAABekAAAXvAAAAAAXtgAAF7wAAAAAF6oAABe8AAAAABewAAAXvAAAAAAXtgAAF7wAAAAAF8IAABfIAAAAABfaAAAX+AAAAAAX5gAAF/gAAAAAF84AABf4AAAAABfUAAAX+AAAAAAX2gAAF+AAAAAAF+YAABf4AAAAABfsAAAX+AAAAAAX8gAAF/gAAAAAF/IAABf4AAAAABheAAAYZAAAGGoX/gAAGGQAABhqGAQAABhkAAAYahgKAAAYZAAAGGoYEAAAGC4AAAAAGCIAABguAAAAABgWAAAYLgAAAAAYHAAAGC4AAAAAGCIAABguAAAAABgoAAAYLgAAAAAYKAAAGC4AAAAAHDYAABw8AAAAABweAAAcJAAAAAAYNBg6GEAYRhhMGFIAABhYAAAAABheAAAYZAAAGGoYmgAAGLIYuAAAGI4AABiyGLgAABiOAAAYshi4AAAYcAAAGLIYuAAAGI4AABiCGLgAABhwAAAYshi4AAAYdgAAGLIYuAAAGHwAABiyGLgAABiOAAAYshi4AAAYjgAAGLIYuAAAGHAAABiyGLgAABiOAAAYghi4AAAYcAAAGLIYuAAAGHYAABiyGLgAABh8AAAYshi4AAAYjgAAGLIYuAAAGJQAABiyGLgAABiaAAAYghi4AAAYjgAAGLIYuAAAGIgAABiyGLgAABiOAAAYshi4AAAYlAAAGLIYuAAAGJoAABiyGLgAABigAAAYshi4AAAYpgAAGLIYuAAAGKwAABiyGLgAABi+AAAYygAAAAAYxAAAGMoAAAAAGNAAABjWAAAAABvKAAAb0AAAAAAY4gAAG9AAAAAAGOIAABvQAAAAABvKAAAY3AAAAAAY4gAAG9AAAAAAGOgAABvQAAAAABjuGQAagAAAGPQY7hkAGoAAABj0GO4ZABqAAAAY9Bj6GQAZBgAAGQwZJAAAGU4ZVAAAGTYAABlOGVQAABk2AAAZThlUAAAZNgAAGU4ZVAAAGTYAABlOGVQAABkSAAAZThlUAAAZNgAAGSoZVAAAGRIAABlOGVQAABkYAAAZThlUAAAZHgAAGU4ZVAAAGTYAABlOGVQAABk8AAAZThlUAAAZPAAAGU4ZVAAAGSQAABkqGVQAABk2AAAZThlUAAAZMAAAGU4ZVAAAGTYAABlOGVQAABk8AAAZThlUAAAZQgAAGU4ZVAAAGUgAABlOGVQAABlaAAAZYAAAAAAZZgAAGX4AAAAAGWwAABl+AAAAABlsAAAZfgAAAAAZbAAAGX4AAAAAGXIAABl+AAAAABl4AAAZfgAAAAAZigAAG+4AABmQGYoAABvuAAAZkBmEAAAb7gAAGZAZigAAGkQAABmQGbQAABoIGa4AABm0AAAaCBmuAAAZugAAGggZrgAAGboAABoIGa4AABm6AAAaCBmuAAAZugAAGggZrgAAGboAABoIGa4AABmiAAAaCBmuAAAZtAAAGggZrgAAGbQAABmWGa4AABm6AAAaCBmuAAAZnAAAGggZrgAAGboAABoIGa4AABnwAAAZ9hmuAAAZogAAGggZrgAAGbQAABoIGa4AABmoAAAaCBmuAAAZtAAAGcAAAAAAGbQAABnAAAAAABm6AAAZwAAAAAAZzAAAGcYAAAAAGcwAABnSAAAAABnYAAAZ3gAAAAAZ/BoCGggAABoOGeQaAhoIAAAaDhn8GgIaCAAAGg4Z/BoCGeoAABoOGfwaAhoIAAAaDhnwGgIZ9gAAGg4Z/BoCGggAABoOGhQAABoaAAAAABvWAAAb3AAAAAAbrAAAG9wAAAAAG9YAABvcAAAAABusAAAb3AAAAAAb1gAAGiAAAAAAGiYAABosAAAAABu+AAAb3AAAAAAb4hvoG+4b9Bv6Glwb6BvuG/Qb+hpcG+gb7hv0G/oaXBvoG+4b9Bv6Glwb6BvuG/Qb+hoyG+gb7hv0G/oaXBvoGkQb9Bv6GjIb6BvuG/Qb+ho4G+gb7hv0G/oaPhvoG+4b9Bv6Glwb6BvuG/Qb+hpWG+gb7hv0G/oaPhvoG+4b9Bv6Gj4b6BvuG/Qb+hviG+gaRBv0G/oaXBvoG+4b9Bv6Gkob6BvuG/Qb+hviGlAb7hv0G/oaXBpQG+4b9Bv6G+IaUBpEG/Qb+hpcGlAb7hv0G/oaShpQG+4b9Bv6GmIaUBvuG/Qb+hpcG+gb7hv0G/oaXBvoG+4b9Bv6GlYb6BvuG/Qb+hviG+gb7hv0G/ob4hvoG+4b9Bv6Glwb6BvuG/Qb+hpiG+gb7hv0G/oaaBvoG+4b9Bv6Gm4AABp0AAAAABp6AAAagAAAAAAbIgAAGzoAAAAAGnoAABqAAAAAABqGAAAamAAAAAAakgAAGpgAAAAAGpIAABqYAAAAABqGAAAajAAAAAAakgAAGpgAAAAAGpIAABqYAAAAABwAAAAcBgAAAAAapAAAHAYAAAAAGqQAABwGAAAAABwAAAAangAAAAAapAAAHAYAAAAAHAAAABqqAAAAABwAAAAasAAAAAAatgAAGrwAAAAAGsIAABrIAAAAABrgGuYazgAAGvIa4BrmGs4AABryGuAa5hrOAAAa8hrgGuYa1AAAGvIa4BrmGtoAABryGuAa5hrsAAAa8hsiGzQbOhtAAAAbFhs0GzobQAAAGxYbNBs6G0AAABsWGzQbOhtAAAAbFhs0GzobQAAAGxYbNBs6G0AAABscGzQbOhtAAAAa+Bs0GzobQAAAGvgbNBs6G0AAABr4GzQbOhtAAAAa/hs0GzobQAAAGyIbNBsEG0AAABsWGzQbOhtAAAAbChs0GzobQAAAGyIbEBs6G0AAABsWGxAbOhtAAAAbIhsQGwQbQAAAGxYbEBs6G0AAABsKGxAbOhtAAAAbLhsQGzobQAAAGxYbNBs6G0AAABsWGzQbOhtAAAAbHBs0GzobQAAAGyIbNBs6G0AAABsoGzQbOhtAAAAbLhs0GzobQAAAHAAAABtGAAAAABtMAAAbXgAAAAAbWAAAG14AAAAAG1gAABteAAAAABtSAAAbXgAAAAAbWAAAG14AAAAAG2QAABtqAAAAABtwAAAblAAAAAAbfAAAG5QAAAAAG3wAABuUAAAAABuIAAAblAAAAAAbcAAAG3YAAAAAG3wAABuUAAAAABuCAAAblAAAAAAbiAAAG5QAAAAAG44AABuUAAAAABwMAAAcEgAAHBgbmgAAHBIAABwYG5oAABwSAAAcGBugAAAcEgAAHBgb1gAAG8QAAAAAG6wAABvEAAAAABusAAAbxAAAAAAbuAAAG8QAAAAAG9YAABumAAAAABusAAAbxAAAAAAbsgAAG8QAAAAAG7gAABvEAAAAABu+AAAbxAAAAAAbygAAG9AAAAAAG9YAABvcAAAAABviG+gb7hv0G/ocAAAAHAYAAAAAHAwAABwSAAAcGBw2AAAcPAAAAAAcKgAAHDAAAAAAHDYAABw8AAAAABxCAAAcSAAAAAAcTgAAHFQAAAAAHB4AABwkAAAAABw2AAAcPAAAAAAcKgAAHDAAAAAAHDYAABw8AAAAABxCAAAcSAAAAAAcTgAAHFQAAAAAAAEABgLiAuMC5ALlAucC6AAGAAAKbgAACnQAAAp6AAAKgAAACoYAAAqMAAYKeAp+CoQKigqQCpYAAgADAsoC4AAAAvoDDgAXAx8DLAAsADoAAAp+AAAKeAAACn4AAAqiAAAKhAAACooAAAquAAAKkAAACpYAAAqcAAALFAAACqIAAAsOAAAKqAAACqgAAAsaAAALGgAACq4AAAq0AAAKugAACw4AAArAAAAKxgAACswAAAsgAAAKzAAACywAAArSAAAK2AAACvwAAAreAAAK5AAACuoAAAssAAALLAAACyAAAArwAAAK8AAACyYAAAr2AAAK/AAACwIAAAsIAAALIAAACw4AAAsOAAALDgAACxoAAAsUAAALFAAACxQAAAsaAAALIAAACyAAAAsmAAALLAAACzIAAAs4ADoKVApaCmAKZgpsCnIKeAp+CoQKigqQCpYKxgqcCqIKqAquCrQKugrACsYKzArSCtgK3grkCuoK8Ar2CvwLAgsICw4LFAsUCxoLIAsmCywLMgs4Cz4LRAtKC1ALUAtWC2gLXAtcC2ILaAtuC24LdAt6C4ALhgABAAIC4QMPAAIAAAsOAAALFAACCxALFgABAG0AAAABAJ8BcQABAWMBcgABAG8BZQABAQEBBwABAKgBcwABAVABVwABAVUDQQABAVUD+QABAVUEAwABAVUD3AABAVUDUgABAVUECgABAVUEFAABAVUD7QABAVUDXAABAVX/TAABAVUDZgABAVUDcAABAVUDVwABAVUCrgABAVYDhQABAVYEPQABAVUDSQABAVUAAAABAoEAAAABAckCrgABAckDZgABAecAAAABAV0CrgABAV0AAAABAX0DZgABAX3/TwABAX0DUgABAX0DXAABBBEDUgABBBEAAAABBBEBVwABAWoDUgABAWoCrgABAL4BXAABA9cCxgABA9cAAAABA9cBBwABAWQDQQABAWQDUgABAWQECgABAWQEFAABAWQD7QABAWQDXAABAWf/TAABAWQDZgABAWQDcAABAWQDVwABAWQCrgABAWQDSQABAWcAAAABAjQAAAABAUgCrgABAZADQQABAZADUgABAZACrgABAZH+3gABAZADXAABAZEAAAABAXEDUgABAXAAAAABAXECrgABAXD/TAABAXECPQABArcCrgABAiMAAAABAIYDQQABAIYDUgABAIYDXAABAIb/TAABAIYDcAABAIYDVwABAIYDSQABAIYAAAABAJEAAAABAawCrgABAawDUgABARgAAAABAWAAAAABAWACrgABAWD+3gABA7ACrgABAxwAAAABAIYDZgABATD+3gABAokCDgABAon/LgABAIYCrgABAWECDgABATAAAAABAKgBXgABAagCrgABAagAAAABBIsCrgABA/gAAAABAXIDZgABAXIDUgABAXH+3gABA1ACDgABA1D/LgABAXIDSQABAYkDQQABAYkDUgABAYkECgABAYkEFAABAYkD7QABAYkDXAABAYkD9wABAZD/TAABAYkDcAABAYr/TAABAYoDZgABAYoDcAABAYoDSQABAxMDPQABAYkDVwABAYkDZgABAYkDSQABAYkD5AABAmgCrgABAmgAAAABAU0CrgABAU0AAAABAYoCrgABAYoAAAABAWwDUgABAWwCrgABAW/+3gABAWwDZgABAWwDVwABAW8AAAABAVMDZgABAVf/TwABAVMDUgABAVf+3gABAVf/TAABAYACrgABAYAAAAABAXsCrgABAXsAAAABAS8DUgABAS8AAAABAS//TwABAS/+3gABAS8CrgABAS//TAABAS8BSQABAW4DQQABAW4DUgABAW4DXAABAW4EAAABAW4EFAABAW4D9wABAW3/TAABAW4DcAABAw0DcwABAW4DZgABAW4DVwABAW4CrgABAW4DhQABAW4DSQABAkMC5AABAW0AAAABAUQCrgABAUQAAAABAc8CrgABAc8DUgABAc8DXAABAc8DZgABAc8AAAABAVQCrgABAVQAAAABAUoDUgABAUoDXAABAUoCrgABAUj/TAABAUoDZgABAUoDcAABAUoDSQABAUgAAAABAT0DZgABAT0DUgABAT0DXAABAU4CrgABAU4DUgABAU4DXAABAU4DZgABAU4DSQABAU4AAAABAYkCrgABAkkCrgABAZAAAAABAgsAAAABAYkBVwABAVMCrgABAVcAAAABAT0CrgABAT0AAAABAT0BVwABAQsDfgABAQsDiAABAQsDagABAQb/TAABAQsC0AABAQsCxgABAQsCvAABAQsCDgABAQsC6AABAQsDoAABAQsCsgABAQYAAAABAeQAAAABAcQCDgABAcQCxgABAcQAAAABAS0CrgABAS0AAAABAQX/TwABARACxgABARACvAABARwCrgABAZgCbAABAzACxgABAhoCDgABAzAAAAABAzABBwABARgDfgABARgDiAABARgDagABARgCDgABASL/TAABARgC0AABARgCxgABARgCvAABARICDgABARgCsgABASIAAAABAYMAAAABAIgCrgABAIgAAAABARECDgABARECxgABAREDKwABARECvAABARf/LgABAHADUgABAHACrgABAJ8CbAABAHH/TAABAHEC0AABAHECvAABAHECsgABAIAAAAABAHECDgABAHECxgABAHH/LgABAQoAAAABAQoCrgABAQr+3gABAP4CDgABAP4AAAABAHEDZgABAHH+3gABAVICDgABAVL/LgABAHECrgABAMUCDgABAHEAAAABAHEBbAABAbICDgABAbIAAAABARv+3gABAqMCDgABAqP/LgABAR0DfgABAR0DiAABAR0DagABAR3/TAABAR0C0AABAnICrgABAR0CvAABAR0CxgABAR0CsgABAR0DYAABAdUCDgABAdUAAAABARwCDgABARwAAAABALsCDgABAHL+3gABALsCxgABAHIAAAABAQD/TwABAP0CxgABAQD+3gABAQD/TAABATgCDgABATgAAAABAIcCrgABAIcAAAABALEAAAABALH/TwABALH+3gABAJUCDgABANACDgABALH/TAABAJUBBwABARkDdAABARkDagABARn/TAABARkC0AABAnMC0wABARkCxgABARkCvAABARkCDgABARkC6AABARkCsgABAaoCMwABARkAAAABAekAAAABAP0AAAABAWoCDgABAWoCvAABAWoCxgABAWoAAAABAQQCDgABAP8AAAABAQYCDgABAXX/TAABAQYCxgABAQYC0AABAQYCvAABAQYCsgABAXUAAAABAPkCxgABAPkCvAABARv+egABARsCxgABARsC0AABARsCvAABARsCsgABARv/LgABARACDgABAQUAAAABARsCDgABARsAAAABAR0CDgABAagCDgABAR0AAAABAYsAAAABAR0BCAABAP0CDgABAQAAAAABAPkCDgABAPkAAAABAPkBBwABAXICrgABAXEAAAABASACXgABARUAUAABAX0CrgABAX0AAAABAP0CXgABAQAAUAABAYsCrgABAYwAAAABADAAAAABAIwAAAABADoAAAABAF0AAAABAJIAAAABAJcAAAABADD/TAABAIz/TQABADr+3gABAF3/TwABAJL/NAABAJf/aQABAI0CDgABAIwCDgABAJkCDgABADACDgABAIUCDgABADQCDgABAHcCDgABAJQCDgABAF4CDgABAJcCDgABAEkCDgABALkCDgABAC8CDgABADkCDgABAIwCrgABAJsCrgABAC8CrgABAI4CrgABACoCrgABAHoCrgABAGMCrgABAKECrgABAJkCrgABAEsCrgABAMACrgABAJICDgABAJMCDgABAJ8CDgABAJECrgABAJ8CrgABAJcCrgABAJgCrgABAKACrgABAIwCvAABAI0DdAABAIwDdAABAJQDdAABAJkDagABADACvAABAJcDagABAIUCxgABADQCxgABAHcCxgABAJMCxgABAJQCxgABAF4C6AABAF4DoAABAJ8CsgABAJ8DYAABAJcCvAABAEkC0AABALkCxgABAJICxgABAC8DKwABADkC8gABAIwDXAABAJEEFAABAIwEFAABAJcEAAABAJsD9wABAC8DXAABAJkD9wABAI4DZgABACoDZgABAHoDZgABAJcDUgABAJEDQQABAGMDhQABAGMEPQABAJ8DSQABAKED5AABAJkDSQABAEsDcAABAMADZgABAJEDVwABAJIDfgABAJIDiAABAJMDfgABAJMDiAABAJ8DagABAJED+QABAJ8D3AABAJcECgABAJgECgABAKAD7QABAAACDgABAAACrgABAMoCrgABAMoDPQABAAEADgAcAKIAAAAAAAJERkxUAOBsYXRuAOQAFmFhbHQBFmNhc2UBHmNjbXABJGNjbXABMGRub20BPmZyYWMBRGxpZ2EBTmxudW0BVGxvY2wBWmxvY2wBYGxvY2wBZmxvY2wBbGxvY2wBcm51bXIBeG9udW0Bfm9yZG4BhHBudW0BjHNpbmYBknN1YnMBmHN1cHMBnnRudW0BpHplcm8BqgAlASoBMgE6AUgBSAFQAVgBWAFgAWgBcAF4AYABiAGQAZgBoAGoAagBsAHIAbgBwAHIAdAB2gHaAeIB7AH0AfwCBAIMAhQCHAIkAiwCrgAAAeQACkFaRSACqkNBVCACCkNSVCACqkdVQSACMktBWiACqk1PTCACWlBMSyACglJPTSACqlRBVCACqlRSSyAC0AAAAAIAAAABAAAAAQAiAAAABAACAAUACAAJAAAABQACAAUACAAJAAkAAAABABUAAAADABYAFwAYAAAAAQAjAAAAAQAeAAAAAQAOAAAAAQAMAAAAAQALAAAAAQANAAAAAQAKAAAAAQAUAAAAAQAhAAAAAgAbAB0AAAABAB8AAAABABIAAAABABEAAAABABMAAAABACAAAAABACQAAQAAAAECHgADAAAAAQLeAAYAAAAEAzADQgNWA2gAAQAAAAEDbAAGAAAAAQPCAAEAAAABA8oABAAAAAEEHAAEAAAAAQQqAAEAAAABBDAAAQAAAAEELgABAAAAAQQ0AAEAAAABBFIABgAAAAEEZgABAAAAAQRmAAEAAAABBGQAAQAAAAEEYgABAAAAAQR2AAEAAAABBHQAAQAAAAEEcgABAAAAAQRwAAYAAAACBG4EgAABAAAAAQSIAAYAAAACBIYEmAAB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Ae0B+AIOAhgCIgIsAAYB7gH5Ag8CGQIjAi0ABgHvAfoCEAIaAiQCLgAGAfAB+wIRAhsCJQIvAAYB8QH8AhICHAImAjAABAHSAd0B8gH+AAQB0gHdAf0B/gADAdMB3gH/AAMB1AHfAgAAAwHVAeACAQADAdYB4QICAAMB1wHiAgMAAwHYAeMCBAADAdkB5AIFAAMB2gHlAgYAAwHbAeYCBwADAd0B6AIIAAIB3gHpAAIB3wHqAAIB4AHrAAIB4QHsAAIB4gHtAAIB4wHuAAIB5AHvAAIB5QHwAAIB5gHxAAICRwJIAAIDFQMeAAEAAgEpAToAAgACAuEC4wAAAuUC7AADAAIABQLKAsoAAALPAs8AAQLRAtcAAgLZAtkACQLbAuAACgACAAIAAQDgAAABzQHOAOAAAgAIASkBKQAAAToBOgABAsoC3gACAuEC4QAXAusC9wAYAx4DIAAlAyIDJAAoAyYDJgArAAIABgLKAt4AAQLhAuEAAQLrAvcAAQMeAyAAAQMiAyQAAQMmAyYAAQACAAIC+gMdAAEDJwMsAAEAAgIAAg4AAgAGAsoC3gAAAuEC4QAVAusC9wAWAx4DIAAjAyIDJAAmAyYDJgApAAQB7gH0AfoCAAABAfwAAQH+AAECAAAEAgICCAIOAhQAAQIQAAECEgABAhQABAIWAhwCIgIoAAQCJAIqAjACNgADAjICOAI+AAMCPAJCAkgAAQABASkAAQAEAJsApAF9AYYAAgAEAMgAywAAAM0AzQAEAM8A0AAFAaoBsgAHAAEACwAfAGgAcACZANIA/wFJAVIBewG0AvAAAgH+Ag4AAQABAj4AAgACAUgBSAAAAdIB2wABAAEAAQJDAAEAAQIxAAIAAQITAhwAAAACAAECHQImAAAAAQACAAEA4QACAAEB0gHbAAAAAQACAG8BUQABAAQAAQBvAOEBUQABAbwAAgABAegB8QAAAAIAAgHzAfwAAAH+AgcACgACAAIB0gHbAAAB6AHxAAoAAgACAdIB2wAAAfMB/AAKAAIADgHoAfEAAAHzAfwACgH+AgcAFAI7AjsAHgI9Aj0AHwJIAkgAIAJPAlIAIQJVAlUAJQLKAt4AJgLhAuEAOwLrAvcAPAMeAyAASQMiAyQATAMmAyYATwAFAS4BNgE+AUQBSgABAAUB0gHdAegB8wH+AAIABgHSAdsAAAHoAfEACgHzAfwAFAH+AgcAHgI+Aj4AKALwAvAAKQAAAAEAAQABAAEAAAAGAAEAAQABAAAAAQAAAAcCzAACAtICzQACAtUCywACAtECzgACAtsC0AACAtsC2AACAtIC2gACAtsC/AACAwIC/QACAwUC+wACAwEC/gACAwsDAAACAwsDCAACAwIDCgACAwsDIwACAtIDJAACAtEDJQACAtwDJgACAtkDHwACAtIDIAACAtEDIQACAtwDIgACAtkDKgACAwIDKwACAwEDLAACAwkDJwACAwIDKAACAwEDKQACAwkAAQFAAAEAAQFAAAEAAAAPAAEAXQABAAEAXQABAAAAEALDAAMBUQI1AcYAAwEeASkBxwADAR4BQAHFAAIBHgHIAAIBKQHJAAIBQAABAAgCygLPAtcC2QL6Av8DBwMJAAEABALUAtYDBAMGAAEAAQBmAAEAAQEeAAAAAQABAAgAAwAAABQAAwAAACwAAndkdGgBAQAAd2dodAEAAAFpdGFsARoAAgAGABIAIgABAAAAAgEXAGQAAAADAAEAAgEFAZAAAAK8AAAAAwACAAIBGwAAAAAAAQAAAAA="},function(A,e){A.exports="AAEAAAAQAQAABAAAR0RFRjKtMbEAAYZMAAAApEdQT1OCdKNaAAGG8AAAPEJHU1VC8ultlwABwzQAAA68T1MvMoWzbIUAAVvwAAAAYFNUQVRe9kJpAAHR8AAAAFpjbWFw6HhtQQABXFAAAAeeZ2FzcAAAABAAAYZEAAAACGdseWZqnppRAAABDAABRxpoZWFkG3qflQABTrgAAAA2aGhlYQeeBOkAAVvMAAAAJGhtdHhoi29gAAFO8AAADNxsb2NhokzztwABSEgAAAZwbWF4cANDALQAAUgoAAAAIG5hbWXFduBIAAFj+AAABlhwb3N0OZNH0wABalAAABv0cHJlcGgGjIUAAWPwAAAABwAFAEoAAAI+ArwAAwAGAAkADAAPAABzESERJSEnBzcnAREHJzchSgH0/lwBVKrIqqoBkKoeqv6sArz9RDL/0v///gIB/v8t/wACAAoAAAMBArAABwAUAABzEyETIycjBzczJy4DJyMOAgcK+wEB++od8R1LliEECgoKBAgEDQ4HArD9UGFh+24MIiYlDhIuMRYAAAMACgAAAwEDdQAHABQAGQAAcxMhEyMnIwc3MycuAycjDgIHAzczFwcK+wEB++od8R1LliEECgoKBAgEDQ4HMVzQAqACsP1QYWH7bgwiJiUOEi4xFgGHhQSBAAMACgAAAwEDdQAHABQAJgAAcxMhEyMnIwc3MycuAycjDgIHEyImJjUzHgIzMjY2NzMUBgYK+wEB++od8R1LliEECgoKBAgEDQ4HLTpSLGACFycYGScYAl8tUwKw/VBhYftuDCImJQ4SLjEWAXwsQyEKGBAQGAohQywABAAKAAADAQQXAAcAFAAmACsAAHMTIRMjJyMHNzMnLgMnIw4CBxMiJiY1Mx4CMzI2NjczFAYGJzczFwcK+wEB++od8R1LliEECgoKBAgEDQ4HLTpSLGACFycYGScYAl8tU5dc0AKgArD9UGFh+24MIiYlDhIuMRYBfCxDIQoYEBAYCiFDLK2FBIEABAAK/z4DAQN1AAcAFAAYACoAAHMTIRMjJyMHNzMnLgMnIw4CBwM1MxUDIiYmNTMeAjMyNjY3MxQGBgr7AQH76h3xHUuWIQQKCgoECAQNDgcfmEw6UixgAhcnGBknGAJfLVMCsP1QYWH7bgwiJiUOEi4xFv3VhoYDpyxDIQoYEBAYCiFDLAAEAAoAAAMBBBcABwAUACYAKwAAcxMhEyMnIwc3MycuAycjDgIHEyImJjUzHgIzMjY2NzMUBgY3Iyc3Mwr7AQH76h3xHUuWIQQKCgoECAQNDgctOlIsYAIXJxgZJxgCXy1TN46gAtACsP1QYWH7bgwiJiUOEi4xFgF8LEMhChgQEBgKIUMsrYEEAAAEAAoAAAMBBCMABwAUACYAPwAAcxMhEyMnIwc3MycuAycjDgIHEyImJjUzHgIzMjY2NzMUBgYnNTMyNjU0JiMjNT4CMzIeAhUUBgYHFQr7AQH76h3xHUuWIQQKCgoECAQNDgctOlIsYAIXJxgZJxgCXy1TYQsSDBIROgwiIwwSLCcaGigXArD9UGFh+24MIiYlDhIuMRYBfCxDIQoYEBAYCiFDLKk4BwoLBjMDAwIHDxkTExkMAhkABAAKAAADAQQXAAcAFAAmAD4AAHMTIRMjJyMHNzMnLgMnIw4CBxMiJiY1Mx4CMzI2NjczFAYGJTQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHCvsBAfvqHfEdS5YhBAoKCgQIBA0OBy06UixgAhcnGBknGAJfLVP+6SM/KiA7NxsTGgVRIz8qIDs3GxMaBQKw/VBhYftuDCImJQ4SLjEWAXwsQyEKGBAQGAohQyyjJEIpFBQXESRBKhQUFxEAAwAKAAADAQN1AAcAFAAcAABzEyETIycjBzczJy4DJyMOAgcDMxcjNzMHIwr7AQH76h3xHUuWIQQKCgoECAQNDgexlmU6ZZiGsgKw/VBhYftuDCImJQ4SLjEWAgxZWYUAAwAKAAADAQN1AAcAFAAcAABzEyETIycjBzczJy4DJyMOAgcDNzMXIyczBwr7AQH76h3xHUuWIQQKCgoECAQNDgexhrKGmGU6ZQKw/VBhYftuDCImJQ4SLjEWAYeFhVlZAAAEAAoAAAMBBBcABwAUABwAIQAAcxMhEyMnIwc3MycuAycjDgIHAzczFyMnMwcnNzMXBwr7AQH76h3xHUuWIQQKCgoECAQNDgexhrKGmGU6ZRZc0AKgArD9UGFh+24MIiYlDhIuMRYBh4WFWVmihQSBAAAEAAr/PgMBA3UABwAUABgAIAAAcxMhEyMnIwc3MycuAycjDgIHAzUzFQE3MxcjJzMHCvsBAfvqHfEdS5YhBAoKCgQIBA0OBx+Y/taGsoaYZTplArD9UGFh+24MIiYlDhIuMRb91YaGA7KFhVlZAAQACgAAAwEEFwAHABQAHAAhAABzEyETIycjBzczJy4DJyMOAgcDNzMXIyczBzcjJzczCvsBAfvqHfEdS5YhBAoKCgQIBA0OB7GGsoaYZTpluI6gAtACsP1QYWH7bgwiJiUOEi4xFgGHhYVZWaKBBAAEAAoAAAMBBCMABwAUABwANQAAcxMhEyMnIwc3MycuAycjDgIHAzczFyMnMwc3NTMyNjU0JiMjNT4CMzIeAhUUBgYHFQr7AQH76h3xHUuWIQQKCgoECAQNDgexhrKGmGU6ZSALEgwSEToMIiMMEiwnGhooFwKw/VBhYftuDCImJQ4SLjEWAYeFhVlZnjgHCgsGMwMDAgcPGRMTGQwCGQAABAAKAAADAQQXAAcAFAAcADQAAHMTIRMjJyMHNzMnLgMnIw4CBwM3MxcjJzMHJzQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHCvsBAfvqHfEdS5YhBAoKCgQIBA0OB7GGsoaYZTplliM/KiA7NxsTGgVRIz8qIDs3GxMaBQKw/VBhYftuDCImJQ4SLjEWAYeFhVlZmCRCKRQUFxEkQSoUFBcRAAQACgAAAwEDdQAHABQAGQAeAABzEyETIycjBzczJy4DJyMOAgcTJzczFyEnNzMXCvsBAfvqHfEdS5YhBAoKCgQIBA0OB3aLArxM/pqLArxMArD9UGFh+24MIiYlDhIuMRYBh4EEhYEEhQAEAAoAAAMBA3UABwAUABgAHAAAcxMhEyMnIwc3MycuAycjDgIHAzUzFTM1MxUK+wEB++od8R1LliEECgoKBAgEDQ4HjZhEmAKw/VBhYftuDCImJQ4SLjEWAYGLi4uLAAADAAr/PgMBArAABwAUABgAAHMTIRMjJyMHNzMnLgMnIw4CBwM1MxUK+wEB++od8R1LliEECgoKBAgEDQ4HH5gCsP1QYWH7bgwiJiUOEi4xFv3VhoYAAAMACgAAAwEDdQAHABQAGQAAcxMhEyMnIwc3MycuAycjDgIHEyMnNzMK+wEB++od8R1LliEECgoKBAgEDQ4HnY6gAtACsP1QYWH7bgwiJiUOEi4xFgGHgQQAAAMACgAAAwEDgQAHABQALQAAcxMhEyMnIwc3MycuAycjDgIHEzUzMjY1NCYjIzU+AjMyHgIVFAYGBxUK+wEB++od8R1LliEECgoKBAgEDQ4HBQsSDBIROgwiIwwSLCcaGigXArD9UGFh+24MIiYlDhIuMRYBgzgHCgsGMwMDAgcPGRMTGQwCGQADAAoAAAMBA3UABwAUACYAAHMTIRMjJyMHNzMnLgMnIw4CBwM0NjYzMhYWFSMuAiMiBgYHCvsBAfvqHfEdS5YhBAoKCgQIBA0OB4stVDg6UixgAhcmGRgoGAICsP1QYWH7bgwiJiUOEi4xFgF8IkIsLEIiCxcQEBcLAAMACgAAAwEDTgAHABQAGAAAcxMhEyMnIwc3MycuAycjDgIHAzUhFQr7AQH76h3xHUuWIQQKCgoECAQNDgdyAT0CsP1QYWH7bgwiJiUOEi4xFgGBZGQAAwAK/y0DAQKwAAcAFAAoAABzEyETIycjBzczJy4DJyMOAgcBIiYmNTQ2NzMVBgYVFBYzMxUGBgr7AQH76h3xHUuWIQQKCgoECAQNDgcBEyA6JCERahISGho8FzoCsP1QYWH7bgwiJiUOEi4xFv3EFzIpJTMVBAwnExcjTAcIAAAEAAoAAAMBA7AABwAUACAALAAAcxMhEyMnIwc3MycuAycjDgIHEyImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWCvsBAfvqHfEdS5YhBAoKCgQIBA0OBy0yQkIyMkJCMhEXFxERFxcCsP1QYWH7bgwiJiUOEi4xFgFuPS8vPj4vLz1HFhAQFBUREBQABQAKAAADAQRTAAcAFAAgACwAMQAAcxMhEyMnIwc3MycuAycjDgIHEyImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWJzczFwcK+wEB++od8R1LliEECgoKBAgEDQ4HLTJCQjIyQkIyERcXEREXF01c0AKgArD9UGFh+24MIiYlDhIuMRYBbj0vLz4+Ly89RxYQEBQVERAUsIUEgQADAAoAAAMBA3UABwAUACwAAHMTIRMjJyMHNzMnLgMnIw4CBwM0NjYzMhYWMzI2NzMUBgYjIiYmIyIGBwr7AQH76h3xHUuWIQQKCgoECAQNDgexIz8qIDs3GxMaBVEjPyogOzcbExoFArD9UGFh+24MIiYlDhIuMRYBfSRCKRQUFxEkQSoUFBcRAAACAAAAAAPRArAADwAdAABxASEVIRchFSMXIRUhJyMHNzMnLgMnIw4DBwEjAqf+kxYBH/oYASH+MxbqIlmRLgECAgIBBAEEAwMCArClX55ppWFh+9AFCQkKBAQKCQkFAAADAAAAAAPRA3UADwAdACIAAHEBIRUhFyEVIxchFSEnIwc3MycuAycjDgMHEzczFwcBIwKn/pMWAR/6GAEh/jMW6iJZkS4BAgICAQQBBAMDAi9c0AKgArClX55ppWFh+9AFCQkKBAQKCQkFASWFBIEAAwBKAAAC4gKwABMAHQAnAABzESEyFhYVFAYGBxUeAhUUBgYjJzMyNjU0JiYjIzUzMjY2NTQmIyNKAco0VjQgNB8kOyQ2WjjzqBccDRcPqJgQFg0eFZgCsCtMMjJAJQkECCdGNzdSLqAgIA8ZDo4PHBUWHwABAC3/9ALdArwAIQAARSImJjU0NjMyFhYVIzQmJiMiBgYVFRQWFjMyNjY1MxQGBgGSdZ9RtbBklVLTHDUoLzkaGzgtLDkdzE6UDFCfdbC0Q4RgKDogKEgvQC9IKB45J16CQwAAAgAt//QC3QN1ACEAJgAARSImJjU0NjMyFhYVIzQmJiMiBgYVFRQWFjMyNjY1MxQGBgM3MxcHAZJ1n1G1sGSVUtMcNSgvORobOC0sOR3MTpTRXNACoAxQn3WwtEOEYCg6IChIL0AvSCgeOSdegkMC/IUEgQACAC3/9ALdA3UAIQApAABFIiYmNTQ2MzIWFhUjNCYmIyIGBhUVFBYWMzI2NjUzFAYGATMXIzczByMBknWfUbWwZJVS0xw1KC85Ghs4LSw5HcxOlP6vlmU6ZZiGsgxQn3WwtEOEYCg6IChIL0AvSCgeOSdegkMDgVlZhQAAAgAt/y0C3QK8ACEAOQAARSImJjU0NjMyFhYVIzQmJiMiBgYVFRQWFjMyNjY1MxQGBgciJic1MzI2NTQmIyM3MwceAhUUDgIBknWfUbWwZJVS0xw1KC85Ghs4LSw5HcxOlGgiTRZpEhYQFigUYAsSJxoZJioMUJ91sLRDhGAoOiAoSC9AL0goHjknXoJDxwkHOQYQDwmDRAITJR8cJRQIAAIALf/0At0DdQAhACkAAEUiJiY1NDYzMhYWFSM0JiYjIgYGFRUUFhYzMjY2NTMUBgYBNzMXIyczBwGSdZ9RtbBklVLTHDUoLzkaGzgtLDkdzE6U/q+GsoaYZTplDFCfdbC0Q4RgKDogKEgvQC9IKB45J16CQwL8hYVZWQACAC3/9ALdA3UAIQAlAABFIiYmNTQ2MzIWFhUjNCYmIyIGBhUVFBYWMzI2NjUzFAYGAzUzFQGSdZ9RtbBklVLTHDUoLzkaGzgtLDkdzE6UvZgMUJ91sLRDhGAoOiAoSC9AL0goHjknXoJDAvaLiwAAAgBKAAAC3QKwAAoAGAAAcxEhMhYWFRQGBiMnMzI+AjU1NC4CIyNKASp2oFNToHZNSSQ1IhAQIjUkSQKwSph2dZlKpRQmOCM8IzgmFAAABABKAAAFswN1AAoAGAAiACoAAHMRITIWFhUUBgYjJzMyPgI1NTQuAiMjATUBITUhFQEhFQEzFyM3MwcjSgEqdqBTU6B2TUkkNSIQECI1JEkB8QE//tkCe/7BAUf925ZlOmWYhrICsEqYdnWZSqUUJjgjPCM4JhT99UcBxKVH/jylA3VZWYUAAAMAAAAAAt0CsAADAA4AHAAAUTUhFQERITIWFhUUBgYjJzMyPgI1NTQuAiMjAZD+ugEqdqBTU6B2TUkkNSIQECI1JEkBF4qK/ukCsEqYdnWZSqUUJjgjPCM4JhQAAwBKAAAC3QN1AAoAGAAgAABzESEyFhYVFAYGIyczMj4CNTU0LgIjIwMzFyM3MwcjSgEqdqBTU6B2TUkkNSIQECI1JEmElmU6ZZiGsgKwSph2dZlKpRQmOCM8IzgmFAFqWVmFAAMAAAAAAt0CsAADAA4AHAAAUTUhFQERITIWFhUUBgYjJzMyPgI1NTQuAiMjAZD+ugEqdqBTU6B2TUkkNSIQECI1JEkBF4qK/ukCsEqYdnWZSqUUJjgjPCM4JhQABABKAAAFIQLVAAoAGAAiACoAAHMRITIWFhUUBgYjJzMyPgI1NTQuAiMjATUTIzUhFQMzFQEzFyM3MwcjSgEqdqBTU6B2TUkkNSIQECI1JEkB997SAe7g6f4mkWU6ZZOGqAKwSph2dZlKpRQmOCM8IzgmFP31QQFIhz7+tYcC1VlZhQAAAQBNAAACpwKwAAsAAHMRIRUhFSEVIRUhFU0CU/6KAUD+wAF9ArClX55ppQACAE0AAAKnA3UACwAQAABzESEVIRUhFSEVIRUBNzMXB00CU/6KAUD+wAF9/nVc0AKgArClX55ppQLwhQSBAAIATQAAAqcDdQALAB0AAHMRIRUhFSEVIRUhFQEiJiY1Mx4CMzI2NjczFAYGTQJT/ooBQP7AAX3+0zpSLGACFycZGCcYAl8tUwKwpV+eaaUC5SxDIQoYEBAYCiFDLAACAE0AAAKnA3UACwATAABzESEVIRUhFSEVIRUBMxcjNzMHI00CU/6KAUD+wAF9/fWWZTplmIayArClX55ppQN1WVmFAAIATQAAAqcDdQALABMAAHMRIRUhFSEVIRUhFQE3MxcjJzMHTQJT/ooBQP7AAX399YayhphlOmUCsKVfnmmlAvCFhVlZAAADAE0AAAKnBBcACwATABgAAHMRIRUhFSEVIRUhFQE3MxcjJzMHJzczFwdNAlP+igFA/sABff31hrKGmGU6ZRZc0AKgArClX55ppQLwhYVZWaKFBIEAAAMATf8+AqcDdQALAA8AFwAAcxEhFSEVIRUhFSEVBTUzFQE3MxcjJzMHTQJT/ooBQP7AAX3+iZj+1IayhphlOmUCsKVfnmmlwoaGA7KFhVlZAAADAE0AAAKnBBcACwATABgAAHMRIRUhFSEVIRUhFQE3MxcjJzMHNyMnNzNNAlP+igFA/sABff31hrKGmGU6ZbiOoALQArClX55ppQLwhYVZWaKBBAADAE0AAAKnBCMACwATACwAAHMRIRUhFSEVIRUhFQE3MxcjJzMHNzUzMjY1NCYjIzU+AjMyHgIVFAYGBxVNAlP+igFA/sABff31hrKGmGU6ZSALEgwSEToMIyIMEiwnGhooFwKwpV+eaaUC8IWFWVmeOAcKCwYzAwMCBw8ZExMZDAIZAAADAE0AAAKnBBcACwATACsAAHMRIRUhFSEVIRUhFQE3MxcjJzMHJzQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHTQJT/ooBQP7AAX399YayhphlOmWWIz8qIDs3GxMaBVEjPyogOzcbExoFArClX55ppQLwhYVZWZgkQikUFBcRJEEqFBQXEQADAE0AAAKnA3UACwAQABUAAHMRIRUhFSEVIRUhFQMnNzMXISc3MxdNAlP+igFA/sABfeSLArxM/pqLArxMArClX55ppQLwgQSFgQSFAAADAE0AAAKnA3UACwAPABMAAHMRIRUhFSEVIRUhFQE1MxUzNTMVTQJT/ooBQP7AAX3+GZhEmAKwpV+eaaUC6ouLi4sAAAIATQAAAqcDdQALAA8AAHMRIRUhFSEVIRUhFQE1MxVNAlP+igFA/sABff6JmAKwpV+eaaUC6ouLAAACAE3/PgKnArAACwAPAABzESEVIRUhFSEVIRUFNTMVTQJT/ooBQP7AAX3+iZgCsKVfnmmlwoaGAAIATQAAAqcDdQALABAAAHMRIRUhFSEVIRUhFQMjJzczTQJT/ooBQP7AAX29jqAC0AKwpV+eaaUC8IEEAAIATQAAAqcDgQALACQAAHMRIRUhFSEVIRUhFQE1MzI2NTQmIyM1PgIzMh4CFRQGBgcVTQJT/ooBQP7AAX3+qwsSDBIROgwjIgwSLCcaGigXArClX55ppQLsOAcKCwYzAwMCBw8ZExMZDAIZAAIATQAAAqcDdQALAB0AAHMRIRUhFSEVIRUhFQE0NjYzMhYWFSMuAiMiBgYHTQJT/ooBQP7AAX3+Gy1UODpSLGACFyYZGCgYAgKwpV+eaaUC5SJCLCxCIgsXEBAXCwACAE0AAAKnA04ACwAPAABzESEVIRUhFSEVIRUBNSEVTQJT/ooBQP7AAX3+NAE9ArClX55ppQLqZGQAAgBN/y0CpwKwAAsAHwAAcxEhFSEVIRUhFSEVByImJjU0NjczFQYGFRQWMzMVBgZNAlP+igFA/sABfWogOiQhEWoSEhoaPBc6ArClX55ppdMXMiklMxUEDCcTFyNMBwgAAgBNAAACpwN1AAsAIwAAcxEhFSEVIRUhFSEVATQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHTQJT/ooBQP7AAX399SM/KiA7NxsTGgVRIz8qIDs3GxMaBQKwpV+eaaUC5iRCKRQUFxEkQSoUFBcRAAABAEoAAAJ2ArAACQAAcxEhFSEVIRUhFUoCLP6xASD+4AKwpXae9wAAAQAt//QDAgK8ACoAAEUiJjU0NjYzMh4CFSM0LgIjIg4CFRUUFhYzMjY2NTUjNSERIycOAgGErKtYqHdIf2E20xUkLxonPCcUI0c0IzsknAFvchYfSlgMtLB2nlAhQWJBFiQZDRUqOiZAMkcmFSgaBIz+gEQaJBIAAgAt//QDAgN1ACoAPAAARSImNTQ2NjMyHgIVIzQuAiMiDgIVFRQWFjMyNjY1NSM1IREjJw4CAyImJjUzHgIzMjY2NzMUBgYBhKyrWKh3SH9hNtMVJC8aJzwnFCNHNCM7JJwBb3IWH0pYHjpSLGACFycYGScYAl8tUwy0sHaeUCFBYkEWJBkNFSo6JkAyRyYVKBoEjP6ARBokEgLxLEMhChgQEBgKIUMsAAACAC3/9AMCA3UAKgAyAABFIiY1NDY2MzIeAhUjNC4CIyIOAhUVFBYWMzI2NjU1IzUhESMnDgIDMxcjNzMHIwGErKtYqHdIf2E20xUkLxonPCcUI0c0IzsknAFvchYfSlj8lmU6ZZiGsgy0sHaeUCFBYkEWJBkNFSo6JkAyRyYVKBoEjP6ARBokEgOBWVmFAAACAC3/9AMCA3UAKgAyAABFIiY1NDY2MzIeAhUjNC4CIyIOAhUVFBYWMzI2NjU1IzUhESMnDgIDNzMXIyczBwGErKtYqHdIf2E20xUkLxonPCcUI0c0IzsknAFvchYfSlj8hrKGmGU6ZQy0sHaeUCFBYkEWJBkNFSo6JkAyRyYVKBoEjP6ARBokEgL8hYVZWQACAC3+tgMCArwAKgA2AABFIiY1NDY2MzIeAhUjNC4CIyIOAhUVFBYWMzI2NjU1IzUhESMnDgIDNTI2NSM1MxUUBgYBhKyrWKh3SH9hNtMVJC8aJzwnFCNHNCM7JJwBb3IWH0pYbCgfR5gdQwy0sHaeUCFBYkEWJBkNFSo6JkAyRyYVKBoEjP6ARBokEv7CQR8oi3A8SB8AAAIALf/0AwIDdQAqAC4AAEUiJjU0NjYzMh4CFSM0LgIjIg4CFRUUFhYzMjY2NTUjNSERIycOAgM1MxUBhKyrWKh3SH9hNtMVJC8aJzwnFCNHNCM7JJwBb3IWH0pYaJgMtLB2nlAhQWJBFiQZDRUqOiZAMkcmFSgaBIz+gEQaJBIC9ouLAAEASgAAAvcCsAALAABzETMVMzUzESMRIxFK3fPd3fMCsPv7/VABBf77AAIAAQAAAz8CsAALAA8AAHMRMxUzNTMRIxEjEQE1IRVK3fPd3fP+2gM+ArD7+/1QAQX++wHzdnYAAgBKAAAC9wN1AAsAEwAAcxEzFTM1MxEjESMRAzczFyMnMwdK3fPd3fNlhrKGmGU6ZQKw+/v9UAEF/vsC8IWFWVkAAgBK/z4C9wKwAAsADwAAcxEzFTM1MxEjESMRFzUzFUrd893d8yuYArD7+/1QAQX++8KGhgAAAQBKAAABJwKwAAMAAHMRMxFK3QKw/VAAAgBK//QDwgKwAAMAFwAAcxEzEQUiJiY1NTMVFBYzMjY1ETMRFAYGSt0BflmARM8kIyMk3USAArD9UAw0b1gJCDAnJzABwP4/WG80AAIASgAAAYkDdQADAAgAAHMRMxEDNzMXB0rdzFzQAqACsP1QAvCFBIEAAAIAAQAAAXIDdQADABUAAHMRMxEDIiYmNTMeAjMyNjY3MxQGBkrdbjpSLGACFycYGScYAl8tUwKw/VAC5SxDIQoYEBAYCiFDLAAAAv/bAAABmQN1AAMACwAAcxEzEQEzFyM3MwcjSt3+tJZlOmWYhrICsP1QA3VZWYUAAv/bAAABmQN1AAMACwAAcxEzEQE3MxcjJzMHSt3+tIayhphlOmUCsP1QAvCFhVlZAAAD/5AAAAGBA3UAAwAIAA0AAHMRMxEDJzczFyEnNzMXSt0liwK8TP6aiwK8TAKw/VAC8IEEhYEEhQAAA///AAABcwN1AAMABwALAABzETMRATUzFTM1MxVK3f7YmESYArD9UALqi4uLiwAAAgBKAAABJwN1AAMABwAAcxEzEQM1MxVK3biYArD9UALqi4sAAgBK/z4BJwKwAAMABwAAcxEzEQc1MxVK3buYArD9UMKGhgAAAv/7AAABKQN1AAMACAAAcxEzERMjJzczSt0CjqAC0AKw/VAC8IEEAAIASgAAATkDgQADABwAAHMRMxEDNTMyNjU0JiMjNT4CMzIeAhUUBgYHFUrdlgsSDBIROgwjIgwSLCcaGigXArD9UALsOAcKCwYzAwMCBw8ZExMZDAIZAAACAAEAAAFyA3UAAwAVAABzETMRATQ2NjMyFhYVIy4CIyIGBgdK3f7aLVQ4OlIsYAIXJhkYKBgCArD9UALlIkIsLEIiCxcQEBcLAAIAGgAAAVcDTgADAAcAAHMRMxEBNSEVSt3+8wE9ArD9UALqZGQAAgA//y0BJwKwAAMAFwAAcxEzEQciJiY1NDY3MxUGBhUUFjMzFQYGSt1qIDokIRFqEhIaGjwXOgKw/VDTFzIpJTMVBAwnExcjTAcIAAL/2wAAAZcDdQADABsAAHMRMxEBNDY2MzIWFjMyNjczFAYGIyImJiMiBgdK3f60Iz8qIDs3GxMaBVEjPyogOzcbExoFArD9UALmJEIpFBQXESRBKhQUFxEAAAEAF//0AlECsAATAABFIiYmNTUzFRQWMzI2NREzERQGBgE0WYBEzyQjIyTdRIAMNG9YCQgwJycwAcD+P1hvNAACABf/9ALDA3UAEwAbAABFIiYmNTUzFRQWMzI2NREzERQGBgM3MxcjJzMHATRZgETPJCMjJN1EgIiGsoaYZTplDDRvWAkIMCcnMAHA/j9YbzQC/IWFWVkAAQBKAAADMwKwAAsAAHMRMxETIQMTIQMHFUrd9QES9/z++5J1ArD+2gEm/uX+awEBcZAAAAIASv62AzMCsAALABcAAHMRMxETIQMTIQMHFRM1MjY1IzUzFRQGBkrd9QES9/z++5J1NygfR5gdQwKw/toBJv7l/msBAXGQ/rZBHyiLcDxIHwABAEoAAAKIArAABQAAcxEzESEVSt0BYQKw/gCwAAACAEr/9ATYArAABQAZAABzETMRIRUFIiYmNTUzFRQWMzI2NREzERQGBkrdAWEBM1mARM8kIyMk3USAArD+ALAMNG9YCQgwJycwAcD+P1hvNAAAAgBKAAACiAN1AAUACgAAcxEzESEVATczFwdK3QFh/dJc0AKgArD+ALAC8IUEgQAAAgBKAAACiALVAAUACQAAcxEzESEVAzUzB0rdAWHOoiwCsP4AsAIrqqoAAgBK/rYCiAKwAAUAEQAAcxEzESEVATUyNjUjNTMVFAYGSt0BYf6eKB9HmB1DArD+ALD+tkEfKItwPEgfAAACAEoAAAKIArAABQAJAABzETMRIRUDNTMVSt0BYc+ZArD+ALABNouLAAADAEr/LgOeAtUABQAJABkAAHMRMxEhFRM1MxUDIiYmJzUzMjY1ETMRFAYGSt0BYU/HtxAuLhA0HhrHJlECsP4AsAJOh4f84AQJBXchHwIZ/dNAUCUAAAIAAAAAAogCsAAFAAkAAHMRMxEhFSU1ARVK3QFh/XgBvAKw/gCwpGIBEmQAAQBKAAADggKwACcAAHMRIRceAhczPgI3NyERIzU0NjY1Iw4CBwMjAy4CJyMeAhUVSgE0PwQPEQcIBQ8QBj8BKdMBAQgDCwwGWaVaBQ0KBAgBAgECsPINPEYeFj1AGvL9UPgoVUwZFDY1FP65AUcUNTYTGUxUKPgAAQBKAAAC9wKwABgAAHMRMxceAhc3JjQ1NTMRIwMmJicHFhQVEUq81gkeHwgFAcm78REYCwUBArD3CiYnDAIcNw73/VABExQhDwITJgn+7QACAEr/9AWSArAAGAAsAABzETMXHgIXNyY0NTUzESMDJiYnBxYUFREFIiYmNTUzFRQWMzI2NREzERQGBkq81gkeHwgFAcm78REYCwUBA2JZgETPJCMjJN1EgAKw9womJwwCHDcO9/1QARMUIQ8CEyYJ/u0MNG9YCQgwJycwAcD+P1hvNAACAEoAAAL3A3UAGAAdAABzETMXHgIXNyY0NTUzESMDJiYnBxYUFRETNzMXB0q81gkeHwgFAcm78REYCwUBMFzQAqACsPcKJicMAhw3Dvf9UAETFCEPAhMmCf7tAvCFBIEAAAIASgAAAvcDdQAYACAAAHMRMxceAhc3JjQ1NTMRIwMmJicHFhQVEQMzFyM3MwcjSrzWCR4fCAUBybvxERgLBQFQlmU6ZZiGsgKw9womJwwCHDcO9/1QARMUIQ8CEyYJ/u0DdVlZhQAAAgBK/rYC9wKwABgAJAAAcxEzFx4CFzcmNDU1MxEjAyYmJwcWFBUREzUyNjUjNTMVFAYGSrzWCR4fCAUBybvxERgLBQE/KB9HmB1DArD3CiYnDAIcNw73/VABExQhDwITJgn+7f62QR8oi3A8SB8AAAEASv8uAvcCsAAmAABFIiYmJzUzMjY1NQMmJicHFBQVESMRMxceAhc3NDQ1NTMRFA4CAkAQLi4QNB4a5w8WCgXLvtYIHB0IBcsVLUXSBAkFdyEfFAEIERwNAw0cDv7tArD3CSIjCwIXKhb3/TMwRSsVAAH/3v8uAvcCsAAlAABXIiYmJzUzMjY1ETMXHgIXNzQ0NTUzESMDJiYnBxQUFREUDgJaEC4uEDQeGr7WCBwdCAXLvfEPFgoFFi9G0gQJBXchHwK59wkiIwsDFioW9/1QARMRHA0DDxoO/tAwRSsVAAADAEr/LgREAtUAGAAcACwAAHMRMxceAhc3JjQ1NTMRIwMmJicHFhQVEQE1MxUDIiYmJzUzMjY1ETMRFAYGSrzWCR4fCAUBybvxERgLBQECase3EC4uEDQeGscmUQKw9womJwwCHDcO9/1QARMUIQ8CEyYJ/u0CToeH/OAECQV3IR8CGf3TQFAlAAACAEoAAAL3A3UAGAAwAABzETMXHgIXNyY0NTUzESMDJiYnBxYUFREDNDY2MzIWFjMyNjczFAYGIyImJiMiBgdKvNYJHh8IBQHJu/ERGAsFAVAjPyogOzcbExoFUSM/KiA7NxsTGgUCsPcKJicMAhw3Dvf9UAETFCEPAhMmCf7tAuYkQikUFBcRJEEqFBQXEQACAC3/9AMUArwADwAlAABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDcMUJ91dp5QUJ52dZ9QpRcqOyNAIzsqFxcqOyNAIzsqFwAAAwAt//QDFAN1AA8AJQAqAABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CAzczFwcBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkNzpc0AKgDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcCV4UEgQADAC3/9AMUA3UADwAlADcAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgITIiYmNTMeAjMyNjY3MxQGBgGgdaZYWKZ1dqZYWKZ2JDclEhIlNyQkNyQSEiQ3JDpSLGACFycYGScYAl8tUwxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAkwsQyEKGBAQGAohQywAAwAt//QDFAN1AA8AJQAtAABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CAzMXIzczByMBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkN7qWZTplmIayDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcC3FlZhQADAC3/9AMUA3UADwAlAC0AAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNzMXIyczBwGgdaZYWKZ1dqZYWKZ2JDclEhIlNyQkNyQSEiQ3uoayhphlOmUMUJ91dp5QUJ52dZ9QpRcqOyNAIzsqFxcqOyNAIzsqFwJXhYVZWQAABAAt//QDFAQXAA8AJQAtADIAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNzMXIyczByc3MxcHAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDe6hrKGmGU6ZRZc0AKgDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcCV4WFWVmihQSBAAAEAC3/PgMUA3UADwAlACkAMQAARSImJjU0NjYzMhYWFRQGBicyPgI1NTQuAiMiDgIVFRQeAgM1MxUBNzMXIyczBwGgdaZYWKZ1dqZYWKZ2JDclEhIlNyQkNyQSEiQ3J5j+1YayhphlOmUMUJ91dp5QUJ52dZ9QpRcqOyNAIzsqFxcqOyNAIzsqF/6lhoYDsoWFWVkABAAt//QDFAQXAA8AJQAtADIAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNzMXIyczBzcjJzczAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDe6hrKGmGU6ZbiOoALQDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcCV4WFWVmigQQABAAt//QDFAQjAA8AJQAtAEYAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNzMXIyczBzc1MzI2NTQmIyM1PgIzMh4CFRQGBgcVAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDe6hrKGmGU6ZSALEgwSEToMIiMMEiwnGhooFwxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAleFhVlZnjgHCgsGMwMDAgcPGRMTGQwCGQAABAAt//QDFAQXAA8AJQAtAEUAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNzMXIyczByc0NjYzMhYWMzI2NzMUBgYjIiYmIyIGBwGgdaZYWKZ1dqZYWKZ2JDclEhIlNyQkNyQSEiQ3uoayhphlOmWWIz8qIDs3GxMaBVEjPyogOzcbExoFDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcCV4WFWVmYJEIpFBQXESRBKhQUFxEABAAt//QDFAN1AA8AJQAqAC8AAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgITJzczFyEnNzMXAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDdtiwK8TP6aiwK8TAxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAleBBIWBBIUABAAt//QDFAN1AA8AJQApAC0AAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNTMVMzUzFQGgdaZYWKZ1dqZYWKZ2JDclEhIlNyQkNyQSEiQ3lphEmAxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAlGLi4uLAAAFAC3/9AMUBAQADwAlACkALQAxAABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CAzUzFTM1MxUlNSEVAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDeWmESY/qcBPQxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAlGLi4uLtmRkAAQALf/0AxQEBAAPACUAKQAtAABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CAzUzFSc1IRUBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkNyaY6wE9DFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcCUYuLtmRkAAADAC3/PgMUArwADwAlACkAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNTMVAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDcnmAxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoX/qWGhgAAAwAt//QDFAN1AA8AJQAqAABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CEyMnNzMBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkN5SOoALQDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcCV4EEAAADAC3/9AMUA4EADwAlAD4AAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNTMyNjU0JiMjNT4CMzIeAhUUBgYHFQGgdaZYWKZ1dqZYWKZ2JDclEhIlNyQkNyQSEiQ3BAsSDBIROgwiIwwSLCcaGigXDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcCUzgHCgsGMwMDAgcPGRMTGQwCGQADAC3/9AN1Az0ADwAlADEAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIBNTI2NyM1MxUUBgYBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkNwEhKTkIRrQwYAxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAYNXGxyTV0BbLwAEAC3/9AN1A3UADwAlADEANgAARSImJjU0NjYzMhYWFRQGBicyPgI1NTQuAiMiDgIVFRQeAgE1MjY3IzUzFRQGBiU3MxcHAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDcBISk5CEa0MGD+XlzQAqAMUJ91dp5QUJ52dZ9QpRcqOyNAIzsqFxcqOyNAIzsqFwGDVxsck1dAWy/UhQSBAAAEAC3/PgN1Az0ADwAlADEANQAARSImJjU0NjYzMhYWFRQGBicyPgI1NTQuAiMiDgIVFRQeAgE1MjY3IzUzFRQGBgE1MxUBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkNwEhKTkIRrQwYP5wmAxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAYNXGxyTV0BbL/0ihoYAAAQALf/0A3UDdQAPACUAMQA2AABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CATUyNjcjNTMVFAYGJyMnNzMBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkNwEhKTkIRrQwYNSOoALQDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcBg1cbHJNXQFsv1IEEAAAEAC3/9AN1A4EADwAlADEASgAARSImJjU0NjYzMhYWFRQGBicyPgI1NTQuAiMiDgIVFRQeAgE1MjY3IzUzFRQGBiU1MzI2NTQmIyM1PgIzMh4CFRQGBgcVAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDcBISk5CEa0MGD+lAsSDBIROgwiIwwSLCcaGigXDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcBg1cbHJNXQFsv0DgHCgsGMwMDAgcPGRMTGQwCGQAABAAt//QDdQN1AA8AJQAxAEkAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIBNTI2NyM1MxUUBgYlNDY2MzIWFjMyNjczFAYGIyImJiMiBgcBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkNwEhKTkIRrQwYP3eIz8qIDs3GxMaBVEjPyogOzcbExoFDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcBg1cbHJNXQFsvyiRCKRQUFxEkQSoUFBcRAAQALf/0AxQDdQAPACUAKgAvAABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CEzczFwchNzMXBwGgdaZYWKZ1dqZYWKZ2JDclEhIlNyQkNyQSEiQ3VEy8Aov+mky8AosMUJ91dp5QUJ52dZ9QpRcqOyNAIzsqFxcqOyNAIzsqFwJXhQSBhQSBAAMALf/0AxQDdQAPACUANwAARSImJjU0NjYzMhYWFRQGBicyPgI1NTQuAiMiDgIVFRQeAgM0NjYzMhYWFSMuAiMiBgYHAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDeULVQ4OlIsYAIXJhkYKBgCDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7KhcCTCJCLCxCIgsXEBAXCwADAC3/9AMUA04ADwAlACkAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNSEVAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDd7AT0MUJ91dp5QUJ52dZ9QpRcqOyNAIzsqFxcqOyNAIzsqFwJRZGQAAwAt/y0DFAK8AA8AJQA5AABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CEyImJjU0NjczFQYGFRQWMzMVBgYBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkN5ogOiQhEWoSEhoaPBc6DFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7Khf+lBcyKSUzFQQMJxMXI0wHCAADAC3/2wMUAtQADwAlACkAAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIFATMBAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDf+uQJpbP2XDFCfdXaeUFCednWfUKUXKjsjQCM7KhcXKjsjQCM7Khe+Avn9BwAABAAt/9sDFAN1AA8AJQApAC4AAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIFATMBEzczFwcBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkN/65Amls/ZehXNACoAxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXvgL5/QcDFYUEgQADAC3/9AMUA3UADwAlAD0AAEUiJiY1NDY2MzIWFhUUBgYnMj4CNTU0LgIjIg4CFRUUHgIDNDY2MzIWFjMyNjczFAYGIyImJiMiBgcBoHWmWFimdXamWFimdiQ3JRISJTckJDckEhIkN7ojPyogOzcbExoFUSM/KiA7NxsTGgUMUJ91dp5QUJ52dZ9QpRcqOyNAIzsqFxcqOyNAIzsqFwJNJEIpFBQXESRBKhQUFxEAAAQALf/0AxQEBAAPACUAPQBBAABFIiYmNTQ2NjMyFhYVFAYGJzI+AjU1NC4CIyIOAhUVFB4CAzQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHJzUhFQGgdaZYWKZ1dqZYWKZ2JDclEhIlNyQkNyQSEiQ3uiM/KiA7NxsTGgVRIz8qIDs3GxMaBRIBPQxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAk0kQikUFBcRJEEqFBQXEbpkZAAAAgAt//QEjAK8ABoAMAAARSImJjU0NjYzMhYXNSEVIRUhFSEVIRUhNQYGJzI+AjU1NC4CIyIOAhUVFB4CAXh1kkREknU4XSUCU/6KAUD+wAF9/aYlXRAkNyUSEiU3JCQ3JBISJDcMUJ91dp5QGxkopV+eaaUoGRulFyo7I0AjOyoXFyo7I0AjOyoXAAACAEoAAAK8ArAADAAWAABzESEyFhYVFAYGIyMVETMyNjU0JiYjI0oBlkFjODljQLlvIyMPHxhvArA7aEVHaTreAX8kIxgfEAACAEoAAAKoArAADgAYAABzETMVMzIWFhUUBgYjIxURMzI2NTQmJiMjSt2lQWM4OWNApVsjIw8fGFsCsGQ6aUVHaTp6ARskIxgfEAAAAgAt/30DFAK8ABQAKgAARScGBiMiJiY1NDY2MzIWFhUUBgcXATI+AjU1NC4CIyIOAhUVFB4CAgBrBAsFaphSWKZ1dqZYWFKd/pkkNyUSEiU3JCQ3JBISJDeDewEBU59wdp5QUJ52dZ4pnwEcFyo7I0AjOyoXFyo7I0AjOyoXAAACAEoAAAL1ArAADgAYAABzESEyFhYVFAYHEyMnIxURMzI2NTQmJiMjSgGvTWc0PjWH+GltmxokEBwSmwKwPmQ6Qmcf/vTn5wGAKSIVIBMAAAMASgAAAvUDdQAOABgAHQAAcxEhMhYWFRQGBxMjJyMVETMyNjU0JiYjIyc3MxcHSgGvTWc0PjWH+GltmxokEBwSmwtc0AKgArA+ZDpCZx/+9OfnAYApIhUgE92FBIEAAAMASgAAAvUDdQAOABgAIAAAcxEhMhYWFRQGBxMjJyMVETMyNjU0JiYjIwMzFyM3MwcjSgGvTWc0PjWH+GltmxokEBwSm4uWZTplmIayArA+ZDpCZx/+9OfnAYApIhUgEwFiWVmFAAMASv62AvUCsAAOABgAJAAAcxEhMhYWFRQGBxMjJyMVETMyNjU0JiYjIxM1MjY1IzUzFRQGBkoBr01nND41h/hpbZsaJBAcEpsWKB9HmB1DArA+ZDpCZx/+9OfnAYApIhUgE/yjQR8oi3A8SB8ABABKAAAC9QN1AA4AGAAdACIAAHMRITIWFhUUBgcTIycjFREzMjY1NCYmIyM3JzczFyEnNzMXSgGvTWc0PjWH+GltmxokEBwSm5yLArxM/pqLArxMArA+ZDpCZx/+9OfnAYApIhUgE92BBIWBBIUAAAMASgAAAvUDdQAOABgAKgAAcxEhMhYWFRQGBxMjJyMVETMyNjU0JiYjIyc0NjYzMhYWFSMuAiMiBgYHSgGvTWc0PjWH+GltmxokEBwSm2UtVDg6UixgAhcmGRgoGAICsD5kOkJnH/705+cBgCkiFSAT0iJCLCxCIgsXEBAXCwAAAQAr//QCrgK8AEAAAEUiLgI1NDQ3MwYUFRQWFjMyPgM1NC4GNTQ+AjMyHgIXFSM1NCYmIyIGBhUUHgYVFAYGAX9He101AdEBHDMgDBsZFQwiOkhOSDoiMldvPT5tVDABzxInIB4pFCI6SE5IOiJPiQwVM1tFAgcEBAcDHiALAQUKEQ0TFhAOEx4vRzI8VDQYGTRQNwwEEiAUDBUMExgQDhEcLUIwVWoxAAACACv/9AKuA3UAQABFAABFIi4CNTQ0NzMGFBUUFhYzMj4DNTQuBjU0PgIzMh4CFxUjNTQmJiMiBgYVFB4GFRQGBgM3MxcHAX9He101AdEBHDMgDBsZFQwiOkhOSDoiMldvPT5tVDABzxInIB4pFCI6SE5IOiJPicNc0AKgDBUzW0UCBwQEBwMeIAsBBQoRDRMWEA4THi9HMjxUNBgZNFA3DAQSIBQMFQwTGBAOERwtQjBVajEC/IUEgQACACv/9AKuA3UAQABIAABFIi4CNTQ0NzMGFBUUFhYzMj4DNTQuBjU0PgIzMh4CFxUjNTQmJiMiBgYVFB4GFRQGBgEzFyM3MwcjAX9He101AdEBHDMgDBsZFQwiOkhOSDoiMldvPT5tVDABzxInIB4pFCI6SE5IOiJPif69lmU6ZZiGsgwVM1tFAgcEBAcDHiALAQUKEQ0TFhAOEx4vRzI8VDQYGTRQNwwEEiAUDBUMExgQDhEcLUIwVWoxA4FZWYUAAAIAK/8tAq4CvABAAFgAAEUiLgI1NDQ3MwYUFRQWFjMyPgM1NC4GNTQ+AjMyHgIXFSM1NCYmIyIGBhUUHgYVFAYGByImJzUzMjY1NCYjIzczBx4CFRQOAgF/R3tdNQHRARwzIAwbGRUMIjpITkg6IjJXbz0+bVQwAc8SJyAeKRQiOkhOSDoiT4lqIk0WaRIWEBYoFGALEicaGSYqDBUzW0UCBwQEBwMeIAsBBQoRDRMWEA4THi9HMjxUNBgZNFA3DAQSIBQMFQwTGBAOERwtQjBVajHHCQc5BhAPCYNEAhMlHxwlFAgAAgAr//QCrgN1AEAASAAARSIuAjU0NDczBhQVFBYWMzI+AzU0LgY1ND4CMzIeAhcVIzU0JiYjIgYGFRQeBhUUBgYBNzMXIyczBwF/R3tdNQHRARwzIAwbGRUMIjpITkg6IjJXbz0+bVQwAc8SJyAeKRQiOkhOSDoiT4n+vYayhphlOmUMFTNbRQIHBAQHAx4gCwEFChENExYQDhMeL0cyPFQ0GBk0UDcMBBIgFAwVDBMYEA4RHC1CMFVqMQL8hYVZWQACACv+tgKuArwAQABMAABFIi4CNTQ0NzMGFBUUFhYzMj4DNTQuBjU0PgIzMh4CFxUjNTQmJiMiBgYVFB4GFRQGBgM1MjY1IzUzFRQGBgF/R3tdNQHRARwzIAwbGRUMIjpITkg6IjJXbz0+bVQwAc8SJyAeKRQiOkhOSDoiT4m8KB9HmB1DDBUzW0UCBwQEBwMeIAsBBQoRDRMWEA4THi9HMjxUNBgZNFA3DAQSIBQMFQwTGBAOERwtQjBVajH+wkEfKItwPEgf//8AK/8+Aq4CvAYmAJgAAAAHAuIBGgAAAAEASgAAAz4CvAAvAABzETQ2NjMyHgIVFAYGBxUWFhUUBgYjITUzMjY2NTQmJiMjNTMyNjU0JiMiBgYVEUpUrYZBeWA4GygTNjs2Y0b+/7oYHg8PHhi6mSUnP0U+QhgBkVuGShUuSTMrPCcNCQ9QPTZVMqALFhIUFwqPKB0pHyREMv52AAIALv/0AxQCvAAdACcAAEUiLgI1NSE0JiYjIg4CByM+AzMyFhYVFAYGJzI2NjUhFB4CAaBTiGI1AgQhQzMgMyUUAt8FPGOCTHamWFimdihAJv7lFSczDDBchFUrPkoiDx0pG0BgPx9QnnZ1n1ClHDMiGiodEAABABcAAAK3ArAABwAAcxEjNSEVIxH54gKg4QIAsLD+AAAAAgAXAAACtwKwAAcACwAAcxEjNSEVIxElNSEV+eICoOH+uQGyAgCwsP4A/3Z2AAIAFwAAArcDdQAHAA8AAHMRIzUhFSMRATMXIzczByP54gKg4f60lmU6ZZiGsgIAsLD+AAN1WVmFAAACABf/LQK3ArAABwAfAABzESM1IRUjEQciJic1MzI2NTQmIyM3MwceAhUUDgL54gKg4WgiTRZpEhYQFigUYAsSJxoZJioCALCw/gDTCQc5BhAPCYNEAhMlHxwlFAgAAgAX/rYCtwKwAAcAEwAAcxEjNSEVIxEDNTI2NSM1MxUUBgb54gKg4booH0eYHUMCALCw/gD+tkEfKItwPEgfAAIAF/8+ArcCsAAHAAsAAHMRIzUhFSMRBzUzFfniAqDhupgCALCw/gDChoYAAQBK//QC9wKwABMAAEUiJiY1ETMRFBYzMjY1ETMRFAYGAaFsmVLdPD09Pd1RmQxBgV8Bm/5oN0hINwGY/mVfgUEAAgBK//QC9wN1ABMAGAAARSImJjURMxEUFjMyNjURMxEUBgYDNzMXBwGhbJlS3Tw9PT3dUZnJXNACoAxBgV8Bm/5oN0hINwGY/mVfgUEC/IUEgQAAAgBK//QC9wN1ABMAJQAARSImJjURMxEUFjMyNjURMxEUBgYDIiYmNTMeAjMyNjY3MxQGBgGhbJlS3Tw9PT3dUZlrOlIsYAIXJxgZJxgCXy1TDEGBXwGb/mg3SEg3AZj+ZV+BQQLxLEMhChgQEBgKIUMsAAACAEr/9AL3A3UAEwAbAABFIiYmNREzERQWMzI2NREzERQGBgEzFyM3MwcjAaFsmVLdPD09Pd1Rmf63lmU6ZZiGsgxBgV8Bm/5oN0hINwGY/mVfgUEDgVlZhQACAEr/9AL3A3UAEwAbAABFIiYmNREzERQWMzI2NREzERQGBgE3MxcjJzMHAaFsmVLdPD09Pd1Rmf63hrKGmGU6ZQxBgV8Bm/5oN0hINwGY/mVfgUEC/IWFWVkAAAMASv/0AvcDdQATABgAHQAARSImJjURMxEUFjMyNjURMxEUBgYDJzczFyEnNzMXAaFsmVLdPD09Pd1RmSKLArxM/pqLArxMDEGBXwGb/mg3SEg3AZj+ZV+BQQL8gQSFgQSFAAADAEr/9AL3A3UAEwAXABsAAEUiJiY1ETMRFBYzMjY1ETMRFAYGATUzFTM1MxUBoWyZUt08PT093VGZ/tuYRJgMQYFfAZv+aDdISDcBmP5lX4FBAvaLi4uLAAAEAEr/9AL3BCsAEwAXABsAIAAARSImJjURMxEUFjMyNjURMxEUBgYBNTMVMzUzFSU3MxcHAaFsmVLdPD09Pd1Rmf7bmESY/uhc0AKgDEGBXwGb/mg3SEg3AZj+ZV+BQQL2i4uLi7yFBIEABABK//QC9wQrABMAFwAbACMAAEUiJiY1ETMRFBYzMjY1ETMRFAYGATUzFTM1MxUBMxcjNzMHIwGhbJlS3Tw9PT3dUZn+25hEmP5olmU6ZZiGsgxBgV8Bm/5oN0hINwGY/mVfgUEC9ouLi4sBQVlZhQAABABK//QC9wQrABMAFwAbACAAAEUiJiY1ETMRFBYzMjY1ETMRFAYGATUzFTM1MxUnIyc3MwGhbJlS3Tw9PT3dUZn+25hEmEqOoALQDEGBXwGb/mg3SEg3AZj+ZV+BQQL2i4uLi7yBBAAEAEr/9AL3BAQAEwAXABsAHwAARSImJjURMxEUFjMyNjURMxEUBgYBNTMVMzUzFSU1IRUBoWyZUt08PT093VGZ/tuYRJj+pwE9DEGBXwGb/mg3SEg3AZj+ZV+BQQL2i4uLi7ZkZAACAEr/PgL3ArAAEwAXAABFIiYmNREzERQWMzI2NREzERQGBgc1MxUBoWyZUt08PT093VGZuZgMQYFfAZv+aDdISDcBmP5lX4FBtoaGAAACAEr/9AL3A3UAEwAYAABFIiYmNREzERQWMzI2NREzERQGBhMjJzczAaFsmVLdPD09Pd1RmQWOoALQDEGBXwGb/mg3SEg3AZj+ZV+BQQL8gQQAAgBK//QC9wOBABMALAAARSImJjURMxEUFjMyNjURMxEUBgYDNTMyNjU0JiMjNT4CMzIeAhUUBgYHFQGhbJlS3Tw9PT3dUZmTCxIMEhE6DCIjDBIsJxoaKBcMQYFfAZv+aDdISDcBmP5lX4FBAvg4BwoLBjMDAwIHDxkTExkMAhkAAAIASv/0A3sDegATAB8AAEUiJiY1ETMRFBYzMjY1ETMRFAYGEzUyNjcjNTMVFAYGAaFsmVLdPD09Pd1RmZYpOQhGtDBgDEGBXwGb/mg3SEg3AZj+ZV+BQQJlVxsck1dAWy8AAwBK//QDewN6ABMAHwAkAABFIiYmNREzERQWMzI2NREzERQGBhM1MjY3IzUzFRQGBiU3MxcHAaFsmVLdPD09Pd1RmZYpOQhGtDBg/llc0AKgDEGBXwGb/mg3SEg3AZj+ZV+BQQJlVxsck1dAWy+XhQSBAAADAEr/PgN7A3oAEwAfACMAAEUiJiY1ETMRFBYzMjY1ETMRFAYGEzUyNjcjNTMVFAYGATUzFQGhbJlS3Tw9PT3dUZmWKTkIRrQwYP5pmAxBgV8Bm/5oN0hINwGY/mVfgUECZVcbHJNXQFsv/OWGhgAAAwBK//QDewN6ABMAHwAkAABFIiYmNREzERQWMzI2NREzERQGBhM1MjY3IzUzFRQGBicjJzczAaFsmVLdPD09Pd1RmZYpOQhGtDBg2Y6gAtAMQYFfAZv+aDdISDcBmP5lX4FBAmVXGxyTV0BbL5eBBAAAAwBK//QDewOBABMAHwA4AABFIiYmNREzERQWMzI2NREzERQGBhM1MjY3IzUzFRQGBiU1MzI2NTQmIyM1PgIzMh4CFRQGBgcVAaFsmVLdPD09Pd1RmZYpOQhGtDBg/o8LEgwSEToMIiMMEiwnGhooFwxBgV8Bm/5oN0hINwGY/mVfgUECZVcbHJNXQFsvkzgHCgsGMwMDAgcPGRMTGQwCGQAAAwBK//QDewN6ABMAHwA3AABFIiYmNREzERQWMzI2NREzERQGBhM1MjY3IzUzFRQGBiU0NjYzMhYWMzI2NzMUBgYjIiYmIyIGBwGhbJlS3Tw9PT3dUZmWKTkIRrQwYP3ZIz8qIDs3GxMaBVEjPyogOzcbExoFDEGBXwGb/mg3SEg3AZj+ZV+BQQJlVxsck1dAWy+NJEIpFBQXESRBKhQUFxEAAwBK//QC9wN1ABMAGAAdAABFIiYmNREzERQWMzI2NREzERQGBgM3MxcHITczFwcBoWyZUt08PT093VGZO0y8Aov+mky8AosMQYFfAZv+aDdISDcBmP5lX4FBAvyFBIGFBIEAAAIASv/0AvcDdQATACUAAEUiJiY1ETMRFBYzMjY1ETMRFAYGATQ2NjMyFhYVIy4CIyIGBgcBoWyZUt08PT093VGZ/t0tVDg6UixgAhcmGRgoGAIMQYFfAZv+aDdISDcBmP5lX4FBAvEiQiwsQiILFxAQFwsAAgBK//QC9wNOABMAFwAARSImJjURMxEUFjMyNjURMxEUBgYBNSEVAaFsmVLdPD09Pd1Rmf72AT0MQYFfAZv+aDdISDcBmP5lX4FBAvZkZAACAEr/LQL3ArAAEwAnAABFIiYmNREzERQWMzI2NREzERQGBhciJiY1NDY3MxUGBhUUFjMzFQYGAaFsmVLdPD09Pd1RmQsgOiQhEWoSEhoaPBc6DEGBXwGb/mg3SEg3AZj+ZV+BQccXMiklMxUEDCcTFyNMBwgAAwBK//QC9wOwABMAHwArAABFIiYmNREzERQWMzI2NREzERQGBgMiJjU0NjMyFhUUBicyNjU0JiMiBhUUFgGhbJlS3Tw9PT3dUZlrMkJCMjJCQjIRFxcRERcXDEGBXwGb/mg3SEg3AZj+ZV+BQQLjPS8vPj4vLz1HFhAQFBUREBQAAAIASv/0AvcDdQATACsAAEUiJiY1ETMRFBYzMjY1ETMRFAYGATQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHAaFsmVLdPD09Pd1Rmf63Iz8qIDs3GxMaBVEjPyogOzcbExoFDEGBXwGb/mg3SEg3AZj+ZV+BQQLyJEIpFBQXESRBKhQUFxEAAAEAEQAAAvgCsAAPAABhAzMTHgIXMz4CNxMzAwEF9OxfBA4RBggGEA8EYOLzArD+wg0yOBcVNjMQAT79UAAAAQAFAAAD4wKwACkAAHMDMxMeAhczPgM3EzMTHgIXMz4DNxMzAyMDLgInIw4CBwOmoeY8AgYIAwQCBQUFAjvaPwIHCAMEAgUEBQI43KHzRAIICAMEAwcIA0QCsP7aCCEnEAkZGhoKASb+2goiJQ8KGRoZCgEm/VABQg0jJA0MIyMP/r4AAgAFAAAD4wN1ACkALgAAcwMzEx4CFzM+AzcTMxMeAhczPgM3EzMDIwMuAicjDgIHAwM3MxcHpqHmPAIGCAMEAgUFBQI72j8CBwgDBAIFBAUCONyh80QCCAgDBAMHCANEAVzQAqACsP7aCCEnEAkZGhoKASb+2goiJQ8KGRoZCgEm/VABQg0jJA0MIyMP/r4C8IUEgQAAAgAFAAAD4wN1ACkAMQAAcwMzEx4CFzM+AzcTMxMeAhczPgM3EzMDIwMuAicjDgIHAwM3MxcjJzMHpqHmPAIGCAMEAgUFBQI72j8CBwgDBAIFBAUCONyh80QCCAgDBAMHCANEgYayhphlOmUCsP7aCCEnEAkZGhoKASb+2goiJQ8KGRoZCgEm/VABQg0jJA0MIyMP/r4C8IWFWVkAAwAFAAAD4wN1ACkALQAxAABzAzMTHgIXMz4DNxMzEx4CFzM+AzcTMwMjAy4CJyMOAgcDAzUzFTM1MxWmoeY8AgYIAwQCBQUFAjvaPwIHCAMEAgUEBQI43KHzRAIICAMEAwcIA0RdmESYArD+2gghJxAJGRoaCgEm/toKIiUPChkaGQoBJv1QAUINIyQNDCMjD/6+AuqLi4uLAAIABQAAA+MDdQApAC4AAHMDMxMeAhczPgM3EzMTHgIXMz4DNxMzAyMDLgInIw4CBwMTIyc3M6ah5jwCBggDBAIFBQUCO9o/AgcIAwQCBQQFAjjcofNEAggIAwQDBwgDRM2OoALQArD+2gghJxAJGRoaCgEm/toKIiUPChkaGQoBJv1QAUINIyQNDCMjD/6+AvCBBAABAAQAAAMKArAADQAAcxMDIRczNzMDEyEnIwcE9t4BC2gEafff9v70fwR/AWwBRLCw/rv+ldbWAAEABwAAAwICsAAJAABhEQEzFzM3MwERARj+7/6EBITx/vMBCwGl5eX+W/71AAACAAcAAAMCA3UACQAOAABhEQEzFzM3MwERAzczFwcBGP7v/oQEhPH+88Zc0AKgAQsBpeXl/lv+9QLwhQSBAAIABwAAAwIDdQAJABEAAGERATMXMzczAREBNzMXIyczBwEY/u/+hASE8f7z/rqGsoaYZTplAQsBpeXl/lv+9QLwhYVZWQADAAcAAAMCA3UACQANABEAAGERATMXMzczAREBNTMVMzUzFQEY/u/+hASE8f7z/t6YRJgBCwGl5eX+W/71AuqLi4uLAAIAB/8+AwICsAAJAA0AAGERATMXMzczAREHNTMVARj+7/6EBITx/vO2mAELAaXl5f5b/vXChoYAAgAHAAADAgN1AAkADgAAYREBMxczNzMBERMjJzczARj+7/6EBITx/vMIjqAC0AELAaXl5f5b/vUC8IEEAAACAAcAAAMCA4EACQAiAABhEQEzFzM3MwERAzUzMjY1NCYjIzU+AjMyHgIVFAYGBxUBGP7v/oQEhPH+85ALEgwSEToMIyIMEiwnGhooFwELAaXl5f5b/vUC7DgHCgsGMwMDAgcPGRMTGQwCGQACAAcAAAMCA04ACQANAABhEQEzFzM3MwERATUhFQEY/u/+hASE8f7z/vkBPQELAaXl5f5b/vUC6mRkAAACAAcAAAMCA3UACQAhAABhEQEzFzM3MwERATQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHARj+7/6EBITx/vP+uiM/KiA7NxsTGgVRIz8qIDs3GxMaBQELAaXl5f5b/vUC5iRCKRQUFxEkQSoUFBcRAAEAGAAAArMCsAAJAABzNQEhNSEVASEVGAE//tkCe/7BAUdHAcSlR/48pQAAAgAYAAACswN1AAkADgAAczUBITUhFQEhFQE3MxcHGAE//tkCe/7BAUf+W1zQAqBHAcSlR/48pQLwhQSBAAACABgAAAKzA3UACQARAABzNQEhNSEVASEVATMXIzczByMYAT/+2QJ7/sEBR/3blmU6ZZiGskcBxKVH/jylA3VZWYUAAAIAGAAAArMDdQAJAA0AAHM1ASE1IRUBIRUBNTMVGAE//tkCe/7BAUf+b5hHAcSlR/48pQLqi4sAAQBF//QCxgKwACgAAEUiJiY1NTMUFhYzMjY2NTUjBgYjIiYmNREzFRQWMzI2NjU1MxEUDgIBalSFTN0SKiQqLxQHGlQ4SHNC3S0vKS8T3TNefwwiTT4eEhUJFCohLiUhKVxKAQvSMzIhRzmW/kRGYT0cAAACAEX/9ALGA3UAKAAtAABFIiYmNTUzFBYWMzI2NjU1IwYGIyImJjURMxUUFjMyNjY1NTMRFA4CAzczFwcBalSFTN0SKiQqLxQHGlQ4SHNC3S0vKS8T3TNef49c0AKgDCJNPh4SFQkUKiEuJSEpXEoBC9IzMiFHOZb+REZhPRwC/IUEgQACAEX/9ALGA3UAKAAwAABFIiYmNTUzFBYWMzI2NjU1IwYGIyImJjURMxUUFjMyNjY1NTMRFA4CATczFyMnMwcBalSFTN0SKiQqLxQHGlQ4SHNC3S0vKS8T3TNef/7xhrKGmGU6ZQwiTT4eEhUJFCohLiUhKVxKAQvSMzIhRzmW/kRGYT0cAvyFhVlZAAMARf/0AsYDdQAoACwAMAAARSImJjU1MxQWFjMyNjY1NSMGBiMiJiY1ETMVFBYzMjY2NTUzERQOAgM1MxUzNTMVAWpUhUzdEiokKi8UBxpUOEhzQt0tLykvE90zXn/rmESYDCJNPh4SFQkUKiEuJSEpXEoBC9IzMiFHOZb+REZhPRwC9ouLi4sAAAIARf/0AsYDdQAoAC0AAEUiJiY1NTMUFhYzMjY2NTUjBgYjIiYmNREzFRQWMzI2NjU1MxEUDgITIyc3MwFqVIVM3RIqJCovFAcaVDhIc0LdLS8pLxPdM15/P46gAtAMIk0+HhIVCRQqIS4lISlcSgEL0jMyIUc5lv5ERmE9HAL8gQQAAAIARf/0AsYDTgAoACwAAEUiJiY1NTMUFhYzMjY2NTUjBgYjIiYmNREzFRQWMzI2NjU1MxEUDgIDNSEVAWpUhUzdEiokKi8UBxpUOEhzQt0tLykvE90zXn/QAT0MIk0+HhIVCRQqIS4lISlcSgEL0jMyIUc5lv5ERmE9HAL2ZGQAAgBF//QCxgN1ACgAQAAARSImJjU1MxQWFjMyNjY1NSMGBiMiJiY1ETMVFBYzMjY2NTUzERQOAgE0NjYzMhYWMzI2NzMUBgYjIiYmIyIGBwFqVIVM3RIqJCovFAcaVDhIc0LdLS8pLxPdM15//vEjPyogOzcbExoFUSM/KiA7NxsTGgUMIk0+HhIVCRQqIS4lISlcSgEL0jMyIUc5lv5ERmE9HALyJEIpFBQXESRBKhQUFxEAAgAt//QC3QN1ACEAJgAARSImJjU0NjMyFhYVIzQmJiMiBgYVFRQWFjMyNjY1MxQGBgM3MxcHAZJ1n1G1sGSVUtMcNSgvORobOC0sOR3MTpSvGKUEOgxQn3WwtEOEYCg6IChIL0AvSCgeOSdegkMC/IUKewACAEoAAAL3A3UAGAAdAABzETMXHgIXNyY0NTUzESMDJiYnBxYUFRETNzMXB0q81gkeHwgFAcm78REYCwUBUhilBDoCsPcKJicMAhw3Dvf9UAETFCEPAhMmCf7tAvCFCnsAAAMALf/0AxQDdQAPACUAKgAARSImJjU0NjYzMhYWFRQGBicyPgI1NTQuAiMiDgIVFRQeAgM3MxcHAaB1plhYpnV2plhYpnYkNyUSEiU3JCQ3JBISJDcYGKUEOgxQn3V2nlBQnnZ1n1ClFyo7I0AjOyoXFyo7I0AjOyoXAleFCnsAAgAr//QCrgN1AEAARQAARSIuAjU0NDczBhQVFBYWMzI+AzU0LgY1ND4CMzIeAhcVIzU0JiYjIgYGFRQeBhUUBgYDNzMXBwF/R3tdNQHRARwzIAwbGRUMIjpITkg6IjJXbz0+bVQwAc8SJyAeKRQiOkhOSDoiT4mhGKUEOgwVM1tFAgcEBAcDHiALAQUKEQ0TFhAOEx4vRzI8VDQYGTRQNwwEEiAUDBUMExgQDhEcLUIwVWoxAvyFCnsAAgAYAAACswN1AAkADgAAczUBITUhFQEhFQE3MxcHGAE//tkCe/7BAUf+fRilBDpHAcSlR/48pQLwhQp7AAACAB7/9AKWAhwAMQA/AABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhbYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUHwwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAAADAB7/9AKWAtMAMQA/AEQAAFciLgI1ND4CMzU0JiYjIgYGFRUjJjQ1NDY2MzIWFhUVFBYzMxUGBiMiJiYnIw4CNzI+AjU1IgYGFRQWFgM3MxcH2ClEMhsxXodXFSIWESQXxAE/e1pJfEwQECQMNyUoPCUHBxU3RiQTIxwQO0kiFB88XMsCoAwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAd6FBIEAAwAe//QClgLTADEAPwBRAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYTIiYmNTMeAjMyNjY3MxQGBtgpRDIbMV6HVxUiFhEkF8QBP3taSXxMEBAkDDclKDwlBwcVN0YkEyMcEDtJIhQfJzlTLGADHCcSGScYAl8tUwwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAdMsQyEOFw0QGAohQywABAAe//QClgOJADEAPwBRAFYAAFciLgI1ND4CMzU0JiYjIgYGFRUjJjQ1NDY2MzIWFhUVFBYzMxUGBiMiJiYnIw4CNzI+AjU1IgYGFRQWFhMiJiY1Mx4CMzI2NjczFAYGJzczFwfYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUHyc5UyxgAxwnEhknGAJfLVOcXMsCoAwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAdMsQyEOFw0QGAohQyzBhQSBAAQAHv8+ApYC0wAxAD8AQwBVAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYDNTMVAyImJjUzHgIzMjY2NzMUBgbYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUHyaYSzlTLGADHCcSGScYAl8tUwwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYI/s6GhgMFLEMhDhcNEBgKIUMsAAQAHv/0ApYDiQAxAD8AUQBWAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYTIiYmNTMeAjMyNjY3MxQGBjcjJzcz2ClEMhsxXodXFSIWESQXxAE/e1pJfEwQECQMNyUoPCUHBxU3RiQTIxwQO0kiFB8nOVMsYAMcJxIZJxgCXy1TK4mgAssMDyM5KTtKKA8aFhsOCBQSBAQGBDFJKSBLQc4QF3MHDRAeFBMeEXwLExsQLRIeFBQWCAHTLEMhDhcNEBgKIUMswYEEAAAEAB7/9AKWA5gAMQA/AFEAagAAVyIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYWFRUUFjMzFQYGIyImJicjDgI3Mj4CNTUiBgYVFBYWEyImJjUzHgIzMjY2NzMUBgYnNTMyNjU0JiMjNT4CMzIeAhUUBgYHFdgpRDIbMV6HVxUiFhEkF8QBP3taSXxMEBAkDDclKDwlBwcVN0YkEyMcEDtJIhQfJzlTLGADHCcSGScYAl8tU18LEgwSEToMIiMMEiwnGhooFwwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAdMsQyEOFw0QGAohQyzAOAcKCwYzAwMCBw8ZExMZDAIZAAQAHv/0ApYDiQAxAD8AUQBpAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYTIiYmNTMeAjMyNjY3MxQGBiU0NjYzMhYWMzI2NzMUBgYjIiYmIyIGB9gpRDIbMV6HVxUiFhEkF8QBP3taSXxMEBAkDDclKDwlBwcVN0YkEyMcEDtJIhQfJzlTLGADHCcSGScYAl8tU/7qIz8qIDs3GxMaBVEjPyogOzcbExoFDA8jOSk7SigPGhYbDggUEgQEBgQxSSkgS0HOEBdzBw0QHhQTHhF8CxMbEC0SHhQUFggB0yxDIQ4XDRAYCiFDLLckQikUFBcRJEEqFBQXEQADAB7/9AKWAtMAMQA/AEcAAFciLgI1ND4CMzU0JiYjIgYGFRUjJjQ1NDY2MzIWFhUVFBYzMxUGBiMiJiYnIw4CNzI+AjU1IgYGFRQWFgMzFyM3Mwcj2ClEMhsxXodXFSIWESQXxAE/e1pJfEwQECQMNyUoPCUHBxU3RiQTIxwQO0kiFB+xkWU6ZZOGqAwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAmNZWYUAAwAe//QClgLTADEAPwBHAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYDNzMXIyczB9gpRDIbMV6HVxUiFhEkF8QBP3taSXxMEBAkDDclKDwlBwcVN0YkEyMcEDtJIhQfsYaohpNlOmUMDyM5KTtKKA8aFhsOCBQSBAQGBDFJKSBLQc4QF3MHDRAeFBMeEXwLExsQLRIeFBQWCAHehYVZWQAABAAe//QClgOJADEAPwBHAEwAAFciLgI1ND4CMzU0JiYjIgYGFRUjJjQ1NDY2MzIWFhUVFBYzMxUGBiMiJiYnIw4CNzI+AjU1IgYGFRQWFgM3MxcjJzMHJzczFwfYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUH7GGqIaTZTplHFzLAqAMDyM5KTtKKA8aFhsOCBQSBAQGBDFJKSBLQc4QF3MHDRAeFBMeEXwLExsQLRIeFBQWCAHehYVZWbaFBIEAAAQAHv8+ApYC0wAxAD8AQwBLAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYDNTMVATczFyMnMwfYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUHyaY/t2GqIaTZTplDA8jOSk7SigPGhYbDggUEgQEBgQxSSkgS0HOEBdzBw0QHhQTHhF8CxMbEC0SHhQUFgj+zoaGAxCFhVlZAAQAHv/0ApYDiQAxAD8ARwBMAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYDNzMXIyczBzcjJzcz2ClEMhsxXodXFSIWESQXxAE/e1pJfEwQECQMNyUoPCUHBxU3RiQTIxwQO0kiFB+xhqiGk2U6ZauJoALLDA8jOSk7SigPGhYbDggUEgQEBgQxSSkgS0HOEBdzBw0QHhQTHhF8CxMbEC0SHhQUFggB3oWFWVm2gQQABAAe//QClgOYADEAPwBHAGAAAFciLgI1ND4CMzU0JiYjIgYGFRUjJjQ1NDY2MzIWFhUVFBYzMxUGBiMiJiYnIw4CNzI+AjU1IgYGFRQWFgM3MxcjJzMHNzUzMjY1NCYjIzU+AjMyHgIVFAYGBxXYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUH7GGqIaTZTplIQsSDBIROgwiIwwSLCcaGigXDA8jOSk7SigPGhYbDggUEgQEBgQxSSkgS0HOEBdzBw0QHhQTHhF8CxMbEC0SHhQUFggB3oWFWVm1OAcKCwYzAwMCBw8ZExMZDAIZAAAEAB7/9AKWA4kAMQA/AEcAXwAAVyIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYWFRUUFjMzFQYGIyImJicjDgI3Mj4CNTUiBgYVFBYWAzczFyMnMwcnNDY2MzIWFjMyNjczFAYGIyImJiMiBgfYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUH7GGqIaTZTplliM/KiA7NxsTGgVRIz8qIDs3GxMaBQwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAd6FhVlZrCRCKRQUFxEkQSoUFBcRAAQAGv/0ApYC1AAxAD8ARABJAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYTJzczFyEnNzMX2ClEMhsxXodXFSIWESQXxAE/e1pJfEwQECQMNyUoPCUHBxU3RiQTIxwQO0kiFB9giwKyTP64iwKyTAwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAd6CBIaCBIYABAAe//QClgLTADEAPwBDAEcAAFciLgI1ND4CMzU0JiYjIgYGFRUjJjQ1NDY2MzIWFhUVFBYzMxUGBiMiJiYnIw4CNzI+AjU1IgYGFRQWFgM1MxUzNTMV2ClEMhsxXodXFSIWESQXxAE/e1pJfEwQECQMNyUoPCUHBxU3RiQTIxwQO0kiFB+SmESYDA8jOSk7SigPGhYbDggUEgQEBgQxSSkgS0HOEBdzBw0QHhQTHhF8CxMbEC0SHhQUFggB2IuLi4sAAAMAHv8+ApYCHAAxAD8AQwAAVyIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYWFRUUFjMzFQYGIyImJicjDgI3Mj4CNTUiBgYVFBYWAzUzFdgpRDIbMV6HVxUiFhEkF8QBP3taSXxMEBAkDDclKDwlBwcVN0YkEyMcEDtJIhQfJpgMDyM5KTtKKA8aFhsOCBQSBAQGBDFJKSBLQc4QF3MHDRAeFBMeEXwLExsQLRIeFBQWCP7OhoYAAAMAHv/0ApYC0wAxAD8ARAAAVyIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYWFRUUFjMzFQYGIyImJicjDgI3Mj4CNTUiBgYVFBYWEyMnNzPYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUH4uJoALLDA8jOSk7SigPGhYbDggUEgQEBgQxSSkgS0HOEBdzBw0QHhQTHhF8CxMbEC0SHhQUFggB3oEEAAADAB7/9AKWAuIAMQA/AFgAAFciLgI1ND4CMzU0JiYjIgYGFRUjJjQ1NDY2MzIWFhUVFBYzMxUGBiMiJiYnIw4CNzI+AjU1IgYGFRQWFhM1MzI2NTQmIyM1PgIzMh4CFRQGBgcV2ClEMhsxXodXFSIWESQXxAE/e1pJfEwQECQMNyUoPCUHBxU3RiQTIxwQO0kiFB8BCxIMEhE6DCIjDBIsJxoaKBcMDyM5KTtKKA8aFhsOCBQSBAQGBDFJKSBLQc4QF3MHDRAeFBMeEXwLExsQLRIeFBQWCAHdOAcKCwYzAwMCBw8ZExMZDAIZAAMAHv/0ApYC0wAxAD8AUQAAVyIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYWFRUUFjMzFQYGIyImJicjDgI3Mj4CNTUiBgYVFBYWEzIWFhUjLgIjIgYGByM0NjbYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUHyc5Uy1fAhgnGRInHANgLFMMDyM5KTtKKA8aFhsOCBQSBAQGBDFJKSBLQc4QF3MHDRAeFBMeEXwLExsQLRIeFBQWCAJjLEIiCxcQDRYPIkIsAAMAHv/0ApYCugAxAD8AQwAAVyIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYWFRUUFjMzFQYGIyImJicjDgI3Mj4CNTUiBgYVFBYWAzUhFdgpRDIbMV6HVxUiFhEkF8QBP3taSXxMEBAkDDclKDwlBwcVN0YkEyMcEDtJIhQfdgE8DA8jOSk7SigPGhYbDggUEgQEBgQxSSkgS0HOEBdzBw0QHhQTHhF8CxMbEC0SHhQUFggB5mRkAAMAHv8tApYCHAAxAD8AUwAAVyIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYWFRUUFjMzFQYGIyImJicjDgI3Mj4CNTUiBgYVFBYWASImJjU0NjczFQYGFRQWMzMVBgbYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUHwEUIDokIRFqEhIaGjwXOgwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYI/r0XMiklMxUEDCcTFyNMBwgAAAQAHv/0ApYDGAAxAD8ASwBXAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYTIiY1NDYzMhYVFAYnMjY1NCYjIgYVFBbYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUHygvPj4vLz4+LxEXFxERFxcMDyM5KTtKKA8aFhsOCBQSBAQGBDFJKSBLQc4QF3MHDRAeFBMeEXwLExsQLRIeFBQWCAHPPS8vPj4vLz1CGBMSFxgTEhcABQAe//QClgO7ADEAPwBLAFcAXAAAVyIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYWFRUUFjMzFQYGIyImJicjDgI3Mj4CNTUiBgYVFBYWEyImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWJzczFwfYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUHygvPj4vLz4+LxEXFxERFxdTXMsCoAwPIzkpO0ooDxoWGw4IFBIEBAYEMUkpIEtBzhAXcwcNEB4UEx4RfAsTGxAtEh4UFBYIAc89Ly8+Pi8vPUIYExIXGBMSF7WFBIEAAwAe//QClgLTADEAPwBXAABXIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhYVFRQWMzMVBgYjIiYmJyMOAjcyPgI1NSIGBhUUFhYDNDY2MzIWFjMyNjczFAYGIyImJiMiBgfYKUQyGzFeh1cVIhYRJBfEAT97Wkl8TBAQJAw3JSg8JQcHFTdGJBMjHBA7SSIUH7YjPyogOzcbExoFUSM/KiA7NxsTGgUMDyM5KTtKKA8aFhsOCBQSBAQGBDFJKSBLQc4QF3MHDRAeFBMeEXwLExsQLRIeFBQWCAHUJEIpFBQXESRBKhQUFxEAAAMAHv/0A8wCHAA9AEsAVQAARSIuAjU0PgIzNTQmJiMiBgYVFSMmNDU0NjYzMhYXNjYzMhYWFRUhFBYWMzI+AjUzFA4CIyImJw4CJzI+AjU1IgYGFRQWFiUzNC4CIyIGBgEANFQ7HzFdiFcTIRUSJRnEAT97WjhoJSRZM1l8Qf6IEysiGCEVCcEiQmRCS3coGUFPBhMjHBA7SSIUHwE9rgsVHxQdJhUMDyQ9LjhGJg4aFhsOCBQSBAQGBDFJKRYaGBg7el8iJDQbDBUcEC9MNRwkJRMhFXwLExsQLRIeFBQWCNQVIRcMFicAAAQAHv/0A8wC1QA9AEsAVQBaAABFIi4CNTQ+AjM1NCYmIyIGBhUVIyY0NTQ2NjMyFhc2NjMyFhYVFSEUFhYzMj4CNTMUDgIjIiYnDgInMj4CNTUiBgYVFBYWJTM0LgIjIgYGJzczFwcBADRUOx8xXYhXEyEVEiUZxAE/e1o4aCUkWTNZfEH+iBMrIhghFQnBIkJkQkt3KBlBTwYTIxwQO0kiFB8BPa4LFR8UHSYVuVzLAqAMDyQ9LjhGJg4aFhsOCBQSBAQGBDFJKRYaGBg7el8iJDQbDBUcEC9MNRwkJRMhFXwLExsQLRIeFBQWCNQVIRcMFifwhQSBAAACAD3/9AJ3AtUAFQAoAABFIiYnIwcjETMVMz4CMzIWFhUUBgYnMjY2NTU0JiYjIg4CFRUUFhYBmDNXGgcOoscHECw1HEZkNTVkhB8mEREmHxciFQoSJwwqLUsC1fYUGw49elxdez2TGS4fNR8uGhIfKRchHzMeAAABACT/9AJwAh0AJAAARSImJjU0NjYzMh4CFSM0JiYjIgYGFRUUFhYzMjY2NTMUDgIBTVqFSkqFWjxqUC3BFywfIysUFS0kIS0YuS1Qagw9e1xdez0aNlY8HygTGzMjOSMyGxMpIDxXNhoAAgAk//QCcALTACQAKQAARSImJjU0NjYzMh4CFSM0JiYjIgYGFRUUFhYzMjY2NTMUDgIDNzMXBwFNWoVKSoVaPGpQLcEXLB8jKxQVLSQhLRi5LVBqoFzLAqAMPXtcXXs9GjZWPB8oExszIzkjMhsTKSA8VzYaAlqFBIEAAAIAJP/0AnAC0wAkACwAAEUiJiY1NDY2MzIeAhUjNCYmIyIGBhUVFBYWMzI2NjUzFA4CATMXIzczByMBTVqFSkqFWjxqUC3BFywfIysUFS0kIS0YuS1Qav7rkWU6ZZOGqAw9e1xdez0aNlY8HygTGzMjOSMyGxMpIDxXNhoC31lZhQACACT/LQJwAh0AJAA8AABFIiYmNTQ2NjMyHgIVIzQmJiMiBgYVFRQWFjMyNjY1MxQOAgciJic1MzI2NTQmIyM3MwceAhUUDgIBTVqFSkqFWjxqUC3BFywfIysUFS0kIS0YuS1QajciTRZpEhYQFigUYAsSJxoZJioMPXtcXXs9GjZWPB8oExszIzkjMhsTKSA8VzYaxwkHOQYQDwmDRAITJR8cJRQIAAACACT/9AJwAtMAJAAsAABFIiYmNTQ2NjMyHgIVIzQmJiMiBgYVFRQWFjMyNjY1MxQOAgE3MxcjJzMHAU1ahUpKhVo8alAtwRcsHyMrFBUtJCEtGLktUGr+64aohpNlOmUMPXtcXXs9GjZWPB8oExszIzkjMhsTKSA8VzYaAlqFhVlZAAACACT/9AJwAs4AJAAoAABFIiYmNTQ2NjMyHgIVIzQmJiMiBgYVFRQWFjMyNjY1MxQOAgM1MxUBTVqFSkqFWjxqUC3BFywfIysUFS0kIS0YuS1QaoeYDD17XF17PRo2VjwfKBMbMyM5IzIbEykgPFc2GgJUhoYAAgAk//QCXgLVABUAKAAARSImJjU0NjYzMhYWFzM1MxEjJyMGBjcyNjY1NTQuAiMiBgYVFRQWFgEDRmQ1NWRGHDUtDwfHog4HHFQKHycSChUiFx8mEREmDD17XVx6PQ0bFfb9K0stKpMeMx8hFykfEhouHzUfLhkAAgAk//QCdwLVACUANwAARSImJjU0NjYzMhYXNyYmJwc1NyYmJzczHgIXNxUHHgIVFAYGJzI2NjU1NCYmIyIGBhUVFBYWAU1ahUpAdVEQIg0GDBsOpWIZLA4BxgYVGw6LRCE7JUqGWiMsFBQsIyMrFBQrDD17XE11QggFBxMhEBNOCxchCQQDDRMMEE4IJmV/Tlx7PYcbMiM5IzMbGzMjOSMyGwADACT/9AMoAtUAFQAoACwAAEUiJiY1NDY2MzIWFhczNTMRIycjBgY3MjY2NTU0LgIjIgYGFRUUFhYBNTMHAQNGZDU1ZEYcNS0PB8eiDgccVAofJxIKFSIXHyYRESYBZKIsDD17XVx6PQ0bFfb9K0stKpMeMx8hFykfEhouHzUfLhkBpKqqAAMAJP/0ApsC1QAVACgALAAARSImJjU0NjYzMhYWFzM1MxEjJyMGBjcyNjY1NTQuAiMiBgYVFRQWFgM1IRUBA0ZkNTVkRhw1LQ8Hx6IOBxxUCh8nEgoVIhcfJhERJjkBsgw9e11cej0NGxX2/StLLSqTHjMfIRcpHxIaLh81Hy4ZAbBqagAABAAk//QEsgLVABUAKAAyADoAAEUiJiY1NDY2MzIWFhczNTMRIycjBgY3MjY2NTU0LgIjIgYGFRUUFhYFNRMjNSEVAzMVATMXIzczByMBA0ZkNTVkRhw1LQ8Hx6IOBxxUCh8nEgoVIhcfJhERJgGN3tIB7uDp/iaRZTplk4aoDD17XVx6PQ0bFfb9K0stKpMeMx8hFykfEhouHzUfLhmHQQFIhz7+tYcC1VlZhQAAAgAk//QCdwIcABwAJgAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGAVlfi0tKhVpfhUb+dBUvJhslFwrBJEhrtMIMFyEVISwYDDt6X116PTt6XyIkNBsMFRwQL0w1HAFQFSEXDBYnAAADACT/9AJ3AtUAHAAmACsAAEUiJiY1NDY2MzIWFhUVIRQWFjMyPgI1MxQOAgMzNC4CIyIGBic3MxcHAVlfi0tKhVpfhUb+dBUvJhslFwrBJEhrtMIMFyEVISwYCFzLAqAMO3pfXXo9O3pfIiQ0GwwVHBAvTDUcAVAVIRcMFifwhQSBAAADACT/9AJ3AtUAHAAmADgAAEUiJiY1NDY2MzIWFhUVIRQWFjMyPgI1MxQOAgMzNC4CIyIGBjciJiY1Mx4CMzI2NjczFAYGAVlfi0tKhVpfhUb+dBUvJhslFwrBJEhrtMIMFyEVISwYWzlTLGADHCcSGScYAl8tUww7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJ+UsQyEOFw0QGAohQywAAAMAJP/0AncC1QAcACYALgAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGAzMXIzczByMBWV+LS0qFWl+FRv50FS8mGyUXCsEkSGu0wgwXIRUhLBh9kWU6ZZOGqAw7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJwF1WVmFAAMAJP/0AncC1QAcACYALgAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGJzczFyMnMwcBWV+LS0qFWl+FRv50FS8mGyUXCsEkSGu0wgwXIRUhLBh9hqiGk2U6ZQw7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJ/CFhVlZAAQAJP/0AncDiwAcACYALgAzAABFIiYmNTQ2NjMyFhYVFSEUFhYzMj4CNTMUDgIDMzQuAiMiBgYnNzMXIyczByc3MxcHAVlfi0tKhVpfhUb+dBUvJhslFwrBJEhrtMIMFyEVISwYfYaohpNlOmUcXMsCoAw7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJ/CFhVlZtoUEgQAEACT/PgJ3AtUAHAAmACoAMgAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGEzUzFQE3MxcjJzMHAVlfi0tKhVpfhUb+dBUvJhslFwrBJEhrtMIMFyEVISwYFJj+14aohpNlOmUMO3pfXXo9O3pfIiQ0GwwVHBAvTDUcAVAVIRcMFif93oaGAxKFhVlZAAQAJP/0AncDiwAcACYALgAzAABFIiYmNTQ2NjMyFhYVFSEUFhYzMj4CNTMUDgIDMzQuAiMiBgYnNzMXIyczBzcjJzczAVlfi0tKhVpfhUb+dBUvJhslFwrBJEhrtMIMFyEVISwYfYaohpNlOmWriaACyww7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJ/CFhVlZtoEEAAAEACT/9AJ3A5oAHAAmAC4ARwAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGJzczFyMnMwc3NTMyNjU0JiMjNT4CMzIeAhUUBgYHFQFZX4tLSoVaX4VG/nQVLyYbJRcKwSRIa7TCDBchFSEsGH2GqIaTZTplIQsSDBIROgwiIwwSLCcaGigXDDt6X116PTt6XyIkNBsMFRwQL0w1HAFQFSEXDBYn8IWFWVm1OAcKCwYzAwMCBw8ZExMZDAIZAAQAJP/0AncDiwAcACYALgBGAABFIiYmNTQ2NjMyFhYVFSEUFhYzMj4CNTMUDgIDMzQuAiMiBgYnNzMXIyczByc0NjYzMhYWMzI2NzMUBgYjIiYmIyIGBwFZX4tLSoVaX4VG/nQVLyYbJRcKwSRIa7TCDBchFSEsGH2GqIaTZTplliM/KiA7NxsTGgVRIz8qIDs3GxMaBQw7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJ/CFhVlZrCRCKRQUFxEkQSoUFBcRAAAEACT/9AJ3AtYAHAAmACsAMAAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGNyc3MxchJzczFwFZX4tLSoVaX4VG/nQVLyYbJRcKwSRIa7TCDBchFSEsGJSLArJM/riLArJMDDt6X116PTt6XyIkNBsMFRwQL0w1HAFQFSEXDBYn8IIEhoIEhgAABAAk//QCdwLVABwAJgAqAC4AAEUiJiY1NDY2MzIWFhUVIRQWFjMyPgI1MxQOAgMzNC4CIyIGBic1MxUzNTMVAVlfi0tKhVpfhUb+dBUvJhslFwrBJEhrtMIMFyEVISwYXphEmAw7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJ+qLi4uLAAMAJP/0AncC0AAcACYAKgAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGNzUzFQFZX4tLSoVaX4VG/nQVLyYbJRcKwSRIa7TCDBchFSEsGBGYDDt6X116PTt6XyIkNBsMFRwQL0w1HAFQFSEXDBYn6oaGAAMAJP8+AncCHAAcACYAKgAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGEzUzFQFZX4tLSoVaX4VG/nQVLyYbJRcKwSRIa7TCDBchFSEsGBSYDDt6X116PTt6XyIkNBsMFRwQL0w1HAFQFSEXDBYn/d6GhgAAAwAk//QCdwLVABwAJgArAABFIiYmNTQ2NjMyFhYVFSEUFhYzMj4CNTMUDgIDMzQuAiMiBgY3Iyc3MwFZX4tLSoVaX4VG/nQVLyYbJRcKwSRIa7TCDBchFSEsGL+JoALLDDt6X116PTt6XyIkNBsMFRwQL0w1HAFQFSEXDBYn8IEEAAMAJP/0AncC5AAcACYAPwAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGNzUzMjY1NCYjIzU+AjMyHgIVFAYGBxUBWV+LS0qFWl+FRv50FS8mGyUXCsEkSGu0wgwXIRUhLBg1CxIMEhE6DCIjDBIsJxoaKBcMO3pfXXo9O3pfIiQ0GwwVHBAvTDUcAVAVIRcMFifvOAcKCwYzAwMCBw8ZExMZDAIZAAADACT/9AJ3AtUAHAAmADgAAEUiJiY1NDY2MzIWFhUVIRQWFjMyPgI1MxQOAgMzNC4CIyIGBhMyFhYVIy4CIyIGBgcjNDY2AVlfi0tKhVpfhUb+dBUvJhslFwrBJEhrtMIMFyEVISwYWzlTLV8CGCcZEiccA2AsUww7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJwF1LEIiCxcQDRYPIkIsAAMAJP/0AncCvAAcACYAKgAARSImJjU0NjYzMhYWFRUhFBYWMzI+AjUzFA4CAzM0LgIjIgYGJzUhFQFZX4tLSoVaX4VG/nQVLyYbJRcKwSRIa7TCDBchFSEsGEIBPAw7el9dej07el8iJDQbDBUcEC9MNRwBUBUhFwwWJ/hkZAAAAwAk/y0CdwIcABwAJgA6AABFIiYmNTQ2NjMyFhYVFSEUFhYzMj4CNTMUDgIDMzQuAiMiBgYTIiYmNTQ2NzMVBgYVFBYzMxUGBgFZX4tLSoVaX4VG/nQVLyYbJRcKwSRIa7TCDBchFSEsGNwgOiQhEWoSEhoaPBc6DDt6X116PTt6XyIkNBsMFRwQL0w1HAFQFSEXDBYn/c0XMiklMxUEDCcTFyNMBwgAAwAk//QCdwLVABwAJgA+AABFIiYmNTQ2NjMyFhYVFSEUFhYzMj4CNTMUDgIDMzQuAiMiBgYnNDY2MzIWFjMyNjczFAYGIyImJiMiBgcBWV+LS0qFWl+FRv50FS8mGyUXCsEkSGu0wgwXIRUhLBiCIz8qIDs3GxMaBVEjPyogOzcbExoFDDt6X116PTt6XyIkNBsMFRwQL0w1HAFQFSEXDBYn5iRCKRQUFxEkQSoUFBcRAAIAJP/0AncCHAAcACYAAEUiJiY1NSE0JiYjIg4CFSM0PgIzMhYWFRQGBicyNjY3IxQeAgFOX4VGAYwVLyYbJRcKwSRIa0dfi0tJhmIiLBgDwgwXIQw7el8iJTMbDBUcEC9MNRw7el9cez1/FigbFSEXDAAAAQAIAAABfwLhABcAAHMRIzUzNTQ2NjMyFhYXFSMiBhUVMxUjEVJKSjFXOQ8oKA0uIRdmZgGJhxZIUiEFCAV1GRwVh/53AAMACv8uApMCcwA1AEQAUQAAVyImJjU0NjcmJjU0NjcmJjU0NjYzMhYXNjY1MxQGBgcWFhUUBgYjIyIGFRQWMzMyFhUUBgYjJzMyNjY1NCYjIyIGFRQWEzI2NTQmIyIGFRQWFo8kPSQzIRgcOyokMUp8Sh4pECwipB03Jh0hPmU7TCIdGSa0XFY+ZTu6nA8YDh8WnBYeHmMjKiojHywSItIiOyQpPg8RMBwoPwoXQSZCSh8DAxs0Dis4IgoWOyE7SyQQDQ0SX0o4USxvDBcPFxoZFxccAZMgIiIgICIWHg4ABAAK/y4CkwLVADUARABRAGMAAFciJiY1NDY3JiY1NDY3JiY1NDY2MzIWFzY2NTMUBgYHFhYVFAYGIyMiBhUUFjMzMhYVFAYGIyczMjY2NTQmIyMiBhUUFhMyNjU0JiMiBhUUFhYTIiYmNTMeAjMyNjY3MxQGBo8kPSQzIRgcOyokMUp8Sh4pECwipB03Jh0hPmU7TCIdGSa0XFY+ZTu6nA8YDh8WnBYeHmMjKiojHywSIhI5UyxgAxwnEhknGAJfLVPSIjskKT4PETAcKD8KF0EmQkofAwMbNA4rOCIKFjshO0skEA0NEl9KOFEsbwwXDxcaGRcXHAGTICIiICAiFh4OARUsQyEOFw0QGAohQywAAAQACv8uApMC1QA1AEQAUQBZAABXIiYmNTQ2NyYmNTQ2NyYmNTQ2NjMyFhc2NjUzFAYGBxYWFRQGBiMjIgYVFBYzMzIWFRQGBiMnMzI2NjU0JiMjIgYVFBYTMjY1NCYjIgYVFBYWAzMXIzczByOPJD0kMyEYHDsqJDFKfEoeKRAsIqQdNyYdIT5lO0wiHRkmtFxWPmU7upwPGA4fFpwWHh5jIyoqIx8sEiLGkWU6ZZOGqNIiOyQpPg8RMBwoPwoXQSZCSh8DAxs0Dis4IgoWOyE7SyQQDQ0SX0o4USxvDBcPFxoZFxccAZMgIiIgICIWHg4BpVlZhQAABAAK/y4CkwLVADUARABRAFkAAFciJiY1NDY3JiY1NDY3JiY1NDY2MzIWFzY2NTMUBgYHFhYVFAYGIyMiBhUUFjMzMhYVFAYGIyczMjY2NTQmIyMiBhUUFhMyNjU0JiMiBhUUFhYDNzMXIyczB48kPSQzIRgcOyokMUp8Sh4pECwipB03Jh0hPmU7TCIdGSa0XFY+ZTu6nA8YDh8WnBYeHmMjKiojHywSIsaGqIaTZTpl0iI7JCk+DxEwHCg/ChdBJkJKHwMDGzQOKzgiChY7ITtLJBANDRJfSjhRLG8MFw8XGhkXFxwBkyAiIiAgIhYeDgEghYVZWQAEAAr/LgKTA2EANQBEAFEAXQAAVyImJjU0NjcmJjU0NjcmJjU0NjYzMhYXNjY1MxQGBgcWFhUUBgYjIyIGFRQWMzMyFhUUBgYjJzMyNjY1NCYjIyIGFRQWEzI2NTQmIyIGFRQWFhMVIgYVMxUjNTQ2No8kPSQzIRgcOyokMUp8Sh4pECwipB03Jh0hPmU7TCIdGSa0XFY+ZTu6nA8YDh8WnBYeHmMjKiojHywSIl8oH0eYHUPSIjskKT4PETAcKD8KF0EmQkofAwMbNA4rOCIKFjshO0skEA0NEl9KOFEsbwwXDxcaGRcXHAGTICIiICAiFh4OAjFBHyiLcD1HHwAABAAK/y4CkwLQADUARABRAFUAAFciJiY1NDY3JiY1NDY3JiY1NDY2MzIWFzY2NTMUBgYHFhYVFAYGIyMiBhUUFjMzMhYVFAYGIyczMjY2NTQmIyMiBhUUFhMyNjU0JiMiBhUUFhYDNTMVjyQ9JDMhGBw7KiQxSnxKHikQLCKkHTcmHSE+ZTtMIh0ZJrRcVj5lO7qcDxgOHxacFh4eYyMqKiMfLBIiOJjSIjskKT4PETAcKD8KF0EmQkofAwMbNA4rOCIKFjshO0skEA0NEl9KOFEsbwwXDxcaGRcXHAGTICIiICAiFh4OARqGhgABADwAAAJgAtUAGQAAcxEzFTM+AjMyFhYVESMRNC4CIyIGBhURPMcHETQ8HT9RKMcJEBkRGSUVAtX8Fh0QL1g//qoBPhEbFAsXJRf+ygACAAAAAAJgAtUAGQAdAABzETMVMz4CMzIWFhURIxE0LgIjIgYGFREBNSEVPMcHETQ8HT9RKMcJEBkRGSUV/v0BsgLV/BYdEC9YP/6qAT4RGxQLFyUX/soCN2pqAAL/wAAAAmADdQAZACEAAHMRMxUzPgIzMhYWFREjETQuAiMiBgYVEQE3MxcjJzMHPMcHETQ8HT9RKMcJEBkRGSUV/r2GsoaYZTplAtX8Fh0QL1g//qoBPhEbFAsXJRf+ygLwhYVZWQAAAgA8/z4CYALVABkAHQAAcxEzFTM+AjMyFhYVESMRNC4CIyIGBhURBzUzFTzHBxE0PB0/USjHCRAZERklFQGYAtX8Fh0QL1g//qoBPhEbFAsXJRf+ysKGhgAAAgA8AAABAwLVAAMABwAAUzUzFQMRMxE8x8fHAk6Hh/2yAhD98AABADwAAAEDAhAAAwAAcxEzETzHAhD98AACADwAAAFlAtUAAwAIAABzETMRAzczFwc8x8dcywKgAhD98AJQhQSBAAAC/+cAAAFYAtUAAwAVAABzETMRAyImJjUzHgIzMjY2NzMUBgY8x2Q5UyxgAxwnEhknGAJfLVMCEP3wAkUsQyEOFw0QGAohQywAAAL/xwAAAXsC1QADAAsAAHMRMxEBMxcjNzMHIzzH/sSRZTplk4aoAhD98ALVWVmFAAL/xwAAAXsC1QADAAsAAHMRMxEBNzMXIyczBzzH/sSGqIaTZTplAhD98AJQhYVZWQAAA/96AAABTQLWAAMACAANAABzETMRAyc3MxchJzczFzzHK4sCskz+uIsCskwCEP3wAlCCBIaCBIYAAAP/5gAAAVoC1QADAAcACwAAcxEzEQE1MxUzNTMVPMf+45hEmAIQ/fACSouLi4sAAAIAPAAAAQMC1QADAAcAAFM1MxUDETMRPMfHxwJOh4f9sgIQ/fAAAwA8/z4BAwLVAAMABwALAABTNTMVAxEzEQc1MxU8x8fHr5gCToeH/bICEP3wwoaGAAAC/9oAAAEDAtUAAwAIAABzETMRESMnNzM8x4mgAssCEP3wAlCBBAAAAgA8AAABIQLkAAMAHAAAcxEzEQM1MzI2NTQmIyM1PgIzMh4CFRQGBgcVPMeKCxIMEhE6DCMiDBIsJxoaKBcCEP3wAk84BwoLBjMDAwIHDxkTExkMAhkAAAL/5wAAAVgC1QADABUAAHMRMxEDMhYWFSMuAiMiBgYHIzQ2NjzHZDlTLV8CGCcZEiccA2AsUwIQ/fAC1SxCIgsXEA0WDyJCLAAABAA8/y4CQgLVAAMABwALABsAAFM1MxUDETMREzUzFQMiJiYnNTMyNjURMxEUBgY8x8fHeMe3EC4uEDQeGscmUQJOh4f9sgIQ/fACToeH/OAECQV3IR8CGf3TQFAlAAIAAgAAAT4CvAADAAcAAHMRMxEBNSEVPMf+/wE8AhD98AJYZGQAAwAT/y0BAwLVAAMABwAbAABTNTMVAxEzEQciJiY1NDY3MxUGBhUUFjMzFQYGPMfHx3IgOiQhEWoSEhoaPBc6Ak6Hh/2yAhD98NMXMiklMxUEDCcTFyNMBwgAAv/CAAABfgLVAAMAGwAAcxEzEQE0NjYzMhYWMzI2NzMUBgYjIiYmIyIGBzzH/r8jPyogOzcbExoFUSM/KiA7NxsTGgUCEP3wAkYkQikUFBcRJEEqFBQXEQAAAv/Q/y4BAwLVAAMAEwAAUzUzFQMiJiYnNTMyNjURMxEUBgY8x7cQLi4QNB4axyZRAk6Hh/zgBAkFdyEfAhn900BQJQAB/9D/LgEDAhAADwAAVyImJic1MzI2NREzERQGBkwQLi4QNB4axyZR0gQJBXchHwIZ/dNAUCUAAAL/x/8uAXsC1QAPABcAAFciJiYnNTMyNjURMxEUBgYDNzMXIyczB0wQLi4QNB4axyZRxYaohpNlOmXSBAkFdyEfAhn900BQJQMihYVZWQAAAQA8AAACmQLWAAsAAHMRMxE3MwcTIycHFTzHqejDyOJvRQLW/nDK1f7FtUNyAAIAPP62ApkC1gALABcAAHMRMxE3MwcTIycHFRM1MjY1IzUzFRQGBjzHqejDyOJvRQooH0eYHUMC1v5wytX+xbVDcv62QR8oi3A8SB8AAAEAPAAAApkCEAALAABzETMVNzMHEyMnBxU8x6now8jib0UCEMrK1f7FtUNyAAABADwAAAEDAtUAAwAAcxEzETzHAtX9KwACADwAAAFwA3UAAwAIAABzETMRAzczFwc8x8Fc0AKgAtX9KwLwhQSBAAACADwAAAHNAtUAAwAHAABzETMREzUzBzzHKKIsAtX9KwIrqqoAAAIAPP62AQMC1QADAA8AAHMRMxEDNTI2NSM1MxUUBgY8x68oH0eYHUMC1f0r/rZBHyiLcDxIHwAAAgA8AAABmwLVAAMABwAAcxEzERM1MxU8xxOFAtX9KwE2i4sAAwA8/y4CQgLVAAMABwAXAABzETMREzUzFQMiJiYnNTMyNjURMxEUBgY8x3jHtxAuLhA0HhrHJlEC1f0rAk6Hh/zgBAkFdyEfAhn900BQJQAC/+MAAAFcAtUAAwAHAABzETMRJTUlFTzH/uABeQLV/SvKYuJkAAEAPAAAA60CHAAtAABzETMXMz4CMzIWFzM+AjMyFhYVESMRNC4CIyIGBhURIxE0LgIjIgYGFRE8ow0HEzhDIz1QEwcTN0IiPVAnxwgQGA8YJBPHCBAYDxgjFAIQTx4pFC8sHikUL1g//qoBPhEbFAsXJRf+ygE+ERsUCxclF/7KAAABADwAAAJgAhwAGQAAcxEzFzM+AjMyFhYVESMRNC4CIyIGBhURPKMNBxU4RCQ/USjHCRAZERklFQIQUB8pFC9YP/6qAT4RGxQLFyUX/soAAAIAPAAAAmAC1QAZAB4AAHMRMxczPgIzMhYWFREjETQuAiMiBgYVEQM3MxcHPKMNBxU4RCQ/USjHCRAZERklFRhcywKgAhBQHykUL1g//qoBPhEbFAsXJRf+ygJQhQSBAAIAAAAAAmADQwAZACUAAHMRMxczPgIzMhYWFREjETQuAiMiBgYVEQE1MjY1IzUzFRQGBjyjDQcVOEQkP1EoxwkQGREZJRX+/SgfR5gdQwIQUB8pFC9YP/6qAT4RGxQLFyUX/soCMEEfKItwPEgfAAACADwAAAJgAtUAGQAhAABzETMXMz4CMzIWFhURIxE0LgIjIgYGFREDMxcjNzMHIzyjDQcVOEQkP1EoxwkQGREZJRWNkWU6ZZOGqAIQUB8pFC9YP/6qAT4RGxQLFyUX/soC1VlZhQACADz+tgJgAhwAGQAlAABzETMXMz4CMzIWFhURIxE0LgIjIgYGFRETNTI2NSM1MxUUBgY8ow0HFThEJD9RKMcJEBkRGSUVASgfR5gdQwIQUB8pFC9YP/6qAT4RGxQLFyUX/sr+tkEfKItwPEgfAAEAPP8uAmACHAAmAABFIiYmJzUzMjY1ETQuAiMiBgYVESMRMxczPgIzMhYWFREUDgIBqRAuLhA0HhoJEBkRGSUVx6MNBxU4RCQ/USgVLUXSBAkFdyEfAUcRGxQLFyUX/soCEFAfKRQvWD/+jTBFKxUAAAH/0P8uAmACHAAmAABXIiYmJzUzMjY1ETMXMz4CMzIWFhURIxE0LgIjIgYGFREUDgJMEC4uEDQeGqMNBxU4RCQ/USjHCRAZERklFRUtRdIECQV3IR8CGVAfKRQvWD/+qgE+ERsUCxclF/6tMEUrFQADADz/LgOeAtUAGQAdAC0AAHMRMxczPgIzMhYWFREjETQuAiMiBgYVEQE1MxUDIiYmJzUzMjY1ETMRFAYGPKMNBxU4RCQ/USjHCRAZERklFQHUx7cQLi4QNB4axyZRAhBQHykUL1g//qoBPhEbFAsXJRf+ygJOh4f84AQJBXchHwIZ/dNAUCUAAgA8AAACYALVABkAMQAAcxEzFzM+AjMyFhYVESMRNC4CIyIGBhURAzQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHPKMNBxU4RCQ/USjHCRAZERklFZIjPyogOzcbExoFUSM/KiA7NxsTGgUCEFAfKRQvWD/+qgE+ERsUCxclF/7KAkYkQikUFBcRJEEqFBQXEQAAAgAk//QCdwIcAA8AIQAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCsMPXtcXXo9PXpdXHs9hxsyIzkjMxsbMyM5IzIbAAADACT/9AJ3AtUADwAhACYAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYDNzMXBwFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCtAXMsCoAw9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsB1YUEgQADACT/9AJ3AtUADwAhADMAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYTIiYmNTMeAjMyNjY3MxQGBgFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCsjOVMsYAMcJxIZJxgCXy1TDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwHKLEMhDhcNEBgKIUMsAAMAJP/0AncC1QAPACEAKQAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgMzFyM3MwcjAU1ahUpKhVpahkpKhlojLBQULCMjKxQUK7WRZTplk4aoDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwJaWVmFAAMAJP/0AncC1QAPACEAKQAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgM3MxcjJzMHAU1ahUpKhVpahkpKhlojLBQULCMjKxQUK7WGqIaTZTplDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwHVhYVZWQAABAAk//QCdwOLAA8AIQApAC4AAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYDNzMXIyczByc3MxcHAU1ahUpKhVpahkpKhlojLBQULCMjKxQUK7WGqIaTZTplHFzLAqAMPXtcXXo9PXpdXHs9hxsyIzkjMxsbMyM5IzIbAdWFhVlZtoUEgQAABAAk/z4CdwLVAA8AIQAlAC0AAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYDNTMVATczFyMnMwcBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQrKJj+24aohpNlOmUMPXtcXXo9PXpdXHs9hxsyIzkjMxsbMyM5IzIb/sOGhgMShYVZWQAEACT/9AJ3A4sADwAhACkALgAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgM3MxcjJzMHNyMnNzMBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQrtYaohpNlOmWriaACyww9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsB1YWFWVm2gQQABAAk//QCdwOaAA8AIQApAEIAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYDNzMXIyczBzc1MzI2NTQmIyM1PgIzMh4CFRQGBgcVAU1ahUpKhVpahkpKhlojLBQULCMjKxQUK7WGqIaTZTplIQsSDBIROgwiIwwSLCcaGigXDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwHVhYVZWbU4BwoLBjMDAwIHDxkTExkMAhkAAAQAJP/0AncDiwAPACEAKQBBAABFIiYmNTQ2NjMyFhYVFAYGJzI2NjU1NCYmIyIGBhUVFBYWAzczFyMnMwcnNDY2MzIWFjMyNjczFAYGIyImJiMiBgcBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQrtYaohpNlOmWWIz8qIDs3GxMaBVEjPyogOzcbExoFDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwHVhYVZWawkQikUFBcRJEEqFBQXEQAEACT/9AJ3AtYADwAhACYAKwAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFhMnNzMXISc3MxcBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQrXIsCskz+uIsCskwMPXtcXXo9PXpdXHs9hxsyIzkjMxsbMyM5IzIbAdWCBIaCBIYABAAk//QCdwLVAA8AIQAlACkAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYDNTMVMzUzFQFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCuWmESYDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwHPi4uLiwAABQAk//QCdwNoAA8AIQAlACkALQAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgM1MxUzNTMVJTUhFQFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCuWmESY/qgBPAw9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsBz4uLi4u6ZGQABAAk//QCdwNoAA8AIQAlACkAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYDNTMVJzUhFQFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCsnmOoBPAw9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsBz4aGumRkAAADACT/PgJ3AhwADwAhACUAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYDNTMVAU1ahUpKhVpahkpKhlojLBQULCMjKxQUKyiYDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyG/7DhoYAAAMAJP/0AncC1QAPACEAJgAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFhMjJzczAU1ahUpKhVpahkpKhlojLBQULCMjKxQUK4eJoALLDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwHVgQQAAAMAJP/0AncC5AAPACEAOgAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgM1MzI2NTQmIyM1PgIzMh4CFRQGBgcVAU1ahUpKhVpahkpKhlojLBQULCMjKxQUKwMLEgwSEToMIiMMEiwnGhooFww9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsB1DgHCgsGMwMDAgcPGRMTGQwCGQADACT/9ALaArAADwAhAC0AAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYTNTI2NyM1MxUUBgYBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQr2Ck5CEa0MGAMPXtcXXo9PXpdXHs9hxsyIzkjMxsbMyM5IzIbARJXHRyTV0FbLwAABAAk//QC2gLVAA8AIQAtADIAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYTNTI2NyM1MxUUBgYlNzMXBwFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCvYKTkIRrQwYP6gXMsCoAw9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsBElcdHJNXQVsvwoUEgQAEACT/PgLaArAADwAhAC0AMQAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFhM1MjY3IzUzFRQGBgE1MxUBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQr2Ck5CEa0MGD+uJgMPXtcXXo9PXpdXHs9hxsyIzkjMxsbMyM5IzIbARJXHRyTV0FbL/2whoYABAAk//QC2gLVAA8AIQAtADIAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYTNTI2NyM1MxUUBgYnIyc3MwFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCvYKTkIRrQwYJmJoALLDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwESVx0ck1dBWy/CgQQABAAk//QC2gLkAA8AIQAtAEYAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYTNTI2NyM1MxUUBgYlNTMyNjU0JiMjNT4CMzIeAhUUBgYHFQFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCvYKTkIRrQwYP7dCxIMEhE6DCIjDBIsJxoaKBcMPXtcXXo9PXpdXHs9hxsyIzkjMxsbMyM5IzIbARJXHRyTV0FbL8E4BwoLBjMDAwIHDxkTExkMAhkABAAk//QC2gLVAA8AIQAtAEUAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYTNTI2NyM1MxUUBgYlNDY2MzIWFjMyNjczFAYGIyImJiMiBgcBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQr2Ck5CEa0MGD+Sh01JBoyLhcQFgREHTUkGzEuFxAWBAw9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsBElcdHJNXQVsvuCRCKRQUFxEkQSoUFBcRAAAEACT/9AKDAtUADwAhACYAKwAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgM3MxcHMzczFwcBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQrmEy8AotoTLwCiww9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsB1YUEgYUEgQAAAwAk//QCdwLVAA8AIQAzAABFIiYmNTQ2NjMyFhYVFAYGJzI2NjU1NCYmIyIGBhUVFBYWEzIWFhUjLgIjIgYGByM0NjYBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQrIzlTLV8CGCcZEiccA2AsUww9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsCWixCIgsXEA0WDyJCLAADACT/9AJ3ArwADwAhACUAAEUiJiY1NDY2MzIWFhUUBgYnMjY2NTU0JiYjIgYGFRUUFhYDNSEVAU1ahUpKhVpahkpKhlojLBQULCMjKxQUK3oBPAw9e1xdej09el1cez2HGzIjOSMzGxszIzkjMhsB3WRkAAMAJP8tAncCHAAPACEANQAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFhMiJiY1NDY3MxUGBhUUFjMzFQYGAU1ahUpKhVpahkpKhlojLBQULCMjKxQUK4ggOiQhEWoSEhoaPBc6DD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyG/6yFzIpJTMVBAwnExcjTAcIAAMAJP/aAncCNgAPACEAJQAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgcBMwEBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQr/AHkXP4cDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyG6ECXP2kAAQAJP/aAncC1QAPACEAJQAqAABFIiYmNTQ2NjMyFhYVFAYGJzI2NjU1NCYmIyIGBhUVFBYWBwEzARM3MxcHAU1ahUpKhVpahkpKhlojLBQULCMjKxQUK/wB5Fz+HGBcywKgDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyG6ECXP2kAnaFBIEAAAMAJP/0AncC1QAPACEAOQAARSImJjU0NjYzMhYWFRQGBicyNjY1NTQmJiMiBgYVFRQWFgM0NjYzMhYWMzI2NzMUBgYjIiYmIyIGBwFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCu6Iz8qIDs3GxMaBVEjPyogOzcbExoFDD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwHLJEIpFBQXESRBKhQUFxEAAAQAJP/0AncDaAAPACEAOQA9AABFIiYmNTQ2NjMyFhYVFAYGJzI2NjU1NCYmIyIGBhUVFBYWAzQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHJzUhFQFNWoVKSoVaWoZKSoZaIywUFCwjIysUFCu6Iz8qIDs3GxMaBVEjPyogOzcbExoFEQE8DD17XF16PT16XVx7PYcbMiM5IzMbGzMjOSMyGwHLJEIpFBQXESRBKhQUFxG+ZGQAAAMAJP/0A9UCHAAoADoARAAARSImJjU0NjYzMhYXNjYzMhYWFRUhFBYWMzI+AjUzFA4CIyImJwYGJzI2NjU1NCYmIyIGBhUVFBYWJTM0LgIjIgYGAUNXgUdHgVc4XiQkXTdcgUP+iBMrIhghFQnBI0VnRTxiJiVdOCAnEhInIB8nEhInATquCxQdEx4oFgw9e1xdej0ZGRkZO3pfIiQ0GwwVHBAvTDUcGRkZGYcbMiM5IzMbGzMjOSMyG8kVIRcMFicAAgA9/zsCdwIcABUAKAAAVxEzFzM2NjMyFhYVFAYGIyImJicjFRMyNjY1NTQmJiMiBgYVFRQeAj2iEQccUjNGZDU1ZEYcNSwQB1YfJhERJh8fJxIKFSLFAtVLLyg9e11cej0MGxX1AUwaLh81Hy4ZHjMfIRcpHxIAAgA8/zsCdgLYABYAKQAAVxEzETM+AjMyFhYVFAYGIyImJicjFRMyNjY1NTQmJiMiDgIVFRQWFjzHBwsoOCJGZDU1ZEYcNSwQB1YfJhERJh8XIhUKEifFA53+7RknFz17XVx6PQwbFfUBTBouHzUfLhkRHykXIR8zHwACACT/OwJeAhwAFQAoAABFNSMOAiMiJiY1NDY2MzIWFzM3MxEBMj4CNTU0JiYjIgYGFRUUFhYBlwcSLDMcRmQ1NWRGM1UZBxGi/uMXIhUKEicfHyYRESbF9RMbDj16XF17PSwrS/0rAUwSHykXIR8zHhkuHzUfLhoAAAEAPAAAAbgCHQATAABzETMXMz4CMzIWFxUjIg4CFRU8ow0HDSk2HhQgB0AgLRsNAhBQHioVCASnESEvHusAAgA8AAABuALVABMAGAAAcxEzFzM+AjMyFhcVIyIOAhUVAzczFwc8ow0HDSk2HhQgB0AgLRsNdFzLAqACEFAeKhUIBKcRIS8e6wJQhQSBAAACABoAAAHOAtUAEwAbAABzETMXMz4CMzIWFxUjIg4CFRUDMxcjNzMHIzyjDQcNKTYeFCAHQCAtGw3pkWU6ZZOGqAIQUB4qFQgEpxEhLx7rAtVZWYUAAAIAPP62AbgCHQATAB8AAHMRMxczPgIzMhYXFSMiDgIVFQM1MjY1IzUzFRQGBjyjDQcNKTYeFCAHQCAtGw2xKB9HmB1DAhBQHioVCASnESEvHuv+tkEfKItwPEgfAAAD/80AAAG4AtYAEwAYAB0AAHMRMxczPgIzMhYXFSMiDgIVFRMnNzMXISc3Mxc8ow0HDSk2HhQgB0AgLRsNKIsCskz+uIsCskwCEFAeKhUIBKcRIS8e6wJQggSGggSGAAACADoAAAG4AtUAEwAlAABzETMXMz4CMzIWFxUjIg4CFRUDMhYWFSMuAiMiBgYHIzQ2NjyjDQcNKTYeFCAHQCAtGw0ROVMtXwIYJxkSJxwDYCxTAhBQHioVCASnESEvHusC1SxCIgsXEA0WDyJCLAAAAQAi//QCQQIdAEIAAEUiLgI1NDQ3MwYUFR4CMzI2NjU0JiYnLgM1ND4CMzIeAhUUFAcjNTQmJiMiDgIVFBYWFx4DFRQOAgEwMF9PMAG5AQEXJhcOJx4jOSIlS0AnK0tfNC1ZSiwBtxUhEQYYGREXJxgmWE8yLExjDBMpQC4DBwQDBgISGAwEEBMREQsGBhMjOi40RikRESU8KwMJAggPEwkBBg4NDA8JBQcNHz85NkkqEgAAAgAi//QCQQLVAEIARwAARSIuAjU0NDczBhQVHgIzMjY2NTQmJicuAzU0PgIzMh4CFRQUByM1NCYmIyIOAhUUFhYXHgMVFA4CAzczFwcBMDBfTzABuQEBFyYXDiceIzkiJUtAJytLXzQtWUosAbcVIREGGBkRFycYJlhPMixMY6BcywKgDBMpQC4DBwQDBgISGAwEEBMREQsGBhMjOi40RikRESU8KwMJAggPEwkBBg4NDA8JBQcNHz85NkkqEgJchQSBAAIAIv/0AkEC1QBCAEoAAEUiLgI1NDQ3MwYUFR4CMzI2NjU0JiYnLgM1ND4CMzIeAhUUFAcjNTQmJiMiDgIVFBYWFx4DFRQOAgEzFyM3MwcjATAwX08wAbkBARcmFw4nHiM5IiVLQCcrS180LVlKLAG3FSERBhgZERcnGCZYTzIsTGP+65FlOmWThqgMEylALgMHBAMGAhIYDAQQExERCwYGEyM6LjRGKRERJTwrAwkCCA8TCQEGDg0MDwkFBw0fPzk2SSoSAuFZWYUAAAIAIv8tAkECHQBCAFoAAEUiLgI1NDQ3MwYUFR4CMzI2NjU0JiYnLgM1ND4CMzIeAhUUFAcjNTQmJiMiDgIVFBYWFx4DFRQOAgciJic1MzI2NTQmIyM3MwceAhUUDgIBMDBfTzABuQEBFyYXDiceIzkiJUtAJytLXzQtWUosAbcVIREGGBkRFycYJlhPMixMYy0iTRZpEhYQFigUYAsSJxoZJioMEylALgMHBAMGAhIYDAQQExERCwYGEyM6LjRGKRERJTwrAwkCCA8TCQEGDg0MDwkFBw0fPzk2SSoSxwkHOQYQDwmDRAITJR8cJRQIAAIAIv/0AkEC1QBCAEoAAEUiLgI1NDQ3MwYUFR4CMzI2NjU0JiYnLgM1ND4CMzIeAhUUFAcjNTQmJiMiDgIVFBYWFx4DFRQOAgE3MxcjJzMHATAwX08wAbkBARcmFw4nHiM5IiVLQCcrS180LVlKLAG3FSERBhgZERcnGCZYTzIsTGP+64aohpNlOmUMEylALgMHBAMGAhIYDAQQExERCwYGEyM6LjRGKRERJTwrAwkCCA8TCQEGDg0MDwkFBw0fPzk2SSoSAlyFhVlZAAIAIv62AkECHQBCAE4AAEUiLgI1NDQ3MwYUFR4CMzI2NjU0JiYnLgM1ND4CMzIeAhUUFAcjNTQmJiMiDgIVFBYWFx4DFRQOAgM1MjY1IzUzFRQGBgEwMF9PMAG5AQEXJhcOJx4jOSIlS0AnK0tfNC1ZSiwBtxUhEQYYGREXJxgmWE8yLExjfygfR5gdQwwTKUAuAwcEAwYCEhgMBBATERELBgYTIzouNEYpERElPCsDCQIIDxMJAQYODQwPCQUHDR8/OTZJKhL+wkEfKItwPEgf//8AIv8+AkECHQYmAXoAAAAHAuIA5wAAAAEAQwAAAnAC4QAwAABzETQ+AjMyHgIVFAYHFRYWFRQGBiMjNTMyNjY1NCYmIyM1MzI2NjU0JiMiBgYVEUMvTl8xLlxNLjIsNURAb0dAHBcmFhclFxwbEx0RJSEVIBECBTtUNRgSK0k3MFISBRNmPEhfL4gaKhkbKxqNEh8THSgSHxT96gAAAQAIAAABfwLhABMAAHMRIzUzNTQ2NjMyFhYXFSMiBhURUkpKMVc5DygoDS4hFwGJhxZIUiEFCAV1GRz92wABABv/9AGcArAAFwAARSImJjURIzUzNzMVMxUjFRQWMzMVDgIBHDZTLkpSK5RwcBYiOBAvLwwZPjYBCIegoIfJIiN1BQkEAAACABv/9AGcArAAAwAbAAB3NSEVByImJjURIzUzNzMVMxUjFRQWMzMVDgIbAXd2NlMuSlIrlHBwFiI4EC8v1nJy4hk+NgEIh6Cgh8kiI3UFCQQAAgAb//QB8QLVABcAGwAARSImJjURIzUzNzMVMxUjFRQWMzMVDgITNTMHARw2Uy5KUiuUcHAWIjgQLy8hoiwMGT42AQiHoKCHySIjdQUJBAI3qqoAAgAb/y0BnAKwABcALwAARSImJjURIzUzNzMVMxUjFRQWMzMVDgIHIiYnNTMyNjU0JiMjNzMHHgIVFA4CARw2Uy5KUiuUcHAWIjgQLy85Ik0WaRIWEBYoFGALEicaGSYqDBk+NgEIh6Cgh8kiI3UFCQTHCQc5BhAPCYNEAhMlHxwlFAgAAgAb/rYBnAKwABcAIwAARSImJjURIzUzNzMVMxUjFRQWMzMVDgIDNTI2NSM1MxUUBgYBHDZTLkpSK5RwcBYiOBAvL4soH0eYHUMMGT42AQiHoKCHySIjdQUJBP7CQR8oi3A8SB8AAgAb/z4BnAKwABcAGwAARSImJjURIzUzNzMVMxUjFRQWMzMVDgIHNTMVARw2Uy5KUiuUcHAWIjgQLy+LmAwZPjYBCIegoIfJIiN1BQkEtoaGAAEAOv/0Al4CEAAYAABXIiY1ETMRFB4CMzI2NjURMxEjJyMOAvJeWscJEBoQGSUVx6MKBxM7RgxoXgFW/sIQHBQLFyYWATb98FAdKhUAAAIAOv/0Al4C1QAYAB0AAFciJjURMxEUHgIzMjY2NREzESMnIw4CAzczFwfyXlrHCRAaEBklFcejCgcTO0YsXMsCoAxoXgFW/sIQHBQLFyYWATb98FAdKhUCXIUEgQACADr/9AJeAtUAGAAqAABXIiY1ETMRFB4CMzI2NjURMxEjJyMOAhMiJiY1Mx4CMzI2NjczFAYG8l5axwkQGhAZJRXHowoHEztGNzlTLGADHCcSGScYAl8tUwxoXgFW/sIQHBQLFyYWATb98FAdKhUCUSxDIQ4XDRAYCiFDLAACADr/9AJeAtUAGAAgAABXIiY1ETMRFB4CMzI2NjURMxEjJyMOAgMzFyM3Mwcj8l5axwkQGhAZJRXHowoHEztGoZFlOmWThqgMaF4BVv7CEBwUCxcmFgE2/fBQHSoVAuFZWYUAAgA6//QCXgLVABgAIAAAVyImNREzERQeAjMyNjY1ETMRIycjDgIDNzMXIyczB/JeWscJEBoQGSUVx6MKBxM7RqGGqIaTZTplDGheAVb+whAcFAsXJhYBNv3wUB0qFQJchYVZWQAAAwAo//QCXgLWABgAHQAiAABXIiY1ETMRFB4CMzI2NjURMxEjJyMOAhMnNzMXISc3MxfyXlrHCRAaEBklFcejCgcTO0ZwiwKyTP64iwKyTAxoXgFW/sIQHBQLFyYWATb98FAdKhUCXIIEhoIEhgADADr/9AJeAtUAGAAcACAAAFciJjURMxEUHgIzMjY2NREzESMnIw4CAzUzFTM1MxXyXlrHCRAaEBklFcejCgcTO0aCmESYDGheAVb+whAcFAsXJhYBNv3wUB0qFQJWi4uLiwAABAA6//QCXgOBABgAHAAgACUAAFciJjURMxEUHgIzMjY2NREzESMnIw4CAzUzFTM1MxUlNzMXB/JeWscJEBoQGSUVx6MKBxM7RoKYRJj+4lzLAqAMaF4BVv7CEBwUCxcmFgE2/fBQHSoVAlaLi4uLsoUEgQAEADr/9AJeA4EAGAAcACAAKAAAVyImNREzERQeAjMyNjY1ETMRIycjDgIDNTMVMzUzFQEzFyM3Mwcj8l5axwkQGhAZJRXHowoHEztGgphEmP5tkWU6ZZOGqAxoXgFW/sIQHBQLFyYWATb98FAdKhUCVouLi4sBN1lZhQAABAA6//QCXgOBABgAHAAgACUAAFciJjURMxEUHgIzMjY2NREzESMnIw4CAzUzFTM1MxUnIyc3M/JeWscJEBoQGSUVx6MKBxM7RoKYRJhXiaACywxoXgFW/sIQHBQLFyYWATb98FAdKhUCVouLi4uygQQABAA6//QCXgNoABgAHAAgACQAAFciJjURMxEUHgIzMjY2NREzESMnIw4CAzUzFTM1MxUlNSEV8l5axwkQGhAZJRXHowoHEztGgphEmP6oATwMaF4BVv7CEBwUCxcmFgE2/fBQHSoVAlaLi4uLumRkAAIAOv8+Al4CEAAYABwAAFciJjURMxEUHgIzMjY2NREzESMnIw4CBzUzFfJeWscJEBoQGSUVx6MKBxM7RhSYDGheAVb+whAcFAsXJhYBNv3wUB0qFbaGhgACADr/9AJeAtUAGAAdAABXIiY1ETMRFB4CMzI2NjURMxEjJyMOAhMjJzcz8l5axwkQGhAZJRXHowoHEztGm4mgAssMaF4BVv7CEBwUCxcmFgE2/fBQHSoVAlyBBAAAAgA6//QCXgLkABgAMQAAVyImNREzERQeAjMyNjY1ETMRIycjDgITNTMyNjU0JiMjNT4CMzIeAhUUBgYHFfJeWscJEBoQGSUVx6MKBxM7RhELEgwSEToMIiMMEiwnGhooFwxoXgFW/sIQHBQLFyYWATb98FAdKhUCWzgHCgsGMwMDAgcPGRMTGQwCGQACADr/9ALTAtwAGAAkAABXIiY1ETMRFB4CMzI2NjURMxEjJyMOAhM1MjY3IzUzFRQGBvJeWscJEBoQGSUVx6MKBxM7RuUpOQhGtDBgDGheAVb+whAcFAsXJhYBNv3wUB0qFQHFVx0ck1dBWy8AAAMAOv/0AtMC3AAYACQAKQAAVyImNREzERQeAjMyNjY1ETMRIycjDgITNTI2NyM1MxUUBgYlNzMXB/JeWscJEBoQGSUVx6MKBxM7RuUpOQhGtDBg/qdcywKgDGheAVb+whAcFAsXJhYBNv3wUB0qFQHFVx0ck1dBWy+WhQSBAAMAOv8+AtMC3AAYACQAKAAAVyImNREzERQeAjMyNjY1ETMRIycjDgITNTI2NyM1MxUUBgYBNTMV8l5axwkQGhAZJRXHowoHEztG5Sk5CEa0MGD+v5gMaF4BVv7CEBwUCxcmFgE2/fBQHSoVAcVXHRyTV0FbL/2EhoYAAwA6//QC0wLcABgAJAApAABXIiY1ETMRFB4CMzI2NjURMxEjJyMOAhM1MjY3IzUzFRQGBicjJzcz8l5axwkQGhAZJRXHowoHEztG5Sk5CEa0MGCSiaACywxoXgFW/sIQHBQLFyYWATb98FAdKhUBxVcdHJNXQVsvloEEAAMAOv/0AtMC5AAYACQAPQAAVyImNREzERQeAjMyNjY1ETMRIycjDgITNTI2NyM1MxUUBgYlNTMyNjU0JiMjNT4CMzIeAhUUBgYHFfJeWscJEBoQGSUVx6MKBxM7RuUpOQhGtDBg/uQLEgwSEToMIiMMEiwnGhooFwxoXgFW/sIQHBQLFyYWATb98FAdKhUBxVcdHJNXQVsvlTgHCgsGMwMDAgcPGRMTGQwCGQADADr/9ALTAtwAGAAkADwAAFciJjURMxEUHgIzMjY2NREzESMnIw4CEzUyNjcjNTMVFAYGJTQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYH8l5axwkQGhAZJRXHowoHEztG5Sk5CEa0MGD+WRwyIhovLBUPFQRBHDIiGS8tFQ8VBAxoXgFW/sIQHBQLFyYWATb98FAdKhUBxVcdHJNXQVsvjCRCKRQUFxEkQSoUFBcRAAADADr/9AKDAtUAGAAdACIAAFciJjURMxEUHgIzMjY2NREzESMnIw4CAzczFwczNzMXB/JeWscJEBoQGSUVx6MKBxM7RoRMvAKLaEy8AosMaF4BVv7CEBwUCxcmFgE2/fBQHSoVAlyFBIGFBIEAAAIAOv/0Al4C1QAYACoAAFciJjURMxEUHgIzMjY2NREzESMnIw4CEzIWFhUjLgIjIgYGByM0NjbyXlrHCRAaEBklFcejCgcTO0Y3OVMtXwIYJxkSJxwDYCxTDGheAVb+whAcFAsXJhYBNv3wUB0qFQLhLEIiCxcQDRYPIkIsAAIAOv/0Al4CvAAYABwAAFciJjURMxEUHgIzMjY2NREzESMnIw4CAzUhFfJeWscJEBoQGSUVx6MKBxM7RmYBPAxoXgFW/sIQHBQLFyYWATb98FAdKhUCZGRkAAIAOv8tAnoCEAATACwAAEUiJiY1NDY3MxUGBhUUFjMzFQYGJSImNREzERQeAjMyNjY1ETMRIycjDgICECA6JCERahISGho8Fzr+yV5axwkQGhAZJRXHowoHEztG0xcyKSUzFQQMJxMXI0wHCMdoXgFW/sIQHBQLFyYWATb98FAdKhUAAAMAOv/0Al4DGgAYACQAMAAAVyImNREzERQeAjMyNjY1ETMRIycjDgITIiY1NDYzMhYVFAYnMjY1NCYjIgYVFBbyXlrHCRAaEBklFcejCgcTO0Y4Lz4+Ly8+Pi8RFxcRERcXDGheAVb+whAcFAsXJhYBNv3wUB0qFQJNPS8vPj4vLz1CGBMSFxgTEhcAAgA6//QCXgLVABgAMAAAVyImNREzERQeAjMyNjY1ETMRIycjDgIDNDY2MzIWFjMyNjczFAYGIyImJiMiBgfyXlrHCRAaEBklFcejCgcTO0amIz8qIDs3GxMaBVEjPyogOzcbExoFDGheAVb+whAcFAsXJhYBNv3wUB0qFQJSJEIpFBQXESRBKhQUFxEAAAEAAAAAAmMCEAAPAABzAzMXHgIXMz4CNzczA8jI1jMFDxMHBwcSEAUzxMoCEKsOOD4aGD04Eav98AABAAAAAAOwAhAAJwAAcwMzFx4CFzM+Ajc3MxceAhczPgI3NzMDIycuAicjDgIHB8HB1ykEDQ8GBwcNDgYrxioEDQ8GBwUODgUrwsLCMgUMCwQEAwsMBjMCEKENNTwZGTIyGaKjDjU6GBQ2NxSj/fCyESspDw4oKhOzAAIAAAAAA7AC1QAnACwAAHMDMxceAhczPgI3NzMXHgIXMz4CNzczAyMnLgInIw4CBwcDNzMXB8HB1ykEDQ8GBwcNDgYrxioEDQ8GBwUODgUrwsLCMgUMCwQEAwsMBjMLXMsCoAIQoQ01PBkZMjIZoqMONToYFDY3FKP98LIRKykPDigqE7MCUIUEgQAAAgAAAAADsALVACcALwAAcwMzFx4CFzM+Ajc3MxceAhczPgI3NzMDIycuAicjDgIHBwM3MxcjJzMHwcHXKQQNDwYHBw0OBivGKgQNDwYHBQ4OBSvCwsIyBQwLBAQDCwwGM4CGqIaTZTplAhChDTU8GRkyMhmiow41OhgUNjcUo/3wshErKQ8OKCoTswJQhYVZWQADAAAAAAOwAtUAJwArAC8AAHMDMxceAhczPgI3NzMXHgIXMz4CNzczAyMnLgInIw4CBwcDNTMVMzUzFcHB1ykEDQ8GBwcNDgYrxioEDQ8GBwUODgUrwsLCMgUMCwQEAwsMBjNhmESYAhChDTU8GRkyMhmiow41OhgUNjcUo/3wshErKQ8OKCoTswJKi4uLiwACAAAAAAOwAtUAJwAsAABzAzMXHgIXMz4CNzczFx4CFzM+Ajc3MwMjJy4CJyMOAgcHEyMnNzPBwdcpBA0PBgcHDQ4GK8YqBA0PBgcFDg4FK8LCwjIFDAsEBAMLDAYzvImgAssCEKENNTwZGTIyGaKjDjU6GBQ2NxSj/fCyESspDw4oKhOzAlCBBAABAAQAAAKWAhAADQAAcxMnMxczNzMHEyMnIwcEy7fqVARU3LrG6GQEZQEY+IyM/f7tpqYAAQAA/y4CYwIQAB0AAFciJic1MzI2NjcDMxceAhczPgM3NzMDDgOcJDwTUCMlDwLS1j4FDg8FBwQJCgoDOcS8Ei09VdILB3caIg0CENYPMjQUDiQnIg3X/gAxUz0hAAIAAP8uAmMC1QAdACIAAFciJic1MzI2NjcDMxceAhczPgM3NzMDDgMTNzMXB5wkPBNQIyUPAtLWPgUODwUHBAkKCgM5xLwSLT1VBFzLAqDSCwd3GiINAhDWDzI0FA4kJyIN1/4AMVM9IQMihQSBAAACAAD/LgJjAtUAHQAlAABXIiYnNTMyNjY3AzMXHgIXMz4DNzczAw4DAzczFyMnMwecJDwTUCMlDwLS1j4FDg8FBwQJCgoDOcS8Ei09VXGGqIaTZTpl0gsHdxoiDQIQ1g8yNBQOJCciDdf+ADFTPSEDIoWFWVkAAwAA/y4CYwLVAB0AIQAlAABXIiYnNTMyNjY3AzMXHgIXMz4DNzczAw4DAzUzFTM1MxWcJDwTUCMlDwLS1j4FDg8FBwQJCgoDOcS8Ei09VVKYRJjSCwd3GiINAhDWDzI0FA4kJyIN1/4AMVM9IQMci4uLiwACAAD/LgJjAhAAHQAhAABXIiYnNTMyNjY3AzMXHgIXMz4DNzczAw4DNzUzFZwkPBNQIyUPAtLWPgUODwUHBAkKCgM5xLwSLT1V2ZjSCwd3GiINAhDWDzI0FA4kJyIN1/4AMVM9IRCGhgAAAgAA/y4CYwLVAB0AIgAAVyImJzUzMjY2NwMzFx4CFzM+Azc3MwMOAxMjJzcznCQ8E1AjJQ8C0tY+BQ4PBQcECQoKAznEvBItPVXLiaACy9ILB3caIg0CENYPMjQUDiQnIg3X/gAxUz0hAyKBBAACAAD/LgJjAuQAHQA2AABXIiYnNTMyNjY3AzMXHgIXMz4DNzczAw4DEzUzMjY1NCYjIzU+AjMyHgIVFAYGBxWcJDwTUCMlDwLS1j4FDg8FBwQJCgoDOcS8Ei09VUELEgwSEToMIiMMEiwnGhooF9ILB3caIg0CENYPMjQUDiQnIg3X/gAxUz0hAyE4BwoLBjMDAwIHDxkTExkMAhkAAAIAAP8uAmMCvAAdACEAAFciJic1MzI2NjcDMxceAhczPgM3NzMDDgMDNSEVnCQ8E1AjJQ8C0tY+BQ4PBQcECQoKAznEvBItPVU2ATzSCwd3GiINAhDWDzI0FA4kJyIN1/4AMVM9IQMqZGQAAAIAAP8uAmMC1QAdADUAAFciJic1MzI2NjcDMxceAhczPgM3NzMDDgMDNDY2MzIWFjMyNjczFAYGIyImJiMiBgecJDwTUCMlDwLS1j4FDg8FBwQJCgoDOcS8Ei09VXYjPyogOzcbExoFUSM/KiA7NxsTGgXSCwd3GiINAhDWDzI0FA4kJyIN1/4AMVM9IQMYJEIpFBQXESRBKhQUFxEAAQAUAAACFwIQAAkAAHM1EyM1IRUDMxUU3tIB7uDpQQFIhz7+tYcAAAIAFAAAAhcC1QAJAA4AAHM1EyM1IRUDMxUBNzMXBxTe0gHu4On+m1zLAqBBAUiHPv61hwJQhQSBAAACABQAAAIXAtUACQARAABzNRMjNSEVAzMVATMXIzczByMU3tIB7uDp/iaRZTplk4aoQQFIhz7+tYcC1VlZhQAAAgAUAAACFwLQAAkADQAAczUTIzUhFQMzFQE1MxUU3tIB7uDp/rSYQQFIhz7+tYcCSoaGAAEAO/8vAl8CEAAqAABFIiYmNTUzFBYWMzI2NjU1Iw4CIyImNREzERQeAjMyNjY1ETMRFA4CAUNedTXGDB4bIiYQBxI1QCFbWccJEBoQGSUVxyxOZ9EoSjEfDxkPGCcWYx0qFWheATT+7BAcFAsXJhYBDP4SPlw8HQAAAgA7/y8CXwLVACoALwAARSImJjU1MxQWFjMyNjY1NSMOAiMiJjURMxEUHgIzMjY2NREzERQOAgM3MxcHAUNedTXGDB4bIiYQBxI1QCFbWccJEBoQGSUVxyxOZ5RcywKg0ShKMR8PGQ8YJxZjHSoVaF4BNP7sEBwUCxcmFgEM/hI+XDwdAyGFBIEAAgA7/y8CXwLVACoAMgAARSImJjU1MxQWFjMyNjY1NSMOAiMiJjURMxEUHgIzMjY2NREzERQOAgE3MxcjJzMHAUNedTXGDB4bIiYQBxI1QCFbWccJEBoQGSUVxyxOZ/73hqiGk2U6ZdEoSjEfDxkPGCcWYx0qFWheATT+7BAcFAsXJhYBDP4SPlw8HQMhhYVZWQADADv/LwJfAtUAKgAuADIAAEUiJiY1NTMUFhYzMjY2NTUjDgIjIiY1ETMRFB4CMzI2NjURMxEUDgIDNTMVMzUzFQFDXnU1xgweGyImEAcSNUAhW1nHCRAaEBklFccsTmfqmESY0ShKMR8PGQ8YJxZjHSoVaF4BNP7sEBwUCxcmFgEM/hI+XDwdAxuLi4uLAAACADv+bAJfAhAAKgAuAABFIiYmNTUzFBYWMzI2NjU1Iw4CIyImNREzERQeAjMyNjY1ETMRFA4CBzUzFQFDXnU1xgweGyImEAcSNUAhW1nHCRAaEBklFccsTmd8mNEoSjEfDxkPGCcWYx0qFWheATT+7BAcFAsXJhYBDP4SPlw8HcOGhgACADv/LwJfAtUAKgAvAABFIiYmNTUzFBYWMzI2NjU1Iw4CIyImNREzERQeAjMyNjY1ETMRFA4CEyMnNzMBQ151NcYMHhsiJhAHEjVAIVtZxwkQGhAZJRXHLE5nM4mgAsvRKEoxHw8ZDxgnFmMdKhVoXgE0/uwQHBQLFyYWAQz+Ej5cPB0DIYEEAAACADv/LwJfAuQAKgBDAABFIiYmNTUzFBYWMzI2NjU1Iw4CIyImNREzERQeAjMyNjY1ETMRFA4CAzUzMjY1NCYjIzU+AjMyHgIVFAYGBxUBQ151NcYMHhsiJhAHEjVAIVtZxwkQGhAZJRXHLE5nVwsSDBIROgwiIwwSLCcaGigX0ShKMR8PGQ8YJxZjHSoVaF4BNP7sEBwUCxcmFgEM/hI+XDwdAyA4BwoLBjMDAwIHDxkTExkMAhkAAgA7/y8CXwK8ACoALgAARSImJjU1MxQWFjMyNjY1NSMOAiMiJjURMxEUHgIzMjY2NREzERQOAgM1IRUBQ151NcYMHhsiJhAHEjVAIVtZxwkQGhAZJRXHLE5nzgE80ShKMR8PGQ8YJxZjHSoVaF4BNP7sEBwUCxcmFgEM/hI+XDwdAylkZAACADv/LwJfAtUAKgBCAABFIiYmNTUzFBYWMzI2NjU1Iw4CIyImNREzERQeAjMyNjY1ETMRFA4CATQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHAUNedTXGDB4bIiYQBxI1QCFbWccJEBoQGSUVxyxOZ/7yIz8qIDs3GxMaBVEjPyogOzcbExoF0ShKMR8PGQ8YJxZjHSoVaF4BNP7sEBwUCxcmFgEM/hI+XDwdAxckQikUFBcRJEEqFBQXEQACACT/9AJwAtMAJAApAABFIiYmNTQ2NjMyHgIVIzQmJiMiBgYVFRQWFjMyNjY1MxQOAgM3MxcHAU1ahUpKhVo8alAtwRcsHyMrFBUtJCEtGLktUGp6GKAEOgw9e1xdez0aNlY8HygTGzMjOSMyGxMpIDxXNhoCWoUKewAAAgA8AAACYALVABkAHgAAcxEzFzM+AjMyFhYVESMRNC4CIyIGBhUREzczFwc8ow0HFThEJD9RKMcJEBkRGSUVDhigBDoCEFAfKRQvWD/+qgE+ERsUCxclF/7KAlCFCnsAAwAk//QCdwLVAA8AIQAmAABFIiYmNTQ2NjMyFhYVFAYGJzI2NjU1NCYmIyIGBhUVFBYWAzczFwcBTVqFSkqFWlqGSkqGWiMsFBQsIyMrFBQrGhigBDoMPXtcXXo9PXpdXHs9hxsyIzkjMxsbMyM5IzIbAdWFCnsAAgAi//QCQQLVAEIARwAARSIuAjU0NDczBhQVHgIzMjY2NTQmJicuAzU0PgIzMh4CFRQUByM1NCYmIyIOAhUUFhYXHgMVFA4CAzczFwcBMDBfTzABuQEBFyYXDiceIzkiJUtAJytLXzQtWUosAbcVIREGGBkRFycYJlhPMixMY3oYoAQ6DBMpQC4DBwQDBgISGAwEEBMREQsGBhMjOi40RikRESU8KwMJAggPEwkBBg4NDA8JBQcNHz85NkkqEgJchQp7AAIAFAAAAhcC1QAJAA4AAHM1EyM1IRUDMxUBNzMXBxTe0gHu4On+wRigBDpBAUiHPv61hwJQhQp7AAABAAgAAALuAuEAKwAAcxEjNTM1NDY2MzIWFhcVIyIGFRUzNTQ2NjMyFhYXFSMiBhUVMxUjESMRIxFSSkoxVzkPKCgNLiEXqDFXOQ8oKA0uIRdmZseoAYmHFkhSIQUIBXUZHBUWSFIhBQgFdRkcFYf+dwGJ/ncAAwAIAAAD9wLhACsALwAzAABzESM1MzU0NjYzMhYWFxUjIgYVFTM1NDY2MzIWFhcVIyIGFRUzFSMRIxEjEQE1MxUDETMRUkpKMVc5DygoDS4hF6gxVzkPKCgNLiEXZmbHqAIXx8fHAYmHFkhSIQUIBXUZHBUWSFIhBQgFdRkcFYf+dwGJ/ncCToeH/bICEP3wAAACAAgAAAP3AuEAKwAvAABzESM1MzU0NjYzMhYWFxUjIgYVFTM1NDY2MzIWFhcVIyIGFRUzFSMRIxEjESERMxFSSkoxVzkPKCgNLiEXqDFXOQ8oKA0uIRdmZseoAhfHAYmHFkhSIQUIBXUZHBUWSFIhBQgFdRkcFYf+dwGJ/ncC1f0rAAADAAgAAAKIAuEAFwAbAB8AAHMRIzUzNTQ2NjMyFhYXFSMiBhUVMxUjERM1MxUDETMRUkpKMVc5DygoDS4hF2ZmqMfHxwGJhxZIUiEFCAV1GRwVh/53Ak6Hh/2yAhD98AACAAgAAAKIAuEAFwAbAABzESM1MzU0NjYzMhYWFxUjIgYVFTMVIxEzETMRUkpKMVc5DygoDS4hF2ZmqMcBiYcWSFIhBQgFdRkcFYf+dwLV/SsAAgAMAUoBqgK6AC0AOgAAUyImJjU0PgIzNTQmJiMiBgYVFSMmNDU0NjMyFhYVFRQWMzMVBgYjIiYnIwYGNzI2NjU1IgYGFRQWFoYkNx8gPlk4DRcOERYLgAFdWC9RMg0IGAYhHSctCQcXPAwRHRImMBYNFAFKEislJzEbChUOEwoJDQcIAggCLzsXMimPDQ1GAwwYFBUXTw4aEBsLFg8NEAYAAgAGAUkBiwK6AA8AHQAAUyImJjU0NjYzMhYWFRQGBicyNjU1NCYjIgYVFRQWyDpYMDBYOjtYMDBYOyMeHiMlGx4BSSlSPj5RKSlRPj5SKVUtJx8nLC8kHyctAAABACsBVAGRArsAFQAAUxEzFzM2NjMyFhUVIzU0JiMiBgYVFStqCQcTPyI+OoIWFhAYDgFUAVouHB9DPubWGRwRGxHOAAIAGgAAAv4CsAADABcAAHMTIRMlMyYmJycuAicjDgMHBw4CGu8BBfD+E+gDDAU/AwsKBAQDCAgIA0IDCAcCsP1QmQokE9MLIiQOCRkaGQrQChkYAAEAHwAAAzgCvAAvAABzNTMyFhYXJiY1NDY2MzIWFhUUBgc+AjMzFSE1PgI1NTQmJiMiBgYVFRQWFhcVHxUPJygQLjtZpnN0plo8LxEnJw8W/rAdJhMhQTEwQCASJhymBgkFLHhMYYxNTYxhTHgsBQkGppMLKzskUC9IKChIL1AkOyoMkwAAAQA8/zsCYAIQAB0AAFcRMxEUHgIzMjY2NREzESMnIw4CIyImJxYWFRU8xwkQGhAZJRXHowoHDCMsHA0eEQQGxQLV/sIQHBQLFyYWATb98FAaJBIFBBYzDncAAQAWAAACpwIQAB4AAHM+AzUiBgcnNjYzIQcjFRQWFyMmJjU1Iw4DB1EMFhIKITUUDxNhUQHMDUkIBa8KCVwBCxEVDSdocWsoBQVjERN97jhUGQ5WNfoscXVjHgABACv/fgGRAOUAFQAAVxEzFzM2NjMyFhUVIzU0JiMiBgYVFStqCQcTPyI+OoIWFhAYDoIBWi4cH0M+5tYZHBEbEc4AAAIAKf/0AnICvAATACUAAEUiLgI1ND4CMzIeAhUUDgInMjY2NTU0JiYjIgYGFRUUFhYBTlVyQhwcQnJVVnFBHBxBcVYjKhISKiMjKhMTKgwzXoNQUINeMzNeg1BQg14zhyRMPGM9SyMjSz1jPEwkAAABAGkAAAJwArEADQAAczUzESM1PgI3MxEzFWmjoy9rZidDnZoBN3QDIDAZ/emaAAABADEAAAJrArwAKwAAczU0PgI3PgI1NCYmIyIGBhUVIyY0NTQ2NjMyHgIVFA4CBw4CByEVMSQ9SicoRiwSJR8fKxeyAUGDYz1iRSUiPlAvGB4OAgEtMCpLQz0dHjI0IBMhFRgrGxQGCwVHaDodN0wvLkpAPB8QFQoCqQAAAQAq//QCcQK8ADYAAEUiJiY1NTMVFBYzMjY1NCYmIyM1MzI2NjU0JiYjIgYGFRUjNTQ2NjMyFhYVFAYGBxUWFhUOAgFPZII/sDM1Oi4THxRJORQfExQnHRkqGKdAe1hVdz4ZLR45PwI/fgw2WjYVExolNCgZHxB7ECAYFSQWEx4RChk0VTMzVTMiPi0LBBJZPzdaNgAAAQAXAAAChAK8ABsAAGE1ITU+AjczDgQHMzU+AzczETMVIxUBZv6xIUdCFsQEJDZAQB3GDR8gGAVVYGCNlTCDmU4hVF5bUR2PEjQ5NxX+ppONAAEAJ//0AnECsAAmAABFIiYmNTMUFhYzMjY2NTQmJiMiBgYHJxMhFSEHMDY2MzIWFhUUBgYBV2SHRbAYMCMjLxgYLyIhJhMGnh0B3P65CCNCLklrO0V+DDtpRhosGhsuHR4uGxQXBxYBgapoFhc4aUlBbEAAAgAp//QCdwK8ACIAMgAARSIuAjU0PgIzMhYWFSM0JiYjIgYGFT4CMzIWFhUUBgYnMjY2NTQmJiMiBgYVFBYWAVNLcEolJUpwS1J7RrIXKh0oLBAVMzQVRG9BSINZICwXFysgHywXFiwMKVOAV2SOWSo1Z0whKxUkTz8TFgswXkVNaziHFisfICwYFysgHywXAAABAC0AAAJxArAAEAAAczQ+AjchNSEVDgQVFZ4gO08v/rYCRCZIPi8aR4qDeTesWy9jaW50PTsAAAMAKf/0AnICvAAbACcAMwAARSImJjU0NjcmJjU0NjYzMhYWFRQGBxYWFRQGBicyNjU0JiMiBhUUFhMyNjU0JiMiBhUUFgFMWYNHPDEyIkd5Skp6SCMxMjxJhFkpNjkmJTc0KCY5NikoNDcMLlpBPkYcKEErQlovL1pCLUEmHEY+QVouhyooKSkpKSgqASMjKCkjIykoIwAAAgAk//QCcgK8ACIAMgAARSImJjUzFBYWMzI2NjUOAiMiJiY1NDY2MzIeAhUUDgIDMjY2NTQmJiMiBgYVFBYWAUhRfEayFyscKSsQFDQzFkRvQUiDWUtwSiUlSnBNICwXFysgHywXFiwMNWdMICwVJU4/EhcLMF9ETWs4KVOAV2SOWSoBfRYrHyAsGBcrIB8sFwADACn/9AJyArwAAwAXACkAAGUnExcDIi4CNTQ+AjMyHgIVFA4CJzI2NjU1NCYmIyIGBhUVFBYWARgokClbVXJCHBxCclVWcUEcHEFxViMqEhIqIyMqExMqeEIBgT399jNeg1BQg14zM16DUFCDXjOHJEw8Yz1LIyNLPWM8TCQAAAIAKf/0AnICvAATACUAAEUiLgI1ND4CMzIeAhUUDgInMjY2NTU0JiYjIgYGFRUUFhYBTlVyQhwcQnJVVnFBHBxBcVYjKhISKiMjKhMTKgwzXoNQUINeMzNeg1BQg14zhyRMPGM9SyMjSz1jPEwkAAABAGkAAAJwArEADQAAczUzESM1PgI3MxEzFWmjoy9rZidDnZoBN3QDIDAZ/emaAAABADEAAAJrArwAKwAAczU0PgI3PgI1NCYmIyIGBhUVIyY0NTQ2NjMyHgIVFA4CBw4CByEVMSQ9SicoRiwSJR8fKxeyAUGDYz1iRSUiPlAvGB4OAgEtMCpLQz0dHjI0IBMhFRgrGxQGCwVHaDodN0wvLkpAPB8QFQoCqQAAAQAq//QCcQK8ADYAAEUiJiY1NTMVFBYzMjY1NCYmIyM1MzI2NjU0JiYjIgYGFRUjNTQ2NjMyFhYVFAYGBxUWFhUOAgFPZII/sDM1Oi4THxRJORQfExQnHRkqGKdAe1hVdz4ZLR45PwI/fgw2WjYVExolNCgZHxB7ECAYFSQWEx4RChk0VTMzVTMiPi0LBBJZPzdaNgAAAQAXAAAChAK8ABsAAGE1ITU+AjczDgQHMzU+AzczETMVIxUBZv6xIUdCFsQEJDZAQB3GDR8gGAVVYGCNlTCDmU4hVF5bUR2PEjQ5NxX+ppONAAEAJ//0AnECsAAmAABFIiYmNTMUFhYzMjY2NTQmJiMiBgYHJxMhFSEHMDY2MzIWFhUUBgYBV2SHRbAYMCMjLxgYLyIhJhMGnh0B3P65CCNCLklrO0V+DDtpRhosGhsuHR4uGxQXBxYBgapoFhc4aUlBbEAAAgAp//QCdwK8ACIAMgAARSIuAjU0PgIzMhYWFSM0JiYjIgYGFT4CMzIWFhUUBgYnMjY2NTQmJiMiBgYVFBYWAVNLcEolJUpwS1J7RrIXKh0oLBAVMzQVRG9BSINZICwXFysgHywXFiwMKVOAV2SOWSo1Z0whKxUkTz8TFgswXkVNaziHFisfICwYFysgHywXAAABAC0AAAJxArAAEAAAczQ+AjchNSEVDgQVFZ4gO08v/rYCRCZIPi8aR4qDeTesWy9jaW50PTsAAAMAKf/0AnICvAAbACcAMwAARSImJjU0NjcmJjU0NjYzMhYWFRQGBxYWFRQGBicyNjU0JiMiBhUUFhMyNjU0JiMiBhUUFgFMWYNHPDEyIkd5Skp6SCMxMjxJhFkpNjkmJTc0KCY5NikoNDcMLlpBPkYcKEErQlovL1pCLUEmHEY+QVouhyooKSkpKSgqASMjKCkjIykoIwAAAgAk//QCcgK8ACIAMgAARSImJjUzFBYWMzI2NjUOAiMiJiY1NDY2MzIeAhUUDgIDMjY2NTQmJiMiBgYVFBYWAUhRfEayFyscKSsQFDQzFkRvQUiDWUtwSiUlSnBNICwXFysgHywXFiwMNWdMICwVJU4/EhcLMF9ETWs4KVOAV2SOWSoBfRYrHyAsGBcrIB8sFwADACn/9AJyArwAAwAXACkAAGUnExcDIi4CNTQ+AjMyHgIVFA4CJzI2NjU1NCYmIyIGBhUVFBYWARgokClbVXJCHBxCclVWcUEcHEFxViMqEhIqIyMqExMqeEIBgT399jNeg1BQg14zM16DUFCDXjOHJEw8Yz1LIyNLPWM8TCQAAAIAKf/0AnICHQATACUAAEUiLgI1ND4CMzIeAhUUDgInMjY2NTU0JiYjIgYGFRUUFhYBTlJwRB8fRHBSUnBEHh5EcFIjKRISKSMjKhMTKgwrTGQ5OWRMLCxMZDk5ZEwrhxkqGWIaKRgYKRpiGSoZAAABADcAAAI+AhMADQAAczUzNSM1PgI3MxEzFTejoy9rZidDnZqjdAMdKxf+h5oAAQAxAAACawIdAC0AAHM1ND4CNz4CNTQmJiMiBgYVFSMmNDU0PgIzMh4CFRQOAgcOAxUhFTErRVMnJDsjDyUiISsVsgEkSW9LPmJFJCQ5QR0KGBQMAQU6L0MuIg4NGB0TCxkRFiQUFQUOBC1OOiAaMEAnKjspGwsDCAgGA5wAAQAq/1UCcQIdADYAAEUiJiY1NTMVFBYzMjY1NCYmIyM1MzI2NjU0JiYjIgYGFRUjNTQ2NjMyFhYVFAYGBxUWFhUOAgFPZII/sDM1Oi4THxRJORQfExQnHRkqGKdAe1hVdz4ZLR45PwI/fqs2WjYVExolNCgZHxB7ECAYFSQWEx4RChk0VTMzVTMiPi0LBBJZPzdaNgAAAQAX/2EChAIdABoAAEU1ITU+AjczDgQHMzU+AjczETMVIxUBZv6xIUdCFsQEJDU/QR7GESwlB1VgYJ+flS5+kkofVF1ZShd7GUpOHP64k58AAAEAJ/9UAnECEAAlAABFIiYmNTMUFhYzMjY2NTQmJiMiBgYHJxMhFSEHNjYzMhYWFRQGBgFXZIdFsBgwIyMvGBgvIiEmEwaeHQHc/rkIEU8zSWs7RX6sO2lGGiwaGy4dHi4bFBcHFgGBqmgOHzhpSUFsQAAAAgAp//QCdwK8ACIAMgAARSIuAjU0PgIzMhYWFSM0JiYjIgYGFT4CMzIWFhUUBgYnMjY2NTQmJiMiBgYVFBYWAVNLcEolJUpwS1J7RrIXKh0oLBAVMzQVRG9BSINZICwXFysgHywXFiwMKVOAV2SOWSo1Z0whKxUkTz8TFgswXkVNaziHFisfICwYFysgHywXAAABAC3/YAJxAhAAEgAAVzQ+AjchNSEVDgQVFBQVniA7Ty/+tgJEJkg+LxqgR4qDeTesWy9jaW50PQ8dDwADACn/9AJyArwAGwAnADMAAEUiJiY1NDY3JiY1NDY2MzIWFhUUBgcWFhUUBgYnMjY1NCYjIgYVFBYTMjY1NCYjIgYVFBYBTFmDRzwxMiJHeUpKekgjMTI8SYRZKTg7JiY4NSkmOTYpKDQ3DC5aQT5GHChBK0JaLy9aQi1BJhxGPkFaLocqKCkpKSkoKgEjIygpIyMpKCMAAAIAJP9VAnICHQAiADIAAEUiJiY1MxQWFjMyNjY1DgIjIiYmNTQ2NjMyHgIVFA4CAzI2NjU0JiYjIgYGFRQWFgFIUXxGshcrHCkrEBQ0MxZEb0FIg1lLcEolJUpwTSAsFxcrIB8sFxYsqzVnTCAsFSRPPxMWCzBfRE1rOClTgFdkjlkqAX0WKx8gLBgXKyAfLBcAAwAp//QCcgIdABMAHwArAABFIi4CNTQ+AjMyHgIVFA4CJzciJiMiBgYVFRQWFzI2NjU1NCYnBxYyAU5ScEQfH0RwUlJwRB4eRHCeXQQIBSMqEwpWIykSCgteBQoMK0xkOTlkTCwsTGQ5OWRMK6P8ARgpGmITICkZKhliFCAN/gEAAAIAKf/0AnICvAATACUAAEUiLgI1ND4CMzIeAhUUDgInMjY2NTU0JiYjIgYGFRUUFhYBTlVyQhwcQnJVVnFBHBxBcVYjKhISKiMjKhMTKgwzXoNQUINeMzNeg1BQg14zhyRMPGM9SyMjSz1jPEwkAAABAGkAAAJwArEADQAAczUzESM1PgI3MxEzFWmjoy9rZidDnZoBN3QDIDAZ/emaAAABADEAAAJrArwAKwAAczU0PgI3PgI1NCYmIyIGBhUVIyY0NTQ2NjMyHgIVFA4CBw4CByEVMSQ9SicoRiwSJR8fKxeyAUGDYz1iRSUiPlAvGB4OAgEtMCpLQz0dHjI0IBMhFRgrGxQGCwVHaDodN0wvLkpAPB8QFQoCqQAAAQAq//QCcQK8ADYAAEUiJiY1NTMVFBYzMjY1NCYmIyM1MzI2NjU0JiYjIgYGFRUjNTQ2NjMyFhYVFAYGBxUWFhUOAgFPZII/sDM1Oi4THxRJORQfExQnHRkqGKdAe1hVdz4ZLR45PwI/fgw2WjYVExolNCgZHxB7ECAYFSQWEx4RChk0VTMzVTMiPi0LBBJZPzdaNgAAAQAXAAAChAK8ABsAAGE1ITU+AjczDgQHMzU+AzczETMVIxUBZv6xIUdCFsQEJDZAQB3GDR8gGAVVYGCNlTCDmU4hVF5bUR2PEjQ5NxX+ppONAAEAJ//0AnECsAAmAABFIiYmNTMUFhYzMjY2NTQmJiMiBgYHJxMhFSEHMDY2MzIWFhUUBgYBV2SHRbAYMCMjLxgYLyIhJhMGnh0B3P65CCNCLklrO0V+DDtpRhosGhsuHR4uGxQXBxYBgapoFhc4aUlBbEAAAgAp//QCdwK8ACIAMgAARSIuAjU0PgIzMhYWFSM0JiYjIgYGFT4CMzIWFhUUBgYnMjY2NTQmJiMiBgYVFBYWAVNLcEolJUpwS1J7RrIXKh0oLBAVMzQVRG9BSINZICwXFysgHywXFiwMKVOAV2SOWSo1Z0whKxUkTz8TFgswXkVNaziHFisfICwYFysgHywXAAABAC0AAAJxArAAEAAAczQ+AjchNSEVDgQVFZ4gO08v/rYCRCZIPi8aR4qDeTesWy9jaW50PTsAAAMAKf/0AnICvAAbACcAMwAARSImJjU0NjcmJjU0NjYzMhYWFRQGBxYWFRQGBicyNjU0JiMiBhUUFhMyNjU0JiMiBhUUFgFMWYNHPDEyIkd5Skp6SCMxMjxJhFkpNjkmJTc0KCY5NikoNDcMLlpBPkYcKEErQlovL1pCLUEmHEY+QVouhyooKSkpKSgqASMjKCkjIykoIwAAAgAk//QCcgK8ACIAMgAARSImJjUzFBYWMzI2NjUOAiMiJiY1NDY2MzIeAhUUDgIDMjY2NTQmJiMiBgYVFBYWAUhRfEayFyscKSsQFDQzFkRvQUiDWUtwSiUlSnBNICwXFysgHywXFiwMNWdMICwVJU4/EhcLMF9ETWs4KVOAV2SOWSoBfRYrHyAsGBcrIB8sFwADACn/9AJyArwAAwAXACkAAGUnExcDIi4CNTQ+AjMyHgIVFA4CJzI2NjU1NCYmIyIGBhUVFBYWARgokClbVXJCHBxCclVWcUEcHEFxViMqEhIqIyMqExMqeEIBgT399jNeg1BQg14zM16DUFCDXjOHJEw8Yz1LIyNLPWM8TCQAAAIAKf/0AnICHQATACUAAEUiLgI1ND4CMzIeAhUUDgInMjY2NTU0JiYjIgYGFRUUFhYBTlJwRB8fRHBSUnBEHh5EcFIjKRISKSMjKhMTKgwrTGQ5OWRMLCxMZDk5ZEwrhxkqGWIaKRgYKRpiGSoZAAABAGkAAAJwAhMADQAAczUzNSM1PgI3MxEzFWmjoy9rZidDnZqjdAMdKxf+h5oAAQAxAAACawIdAC0AAHM1ND4CNz4CNTQmJiMiBgYVFSMmNDU0PgIzMh4CFRQOAgcOAxUhFTErRVMnJDsjDyUiISsVsgEkSW9LPmJFJCQ5QR0KGBQMAQU6L0MuIg4NGB0TCxkRFiQUFQUOBC1OOiAaMEAnKjspGwsDCAgGA5wAAQAq/1UCcQIdADYAAEUiJiY1NTMVFBYzMjY1NCYmIyM1MzI2NjU0JiYjIgYGFRUjNTQ2NjMyFhYVFAYGBxUWFhUOAgFPZII/sDM1Oi4THxRJORQfExQnHRkqGKdAe1hVdz4ZLR45PwI/fqs2WjYVExolNCgZHxB7ECAYFSQWEx4RChk0VTMzVTMiPi0LBBJZPzdaNgAAAQAX/2EChAIdABoAAEU1ITU+AjczDgQHMzU+AjczETMVIxUBZv6xIUdCFsQEJDU/QR7GESwlB1VgYJ+flS5+kkofVF1ZShd7GUpOHP64k58AAAEAJ/9UAnECEAAlAABFIiYmNTMUFhYzMjY2NTQmJiMiBgYHJxMhFSEHNjYzMhYWFRQGBgFXZIdFsBgwIyMvGBgvIiEmEwaeHQHc/rkIEU8zSWs7RX6sO2lGGiwaGy4dHi4bFBcHFgGBqmgOHzhpSUFsQAAAAgAp//QCdwK8ACIAMgAARSIuAjU0PgIzMhYWFSM0JiYjIgYGFT4CMzIWFhUUBgYnMjY2NTQmJiMiBgYVFBYWAVNLcEolJUpwS1J7RrIXKh0oLBAVMzQVRG9BSINZICwXFysgHywXFiwMKVOAV2SOWSo1Z0whKxUkTz8TFgswXkVNaziHFisfICwYFysgHywXAAABAC3/YAJxAhAAEgAAVzQ+AjchNSEVDgQVFBQVniA7Ty/+tgJEJkg+LxqgR4qDeTesWy9jaW50PQ8dDwADACn/9AJyArwAGwAnADMAAEUiJiY1NDY3JiY1NDY2MzIWFhUUBgcWFhUUBgYnMjY1NCYjIgYVFBYTMjY1NCYjIgYVFBYBTFmDRzwxMiJHeUpKekgjMTI8SYRZKTg7JiY4NSkmOTYpKDQ3DC5aQT5GHChBK0JaLy9aQi1BJhxGPkFaLocqKCkpKSkoKgEjIygpIyMpKCMAAAIAJP9VAnICHQAiADIAAEUiJiY1MxQWFjMyNjY1DgIjIiYmNTQ2NjMyHgIVFA4CAzI2NjU0JiYjIgYGFRQWFgFIUXxGshcrHCkrEBQ0MxZEb0FIg1lLcEolJUpwTSAsFxcrIB8sFxYsqzVnTCAsFSRPPxMWCzBfRE1rOClTgFdkjlkqAX0WKx8gLBgXKyAfLBcAAwAp//QCcgIdABMAHwArAABFIi4CNTQ+AjMyHgIVFA4CJzciJiMiBgYVFRQWFzI2NjU1NCYnBxYyAU5ScEQfH0RwUlJwRB4eRHCeXQQIBSMqEwpWIykSCgteBQoMK0xkOTlkTCwsTGQ5OWRMK6P8ARgpGmITICkZKhliFCAN/gEAAAIAL/9UAXYAzQAPAB0AAFciJiY1NDY2MzIWFhUUBgYnMjY1NTQmIyIGFRUUFtM/SB0dSD9ARh0dRkAdGBgdHRkZrC9VOTlULy9UOTlVL0grMDQxKioxNDArAAEANP9gAX0AxwANAABXNTM1IzU+AjczETMVNG9lHD88FyZroFKePgIRGQ3+61IAAAEAMv9gAXAAzQAmAABXNTQ2Njc2NjU0JiMiBgYVFSMmNDU0NjYzMhYWFRQOAgcGBgczFTIiNhwjNBYaERgNYwElSTcuQSQUISgVDRkLqKAZHTEqFBkrEw8YDRcOCwQFAyY3HhsxIRgnIBsNBxEIWQABADD/VAF1AM0ANQAAVyImNTUzFRQWMzI2NjU0JiYjIzUzMjY2NTQmJiMiBgYVFSM1NDY2MzIWFhUUBgcVFhYVDgLTVE9iHB4WGQsKEgspIAsSCgsWEA4XDl0kRTEvQiMfGSAjASNGrD4rCwoNFA0WDg0RCEEIEQ0LEwwKEAkFDRstGxstGxssCQIKLyEdMB0AAAEAJv9gAYEAzQAYAABXNSM1NjY3Mw4DBzM1PgI3MxUzFSMV4bscPBNuAx4pLhRuChgVBC82NqBKTyZwPhU5PTYURw0nKA+yTkoAAQA0/1QBegDBACAAAFciJjUzFBYWMzI2NTQmIyIGByc3IRUjBzY2MzIWFhUUBt1TVmINGxMdHx4dHBUFWBEBCbYFCiwcKTwgVKxEOA4XDh8XFx8VBQvHVTcIEB43JzRJAAACAC7/VAF3AM0AGwAnAABXIiYmNTQ2NjMyFhUjNCYjIgYVNjYzMhYWFRQGJzI2NTQmIyIGFRQW1DdKJSVKN0RWZBwYIhYRLhImPiRZShodHBoaHRysJlA9R1coPj0aGi0yDw0aMSU9QkcaGRobGhoZGwABADD/YAF0AMEADwAAVzQ2NjcjNSEVDgIVFBQVbxwzIrABRCM/J6AyXFUmWCopWWE1BxAIAAADAC//VAF2AM0AGwAnADMAAFciJiY1NDY3JiY1NDY2MzIWFhUUBgcWFhUUBgYnMjY1NCYjIgYVFBY3MjY1NCYjIgYVFBbSMkkoIRwcEyhEKSlEKBMcHCIpSTIXHiAVFR8eFhUgHhcWHh+sGTAiICYPFSIXIy8ZGS8jGCIUDyYgIjAZSBYVFhYWFhUWmhIWFRMTFRYSAAACAC7/VAF4AM0AGwAnAABXIiY1MxQWMzI2NQYGIyImJjU0NjMyFhYVFAYGJzI2NTQmIyIGFRQW0URVYx0YIhUQLhImPiVZSjhKJSVKORodHBoaHRysPzwZGi0xDg0aMSQ+QSZPPkZYKMoaGRkcGxkZGwACAC//9AF2AW0ADwAdAABXIiYmNTQ2NjMyFhYVFAYGJzI2NTU0JiMiBhUVFBbTP0gdHUg/QEYdHUZAHRgYHR0ZGQwvVjg5VC8vVDk4Vi9IKzA0MSoqMTQwKwABADQAAAF9AWcADQAAczUzNSM1PgI3MxEzFTRvZRw/PBcma1KePgIRGQ3+61IAAQAyAAABcAFtACYAAHM1NDY2NzY2NTQmIyIGBhUVIyY0NTQ2NjMyFhYVFA4CBwYGBzMVMiI2HCM0FhoRGA1jASVJNy5BJBQhKBUNGQuoGR0xKhQZKxMPGA0XDgsEBQMmNx4bMSEYJyAbDQcRCFkAAAEAMP/0AXUBbQA1AABXIiY1NTMVFBYzMjY2NTQmJiMjNTMyNjY1NCYmIyIGBhUVIzU0NjYzMhYWFRQGBxUWFhUOAtNUT2IcHhYZCwoSCykgCxIKCxYQDhcOXSRFMS9CIx8ZICMBI0YMPisLCg0UDRYODREIQQgRDQsTDAoQCQUNGy0bGy0bGywJAgovIR0wHQAAAQAmAAABgQFtABgAAHM1IzU2NjczDgMHMzU+AjczFTMVIxXhuxw8E24DHikuFG4KGBUELzY2Sk8mcD4VOT02FEcNJygPsk5KAAABADT/9AF6AWEAIAAAVyImNTMUFhYzMjY1NCYjIgYHJzchFSMHNjYzMhYWFRQG3VNWYg0bEx0fHh0cFQVYEQEJtgUKLBwpPCBUDEQ4DhcOHxcXHxUFC8dVNwgQHjcnNEkAAAIALv/0AXcBbQAbACcAAFciJiY1NDY2MzIWFSM0JiMiBhU2NjMyFhYVFAYnMjY1NCYjIgYVFBbUN0olJUo3RFZkHBgiFhEuEiY+JFlKGh0cGhodHAwmUD1HVyg+PRoaLTIPDRoxJT1CRxoZGhsaGhkbAAEAMAAAAXQBYQAPAABzNDY2NyM1IRUOAhUUFBVvHDMisAFEIz8nMlxVJlgqKVlhNQcQCAADAC//9AF2AW0AGwAnADMAAFciJiY1NDY3JiY1NDY2MzIWFhUUBgcWFhUUBgYnMjY1NCYjIgYVFBY3MjY1NCYjIgYVFBbSMkkoIRwcEyhEKSlEKBMcHCIpSTIXHiAVFR8eFhUgHhcWHh8MGTAiICYPFSIXIy8ZGS8jGCIUDyYgIjAZSBYVFhYWFhUWmhIWFRMTFRYSAAACAC7/9AF4AW0AGwAnAABXIiY1MxQWMzI2NQYGIyImJjU0NjMyFhYVFAYGJzI2NTQmIyIGFRQW0URVYx0YIhUQLhImPiVZSjhKJSVKORodHBoaHRwMPzwZGi0xDg0aMSQ+QSZPPkZYKMoaGRkcGxkZGwACAC8BSAF2AsEADwAdAABTIiYmNTQ2NjMyFhYVFAYGJzI2NTU0JiMiBhUVFBbTP0gdHUg/QEYdHUZAHRgYHR0ZGQFIL1Y4OVQvL1Q5OFYvSCswNDEqKjE0MCsAAAEANAFUAX0CuwANAABTNTM1IzU+AjczETMVNG9lHD88FyZrAVRSnj4CERkN/utSAAEAMgFUAXACwQAmAABTNTQ2Njc2NjU0JiMiBgYVFSMmNDU0NjYzMhYWFRQOAgcGBgczFTIiNhwjNBYaERgNYwElSTcuQSQUISgVDRkLqAFUGR0xKhQZKxMPGA0XDgsEBQMmNx4bMSEYJyAbDQcRCFkAAAEAMAFIAXUCwQA1AABTIiY1NTMVFBYzMjY2NTQmJiMjNTMyNjY1NCYmIyIGBhUVIzU0NjYzMhYWFRQGBxUWFhUOAtNUT2IcHhYZCwoSCykgCxIKCxYQDhcOXSRFMS9CIx8ZICMBI0YBSD4rCwoNFA0WDg0RCEEIEQ0LEwwKEAkFDRstGxstGxssCQIKLyEdMB0AAQAmAVQBgQLBABgAAFM1IzU2NjczDgMHMzU+AjczFTMVIxXhuxw8E24DHikuFG4KGBUELzY2AVRKTyZwPhU5PTYURw0nKA+yTkoAAAEANAFIAXoCtQAgAABTIiY1MxQWFjMyNjU0JiMiBgcnNyEVIwc2NjMyFhYVFAbdU1ZiDRsTHR8eHRwVBVgRAQm2BQosHCk8IFQBSEQ4DhcOHxcXHxUFC8dVNwgQHjcnNEkAAgAuAUgBdwLBABsAJwAAUyImJjU0NjYzMhYVIzQmIyIGFTY2MzIWFhUUBicyNjU0JiMiBhUUFtQ3SiUlSjdEVmQcGCIWES4SJj4kWUoaHRwaGh0cAUgmUD1HVyg+PRoaLTIPDRoxJT1CRxoZGhsaGhkbAAABADABVAF0ArUADwAAUzQ2NjcjNSEVDgIVFBQVbxwzIrABRCM/JwFUMlxVJlgqKVlhNQcQCAADAC8BSAF2AsEAGwAnADMAAFMiJiY1NDY3JiY1NDY2MzIWFhUUBgcWFhUUBgYnMjY1NCYjIgYVFBY3MjY1NCYjIgYVFBbSMkkoIRwcEyhEKSlEKBMcHCIpSTIXHiAVFR8eFhUgHhcWHh8BSBkwIiAmDxUiFyMvGRkvIxgiFA8mICIwGUgWFRYWFhYVFpoSFhUTExUWEgACAC4BSAF4AsEAGwAnAABTIiY1MxQWMzI2NQYGIyImJjU0NjMyFhYVFAYGJzI2NTQmIyIGFRQW0URVYx0YIhUQLhImPiVZSjhKJSVKORodHBoaHRwBSD88GRotMQ4NGjEkPkEmTz5GWCjKGhkZHBsZGRsAAAIALwGsAXYDJQAPAB0AAFMiJiY1NDY2MzIWFhUUBgYnMjY1NTQmIyIGFRUUFtM/SB0dSD9ARh0dRkAdGBgdHRkZAawvVjg5VC8vVDk4Vi9IKzA0MSoqMTQwKwAAAQA0AbgBfQMfAA0AAFM1MzUjNT4CNzMRMxU0b2UcPzwXJmsBuFKePgIRGQ3+61IAAQAyAbgBcAMlACYAAFM1NDY2NzY2NTQmIyIGBhUVIyY0NTQ2NjMyFhYVFA4CBwYGBzMVMiI2HCM0FhoRGA1jASVJNy5BJBQhKBUNGQuoAbgZHTEqFBkrEw8YDRcOCwQFAyY3HhsxIRgnIBsNBxEIWQAAAQAwAawBdQMlADUAAFMiJjU1MxUUFjMyNjY1NCYmIyM1MzI2NjU0JiYjIgYGFRUjNTQ2NjMyFhYVFAYHFRYWFQ4C01RPYhweFhkLChILKSALEgoLFhAOFw5dJEUxL0IjHxkgIwEjRgGsPisLCg0UDRYODREIQQgRDQsTDAoQCQUNGy0bGy0bGywJAgovIR0wHQABACYBuAGBAyUAGAAAUzUjNTY2NzMOAwczNT4CNzMVMxUjFeG7HDwTbgMeKS4UbgoYFQQvNjYBuEpPJnA+FTk9NhRHDScoD7JOSgAAAQA0AawBegMZACAAAFMiJjUzFBYWMzI2NTQmIyIGByc3IRUjBzY2MzIWFhUUBt1TVmINGxMdHx4dHBUFWBEBCbYFCiwcKTwgVAGsRDgOFw4fFxcfFQULx1U3CBAeNyc0SQACAC4BrAF3AyUAGwAnAABTIiYmNTQ2NjMyFhUjNCYjIgYVNjYzMhYWFRQGJzI2NTQmIyIGFRQW1DdKJSVKN0RWZBwYIhYRLhImPiRZShodHBoaHRwBrCZQPUdXKD49GhotMg8NGjElPUJHGhkaGxoaGRsAAAEAMAG4AXQDGQAPAABTNDY2NyM1IRUOAhUUFBVvHDMisAFEIz8nAbgyXFUmWCopWWE1BxAIAAMALwGsAXYDJQAbACcAMwAAUyImJjU0NjcmJjU0NjYzMhYWFRQGBxYWFRQGBicyNjU0JiMiBhUUFjcyNjU0JiMiBhUUFtIySSghHBwTKEQpKUQoExwcIilJMhceIBUVHx4WFSAeFxYeHwGsGTAiICYPFSIXIy8ZGS8jGCIUDyYgIjAZSBYVFhYWFhUWmhIWFRMTFRYSAAIALgGsAXgDJQAbACcAAFMiJjUzFBYzMjY1BgYjIiYmNTQ2MzIWFhUUBgYnMjY1NCYjIgYVFBbRRFVjHRgiFRAuEiY+JVlKOEolJUo5Gh0cGhodHAGsPzwZGi0xDg0ZMiQ+QSZPPkZYKMoaGRkcGxkZGwAAAf9X//QBUQK8AAMAAEcBMwGpAZpg/mUMAsj9OAAAAwA0//QDowK8AAMAKgA4AABFATMBJTU0NjY3NjY1NCYjIgYGFRUjJjQ1NDY2MzIWFhUUDgIHBgYHMxUBNTM1IzU+AjczETMVAQQBmmD+ZQECIjYcIzQWGhEYDWMBJUk3LkEkFCEoFQ0ZC6j8kW9lHD88FyZrDALI/TgMGR0xKhQZKxMPGA0XDgsEBQMmNx4bMSEYJyAbDQcRCFkBVFKePgIRGQ3+61IAAwA0//QDnwK8AAMAEQAqAABFATMBATUzNSM1PgI3MxEzFQE1IzU2NjczDgMHMzU+AjczFTMVIxUBBAGaYP5l/tFvZRw/PBcmawGCuxw8E24DHikuFG4KGBUELzY2DALI/TgBYFKePgIRGQ3+61L+rEpPJnA+FTk9NhRHDScoD7JOSgAAAwAw//QDnwLBAAMAOQBSAABFATMBAyImNTUzFRQWMzI2NjU0JiYjIzUzMjY2NTQmJiMiBgYVFSM1NDY2MzIWFhUUBgcVFhYVDgIBNSM1NjY3Mw4DBzM1PgI3MxUzFSMVAQQBmmD+ZZBUT2IcHhYZCwoSCykgCxIKCxYQDhcOXSRFMS9CIx8ZICMBI0YB9LscPBNuAx4pLhRuChgVBC82NgwCyP04AVQ+KwsKDRQNFg4NEQhBCBENCxMMChAJBQ0bLRsbLRsbLAkCCi8hHTAd/rhKTyZwPhU5PTYURw0nKA+yTkoAAQA9AAABEQDHAAMAAHM1MxU91MfHAAEAPf9AAREAxwAMAABXNT4CNSM1MxUUBgY9GS8fZ9Q7YcBVAh0wHMewRFwyAAACAD0AAAERAhAAAwAHAABTNTMVAzUzFT3U1NQBSMjI/rjHxwACAD3/QAERAhAADAAQAABXNT4CNSM1MxUUBgYDNTMVPRkvH2fUO2E41MBVAh0wHMewRFwyAgPIyAAAAwA9AAADrADHAAMABwALAABzNTMVMzUzFTM1MxU91HnUetTHx8fHx8cAAgBAAAABDgKwAAMABwAAdwMzAwc1MxVpKc4qoMb2Abr+Rva5uQACAD//YAENAhAAAwAHAABXEzMTAzUzFT8peyrKxqABuv5GAfe5uQAAAgAlAAACNgK8AC0AMQAAdzU0PgQ1NC4CIyIOAhUUFBcjJiY1ND4DMzIeAxUUDgQVFQc1MxXgEx0iHRMIEBYPFhsPBgG4AQIaMURTLy5PPywYGScrJxm3xvYyEiAeHh8jFA4ZFAsOGB4QBw0HChIKJ0IzJBMTIzI/JSI1KiEcGg0V9rm5AAACAC7/VAI/AhAALQAxAABFIi4DNTQ+BDU1MxUUDgQVFB4CMzI+AjU0NCczFhYVFA4DAzUzFQEuLk8/LBgZJysnGasTHSIdEwgQFg8WGw8GAbgBAhoxRFOTxqwTIzI/JSI1KiEcGg0VMhIgHh4fIxQOGRQLDhgeEAcNBwoSCidCMyQTAgO5uQAAAQBHAOsBBgGiAAMAAHc1MxVHv+u3twAAAQBYALcBnAH7AA8AAHciJiY1NDY2MzIWFhUUBgb6L0kqKkkvL0kqKkm3KkkvL0kqKkkvL0kqAAABABUBQgGCArAAEQAAUzcHJzcnNxcnMwc3FwcXBycXnQxlL3BwL2UMXQxlL3BwL2UMAUJ6R1EzNFBHenlGUDQzUUd6AAIAFf/1AoACvAAbAB8AAFc3IzUzNyM1MzczBzM3MwczFSMHMxUjByM3IwcTMzcjVSRkfhxsgix6LW8seC5dcRpqhiV1JXMkPXIbcguqbXpwxsbGxnB6baqqqgEWewABAAADDAH0A0oAAwAAUTUhFQH0Aww+PgABAAD/0AEyAuAAAwAAVRMzA7l5uTADEPzwAAEAAP/QATIC4AADAABFIwMzATJ5uXkwAxAAAgA/AAABDQKwAAMABwAAcxMzEwM1MxU/KXsqysYBuv5GAfe5uQACAC7/9AI/ArAALQAxAABFIi4DNTQ+BDU1MxUUDgQVFB4CMzI+AjU0NCczFhYVFA4DAzUzFQEuLk8/LBgZJysnGasTHSIdEwgQFg8WGw8GAbgBAhoxRFOTxgwTIzI/JSI1KiEcGg0VMhIgHh4fIxQOGRQLDhgeEAcNBwoSCidCMyQTAgO5uQAAAQAUATYArQHBAAMAAFM1MxUUmQE2i4sAAQAeATYAowHBAAMAAFM1MxUehQE2i4sAAQA3/2ABYwLhAA8AAFcmJjU0NjczDgIVFBYWF+tWXl5WeCc8IiI8J6Bc6np76lw9nKFHR6GaPgABACL/YQFOAuIADwAAUxYWFRQGByM+AjU0JiYnmlZeXlZ4KDsiIjsoAuJc6np76lw+m6JGR6GbPQAAAQAe/2ABXQLhACgAAEUiLgI1NTQmJiM1MjY2NTU0PgIzFSIGBgcHBgYjFTIWFhcXHgIzAV0/WTcZGScXFCgbGjhYPg4jGgEKAjEyIisXAQoBGiMOoAoYLCLzFBgLTwwZFO8jKxkJYgURE8kxNgkYLiHKExIFAAEAKP9fAWcC4AAoAABTMh4CFRUUFhYzFSIGBhUVFA4CIzUyNjY3NzY2MzUiJiYnJy4CIyg/WTcZGSgWFCgbGjhYPg4jGgEKAjEyISwWAgoBGiIPAuAKGCwi8xQYC08MGRTvIiwZCWIFEhLJMTYJGC8gyhMSBQABAEz/YAFdAuEABwAAVxEhFSMRMxVMARFycqADgWf9TWcAAQAo/10BOQLeAAcAAEERITUzESM1ATn+73JyAt78f2cCs2cAAQAoAMQBJQFiAAMAAHc1MxUo/cSengAAAQAoAMQBJQFiAAMAAHc1MxUo/cSengAAAQAAAMQB9AFOAAMAAHU1IRUB9MSKigAAAQAAAMQD6AFOAAMAAHU1IRUD6MSKigAAAQAAAMQC7gFOAAMAAHU1IRUC7sSKigAAAQAnAMQBJgFiAAMAAHc1MxUn/8SengAAAQAoAMQBJQFiAAMAAHc1MxUo/cSengAAAQAA/0wCLP/CAAMAAFU1IRUCLLR2dgAAAgAA/soCLP/MAAMABwAAVTUhFQU1IRUCLP3UAiyWYmKgYmIAAQAoARQBJQGyAAMAAFM1MxUo/QEUnp4AAQAoARQBJQGyAAMAAFM1MxUo/QEUnp4AAQAAARQB9AGeAAMAAFE1IRUB9AEUiooAAQAAARQD6AGeAAMAAFE1IRUD6AEUiooAAQAoARQBJQGyAAMAAFM1MxUo/QEUnp4AAQAu/0QA6ACvAAwAAFc1PgI1IzUzFRQGBi4WKhtbujRVvEsCHzMdr5pCWzAAAAIALv9EAc4ArwAMABkAAFc1PgI1IzUzFRQGBhc1PgI1IzUzFRQGBi4WKhtbujRVtRYqG1u6NFW8SwIfMx2vmkJbMARLAh8zHa+aQlswAAIALgFFAc4CsAAMABkAAEEVDgIVMxUjNTQ2NicVDgIVMxUjNTQ2NgHOFiobW7o0VbUWKhtbujRVArBLASAyHq+aQlsxA0sBIDIer5pCWzEAAgAuAUUBzgKwAAwAGQAAUzU+AjUjNTMVFAYGFzU+AjUjNTMVFAYGLhYqG1u6NFW1FiobW7o0VQFFSwIfMx2vmkJbMARLAh8zHa+aQlswAAABAC4BRQDoArAADAAAUxUOAhUzFSM1NDY26BYqG1u6NFUCsEsBIDIer5pCWzEAAQAuAUUA6AKwAAwAAFM1PgI1IzUzFRQGBi4WKhtbujRVAUVLAh8zHa+aQlswAAIAFgB3AjgCEAAFAAsAAHcnNzMHFzMnNzMHF72np4+Kil2np4+KinfNzMzNzczMzQAAAgAbAHcCPQIQAAUACwAAQRcHIzcnIxcHIzcnAZanp4+Kil2np4+KigIQzczMzc3MzM0AAAEAFgB3AUwCEAAFAAB3JzczBxe9p6ePiop3zczMzQAAAQAbAHwBUQIVAAUAAFMXByM3J6qnp4+KigIVzczMzQACADkBjgG3ArAABQALAABTJzUzFQczJzUzFQdoL6Mwly+jMAGOj5OTj4+Tk48AAQA5AY4A3AKwAAUAAFMnNTMVB2gvozABjo+Tk48AAQA3/4gCCgJNAAUAAEUBATMBAQFh/tYBKan+1QEseAFjAWL+nv6dAAEAN/+IAgoCTQAFAABTAQEjAQHgASr+16kBK/7UAk3+nf6eAWIBYwACAC3/qALdAwQAAwAlAABXATMBNyImJjU0NjMyFhYVIzQmJiMiBgYVFRQWFjMyNjY1MxQGBr0BPkD+wpV1n1G1sGSVUtMcNSgvORobOC0sOR3MTpRYA1z8pExQn3WwtEOEYCg6IChIL0AvSCgeOSdegkMAAAIAJP+9AnAC9AADACgAAEURMxEnIiYmNTQ2NjMyHgIVIzQmJiMiBgYVFRQWFjMyNjY1MxQOAgEpTSlahUpKhVo8alAtwRcsHyMrFBUtJCEtGLktUGpDAzf8yYg9el1dez0aNlY8HygTGzMjOSMyGxMpIDxXNhoAAAMALf+oAt0DBAADAAcAKQAAVwEzASMBMwE3IiYmNTQ2MzIWFhUjNCYmIyIGBhUVFBYWMzI2NjUzFAYG9gE+QP7CrAE+QP7CyHWfUbWwZJVS0xw1KC85Ghs4LSw5HcxOlFgDXPykA1z8pExQn3WwtEOEYCg6IChIL0AvSCgeOSdegkMAAAIARQBQAk8CWwAjADMAAHcnNyYmNTQ2Nyc3FzY2MzIWFzcXBxYWFRQGBxcHJwYGIyImJzcyNjY1NCYmIyIGBhUUFhaCPToWGBcXOj85F00oKksTOkQ4FBYXFTg8OhZNKypMGI4nOSAgOSclOiEiOlA9OhlJKilNFjo/ORQYGBI6RDgVTSooTBo4PDoWGhgWQCY/JSU/JiU/JiY/JQAAAgAi/70CQQL0AAMARgAARREzESciLgI1NDQ3MwYUFR4CMzI2NjU0JiYnLgM1ND4CMzIeAhUUFAcjNTQmJiMiDgIVFBYWFx4DFRQOAgEITiYwX08wAbkBARcmFw4nHiM5IiVLQCcrS180LVlKLAG3FSERBhgZERcnGCZYTzIsTGNDAzf8yYcTKUAuAwcEAwYCEhgMBBESERELBgYTIzouNEYpERElPCsDCQIIDxMJAQYODQwPCQUHDR8/OTZJKhIAAwAk/0ECmgLVAB0AIQA0AABFIiYmNTQ2NjMyFhYXMzUjNTM1MxUzFSMRIycjBgYHNSEVAzI2NjU1NC4CIyIGBhUVFBYWAQNGZDU1ZEYcNS0PB29vxzw8og4HHFS8AbLsHycSChUiFx8mEREmDD17XVx6PQ0bFVhlOTll/clLLSqzdnYBRh4zHyEXKR8SGi4fNR8uGQAAAQAZ//QCdgK8ADcAAEUiLgInIzUzJjQ1NDQ3IzUzPgMzMhYXFSYmIyIGBgczFSMGFBUUFhczFSMeAjMyNjcVBgYB2S9pYkwTZ1oBAVpnE0thajMxTxoQQygrRDAP0ecBAQHm0A8wQysoQxAfUAwXNl1FXQgKBwcJB11FXDcXCwiRCBEYLR9dAwwHBw8EXR8tGBIJjQoPAAABACT/LgJ5AuEAIwAAVyImJic3MzI2NxMjNzM3PgIzMhYWFwcjIgYHBzMHIwMOAowOKCUNGS4hHAZQSh1KDRBCXjkPJyYMGS4hHAYNZh1mUA9DXtIFCAV1GRwBeIc9SFIhBQgFdRkcPIf+h0hRIgAAAQAfAAACigKwABEAAHM1IzUzESEVIRUhFSEVMxUjFV4/PwIs/rEBIP7gmJhhUwH8pW6eS1NhAAACAC3/sQMCAvEAAwAuAABFETMRJyImNTQ2NjMyHgIVIzQuAiMiDgIVFRQWFjMyNjY1NSM1IREjJw4CAYFGQ6yrWKh3SH9hNtMVJC8aJzwnFCNHNCM7JJwBb3IWH0pYTwNA/MBDtLB2nlAhQWJBFiQZDRUqOiZAMkcmFSgaBIz+gEQaJBIAAAEAJAAAAygCsAATAABzESM1MxEzETMTMwMzFSMTIwMjEV46Ot0tyvbYxMTY9sotATNKATP+zQEz/s1K/s0BM/7NAAEAHwAAAn4CvAApAABzNTM1IzUzNSM1MzU0NjYzMhYWFRUjNTQmJiMiBgYVFTMVIwczFSMHIRU9QF5eXl42cVlVcjrHEBoQEBsQdXUGe4cJASGTRFMsU0Q6XTg4XTkYGBAaEBAaEEVUK1NEkwAAAQAKAAACiAKwAB4AAHM1BzU3NQc1NxEzFTcVBxU3FQcVMzI2NTUzFRQGBiNKQEBAQN1LS0tLSyMkz0J9V9IkUCQyJFAkAQySKlAqMipQKpwnMDAxV3U6AAEAQQAAAu4DBQAZAABzETQ2Njc1MxUeAhURIxE0JicRIxEGBhURQUmJYUdhiUndKytHKysBm1p8RQVKSgVFfFr+ZQGYL0IK/mYBmgpCL/5oAAADACQAAANFArAAHAAgACQAAHMRMxceAhczLgI1NTMRIycuAycjHgIVFQE1IRUFNSEVXr6kGDArDQUBAwHLvaYPIyIfDAUBAgL++wMh/N8DIQKwwBtAPBcXPEAbwP1QwBIrLi0TECc/NcABp0lJ50lJAAADAB4AAALtArAAEwAZAB8AAHMRIzUzNSEyFhYXMxUjDgIjIxURMzI2NyM1MyYmIyNeQEABgjxeOgYzMwc7XTulWxogB5ycByAaWwGmQMozWj1APVox3gF/FBNAFBMAAgAeAAAC9gKwAB4AKAAAcxEjNTM1IzUzNSEyFhczFSMWFhUUBgczFSMGBiMjFREzMjY1NCYmIyNeQEBAQAGCSmsXSjwBAQECPVAZaUSlWyMjDx8YWwFbQEhAjUxBQAcNBwwWC0A6Q94BfyQjGB8QAAIAHgAAArwCsAAYACIAAHM1IzUzNSM1MxEhMhYWFRQGBiMjFTMVIxURMzI2NTQmJiMjXkBAQEABgkFjODljQKWYmFsjIw8fGFtQUzugATI7aEVHaTo7U1ABfyQjGB8QAAEAQAAAAn0CsAAdAABhJzUzMjY3ITUhJiYjIzUhFSMWFhczFSMOAiMjFwENzcYgJQf+7gESByUgxgI9hBgfBElJBjteOwrM3pcaGUAaGZVAGkUpQD5bMd4AAAEAHwAAAn4CvAAhAABzNTM1IzUzNTQ2NjMyFhYVFSM1NCYmIyIGBhUVMxUjByEVPUBeXjZxWVVyOscQGhAQGhB0dRQBLpOBf1o6XTg4XTkcHBAaEBAaEFt/gZMAAwARAAAD7wKwAC8AMwA3AABzAzMTHgMXMz4ENxMzEx4CFzM+BDcTMwMjAy4DJyMOBAcDATUhFQU1IRWyoeQ+AwQEAwEKAQIDBAQCPOBABAcFAQoBAgMDBAI51KHzSgIDAwMBCgECAwMCAkn+eAPG/DoDxgKw/lUTIx4ZCggSFhkeEQGq/lUaLCMOBxEVGR8SAav9UAHQDBgXFgkHEhMTEwn+MQGISUmLSUkAAAEABwAAAp4CsAAlAABzNSM1MzUjNTMmJicnMxceAhczPgI3NzMHBgYHMxUjFTMVIxXwy8vLjw0iCHbmSgQMDAQEBQwMA0rZdA4eCY7KysqPYCpgFz0P1KAIGRoKCxoZCJ/UGTkRYCpgjwABAFkAsQD1AU0ACwAAdyImNTQ2MzIWFRQGpyIsLCIiLCyxLCIiLCwiIiwAAAMAKP/kAmMC9AADAAcACwAAVxMzAzc1MxUBNTMVu6B5n1rU/cXUHAMQ/PAxx8cB5sfHAAAB/zr/9AE0ArwAAwAARwEzAcYBmmD+ZQwCyP04AAADAD4AFgIZAfoAAwAHAAsAAFM1IRUBNSEVJTUhFT4B2/4lAdv+JQHbAYpwcP6McHC6cHAAAQCl/wYBfwNQAAsAAFc1MjY2JwMzExQGBqUOJh4BDosMLGD0RAQRFAPX/CwtNRQAAQDY/wYBsgNQAAsAAFcDNDY2FxUiBgYVE+QMLGFNDScdDvoD1C02EwZEBBEU/CkAAQA6AJoCZAHqAAUAAHcRIRUhFToCKv5wmgFQm7UAAQBCAAACUgIQAAsAAGE1IzUzNTMVMxUjFQEIxsaExsbGhMbGhMYAAAEAQgDGAlIBSgADAAB3NSEVQgIQxoSEAAEARAACAlACDgALAAB3JzcnNxc3FwcXByeiXqmpXqioXqmpXqgCXqioXqmpXqioXqkAAwBCAA8CUgH8AAMABwALAAB3NSEVBTUzFQM1MxVCAhD+uIODg8SEhLWDgwFqg4MAAgBCAFUCUgG7AAMABwAAUzUhFQU1IRVCAhD98AIQATeEhOKEhAABAEIAAAJSAhAAEwAAczcjNTM3IzUhNzMHMxUjBzMVIQdnN1yxPe4BQzdxN1yxPe7+vTdVhF6EVVWEXoRVAAEATv/zAlsCFwAGAABXNSUlNQUVTgFn/pkCDQ2Og4SPy48AAAEAOf/zAkYCFwAGAABFJTUlFQUFAkb98wIN/pkBZw3Kj8uPhIMAAgBCAAACUgKjAAYACgAAdzUlJTUFFQE1IRVCAXT+jAIQ/fACEKOOcXKPuY/+pYSEAAACAEIAAAJSAqMABgAKAABlJTUlFQUFATUhFQJS/fACEP6MAXT98AIQo7iPuY9ycf7PhIQAAgBCAAACUgKgAAsADwAAZTUjNTM1MxUzFSMVBTUhFQEIxsaExsb+tgIQsLaEtraEtrCEhAAAAgAnACkCbQHxABsANwAAUzU+AjMyHgIzMjY2NxUOAiMiLgIjIgYGBzU+AjMyHgIzMjY2NxUOAiMiLgIjIgYGJw80QSQhPDo9IiRCMw8PNUEjITw6PSIkQjMPDzRBJCE8Oj0iJEIzDw81QSMhPDo9IiRCMwETghElGhUaFRolEYIRJRoVGhUaJfuCESUaFRoVGiURghElGhUaFRolAAABACcAuwJtAZkAGwAAdzU+AjMyHgIzMjY2NxUOAiMiLgIjIgYGJw80QSQhPDo9IiRCMw8PNUEjITw6PSIkQjO7ghElGhUaFRolEYIRJRoVGhUaJQABADAAmgJaAeoABQAAZTUhNSERAcD+cAIqmrWb/rAAAAEAVgFRAj8CsAAGAABTEzMTIycHVq2PrY5lZgFRAV/+odTUAAMAMACKApkByQAeACoANgAAdyImJjU0NjYzMhYWFz4CMzIWFhUUBgYjIiYmJwYGJzI2NyYmIyIGFRQWITI2NTQmIyIGBxYWxSdEKilILCI3MBUPKDgnKUUqLEUnFDQ5HSJJHRgwDhItGB8hIQE3HSAgIBInHRcxiidHMDBJKBQlHBInHCVFMTRJJwwmJyovXSQaJSMoGRksKBkaKxsoJh0AAAMARQBQAk8CWwAZACQALgAAdyc3JiY1NDY2MzIWFzcXBxYWFRQGBiMiJic3MjY2NTQmJwcWFic3JiYjIgYGFRSCPToWGEJxRSpLEzpEOBQWRXBDKkwYjic5IAYFtA4gZq4MHA8lOiFQPToZSSpDcUQYEjpEOBVNKkZxQRgWQCY/JQ8dDbIICVexBgYlPyYbAAEARQAAAogCsAAXAABhETQuAiMiDgIVESMRNDY2MzIWFhURAfsKHjsyKjkjD4w1fm5vfjUBwBMsKBkZJywU/kEBu0ZuQEBuRv5EAAAB////mQEQA5EAEwAARzUyNjYnAyY2NhcVIgYGFRMWBgYBDiYeARoBNmNCDScdGgI3Y2JEBBITAwwtORQKRAQRFPz0LTUTAAABAB8AAAM4ArwALwAAczUzMhYWFyYmNTQ2NjMyFhYVFAYHPgIzMxUhNT4CNTU0JiYjIgYGFRUUFhYXFR8VDycoEC47WaZzdKZaPC8RJycPFv6wHSYTIUExMEAgEiYcpgYJBSx4TGGMTU2MYUx4LAUJBqaTCys7JFAvSCgoSC9QJDsqDJMAAAIAGgAAAv4CsAADABcAAHMTIRMlMyYmJycuAicjDgMHBw4CGu8BBfD+E+gDDAU/AwsKBAQDCAgIA0IDCAcCsP1QmQokE9MLIiQOCRkaGQrQChkYAAEAFf92AyMC1QALAABXESM1IRUjESMRIxGKdQMOda3KigLNkpL9MwLN/TMAAQAd/3YCrALWAA0AAFc1EwM1IRUhFRMDFSEVHe/iAmj+m7HTAaGKVQFaAUJvlAT/AP7RBZQAAf/f/24CVwNKAAwAAFcDByc3Ex4CFxMzA/yuUxzUdAYKCQOqatOSAa8hVVf+xw8fHg0DNPwkAAACAA7/8wHmArwAJAAzAABXIiYmNTQ2NjMyFhYXMzQ2NTQuAiMiBgc1NjYzMh4CFRQGBicyNjY3LgIjIgYGFRQW50lhLzBXOCQ0IQYHARMmNyQrPA8ZRzA4YkkpO3JTGygaAwIVIhcZJRUmDUFlNURpPRokDgULBSNCNR8XCIANFDBagFFqpl54LUQgDSMaIjciKDgAAQA8/zsCYAIQAB0AAFcRMxEUHgIzMjY2NREzESMnIw4CIyImJxYWFRU8xwkQGhAZJRXHowoHDCMsHA0eEQQGxQLV/sIQHBQLFyYWATb98FAaJBIFBBYzDncAAQCxAAADIgJxAAUAAHMRMxEhFbF6AfcCcf3/cAAABQAz//QDtgK8AAMAEwAiADIAQQAAcwEzAQMiJiY1NDY2MzIWFhUUBgYnMjY1NTQmJiMiBhUVFBYBIiYmNTQ2NjMyFhYVFAYGJzI2NTU0JiYjIgYVFRQW7AGjbf5fcEFRJiZRQUFRJSVRQSEaCxoWIBwcAjRBUSYmUUFBUSUlUUEhGgsaFiAcHAKv/VEBVi1QNTZRLS1RNjVQLUwyJSAZJxcxJiAlMv5SLVA1NlEtLVE2NVAtTDIlIBknFzEmICUyAAAHAAD/9APoArwAAwATACIAMgBBAFEAYAAAcxMzAwMiJiY1NDY2MzIWFhUUBgYnMjY1NTQmJiMiBhUVFBYBIiYmNTQ2NjMyFhYVFAYGJzI2NTU0JiYjIgYVFRQWBSImJjU0NjYzMhYWFRQGBicyNjU1NCYmIyIGFRUUFqf6V/tqOUAaGkA5Oj8aGj86GhUJFBIaFhYBkTlAGhpAOTo/Gho/OhoVCRQSGhYWAWU5QBoaQDk6PxoaPzoaFQkUEhoWFgKw/VABVi1RNTZQLS1QNjVRLUQoLjIfJRIoLjIuKP5aLVE1NlAtLVA2NVEtRCguMh8lEiguMi4oRC1RNTZQLS1QNjVRLUQoLjIfJRIoLjIuKAAAAQAv/zIBxQLHAAkAAFcRBzU3MxcVJxG7jMEVwIzOArQrR8XFRyv9TAAAAQApADIDvwHHAAkAAGU3ITUhJzMXFQcCsyv9SwK1K0fFxTKLf4vAFcAAAQAu/zIBxALHAAkAAFcnNRcRMxE3FQfvwYx+jMDOxUcrArT9TCtHxQAAAQApADIDvwHHAAkAAHcnNTczByEVIRfuxcVHKwK1/UsrMsAVwIt/iwAAAQApADIDvwHHAA8AAHcnNTczByEnMxcVByM3IRfuxcVHKwHUK0fFxUcr/iwrMsAVwIuLwBXAi4sAAAEAL/8yAcUCxwAPAABXJzUXEQc1NzMXFScRNxUH8MGMjMEVwIyMwM7FRysB0ytHxcVHK/4tK0fFAAACAC//JAHFAscADwATAABXJzUXEQc1NzMXFScRNxUHBzUhFfDBjIzBFcCMjMDWAZZ7xUcrAYArR8XFRyv+gCtHxWE+PgAAAgAo/3sCLwLYAAUACQAAVwMTMxMDJxMDA72Vld6UlG1WVlaFAa8Brv5S/lGhAQ4BDf7zAAIALf9iA8UCvwBYAGYAAEUiJiY1ND4CMzIeAhUUDgMjIiYmJyMOAiMiLgI1ND4CMzU0JiYjIgYGFRUjJjQ1NDY2MzIWFhUVFBYzMjY2NTQmJiMiBgYVFBYzMjY2NxUOAgMyPgI1NSIGBhUUFhYB1oa+ZUyEq19fonlEGy88RCImNyAGBhAoNycbNiwbKkxoPgkYGB4dCIcBM1o6Q1ktFhEeLBhUlmNwoVecphxKRxUbSEsOHCMSBypAJQwZnli6knioaTAsXZBlRGVFKhMUHQ0SHRARIzUkMEAnERoTHRIQFQoOBQkGKD8lJUUxyRgRJldJZXo4SZZ1np8JDglnCA8IARUPHCYWDwkdHgsYDwAAAQBL//QDeAK8ADoAAEUiJiY1NDY3NSYmNTQ2NjMyFhYVFSMnLgIjIg4CFRQWFjMzFSMiBgYVFBYWMzI2NjU1IRUjFRQGBgGneZpJQDgqOkiPa2mVTrEBAR88LiMzIBAUIRJofhMgExxANDtBGgE8iUKRDDZcOj1WEgQQTTE1WjYzVTQZDhEaDw4YHhAWHA17EB8ZGSgXGCkYwntDR2o5AAEALf9fAqgCsAARAABXES4CNTQ2NjMhFSMRIxEjEfw6Xjc6YjwBo0KAaqEBoAI7YTo8Yzp5/SgC2P0oAAIANv9IAmUCvABNAF0AAEUiLgI1NDQ1MxUUHgIzMjY2NTQuBTU0NjY3JiY1ND4CMzIeAhUUFBUjNTQuAiMiBgYVFB4FFRQGBgcWFhUUDgITNjY1NC4CJwYGFRQeAgFRKVpPMrUNFRkLESMYJj5LSz4mICsPISoxT1sqKVpPMrUNFhgLESMYJj5LSz4mISoQIioxT1skCxQhOEUkCxQhOEW4DyI7LQIGAgQKEAoFBxANFB4aGyEtPiooPSkKFzsoMUInEQ8iOy0CBgIFCg8KBQcPDhQeGhshLT4qKD0oCxc7KDFCJxEBXQkZEBclIB0PCRkQFyUgHQAAAwAr//QC9QK8ABMANQBFAABFIi4CNTQ+AjMyHgIVFA4CJyImJjU0NjYzMhYWFSM0JiYjIgYVFRQWFjMyNjY1MxQGBgcyNjY1NCYmIyIGBhUUFhYBkE6CYDU1YIJOTYNgNTVgg0lHYDAwYEc8WjF/ESAYLCIPIhwaIxF7L1lEUn5JSX5SUX5ISH4MNWCCTk2CXzU1X4JNToJgNY4wYEdGXzApTjoYIxM3NQonMRgSIhg5TihNTIRUVYNLS4NUVYRMAAAEACv/9AL1ArwAEwAjADEAOgAARSIuAjU0PgIzMh4CFRQOAicyNjY1NCYmIyIGBhUUFhYnETMyFhUUBgcXIycjFTUzMjY1NCYjIwGQToJgNTVggk5Ng2A1NWCDTlJ+SUl+UlF+SEh+V9NBRiQZUZE4ICgQFhYQKAw1YIJOTYJfNTVfgk1OgmA1QUyEVFWDS0uDVFWETFUBnUU4JzwVqJKS7hcSERcABAAr//QC9QK8ABMAIwAvADgAAEUiLgI1ND4CMzIeAhUUDgInMjY2NTQmJiMiBgYVFBYWJxEzMhYVFAYGIyMVNTMyNjU0JiMjAZBOgmA1NWCCTk2DYDU1YINOUn5JSX5SUX5ISH5A00FGJ0AkSigQFhYQKAw1YIJOTYJfNTVfgk1OgmA1QUyEVFWDS0uDVFWETFUBnUU4OT0Yku4XEhEXAAIAFAEiA5QCsAAPABcAAEERMxczNzMRIzUjByMnIxUhESM1IRUjEQG4tDsFOq5+BD9kPgT+aoMBhYIBIgGO5ub+cvDw7+8BKGZm/tgAAAQALv/0A7kCvAADACQANABCAABXATMBAyImJjU0NjYzMhYWFSM0JiYjIgYVFRQWMzI2NjUzFAYGASImJjU0NjYzMhYWFRQGBicyNjU1NCYjIgYVFRQW9wGaYP5lZDtZMDBZOzVXNH8PHRUiHx8lFh0QejRXAc07WTAwWTs8WDExWDwjHx8jIh8fDALI/TgBWyhRPT1RKB5BNRUaDCcjJiIoDRsVNUIf/qUoUT09USgoUT09UShZKCIlIygoIyUiKAAAAgAyAZABXgK8AA8AGwAAUyImJic0NjYzMhYWFRQGBicyNjU0JiMiBhUUFsgpRCgBKEUpKUQpKUQqGiQlGhglJQGQKEUpKUQpKUQpKUUoVyUZGiQkGhklAAEAHAH/ANwC1QAEAABTNzMXBxwQrgJPAf/WBNIAAAIAHAH/Aa4C1QAEAAkAAFM3MxcHMzczFwccEK4CT2EQrgJPAf/WBNLWBNIAAQBK/y4A0ALWAAMAAFcRMxFKhtIDqPxYAAACAEr/LgDQAtYAAwAHAABTETMRAxEzEUqGhoYBUAGG/nr93gGG/noAAQBC/0cCWQKwAAsAAEUTBzUXJzMHNxUnEwEEFNbWFJMU1tYUuQI2FZMVysoVkxX9ygACADX/9AIGAuEAHgAqAABFIiYmNQc1NzU0NjYzMhYWFRQGBgcXFhYzMjY3FQYGAz4CNTQmIyIGBhUBR0NeMUA8NmJBP08mOGdHAQIvKCZMIitjYCMwGRcaDhsSDCpGKCpzKdNeeDozVDI6a2o5GiQqLieXJB4BeCJFQh0eJRg6MwAAAQBC/zkCWQKwABUAAEU3BzUXJzcHNRcnMwc3FScXBzcVJxcBBBTW1hQU1tYUkxTW1hQU1tYUx8sVkxWJhxWTFcrKFZMVh4kVkxXLAAQASgAABQkCvAADABMAIQA6AABlNSEVJyImJjU0NjYzMhYWFRQGBicyNjU1NCYjIgYVFRQWAREzFx4CFzcmNDU1MxEjAyYmJwcWFBURA0kBqNRHazo6a0dHajs7akcpJSUpKiQk/Fe81gkeHwgFAcm78REYCwUBkHZ2nixZQkNYLCxYQ0JZLGswKQUqMDAqBSkw/mcCsPcKJicMAhw3Dvf9UAETFCEPAhMmCf7tAAIALf/0Ai8CGgAYACEAAEUiJiY1NDY2MzIWFhUVIRUWFjMyNjcXBgYDITUmJiMiBgcBLlBzPj5zUFBzPv5qHEsuQmMZIh9z4wEqHEsuLkscDEd9T1B8R0qAUwWlGRw7MhU8RgEulxodHBoAAAIASwAAAg0CMwAEAAkAAHMRNxcRJTM1JwdL4eH+n/9/gAE2/f3+yk/Njo4AAQAAAjAAmANDAAsAAFE1MjY1IzUzFRQGBigfR5gdQwIwQR8oi3A8SB8AAgAAAhAB5gLVAAQACQAAUTczFwczNzMXB0y8AotdTLwCiwIQxQTBxQTBAAABAAACJgIkArAAAwAAUTUhFQIkAiaKigABAAACEAEKAtUABAAAUTczFwdMvAKLAhDFBMEAAgAAAkoBdALVAAMABwAAUTUzFTM1MxWYRJgCSouLi4sAAAMAAAJKAYADgQADAAcADAAAUzUzFTM1MxUnIyc3MwyYRJhXiaACywJKi4uLi7KBBAAAAwAAAkoBfwOBAAMABwAMAABRNTMVMzUzFSU3MxcHmESY/uJcywKgAkqLi4uLsoUEgQADAAACSgG0A4EAAwAHAA8AAFM1MxUzNTMVATMXIzczByMfmESY/m2RZTplk4aoAkqLi4uLATdZWYUAAwAAAkoBdANoAAMABwALAABRNTMVMzUzFSU1IRWYRJj+qAE8AkqLi4uLumRkAAEAAAJKAJgC0AADAABRNTMVmAJKhoYAAAIAAAJKATwDaAADAAcAAFM1MxUnNSEVUpjqATwCSoaGumRkAAEAAAJQASkC1QAEAABBIyc3MwEpiaACywJQgQQAAAEAAAJQASkC1QAEAABRNzMXB1zLAqACUIUEgQACAAACUAHxAtUABAAJAABRNzMXBzM3MxcHTLwCi2hMvAKLAlCFBIGFBIEAAAEAAAJQAbQC1QAHAABRNzMXIyczB4aohpNlOmUCUIWFWVkAAAEAAAJQAbQC1QAHAABRMxcjNzMHI5FlOmWThqgC1VlZhQABAAACRQFxAtUAEQAAUyImJjUzHgIzMjY2NzMUBga4OlIsYAMcJxIZJxgCXy1TAkUsQyEOFw0QGAohQywAAAIAAAJBANoDGgALABcAAFMiJjU0NjMyFhUUBicyNjU0JiMiBhUUFm0vPj4vLz4+LxEXFxERFxcCQT0vLz4+Ly89QhgTEhcYEhMXAAADAAACQQEyA70ACwAXABwAAFMiJjU0NjMyFhUUBicyNjU0JiMiBhUUFic3MxcHbS8+Pi8vPj4vERcXEREXF1NcywKgAkE9Ly8+Pi8vPUIYExIXGBITF7WFBIEAAAEAAAJGAbwC1QAXAABRNDY2MzIWFjMyNjczFAYGIyImJiMiBgcjPyogOzcbExoFUSM/KiA7NxsTGgUCRiRCKRQUFxEkQSoUFBcRAAACAAACRgG8A2gAFwAbAABRNDY2MzIWFjMyNjczFAYGIyImJiMiBgcnNSEVIz8qIDs3GxMaBVEjPyogOzcbExoFEQE8AkYkQikUFBcRJEEqFBQXEb5kZAAAAQAAAlgBPAK8AAMAAFE1IRUBPAJYZGQAAQAAAk8A3ALkABgAAFM1MzI2NTQmIyM1PgIzMh4CFRQGBgcVNAsSDBIROgwjIgwSLCcaGigXAk84BwoLBjMDAwIHDxkTExkMAhkAAAIAAAJQAdMC1gAEAAkAAEEnNzMXISc3MxcBXosCskz+uIsCskwCUIIEhoIEhgABAAACRQFxAtUAEQAAUzIWFhUjLgIjIgYGByM0Nja4OVMtXwIYJxkSJxwDYCxSAtUsQiILFxANFg8iQiwAAAEAAAJOAJgDYQALAABTFSIGFTMVIzU0NjaYKB9HmB1DA2FBHyiLcD1HHwAAAQAAAisAmAM+AAsAAFE1MjY1IzUzFRQGBigfR5gdQwIrQR8oi3A8SB8AAQAAAY0A2AKwAAsAAFE1MjY3IzUzFRQGBik5CEa0MGABjVcdHJNXQVsvAAABAAD/PgCY/8QAAwAAVTUzFZjChoYAAgAA/z4BdP/JAAMABwAAVTUzFTM1MxWYRJjCi4uLiwABAAD+tgCY/8kACwAAUTUyNjUjNTMVFAYGKB9HmB1D/rZBHyiLcDxIHwABAAD/LQD/ACcAFwAAVyImJzUzMjY1NCYjIzczBx4CFRQOAoUiTRZpEhYQFigUYAsSJxoZJirTCQc5BhAPCYNEAhMlHxwlFAgAAAEAAP8tAOgADAATAABXIiYmNTQ2NzMVBgYVFBYzMxUGBn4gOiQhEWoSEhoaPBc60xcyKSUzFQQMJxMXI0wHCAABAAD/OQFx/8kAEQAAVyImJjUzHgIzMjY2NzMUBga4OlIsYAMcJxIZJxgCXy1TxyxDIQ4XDRAYCiFDLAABAAD/YAE8/8QAAwAAVTUhFQE8oGRkAAABAAABNwGyAa0AAwAAUTUhFQGyATd2dgABAAABNwM+Aa0AAwAAUTUhFQM+ATd2dgABAAAAuQF5Af0AAwAAdTUlFQF5uWLiZAABAAD/0wJAAi8AAwAAVQEzAQHkXP4cLQJc/aQAAgAAAkoBdALVAAMABwAAUTUzFTM1MxWYRJgCSouLi4sAAAEAAAJKAJgC0AADAABRNTMVmAJKhoYAAAEAAAJQASkC1QAEAABBIyc3MwEpiaACywJQgQQAAAEAAAJQASkC1QAEAABRNzMXB1zLAqACUIUEgQACAAACUAHxAtUABAAJAABRNzMXBzM3MxcHTLwCi2hMvAKLAlCFBIGFBIEAAAEAAAJQAbQC1QAHAABRNzMXIyczB4aohpNlOmUCUIWFWVkAAAEAAAJQAbQC1QAHAABRMxcjNzMHI5FlOmWThqgC1VlZhQABAAACRQFxAtUAEQAAUyImJjUzHgIzMjY2NzMUBga4OlIsYAMcJxIZJxgCXy1TAkUsQyEOFw0QGAohQywAAAIAAAJBANoDGgALABcAAFMiJjU0NjMyFhUUBicyNjU0JiMiBhUUFm0vPj4vLz4+LxEXFxERFxcCQT0vLz4+Ly89QhgTEhcYEhMXAAABAAACRgG8AtUAFwAAUTQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHIz8qIDs3GxMaBVEjPyogOzcbExoFAkYkQikUFBcRJEEqFBQXEQAAAQAAAlgBPAK8AAMAAFE1IRUBPAJYZGQAAQAA/y0A/wAnABcAAFciJic1MzI2NTQmIyM3MwceAhUUDgKFIk0WaRIWEBYoFGALEicaGSYq0wkHOQYQDwmDRAITJR8cJRQIAAABAAD/LQDoAAwAEwAAVyImJjU0NjczFQYGFRQWMzMVBgZ+IDokIRFqEhIaGjwXOtMXMiklMxUEDCcTFyNMBwgAAgAAAuoBdAN1AAMABwAAUTUzFTM1MxWYRJgC6ouLi4sAAAMAAALqAXgEKwADAAcADAAAUzUzFTM1MxUnIyc3MwSYRJhKjqAC0ALqi4uLi7yBBAAAAwAAAuoBigQrAAMABwAMAABRNTMVMzUzFSU3MxcHmESY/uhc0AKgAuqLi4uLvIUEgQADAAAC6gG+BCsAAwAHAA8AAFM1MxUzNTMVATMXIzczByMkmESY/miWZTplmIayAuqLi4uLAUFZWYUAAwAAAuoBdAQEAAMABwALAABRNTMVMzUzFSU1IRWYRJj+pwE9AuqLi4uLtmRkAAEAAALqAJgDdQADAABRNTMVmALqi4sAAAIAAALqAT0EBAADAAcAAFM1MxUnNSEVU5jrAT0C6ouLtmRkAAEAAALwAS4DdQAEAABBIyc3MwEujqAC0ALwgQQAAAEAAALwAS4DdQAEAABRNzMXB1zQAqAC8IUEgQACAAAC8AHxA3UABAAJAABTNzMXByE3MxcH50y8Aov+mky8AosC8IUEgYUEgQAAAQAAAvABvgN1AAcAAFE3MxcjJzMHhrKGmGU6ZQLwhYVZWQAAAQAAAvABvgN1AAcAAFEzFyM3MwcjlmU6ZZiGsgN1WVmFAAEAAALlAXEDdQARAABTIiYmNTMeAjMyNjY3MxQGBrg6UixgAhcnGBknGAJfLVMC5SxDIQoYEBAYCiFDLAAAAgAAAtcA6AOwAAsAFwAAUyImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWdDJCQjIyQkIyERcXEREXFwLXPS8vPj4vLz1HFhAQFBUQERQAAAMAAALXAUQEUwALABcAHAAAUyImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWJzczFwd0MkJCMjJCQjIRFxcRERcXTVzQAqAC1z0vLz4+Ly89RxYQEBQVEBEUsIUEgQAAAQAAAuYBvAN1ABcAAFE0NjYzMhYWMzI2NzMUBgYjIiYmIyIGByM/KiA7NxsTGgVRIz8qIDs3GxMaBQLmJEIpFBQXESRBKhQUFxEAAAIAAALmAbwEBAAXABsAAFE0NjYzMhYWMzI2NzMUBgYjIiYmIyIGByc1IRUjPyogOzcbExoFUSM/KiA7NxsTGgUSAT0C5iRCKRQUFxEkQSoUFBcRumRkAAABAAAC6gE9A04AAwAAUTUhFQE9AupkZAABAAAC7ADcA4EAGAAAUzUzMjY1NCYjIzU+AjMyHgIVFAYGBxU0CxIMEhE6DCMiDBIsJxoaKBcC7DgHCgsGMwMDAgcPGRMTGQwCGQAAAgAAAvAB8QN1AAQACQAAQSc3MxchJzczFwFyiwK8TP6aiwK8TALwgQSFgQSFAAEAAALlAXEDdQARAABRNDY2MzIWFhUjLgIjIgYGBy1UODpSLGACFyYZGCgYAgLlIkIsLEIiCxcQEBcLAAEAAAIcANgDPQALAABRNTI2NyM1MxUUBgYpOQhGtDBgAhxXGxyTV0BbLwAAAQAAALgBvAIsAAMAAHU1ARUBvLhiARJkAAABAAD/3ALVAtUAAwAAVQEzAQJpbP2XJAL5/QcAAgAAAuoBdAN1AAMABwAAUTUzFTM1MxWYRJgC6ouLi4sAAAEAAALqAJgDdQADAABRNTMVmALqi4sAAAEAAALwAS4DdQAEAABBIyc3MwEujqAC0ALwgQQAAAEAAALwAS4DdQAEAABRNzMXB1zQAqAC8IUEgQACAAAC8AHxA3UABAAJAABTNzMXByE3MxcH50y8Aov+mky8AosC8IUEgYUEgQAAAQAAAvABvgN1AAcAAFE3MxcjJzMHhrKGmGU6ZQLwhYVZWQAAAQAAAvABvgN1AAcAAFEzFyM3MwcjlmU6ZZiGsgN1WVmFAAEAAALlAXEDdQARAABTIiYmNTMeAjMyNjY3MxQGBrg6UixgAhcnGBknGAJfLVMC5SxDIQoYEBAYCiFDLAAAAgAAAtcA6AOwAAsAFwAAUyImNTQ2MzIWFRQGJzI2NTQmIyIGFRQWdDJCQjIyQkIyERcXEREXFwLXPS8vPj4vLz1HFhAQFBUQERQAAAEAAALmAbwDdQAXAABRNDY2MzIWFjMyNjczFAYGIyImJiMiBgcjPyogOzcbExoFUSM/KiA7NxsTGgUC5iRCKRQUFxEkQSoUFBcRAAABAAAC6gE9A04AAwAAUTUhFQE9AupkZAABAAAC8ADBA3UABAAAUTczFwcYpQQ6AvCFCnsAAQAAAlAAvALVAAQAAFE3MxcHGKAEOgJQhQp7AAIAAAJFAX4DiwARABYAAFMiJiY1Mx4CMzI2NjczFAYGJzczFwe4OlIsYAMcJxIZJxgCXy1TnFzLAqACRSxDIQ4XDRAYCiFDLMGFBIEAAAIAAAJFAX4DiwARABYAAFMiJiY1Mx4CMzI2NjczFAYGNyMnNzPFOVMsYAMcJxIZJxgCXy1TK4mgAssCRSxDIQ4XDRAYCiFDLMGBBAACAAACRQFxA5oAEQAqAABTIiYmNTMeAjMyNjY3MxQGBic1MzI2NTQmIyM1PgIzMh4CFRQGBgcVuDpSLGADHCcSGScYAl8tU18LEgwSEToMIiMMEiwnGhooFwJFLEMhDhcNEBgKIUMswDgHCgsGMwMDAgcPGRMTGQwCGQAAAgAAAkUBvAOLABEAKQAAUyImJjUzHgIzMjY2NzMUBgYlNDY2MzIWFjMyNjczFAYGIyImJiMiBgfdOVMsYAMcJxIZJxgCXy1T/uojPyogOzcbExoFUSM/KiA7NxsTGgUCRSxDIQ4XDRAYCiFDLLckQikUFBcRJEEqFBQXEQAAAgAAAlABtAOLAAcADAAAUTczFyMnMwcnNzMXB4aohpNlOmUcXMsCoAJQhYVZWbaFBIEAAAIAAAJQAbQDiwAHAAwAAFE3MxcjJzMHNyMnNzOGqIaTZTplq4mgAssCUIWFWVm2gQQAAgAAAlABtAOaAAcAIAAAUTczFyMnMwc3NTMyNjU0JiMjNT4CMzIeAhUUBgYHFYaohpNlOmUhCxIMEhE6DCMiDBIsJxoaKBcCUIWFWVm1OAcKCwYzAwMCBw8ZExMZDAIZAAACAAACUAG8A4sABwAfAABTNzMXIyczByc0NjYzMhYWMzI2NzMUBgYjIiYmIyIGBwWGqIaTZTplliM/KiA7NxsTGgVRIz8qIDs3GxMaBQJQhYVZWawkQikUFBcRJEEqFBQXEQAAAgAAAuUBiAQXABEAFgAAUyImJjUzHgIzMjY2NzMUBgYnNzMXB7g6UixgAhcnGBknGAJfLVOXXNACoALlLEMhChgQEBgKIUMsrYUEgQAAAgAAAuUBdwQXABEAFgAAUyImJjUzHgIzMjY2NzMUBgY3Iyc3M746UixgAhcnGBknGAJfLVM3jqAC0ALlLEMhChgQEBgKIUMsrYEEAAIAAALlAbwEFwARACkAAFMiJiY1Mx4CMzI2NjczFAYGJTQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYH3jpSLGACFycYGScYAl8tU/7pIz8qIDs3GxMaBVEjPyogOzcbExoFAuUsQyEKGBAQGAohQyyjJEIpFBQXESRBKhQUFxEAAAIAAALwAb4EFwAHAAwAAFE3MxcjJzMHJzczFweGsoaYZTplFlzQAqAC8IWFWVmihQSBAAACAAAC8AG+BBcABwAMAABRNzMXIyczBzcjJzczhrKGmGU6ZbiOoALQAvCFhVlZooEEAAIAAALwAb4EFwAHAB8AAFE3MxcjJzMHJzQ2NjMyFhYzMjY3MxQGBiMiJiYjIgYHhrKGmGU6ZZYjPyogOzcbExoFUSM/KiA7NxsTGgUC8IWFWVmYJEIpFBQXESRBKhQUFxEAAwAt/6gC3QMEAAMABwApAABXNzMHEzczBwMiJiY1NDYzMhYWFSM0JiYjIgYGFRUUFhYzMjY2NTMUBga9REBEwjxAPG11n1G1sGSVUtMcNSgvORobOC0sOR3MTpRYt7cCuaOj/ZNQn3WwtEOEYCg6IChIL0AvSCgeOSdegkMAAwAk/70CcAL0AAMABwAsAABBNTMVAzUzFSciJiY1NDY2MzIeAhUjNCYmIyIGBhUVFBYWMzI2NjUzFA4CASlNTU0pWoVKSoVaPGpQLcEXLB8jKxQVLSQhLRi5LVBqAinLy/2UzMyIPXpdXXs9GjZWPB8oExszIzkjMhsTKSA8VzYaAAUALf+oAt0DBAADAAcACwAPADEAAFc3MwczNzMHEzczBzM3MwcDIiYmNTQ2MzIWFhUjNCYmIyIGBhUVFBYWMzI2NjUzFAYGikJAQixCQEJPQ0BDLENAQ591n1G1sGSVUtMcNSgvORobOC0sOR3MTpRYs7OzswKntbW1tf2lUJ91sLRDhGAoOiAoSC9AL0goHjknXoJDAAMAIv+9AkEC9AADAAcASgAAQTUzFQM1MxUnIi4CNTQ0NzMGFBUeAjMyNjY1NCYmJy4DNTQ+AjMyHgIVFBQHIzU0JiYjIg4CFRQWFhceAxUUDgIBCE5OTiYwX08wAbkBARcmFw4nHiM5IiVLQCcrS180LVlKLAG3FSERBhgZERcnGCZYTzIsTGMCLsbG/Y/GxocTKUAuAwcEAwYCEhgMBBESERELBgYTIzouNEYpERElPCsDCQIIDxMJAQYODQwPCQUHDR8/OTZJKhIAAAMALf+xAwIC8QADAAcAMgAARTUzFQM1MxUDIiY1NDY2MzIeAhUjNC4CIyIOAhUVFBYWMzI2NjU1IzUhESMnDgIBgUZGRkOsq1iod0h/YTbTFSQvGic8JxQjRzQjOyScAW9yFh9KWE+TkwK1i4v9jrSwdp5QIUFiQRYkGQ0VKjomQDJHJhUoGgSM/oBEGiQSAAUAJAAAA0UCsAAcACAAJAAoACwAAHMRMxceAhczLgI1NTMRIycuAycjHgIVFQE1MxUhNTMVBTUzFSE1MxVevqQYMCsNBQEDAcu9pg8jIh8MBQECAv77nQHiovzfnQHiogKwwBtAPBcXPEAbwP1QwBIrLi0TECc/NcABp0lJSUnnSUlJSQAABQARAAAD7wKwAC8AMwA3ADsAPwAAcwMzEx4DFzM+BDcTMxMeAhczPgQ3EzMDIwMuAycjDgQHAwE1MxchNzMVBTUzFyE3MxWyoeQ+AwUDAwEKAQIDBAQCPOBABAcFAQoBAgMDBAI51KHzSgIDAwMBCgECAwMCAkn+eI8PApINifw6qQ8CXQ6jArD+VRMjHhkKCBIWGR4RAar+VRosIw4HERUZHxIBq/1QAdAMGBcWCQcSExMTCf4xAYhJSUlJi0lJSUkAAAAAAQAAAzcAawAHAEcAAgABAAAAAAAAAAAAAAAAAAIAAQAAACQASQB2ALMA+AE7AYAB3AI5AmkCmgLTAwoDQgOSA+IEFwRHBHIEnwTjBSAFSwWLBc8GGwZgBpAGyAcCBzQHbgesB/wIOghyCJkI3QkLCT0JawmtCcMJ4goRCjMKVgqBCqoK1AsWC1gLfwuhC74L2gv4DC4MXQx6DKoM4Qz1DTENhg3ODhYOYg6kDrkO1Q72DxEPHQ9DD1gPfQ+VD64Pyw/jD/UQBxAbEEcQbBB/EKUQ0hDyER4ROBFhEXARmRGxEcYR5RH6EiUSOxJ3Ep8S4RMSE0YTfhO3E+8UNBR8FLQU9BVEFYcVyxYXFmEWrBcPF3IXuhf9GEYYihjIGQgZXxmnGfgaRxqXGv8bZxuvG/8cPRyPHNAdGR1xHc8eFR45Hl8enx7HHvcfKh9hH5kf2SAuIIsg7CFfIcAiJCIwInIirSK+ItUi8iMhI0EjVyN4I6Ij3CQJJDckaSSWJMslBCU4JWslkiW7JfwmLSZnJp8m2CcpJ3onrCfmKA4oSSiKKMwo6yktKXgpxioTKl0qeSqQKq8q0ir0KxArLytlK4MruivQK+8sESwtLGcsqSzvLTQtdi22LhAuSi57LrsvGC83L44v7TBcMNMxSDG/Mk0y3DM+M6E0DDR1NN81YTXjNko2rDcJN2g33jhNOKo5HDmSOhA6hzr8O3k7tTvqPCg8aTy9PP89Oj12Pcg+Cz5OPqU+3z8hP3M/uD/9QEpAlkDjQUdBrEH2QjpCeUK5QvpDU0OlQ+VEOUSSRMxE70VfRehGZEbgR2BH1kf9SCtIX0iMSJ9Iq0jASOVI/UkWSTNJS0leSXdJi0m3SdxKC0oeSktKeEqaSrZK3kr1SxxLM0s/S1RLZ0uDS5VLvUvQTBFMOUxpTKFM1E0LTURNfE3ATghOPE54TsRPA09DT4tP0VAYUHdQ1lEaUVlRnlHeUhhSVFKnUutTN1OBU8xUL1STVNdVI1VdVatV51YsVoBW2lc7V3dXtFfxWBBYOFhjWJJYwlj6WVRZtlocWpRa+ltjW29bslvRW/VcHlxIXIpcvVzmXQ1dPF17Xa1d4F4XXkleg17BXvpfMl9eX41f02AKYElghmDEYRphcWGoYediFGJWYpxi42MAYz1jg2PMZBRkWWRzZKJk2mUVZU9lhGW7ZgpmQGaPZqNmwGbgZvpnN2d8Z8VoDWhPaJRo8GkzaZBpzmn+ajpqnGq5avRrPWt/a69r2GwpbFdseWyjbOZtE21BbWNtm22zbfFuPG5lbp9u6G8Eb1BvmW/ZcBFwKXBncLJw23EVcV5xenHGcg9yT3KHcp5y3XMoc1Fzi3PUc/J0PnSHdMh1AHUYdVZ1oXXKdgR2TXZpdrV2/nc+d3Z3jXfMeBd4QHh6eMN44XkteXZ5t3nkefx6NHp9eqJ603sMeyd7cnure9h773wnfHB8lXzGfP99GX1kfZ19y33jfhx+ZX6Lfrx+9n8Rf1x/ln/Ef9yAFYBegISAtYDvgQqBVYGPgZ6B8oI0gqaCsYLIgtqC94MMgx+DM4N2g7qDxoPihASEM4Q/hEyEWYRshLCEvITIhOSFAYU8hXeFiIWahaaFsoW+hcqF1oXihe6F+oYMhhiGJIYwhjyGSIZfhoaGrobWhu2HBIcdhzeHR4dXh26HfYeRh6WHpYelh6WHpYelh9+IG4hdiKyJDIlXiaOJ24n3ijqKW4qSir6K54sgi0+Lh4u3i+SMEoxojJ2Ms4zNjNyM9o0OjSaNNY1JjVWNbo2GjZmNuI3Kjd2N9o4QjiuOeo6kjrSOxo8Xj1+PhY+pj+yQFpAskEeQY5CtkNqQ6ZFKkdOR6JH9khKSJ5JEkmGShJKekyaTdpOUlBCUcZTElRSVO5WclciV15XtlfqWDpYnlmiWjpbllxuXMZdGl1yXaJd2l4eXoJe5l9aX7Zf5mAuYGpgomD6YUJhhmICYppjUmPqZJpkymViZb5mOmaSZuZnPmdqZ6pn/miSaRJpimm6aepqGmpKaoJqxmr2azJramvCbApsTmzKbWJt+m4qbr5vPm+Cb+ZwSnC+cRpxSnGScc5yBnJicqpy7nNqdAJ0unVSdgJ2MnbKdyZ3nnf2eCp4YnimeNZ5EnlKeaZ57noyeq57RnvefA58Rnx+fRp9sn6qf6aADoBygTaB/oKagzKELoSWhPqFvoW+hb6Fvoa6h76I6oqCi6KMro40AAQAAAAIAQrRIzUVfDzz1AAMD6AAAAADb/RyxAAAAANw4PxH/Cv5qBSMERAAAAAYAAgAAAAAAAAKIAEoDCgAKAwoACgMKAAoDCgAKAwoACgMKAAoDCgAKAwoACgMKAAoDCgAKAwoACgMKAAoDCgAKAwoACgMKAAoDCgAKAwoACgMKAAoDCgAKAwoACgMKAAoDCgAKAwoACgMKAAoDCgAKAwoACgP8AAAD/AAAAwoASgMKAC0DCgAtAwoALQMKAC0DCgAtAwoALQMKAEoF0gBKAwoAAAMKAEoDCgAABTYASgLSAE0C0gBNAtIATQLSAE0C0gBNAtIATQLSAE0C0gBNAtIATQLSAE0C0gBNAtIATQLSAE0C0gBNAtIATQLSAE0C0gBNAtIATQLSAE0C0gBNApsASgNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAEoDQQABA0EASgNBAEoBcQBKBAwASgFxAEoBcQABAXH/2wFx/9sBcf+QAXH//wFxAEoBcQBKAXH/+wFxAEoBcQABAXEAGgFxAD8Bcf/bApsAFwKbABcDQQBKA0EASgKbAEoFIgBKApsASgKbAEoCmwBKApsASgPXAEoCmwAAA8wASgNBAEoF3ABKA0EASgNBAEoDQQBKA0EASgNB/94EfQBKA0EASgNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0DQQAtA0EALQNBAC0EtwAtAtIASgLSAEoDQQAtAwoASgMKAEoDCgBKAwoASgMKAEoDCgBKAtIAKwLSACsC0gArAtIAKwLSACsC0gArAtIAKwNmAEoDQQAuAtIAFwLSABcC0gAXAtIAFwLSABcC0gAXA0EASgNBAEoDQQBKA0EASgNBAEoDQQBKA0EASgNBAEoDQQBKA0EASgNBAEoDQQBKA0EASgNBAEoDQQBKA0EASgNBAEoDQQBKA0EASgNBAEoDQQBKA0EASgNBAEoDQQBKA0EASgNBAEoDCgARA+gABQPoAAUD6AAFA+gABQPoAAUDCgAEAwoABwMKAAcDCgAHAwoABwMKAAcDCgAHAwoABwMKAAcDCgAHAtIAGALSABgC0gAYAtIAGAMLAEUDCwBFAwsARQMLAEUDCwBFAwsARQMLAEUDCgAtA0EASgNBAC0C0gArAtIAGAKbAB4CmwAeApsAHgKbAB4CmwAeApsAHgKbAB4CmwAeApsAHgKbAB4CmwAeApsAHgKbAB4CmwAeApsAHgKbABoCmwAeApsAHgKbAB4CmwAeApsAHgKbAB4CmwAeApsAHgKbAB4CmwAeA/AAHgPwAB4CmwA9ApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJATHACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQBhQAIApoACgKaAAoCmgAKApoACgKaAAoCmgAKApsAPAKbAAACm//AApsAPAE/ADwBPwA8AT8APAE//+cBP//HAT//xwE//3oBP//mAT8APAE/ADwBP//aAT8APAE//+cCewA8AT8AAgE/ABMBP//CATz/0AE8/9ABPP/HApsAPAKbADwCmwA8AT8APAE/ADwBPwA8AT8APAE/ADwCewA8AT//4wPoADwCmwA8ApsAPAKbAAACmwA8ApsAPAKbADwCm//QA9cAPAKbADwCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkApsAJAKbACQCmwAkA/kAJAKbAD0CmgA8ApsAJAG8ADwBvAA8AbwAGgG8ADwBvP/NAbwAOgJjACICYwAiAmMAIgJjACICYwAiAmMAIgJjACICmwBDAYUACAG8ABsBvAAbAbwAGwG8ABsBvAAbAbwAGwKbADoCmwA6ApsAOgKbADoCmwA6ApsAKAKbADoCmwA6ApsAOgKbADoCmwA6ApsAOgKbADoCmwA6ApsAOgKbADoCmwA6ApsAOgKbADoCmwA6ApsAOgKbADoCmwA6ApsAOgKbADoCmwA6AmMAAAOwAAADsAAAA7AAAAOwAAADsAAAApsABAJjAAACYwAAAmMAAAJjAAACYwAAAmMAAAJjAAACYwAAAmMAAAIsABQCLAAUAiwAFAIsABQCnAA7ApwAOwKcADsCnAA7ApwAOwKcADsCnAA7ApwAOwKcADsCmwAkApsAPAKbACQCYwAiAiwAFAL0AAgEMwAIBDMACALEAAgCxAAIAZAADAGQAAYBtAArAxQAGgNWAB8CnQA8AsMAFgG0ACsCmwApApsAaQKbADECmwAqApsAFwKbACcCmwApApsALQKbACkCmwAkApsAKQKbACkCmwBpApsAMQKbACoCmwAXApsAJwKbACkCmwAtApsAKQKbACQCmwApApsAKQI3ADcCmwAxApsAKgKbABcCmwAnApsAKQKbAC0CmwApApsAJAKbACkCmwApApsAaQKbADECmwAqApsAFwKbACcCmwApApsALQKbACkCmwAkApsAKQKbACkCmwBpApsAMQKbACoCmwAXApsAJwKbACkCmwAtApsAKQKbACQCmwApAaQALwGkADQBpAAyAaQAMAGkACYBpAA0AaQALgGkADABpAAvAaQALgGkAC8BpAA0AaQAMgGkADABpAAmAaQANAGkAC4BpAAwAaQALwGkAC4BpAAvAaQANAGkADIBpAAwAaQAJgGkADQBpAAuAaQAMAGkAC8BpAAuAaQALwGkADQBpAAyAaQAMAGkACYBpAA0AaQALgGkADABpAAvAaQALgCn/1cD6AA0A+gANAPoADABTQA9AU0APQFNAD0BTQA9A+gAPQFNAEABTQA/AmMAJQJjAC4BTQBHAfQAWAGXABUClAAVAfQAAAEyAAABMgAAAU0APwJjAC4AwQAUAMEAHgGFADcBhQAiAYUAHgGFACgBhQBMAYUAKAFNACgBTQAoAfQAAAPoAAAC7gAAAlgAJwFNACgCLAAAAiwAAAFNACgBTQAoAfQAAAPoAAABTQAoARYALgH8AC4B/AAuAfwALgEWAC4BFgAuAlMAFgJTABsBZwAW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AAAEWAAAAAAAAAAAAAAAAAAAAAACawI6AmcCQQJ0AqgCswJoAkkCSgJAAo0CNgJPAjUCQwI3AjgClAKRApMCPAKyAAEAHQAeACQAKgA+AD8ARQBJAFkAWwBdAGUAZgBvAI8AkQCSAJgAoQCnAMEAwgDHAMgA0QJNAkQCTgKbAlYC7wDhAP0A/gEEAQkBHgEfASUBKQE6AT0BQAFHAUgBUQFxAXMBdAF6AYMBiQGjAaQBqQGqAbMCSwK+AkwCmQJsAjsCcQKDAnMChQK/ArUC7QK2AcoCYwKaAlACtwL3ArsClwIpAioC8AKmArQCPgL4AigBywJkAjMCMgI0Aj0AEwACAAoAGgARABgAGwAhADgAKwAuADUAUwBLAE4AUAAmAG4AfgBwAHMAjAB6Ao8AigCzAKgAqwCtAMkAkAGBAPMA4gDqAPoA8QD4APsBAQEXAQoBDQEUATMBKwEuATABBQFQAWABUgFVAW4BXAKQAWwBlQGKAY0BjwGrAXIBrQAWAPYAAwDjABcA9wAfAP8AIgECACMBAwAgAQAAJwEGACgBBwA7ARoALAELADYBFQA8ARsALQEMAEIBIgBAASAARAEkAEMBIwBHAScARgEmAFgBOQBWATcATAEsAFcBOABRASoASgE2AFoBPABcAT4BPwBfAUEAYQFDAGABQgBiAUQAZAFGAGgBSQBqAUwAaQFLAUoAawFNAIgBagBxAVMAhgFoAI4BcACTAXUAlQF3AJQBdgCZAXsAnAF+AJsBfQCaAXwApAGGAKMBhQCiAYQAwAGiAL0BnwCpAYsAvwGhALsBnQC+AaAAxAGmAMoBrADLANIBtADUAbYA0wG1AYIAgAFiALUBlwAlACkBCABeAGMBRQBnAG0BTwAJAOkATQEtAHIBVACqAYwAsQGTAK4BkACvAZEAsAGSAEEBIQCJAWsAGQD5ABwA/ACLAW0AEADwABUA9QA0ARMAOgEZAE8BLwBVATUAeQFbAIcBaQCWAXgAlwF5AKwBjgC8AZ4AnQF/AKUBhwB7AV0AjQFvAHwBXgDPAbECyQLHAvQC7gL1AvkC9gLxAtEC0gLUAtkC2wLWAs8CygLcAtcC0wLVAEgBKACeAYAApgGIAMYBqADDAaUAxQGnABIA8gAUAPQACwDrAA0A7QAOAO4ADwDvAAwA7AAEAOQABgDmAAcA5wAIAOgABQDlADcBFgA5ARgAPQEcAC8BDgAxARAAMgERADMBEgAwAQ8AVAE0AFIBMgB9AV8AfwFhAHQBVgB2AVgAdwFZAHgBWgB1AVcAgQFjAIMBZQCEAWYAhQFnAIIBZACyAZQAtAGWALYBmAC4AZoAuQGbALoBnAC3AZkAzQGvAMwBrgDOAbAA0AGyAlcCYQJiAl0CXwJgAl4CwALCAj8CeAJ7AnUCdgJ6AoACeQKCAnwCfQKBAsMCuAKtAqoCqwKsAq4CrwKdAqECowKOAoYCpAKcAqcCkgKJApYClQKLAooAALgB/4WwBI0AAAAAGAEmAAMAAQQJAAAAqAAAAAMAAQQJAAEAGgCoAAMAAQQJAAIADgDCAAMAAQQJAAMAMADQAAMAAQQJAAQAGgCoAAMAAQQJAAUAGgEAAAMAAQQJAAYAGgEaAAMAAQQJAAcATgE0AAMAAQQJAAgAGAGCAAMAAQQJAAkAGAGaAAMAAQQJAAoBjgGyAAMAAQQJAAsANgNAAAMAAQQJAAwANgNAAAMAAQQJAA0BIAN2AAMAAQQJAA4ANASWAAMAAQQJABAADgTKAAMAAQQJABEACgTYAAMAAQQJABkAGATiAAMAAQQJAQAADAT6AAMAAQQJAQEACgUGAAMAAQQJAQoACgTYAAMAAQQJARcADAUQAAMAAQQJARoADAUcAAMAAQQJARsACgUoAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIAMAAgAFQAaABlACAAQQByAGMAaABpAHYAbwAgAFAAcgBvAGoAZQBjAHQAIABBAHUAdABoAG8AcgBzACAAKABoAHQAdABwAHMAOgAvAC8AZwBpAHQAaAB1AGIALgBjAG8AbQAvAE8AbQBuAGkAYgB1AHMALQBUAHkAcABlAC8AQQByAGMAaABpAHYAbwApAEEAcgBjAGgAaQB2AG8AIABCAGwAYQBjAGsAUgBlAGcAdQBsAGEAcgAyAC4AMAAwADEAOwBPAE0ATgBJADsAQQByAGMAaABpAHYAbwAtAEIAbABhAGMAawBWAGUAcgBzAGkAbwBuACAAMgAuADAAMAAxAEEAcgBjAGgAaQB2AG8ALQBCAGwAYQBjAGsAQQByAGMAaABpAHYAbwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAE8AbQBuAGkAYgB1AHMALQBUAHkAcABlAC4ATwBtAG4AaQBiAHUAcwAtAFQAeQBwAGUASABlAGMAdABvAHIAIABHAGEAdAB0AGkAQQByAGMAaABpAHYAbwAgAGkAcwAgAGEAIABnAHIAbwB0AGUAcwBxAHUAZQAgAHMAYQBuAHMAIABzAGUAcgBpAGYAIAB0AHkAcABlAGYAYQBjAGUAIABmAGEAbQBpAGwAeQAgAGYAcgBvAG0AIABPAG0AbgBpAGIAdQBzAC0AVAB5AHAAZQAuACAASQB0ACAAdwBhAHMAIABvAHIAaQBnAGkAbgBhAGwAbAB5ACAAZABlAHMAaQBnAG4AZQBkACAAZgBvAHIAIABoAGkAZwBoAGwAaQBnAGgAdABzACAAYQBuAGQAIABoAGUAYQBkAGwAaQBuAGUAcwAuACAAVABoAGkAcwAgAGYAYQBtAGkAbAB5ACAAaQBzACAAcgBlAG0AaQBuAGkAcwBjAGUAbgB0ACAAbwBmACAAbABhAHQAZQAgAG4AaQBuAGUAdABlAGUAbgB0AGgAIABjAGUAbgB0AHUAcgB5ACAAQQBtAGUAcgBpAGMAYQBuACAAdAB5AHAAZQBmAGEAYwBlAHMALgBoAHQAdABwADoALwAvAHcAdwB3AC4AbwBtAG4AaQBiAHUAcwAtAHQAeQBwAGUALgBjAG8AbQBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAQQByAGMAaABpAHYAbwBCAGwAYQBjAGsAQQByAGMAaABpAHYAbwBSAG8AbQBhAG4AVwBlAGkAZwBoAHQAVwBpAGQAdABoAE4AbwByAG0AYQBsAEkAdABhAGwAaQBjAFIAbwBtAGEAbgACAAAAAAAA/2wALAAAAAAAAAAAAAAAAAAAAAAAAAAAAzcAAAAkAMkBAgEDAQQBBQEGAQcBCADHAQkBCgELAQwBDQEOAGIBDwCtARABEQESARMAYwEUAK4AkAEVACUAJgD9AP8AZAEWARcAJwEYAOkBGQEaARsAKABlARwBHQDIAR4BHwEgASEBIgEjAMoBJAElAMsBJgEnASgBKQEqACkAKgD4ASsBLAEtAS4AKwEvATABMQAsATIAzAEzATQAzQE1AM4A+gE2AM8BNwE4ATkBOgE7AC0BPAAuAT0ALwE+AT8BQAFBAUIBQwDiADAAMQFEAUUBRgFHAUgBSQFKAGYAMgDQAUsBTADRAU0BTgFPAVABUQFSAGcBUwFUAVUA0wFWAVcBWAFZAVoBWwFcAV0BXgFfAWAAkQFhAK8BYgCwADMA7QA0ADUBYwFkAWUBZgFnADYBaADkAPsBaQFqAWsBbAFtADcBbgFvAXABcQFyADgA1AFzAXQA1QF1AGgBdgF3AXgBeQF6ANYBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwA5ADoBiAGJAYoBiwA7ADwA6wGMALsBjQGOAY8BkAGRAD0BkgDmAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8ARABpAaABoQGiAaMBpAGlAaYAawGnAagBqQGqAasBrABsAa0AagGuAa8BsAGxAG4BsgBtAKABswBFAEYA/gEAAG8BtAG1AEcA6gG2AQEBtwBIAHABuAG5AHIBugG7AbwBvQG+Ab8AcwHAAcEAcQHCAcMBxAHFAcYBxwBJAEoA+QHIAckBygHLAEsBzAHNAc4ATADXAHQBzwHQAHYB0QB3AdIB0wB1AdQB1QHWAdcB2AHZAE0B2gHbAE4B3AHdAE8B3gHfAeAB4QHiAOMAUABRAeMB5AHlAeYB5wHoAekAeABSAHkB6gHrAHsB7AHtAe4B7wHwAfEAfAHyAfMB9AB6AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wChAgAAfQIBALEAUwDuAFQAVQICAgMCBAIFAgYAVgIHAOUA/AIIAgkCCgCJAgsAVwIMAg0CDgIPAhAAWAB+AhECEgCAAhMAgQIUAhUCFgIXAhgAfwIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAFkAWgImAicCKAIpAFsAXADsAioAugIrAiwCLQIuAi8AXQIwAOcCMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkIAwADBAJ0AngJDAkQCRQJGAJsCRwATABQAFQAWABcAGAAZABoAGwAcAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQKGAocCiAKJAooCiwKMAo0CjgKPApACkQKSApMClAKVApYClwKYApkCmgKbApwAvAD0APUA9gARAA8AHQAeAKsABACjACIAogDDAIcADQAGAp0AEgA/Ap4CnwKgAqEACwAMAF4AYAA+AEAAEAKiALIAswKjAqQCpQBCAqYCpwKoAqkCqgKrAMQAxQC0ALUAtgC3AKkAqgC+AL8ABQAKAqwCrQADAq4CrwKwArECsgCEArMAvQAHArQCtQCmAPcCtgK3ArgCuQK6ArsCvAK9Ar4CvwCFAsAAlgLBAsICwwLEAsUCxgLHAA4A7wDwALgAIACPACEAHwCVAJQAkwCnAGEApABBAJICyALJAJwCygLLAJoAmQClAJgCzALNAAgAxgLOAs8C0ALRAtIC0wLUALkAIwAJAIgAhgCLAIoC1QCMAtYAgwLXAtgAXwDoAIIC2QDCAtoC2wLcAt0C3gLfAuAC4QLiAuMC5ALlAuYC5wLoAukC6gLrAuwC7QLuAu8C8ALxAvIC8wL0AvUC9gL3AvgC+QL6AvsC/AL9Av4C/wMAAwEDAgMDAI4A3ABDAI0A3wDYAOEA2wDdANkA2gDeAOADBAMFAwYDBwMIAwkDCgMLAwwDDQMOAw8DEAMRAxIDEwMUAxUDFgMXAxgDGQMaAxsDHAMdAx4DHwMgAyEDIgMjAyQDJQMmAycDKAMpAyoDKwMsAy0DLgMvAzADMQMyAzMDNAM1AzYDNwM4AzkDOgM7AzwDPQM+Az8DQAZBYnJldmUHdW5pMUVBRQd1bmkxRUI2B3VuaTFFQjAHdW5pMUVCMgd1bmkxRUI0B3VuaTAxQ0QHdW5pMUVBNAd1bmkxRUFDB3VuaTFFQTYHdW5pMUVBOAd1bmkxRUFBB3VuaTAyMDAHdW5pMUVBMAd1bmkxRUEyB3VuaTAyMDIHQW1hY3JvbgdBb2dvbmVrCkFyaW5nYWN1dGUHQUVhY3V0ZQtDY2lyY3VtZmxleApDZG90YWNjZW50B3VuaTAxQzQGRGNhcm9uBkRjcm9hdAd1bmkwMUM1BkVicmV2ZQZFY2Fyb24HdW5pMUVCRQd1bmkxRUM2B3VuaTFFQzAHdW5pMUVDMgd1bmkxRUM0B3VuaTAyMDQKRWRvdGFjY2VudAd1bmkxRUI4B3VuaTFFQkEHdW5pMDIwNgdFbWFjcm9uB0VvZ29uZWsHdW5pMUVCQwZHY2Fyb24LR2NpcmN1bWZsZXgHdW5pMDEyMgpHZG90YWNjZW50BEhiYXILSGNpcmN1bWZsZXgHdW5pMUUyNAJJSgZJYnJldmUHdW5pMDFDRgd1bmkwMjA4B3VuaTFFQ0EHdW5pMUVDOAd1bmkwMjBBB0ltYWNyb24HSW9nb25lawZJdGlsZGULSmNpcmN1bWZsZXgHdW5pMDEzNgd1bmkwMUM3BkxhY3V0ZQZMY2Fyb24HdW5pMDEzQgRMZG90B3VuaTAxQzgHdW5pMDFDQQZOYWN1dGUGTmNhcm9uB3VuaTAxNDUDRW5nB3VuaTAxOUQHdW5pMDFDQgZPYnJldmUHdW5pMDFEMQd1bmkxRUQwB3VuaTFFRDgHdW5pMUVEMgd1bmkxRUQ0B3VuaTFFRDYHdW5pMDIwQwd1bmkwMjJBB3VuaTAyMzAHdW5pMUVDQwd1bmkxRUNFBU9ob3JuB3VuaTFFREEHdW5pMUVFMgd1bmkxRURDB3VuaTFFREUHdW5pMUVFMA1PaHVuZ2FydW1sYXV0B3VuaTAyMEUHT21hY3Jvbgd1bmkwMUVBC09zbGFzaGFjdXRlB3VuaTAyMkMGUmFjdXRlBlJjYXJvbgd1bmkwMTU2B3VuaTAyMTAHdW5pMDIxMgZTYWN1dGULU2NpcmN1bWZsZXgHdW5pMDIxOAd1bmkxRTYyB3VuaTFFOUUHdW5pMDE4RgRUYmFyBlRjYXJvbgd1bmkwMTYyB3VuaTAyMUEHdW5pMUU2QwZVYnJldmUHdW5pMDFEMwd1bmkwMjE0B3VuaTAxRDcHdW5pMDFEOQd1bmkwMURCB3VuaTAxRDUHdW5pMUVFNAd1bmkxRUU2BVVob3JuB3VuaTFFRTgHdW5pMUVGMAd1bmkxRUVBB3VuaTFFRUMHdW5pMUVFRQ1VaHVuZ2FydW1sYXV0B3VuaTAyMTYHVW1hY3JvbgdVb2dvbmVrBVVyaW5nBlV0aWxkZQZXYWN1dGULV2NpcmN1bWZsZXgJV2RpZXJlc2lzBldncmF2ZQtZY2lyY3VtZmxleAd1bmkxRUY0BllncmF2ZQd1bmkxRUY2B3VuaTAyMzIHdW5pMUVGOAZaYWN1dGUKWmRvdGFjY2VudAlZLmxvY2xHVUEOWWFjdXRlLmxvY2xHVUETWWNpcmN1bWZsZXgubG9jbEdVQRFZZGllcmVzaXMubG9jbEdVQQ5ZZ3JhdmUubG9jbEdVQQ91bmkwMjMyLmxvY2xHVUEPdW5pMUVGOC5sb2NsR1VBDkNhY3V0ZS5sb2NsUExLDk5hY3V0ZS5sb2NsUExLDk9hY3V0ZS5sb2NsUExLDlNhY3V0ZS5sb2NsUExLDlphY3V0ZS5sb2NsUExLBmFicmV2ZQd1bmkxRUFGB3VuaTFFQjcHdW5pMUVCMQd1bmkxRUIzB3VuaTFFQjUHdW5pMDFDRQd1bmkxRUE1B3VuaTFFQUQHdW5pMUVBNwd1bmkxRUE5B3VuaTFFQUIHdW5pMDIwMQd1bmkxRUExB3VuaTFFQTMHdW5pMDIwMwdhbWFjcm9uB2FvZ29uZWsKYXJpbmdhY3V0ZQdhZWFjdXRlC2NjaXJjdW1mbGV4CmNkb3RhY2NlbnQGZGNhcm9uB3VuaTAxQzYGZWJyZXZlBmVjYXJvbgd1bmkxRUJGB3VuaTFFQzcHdW5pMUVDMQd1bmkxRUMzB3VuaTFFQzUHdW5pMDIwNQplZG90YWNjZW50B3VuaTFFQjkHdW5pMUVCQgd1bmkwMjA3B2VtYWNyb24HZW9nb25lawd1bmkxRUJEB3VuaTAyNTkGZ2Nhcm9uC2djaXJjdW1mbGV4B3VuaTAxMjMKZ2RvdGFjY2VudARoYmFyC2hjaXJjdW1mbGV4B3VuaTFFMjUGaWJyZXZlB3VuaTAxRDAHdW5pMDIwOQlpLmxvY2xUUksHdW5pMUVDQgd1bmkxRUM5B3VuaTAyMEICaWoHaW1hY3Jvbgdpb2dvbmVrBml0aWxkZQd1bmkwMjM3C2pjaXJjdW1mbGV4B3VuaTAxMzcMa2dyZWVubGFuZGljBmxhY3V0ZQZsY2Fyb24HdW5pMDEzQwRsZG90B3VuaTAxQzkGbmFjdXRlC25hcG9zdHJvcGhlBm5jYXJvbgd1bmkwMTQ2A2VuZwd1bmkwMjcyB3VuaTAxQ0MGb2JyZXZlB3VuaTAxRDIHdW5pMUVEMQd1bmkxRUQ5B3VuaTFFRDMHdW5pMUVENQd1bmkxRUQ3B3VuaTAyMEQHdW5pMDIyQgd1bmkwMjMxB3VuaTFFQ0QHdW5pMUVDRgVvaG9ybgd1bmkxRURCB3VuaTFFRTMHdW5pMUVERAd1bmkxRURGB3VuaTFFRTENb2h1bmdhcnVtbGF1dAd1bmkwMjBGB29tYWNyb24HdW5pMDFFQgtvc2xhc2hhY3V0ZQd1bmkwMjJEBnJhY3V0ZQZyY2Fyb24HdW5pMDE1Nwd1bmkwMjExB3VuaTAyMTMGc2FjdXRlC3NjaXJjdW1mbGV4B3VuaTAyMTkHdW5pMUU2MwVsb25ncwR0YmFyBnRjYXJvbgd1bmkwMTYzB3VuaTAyMUIHdW5pMUU2RAZ1YnJldmUHdW5pMDFENAd1bmkwMjE1B3VuaTAxRDgHdW5pMDFEQQd1bmkwMURDB3VuaTAxRDYHdW5pMUVFNQd1bmkxRUU3BXVob3JuB3VuaTFFRTkHdW5pMUVGMQd1bmkxRUVCB3VuaTFFRUQHdW5pMUVFRg11aHVuZ2FydW1sYXV0B3VuaTAyMTcHdW1hY3Jvbgd1b2dvbmVrBXVyaW5nBnV0aWxkZQZ3YWN1dGULd2NpcmN1bWZsZXgJd2RpZXJlc2lzBndncmF2ZQt5Y2lyY3VtZmxleAd1bmkxRUY1BnlncmF2ZQd1bmkxRUY3B3VuaTAyMzMHdW5pMUVGOQZ6YWN1dGUKemRvdGFjY2VudAl5LmxvY2xHVUEOeWFjdXRlLmxvY2xHVUETeWNpcmN1bWZsZXgubG9jbEdVQRF5ZGllcmVzaXMubG9jbEdVQQ91bmkxRUY1LmxvY2xHVUEOeWdyYXZlLmxvY2xHVUEPdW5pMUVGNy5sb2NsR1VBD3VuaTAyMzMubG9jbEdVQQ91bmkxRUY5LmxvY2xHVUEOY2FjdXRlLmxvY2xQTEsObmFjdXRlLmxvY2xQTEsOb2FjdXRlLmxvY2xQTEsOc2FjdXRlLmxvY2xQTEsOemFjdXRlLmxvY2xQTEsDZl9mBWZfZl9pBWZfZl9sB3VuaTIwN0YHdW5pMDM5NAd1bmkwM0E5B3VuaTAzQkMHdW5pMjA5OQl6ZXJvLnplcm8HemVyby5sZgZvbmUubGYGdHdvLmxmCHRocmVlLmxmB2ZvdXIubGYHZml2ZS5sZgZzaXgubGYIc2V2ZW4ubGYIZWlnaHQubGYHbmluZS5sZgx6ZXJvLmxmLnplcm8IemVyby5vc2YHb25lLm9zZgd0d28ub3NmCXRocmVlLm9zZghmb3VyLm9zZghmaXZlLm9zZgdzaXgub3NmCXNldmVuLm9zZgllaWdodC5vc2YIbmluZS5vc2YNemVyby5vc2YuemVybwd6ZXJvLnRmBm9uZS50ZgZ0d28udGYIdGhyZWUudGYHZm91ci50ZgdmaXZlLnRmBnNpeC50ZghzZXZlbi50ZghlaWdodC50ZgduaW5lLnRmDHplcm8udGYuemVybwl6ZXJvLnRvc2YIb25lLnRvc2YIdHdvLnRvc2YKdGhyZWUudG9zZglmb3VyLnRvc2YJZml2ZS50b3NmCHNpeC50b3NmCnNldmVuLnRvc2YKZWlnaHQudG9zZgluaW5lLnRvc2YOemVyby50b3NmLnplcm8HdW5pMjA4MAd1bmkyMDgxB3VuaTIwODIHdW5pMjA4Mwd1bmkyMDg0B3VuaTIwODUHdW5pMjA4Ngd1bmkyMDg3B3VuaTIwODgHdW5pMjA4OQl6ZXJvLmRub20Ib25lLmRub20IdHdvLmRub20KdGhyZWUuZG5vbQlmb3VyLmRub20JZml2ZS5kbm9tCHNpeC5kbm9tCnNldmVuLmRub20KZWlnaHQuZG5vbQluaW5lLmRub20JemVyby5udW1yCG9uZS5udW1yCHR3by5udW1yCnRocmVlLm51bXIJZm91ci5udW1yCWZpdmUubnVtcghzaXgubnVtcgpzZXZlbi5udW1yCmVpZ2h0Lm51bXIJbmluZS5udW1yB3VuaTIwNzAHdW5pMDBCOQd1bmkwMEIyB3VuaTAwQjMHdW5pMjA3NAd1bmkyMDc1B3VuaTIwNzYHdW5pMjA3Nwd1bmkyMDc4B3VuaTIwNzkHdW5pMjAzRQ9leGNsYW1kb3duLmNhc2URcXVlc3Rpb25kb3duLmNhc2UbcGVyaW9kY2VudGVyZWQubG9jbENBVC5jYXNlFnBlcmlvZGNlbnRlcmVkLmxvY2xDQVQHdW5pMDBBRAd1bmkyMDE1B3VuaTIwMTAHdW5pMjAxMQ11bmRlcnNjb3JlZGJsC2h5cGhlbi5jYXNlDHVuaTAwQUQuY2FzZQtlbmRhc2guY2FzZQtlbWRhc2guY2FzZQx1bmkyMDExLmNhc2UHdW5pMjdFOAd1bmkyN0U5B3VuaTAwQTAHdW5pMjAwOQJDUgd1bmlGRUZGB3VuaTIwQjUNY29sb25tb25ldGFyeQRkb25nBEV1cm8HdW5pMjBCMgd1bmkyMEFEBGxpcmEHdW5pMjBCQQd1bmkyMEJDB3VuaTIwQTYGcGVzZXRhB3VuaTIwQjEHdW5pMjBCRAd1bmkyMEI5B3VuaTIwQTkHdW5pMjIxOQd1bmkyMDUyB3VuaTIyMTULZXF1aXZhbGVuY2UKaW50ZWdyYWxidAppbnRlZ3JhbHRwDXJldmxvZ2ljYWxub3QIZW1wdHlzZXQMaW50ZXJzZWN0aW9uB3VuaTIxMjYHdW5pMjIwNgd1bmkwMEI1Cm9ydGhvZ29uYWwHYXJyb3d1cAphcnJvd3JpZ2h0CWFycm93ZG93bglhcnJvd2xlZnQJYXJyb3dib3RoCWFycm93dXBkbgxhcnJvd3VwZG5ic2UHdW5pMjExNwd1bmkyMTA1Bm1pbnV0ZQZzZWNvbmQHdW5pMjExMwd1bmkyMTE2CWVzdGltYXRlZAVob3VzZQd1bmkwMkJDB3VuaTAyQkEHdW5pMDJDOQd1bmkwMkI5B3VuaTAzMDgLdW5pMDMwODAzMDALdW5pMDMwODAzMDELdW5pMDMwODAzMEMLdW5pMDMwODAzMDQHdW5pMDMwNwt1bmkwMzA3MDMwNAlncmF2ZWNvbWIJYWN1dGVjb21iB3VuaTAzMEIHdW5pMDMwMgd1bmkwMzBDB3VuaTAzMDYHdW5pMDMwQQt1bmkwMzBBMDMwMQl0aWxkZWNvbWILdW5pMDMwMzAzMDQHdW5pMDMwNA1ob29rYWJvdmVjb21iB3VuaTAzMEYHdW5pMDMxMQd1bmkwMzEyB3VuaTAzMTMHdW5pMDMxQgxkb3RiZWxvd2NvbWIHdW5pMDMyNAd1bmkwMzI2B3VuaTAzMjcHdW5pMDMyOAd1bmkwMzJFB3VuaTAzMzEHdW5pMDMzNQd1bmkwMzM2B3VuaTAzMzcHdW5pMDMzOAx1bmkwMzA4LmNhc2UQdW5pMDMwODAzMDAuY2FzZRB1bmkwMzA4MDMwMS5jYXNlEHVuaTAzMDgwMzBDLmNhc2UQdW5pMDMwODAzMDQuY2FzZQx1bmkwMzA3LmNhc2UQdW5pMDMwNzAzMDQuY2FzZQ5ncmF2ZWNvbWIuY2FzZQ5hY3V0ZWNvbWIuY2FzZQx1bmkwMzBCLmNhc2UMdW5pMDMwMi5jYXNlDHVuaTAzMEMuY2FzZQx1bmkwMzA2LmNhc2UMdW5pMDMwQS5jYXNlEHVuaTAzMEEwMzAxLmNhc2UOdGlsZGVjb21iLmNhc2UQdW5pMDMwMzAzMDQuY2FzZQx1bmkwMzA0LmNhc2USaG9va2Fib3ZlY29tYi5jYXNlDHVuaTAzMEYuY2FzZQx1bmkwMzExLmNhc2UMdW5pMDMxQi5jYXNlDHVuaTAzMzcuY2FzZQx1bmkwMzM4LmNhc2UNZGllcmVzaXMuY2FzZQ5kb3RhY2NlbnQuY2FzZQpncmF2ZS5jYXNlCmFjdXRlLmNhc2URaHVuZ2FydW1sYXV0LmNhc2UPY2lyY3VtZmxleC5jYXNlCmNhcm9uLmNhc2UKYnJldmUuY2FzZQlyaW5nLmNhc2UKdGlsZGUuY2FzZQttYWNyb24uY2FzZRJhY3V0ZS5sb2NsUExLLmNhc2UNYWN1dGUubG9jbFBMSwt1bmkwMzA2MDMwMQt1bmkwMzA2MDMwMAt1bmkwMzA2MDMwOQt1bmkwMzA2MDMwMwt1bmkwMzAyMDMwMQt1bmkwMzAyMDMwMAt1bmkwMzAyMDMwOQt1bmkwMzAyMDMwMxB1bmkwMzA2MDMwMS5jYXNlEHVuaTAzMDYwMzAwLmNhc2UQdW5pMDMwNjAzMDMuY2FzZRB1bmkwMzAyMDMwMS5jYXNlEHVuaTAzMDIwMzAwLmNhc2UQdW5pMDMwMjAzMDMuY2FzZQd1bmlFMEZGB3VuaUVGRkQHdW5pRjAwMBN1bmkyMEI1LkJSQUNLRVQuMTEwEGNlbnQuQlJBQ0tFVC4xMTAZY29sb25tb25ldGFyeS5CUkFDS0VULjExMBJkb2xsYXIuQlJBQ0tFVC4xMTATdW5pMjBCMi5CUkFDS0VULjExMBN1bmkyMEE2LkJSQUNLRVQuMTEwE3VuaTIwQTkuQlJBQ0tFVC4xMTAAAQAB//8ADwABAAIADgAAAAAAAABmAAIADgABAGoAAQBtAQQAAQEGARwAAQEeAUwAAQFPAcQAAQHGAckAAgJwAnIAAQJ0AnQAAQJ5AnkAAQLDAsMAAQLKAuwAAwL6AxEAAwMfAywAAwMwAzQAAQABAAMAAAAQAAAAIAAAADYAAQAGAuIC4wLkAuUC5wLoAAIAAwLKAuAAAAL6Aw4AFwMfAywALAABAAIC4QMPAAEAAAAKABgALAACREZMVAAubGF0bgAuAANrZXJuACRtYXJrACpta21rADAABQAmADAAOABCAEwASgAAAAAAAQAAAAAAAQABAAAAAwACAAMABAACAAgAAgA8APoABAAAAAEPxAAGABAAAQ/IAAAABgAQAAEPygABAAYAEAABD8wAAgAA//8AAwAAAAEAAgABD8IABAAAAFoQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoEGgQaBBoFzoXQBdAEH4QfhB+EH4QfhB+F1IXUhCYEJgQmBCYEJgQmBCeEKgQqBCoEKgQqBCoEKgQqBCoEMoXOhc6FzoQuhC6ELoQuhC6ELoQyhDEEMQQxBDEEMQQxBDKEOoQ4BDqEOoQ4BDqEPASahJ0ExYTkBOeFbwXOhdAF1IXUhdSF1gAAhfIAAQAABiGGqAALQAqAAAAAAAAAAD/7AAAAAAAAAAAAAAAAP/iAAD/7AAAAAD/4gAAAAD/9gAAAAAAAAAA/+wAAAAA//YAAAAAAAAAAAAAAAAAAP/sAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAD/2AAAAAAAAP/s/+wAAAAA//EAAAAA/+IAAP+mAAD/zgAAAAD/sAAAAAAAAAAA/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+SAAAAAAAA/+L/9v/dAAAAAAAAAAD/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAD/+wAAAAAAAAAAAAAAAP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7AAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9qAAD/xAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAHgAoACgAAAAAABQAKAAAACgAKAAo/87/4gAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAP/sAAD/8QAAAAD/7AAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EAAAAAAAD/kv/i/6b/pv+SAAD/ugAA/8T/agAA/8T/7P+w/5L/7P+m/84AAP+wAAAAAAAA/zj/fv/O/8QAAAAAAAD/4gAAAAAAAAAAAAAAAAAA/+L/ugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xP/s/87/zv/EAAD/9gAA/+z/xP/sAAAAAAAA/84AAAAAAAAAAP/iAAAAAAAA/4j/nAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/4v/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2P/xAAD/7AAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iAAAAAAAA/90AAAAA/9j/4v90AAD/sAAAAAD/kgAAAAD/7AAA/6YAAAAAAAD/7P9qAAAAAAAAAAD/pv/iAAAAAP+cAAAAAAAA/xD/7P/YAAD/7AAA/+wAAP/s//sAAAAA//YAAP/sAAD/+wAAAAD/9gAAAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAA/+wAAP/2AAD/sP/i/7r/sP+wAAD/ugAA/+wAAP/sAAAAAAAA/7AAAAAA/9j/7P/sAAAAAAAA/87/iAAA/+wAAAAAAAD/zgAAAAAAAAAAAAAAAAAA/+z/7P/sAAAAAP/2AAAAAAAAAAAAAAAAAAD/sAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAD/9gAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAD/zv/sAAAAAAAAAAAAAP/OAAAAAAAAAAD/9gAAAAD/4gAAAAAAAAAA/6b/ugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/2P/E/9j/zv/YAAAAAAAA/87/uv/OAAD/zgAAAAD/4gAAAAD/9gAA/+IAAAAAAAD/zv+wAAAAAAAAAAD/kgAAAAAAAP/2AAAAAAAA/+wAAP/OAAD/+wAAAAAAAP/7AAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAU/9gAAAAA//YAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAD/4gAAAAAAAP/sAAAAAAAA//b/xAAAAAAAAAAA/+IAAAAAAAAAAP/2AAAAAAAAAAAAAP/YAAAAAAAAAAD/ugAAAAAAAAAAAAAAAAAAAAD/7P/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAD/2AAAAAD/yf/YAAAAAAAAAAD/7P/YAAAAAAAAAAAAAAAAAAD/4gAAAAAAAAAA/8T/pgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/84AAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAAyAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/iAAAAAAAAAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/YAAAAAAAAAAAAAAAAAAD/7AAAAAD/kgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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FvAAABSqAAAUsBkeAAAU5hTsAAAUtgAAFLwU7AAAFOAAABTmFOwAABTCAAAU5hTsAAAUwgAAFOYU7AAAFMIAABTmFOwAABTgAAAU5hTsAAAU4AAAFOYU7AAAFMgAABTmFOwAABkeAAAUzhTsAAAU4AAAFOYU7AAAFNQAABTmFOwAABTgAAAU5hTsAAAU2gAAFOYU7AAAGR4AABTmFOwAABTgAAAU5hTsAAAU8gAAGg4AAAAAFPgAABoOAAAAABUEAAAU/gAAAAAVBAAAFQoAAAAAG0YVIhUoAAAVLhUQFSIVFgAAFS4cQhUiFSgAABUuG0YVIhUoAAAVLhtGFSIVHAAAFS4bRhUiFSgAABUuGLIVIhi4AAAVLhtGFSIVKAAAFS4VNAAAFToAAAAAGj4AABpEAAAAABVAAAAVRgAAAAAViAAAGkQAAAAAFUwAABpEAAAAABo+AAAVUgAAAAAVWAAAFV4AAAAAFYgAABpEAAAAABbwFvYW/BcCFwgVmhb2FvwXAhcIFWQW9hb8FwIXCBVkFvYW/BcCFwgVZBb2FvwXAhcIFXAW9hb8FwIXCBVkFvYVfBcCFwgVcBb2FvwXAhcIFWoW9hb8FwIXCBVwFvYW/BcCFwgVmhb2FvwXAhcIFZoW9hb8FwIXCBWgFvYW/BcCFwgWQhb2FvwXAhcIFvAW9hV8FwIXCBWaFvYW/BcCFwgVdhb2FvwXAhcIGj4Vjhb8FwIXCBWIFY4W/BcCFwgaPhWOFXwXAhcIFYgVjhb8FwIXCBWCFY4W/BcCFwgViBWOFvwXAhcIFZoW9hb8FwIXCBWaFvYW/BcCFwgVlBb2FvwXAhcIFvAW9hb8FwIXCBbwFvYW/BcCFwgVmhb2FvwXAhcIFZoW9hb8FwIXCBWgFvYW/BcCFwgVpgAAFawAAAAAFbIAABW4AAAAABWyAAAVuAAAAAAaPgAAFvwAAAAAFcQAABXWAAAAABXQAAAV1gAAAAAVvgAAFdYAAAAAFcQAABXKAAAAABXQAAAV1gAAAAAV0AAAFdYAAAAAFw4AABcUAAAAABXcAAAXFAAAAAAV6AAAFxQAAAAAFw4AABXiAAAAABXoAAAXFAAAAAAXDgAAFe4AAAAAFw4AABX0AAAAABX6AAAWAAAAAAAaPgAAFvwAAAAAFh4AABYMAAAWKhYeAAAWDAAAFioWBgAAFgwAABYqFh4AABYSAAAWKhYeAAAWGAAAFioWHgAAFiQAABYqFmAWchZ4Fn4AABZsFnIWeBZ+AAAWMBZyFngWfgAAFjAWchZ4Fn4AABYwFnIWeBZ+AAAWbBZyFngWfgAAFmwWchZ4Fn4AABY8FnIWeBZ+AAAWNhZyFngWfgAAFjwWchZ4Fn4AABZCFnIWeBZ+AAAWYBZyFkgWfgAAFmwWchZ4Fn4AABZOFnIWeBZ+AAAWYBZUFngWfgAAFmwWVBZ4Fn4AABZgFlQWSBZ+AAAWbBZUFngWfgAAFk4WVBZ4Fn4AABZsFlQWeBZ+AAAWbBZyFngWfgAAFmwWchZ4Fn4AABZaFnIWeBZ+AAAWYBZyFngWfgAAFmYWchZ4Fn4AABZsFnIWeBZ+AAAW0gAAFuoAAAAAFoQAABigAAAAABaQAAAYoAAAAAAWigAAGKAAAAAAFpAAABigAAAAABaQAAAYoAAAAAAW0gAAFuoAAAAAFpwAABa6AAAAABa0AAAWugAAAAAWlgAAFroAAAAAFrQAABa6AAAAABacAAAWogAAAAAWtAAAFroAAAAAFqgAABa6AAAAABauAAAWugAAAAAWtAAAFroAAAAAFxoAABcgAAAXJhbAAAAXIAAAFyYWxgAAFyAAABcmFswAABcgAAAXJhbSAAAW6gAAAAAW5AAAFuoAAAAAFtgAABbqAAAAABbkAAAW6gAAAAAW5AAAFuoAAAAAFt4AABbqAAAAABbkAAAW6gAAAAAaVgAAGlwAAAAAGj4AABpEAAAAABbwFvYW/BcCFwgXDgAAFxQAAAAAFxoAABcgAAAXJhdQAAAXaBduAAAXSgAAF2gXbgAAF0oAABdoF24AABcsAAAXaBduAAAXSgAAFz4XbgAAFywAABdoF24AABcyAAAXaBduAAAXOAAAF2gXbgAAF0oAABdoF24AABdKAAAXaBduAAAXLAAAF2gXbgAAF0oAABc+F24AABcsAAAXaBduAAAXMgAAF2gXbgAAFzgAABdoF24AABdKAAAXaBduAAAXYgAAF2gXbgAAF1AAABc+F24AABdKAAAXaBduAAAXRAAAF2gXbgAAF0oAABdoF24AABdiAAAXaBduAAAXUAAAF2gXbgAAF1YAABdoF24AABdcAAAXaBduAAAXYgAAF2gXbgAAF3QAABeAAAAAABd6AAAXgAAAAAAYXgAAGFgAAAAAGeoAABnwAAAAABeMAAAZ8AAAAAAXjAAAGfAAAAAAGeoAABeGAAAAABeMAAAZ8AAAAAAXkgAAGfAAAAAAF5gXqhoOAAAXnheYF6oaDgAAF54XmBeqGg4AABeeF6QXqhewAAAXthfUAAAZ/BfyAAAX5gAAGfwX8gAAF+YAABn8F/IAABfmAAAZ/BfyAAAX5gAAGfwX8gAAF7wAABn8F/IAABfmAAAX2hfyAAAXvAAAGfwX8gAAF8IAABn8F/IAABfIAAAZ/BfyAAAX5gAAGfwX8gAAF+wAABn8F/IAABfOAAAZ/BfyAAAX1AAAF9oX8gAAF+YAABn8F/IAABfgAAAZ/BfyAAAX5gAAGfwX8gAAF+wAABn8F/IAABoCAAAZ/BfyAAAX7AAAGfwX8gAAF/gAABf+AAAAABgEAAAZ5AAAAAAYCgAAGeQAAAAAGAoAABnkAAAAABgKAAAZ5AAAAAAYEAAAGeQAAAAAGBYAABnkAAAAABgiAAAaDgAAGCgYIgAAGg4AABgoGBwAABoOAAAYKBgiAAAZTgAAGCgYRgAAGI4YQAAAGEYAABiOGEAAABhMAAAYjhhAAAAYTAAAGI4YQAAAGEwAABiOGEAAABhMAAAYjhhAAAAYTAAAGI4YQAAAGDoAABiOGEAAABhGAAAYjhhAAAAYRgAAGC4YQAAAGEwAABiOGEAAABg0AAAYjhhAAAAYTAAAGI4YQAAAGHYAABh8GEAAABg6AAAYjhhAAAAYRgAAGI4YQAAAGDoAABiOGEAAABhGAAAYUgAAAAAYRgAAGFIAAAAAGEwAABhSAAAAABheAAAYWAAAAAAYXgAAGGQAAAAAGgIAABoOAAAAABiCGIgYjgAAGJQYahiIGI4AABiUGIIYiBiOAAAYlBiCGIgYcAAAGJQYghiIGI4AABiUGHYYiBh8AAAYlBiCGIgYjgAAGJQYmgAAGKAAAAAAGfYAABn8AAAAABimAAAZ/AAAAAAZ9gAAGfwAAAAAGKYAABn8AAAAABn2AAAYrAAAAAAYsgAAGLgAAAAAGL4AABn8AAAAABoCGggaDhoUGhoZ0hoIGg4aFBoaGdIaCBoOGhQaGhnSGggaDhoUGhoZ0hoIGg4aFBoaGMQaCBoOGhQaGhnSGggZThoUGhoYxBoIGg4aFBoaGMoaCBoOGhQaGhlCGggaDhoUGhoZ0hoIGg4aFBoaGd4aCBoOGhQaGhlIGggaDhoUGhoY0BoIGg4aFBoaGgIaCBlOGhQaGhnSGggaDhoUGhoZ2BoIGg4aFBoaGgIY1hoOGhQaGhnSGNYaDhoUGhoaAhjWGU4aFBoaGdIY1hoOGhQaGhnYGNYaDhoUGhoZ3hjWGg4aFBoaGdIaCBoOGhQaGhnSGggaDhoUGhoZ3hoIGg4aFBoaGgIaCBoOGhQaGhoCGggaDhoUGhoZ0hoIGg4aFBoaGd4aCBoOGhQaGhlIGggaDhoUGhoY3AAAGOIAAAAAGgIAABoOAAAAABjoAAAY7gAAAAAaAgAAGg4AAAAAGPQAABqSAAAAABkAAAAakgAAAAAZAAAAGpIAAAAAGPQAABj6AAAAABkAAAAakgAAAAAZAAAAGpIAAAAAGiAAABomAAAAABkMAAAaJgAAAAAZDAAAGiYAAAAAGiAAABkGAAAAABkMAAAaJgAAAAAaIAAAGRIAAAAAGiAAABkYAAAAABoCAAAaDgAAAAAZHgAAGowAAAAAG0AZ9hkkAAAZPBtAGfYZJAAAGTwbQBn2GSQAABk8G0AZ9hkqAAAZPBtAGfYZMAAAGTwbQBn2GTYAABk8GgIZYBoOGWYAABnSGWAaDhlmAAAZ0hlgGg4ZZgAAGdIZYBoOGWYAABnSGWAaDhlmAAAZ0hlgGg4ZZgAAGd4ZYBoOGWYAABlCGWAaDhlmAAAZQhlgGg4ZZgAAGUIZYBoOGWYAABlIGWAaDhlmAAAaAhlgGU4ZZgAAGdIZYBoOGWYAABnYGWAaDhlmAAAaAhlUGg4ZZgAAGdIZVBoOGWYAABoCGVQZThlmAAAZ0hlUGg4ZZgAAGdgZVBoOGWYAABneGVQaDhlmAAAZ0hlgGg4ZZgAAGdIZYBoOGWYAABneGWAaDhlmAAAaAhlgGg4ZZgAAGVoZYBoOGWYAABneGWAaDhlmAAAZbAAAGXIAAAAAGXgAABmKAAAAABmEAAAZigAAAAAZhAAAGYoAAAAAGX4AABmKAAAAABmEAAAZigAAAAAZkAAAGZYAAAAAGZwAABm6AAAAABmoAAAZugAAAAAZqAAAGboAAAAAGbQAABm6AAAAABmcAAAZogAAAAAZqAAAGboAAAAAGa4AABm6AAAAABm0AAAZugAAAAAZtAAAGboAAAAAGiwAABoyAAAaOBnAAAAaMgAAGjgZwAAAGjIAABo4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AtwC3QLeAuEC6wLsAu0C7gLvAvEC8gLzAvQC9QL2AvcDHgMfAyADIgMjAyQDJgAHAdwB6AHzAgkCEwIdAicABgHpAfQCCgIUAh4CKAAGAeoB9QILAhUCHwIpAAYB6wH2AgwCFgIgAioABgHsAfcCDQIXAiECKwAGAe0B+AIOAhgCIgIsAAYB7gH5Ag8CGQIjAi0ABgHvAfoCEAIaAiQCLgAGAfAB+wIRAhsCJQIvAAYB8QH8AhICHAImAjAABAHSAd0B8gH+AAQB0gHdAf0B/gADAdMB3gH/AAMB1AHfAgAAAwHVAeACAQADAdYB4QICAAMB1wHiAgMAAwHYAeMCBAADAdkB5AIFAAMB2gHlAgYAAwHbAeYCBwADAd0B6AIIAAIB3gHpAAIB3wHqAAIB4AHrAAIB4QHsAAIB4gHtAAIB4wHuAAIB5AHvAAIB5QHwAAIB5gHxAAICRwJIAAIDFQMeAAEAAgEpAToAAgACAuEC4wAAAuUC7AADAAIABQLKAsoAAALPAs8AAQLRAtcAAgLZAtkACQLbAuAACgACAAIAAQDgAAABzQHOAOAAAgAIASkBKQAAAToBOgABAsoC3gACAuEC4QAXAusC9wAYAx4DIAAlAyIDJAAoAyYDJgArAAIABgLKAt4AAQLhAuEAAQLrAvcAAQMeAyAAAQMiAyQAAQMmAyYAAQACAAIC+gMdAAEDJwMsAAEAAgISAiAAAgAGAsoC3gAAAuEC4QAVAusC9wAWAx4DIAAjAyIDJAAmAyYDJgApAAQCAAIGAgwCEgABAg4AAQIQAAECEgAEAhQCGgIgAiYAAQIiAAECJAABAiYABAIoAi4CNAI6AAQCNgI8AkICSAADAkQCSgJQAAMCTgJUAloAAQABASkAAQAEAJsApAF9AYYAAgAEAMgAywAAAM0AzQAEAM8A0AAFAaoBsgAHAAEACwAfAGgAcACZANIA/wFJAVIBewG0AvAAAgIQAiAAAQABAj4AAgACAUgBSAAAAdIB2wABAAEAAQJDAAEAAQIxAAIAAQITAhwAAAACAAECHQImAAAAAQACAAEA4QACAAEB0gHbAAAAAQACAG8BUQABAAQAAQBvAOEBUQABAc4AAgABAegB8QAAAAIAAgHzAfwAAAH+AgcACgACAAIB0gHbAAAB6AHxAAoAAgACAdIB2wAAAfMB/AAKAAIADgHoAfEAAAHzAfwACgH+AgcAFAI7AjsAHgI9Aj0AHwJIAkgAIAJPAlIAIQJVAlUAJQLKAt4AJgLhAuEAOwLrAvcAPAMeAyAASQMiAyQATAMmAyYATwAFAUABSAFQAVYBXAABAAUB0gHdAegB8wH+AAEABwJwAnECcgJ0AnkCfgKEAAIABgHSAdsAAAHoAfEACgHzAfwAFAH+AgcAHgI+Aj4AKALwAvAAKQAAAAEAAQABAAEAAAAGAAEAAQABAAAAAQAAAAcCzAACAtICzQACAtUCywACAtECzgACAtsC0AACAtsC2AACAtIC2gACAtsC/AACAwIC/QACAwUC+wACAwEC/gACAwsDAAACAwsDCAACAwIDCgACAwsDIwACAtIDJAACAtEDJQACAtwDJgACAtkDHwACAtIDIAACAtEDIQACAtwDIgACAtkDKgACAwIDKwACAwEDLAACAwkDJwACAwIDKAACAwEDKQACAwkAAQFAAAEAAQFAAAEAAAAPAAEAXQABAAEAXQABAAAAEALDAAMBUQI1AcYAAwEeASkBxwADAR4BQAHFAAIBHgHIAAIBKQHJAAIBQAABAAgCygLPAtcC2QL6Av8DBwMJAAEABALUAtYDBAMGAAEAAQBmAAEAAQEeAAEAAQAIAAMAAAAUAAMAAAAsAAJ3ZHRoAQEAAHdnaHQBAAABaXRhbAEaAAIABgASAB4AAQAAAAIBFwBkAAAAAQABAAABCgOEAAAAAwACAAIBGwAAAAAAAQAAAAA="},function(A,e,t){const n=t(447);A.exports=class{constructor(A,e){this._makeImage=A||(()=>new Image),this._makeCanvas=e||(()=>document.createElement("canvas")),this.stageWidth=480,this.stageHeight=360}setStageSize(A,e){this.stageWidth=A,this.stageHeight=e}resize(A,e,t){const n=this._makeCanvas();n.width=e,n.height=A.height;let i=n.getContext("2d");i.imageSmoothingEnabled=!1,i.drawImage(A,0,0,n.width,n.height);const r=this._makeCanvas();return r.width=e,r.height=t,i=r.getContext("2d"),i.imageSmoothingEnabled=!1,i.drawImage(n,0,0,r.width,r.height),r}convertResolution1Bitmap(A,e){const t=this._makeImage();t.src=A,t.onload=()=>{e(null,this.resize(t,2*t.width,2*t.height).toDataURL())},t.onerror=()=>{e("Image load failed")}}getResizedWidthHeight(A,e){const t=this.stageWidth,n=this.stageHeight;if(A<=t&&e<=n)return{width:2*A,height:2*e};if(A<=2*t&&e<=2*n)return{width:A,height:e};const i=A/e;return i>=t/n?{width:2*t,height:2*t/i}:{width:2*n*i,height:2*n}}importBitmap(A,e){let t=A;return A instanceof ArrayBuffer&&(t=this.convertBinaryToDataURI(A,e)),new Promise((A,e)=>{const n=this._makeImage();n.src=t,n.onload=()=>{const e=this.getResizedWidthHeight(n.width,n.height);if(e.width===n.width&&e.height===n.height)A(this.convertDataURIToBinary(t));else{const t=this.resize(n,e.width,e.height).toDataURL();A(this.convertDataURIToBinary(t))}},n.onerror=()=>{e("Image load failed")}})}convertDataURIToBinary(A){const e=A.indexOf(";base64,")+";base64,".length,t=A.substring(e),n=window.atob(t),i=n.length,r=new Uint8Array(new ArrayBuffer(i));for(let A=0;A<i;A++)r[A]=n.charCodeAt(A);return r}convertBinaryToDataURI(A,e){return"data:".concat(e,";base64,").concat(n.fromByteArray(new Uint8Array(A)))}}},function(A,e,t){"use strict";e.byteLength=function(A){return 3*A.length/4-B(A)},e.toByteArray=function(A){var e,t,n,s,o,a=A.length;s=B(A),o=new r(3*a/4-s),t=s>0?a-4:a;var c=0;for(e=0;e<t;e+=4)n=i[A.charCodeAt(e)]<<18|i[A.charCodeAt(e+1)]<<12|i[A.charCodeAt(e+2)]<<6|i[A.charCodeAt(e+3)],o[c++]=n>>16&255,o[c++]=n>>8&255,o[c++]=255&n;2===s?(n=i[A.charCodeAt(e)]<<2|i[A.charCodeAt(e+1)]>>4,o[c++]=255&n):1===s&&(n=i[A.charCodeAt(e)]<<10|i[A.charCodeAt(e+1)]<<4|i[A.charCodeAt(e+2)]>>2,o[c++]=n>>8&255,o[c++]=255&n);return o},e.fromByteArray=function(A){for(var e,t=A.length,i=t%3,r="",s=[],o=0,a=t-i;o<a;o+=16383)s.push(c(A,o,o+16383>a?a:o+16383));1===i?(e=A[t-1],r+=n[e>>2],r+=n[e<<4&63],r+="=="):2===i&&(e=(A[t-2]<<8)+A[t-1],r+=n[e>>10],r+=n[e>>4&63],r+=n[e<<2&63],r+="=");return s.push(r),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o<a;++o)n[o]=s[o],i[s.charCodeAt(o)]=o;function B(A){var e=A.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===A[e-2]?2:"="===A[e-1]?1:0}function c(A,e,t){for(var i,r,s=[],o=e;o<t;o+=3)i=(A[o]<<16)+(A[o+1]<<8)+A[o+2],s.push(n[(r=i)>>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(A,e,t){const n=t(125),{generate:i,parse:r,walk:s}=t(449),o=t(123),a={};let B,c;if(o.addHook("beforeSanitizeAttributes",A=>{if(A&&A.href&&A.href.baseVal){const e=A.href.baseVal.replace(/\s/g,"");"data:"!==e.slice(0,5)&&"#"!==e.slice(0,1)&&(A.attributes.getNamedItem("xlink:href")&&(A.attributes.removeNamedItem("xlink:href"),delete A["xlink:href"]),A.attributes.getNamedItem("href")&&(A.attributes.removeNamedItem("href"),delete A.href))}return A}),o.addHook("uponSanitizeElement",(A,e)=>{if("style"===e.tagName){const e=r(A.textContent);let t=!1;s(e,(A,e,n)=>{"Atrule"===A.type&&"import"===A.name&&(n.remove(e),t=!0)}),t&&(A.textContent=i(e))}}),"undefined"==typeof TextDecoder||"undefined"==typeof TextEncoder){const A=t(69);B=A.TextDecoder,c=A.TextEncoder}else B=TextDecoder,c=TextEncoder;a.sanitizeByteStream=function(A){const e=new B,t=new c,n=a.sanitizeSvgText(e.decode(A));return t.encode(n)};const g="<!".concat("-".repeat(2)),Q="".concat("-".repeat(2),">"),E=new RegExp("".concat(g,"rotationCenter:(-?[\\d\\.]+):(-?[\\d\\.]+)").concat(Q,"$"));a.sanitizeSvgText=function(A){let e=o.sanitize(A,{USE_PROFILES:{svg:!0}});e.indexOf("]&gt;")>=0&&(e=e.substring(5,e.length)),e=n(e);const t=A.match(E);return t&&(e+=t[0]),e},A.exports=a},function(A,e,t){A.exports=t(450)},function(A,e,t){A.exports=t(451).create(function(){for(var A={},e=0;e<arguments.length;e++){var t=arguments[e];for(var n in t)A[n]=t[n]}return A}(t(477),t(522),t(546))),A.exports.version=t(547).version},function(A,e,t){var n=t(39),i=t(128),r=t(62),s=t(452),o=t(462),a=t(4),B=t(463),c=t(466),g=t(473),Q=t(474),E=t(475),l=t(85),u=t(476);e.create=function(A){return function A(e){var t=B(e),w=Q(e),h=c(e),C=g(w),d={List:n,SyntaxError:i,TokenStream:r,Lexer:s,vendorPrefix:l.vendorPrefix,keyword:l.keyword,property:l.property,isCustomProperty:l.isCustomProperty,definitionSyntax:o,lexer:null,createLexer:function(A){return new s(A,d,d.lexer.structure)},tokenize:a,parse:t,walk:w,generate:h,find:w.find,findLast:w.findLast,findAll:w.findAll,clone:E,fromPlainObject:C.fromPlainObject,toPlainObject:C.toPlainObject,createSyntax:function(e){return A(u({},e))},fork:function(t){var n=u({},e);return A("function"==typeof t?t(n,Object.assign):u(n,t))}};return d.lexer=new s({generic:!0,types:e.types,atrules:e.atrules,properties:e.properties,node:e.node},d),d}(u({},A))}},function(A,e,t){var n=t(130).SyntaxReferenceError,i=t(130).SyntaxMatchError,r=t(85),s=t(453),o=t(86),a=t(84),B=t(133),c=t(457),g=t(134).buildMatchGraph,Q=t(458).matchAsTree,E=t(459),l=t(460),u=t(461).getStructureFromConfig,w=g("inherit | initial | unset"),h=g("inherit | initial | unset | <-ms-legacy-expression>");function C(A,e,t){var n={};for(var i in A)A[i].syntax&&(n[i]=t?A[i].syntax:a(A[i].syntax,{compact:e}));return n}function d(A,e,t){const n={};for(const[i,r]of Object.entries(A))n[i]={prelude:r.prelude&&(t?r.prelude.syntax:a(r.prelude.syntax,{compact:e})),descriptors:r.descriptors&&C(r.descriptors,e,t)};return n}function I(A,e,t){return{matched:A,iterations:t,error:e,getTrace:E.getTrace,isType:E.isType,isProperty:E.isProperty,isKeyword:E.isKeyword}}function M(A,e,t,n){var r,s=c(t,A.syntax);return function(A){for(var e=0;e<A.length;e++)if("var("===A[e].value.toLowerCase())return!0;return!1}(s)?I(null,new Error("Matching for a tree with var() is not supported")):(n&&(r=Q(s,A.valueCommonSyntax,A)),n&&r.match||(r=Q(s,e.match,A)).match?I(r.match,null,r.iterations):I(null,new i(r.reason,e.syntax,t,r),r.iterations))}var p=function(A,e,t){if(this.valueCommonSyntax=w,this.syntax=e,this.generic=!1,this.atrules={},this.properties={},this.types={},this.structure=t||u(A),A){if(A.types)for(var n in A.types)this.addType_(n,A.types[n]);if(A.generic)for(var n in this.generic=!0,s)this.addType_(n,s[n]);if(A.atrules)for(var n in A.atrules)this.addAtrule_(n,A.atrules[n]);if(A.properties)for(var n in A.properties)this.addProperty_(n,A.properties[n])}};p.prototype={structure:{},checkStructure:function(A){function e(A,e){n.push({node:A,message:e})}var t=this.structure,n=[];return this.syntax.walk(A,(function(A){t.hasOwnProperty(A.type)?t[A.type].check(A,e):e(A,"Unknown node type `"+A.type+"`")})),!!n.length&&n},createDescriptor:function(A,e,t,n=null){var i={type:e,name:t},r={type:e,name:t,parent:n,syntax:null,match:null};return"function"==typeof A?r.match=g(A,i):("string"==typeof A?Object.defineProperty(r,"syntax",{get:function(){return Object.defineProperty(r,"syntax",{value:o(A)}),r.syntax}}):r.syntax=A,Object.defineProperty(r,"match",{get:function(){return Object.defineProperty(r,"match",{value:g(r.syntax,i)}),r.match}})),r},addAtrule_:function(A,e){e&&(this.atrules[A]={type:"Atrule",name:A,prelude:e.prelude?this.createDescriptor(e.prelude,"AtrulePrelude",A):null,descriptors:e.descriptors?Object.keys(e.descriptors).reduce((t,n)=>(t[n]=this.createDescriptor(e.descriptors[n],"AtruleDescriptor",n,A),t),{}):null})},addProperty_:function(A,e){e&&(this.properties[A]=this.createDescriptor(e,"Property",A))},addType_:function(A,e){e&&(this.types[A]=this.createDescriptor(e,"Type",A),e===s["-ms-legacy-expression"]&&(this.valueCommonSyntax=h))},checkAtruleName:function(A){if(!this.getAtrule(A))return new n("Unknown at-rule","@"+A)},checkAtrulePrelude:function(A,e){let t=this.checkAtruleName(A);if(t)return t;var n=this.getAtrule(A);return!n.prelude&&e?new SyntaxError("At-rule `@"+A+"` should not contain a prelude"):n.prelude&&!e?new SyntaxError("At-rule `@"+A+"` should contain a prelude"):void 0},checkAtruleDescriptorName:function(A,e){let t=this.checkAtruleName(A);if(t)return t;var i=this.getAtrule(A),s=r.keyword(e);return i.descriptors?i.descriptors[s.name]||i.descriptors[s.basename]?void 0:new n("Unknown at-rule descriptor",e):new SyntaxError("At-rule `@"+A+"` has no known descriptors")},checkPropertyName:function(A){return r.property(A).custom?new Error("Lexer matching doesn't applicable for custom properties"):this.getProperty(A)?void 0:new n("Unknown property",A)},matchAtrulePrelude:function(A,e){var t=this.checkAtrulePrelude(A,e);return t?I(null,t):e?M(this,this.getAtrule(A).prelude,e,!1):I(null,null)},matchAtruleDescriptor:function(A,e,t){var n=this.checkAtruleDescriptorName(A,e);if(n)return I(null,n);var i=this.getAtrule(A),s=r.keyword(e);return M(this,i.descriptors[s.name]||i.descriptors[s.basename],t,!1)},matchDeclaration:function(A){return"Declaration"!==A.type?I(null,new Error("Not a Declaration node")):this.matchProperty(A.property,A.value)},matchProperty:function(A,e){var t=this.checkPropertyName(A);return t?I(null,t):M(this,this.getProperty(A),e,!0)},matchType:function(A,e){var t=this.getType(A);return t?M(this,t,e,!1):I(null,new n("Unknown type",A))},match:function(A,e){return"string"==typeof A||A&&A.type?("string"!=typeof A&&A.match||(A=this.createDescriptor(A,"Type","anonymous")),M(this,A,e,!1)):I(null,new n("Bad syntax"))},findValueFragments:function(A,e,t,n){return l.matchFragments(this,e,this.matchProperty(A,e),t,n)},findDeclarationValueFragments:function(A,e,t){return l.matchFragments(this,A.value,this.matchDeclaration(A),e,t)},findAllFragments:function(A,e,t){var n=[];return this.syntax.walk(A,{visit:"Declaration",enter:function(A){n.push.apply(n,this.findDeclarationValueFragments(A,e,t))}.bind(this)}),n},getAtrule:function(A,e=!0){var t=r.keyword(A);return(t.vendor&&e?this.atrules[t.name]||this.atrules[t.basename]:this.atrules[t.name])||null},getAtrulePrelude:function(A,e=!0){const t=this.getAtrule(A,e);return t&&t.prelude||null},getAtruleDescriptor:function(A,e){return this.atrules.hasOwnProperty(A)&&this.atrules.declarators&&this.atrules[A].declarators[e]||null},getProperty:function(A,e=!0){var t=r.property(A);return(t.vendor&&e?this.properties[t.name]||this.properties[t.basename]:this.properties[t.name])||null},getType:function(A){return this.types.hasOwnProperty(A)?this.types[A]:null},validate:function(){function A(n,i,r,s){if(r.hasOwnProperty(i))return r[i];r[i]=!1,null!==s.syntax&&B(s.syntax,(function(s){if("Type"===s.type||"Property"===s.type){var o="Type"===s.type?n.types:n.properties,a="Type"===s.type?e:t;o.hasOwnProperty(s.name)&&!A(n,s.name,a,o[s.name])||(r[i]=!0)}}),this)}var e={},t={};for(var n in this.types)A(this,n,e,this.types[n]);for(var n in this.properties)A(this,n,t,this.properties[n]);return e=Object.keys(e).filter((function(A){return e[A]})),t=Object.keys(t).filter((function(A){return t[A]})),e.length||t.length?{types:e,properties:t}:null},dump:function(A,e){return{generic:this.generic,types:C(this.types,!e,A),properties:C(this.properties,!e,A),atrules:d(this.atrules,!e,A)}},toString:function(){return JSON.stringify(this.dump())}},A.exports=p},function(A,e,t){var n,i=t(4),r=i.isIdentifierStart,s=i.isHexDigit,o=i.isDigit,a=i.cmpStr,B=i.consumeNumber,c=i.TYPE,g=t(454),Q=t(455),E=["unset","initial","inherit"],l=["calc(","-moz-calc(","-webkit-calc("];function u(A,e){return e<A.length?A.charCodeAt(e):0}function w(A,e){return a(A,0,A.length,e)}function h(A,e){for(var t=0;t<e.length;t++)if(w(A,e[t]))return!0;return!1}function C(A,e){return e===A.length-2&&(92===A.charCodeAt(e)&&o(A.charCodeAt(e+1)))}function d(A,e,t){if(A&&"Range"===A.type){var n=Number(void 0!==t&&t!==e.length?e.substr(0,t):e);if(isNaN(n))return!0;if(null!==A.min&&n<A.min)return!0;if(null!==A.max&&n>A.max)return!0}return!1}function I(A,e){var t=A.index,n=0;do{if(n++,A.balance<=t)break}while(A=e(n));return n}function M(A){return function(e,t,n){return null===e?0:e.type===c.Function&&h(e.value,l)?I(e,t):A(e,t,n)}}function p(A){return function(e){return null===e||e.type!==A?0:1}}function m(A){return function(e,t,n){if(null===e||e.type!==c.Dimension)return 0;var i=B(e.value,0);if(null!==A){var r=e.value.indexOf("\\",i),s=-1!==r&&C(e.value,r)?e.value.substring(i,r):e.value.substr(i);if(!1===A.hasOwnProperty(s.toLowerCase()))return 0}return d(n,e.value,i)?0:1}}function F(A){return"function"!=typeof A&&(A=function(){return 0}),function(e,t,n){return null!==e&&e.type===c.Number&&0===Number(e.value)?1:A(e,t,n)}}A.exports={"ident-token":p(c.Ident),"function-token":p(c.Function),"at-keyword-token":p(c.AtKeyword),"hash-token":p(c.Hash),"string-token":p(c.String),"bad-string-token":p(c.BadString),"url-token":p(c.Url),"bad-url-token":p(c.BadUrl),"delim-token":p(c.Delim),"number-token":p(c.Number),"percentage-token":p(c.Percentage),"dimension-token":p(c.Dimension),"whitespace-token":p(c.WhiteSpace),"CDO-token":p(c.CDO),"CDC-token":p(c.CDC),"colon-token":p(c.Colon),"semicolon-token":p(c.Semicolon),"comma-token":p(c.Comma),"[-token":p(c.LeftSquareBracket),"]-token":p(c.RightSquareBracket),"(-token":p(c.LeftParenthesis),")-token":p(c.RightParenthesis),"{-token":p(c.LeftCurlyBracket),"}-token":p(c.RightCurlyBracket),string:p(c.String),ident:p(c.Ident),"custom-ident":function(A){if(null===A||A.type!==c.Ident)return 0;var e=A.value.toLowerCase();return h(e,E)||w(e,"default")?0:1},"custom-property-name":function(A){return null===A||A.type!==c.Ident||45!==u(A.value,0)||45!==u(A.value,1)?0:1},"hex-color":function(A){if(null===A||A.type!==c.Hash)return 0;var e=A.value.length;if(4!==e&&5!==e&&7!==e&&9!==e)return 0;for(var t=1;t<e;t++)if(!s(A.value.charCodeAt(t)))return 0;return 1},"id-selector":function(A){return null===A||A.type!==c.Hash?0:r(u(A.value,1),u(A.value,2),u(A.value,3))?1:0},"an-plus-b":g,urange:Q,"declaration-value":function(A,e){if(!A)return 0;var t=0,n=0,i=A.index;A:do{switch(A.type){case c.BadString:case c.BadUrl:break A;case c.RightCurlyBracket:case c.RightParenthesis:case c.RightSquareBracket:if(A.balance>A.index||A.balance<i)break A;n--;break;case c.Semicolon:if(0===n)break A;break;case c.Delim:if("!"===A.value&&0===n)break A;break;case c.Function:case c.LeftParenthesis:case c.LeftSquareBracket:case c.LeftCurlyBracket:n++}if(t++,A.balance<=i)break}while(A=e(t));return t},"any-value":function(A,e){if(!A)return 0;var t=A.index,n=0;A:do{switch(A.type){case c.BadString:case c.BadUrl:break A;case c.RightCurlyBracket:case c.RightParenthesis:case c.RightSquareBracket:if(A.balance>A.index||A.balance<t)break A}if(n++,A.balance<=t)break}while(A=e(n));return n},dimension:M(m(null)),angle:M(m({deg:!0,grad:!0,rad:!0,turn:!0})),decibel:M(m({db:!0})),frequency:M(m({hz:!0,khz:!0})),flex:M(m({fr:!0})),length:M(F(m({px:!0,mm:!0,cm:!0,in:!0,pt:!0,pc:!0,q:!0,em:!0,ex:!0,ch:!0,rem:!0,vh:!0,vw:!0,vmin:!0,vmax:!0,vm:!0}))),resolution:M(m({dpi:!0,dpcm:!0,dppx:!0,x:!0})),semitones:M(m({st:!0})),time:M(m({s:!0,ms:!0})),percentage:M((function(A,e,t){return null===A||A.type!==c.Percentage||d(t,A.value,A.value.length-1)?0:1})),zero:F(),number:M((function(A,e,t){if(null===A)return 0;var n=B(A.value,0);return n===A.value.length||C(A.value,n)?d(t,A.value,n)?0:1:0})),integer:M((function(A,e,t){if(null===A||A.type!==c.Number)return 0;for(var n=43===A.value.charCodeAt(0)||45===A.value.charCodeAt(0)?1:0;n<A.value.length;n++)if(!o(A.value.charCodeAt(n)))return 0;return d(t,A.value,n)?0:1})),"-ms-legacy-expression":(n="expression",n+="(",function(A,e){return null!==A&&w(A.value,n)?I(A,e):0})}},function(A,e,t){var n=t(4).isDigit,i=t(4).cmpChar,r=t(4).TYPE,s=r.Delim,o=r.WhiteSpace,a=r.Comment,B=r.Ident,c=r.Number,g=r.Dimension;function Q(A,e){return null!==A&&A.type===s&&A.value.charCodeAt(0)===e}function E(A,e,t){for(;null!==A&&(A.type===o||A.type===a);)A=t(++e);return e}function l(A,e,t,i){if(!A)return 0;var r=A.value.charCodeAt(e);if(43===r||45===r){if(t)return 0;e++}for(;e<A.value.length;e++)if(!n(A.value.charCodeAt(e)))return 0;return i+1}function u(A,e,t){var n=!1,i=E(A,e,t);if(null===(A=t(i)))return e;if(A.type!==c){if(!Q(A,43)&&!Q(A,45))return e;if(n=!0,i=E(t(++i),i,t),null===(A=t(i))&&A.type!==c)return 0}if(!n){var r=A.value.charCodeAt(0);if(43!==r&&45!==r)return 0}return l(A,n?0:1,n,i)}A.exports=function(A,e){var t=0;if(!A)return 0;if(A.type===c)return l(A,0,!1,t);if(A.type===B&&45===A.value.charCodeAt(0)){if(!i(A.value,1,110))return 0;switch(A.value.length){case 2:return u(e(++t),t,e);case 3:return 45!==A.value.charCodeAt(2)?0:(t=E(e(++t),t,e),l(A=e(t),0,!0,t));default:return 45!==A.value.charCodeAt(2)?0:l(A,3,!0,t)}}else if(A.type===B||Q(A,43)&&e(t+1).type===B){if(A.type!==B&&(A=e(++t)),null===A||!i(A.value,0,110))return 0;switch(A.value.length){case 1:return u(e(++t),t,e);case 2:return 45!==A.value.charCodeAt(1)?0:(t=E(e(++t),t,e),l(A=e(t),0,!0,t));default:return 45!==A.value.charCodeAt(1)?0:l(A,2,!0,t)}}else if(A.type===g){for(var r=A.value.charCodeAt(0),s=43===r||45===r?1:0,o=s;o<A.value.length&&n(A.value.charCodeAt(o));o++);return o===s?0:i(A.value,o,110)?o+1===A.value.length?u(e(++t),t,e):45!==A.value.charCodeAt(o+1)?0:o+2===A.value.length?(t=E(e(++t),t,e),l(A=e(t),0,!0,t)):l(A,o+2,!0,t):0}return 0}},function(A,e,t){var n=t(4).isHexDigit,i=t(4).cmpChar,r=t(4).TYPE,s=r.Ident,o=r.Delim,a=r.Number,B=r.Dimension;function c(A,e){return null!==A&&A.type===o&&A.value.charCodeAt(0)===e}function g(A,e){return A.value.charCodeAt(0)===e}function Q(A,e,t){for(var i=e,r=0;i<A.value.length;i++){var s=A.value.charCodeAt(i);if(45===s&&t&&0!==r)return Q(A,e+r+1,!1)>0?6:0;if(!n(s))return 0;if(++r>6)return 0}return r}function E(A,e,t){if(!A)return 0;for(;c(t(e),63);){if(++A>6)return 0;e++}return e}A.exports=function(A,e){var t=0;if(null===A||A.type!==s||!i(A.value,0,117))return 0;if(null===(A=e(++t)))return 0;if(c(A,43))return null===(A=e(++t))?0:A.type===s?E(Q(A,0,!0),++t,e):c(A,63)?E(1,++t,e):0;if(A.type===a){if(!g(A,43))return 0;var n=Q(A,1,!0);return 0===n?0:null===(A=e(++t))?t:A.type===B||A.type===a?g(A,45)&&Q(A,1,!1)?t+1:0:E(n,t,e)}return A.type===B&&g(A,43)?E(Q(A,1,!0),++t,e):0}},function(A,e,t){var n=t(132),i=function(A){this.str=A,this.pos=0};i.prototype={charCodeAt:function(A){return A<this.str.length?this.str.charCodeAt(A):0},charCode:function(){return this.charCodeAt(this.pos)},nextCharCode:function(){return this.charCodeAt(this.pos+1)},nextNonWsCode:function(A){return this.charCodeAt(this.findWsEnd(A))},findWsEnd:function(A){for(;A<this.str.length;A++){var e=this.str.charCodeAt(A);if(13!==e&&10!==e&&12!==e&&32!==e&&9!==e)break}return A},substringToPos:function(A){return this.str.substring(this.pos,this.pos=A)},eat:function(A){this.charCode()!==A&&this.error("Expect `"+String.fromCharCode(A)+"`"),this.pos++},peek:function(){return this.pos<this.str.length?this.str.charAt(this.pos++):""},error:function(A){throw new n(A,this.str,this.pos)}},A.exports=i},function(A,e,t){var n=t(4),i=new(t(62)),r={decorator:function(A){var e=null,t={len:0,node:null},n=[t],i="";return{children:A.children,node:function(t){var n=e;e=t,A.node.call(this,t),e=n},chunk:function(A){i+=A,t.node!==e?n.push({len:A.length,node:e}):t.len+=A.length},result:function(){return s(i,n)}}}};function s(A,e){var t=[],r=0,s=0,o=e?e[s].node:null;for(n(A,i);!i.eof;){if(e)for(;s<e.length&&r+e[s].len<=i.tokenStart;)r+=e[s++].len,o=e[s].node;t.push({type:i.tokenType,value:i.getTokenValue(),index:i.tokenIndex,balance:i.balance[i.tokenIndex],node:o}),i.next()}return t}A.exports=function(A,e){return"string"==typeof A?s(A,null):e.generate(A,r)}},function(A,e,t){var n=Object.prototype.hasOwnProperty,i=t(134),r=i.MATCH,s=i.MISMATCH,o=i.DISALLOW_EMPTY,a=t(63).TYPE,B=0;function c(A){for(var e=null,t=null,n=A;null!==n;)t=n.prev,n.prev=e,e=n,n=t;return e}function g(A,e){if(A.length!==e.length)return!1;for(var t=0;t<A.length;t++){var n=A.charCodeAt(t);if(n>=65&&n<=90&&(n|=32),n!==e.charCodeAt(t))return!1}return!0}function Q(A){return null===A||(A.type===a.Comma||A.type===a.Function||A.type===a.LeftParenthesis||A.type===a.LeftSquareBracket||A.type===a.LeftCurlyBracket||function(A){return A.type===a.Delim&&"?"!==A.value}(A))}function E(A){return null===A||(A.type===a.RightParenthesis||A.type===a.RightSquareBracket||A.type===a.RightCurlyBracket||A.type===a.Delim)}function l(A,e,t){function i(){do{Y++,D=Y<A.length?A[Y]:null}while(null!==D&&(D.type===a.WhiteSpace||D.type===a.Comment))}function c(e){var t=Y+e;return t<A.length?A[t]:null}function l(A,e){return{nextState:A,matchStack:N,syntaxStack:d,thenStack:I,tokenIndex:Y,prev:e}}function u(A){I={nextState:A,matchStack:N,syntaxStack:d,prev:I}}function w(A){M=l(A,M)}function h(){N={type:1,syntax:e.syntax,token:D,prev:N},i(),p=null,Y>f&&(f=Y)}function C(){N=2===N.type?N.prev:{type:3,syntax:d.syntax,token:N.token,prev:N},d=d.prev}var d=null,I=null,M=null,p=null,m=0,F=null,D=null,Y=-1,f=0,N={type:0,syntax:null,token:null,prev:null};for(i();null===F&&++m<15e3;)switch(e.type){case"Match":if(null===I){if(null!==D&&(Y!==A.length-1||"\\0"!==D.value&&"\\9"!==D.value)){e=s;break}F="Match";break}if((e=I.nextState)===o){if(I.matchStack===N){e=s;break}e=r}for(;I.syntaxStack!==d;)C();I=I.prev;break;case"Mismatch":if(null!==p&&!1!==p)(null===M||Y>M.tokenIndex)&&(M=p,p=!1);else if(null===M){F="Mismatch";break}e=M.nextState,I=M.thenStack,d=M.syntaxStack,N=M.matchStack,Y=M.tokenIndex,D=Y<A.length?A[Y]:null,M=M.prev;break;case"MatchGraph":e=e.match;break;case"If":e.else!==s&&w(e.else),e.then!==r&&u(e.then),e=e.match;break;case"MatchOnce":e={type:"MatchOnceBuffer",syntax:e,index:0,mask:0};break;case"MatchOnceBuffer":var U=e.syntax.terms;if(e.index===U.length){if(0===e.mask||e.syntax.all){e=s;break}e=r;break}if(e.mask===(1<<U.length)-1){e=r;break}for(;e.index<U.length;e.index++){var y=1<<e.index;if(0==(e.mask&y)){w(e),u({type:"AddMatchOnce",syntax:e.syntax,mask:e.mask|y}),e=U[e.index++];break}}break;case"AddMatchOnce":e={type:"MatchOnceBuffer",syntax:e.syntax,index:0,mask:e.mask};break;case"Enum":if(null!==D)if(-1!==(S=D.value.toLowerCase()).indexOf("\\")&&(S=S.replace(/\\[09].*$/,"")),n.call(e.map,S)){e=e.map[S];break}e=s;break;case"Generic":var x=null!==d?d.opts:null,T=Y+Math.floor(e.fn(D,c,x));if(!isNaN(T)&&T>Y){for(;Y<T;)h();e=r}else e=s;break;case"Type":case"Property":var R="Type"===e.type?"types":"properties",G=n.call(t,R)?t[R][e.name]:null;if(!G||!G.match)throw new Error("Bad syntax reference: "+("Type"===e.type?"<"+e.name+">":"<'"+e.name+"'>"));if(!1!==p&&null!==D&&"Type"===e.type)if("custom-ident"===e.name&&D.type===a.Ident||"length"===e.name&&"0"===D.value){null===p&&(p=l(e,M)),e=s;break}d={syntax:e.syntax,opts:e.syntax.opts||null!==d&&d.opts||null,prev:d},N={type:2,syntax:e.syntax,token:N.token,prev:N},e=G.match;break;case"Keyword":var S=e.name;if(null!==D){var H=D.value;if(-1!==H.indexOf("\\")&&(H=H.replace(/\\[09].*$/,"")),g(H,S)){h(),e=r;break}}e=s;break;case"AtKeyword":case"Function":if(null!==D&&g(D.value,e.name)){h(),e=r;break}e=s;break;case"Token":if(null!==D&&D.value===e.value){h(),e=r;break}e=s;break;case"Comma":null!==D&&D.type===a.Comma?Q(N.token)?e=s:(h(),e=E(D)?s:r):e=Q(N.token)||E(D)?r:s;break;case"String":var b="";for(T=Y;T<A.length&&b.length<e.value.length;T++)b+=A[T].value;if(g(b,e.value)){for(;Y<T;)h();e=r}else e=s;break;default:throw new Error("Unknown node type: "+e.type)}switch(B+=m,F){case null:console.warn("[csstree-match] BREAK after 15000 iterations"),F="Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)",N=null;break;case"Match":for(;null!==d;)C();break;default:N=null}return{tokens:A,reason:F,iterations:m,match:N,longestMatch:f}}A.exports={matchAsList:function(A,e,t){var n=l(A,e,t||{});if(null!==n.match){var i=c(n.match).prev;for(n.match=[];null!==i;){switch(i.type){case 0:break;case 2:case 3:n.match.push({type:i.type,syntax:i.syntax});break;default:n.match.push({token:i.token.value,node:i.token.node})}i=i.prev}}return n},matchAsTree:function(A,e,t){var n=l(A,e,t||{});if(null===n.match)return n;var i=n.match,r=n.match={syntax:e.syntax||null,match:[]},s=[r];for(i=c(i).prev;null!==i;){switch(i.type){case 2:r.match.push(r={syntax:i.syntax,match:[]}),s.push(r);break;case 3:s.pop(),r=s[s.length-1];break;default:r.match.push({syntax:i.syntax||null,token:i.token.value,node:i.token.node})}i=i.prev}return n},getTotalIterationCount:function(){return B}}},function(A,e){function t(A){function e(A){return null!==A&&("Type"===A.type||"Property"===A.type||"Keyword"===A.type)}var t=null;return null!==this.matched&&function n(i){if(Array.isArray(i.match)){for(var r=0;r<i.match.length;r++)if(n(i.match[r]))return e(i.syntax)&&t.unshift(i.syntax),!0}else if(i.node===A)return t=e(i.syntax)?[i.syntax]:[],!0;return!1}(this.matched),t}function n(A,e,n){var i=t.call(A,e);return null!==i&&i.some(n)}A.exports={getTrace:t,isType:function(A,e){return n(this,A,(function(A){return"Type"===A.type&&A.name===e}))},isProperty:function(A,e){return n(this,A,(function(A){return"Property"===A.type&&A.name===e}))},isKeyword:function(A){return n(this,A,(function(A){return"Keyword"===A.type}))}}},function(A,e,t){var n=t(39);A.exports={matchFragments:function(A,e,t,i,r){var s=[];return null!==t.matched&&function t(o){if(null!==o.syntax&&o.syntax.type===i&&o.syntax.name===r){var a=function A(e){return"node"in e?e.node:A(e.match[0])}(o),B=function A(e){return"node"in e?e.node:A(e.match[e.match.length-1])}(o);A.syntax.walk(e,(function(A,e,t){if(A===a){var i=new n;do{if(i.appendData(e.data),e.data===B)break;e=e.next}while(null!==e);s.push({parent:t,nodes:i})}}))}Array.isArray(o.match)&&o.match.forEach(t)}(t.matched),s}}},function(A,e,t){var n=t(39),i=Object.prototype.hasOwnProperty;function r(A){return"number"==typeof A&&isFinite(A)&&Math.floor(A)===A&&A>=0}function s(A){return Boolean(A)&&r(A.offset)&&r(A.line)&&r(A.column)}function o(A,e){return function(t,r){if(!t||t.constructor!==Object)return r(t,"Type of node should be an Object");for(var o in t){var a=!0;if(!1!==i.call(t,o)){if("type"===o)t.type!==A&&r(t,"Wrong node type `"+t.type+"`, expected `"+A+"`");else if("loc"===o){if(null===t.loc)continue;if(t.loc&&t.loc.constructor===Object)if("string"!=typeof t.loc.source)o+=".source";else if(s(t.loc.start)){if(s(t.loc.end))continue;o+=".end"}else o+=".start";a=!1}else if(e.hasOwnProperty(o)){var B=0;for(a=!1;!a&&B<e[o].length;B++){var c=e[o][B];switch(c){case String:a="string"==typeof t[o];break;case Boolean:a="boolean"==typeof t[o];break;case null:a=null===t[o];break;default:"string"==typeof c?a=t[o]&&t[o].type===c:Array.isArray(c)&&(a=t[o]instanceof n)}}}else r(t,"Unknown field `"+o+"` for "+A+" node type");a||r(t,"Bad value for `"+A+"."+o+"`")}}for(var o in e)i.call(e,o)&&!1===i.call(t,o)&&r(t,"Field `"+A+"."+o+"` is missed")}}function a(A,e){var t=e.structure,n={type:String,loc:!0},r={type:'"'+A+'"'};for(var s in t)if(!1!==i.call(t,s)){for(var a=[],B=n[s]=Array.isArray(t[s])?t[s].slice():[t[s]],c=0;c<B.length;c++){var g=B[c];if(g===String||g===Boolean)a.push(g.name);else if(null===g)a.push("null");else if("string"==typeof g)a.push("<"+g+">");else{if(!Array.isArray(g))throw new Error("Wrong value `"+g+"` in `"+A+"."+s+"` structure definition");a.push("List")}}r[s]=a.join(" | ")}return{docs:r,check:o(A,n)}}A.exports={getStructureFromConfig:function(A){var e={};if(A.node)for(var t in A.node)if(i.call(A.node,t)){var n=A.node[t];if(!n.structure)throw new Error("Missed `structure` field in `"+t+"` node type definition");e[t]=a(t,n)}return e}}},function(A,e,t){A.exports={SyntaxError:t(132),parse:t(86),generate:t(84),walk:t(133)}},function(A,e,t){var n=t(464),i=t(128),r=t(62),s=t(39),o=t(4),a=t(63),{findWhiteSpaceStart:B,cmpStr:c}=t(48),g=t(465),Q=function(){},E=a.TYPE,l=a.NAME,u=E.WhiteSpace,w=E.Comment,h=E.Ident,C=E.Function,d=E.Url,I=E.Hash,M=E.Percentage,p=E.Number;function m(A){return function(){return this[A]()}}A.exports=function(A){var e={scanner:new r,locationMap:new n,filename:"<unknown>",needPositions:!1,onParseError:Q,onParseErrorThrow:!1,parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:g,createList:function(){return new s},createSingleNodeList:function(A){return(new s).appendData(A)},getFirstListNode:function(A){return A&&A.first()},getLastListNode:function(A){return A.last()},parseWithFallback:function(A,e){var t=this.scanner.tokenIndex;try{return A.call(this)}catch(A){if(this.onParseErrorThrow)throw A;var n=e.call(this,t);return this.onParseErrorThrow=!0,this.onParseError(A,n),this.onParseErrorThrow=!1,n}},lookupNonWSType:function(A){do{var e=this.scanner.lookupType(A++);if(e!==u)return e}while(0!==e);return 0},eat:function(A){if(this.scanner.tokenType!==A){var e=this.scanner.tokenStart,t=l[A]+" is expected";switch(A){case h:this.scanner.tokenType===C||this.scanner.tokenType===d?(e=this.scanner.tokenEnd-1,t="Identifier is expected but function found"):t="Identifier is expected";break;case I:this.scanner.isDelim(35)&&(this.scanner.next(),e++,t="Name is expected");break;case M:this.scanner.tokenType===p&&(e=this.scanner.tokenEnd,t="Percent sign is expected");break;default:this.scanner.source.charCodeAt(this.scanner.tokenStart)===A&&(e+=1)}this.error(t,e)}this.scanner.next()},consume:function(A){var e=this.scanner.getTokenValue();return this.eat(A),e},consumeFunctionName:function(){var A=this.scanner.source.substring(this.scanner.tokenStart,this.scanner.tokenEnd-1);return this.eat(C),A},getLocation:function(A,e){return this.needPositions?this.locationMap.getLocationRange(A,e,this.filename):null},getLocationFromList:function(A){if(this.needPositions){var e=this.getFirstListNode(A),t=this.getLastListNode(A);return this.locationMap.getLocationRange(null!==e?e.loc.start.offset-this.locationMap.startOffset:this.scanner.tokenStart,null!==t?t.loc.end.offset-this.locationMap.startOffset:this.scanner.tokenStart,this.filename)}return null},error:function(A,e){var t=void 0!==e&&e<this.scanner.source.length?this.locationMap.getLocation(e):this.scanner.eof?this.locationMap.getLocation(B(this.scanner.source,this.scanner.source.length-1)):this.locationMap.getLocation(this.scanner.tokenStart);throw new i(A||"Unexpected input",this.scanner.source,t.offset,t.line,t.column)}};for(var t in A=function(A){var e={context:{},scope:{},atrule:{},pseudo:{}};if(A.parseContext)for(var t in A.parseContext)switch(typeof A.parseContext[t]){case"function":e.context[t]=A.parseContext[t];break;case"string":e.context[t]=m(A.parseContext[t])}if(A.scope)for(var t in A.scope)e.scope[t]=A.scope[t];if(A.atrule)for(var t in A.atrule){var n=A.atrule[t];n.parse&&(e.atrule[t]=n.parse)}if(A.pseudo)for(var t in A.pseudo){var i=A.pseudo[t];i.parse&&(e.pseudo[t]=i.parse)}if(A.node)for(var t in A.node)e[t]=A.node[t].parse;return e}(A||{}))e[t]=A[t];return function(A,t){var n,i=(t=t||{}).context||"default",r=t.onComment;if(o(A,e.scanner),e.locationMap.setSource(A,t.offset,t.line,t.column),e.filename=t.filename||"<unknown>",e.needPositions=Boolean(t.positions),e.onParseError="function"==typeof t.onParseError?t.onParseError:Q,e.onParseErrorThrow=!1,e.parseAtrulePrelude=!("parseAtrulePrelude"in t)||Boolean(t.parseAtrulePrelude),e.parseRulePrelude=!("parseRulePrelude"in t)||Boolean(t.parseRulePrelude),e.parseValue=!("parseValue"in t)||Boolean(t.parseValue),e.parseCustomProperty="parseCustomProperty"in t&&Boolean(t.parseCustomProperty),!e.context.hasOwnProperty(i))throw new Error("Unknown context `"+i+"`");return"function"==typeof r&&e.scanner.forEachToken((t,n,i)=>{if(t===w){const t=e.getLocation(n,i),s=c(A,i-2,i,"*/")?A.slice(n+2,i-2):A.slice(n+2,i);r(s,t)}}),n=e.context[i].call(e,t),e.scanner.eof||e.error(),n}}},function(A,e,t){var n=t(131),i=t(4).isBOM;var r=function(){this.lines=null,this.columns=null,this.linesAndColumnsComputed=!1};r.prototype={setSource:function(A,e,t,n){this.source=A,this.startOffset=void 0===e?0:e,this.startLine=void 0===t?1:t,this.startColumn=void 0===n?1:n,this.linesAndColumnsComputed=!1},ensureLinesAndColumnsComputed:function(){this.linesAndColumnsComputed||(!function(A,e){for(var t=e.length,r=n(A.lines,t),s=A.startLine,o=n(A.columns,t),a=A.startColumn,B=e.length>0?i(e.charCodeAt(0)):0;B<t;B++){var c=e.charCodeAt(B);r[B]=s,o[B]=a++,10!==c&&13!==c&&12!==c||(13===c&&B+1<t&&10===e.charCodeAt(B+1)&&(r[++B]=s,o[B]=a),s++,a=1)}r[B]=s,o[B]=a,A.lines=r,A.columns=o}(this,this.source),this.linesAndColumnsComputed=!0)},getLocation:function(A,e){return this.ensureLinesAndColumnsComputed(),{source:e,offset:this.startOffset+A,line:this.lines[A],column:this.columns[A]}},getLocationRange:function(A,e,t){return this.ensureLinesAndColumnsComputed(),{source:t,start:{offset:this.startOffset+A,line:this.lines[A],column:this.columns[A]},end:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}}},A.exports=r},function(A,e,t){var n=t(4).TYPE,i=n.WhiteSpace,r=n.Comment;A.exports=function(A){var e=this.createList(),t=null,n={recognizer:A,space:null,ignoreWS:!1,ignoreWSAfter:!1};for(this.scanner.skipSC();!this.scanner.eof;){switch(this.scanner.tokenType){case r:this.scanner.next();continue;case i:n.ignoreWS?this.scanner.next():n.space=this.WhiteSpace();continue}if(void 0===(t=A.getNode.call(this,n)))break;null!==n.space&&(e.push(n.space),n.space=null),e.push(t),n.ignoreWSAfter?(n.ignoreWSAfter=!1,n.ignoreWS=!0):n.ignoreWS=!1}return e}},function(A,e,t){var n=t(467),i=Object.prototype.hasOwnProperty;function r(A,e){var t=A.children,n=null;"function"!=typeof e?t.forEach(this.node,this):t.forEach((function(A){null!==n&&e.call(this,n),this.node(A),n=A}),this)}A.exports=function(A){function e(A){if(!i.call(t,A.type))throw new Error("Unknown node type: "+A.type);t[A.type].call(this,A)}var t={};if(A.node)for(var s in A.node)t[s]=A.node[s].generate;return function(A,t){var i="",s={children:r,node:e,chunk:function(A){i+=A},result:function(){return i}};return t&&("function"==typeof t.decorator&&(s=t.decorator(s)),t.sourceMap&&(s=n(s))),s.node(A),s.result()}}},function(A,e,t){var n=t(468).SourceMapGenerator,i={Atrule:!0,Selector:!0,Declaration:!0};A.exports=function(A){var e=new n,t=1,r=0,s={line:1,column:0},o={line:0,column:0},a=!1,B={line:1,column:0},c={generated:B},g=A.node;A.node=function(A){if(A.loc&&A.loc.start&&i.hasOwnProperty(A.type)){var n=A.loc.start.line,Q=A.loc.start.column-1;o.line===n&&o.column===Q||(o.line=n,o.column=Q,s.line=t,s.column=r,a&&(a=!1,s.line===B.line&&s.column===B.column||e.addMapping(c)),a=!0,e.addMapping({source:A.loc.source,original:o,generated:s}))}g.call(this,A),a&&i.hasOwnProperty(A.type)&&(B.line=t,B.column=r)};var Q=A.chunk;A.chunk=function(A){for(var e=0;e<A.length;e++)10===A.charCodeAt(e)?(t++,r=0):r++;Q(A)};var E=A.result;return A.result=function(){return a&&e.addMapping(c),{css:E(),map:e}},A}},function(A,e,t){var n=t(469),i=t(87),r=t(471).ArraySet,s=t(472).MappingList;function o(A){A||(A={}),this._file=i.getArg(A,"file",null),this._sourceRoot=i.getArg(A,"sourceRoot",null),this._skipValidation=i.getArg(A,"skipValidation",!1),this._sources=new r,this._names=new r,this._mappings=new s,this._sourcesContents=null}o.prototype._version=3,o.fromSourceMap=function(A){var e=A.sourceRoot,t=new o({file:A.file,sourceRoot:e});return A.eachMapping((function(A){var n={generated:{line:A.generatedLine,column:A.generatedColumn}};null!=A.source&&(n.source=A.source,null!=e&&(n.source=i.relative(e,n.source)),n.original={line:A.originalLine,column:A.originalColumn},null!=A.name&&(n.name=A.name)),t.addMapping(n)})),A.sources.forEach((function(n){var r=n;null!==e&&(r=i.relative(e,n)),t._sources.has(r)||t._sources.add(r);var s=A.sourceContentFor(n);null!=s&&t.setSourceContent(n,s)})),t},o.prototype.addMapping=function(A){var e=i.getArg(A,"generated"),t=i.getArg(A,"original",null),n=i.getArg(A,"source",null),r=i.getArg(A,"name",null);this._skipValidation||this._validateMapping(e,t,n,r),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=r&&(r=String(r),this._names.has(r)||this._names.add(r)),this._mappings.add({generatedLine:e.line,generatedColumn:e.column,originalLine:null!=t&&t.line,originalColumn:null!=t&&t.column,source:n,name:r})},o.prototype.setSourceContent=function(A,e){var t=A;null!=this._sourceRoot&&(t=i.relative(this._sourceRoot,t)),null!=e?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[i.toSetString(t)]=e):this._sourcesContents&&(delete this._sourcesContents[i.toSetString(t)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},o.prototype.applySourceMap=function(A,e,t){var n=e;if(null==e){if(null==A.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=A.file}var s=this._sourceRoot;null!=s&&(n=i.relative(s,n));var o=new r,a=new r;this._mappings.unsortedForEach((function(e){if(e.source===n&&null!=e.originalLine){var r=A.originalPositionFor({line:e.originalLine,column:e.originalColumn});null!=r.source&&(e.source=r.source,null!=t&&(e.source=i.join(t,e.source)),null!=s&&(e.source=i.relative(s,e.source)),e.originalLine=r.line,e.originalColumn=r.column,null!=r.name&&(e.name=r.name))}var B=e.source;null==B||o.has(B)||o.add(B);var c=e.name;null==c||a.has(c)||a.add(c)}),this),this._sources=o,this._names=a,A.sources.forEach((function(e){var n=A.sourceContentFor(e);null!=n&&(null!=t&&(e=i.join(t,e)),null!=s&&(e=i.relative(s,e)),this.setSourceContent(e,n))}),this)},o.prototype._validateMapping=function(A,e,t,n){if(e&&"number"!=typeof e.line&&"number"!=typeof e.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(A&&"line"in A&&"column"in A&&A.line>0&&A.column>=0)||e||t||n)&&!(A&&"line"in A&&"column"in A&&e&&"line"in e&&"column"in e&&A.line>0&&A.column>=0&&e.line>0&&e.column>=0&&t))throw new Error("Invalid mapping: "+JSON.stringify({generated:A,source:t,original:e,name:n}))},o.prototype._serializeMappings=function(){for(var A,e,t,r,s=0,o=1,a=0,B=0,c=0,g=0,Q="",E=this._mappings.toArray(),l=0,u=E.length;l<u;l++){if(A="",(e=E[l]).generatedLine!==o)for(s=0;e.generatedLine!==o;)A+=";",o++;else if(l>0){if(!i.compareByGeneratedPositionsInflated(e,E[l-1]))continue;A+=","}A+=n.encode(e.generatedColumn-s),s=e.generatedColumn,null!=e.source&&(r=this._sources.indexOf(e.source),A+=n.encode(r-g),g=r,A+=n.encode(e.originalLine-1-B),B=e.originalLine-1,A+=n.encode(e.originalColumn-a),a=e.originalColumn,null!=e.name&&(t=this._names.indexOf(e.name),A+=n.encode(t-c),c=t)),Q+=A}return Q},o.prototype._generateSourcesContent=function(A,e){return A.map((function(A){if(!this._sourcesContents)return null;null!=e&&(A=i.relative(e,A));var t=i.toSetString(A);return Object.prototype.hasOwnProperty.call(this._sourcesContents,t)?this._sourcesContents[t]:null}),this)},o.prototype.toJSON=function(){var A={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(A.file=this._file),null!=this._sourceRoot&&(A.sourceRoot=this._sourceRoot),this._sourcesContents&&(A.sourcesContent=this._generateSourcesContent(A.sources,A.sourceRoot)),A},o.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=o},function(A,e,t){var n=t(470);e.encode=function(A){var e,t="",i=function(A){return A<0?1+(-A<<1):0+(A<<1)}(A);do{e=31&i,(i>>>=5)>0&&(e|=32),t+=n.encode(e)}while(i>0);return t},e.decode=function(A,e,t){var i,r,s,o,a=A.length,B=0,c=0;do{if(e>=a)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(r=n.decode(A.charCodeAt(e++))))throw new Error("Invalid base64 digit: "+A.charAt(e-1));i=!!(32&r),B+=(r&=31)<<c,c+=5}while(i);t.value=(o=(s=B)>>1,1==(1&s)?-o:o),t.rest=e}},function(A,e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");e.encode=function(A){if(0<=A&&A<t.length)return t[A];throw new TypeError("Must be between 0 and 63: "+A)},e.decode=function(A){return 65<=A&&A<=90?A-65:97<=A&&A<=122?A-97+26:48<=A&&A<=57?A-48+52:43==A?62:47==A?63:-1}},function(A,e,t){var n=t(87),i=Object.prototype.hasOwnProperty,r="undefined"!=typeof Map;function s(){this._array=[],this._set=r?new Map:Object.create(null)}s.fromArray=function(A,e){for(var t=new s,n=0,i=A.length;n<i;n++)t.add(A[n],e);return t},s.prototype.size=function(){return r?this._set.size:Object.getOwnPropertyNames(this._set).length},s.prototype.add=function(A,e){var t=r?A:n.toSetString(A),s=r?this.has(A):i.call(this._set,t),o=this._array.length;s&&!e||this._array.push(A),s||(r?this._set.set(A,o):this._set[t]=o)},s.prototype.has=function(A){if(r)return this._set.has(A);var e=n.toSetString(A);return i.call(this._set,e)},s.prototype.indexOf=function(A){if(r){var e=this._set.get(A);if(e>=0)return e}else{var t=n.toSetString(A);if(i.call(this._set,t))return this._set[t]}throw new Error('"'+A+'" is not in the set.')},s.prototype.at=function(A){if(A>=0&&A<this._array.length)return this._array[A];throw new Error("No element indexed by "+A)},s.prototype.toArray=function(){return this._array.slice()},e.ArraySet=s},function(A,e,t){var n=t(87);function i(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}i.prototype.unsortedForEach=function(A,e){this._array.forEach(A,e)},i.prototype.add=function(A){var e,t,i,r,s,o;e=this._last,t=A,i=e.generatedLine,r=t.generatedLine,s=e.generatedColumn,o=t.generatedColumn,r>i||r==i&&o>=s||n.compareByGeneratedPositionsInflated(e,t)<=0?(this._last=A,this._array.push(A)):(this._sorted=!1,this._array.push(A))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(n.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},e.MappingList=i},function(A,e,t){var n=t(39);A.exports=function(A){return{fromPlainObject:function(e){return A(e,{enter:function(A){A.children&&A.children instanceof n==!1&&(A.children=(new n).fromArray(A.children))}}),e},toPlainObject:function(e){return A(e,{leave:function(A){A.children&&A.children instanceof n&&(A.children=A.children.toArray())}}),e}}}},function(A,e){var t=Object.prototype.hasOwnProperty,n=function(){};function i(A){return"function"==typeof A?A:n}function r(A,e){return function(t,n,i){t.type===e&&A.call(this,t,n,i)}}function s(A,e){var n=e.structure,i=[];for(var r in n)if(!1!==t.call(n,r)){var s=n[r],o={name:r,type:!1,nullable:!1};Array.isArray(n[r])||(s=[n[r]]);for(var a=0;a<s.length;a++){var B=s[a];null===B?o.nullable=!0:"string"==typeof B?o.type="node":Array.isArray(B)&&(o.type="list")}o.type&&i.push(o)}return i.length?{context:e.walkContext,fields:i}:null}function o(A,e){var t=A.fields.slice(),n=A.context,i="string"==typeof n;return e&&t.reverse(),function(A,r,s,o){var a;i&&(a=r[n],r[n]=A);for(var B=0;B<t.length;B++){var c=t[B],g=A[c.name];if(!c.nullable||g)if("list"===c.type){if(e?g.reduceRight(o,!1):g.reduce(o,!1))return!0}else if(s(g))return!0}i&&(r[n]=a)}}function a(A){return{Atrule:{StyleSheet:A.StyleSheet,Atrule:A.Atrule,Rule:A.Rule,Block:A.Block},Rule:{StyleSheet:A.StyleSheet,Atrule:A.Atrule,Rule:A.Rule,Block:A.Block},Declaration:{StyleSheet:A.StyleSheet,Atrule:A.Atrule,Rule:A.Rule,Block:A.Block,DeclarationList:A.DeclarationList}}}A.exports=function(A){var e=function(A){var e={};for(var n in A.node)if(t.call(A.node,n)){var i=A.node[n];if(!i.structure)throw new Error("Missed `structure` field in `"+n+"` node type definition");e[n]=s(0,i)}return e}(A),B={},c={},g=Symbol("break-walk"),Q=Symbol("skip-node");for(var E in e)t.call(e,E)&&null!==e[E]&&(B[E]=o(e[E],!1),c[E]=o(e[E],!0));var l=a(B),u=a(c),w=function(A,t){function s(A,e,t){var n=a.call(h,A,e,t);return n===g||n!==Q&&(!(!w.hasOwnProperty(A.type)||!w[A.type](A,h,s,o))||E.call(h,A,e,t)===g)}var o=(A,e,t,n)=>A||s(e,t,n),a=n,E=n,w=B,h={break:g,skip:Q,root:A,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if("function"==typeof t)a=t;else if(t&&(a=i(t.enter),E=i(t.leave),t.reverse&&(w=c),t.visit)){if(l.hasOwnProperty(t.visit))w=t.reverse?u[t.visit]:l[t.visit];else if(!e.hasOwnProperty(t.visit))throw new Error("Bad value `"+t.visit+"` for `visit` option (should be: "+Object.keys(e).join(", ")+")");a=r(a,t.visit),E=r(E,t.visit)}if(a===n&&E===n)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");s(A)};return w.break=g,w.skip=Q,w.find=function(A,e){var t=null;return w(A,(function(A,n,i){if(e.call(this,A,n,i))return t=A,g})),t},w.findLast=function(A,e){var t=null;return w(A,{reverse:!0,enter:function(A,n,i){if(e.call(this,A,n,i))return t=A,g}}),t},w.findAll=function(A,e){var t=[];return w(A,(function(A,n,i){e.call(this,A,n,i)&&t.push(A)})),t},w}},function(A,e,t){var n=t(39);A.exports=function A(e){var t={};for(var i in e){var r=e[i];r&&(Array.isArray(r)||r instanceof n?r=r.map(A):r.constructor===Object&&(r=A(r))),t[i]=r}return t}},function(A,e){const t=Object.prototype.hasOwnProperty,n={generic:!0,types:o,atrules:{prelude:a,descriptors:a},properties:o,parseContext:function(A,e){return Object.assign(A,e)},scope:function A(e,n){for(const s in n)t.call(n,s)&&(i(e[s])?A(e[s],r(n[s])):e[s]=r(n[s]));return e},atrule:["parse"],pseudo:["parse"],node:["name","structure","parse","generate","walkContext"]};function i(A){return A&&A.constructor===Object}function r(A){return i(A)?Object.assign({},A):A}function s(A,e){return"string"==typeof e&&/^\s*\|/.test(e)?"string"==typeof A?A+e:e.replace(/^\s*\|\s*/,""):e||null}function o(A,e){if("string"==typeof e)return s(A,e);const n=Object.assign({},A);for(let i in e)t.call(e,i)&&(n[i]=s(t.call(A,i)?A[i]:void 0,e[i]));return n}function a(A,e){const t=o(A,e);return!i(t)||Object.keys(t).length?t:null}A.exports=(A,e)=>function A(e,n,s){for(const o in s)if(!1!==t.call(s,o))if(!0===s[o])o in n&&t.call(n,o)&&(e[o]=r(n[o]));else if(s[o])if("function"==typeof s[o]){const A=s[o];e[o]=A({},e[o]),e[o]=A(e[o]||{},n[o])}else if(i(s[o])){const t={};for(let n in e[o])t[n]=A({},e[o][n],s[o]);for(let e in n[o])t[e]=A(t[e]||{},n[o][e],s[o]);e[o]=t}else if(Array.isArray(s[o])){const i={},r=s[o].reduce((function(A,e){return A[e]=!0,A}),{});for(const[t,n]of Object.entries(e[o]||{}))i[t]={},n&&A(i[t],n,r);for(const e in n[o])t.call(n[o],e)&&(i[e]||(i[e]={}),n[o]&&n[o][e]&&A(i[e],n[o][e],r));e[o]=i}return e}(A,e,n)},function(A,e,t){var n=t(478);A.exports={generic:!0,types:n.types,atrules:n.atrules,properties:n.properties,node:t(88)}},function(A,e,t){const n=t(479),i=t(480),r=t(481),s=t(482),o=/^\s*\|\s*/;function a(A,e){const t={};for(const e in A)t[e]=A[e].syntax||A[e];for(const n in e)n in A?e[n].syntax?t[n]=o.test(e[n].syntax)?t[n]+" "+e[n].syntax.trim():e[n].syntax:delete t[n]:e[n].syntax&&(t[n]=e[n].syntax.replace(o,""));return t}function B(A){const e={};for(const t in A)e[t]=A[t].syntax;return e}A.exports={types:a(r,s.syntaxes),atrules:function(A,e){const t={};for(const n in A){const i=e[n]&&e[n].descriptors||null;t[n]={prelude:n in e&&"prelude"in e[n]?e[n].prelude:A[n].prelude||null,descriptors:A[n].descriptors?a(A[n].descriptors,i||{}):i&&B(i)}}for(const n in e)hasOwnProperty.call(A,n)||(t[n]={prelude:e[n].prelude||null,descriptors:e[n].descriptors&&B(e[n].descriptors)});return t}(function(A){const e=Object.create(null);for(const t in A){const n=A[t];let i=null;if(n.descriptors){i=Object.create(null);for(const A in n.descriptors)i[A]=n.descriptors[A].syntax}e[t.substr(1)]={prelude:n.syntax.trim().match(/^@\S+\s+([^;\{]*)/)[1].trim()||null,descriptors:i}}return e}(n),s.atrules),properties:a(i,s.properties)}},function(A){A.exports=JSON.parse('{"@charset":{"syntax":"@charset \\"<charset>\\";","groups":["CSS Charsets"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@charset"},"@counter-style":{"syntax":"@counter-style <counter-style-name> {\\n [ system: <counter-system>; ] ||\\n [ symbols: <counter-symbols>; ] ||\\n [ additive-symbols: <additive-symbols>; ] ||\\n [ negative: <negative-symbol>; ] ||\\n [ prefix: <prefix>; ] ||\\n [ suffix: <suffix>; ] ||\\n [ range: <range>; ] ||\\n [ pad: <padding>; ] ||\\n [ speak-as: <speak-as>; ] ||\\n [ fallback: <counter-style-name>; ]\\n}","interfaces":["CSSCounterStyleRule"],"groups":["CSS Counter Styles"],"descriptors":{"additive-symbols":{"syntax":"[ <integer> && <symbol> ]#","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"fallback":{"syntax":"<counter-style-name>","media":"all","initial":"decimal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"negative":{"syntax":"<symbol> <symbol>?","media":"all","initial":"\\"-\\" hyphen-minus","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"pad":{"syntax":"<integer> && <symbol>","media":"all","initial":"0 \\"\\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"prefix":{"syntax":"<symbol>","media":"all","initial":"\\"\\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"range":{"syntax":"[ [ <integer> | infinite ]{2} ]# | auto","media":"all","initial":"auto","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"speak-as":{"syntax":"auto | bullets | numbers | words | spell-out | <counter-style-name>","media":"all","initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"suffix":{"syntax":"<symbol>","media":"all","initial":"\\". \\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"symbols":{"syntax":"<symbol>+","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"system":{"syntax":"cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]","media":"all","initial":"symbolic","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@counter-style"},"@document":{"syntax":"@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\\n <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule"],"groups":["CSS Conditional Rules"],"status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@document"},"@font-face":{"syntax":"@font-face {\\n [ font-family: <family-name>; ] ||\\n [ src: <src>; ] ||\\n [ unicode-range: <unicode-range>; ] ||\\n [ font-variant: <font-variant>; ] ||\\n [ font-feature-settings: <font-feature-settings>; ] ||\\n [ font-variation-settings: <font-variation-settings>; ] ||\\n [ font-stretch: <font-stretch>; ] ||\\n [ font-weight: <font-weight>; ] ||\\n [ font-style: <font-style>; ]\\n}","interfaces":["CSSFontFaceRule"],"groups":["CSS Fonts"],"descriptors":{"font-display":{"syntax":"[ auto | block | swap | fallback | optional ]","media":"visual","percentages":"no","initial":"auto","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"font-family":{"syntax":"<family-name>","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-feature-settings":{"syntax":"normal | <feature-tag-value>#","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"font-variation-settings":{"syntax":"normal | [ <string> <number> ]#","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"font-stretch":{"syntax":"<font-stretch-absolute>{1,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-style":{"syntax":"normal | italic | oblique <angle>{0,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-weight":{"syntax":"<font-weight-absolute>{1,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-variant":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"src":{"syntax":"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"unicode-range":{"syntax":"<unicode-range>#","media":"all","initial":"U+0-10FFFF","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@font-face"},"@font-feature-values":{"syntax":"@font-feature-values <family-name># {\\n <feature-value-block-list>\\n}","interfaces":["CSSFontFeatureValuesRule"],"groups":["CSS Fonts"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"},"@import":{"syntax":"@import [ <string> | <url> ] [ <media-query-list> ]?;","groups":["Media Queries"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@import"},"@keyframes":{"syntax":"@keyframes <keyframes-name> {\\n <keyframe-block-list>\\n}","interfaces":["CSSKeyframeRule","CSSKeyframesRule"],"groups":["CSS Animations"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@keyframes"},"@media":{"syntax":"@media <media-query-list> {\\n <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule","CSSMediaRule","CSSCustomMediaRule"],"groups":["CSS Conditional Rules","Media Queries"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@media"},"@namespace":{"syntax":"@namespace <namespace-prefix>? [ <string> | <url> ];","groups":["CSS Namespaces"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@namespace"},"@page":{"syntax":"@page <page-selector-list> {\\n <page-body>\\n}","interfaces":["CSSPageRule"],"groups":["CSS Pages"],"descriptors":{"bleed":{"syntax":"auto | <length>","media":["visual","paged"],"initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"marks":{"syntax":"none | [ crop || cross ]","media":["visual","paged"],"initial":"none","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"size":{"syntax":"<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]","media":["visual","paged"],"initial":"auto","percentages":"no","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"orderOfAppearance","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@page"},"@property":{"syntax":"@property <custom-property-name> {\\n <declaration-list>\\n}","interfaces":["CSS","CSSPropertyRule"],"groups":["CSS Houdini"],"descriptors":{"syntax":{"syntax":"<string>","media":"all","percentages":"no","initial":"n/a (required)","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"inherits":{"syntax":"true | false","media":"all","percentages":"no","initial":"auto","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"initial-value":{"syntax":"<string>","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"experimental"}},"status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@property"},"@supports":{"syntax":"@supports <supports-condition> {\\n <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule","CSSSupportsRule"],"groups":["CSS Conditional Rules"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@supports"},"@viewport":{"syntax":"@viewport {\\n <group-rule-body>\\n}","interfaces":["CSSViewportRule"],"groups":["CSS Device Adaptation"],"descriptors":{"height":{"syntax":"<viewport-length>{1,2}","media":["visual","continuous"],"initial":["min-height","max-height"],"percentages":["min-height","max-height"],"computed":["min-height","max-height"],"order":"orderOfAppearance","status":"standard"},"max-height":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToHeightOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"max-width":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToWidthOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"max-zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"},"min-height":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToHeightOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"min-width":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToWidthOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"min-zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"},"orientation":{"syntax":"auto | portrait | landscape","media":["visual","continuous"],"initial":"auto","percentages":"referToSizeOfBoundingBox","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"user-zoom":{"syntax":"zoom | fixed","media":["visual","continuous"],"initial":"zoom","percentages":"referToSizeOfBoundingBox","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"viewport-fit":{"syntax":"auto | contain | cover","media":["visual","continuous"],"initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"width":{"syntax":"<viewport-length>{1,2}","media":["visual","continuous"],"initial":["min-width","max-width"],"percentages":["min-width","max-width"],"computed":["min-width","max-width"],"order":"orderOfAppearance","status":"standard"},"zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@viewport"}}')},function(A){A.exports=JSON.parse('{"--*":{"syntax":"<declaration-value>","media":"all","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Variables"],"initial":"seeProse","appliesto":"allElements","computed":"asSpecifiedWithVarsSubstituted","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/--*"},"-ms-accelerator":{"syntax":"false | true","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"false","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator"},"-ms-block-progression":{"syntax":"tb | rl | bt | lr","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"tb","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression"},"-ms-content-zoom-chaining":{"syntax":"none | chained","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining"},"-ms-content-zooming":{"syntax":"none | zoom","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"zoomForTheTopLevelNoneForTheRest","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming"},"-ms-content-zoom-limit":{"syntax":"<\'-ms-content-zoom-limit-min\'> <\'-ms-content-zoom-limit-max\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"groups":["Microsoft Extensions"],"initial":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit"},"-ms-content-zoom-limit-max":{"syntax":"<percentage>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"maxZoomFactor","groups":["Microsoft Extensions"],"initial":"400%","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max"},"-ms-content-zoom-limit-min":{"syntax":"<percentage>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"minZoomFactor","groups":["Microsoft Extensions"],"initial":"100%","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min"},"-ms-content-zoom-snap":{"syntax":"<\'-ms-content-zoom-snap-type\'> || <\'-ms-content-zoom-snap-points\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-content-zoom-snap-type","-ms-content-zoom-snap-points"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-content-zoom-snap-type","-ms-content-zoom-snap-points"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap"},"-ms-content-zoom-snap-points":{"syntax":"snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0%, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points"},"-ms-content-zoom-snap-type":{"syntax":"none | proximity | mandatory","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type"},"-ms-filter":{"syntax":"<string>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"\\"\\"","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-filter"},"-ms-flow-from":{"syntax":"[ none | <custom-ident> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from"},"-ms-flow-into":{"syntax":"[ none | <custom-ident> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"iframeElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into"},"-ms-grid-columns":{"syntax":"none | <track-list> | <auto-track-list>","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-columns"},"-ms-grid-rows":{"syntax":"none | <track-list> | <auto-track-list>","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-rows"},"-ms-high-contrast-adjust":{"syntax":"auto | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust"},"-ms-hyphenate-limit-chars":{"syntax":"auto | <integer>{1,3}","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars"},"-ms-hyphenate-limit-lines":{"syntax":"no-limit | <integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"no-limit","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines"},"-ms-hyphenate-limit-zone":{"syntax":"<percentage> | <length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"referToLineBoxWidth","groups":["Microsoft Extensions"],"initial":"0","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone"},"-ms-ime-align":{"syntax":"auto | after","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align"},"-ms-overflow-style":{"syntax":"auto | none | scrollbar | -ms-autohiding-scrollbar","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style"},"-ms-scrollbar-3dlight-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color"},"-ms-scrollbar-arrow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ButtonText","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color"},"-ms-scrollbar-base-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color"},"-ms-scrollbar-darkshadow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDDarkShadow","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color"},"-ms-scrollbar-face-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDFace","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color"},"-ms-scrollbar-highlight-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDHighlight","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color"},"-ms-scrollbar-shadow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDDarkShadow","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color"},"-ms-scrollbar-track-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"Scrollbar","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color"},"-ms-scroll-chaining":{"syntax":"chained | none","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"chained","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining"},"-ms-scroll-limit":{"syntax":"<\'-ms-scroll-limit-x-min\'> <\'-ms-scroll-limit-y-min\'> <\'-ms-scroll-limit-x-max\'> <\'-ms-scroll-limit-y-max\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-limit-x-min","-ms-scroll-limit-y-min","-ms-scroll-limit-x-max","-ms-scroll-limit-y-max"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-limit-x-min","-ms-scroll-limit-y-min","-ms-scroll-limit-x-max","-ms-scroll-limit-y-max"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit"},"-ms-scroll-limit-x-max":{"syntax":"auto | <length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max"},"-ms-scroll-limit-x-min":{"syntax":"<length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min"},"-ms-scroll-limit-y-max":{"syntax":"auto | <length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max"},"-ms-scroll-limit-y-min":{"syntax":"<length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min"},"-ms-scroll-rails":{"syntax":"none | railed","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"railed","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails"},"-ms-scroll-snap-points-x":{"syntax":"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0px, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x"},"-ms-scroll-snap-points-y":{"syntax":"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0px, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y"},"-ms-scroll-snap-type":{"syntax":"none | proximity | mandatory","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type"},"-ms-scroll-snap-x":{"syntax":"<\'-ms-scroll-snap-type\'> <\'-ms-scroll-snap-points-x\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-snap-type","-ms-scroll-snap-points-x"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-snap-type","-ms-scroll-snap-points-x"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x"},"-ms-scroll-snap-y":{"syntax":"<\'-ms-scroll-snap-type\'> <\'-ms-scroll-snap-points-y\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-snap-type","-ms-scroll-snap-points-y"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-snap-type","-ms-scroll-snap-points-y"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y"},"-ms-scroll-translation":{"syntax":"none | vertical-to-horizontal","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation"},"-ms-text-autospace":{"syntax":"none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace"},"-ms-touch-select":{"syntax":"grippers | none","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"grippers","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select"},"-ms-user-select":{"syntax":"none | element | text","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"text","appliesto":"nonReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-user-select"},"-ms-wrap-flow":{"syntax":"auto | both | start | end | maximum | clear","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow"},"-ms-wrap-margin":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"exclusionElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin"},"-ms-wrap-through":{"syntax":"wrap | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"wrap","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through"},"-moz-appearance":{"syntax":"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"noneButOverriddenInUserAgentCSS","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"-moz-binding":{"syntax":"<url> | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElementsExceptGeneratedContentOrPseudoElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-binding"},"-moz-border-bottom-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors"},"-moz-border-left-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors"},"-moz-border-right-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors"},"-moz-border-top-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors"},"-moz-context-properties":{"syntax":"none | [ fill | fill-opacity | stroke | stroke-opacity ]#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElementsThatCanReferenceImages","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties"},"-moz-float-edge":{"syntax":"border-box | content-box | margin-box | padding-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"content-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"},"-moz-force-broken-image-icon":{"syntax":"<integer [0,1]>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"0","appliesto":"images","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"},"-moz-image-region":{"syntax":"<shape> | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"auto","appliesto":"xulImageElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"},"-moz-orient":{"syntax":"inline | block | horizontal | vertical","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"inline","appliesto":"anyElementEffectOnProgressAndMeter","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"},"-moz-outline-radius":{"syntax":"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?","media":"visual","inherited":false,"animationType":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"percentages":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"groups":["Mozilla Extensions"],"initial":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"appliesto":"allElements","computed":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius"},"-moz-outline-radius-bottomleft":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft"},"-moz-outline-radius-bottomright":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright"},"-moz-outline-radius-topleft":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft"},"-moz-outline-radius-topright":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright"},"-moz-stack-sizing":{"syntax":"ignore | stretch-to-fit","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"stretch-to-fit","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing"},"-moz-text-blink":{"syntax":"none | blink","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink"},"-moz-user-focus":{"syntax":"ignore | normal | select-after | select-before | select-menu | select-same | select-all | none","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus"},"-moz-user-input":{"syntax":"auto | none | enabled | disabled","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"},"-moz-user-modify":{"syntax":"read-only | read-write | write-only","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"read-only","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify"},"-moz-window-dragging":{"syntax":"drag | no-drag","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"drag","appliesto":"allElementsCreatingNativeWindows","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging"},"-moz-window-shadow":{"syntax":"default | menu | tooltip | sheet | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"default","appliesto":"allElementsCreatingNativeWindows","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow"},"-webkit-appearance":{"syntax":"none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"noneButOverriddenInUserAgentCSS","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"-webkit-border-before":{"syntax":"<\'border-width\'> || <\'border-style\'> || <\'color\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":["-webkit-border-before-width"],"groups":["WebKit Extensions"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","color"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before"},"-webkit-border-before-color":{"syntax":"<\'color\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard"},"-webkit-border-before-style":{"syntax":"<\'border-style\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard"},"-webkit-border-before-width":{"syntax":"<\'border-width\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["WebKit Extensions"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"nonstandard"},"-webkit-box-reflect":{"syntax":"[ above | below | right | left ]? <length>? <image>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect"},"-webkit-line-clamp":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["WebKit Extensions","CSS Overflow"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp"},"-webkit-mask":{"syntax":"[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":["-webkit-mask-image","-webkit-mask-repeat","-webkit-mask-attachment","-webkit-mask-position","-webkit-mask-origin","-webkit-mask-clip"],"appliesto":"allElements","computed":["-webkit-mask-image","-webkit-mask-repeat","-webkit-mask-attachment","-webkit-mask-position","-webkit-mask-origin","-webkit-mask-clip"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask"},"-webkit-mask-attachment":{"syntax":"<attachment>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"scroll","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment"},"-webkit-mask-clip":{"syntax":"[ <box> | border | padding | content | text ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"border","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-clip"},"-webkit-mask-composite":{"syntax":"<composite-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"source-over","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite"},"-webkit-mask-image":{"syntax":"<mask-reference>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"absoluteURIOrNone","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-image"},"-webkit-mask-origin":{"syntax":"[ <box> | border | padding | content ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"padding","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-origin"},"-webkit-mask-position":{"syntax":"<position>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0% 0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-position"},"-webkit-mask-position-x":{"syntax":"[ <length-percentage> | left | center | right ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x"},"-webkit-mask-position-y":{"syntax":"[ <length-percentage> | top | center | bottom ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y"},"-webkit-mask-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"},"-webkit-mask-repeat-x":{"syntax":"repeat | no-repeat | space | round","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x"},"-webkit-mask-repeat-y":{"syntax":"repeat | no-repeat | space | round","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y"},"-webkit-mask-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"relativeToBackgroundPositioningArea","groups":["WebKit Extensions"],"initial":"auto auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-size"},"-webkit-overflow-scrolling":{"syntax":"auto | touch","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling"},"-webkit-tap-highlight-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"black","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color"},"-webkit-text-fill-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color"},"-webkit-text-stroke":{"syntax":"<length> || <color>","media":"visual","inherited":true,"animationType":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"percentages":"no","groups":["WebKit Extensions"],"initial":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"appliesto":"allElements","computed":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"order":"canonicalOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke"},"-webkit-text-stroke-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color"},"-webkit-text-stroke-width":{"syntax":"<length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"0","appliesto":"allElements","computed":"absoluteLength","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width"},"-webkit-touch-callout":{"syntax":"default | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"default","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout"},"-webkit-user-modify":{"syntax":"read-only | read-write | read-write-plaintext-only","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"read-only","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard"},"align-content":{"syntax":"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multilineFlexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-content"},"align-items":{"syntax":"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-items"},"align-self":{"syntax":"auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"auto","appliesto":"flexItemsGridItemsAndAbsolutelyPositionedBoxes","computed":"autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-self"},"align-tracks":{"syntax":"[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"normal","appliesto":"gridContainersWithMasonryLayoutInTheirBlockAxis","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-tracks"},"all":{"syntax":"initial | inherit | unset | revert","media":"noPracticalMedia","inherited":false,"animationType":"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection","percentages":"no","groups":["CSS Miscellaneous"],"initial":"noPracticalInitialValue","appliesto":"allElements","computed":"asSpecifiedAppliesToEachProperty","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/all"},"animation":{"syntax":"<single-animation>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":["animation-name","animation-duration","animation-timing-function","animation-delay","animation-iteration-count","animation-direction","animation-fill-mode","animation-play-state"],"appliesto":"allElementsAndPseudos","computed":["animation-name","animation-duration","animation-timing-function","animation-delay","animation-direction","animation-iteration-count","animation-fill-mode","animation-play-state"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation"},"animation-delay":{"syntax":"<time>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-delay"},"animation-direction":{"syntax":"<single-animation-direction>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"normal","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-direction"},"animation-duration":{"syntax":"<time>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-duration"},"animation-fill-mode":{"syntax":"<single-animation-fill-mode>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"none","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode"},"animation-iteration-count":{"syntax":"<single-animation-iteration-count>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"1","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count"},"animation-name":{"syntax":"[ none | <keyframes-name> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"none","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-name"},"animation-play-state":{"syntax":"<single-animation-play-state>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"running","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-play-state"},"animation-timing-function":{"syntax":"<timing-function>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"ease","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-timing-function"},"appearance":{"syntax":"none | auto | textfield | menulist-button | <compat-auto>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"aspect-ratio":{"syntax":"auto | <ratio>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes","computed":"asSpecified","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/aspect-ratio"},"azimuth":{"syntax":"<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards","media":"aural","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Speech"],"initial":"center","appliesto":"allElements","computed":"normalizedAngle","order":"orderOfAppearance","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/azimuth"},"backdrop-filter":{"syntax":"none | <filter-function-list>","media":"visual","inherited":false,"animationType":"filterList","percentages":"no","groups":["Filter Effects"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/backdrop-filter"},"backface-visibility":{"syntax":"visible | hidden","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"visible","appliesto":"transformableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/backface-visibility"},"background":{"syntax":"[ <bg-layer> , ]* <final-bg-layer>","media":"visual","inherited":false,"animationType":["background-color","background-image","background-clip","background-position","background-size","background-repeat","background-attachment"],"percentages":["background-position","background-size"],"groups":["CSS Backgrounds and Borders"],"initial":["background-image","background-position","background-size","background-repeat","background-origin","background-clip","background-attachment","background-color"],"appliesto":"allElements","computed":["background-image","background-position","background-size","background-repeat","background-origin","background-clip","background-attachment","background-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background"},"background-attachment":{"syntax":"<attachment>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"scroll","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-attachment"},"background-blend-mode":{"syntax":"<blend-mode>#","media":"none","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"normal","appliesto":"allElementsSVGContainerGraphicsAndGraphicsReferencingElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-blend-mode"},"background-clip":{"syntax":"<box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"border-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-clip"},"background-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"transparent","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-color"},"background-image":{"syntax":"<bg-image>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-image"},"background-origin":{"syntax":"<box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"padding-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-origin"},"background-position":{"syntax":"<bg-position>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize","groups":["CSS Backgrounds and Borders"],"initial":"0% 0%","appliesto":"allElements","computed":"listEachItemTwoKeywordsOriginOffsets","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position"},"background-position-x":{"syntax":"[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight","groups":["CSS Backgrounds and Borders"],"initial":"left","appliesto":"allElements","computed":"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position-x"},"background-position-y":{"syntax":"[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight","groups":["CSS Backgrounds and Borders"],"initial":"top","appliesto":"allElements","computed":"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position-y"},"background-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"repeat","appliesto":"allElements","computed":"listEachItemHasTwoKeywordsOnePerDimension","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-repeat"},"background-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"relativeToBackgroundPositioningArea","groups":["CSS Backgrounds and Borders"],"initial":"auto auto","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-size"},"block-overflow":{"syntax":"clip | ellipsis | <string>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"clip","appliesto":"blockContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"block-size":{"syntax":"<\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"sameAsWidthAndHeight","computed":"sameAsWidthAndHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/block-size"},"border":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-color","border-style","border-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-width","border-style","border-color"],"appliesto":"allElements","computed":["border-width","border-style","border-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border"},"border-block":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block"},"border-block-color":{"syntax":"<\'border-top-color\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-color"},"border-block-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-style"},"border-block-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-width"},"border-block-end":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-block-end-color","border-block-end-style","border-block-end-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end"},"border-block-end-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-color"},"border-block-end-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-style"},"border-block-end-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-width"},"border-block-start":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-block-start-color","border-block-start-style","border-block-start-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-block-start-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start"},"border-block-start-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-color"},"border-block-start-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-style"},"border-block-start-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-width"},"border-bottom":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-bottom-color","border-bottom-style","border-bottom-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-bottom-width","border-bottom-style","border-bottom-color"],"appliesto":"allElements","computed":["border-bottom-width","border-bottom-style","border-bottom-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom"},"border-bottom-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-color"},"border-bottom-left-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius"},"border-bottom-right-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius"},"border-bottom-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-style"},"border-bottom-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderBottomStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-width"},"border-collapse":{"syntax":"collapse | separate","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"separate","appliesto":"tableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-collapse"},"border-color":{"syntax":"<color>{1,4}","media":"visual","inherited":false,"animationType":["border-bottom-color","border-left-color","border-right-color","border-top-color"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-color","border-right-color","border-bottom-color","border-left-color"],"appliesto":"allElements","computed":["border-bottom-color","border-left-color","border-right-color","border-top-color"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-color"},"border-end-end-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius"},"border-end-start-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius"},"border-image":{"syntax":"<\'border-image-source\'> || <\'border-image-slice\'> [ / <\'border-image-width\'> | / <\'border-image-width\'>? / <\'border-image-outset\'> ]? || <\'border-image-repeat\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":["border-image-slice","border-image-width"],"groups":["CSS Backgrounds and Borders"],"initial":["border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat"],"appliesto":"allElementsExceptTableElementsWhenCollapse","computed":["border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image"},"border-image-outset":{"syntax":"[ <length> | <number> ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-outset"},"border-image-repeat":{"syntax":"[ stretch | repeat | round | space ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"stretch","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-repeat"},"border-image-slice":{"syntax":"<number-percentage>{1,4} && fill?","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToSizeOfBorderImage","groups":["CSS Backgrounds and Borders"],"initial":"100%","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"oneToFourPercentagesOrAbsoluteLengthsPlusFill","order":"percentagesOrLengthsFollowedByFill","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-slice"},"border-image-source":{"syntax":"none | <image>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"noneOrImageWithAbsoluteURI","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-source"},"border-image-width":{"syntax":"[ <length-percentage> | <number> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToWidthOrHeightOfBorderImageArea","groups":["CSS Backgrounds and Borders"],"initial":"1","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-width"},"border-inline":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline"},"border-inline-end":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-inline-end-color","border-inline-end-style","border-inline-end-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-inline-end-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end"},"border-inline-color":{"syntax":"<\'border-top-color\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-color"},"border-inline-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-style"},"border-inline-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-width"},"border-inline-end-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color"},"border-inline-end-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style"},"border-inline-end-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width"},"border-inline-start":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-inline-start-color","border-inline-start-style","border-inline-start-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-inline-start-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start"},"border-inline-start-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color"},"border-inline-start-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style"},"border-inline-start-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width"},"border-left":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-left-color","border-left-style","border-left-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-left-width","border-left-style","border-left-color"],"appliesto":"allElements","computed":["border-left-width","border-left-style","border-left-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left"},"border-left-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-color"},"border-left-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-style"},"border-left-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderLeftStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-width"},"border-radius":{"syntax":"<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?","media":"visual","inherited":false,"animationType":["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"],"percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"],"appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-radius"},"border-right":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-right-color","border-right-style","border-right-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-right-width","border-right-style","border-right-color"],"appliesto":"allElements","computed":["border-right-width","border-right-style","border-right-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right"},"border-right-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-color"},"border-right-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-style"},"border-right-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderRightStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-width"},"border-spacing":{"syntax":"<length> <length>?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"0","appliesto":"tableElements","computed":"twoAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-spacing"},"border-start-end-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius"},"border-start-start-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius"},"border-style":{"syntax":"<line-style>{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-style","border-right-style","border-bottom-style","border-left-style"],"appliesto":"allElements","computed":["border-bottom-style","border-left-style","border-right-style","border-top-style"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-style"},"border-top":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-top-color","border-top-style","border-top-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top"},"border-top-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-color"},"border-top-left-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius"},"border-top-right-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius"},"border-top-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-style"},"border-top-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderTopStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-width"},"border-width":{"syntax":"<line-width>{1,4}","media":"visual","inherited":false,"animationType":["border-bottom-width","border-left-width","border-right-width","border-top-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-width","border-right-width","border-bottom-width","border-left-width"],"appliesto":"allElements","computed":["border-bottom-width","border-left-width","border-right-width","border-top-width"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-width"},"bottom":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToContainingBlockHeight","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/bottom"},"box-align":{"syntax":"start | center | end | baseline | stretch","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"stretch","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-align"},"box-decoration-break":{"syntax":"slice | clone","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"slice","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-decoration-break"},"box-direction":{"syntax":"normal | reverse | inherit","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"normal","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-direction"},"box-flex":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"0","appliesto":"directChildrenOfElementsWithDisplayMozBoxMozInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-flex"},"box-flex-group":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"1","appliesto":"inFlowChildrenOfBoxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-flex-group"},"box-lines":{"syntax":"single | multiple","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"single","appliesto":"boxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-lines"},"box-ordinal-group":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"1","appliesto":"childrenOfBoxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group"},"box-orient":{"syntax":"horizontal | vertical | inline-axis | block-axis | inherit","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"inlineAxisHorizontalInXUL","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-orient"},"box-pack":{"syntax":"start | center | end | justify","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"start","appliesto":"elementsWithDisplayMozBoxMozInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-pack"},"box-shadow":{"syntax":"none | <shadow>#","media":"visual","inherited":false,"animationType":"shadowList","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"absoluteLengthsSpecifiedColorAsSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-shadow"},"box-sizing":{"syntax":"content-box | border-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"content-box","appliesto":"allElementsAcceptingWidthOrHeight","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-sizing"},"break-after":{"syntax":"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-after"},"break-before":{"syntax":"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-before"},"break-inside":{"syntax":"auto | avoid | avoid-page | avoid-column | avoid-region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-inside"},"caption-side":{"syntax":"top | bottom | block-start | block-end | inline-start | inline-end","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"top","appliesto":"tableCaptionElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/caption-side"},"caret-color":{"syntax":"auto | <color>","media":"interactive","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asAutoOrColor","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/caret-color"},"clear":{"syntax":"none | left | right | both | inline-start | inline-end","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"none","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clear"},"clip":{"syntax":"<shape> | auto","media":"visual","inherited":false,"animationType":"rectangle","percentages":"no","groups":["CSS Masking"],"initial":"auto","appliesto":"absolutelyPositionedElements","computed":"autoOrRectangle","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clip"},"clip-path":{"syntax":"<clip-source> | [ <basic-shape> || <geometry-box> ] | none","media":"visual","inherited":false,"animationType":"basicShapeOtherwiseNo","percentages":"referToReferenceBoxWhenSpecifiedOtherwiseBorderBox","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clip-path"},"color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Color"],"initial":"variesFromBrowserToBrowser","appliesto":"allElements","computed":"translucentValuesRGBAOtherwiseRGB","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/color"},"color-adjust":{"syntax":"economy | exact","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Color"],"initial":"economy","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/color-adjust"},"column-count":{"syntax":"<integer> | auto","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Columns"],"initial":"auto","appliesto":"blockContainersExceptTableWrappers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-count"},"column-fill":{"syntax":"auto | balance | balance-all","media":"visualInContinuousMediaNoEffectInOverflowColumns","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"balance","appliesto":"multicolElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-fill"},"column-gap":{"syntax":"normal | <length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfContentArea","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multiColumnElementsFlexContainersGridContainers","computed":"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-gap"},"column-rule":{"syntax":"<\'column-rule-width\'> || <\'column-rule-style\'> || <\'column-rule-color\'>","media":"visual","inherited":false,"animationType":["column-rule-color","column-rule-style","column-rule-width"],"percentages":"no","groups":["CSS Columns"],"initial":["column-rule-width","column-rule-style","column-rule-color"],"appliesto":"multicolElements","computed":["column-rule-color","column-rule-style","column-rule-width"],"order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule"},"column-rule-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Columns"],"initial":"currentcolor","appliesto":"multicolElements","computed":"computedColor","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-color"},"column-rule-style":{"syntax":"<\'border-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"none","appliesto":"multicolElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-style"},"column-rule-width":{"syntax":"<\'border-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Columns"],"initial":"medium","appliesto":"multicolElements","computed":"absoluteLength0IfColumnRuleStyleNoneOrHidden","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-width"},"column-span":{"syntax":"none | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"none","appliesto":"inFlowBlockLevelElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-span"},"column-width":{"syntax":"<length> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Columns"],"initial":"auto","appliesto":"blockContainersExceptTableWrappers","computed":"absoluteLengthZeroOrLarger","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-width"},"columns":{"syntax":"<\'column-width\'> || <\'column-count\'>","media":"visual","inherited":false,"animationType":["column-width","column-count"],"percentages":"no","groups":["CSS Columns"],"initial":["column-width","column-count"],"appliesto":"blockContainersExceptTableWrappers","computed":["column-width","column-count"],"order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/columns"},"contain":{"syntax":"none | strict | content | [ size || layout || style || paint ]","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Containment"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/contain"},"content":{"syntax":"normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Generated Content"],"initial":"normal","appliesto":"beforeAndAfterPseudos","computed":"normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/content"},"counter-increment":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-increment"},"counter-reset":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-reset"},"counter-set":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-set"},"cursor":{"syntax":"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]","media":["visual","interactive"],"inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/cursor"},"direction":{"syntax":"ltr | rtl","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"ltr","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/direction"},"display":{"syntax":"[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Display"],"initial":"inline","appliesto":"allElements","computed":"asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/display"},"empty-cells":{"syntax":"show | hide","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"show","appliesto":"tableCellElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/empty-cells"},"filter":{"syntax":"none | <filter-function-list>","media":"visual","inherited":false,"animationType":"filterList","percentages":"no","groups":["Filter Effects"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/filter"},"flex":{"syntax":"none | [ <\'flex-grow\'> <\'flex-shrink\'>? || <\'flex-basis\'> ]","media":"visual","inherited":false,"animationType":["flex-grow","flex-shrink","flex-basis"],"percentages":"no","groups":["CSS Flexible Box Layout"],"initial":["flex-grow","flex-shrink","flex-basis"],"appliesto":"flexItemsAndInFlowPseudos","computed":["flex-grow","flex-shrink","flex-basis"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex"},"flex-basis":{"syntax":"content | <\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToFlexContainersInnerMainSize","groups":["CSS Flexible Box Layout"],"initial":"auto","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"lengthOrPercentageBeforeKeywordIfBothPresent","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-basis"},"flex-direction":{"syntax":"row | row-reverse | column | column-reverse","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"row","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-direction"},"flex-flow":{"syntax":"<\'flex-direction\'> || <\'flex-wrap\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":["flex-direction","flex-wrap"],"appliesto":"flexContainers","computed":["flex-direction","flex-wrap"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-flow"},"flex-grow":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"0","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-grow"},"flex-shrink":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"1","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-shrink"},"flex-wrap":{"syntax":"nowrap | wrap | wrap-reverse","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"nowrap","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-wrap"},"float":{"syntax":"left | right | none | inline-start | inline-end","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"none","appliesto":"allElementsNoEffectIfDisplayNone","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/float"},"font":{"syntax":"[ [ <\'font-style\'> || <font-variant-css21> || <\'font-weight\'> || <\'font-stretch\'> ]? <\'font-size\'> [ / <\'line-height\'> ]? <\'font-family\'> ] | caption | icon | menu | message-box | small-caption | status-bar","media":"visual","inherited":true,"animationType":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"percentages":["font-size","line-height"],"groups":["CSS Fonts"],"initial":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"appliesto":"allElements","computed":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font"},"font-family":{"syntax":"[ <family-name> | <generic-family> ]#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-family"},"font-feature-settings":{"syntax":"normal | <feature-tag-value>#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-feature-settings"},"font-kerning":{"syntax":"auto | normal | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-kerning"},"font-language-override":{"syntax":"normal | <string>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-language-override"},"font-optical-sizing":{"syntax":"auto | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing"},"font-variation-settings":{"syntax":"normal | [ <string> <number> ]#","media":"visual","inherited":true,"animationType":"transform","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variation-settings"},"font-size":{"syntax":"<absolute-size> | <relative-size> | <length-percentage>","media":"visual","inherited":true,"animationType":"length","percentages":"referToParentElementsFontSize","groups":["CSS Fonts"],"initial":"medium","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-size"},"font-size-adjust":{"syntax":"none | <number>","media":"visual","inherited":true,"animationType":"number","percentages":"no","groups":["CSS Fonts"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-size-adjust"},"font-smooth":{"syntax":"auto | never | always | <absolute-size> | <length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-smooth"},"font-stretch":{"syntax":"<font-stretch-absolute>","media":"visual","inherited":true,"animationType":"fontStretch","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-stretch"},"font-style":{"syntax":"normal | italic | oblique <angle>?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-style"},"font-synthesis":{"syntax":"none | [ weight || style ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"weight style","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-synthesis"},"font-variant":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant"},"font-variant-alternates":{"syntax":"normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates"},"font-variant-caps":{"syntax":"normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-caps"},"font-variant-east-asian":{"syntax":"normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian"},"font-variant-ligatures":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures"},"font-variant-numeric":{"syntax":"normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric"},"font-variant-position":{"syntax":"normal | sub | super","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-position"},"font-weight":{"syntax":"<font-weight-absolute> | bolder | lighter","media":"visual","inherited":true,"animationType":"fontWeight","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"keywordOrNumericalValueBolderLighterTransformedToRealValue","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-weight"},"gap":{"syntax":"<\'row-gap\'> <\'column-gap\'>?","media":"visual","inherited":false,"animationType":["row-gap","column-gap"],"percentages":"no","groups":["CSS Box Alignment"],"initial":["row-gap","column-gap"],"appliesto":"multiColumnElementsFlexContainersGridContainers","computed":["row-gap","column-gap"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/gap"},"grid":{"syntax":"<\'grid-template\'> | <\'grid-template-rows\'> / [ auto-flow && dense? ] <\'grid-auto-columns\'>? | [ auto-flow && dense? ] <\'grid-auto-rows\'>? / <\'grid-template-columns\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":["grid-template-rows","grid-template-columns","grid-auto-rows","grid-auto-columns"],"groups":["CSS Grid Layout"],"initial":["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-rows","grid-auto-columns","grid-auto-flow","grid-column-gap","grid-row-gap","column-gap","row-gap"],"appliesto":"gridContainers","computed":["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-rows","grid-auto-columns","grid-auto-flow","grid-column-gap","grid-row-gap","column-gap","row-gap"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid"},"grid-area":{"syntax":"<grid-line> [ / <grid-line> ]{0,3}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-start","grid-column-start","grid-row-end","grid-column-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-row-start","grid-column-start","grid-row-end","grid-column-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-area"},"grid-auto-columns":{"syntax":"<track-size>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns"},"grid-auto-flow":{"syntax":"[ row | column ] || dense","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"row","appliesto":"gridContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow"},"grid-auto-rows":{"syntax":"<track-size>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows"},"grid-column":{"syntax":"<grid-line> [ / <grid-line> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-column-start","grid-column-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-column-start","grid-column-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column"},"grid-column-end":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column-end"},"grid-column-gap":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"0","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-gap"},"grid-column-start":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column-start"},"grid-gap":{"syntax":"<\'grid-row-gap\'> <\'grid-column-gap\'>?","media":"visual","inherited":false,"animationType":["grid-row-gap","grid-column-gap"],"percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-gap","grid-column-gap"],"appliesto":"gridContainers","computed":["grid-row-gap","grid-column-gap"],"order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/gap"},"grid-row":{"syntax":"<grid-line> [ / <grid-line> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-start","grid-row-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-row-start","grid-row-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row"},"grid-row-end":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row-end"},"grid-row-gap":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"0","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/row-gap"},"grid-row-start":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row-start"},"grid-template":{"syntax":"none | [ <\'grid-template-rows\'> / <\'grid-template-columns\'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":["grid-template-columns","grid-template-rows"],"groups":["CSS Grid Layout"],"initial":["grid-template-columns","grid-template-rows","grid-template-areas"],"appliesto":"gridContainers","computed":["grid-template-columns","grid-template-rows","grid-template-areas"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template"},"grid-template-areas":{"syntax":"none | <string>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-areas"},"grid-template-columns":{"syntax":"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-columns"},"grid-template-rows":{"syntax":"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-rows"},"hanging-punctuation":{"syntax":"none | [ first || [ force-end | allow-end ] || last ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation"},"height":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAutoOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/height"},"hyphens":{"syntax":"none | manual | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"manual","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/hyphens"},"image-orientation":{"syntax":"from-image | <angle> | [ <angle>? flip ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"from-image","appliesto":"allElements","computed":"angleRoundedToNextQuarter","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/image-orientation"},"image-rendering":{"syntax":"auto | crisp-edges | pixelated","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/image-rendering"},"image-resolution":{"syntax":"[ from-image || <resolution> ] && snap?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"1dppx","appliesto":"allElements","computed":"asSpecifiedWithExceptionOfResolution","order":"uniqueOrder","status":"experimental"},"ime-mode":{"syntax":"auto | normal | active | inactive | disabled","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"textFields","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ime-mode"},"initial-letter":{"syntax":"normal | [ <number> <integer>? ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Inline"],"initial":"normal","appliesto":"firstLetterPseudoElementsAndInlineLevelFirstChildren","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/initial-letter"},"initial-letter-align":{"syntax":"[ auto | alphabetic | hanging | ideographic ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Inline"],"initial":"auto","appliesto":"firstLetterPseudoElementsAndInlineLevelFirstChildren","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/initial-letter-align"},"inline-size":{"syntax":"<\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"sameAsWidthAndHeight","computed":"sameAsWidthAndHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inline-size"},"inset":{"syntax":"<\'top\'>{1,4}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset"},"inset-block":{"syntax":"<\'top\'>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block"},"inset-block-end":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block-end"},"inset-block-start":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block-start"},"inset-inline":{"syntax":"<\'top\'>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline"},"inset-inline-end":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline-end"},"inset-inline-start":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline-start"},"isolation":{"syntax":"auto | isolate","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"auto","appliesto":"allElementsSVGContainerGraphicsAndGraphicsReferencingElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/isolation"},"justify-content":{"syntax":"normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-content"},"justify-items":{"syntax":"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"legacy","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-items"},"justify-self":{"syntax":"auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"auto","appliesto":"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-self"},"justify-tracks":{"syntax":"[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"normal","appliesto":"gridContainersWithMasonryLayoutInTheirInlineAxis","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-tracks"},"left":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/left"},"letter-spacing":{"syntax":"normal | <length>","media":"visual","inherited":true,"animationType":"length","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"optimumValueOfAbsoluteLengthOrNormal","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/letter-spacing"},"line-break":{"syntax":"auto | loose | normal | strict | anywhere","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-break"},"line-clamp":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Overflow"],"initial":"none","appliesto":"blockContainersExceptMultiColumnContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"line-height":{"syntax":"normal | <number> | <length> | <percentage>","media":"visual","inherited":true,"animationType":"numberOrLength","percentages":"referToElementFontSize","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"absoluteLengthOrAsSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-height"},"line-height-step":{"syntax":"<length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"0","appliesto":"blockContainers","computed":"absoluteLength","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-height-step"},"list-style":{"syntax":"<\'list-style-type\'> || <\'list-style-position\'> || <\'list-style-image\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":["list-style-type","list-style-position","list-style-image"],"appliesto":"listItems","computed":["list-style-image","list-style-position","list-style-type"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style"},"list-style-image":{"syntax":"<url> | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"none","appliesto":"listItems","computed":"noneOrImageWithAbsoluteURI","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-image"},"list-style-position":{"syntax":"inside | outside","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"outside","appliesto":"listItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-position"},"list-style-type":{"syntax":"<counter-style> | <string> | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"disc","appliesto":"listItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-type"},"margin":{"syntax":"[ <length> | <percentage> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":["margin-bottom","margin-left","margin-right","margin-top"],"appliesto":"allElementsExceptTableDisplayTypes","computed":["margin-bottom","margin-left","margin-right","margin-top"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin"},"margin-block":{"syntax":"<\'margin-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block"},"margin-block-end":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block-end"},"margin-block-start":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block-start"},"margin-bottom":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-bottom"},"margin-inline":{"syntax":"<\'margin-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline"},"margin-inline-end":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline-end"},"margin-inline-start":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline-start"},"margin-left":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-left"},"margin-right":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-right"},"margin-top":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-top"},"margin-trim":{"syntax":"none | in-flow | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"none","appliesto":"blockContainersAndMultiColumnContainers","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line"],"status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-trim"},"mask":{"syntax":"<mask-layer>#","media":"visual","inherited":false,"animationType":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"percentages":["mask-position"],"groups":["CSS Masking"],"initial":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"appliesto":"allElementsSVGContainerElements","computed":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask"},"mask-border":{"syntax":"<\'mask-border-source\'> || <\'mask-border-slice\'> [ / <\'mask-border-width\'>? [ / <\'mask-border-outset\'> ]? ]? || <\'mask-border-repeat\'> || <\'mask-border-mode\'>","media":"visual","inherited":false,"animationType":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"percentages":["mask-border-slice","mask-border-width"],"groups":["CSS Masking"],"initial":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"appliesto":"allElementsSVGContainerElements","computed":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border"},"mask-border-mode":{"syntax":"luminance | alpha","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"alpha","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-mode"},"mask-border-outset":{"syntax":"[ <length> | <number> ]{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"0","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"},"mask-border-repeat":{"syntax":"[ stretch | repeat | round | space ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"stretch","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"},"mask-border-slice":{"syntax":"<number-percentage>{1,4} fill?","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfMaskBorderImage","groups":["CSS Masking"],"initial":"0","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"},"mask-border-source":{"syntax":"none | <image>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"},"mask-border-width":{"syntax":"[ <length-percentage> | <number> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"relativeToMaskBorderImageArea","groups":["CSS Masking"],"initial":"auto","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"},"mask-clip":{"syntax":"[ <geometry-box> | no-clip ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"border-box","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-clip"},"mask-composite":{"syntax":"<compositing-operator>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"add","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-composite"},"mask-image":{"syntax":"<mask-reference>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-image"},"mask-mode":{"syntax":"<masking-mode>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"match-source","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-mode"},"mask-origin":{"syntax":"<geometry-box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"border-box","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-origin"},"mask-position":{"syntax":"<position>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToSizeOfMaskPaintingArea","groups":["CSS Masking"],"initial":"center","appliesto":"allElementsSVGContainerElements","computed":"consistsOfTwoKeywordsForOriginAndOffsets","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-position"},"mask-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"no-repeat","appliesto":"allElementsSVGContainerElements","computed":"consistsOfTwoDimensionKeywords","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"},"mask-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"no","groups":["CSS Masking"],"initial":"auto","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-size"},"mask-type":{"syntax":"luminance | alpha","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"luminance","appliesto":"maskElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-type"},"masonry-auto-flow":{"syntax":"[ pack | next ] || [ definite-first | ordered ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"pack","appliesto":"gridContainersWithMasonryLayout","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"},"math-style":{"syntax":"normal | compact","media":"visual","inherited":true,"animationType":"notAnimatable","percentages":"no","groups":["MathML"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/math-style"},"max-block-size":{"syntax":"<\'max-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMaxWidthAndMaxHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-block-size"},"max-height":{"syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentagesNone","groups":["CSS Box Model"],"initial":"none","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAsSpecifiedAbsoluteLengthOrNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-height"},"max-inline-size":{"syntax":"<\'max-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMaxWidthAndMaxHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-inline-size"},"max-lines":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Overflow"],"initial":"none","appliesto":"blockContainersExceptMultiColumnContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"max-width":{"syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"none","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAsSpecifiedAbsoluteLengthOrNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-width"},"min-block-size":{"syntax":"<\'min-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMinWidthAndMinHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-block-size"},"min-height":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentages0","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-height"},"min-inline-size":{"syntax":"<\'min-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMinWidthAndMinHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-inline-size"},"min-width":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-width"},"mix-blend-mode":{"syntax":"<blend-mode>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode"},"object-fit":{"syntax":"fill | contain | cover | none | scale-down","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"fill","appliesto":"replacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/object-fit"},"object-position":{"syntax":"<position>","media":"visual","inherited":true,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToWidthAndHeightOfElement","groups":["CSS Images"],"initial":"50% 50%","appliesto":"replacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/object-position"},"offset":{"syntax":"[ <\'offset-position\'>? [ <\'offset-path\'> [ <\'offset-distance\'> || <\'offset-rotate\'> ]? ]? ]! [ / <\'offset-anchor\'> ]?","media":"visual","inherited":false,"animationType":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"percentages":["offset-position","offset-distance","offset-anchor"],"groups":["CSS Motion Path"],"initial":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"appliesto":"transformableElements","computed":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset"},"offset-anchor":{"syntax":"auto | <position>","media":"visual","inherited":false,"animationType":"position","percentages":"relativeToWidthAndHeight","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"standard"},"offset-distance":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToTotalPathLength","groups":["CSS Motion Path"],"initial":"0","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-distance"},"offset-path":{"syntax":"none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]","media":"visual","inherited":false,"animationType":"angleOrBasicShapeOrPath","percentages":"no","groups":["CSS Motion Path"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-path"},"offset-position":{"syntax":"auto | <position>","media":"visual","inherited":false,"animationType":"position","percentages":"referToSizeOfContainingBlock","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"experimental"},"offset-rotate":{"syntax":"[ auto | reverse ] || <angle>","media":"visual","inherited":false,"animationType":"angleOrBasicShapeOrPath","percentages":"no","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"},"opacity":{"syntax":"<alpha-value>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Color"],"initial":"1.0","appliesto":"allElements","computed":"specifiedValueClipped0To1","order":"uniqueOrder","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/opacity"},"order":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"0","appliesto":"flexItemsGridItemsAbsolutelyPositionedContainerChildren","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/order"},"orphans":{"syntax":"<integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"2","appliesto":"blockContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/orphans"},"outline":{"syntax":"[ <\'outline-color\'> || <\'outline-style\'> || <\'outline-width\'> ]","media":["visual","interactive"],"inherited":false,"animationType":["outline-color","outline-width","outline-style"],"percentages":"no","groups":["CSS Basic User Interface"],"initial":["outline-color","outline-style","outline-width"],"appliesto":"allElements","computed":["outline-color","outline-width","outline-style"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline"},"outline-color":{"syntax":"<color> | invert","media":["visual","interactive"],"inherited":false,"animationType":"color","percentages":"no","groups":["CSS Basic User Interface"],"initial":"invertOrCurrentColor","appliesto":"allElements","computed":"invertForTranslucentColorRGBAOtherwiseRGB","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-color"},"outline-offset":{"syntax":"<length>","media":["visual","interactive"],"inherited":false,"animationType":"length","percentages":"no","groups":["CSS Basic User Interface"],"initial":"0","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-offset"},"outline-style":{"syntax":"auto | <\'border-style\'>","media":["visual","interactive"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-style"},"outline-width":{"syntax":"<line-width>","media":["visual","interactive"],"inherited":false,"animationType":"length","percentages":"no","groups":["CSS Basic User Interface"],"initial":"medium","appliesto":"allElements","computed":"absoluteLength0ForNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-width"},"overflow":{"syntax":"[ visible | hidden | clip | scroll | auto ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":["overflow-x","overflow-y"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow"},"overflow-anchor":{"syntax":"auto | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Anchoring"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard"},"overflow-block":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"perGrammar","status":"standard"},"overflow-clip-box":{"syntax":"padding-box | content-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"padding-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box"},"overflow-inline":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"perGrammar","status":"standard"},"overflow-wrap":{"syntax":"normal | break-word | anywhere","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"nonReplacedInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"},"overflow-x":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-x"},"overflow-y":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-y"},"overscroll-behavior":{"syntax":"[ contain | none | auto ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"},"overscroll-behavior-block":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block"},"overscroll-behavior-inline":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline"},"overscroll-behavior-x":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x"},"overscroll-behavior-y":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y"},"padding":{"syntax":"[ <length> | <percentage> ]{1,4}","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":["padding-bottom","padding-left","padding-right","padding-top"],"appliesto":"allElementsExceptInternalTableDisplayTypes","computed":["padding-bottom","padding-left","padding-right","padding-top"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding"},"padding-block":{"syntax":"<\'padding-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block"},"padding-block-end":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block-end"},"padding-block-start":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block-start"},"padding-bottom":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-bottom"},"padding-inline":{"syntax":"<\'padding-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline"},"padding-inline-end":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline-end"},"padding-inline-start":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline-start"},"padding-left":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-left"},"padding-right":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-right"},"padding-top":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-top"},"page-break-after":{"syntax":"auto | always | avoid | left | right | recto | verso","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-after"},"page-break-before":{"syntax":"auto | always | avoid | left | right | recto | verso","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-before"},"page-break-inside":{"syntax":"auto | avoid","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-inside"},"paint-order":{"syntax":"normal | [ fill || stroke || markers ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"textElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/paint-order"},"perspective":{"syntax":"none | <length>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"absoluteLengthOrNone","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/perspective"},"perspective-origin":{"syntax":"<position>","media":"visual","inherited":false,"animationType":"simpleListOfLpc","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"50% 50%","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"oneOrTwoValuesLengthAbsoluteKeywordsPercentages","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/perspective-origin"},"place-content":{"syntax":"<\'align-content\'> <\'justify-content\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multilineFlexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-content"},"place-items":{"syntax":"<\'align-items\'> <\'justify-items\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":["align-items","justify-items"],"appliesto":"allElements","computed":["align-items","justify-items"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-items"},"place-self":{"syntax":"<\'align-self\'> <\'justify-self\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":["align-self","justify-self"],"appliesto":"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems","computed":["align-self","justify-self"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-self"},"pointer-events":{"syntax":"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Pointer Events"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/pointer-events"},"position":{"syntax":"static | relative | absolute | sticky | fixed","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"static","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/position"},"quotes":{"syntax":"none | auto | [ <string> <string> ]+","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Generated Content"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/quotes"},"resize":{"syntax":"none | both | horizontal | vertical | block | inline","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"none","appliesto":"elementsWithOverflowNotVisibleAndReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/resize"},"right":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/right"},"rotate":{"syntax":"none | <angle> | [ x | y | z | <number>{3} ] && <angle>","media":"visual","inherited":false,"animationType":"transform","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/rotate"},"row-gap":{"syntax":"normal | <length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfContentArea","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multiColumnElementsFlexContainersGridContainers","computed":"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/row-gap"},"ruby-align":{"syntax":"start | center | space-between | space-around","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"space-around","appliesto":"rubyBasesAnnotationsBaseAnnotationContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ruby-align"},"ruby-merge":{"syntax":"separate | collapse | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"separate","appliesto":"rubyAnnotationsContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"ruby-position":{"syntax":"over | under | inter-character","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"over","appliesto":"rubyAnnotationsContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ruby-position"},"scale":{"syntax":"none | <number>{1,3}","media":"visual","inherited":false,"animationType":"transform","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scale"},"scrollbar-color":{"syntax":"auto | dark | light | <color>{2}","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Scrollbars"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-color"},"scrollbar-gutter":{"syntax":"auto | [ stable | always ] && both? && force?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter"},"scrollbar-width":{"syntax":"auto | thin | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scrollbars"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-width"},"scroll-behavior":{"syntax":"auto | smooth","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSSOM View"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-behavior"},"scroll-margin":{"syntax":"<length>{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin"},"scroll-margin-block":{"syntax":"<length>{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block"},"scroll-margin-block-start":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start"},"scroll-margin-block-end":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end"},"scroll-margin-bottom":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom"},"scroll-margin-inline":{"syntax":"<length>{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline"},"scroll-margin-inline-start":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start"},"scroll-margin-inline-end":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end"},"scroll-margin-left":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left"},"scroll-margin-right":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right"},"scroll-margin-top":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top"},"scroll-padding":{"syntax":"[ auto | <length-percentage> ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding"},"scroll-padding-block":{"syntax":"[ auto | <length-percentage> ]{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block"},"scroll-padding-block-start":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start"},"scroll-padding-block-end":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end"},"scroll-padding-bottom":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom"},"scroll-padding-inline":{"syntax":"[ auto | <length-percentage> ]{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline"},"scroll-padding-inline-start":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start"},"scroll-padding-inline-end":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end"},"scroll-padding-left":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left"},"scroll-padding-right":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right"},"scroll-padding-top":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top"},"scroll-snap-align":{"syntax":"[ none | start | end | center ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align"},"scroll-snap-coordinate":{"syntax":"none | <position>#","media":"interactive","inherited":false,"animationType":"position","percentages":"referToBorderBox","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate"},"scroll-snap-destination":{"syntax":"<position>","media":"interactive","inherited":false,"animationType":"position","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"0px 0px","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination"},"scroll-snap-points-x":{"syntax":"none | repeat( <length-percentage> )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x"},"scroll-snap-points-y":{"syntax":"none | repeat( <length-percentage> )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y"},"scroll-snap-stop":{"syntax":"normal | always","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop"},"scroll-snap-type":{"syntax":"none | [ x | y | block | inline | both ] [ mandatory | proximity ]?","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type"},"scroll-snap-type-x":{"syntax":"none | mandatory | proximity","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x"},"scroll-snap-type-y":{"syntax":"none | mandatory | proximity","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y"},"shape-image-threshold":{"syntax":"<alpha-value>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Shapes"],"initial":"0.0","appliesto":"floats","computed":"specifiedValueNumberClipped0To1","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold"},"shape-margin":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Shapes"],"initial":"0","appliesto":"floats","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-margin"},"shape-outside":{"syntax":"none | <shape-box> || <basic-shape> | <image>","media":"visual","inherited":false,"animationType":"basicShapeOtherwiseNo","percentages":"no","groups":["CSS Shapes"],"initial":"none","appliesto":"floats","computed":"asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-outside"},"tab-size":{"syntax":"<integer> | <length>","media":"visual","inherited":true,"animationType":"length","percentages":"no","groups":["CSS Text"],"initial":"8","appliesto":"blockContainers","computed":"specifiedIntegerOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/tab-size"},"table-layout":{"syntax":"auto | fixed","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"auto","appliesto":"tableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/table-layout"},"text-align":{"syntax":"start | end | left | right | center | justify | match-parent","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"startOrNamelessValueIfLTRRightIfRTL","appliesto":"blockContainers","computed":"asSpecifiedExceptMatchParent","order":"orderOfAppearance","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-align"},"text-align-last":{"syntax":"auto | start | end | left | right | center | justify","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"blockContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-align-last"},"text-combine-upright":{"syntax":"none | all | [ digits <integer>? ]","media":"visual","inherited":true,"animationType":"notAnimatable","percentages":"no","groups":["CSS Writing Modes"],"initial":"none","appliesto":"nonReplacedInlineElements","computed":"keywordPlusIntegerIfDigits","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"},"text-decoration":{"syntax":"<\'text-decoration-line\'> || <\'text-decoration-style\'> || <\'text-decoration-color\'> || <\'text-decoration-thickness\'>","media":"visual","inherited":false,"animationType":["text-decoration-color","text-decoration-style","text-decoration-line","text-decoration-thickness"],"percentages":"no","groups":["CSS Text Decoration"],"initial":["text-decoration-color","text-decoration-style","text-decoration-line"],"appliesto":"allElements","computed":["text-decoration-line","text-decoration-style","text-decoration-color","text-decoration-thickness"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration"},"text-decoration-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Text Decoration"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-color"},"text-decoration-line":{"syntax":"none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-line"},"text-decoration-skip":{"syntax":"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"objects","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"},"text-decoration-skip-ink":{"syntax":"auto | all | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"},"text-decoration-style":{"syntax":"solid | double | dotted | dashed | wavy","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"solid","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-style"},"text-decoration-thickness":{"syntax":"auto | from-font | <length> | <percentage> ","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToElementFontSize","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"},"text-emphasis":{"syntax":"<\'text-emphasis-style\'> || <\'text-emphasis-color\'>","media":"visual","inherited":false,"animationType":["text-emphasis-color","text-emphasis-style"],"percentages":"no","groups":["CSS Text Decoration"],"initial":["text-emphasis-style","text-emphasis-color"],"appliesto":"allElements","computed":["text-emphasis-style","text-emphasis-color"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"},"text-emphasis-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Text Decoration"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"},"text-emphasis-position":{"syntax":"[ over | under ] && [ right | left ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"over right","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"},"text-emphasis-style":{"syntax":"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"},"text-indent":{"syntax":"<length-percentage> && hanging? && each-line?","media":"visual","inherited":true,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Text"],"initial":"0","appliesto":"blockContainers","computed":"percentageOrAbsoluteLengthPlusKeywords","order":"lengthOrPercentageBeforeKeywords","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-indent"},"text-justify":{"syntax":"auto | inter-character | inter-word | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"inlineLevelAndTableCellElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-justify"},"text-orientation":{"syntax":"mixed | upright | sideways","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"mixed","appliesto":"allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-orientation"},"text-overflow":{"syntax":"[ clip | ellipsis | <string> ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"clip","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-overflow"},"text-rendering":{"syntax":"auto | optimizeSpeed | optimizeLegibility | geometricPrecision","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Miscellaneous"],"initial":"auto","appliesto":"textElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-rendering"},"text-shadow":{"syntax":"none | <shadow-t>#","media":"visual","inherited":true,"animationType":"shadowList","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"colorPlusThreeAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-shadow"},"text-size-adjust":{"syntax":"none | auto | <percentage>","media":"visual","inherited":true,"animationType":"discrete","percentages":"referToSizeOfFont","groups":["CSS Text"],"initial":"autoForSmartphoneBrowsersSupportingInflation","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"},"text-transform":{"syntax":"none | capitalize | uppercase | lowercase | full-width | full-size-kana","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-transform"},"text-underline-offset":{"syntax":"auto | <length> | <percentage> ","media":"visual","inherited":true,"animationType":"byComputedValueType","percentages":"referToElementFontSize","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"},"text-underline-position":{"syntax":"auto | from-font | [ under || [ left | right ] ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-underline-position"},"top":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToContainingBlockHeight","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/top"},"touch-action":{"syntax":"auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Pointer Events"],"initial":"auto","appliesto":"allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/touch-action"},"transform":{"syntax":"none | <transform-list>","media":"visual","inherited":false,"animationType":"transform","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform"},"transform-box":{"syntax":"content-box | border-box | fill-box | stroke-box | view-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"view-box","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-box"},"transform-origin":{"syntax":"[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?","media":"visual","inherited":false,"animationType":"simpleListOfLpc","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"50% 50% 0","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"oneOrTwoValuesLengthAbsoluteKeywordsPercentages","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-origin"},"transform-style":{"syntax":"flat | preserve-3d","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"flat","appliesto":"transformableElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-style"},"transition":{"syntax":"<single-transition>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":["transition-delay","transition-duration","transition-property","transition-timing-function"],"appliesto":"allElementsAndPseudos","computed":["transition-delay","transition-duration","transition-property","transition-timing-function"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition"},"transition-delay":{"syntax":"<time>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-delay"},"transition-duration":{"syntax":"<time>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-duration"},"transition-property":{"syntax":"none | <single-transition-property>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"all","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-property"},"transition-timing-function":{"syntax":"<timing-function>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"ease","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-timing-function"},"translate":{"syntax":"none | <length-percentage> [ <length-percentage> <length>? ]?","media":"visual","inherited":false,"animationType":"transform","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/translate"},"unicode-bidi":{"syntax":"normal | embed | isolate | bidi-override | isolate-override | plaintext","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"normal","appliesto":"allElementsSomeValuesNoEffectOnNonInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/unicode-bidi"},"user-select":{"syntax":"auto | text | none | contain | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/user-select"},"vertical-align":{"syntax":"baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>","media":"visual","inherited":false,"animationType":"length","percentages":"referToLineHeight","groups":["CSS Table"],"initial":"baseline","appliesto":"inlineLevelAndTableCellElements","computed":"absoluteLengthOrKeyword","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/vertical-align"},"visibility":{"syntax":"visible | hidden | collapse","media":"visual","inherited":true,"animationType":"visibility","percentages":"no","groups":["CSS Box Model"],"initial":"visible","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/visibility"},"white-space":{"syntax":"normal | pre | nowrap | pre-wrap | pre-line | break-spaces","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/white-space"},"widows":{"syntax":"<integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"2","appliesto":"blockContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/widows"},"width":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAutoOrAbsoluteLength","order":"lengthOrPercentageBeforeKeywordIfBothPresent","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/width"},"will-change":{"syntax":"auto | <animateable-feature>#","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Will Change"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/will-change"},"word-break":{"syntax":"normal | break-all | keep-all | break-word","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/word-break"},"word-spacing":{"syntax":"normal | <length-percentage>","media":"visual","inherited":true,"animationType":"length","percentages":"referToWidthOfAffectedGlyph","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/word-spacing"},"word-wrap":{"syntax":"normal | break-word","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"nonReplacedInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"},"writing-mode":{"syntax":"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"horizontal-tb","appliesto":"allElementsExceptTableRowColumnGroupsTableRowsColumns","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/writing-mode"},"z-index":{"syntax":"auto | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/z-index"},"zoom":{"syntax":"normal | reset | <number> | <percentage>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["Microsoft Extensions"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/zoom"}}')},function(A){A.exports=JSON.parse('{"absolute-size":{"syntax":"xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large"},"alpha-value":{"syntax":"<number> | <percentage>"},"angle-percentage":{"syntax":"<angle> | <percentage>"},"angular-color-hint":{"syntax":"<angle-percentage>"},"angular-color-stop":{"syntax":"<color> && <color-stop-angle>?"},"angular-color-stop-list":{"syntax":"[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>"},"animateable-feature":{"syntax":"scroll-position | contents | <custom-ident>"},"attachment":{"syntax":"scroll | fixed | local"},"attr()":{"syntax":"attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )"},"attr-matcher":{"syntax":"[ \'~\' | \'|\' | \'^\' | \'$\' | \'*\' ]? \'=\'"},"attr-modifier":{"syntax":"i | s"},"attribute-selector":{"syntax":"\'[\' <wq-name> \']\' | \'[\' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? \']\'"},"auto-repeat":{"syntax":"repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"},"auto-track-list":{"syntax":"[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?"},"baseline-position":{"syntax":"[ first | last ]? baseline"},"basic-shape":{"syntax":"<inset()> | <circle()> | <ellipse()> | <polygon()> | <path()>"},"bg-image":{"syntax":"none | <image>"},"bg-layer":{"syntax":"<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"},"bg-position":{"syntax":"[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]"},"bg-size":{"syntax":"[ <length-percentage> | auto ]{1,2} | cover | contain"},"blur()":{"syntax":"blur( <length> )"},"blend-mode":{"syntax":"normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity"},"box":{"syntax":"border-box | padding-box | content-box"},"brightness()":{"syntax":"brightness( <number-percentage> )"},"calc()":{"syntax":"calc( <calc-sum> )"},"calc-sum":{"syntax":"<calc-product> [ [ \'+\' | \'-\' ] <calc-product> ]*"},"calc-product":{"syntax":"<calc-value> [ \'*\' <calc-value> | \'/\' <number> ]*"},"calc-value":{"syntax":"<number> | <dimension> | <percentage> | ( <calc-sum> )"},"cf-final-image":{"syntax":"<image> | <color>"},"cf-mixing-image":{"syntax":"<percentage>? && <image>"},"circle()":{"syntax":"circle( [ <shape-radius> ]? [ at <position> ]? )"},"clamp()":{"syntax":"clamp( <calc-sum>#{3} )"},"class-selector":{"syntax":"\'.\' <ident-token>"},"clip-source":{"syntax":"<url>"},"color":{"syntax":"<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>"},"color-stop":{"syntax":"<color-stop-length> | <color-stop-angle>"},"color-stop-angle":{"syntax":"<angle-percentage>{1,2}"},"color-stop-length":{"syntax":"<length-percentage>{1,2}"},"color-stop-list":{"syntax":"[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>"},"combinator":{"syntax":"\'>\' | \'+\' | \'~\' | [ \'||\' ]"},"common-lig-values":{"syntax":"[ common-ligatures | no-common-ligatures ]"},"compat-auto":{"syntax":"searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button"},"composite-style":{"syntax":"clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor"},"compositing-operator":{"syntax":"add | subtract | intersect | exclude"},"compound-selector":{"syntax":"[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!"},"compound-selector-list":{"syntax":"<compound-selector>#"},"complex-selector":{"syntax":"<compound-selector> [ <combinator>? <compound-selector> ]*"},"complex-selector-list":{"syntax":"<complex-selector>#"},"conic-gradient()":{"syntax":"conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )"},"contextual-alt-values":{"syntax":"[ contextual | no-contextual ]"},"content-distribution":{"syntax":"space-between | space-around | space-evenly | stretch"},"content-list":{"syntax":"[ <string> | contents | <image> | <quote> | <target> | <leader()> ]+"},"content-position":{"syntax":"center | start | end | flex-start | flex-end"},"content-replacement":{"syntax":"<image>"},"contrast()":{"syntax":"contrast( [ <number-percentage> ] )"},"counter()":{"syntax":"counter( <custom-ident>, <counter-style>? )"},"counter-style":{"syntax":"<counter-style-name> | symbols()"},"counter-style-name":{"syntax":"<custom-ident>"},"counters()":{"syntax":"counters( <custom-ident>, <string>, <counter-style>? )"},"cross-fade()":{"syntax":"cross-fade( <cf-mixing-image> , <cf-final-image>? )"},"cubic-bezier-timing-function":{"syntax":"ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number [0,1]>, <number>, <number [0,1]>, <number>)"},"deprecated-system-color":{"syntax":"ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText"},"discretionary-lig-values":{"syntax":"[ discretionary-ligatures | no-discretionary-ligatures ]"},"display-box":{"syntax":"contents | none"},"display-inside":{"syntax":"flow | flow-root | table | flex | grid | ruby"},"display-internal":{"syntax":"table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container"},"display-legacy":{"syntax":"inline-block | inline-list-item | inline-table | inline-flex | inline-grid"},"display-listitem":{"syntax":"<display-outside>? && [ flow | flow-root ]? && list-item"},"display-outside":{"syntax":"block | inline | run-in"},"drop-shadow()":{"syntax":"drop-shadow( <length>{2,3} <color>? )"},"east-asian-variant-values":{"syntax":"[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]"},"east-asian-width-values":{"syntax":"[ full-width | proportional-width ]"},"element()":{"syntax":"element( <id-selector> )"},"ellipse()":{"syntax":"ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )"},"ending-shape":{"syntax":"circle | ellipse"},"env()":{"syntax":"env( <custom-ident> , <declaration-value>? )"},"explicit-track-list":{"syntax":"[ <line-names>? <track-size> ]+ <line-names>?"},"family-name":{"syntax":"<string> | <custom-ident>+"},"feature-tag-value":{"syntax":"<string> [ <integer> | on | off ]?"},"feature-type":{"syntax":"@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation"},"feature-value-block":{"syntax":"<feature-type> \'{\' <feature-value-declaration-list> \'}\'"},"feature-value-block-list":{"syntax":"<feature-value-block>+"},"feature-value-declaration":{"syntax":"<custom-ident>: <integer>+;"},"feature-value-declaration-list":{"syntax":"<feature-value-declaration>"},"feature-value-name":{"syntax":"<custom-ident>"},"fill-rule":{"syntax":"nonzero | evenodd"},"filter-function":{"syntax":"<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>"},"filter-function-list":{"syntax":"[ <filter-function> | <url> ]+"},"final-bg-layer":{"syntax":"<\'background-color\'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"},"fit-content()":{"syntax":"fit-content( [ <length> | <percentage> ] )"},"fixed-breadth":{"syntax":"<length-percentage>"},"fixed-repeat":{"syntax":"repeat( [ <positive-integer> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"},"fixed-size":{"syntax":"<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )"},"font-stretch-absolute":{"syntax":"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>"},"font-variant-css21":{"syntax":"[ normal | small-caps ]"},"font-weight-absolute":{"syntax":"normal | bold | <number [1,1000]>"},"frequency-percentage":{"syntax":"<frequency> | <percentage>"},"general-enclosed":{"syntax":"[ <function-token> <any-value> ) ] | ( <ident> <any-value> )"},"generic-family":{"syntax":"serif | sans-serif | cursive | fantasy | monospace"},"generic-name":{"syntax":"serif | sans-serif | cursive | fantasy | monospace"},"geometry-box":{"syntax":"<shape-box> | fill-box | stroke-box | view-box"},"gradient":{"syntax":"<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()>"},"grayscale()":{"syntax":"grayscale( <number-percentage> )"},"grid-line":{"syntax":"auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]"},"historical-lig-values":{"syntax":"[ historical-ligatures | no-historical-ligatures ]"},"hsl()":{"syntax":"hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )"},"hsla()":{"syntax":"hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )"},"hue":{"syntax":"<number> | <angle>"},"hue-rotate()":{"syntax":"hue-rotate( <angle> )"},"id-selector":{"syntax":"<hash-token>"},"image":{"syntax":"<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>"},"image()":{"syntax":"image( <image-tags>? [ <image-src>? , <color>? ]! )"},"image-set()":{"syntax":"image-set( <image-set-option># )"},"image-set-option":{"syntax":"[ <image> | <string> ] <resolution>"},"image-src":{"syntax":"<url> | <string>"},"image-tags":{"syntax":"ltr | rtl"},"inflexible-breadth":{"syntax":"<length> | <percentage> | min-content | max-content | auto"},"inset()":{"syntax":"inset( <length-percentage>{1,4} [ round <\'border-radius\'> ]? )"},"invert()":{"syntax":"invert( <number-percentage> )"},"keyframes-name":{"syntax":"<custom-ident> | <string>"},"keyframe-block":{"syntax":"<keyframe-selector># {\\n <declaration-list>\\n}"},"keyframe-block-list":{"syntax":"<keyframe-block>+"},"keyframe-selector":{"syntax":"from | to | <percentage>"},"leader()":{"syntax":"leader( <leader-type> )"},"leader-type":{"syntax":"dotted | solid | space | <string>"},"length-percentage":{"syntax":"<length> | <percentage>"},"line-names":{"syntax":"\'[\' <custom-ident>* \']\'"},"line-name-list":{"syntax":"[ <line-names> | <name-repeat> ]+"},"line-style":{"syntax":"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"},"line-width":{"syntax":"<length> | thin | medium | thick"},"linear-color-hint":{"syntax":"<length-percentage>"},"linear-color-stop":{"syntax":"<color> <color-stop-length>?"},"linear-gradient()":{"syntax":"linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"},"mask-layer":{"syntax":"<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>"},"mask-position":{"syntax":"[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?"},"mask-reference":{"syntax":"none | <image> | <mask-source>"},"mask-source":{"syntax":"<url>"},"masking-mode":{"syntax":"alpha | luminance | match-source"},"matrix()":{"syntax":"matrix( <number>#{6} )"},"matrix3d()":{"syntax":"matrix3d( <number>#{16} )"},"max()":{"syntax":"max( <calc-sum># )"},"media-and":{"syntax":"<media-in-parens> [ and <media-in-parens> ]+"},"media-condition":{"syntax":"<media-not> | <media-and> | <media-or> | <media-in-parens>"},"media-condition-without-or":{"syntax":"<media-not> | <media-and> | <media-in-parens>"},"media-feature":{"syntax":"( [ <mf-plain> | <mf-boolean> | <mf-range> ] )"},"media-in-parens":{"syntax":"( <media-condition> ) | <media-feature> | <general-enclosed>"},"media-not":{"syntax":"not <media-in-parens>"},"media-or":{"syntax":"<media-in-parens> [ or <media-in-parens> ]+"},"media-query":{"syntax":"<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?"},"media-query-list":{"syntax":"<media-query>#"},"media-type":{"syntax":"<ident>"},"mf-boolean":{"syntax":"<mf-name>"},"mf-name":{"syntax":"<ident>"},"mf-plain":{"syntax":"<mf-name> : <mf-value>"},"mf-range":{"syntax":"<mf-name> [ \'<\' | \'>\' ]? \'=\'? <mf-value>\\n| <mf-value> [ \'<\' | \'>\' ]? \'=\'? <mf-name>\\n| <mf-value> \'<\' \'=\'? <mf-name> \'<\' \'=\'? <mf-value>\\n| <mf-value> \'>\' \'=\'? <mf-name> \'>\' \'=\'? <mf-value>"},"mf-value":{"syntax":"<number> | <dimension> | <ident> | <ratio>"},"min()":{"syntax":"min( <calc-sum># )"},"minmax()":{"syntax":"minmax( [ <length> | <percentage> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )"},"named-color":{"syntax":"transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen"},"namespace-prefix":{"syntax":"<ident>"},"ns-prefix":{"syntax":"[ <ident-token> | \'*\' ]? \'|\'"},"number-percentage":{"syntax":"<number> | <percentage>"},"numeric-figure-values":{"syntax":"[ lining-nums | oldstyle-nums ]"},"numeric-fraction-values":{"syntax":"[ diagonal-fractions | stacked-fractions ]"},"numeric-spacing-values":{"syntax":"[ proportional-nums | tabular-nums ]"},"nth":{"syntax":"<an-plus-b> | even | odd"},"opacity()":{"syntax":"opacity( [ <number-percentage> ] )"},"overflow-position":{"syntax":"unsafe | safe"},"outline-radius":{"syntax":"<length> | <percentage>"},"page-body":{"syntax":"<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>"},"page-margin-box":{"syntax":"<page-margin-box-type> \'{\' <declaration-list> \'}\'"},"page-margin-box-type":{"syntax":"@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom"},"page-selector-list":{"syntax":"[ <page-selector># ]?"},"page-selector":{"syntax":"<pseudo-page>+ | <ident> <pseudo-page>*"},"path()":{"syntax":"path( [ <fill-rule>, ]? <string> )"},"paint()":{"syntax":"paint( <ident>, <declaration-value>? )"},"perspective()":{"syntax":"perspective( <length> )"},"polygon()":{"syntax":"polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )"},"position":{"syntax":"[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]"},"pseudo-class-selector":{"syntax":"\':\' <ident-token> | \':\' <function-token> <any-value> \')\'"},"pseudo-element-selector":{"syntax":"\':\' <pseudo-class-selector>"},"pseudo-page":{"syntax":": [ left | right | first | blank ]"},"quote":{"syntax":"open-quote | close-quote | no-open-quote | no-close-quote"},"radial-gradient()":{"syntax":"radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"},"relative-selector":{"syntax":"<combinator>? <complex-selector>"},"relative-selector-list":{"syntax":"<relative-selector>#"},"relative-size":{"syntax":"larger | smaller"},"repeat-style":{"syntax":"repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}"},"repeating-linear-gradient()":{"syntax":"repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"},"repeating-radial-gradient()":{"syntax":"repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"},"rgb()":{"syntax":"rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )"},"rgba()":{"syntax":"rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )"},"rotate()":{"syntax":"rotate( [ <angle> | <zero> ] )"},"rotate3d()":{"syntax":"rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )"},"rotateX()":{"syntax":"rotateX( [ <angle> | <zero> ] )"},"rotateY()":{"syntax":"rotateY( [ <angle> | <zero> ] )"},"rotateZ()":{"syntax":"rotateZ( [ <angle> | <zero> ] )"},"saturate()":{"syntax":"saturate( <number-percentage> )"},"scale()":{"syntax":"scale( <number> , <number>? )"},"scale3d()":{"syntax":"scale3d( <number> , <number> , <number> )"},"scaleX()":{"syntax":"scaleX( <number> )"},"scaleY()":{"syntax":"scaleY( <number> )"},"scaleZ()":{"syntax":"scaleZ( <number> )"},"self-position":{"syntax":"center | start | end | self-start | self-end | flex-start | flex-end"},"shape-radius":{"syntax":"<length-percentage> | closest-side | farthest-side"},"skew()":{"syntax":"skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )"},"skewX()":{"syntax":"skewX( [ <angle> | <zero> ] )"},"skewY()":{"syntax":"skewY( [ <angle> | <zero> ] )"},"sepia()":{"syntax":"sepia( <number-percentage> )"},"shadow":{"syntax":"inset? && <length>{2,4} && <color>?"},"shadow-t":{"syntax":"[ <length>{2,3} && <color>? ]"},"shape":{"syntax":"rect(<top>, <right>, <bottom>, <left>)"},"shape-box":{"syntax":"<box> | margin-box"},"side-or-corner":{"syntax":"[ left | right ] || [ top | bottom ]"},"single-animation":{"syntax":"<time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]"},"single-animation-direction":{"syntax":"normal | reverse | alternate | alternate-reverse"},"single-animation-fill-mode":{"syntax":"none | forwards | backwards | both"},"single-animation-iteration-count":{"syntax":"infinite | <number>"},"single-animation-play-state":{"syntax":"running | paused"},"single-transition":{"syntax":"[ none | <single-transition-property> ] || <time> || <timing-function> || <time>"},"single-transition-property":{"syntax":"all | <custom-ident>"},"size":{"syntax":"closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}"},"step-position":{"syntax":"jump-start | jump-end | jump-none | jump-both | start | end"},"step-timing-function":{"syntax":"step-start | step-end | steps(<integer>[, <step-position>]?)"},"subclass-selector":{"syntax":"<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>"},"supports-condition":{"syntax":"not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*"},"supports-in-parens":{"syntax":"( <supports-condition> ) | <supports-feature> | <general-enclosed>"},"supports-feature":{"syntax":"<supports-decl> | <supports-selector-fn>"},"supports-decl":{"syntax":"( <declaration> )"},"supports-selector-fn":{"syntax":"selector( <complex-selector> )"},"symbol":{"syntax":"<string> | <image> | <custom-ident>"},"target":{"syntax":"<target-counter()> | <target-counters()> | <target-text()>"},"target-counter()":{"syntax":"target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )"},"target-counters()":{"syntax":"target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )"},"target-text()":{"syntax":"target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )"},"time-percentage":{"syntax":"<time> | <percentage>"},"timing-function":{"syntax":"linear | <cubic-bezier-timing-function> | <step-timing-function>"},"track-breadth":{"syntax":"<length-percentage> | <flex> | min-content | max-content | auto"},"track-list":{"syntax":"[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?"},"track-repeat":{"syntax":"repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? )"},"track-size":{"syntax":"<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )"},"transform-function":{"syntax":"<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>"},"transform-list":{"syntax":"<transform-function>+"},"translate()":{"syntax":"translate( <length-percentage> , <length-percentage>? )"},"translate3d()":{"syntax":"translate3d( <length-percentage> , <length-percentage> , <length> )"},"translateX()":{"syntax":"translateX( <length-percentage> )"},"translateY()":{"syntax":"translateY( <length-percentage> )"},"translateZ()":{"syntax":"translateZ( <length> )"},"type-or-unit":{"syntax":"string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %"},"type-selector":{"syntax":"<wq-name> | <ns-prefix>? \'*\'"},"var()":{"syntax":"var( <custom-property-name> , <declaration-value>? )"},"viewport-length":{"syntax":"auto | <length-percentage>"},"wq-name":{"syntax":"<ns-prefix>? <ident-token>"}}')},function(A){A.exports=JSON.parse('{"atrules":{"charset":{"prelude":"<string>"},"font-face":{"descriptors":{"unicode-range":{"comment":"replaces <unicode-range>, an old production name","syntax":"<urange>#"}}}},"properties":{"-moz-background-clip":{"comment":"deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip","syntax":"padding | border"},"-moz-border-radius-bottomleft":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius","syntax":"<\'border-bottom-left-radius\'>"},"-moz-border-radius-bottomright":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius","syntax":"<\'border-bottom-right-radius\'>"},"-moz-border-radius-topleft":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius","syntax":"<\'border-top-left-radius\'>"},"-moz-border-radius-topright":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius","syntax":"<\'border-bottom-right-radius\'>"},"-moz-control-character-visibility":{"comment":"firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588","syntax":"visible | hidden"},"-moz-osx-font-smoothing":{"comment":"misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","syntax":"auto | grayscale"},"-moz-user-select":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/user-select","syntax":"none | text | all | -moz-none"},"-ms-flex-align":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align","syntax":"start | end | center | baseline | stretch"},"-ms-flex-item-align":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align","syntax":"auto | start | end | center | baseline | stretch"},"-ms-flex-line-pack":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack","syntax":"start | end | center | justify | distribute | stretch"},"-ms-flex-negative":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-shrink\'>"},"-ms-flex-pack":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack","syntax":"start | end | center | justify | distribute"},"-ms-flex-order":{"comment":"misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx","syntax":"<integer>"},"-ms-flex-positive":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-grow\'>"},"-ms-flex-preferred-size":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-basis\'>"},"-ms-interpolation-mode":{"comment":"https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx","syntax":"nearest-neighbor | bicubic"},"-ms-grid-column-align":{"comment":"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx","syntax":"start | end | center | stretch"},"-ms-grid-row-align":{"comment":"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx","syntax":"start | end | center | stretch"},"-ms-hyphenate-limit-last":{"comment":"misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits","syntax":"none | always | column | page | spread"},"-webkit-appearance":{"comment":"webkit specific keywords","references":["http://css-infos.net/property/-webkit-appearance"],"syntax":"none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button"},"-webkit-background-clip":{"comment":"https://developer.mozilla.org/en/docs/Web/CSS/background-clip","syntax":"[ <box> | border | padding | content | text ]#"},"-webkit-column-break-after":{"comment":"added, http://help.dottoro.com/lcrthhhv.php","syntax":"always | auto | avoid"},"-webkit-column-break-before":{"comment":"added, http://help.dottoro.com/lcxquvkf.php","syntax":"always | auto | avoid"},"-webkit-column-break-inside":{"comment":"added, http://help.dottoro.com/lclhnthl.php","syntax":"always | auto | avoid"},"-webkit-font-smoothing":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","syntax":"auto | none | antialiased | subpixel-antialiased"},"-webkit-mask-box-image":{"comment":"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image","syntax":"[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?"},"-webkit-print-color-adjust":{"comment":"missed","references":["https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust"],"syntax":"economy | exact"},"-webkit-text-security":{"comment":"missed; http://help.dottoro.com/lcbkewgt.php","syntax":"none | circle | disc | square"},"-webkit-user-drag":{"comment":"missed; http://help.dottoro.com/lcbixvwm.php","syntax":"none | element | auto"},"-webkit-user-select":{"comment":"auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select","syntax":"auto | none | text | all"},"alignment-baseline":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty"],"syntax":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical"},"baseline-shift":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty"],"syntax":"baseline | sub | super | <svg-length>"},"behavior":{"comment":"added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx","syntax":"<url>+"},"clip-rule":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty"],"syntax":"nonzero | evenodd"},"cue":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'cue-before\'> <\'cue-after\'>?"},"cue-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<url> <decibel>? | none"},"cue-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<url> <decibel>? | none"},"cursor":{"comment":"added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out","references":["https://www.sitepoint.com/css3-cursor-styles/"],"syntax":"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]"},"display":{"comment":"extended with -ms-flexbox","syntax":"| <-non-standard-display>"},"position":{"comment":"extended with -webkit-sticky","syntax":"| -webkit-sticky"},"dominant-baseline":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty"],"syntax":"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge"},"image-rendering":{"comment":"extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality","references":["https://developer.mozilla.org/en/docs/Web/CSS/image-rendering","https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty"],"syntax":"| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>"},"fill":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"<paint>"},"fill-opacity":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"<number-zero-one>"},"fill-rule":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"nonzero | evenodd"},"filter":{"comment":"extend with IE legacy syntaxes","syntax":"| <-ms-filter-function-list>"},"glyph-orientation-horizontal":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty"],"syntax":"<angle>"},"glyph-orientation-vertical":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty"],"syntax":"<angle>"},"kerning":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#KerningProperty"],"syntax":"auto | <svg-length>"},"letter-spacing":{"comment":"fix syntax <length> -> <length-percentage>","references":["https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing"],"syntax":"normal | <length-percentage>"},"marker":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-end":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-mid":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-start":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"max-width":{"comment":"fix auto -> none (https://github.com/mdn/data/pull/431); extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width","syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>"},"width":{"comment":"per spec fit-content should be a function, however browsers are supporting it as a keyword (https://github.com/csstree/stylelint-validator/issues/29)","syntax":"| fit-content | -moz-fit-content | -webkit-fit-content"},"min-width":{"comment":"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width","syntax":"auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>"},"overflow":{"comment":"extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow","syntax":"| <-non-standard-overflow>"},"pause":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'pause-before\'> <\'pause-after\'>?"},"pause-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"pause-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"rest":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'rest-before\'> <\'rest-after\'>?"},"rest-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"rest-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"shape-rendering":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert"],"syntax":"auto | optimizeSpeed | crispEdges | geometricPrecision"},"src":{"comment":"added @font-face\'s src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src","syntax":"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#"},"speak":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"auto | none | normal"},"speak-as":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"normal | spell-out || digits || [ literal-punctuation | no-punctuation ]"},"stroke":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<paint>"},"stroke-dasharray":{"comment":"added SVG property; a list of comma and/or white space separated <length>s and <percentage>s","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"none | [ <svg-length>+ ]#"},"stroke-dashoffset":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<svg-length>"},"stroke-linecap":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"butt | round | square"},"stroke-linejoin":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"miter | round | bevel"},"stroke-miterlimit":{"comment":"added SVG property (<miterlimit> = <number-one-or-greater>) ","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<number-one-or-greater>"},"stroke-opacity":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<number-zero-one>"},"stroke-width":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<svg-length>"},"text-anchor":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties"],"syntax":"start | middle | end"},"unicode-bidi":{"comment":"added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi","syntax":"| -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate | -webkit-isolate-override | -webkit-plaintext"},"unicode-range":{"comment":"added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range","syntax":"<urange>#"},"voice-balance":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<number> | left | center | right | leftwards | rightwards"},"voice-duration":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"auto | <time>"},"voice-family":{"comment":"<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index","syntax":"[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve"},"voice-pitch":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"},"voice-range":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"},"voice-rate":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>"},"voice-stress":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"normal | strong | moderate | none | reduced"},"voice-volume":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]"},"writing-mode":{"comment":"extend with SVG keywords","syntax":"| <svg-writing-mode>"}},"syntaxes":{"-legacy-gradient":{"comment":"added collection of legacy gradient syntaxes","syntax":"<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>"},"-legacy-linear-gradient":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )"},"-legacy-repeating-linear-gradient":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )"},"-legacy-linear-gradient-arguments":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"[ <angle> | <side-or-corner> ]? , <color-stop-list>"},"-legacy-radial-gradient":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )"},"-legacy-repeating-radial-gradient":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )"},"-legacy-radial-gradient-arguments":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>"},"-legacy-radial-gradient-size":{"comment":"before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize","syntax":"closest-side | closest-corner | farthest-side | farthest-corner | contain | cover"},"-legacy-radial-gradient-shape":{"comment":"define to double sure it doesn\'t extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape","syntax":"circle | ellipse"},"-non-standard-font":{"comment":"non standard fonts","references":["https://webkit.org/blog/3709/using-the-system-font-in-web-content/"],"syntax":"-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body"},"-non-standard-color":{"comment":"non standard colors","references":["http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html","https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions"],"syntax":"-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text"},"-non-standard-image-rendering":{"comment":"non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html","syntax":"optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast"},"-non-standard-overflow":{"comment":"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow","syntax":"-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable"},"-non-standard-width":{"comment":"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width","syntax":"fill-available | min-intrinsic | intrinsic | -moz-available | -moz-fit-content | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content"},"-webkit-gradient()":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )","syntax":"-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )"},"-webkit-gradient-color-stop":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )"},"-webkit-gradient-point":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]"},"-webkit-gradient-radius":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"<length> | <percentage>"},"-webkit-gradient-type":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"linear | radial"},"-webkit-mask-box-repeat":{"comment":"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image","syntax":"repeat | stretch | round"},"-webkit-mask-clip-style":{"comment":"missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working","syntax":"border | border-box | padding | padding-box | content | content-box | text"},"-ms-filter-function-list":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<-ms-filter-function>+"},"-ms-filter-function":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<-ms-filter-function-progid> | <-ms-filter-function-legacy>"},"-ms-filter-function-progid":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"\'progid:\' [ <ident-token> \'.\' ]* [ <ident-token> | <function-token> <any-value>? ) ]"},"-ms-filter-function-legacy":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<ident-token> | <function-token> <any-value>? )"},"-ms-filter":{"syntax":"<string>"},"age":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"child | young | old"},"attr-name":{"syntax":"<wq-name>"},"attr-fallback":{"syntax":"<any-value>"},"border-radius":{"comment":"missed, https://drafts.csswg.org/css-backgrounds-3/#the-border-radius","syntax":"<length-percentage>{1,2}"},"bottom":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"content-list":{"comment":"missed -> https://drafts.csswg.org/css-content/#typedef-content-list (document-url, <target> and leader() is omitted util stabilization)","syntax":"[ <string> | contents | <image> | <quote> | <target> | <leader()> | <attr()> | counter( <ident>, <\'list-style-type\'>? ) ]+"},"element()":{"comment":"https://drafts.csswg.org/css-gcpm/#element-syntax & https://drafts.csswg.org/css-images-4/#element-notation","syntax":"element( <custom-ident> , [ first | start | last | first-except ]? ) | element( <id-selector> )"},"generic-voice":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"[ <age>? <gender> <integer>? ]"},"gender":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"male | female | neutral"},"generic-family":{"comment":"added -apple-system","references":["https://webkit.org/blog/3709/using-the-system-font-in-web-content/"],"syntax":"| -apple-system"},"gradient":{"comment":"added legacy syntaxes support","syntax":"| <-legacy-gradient>"},"left":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"mask-image":{"comment":"missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image","syntax":"<mask-reference>#"},"name-repeat":{"comment":"missed, and looks like obsolete, keep it as is since other property syntaxes should be changed too; https://www.w3.org/TR/2015/WD-css-grid-1-20150917/#typedef-name-repeat","syntax":"repeat( [ <positive-integer> | auto-fill ], <line-names>+)"},"named-color":{"comment":"added non standard color names","syntax":"| <-non-standard-color>"},"paint":{"comment":"used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint","syntax":"none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke"},"page-size":{"comment":"https://www.w3.org/TR/css-page-3/#typedef-page-size-page-size","syntax":"A5 | A4 | A3 | B5 | B4 | JIS-B5 | JIS-B4 | letter | legal | ledger"},"ratio":{"comment":"missed, https://drafts.csswg.org/mediaqueries-4/#typedef-ratio","syntax":"<integer> / <integer>"},"right":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"shape":{"comment":"missed spaces in function body and add backwards compatible syntax","syntax":"rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )"},"svg-length":{"comment":"All coordinates and lengths in SVG can be specified with or without a unit identifier","references":["https://www.w3.org/TR/SVG11/coords.html#Units"],"syntax":"<percentage> | <length> | <number>"},"svg-writing-mode":{"comment":"SVG specific keywords (deprecated for CSS)","references":["https://developer.mozilla.org/en/docs/Web/CSS/writing-mode","https://www.w3.org/TR/SVG/text.html#WritingModeProperty"],"syntax":"lr-tb | rl-tb | tb-rl | lr | rl | tb"},"top":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"track-group":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"\'(\' [ <string>* <track-minmax> <string>* ]+ \')\' [ \'[\' <positive-integer> \']\' ]? | <track-minmax>"},"track-list-v0":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"[ <string>* <track-group> <string>* ]+ | none"},"track-minmax":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"minmax( <track-breadth> , <track-breadth> ) | auto | <track-breadth> | fit-content"},"x":{"comment":"missed; not sure we should add it, but no others except `cursor` is using it so it\'s ok for now; https://drafts.csswg.org/css-ui-3/#cursor","syntax":"<number>"},"y":{"comment":"missed; not sure we should add it, but no others except `cursor` is using so it\'s ok for now; https://drafts.csswg.org/css-ui-3/#cursor","syntax":"<number>"},"declaration":{"comment":"missed, restored by https://drafts.csswg.org/css-syntax","syntax":"<ident-token> : <declaration-value>? [ \'!\' important ]?"},"declaration-list":{"comment":"missed, restored by https://drafts.csswg.org/css-syntax","syntax":"[ <declaration>? \';\' ]* <declaration>?"},"url":{"comment":"https://drafts.csswg.org/css-values-4/#urls","syntax":"url( <string> <url-modifier>* ) | <url-token>"},"url-modifier":{"comment":"https://drafts.csswg.org/css-values-4/#typedef-url-modifier","syntax":"<ident> | <function-token> <any-value> )"},"number-zero-one":{"syntax":"<number [0,1]>"},"number-one-or-greater":{"syntax":"<number [1,∞]>"},"positive-integer":{"syntax":"<integer [0,∞]>"},"-non-standard-display":{"syntax":"-ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box"}}}')},function(A,e,t){var n=t(4).cmpChar,i=t(4).isDigit,r=t(4).TYPE,s=r.WhiteSpace,o=r.Comment,a=r.Ident,B=r.Number,c=r.Dimension,g=110;function Q(A,e){var t=this.scanner.tokenStart+A,n=this.scanner.source.charCodeAt(t);for(43!==n&&45!==n||(e&&this.error("Number sign is not allowed"),t++);t<this.scanner.tokenEnd;t++)i(this.scanner.source.charCodeAt(t))||this.error("Integer is expected",t)}function E(A){return Q.call(this,0,A)}function l(A,e){if(!n(this.scanner.source,this.scanner.tokenStart+A,e)){var t="";switch(e){case g:t="N is expected";break;case 45:t="HyphenMinus is expected"}this.error(t,this.scanner.tokenStart+A)}}function u(){for(var A=0,e=0,t=this.scanner.tokenType;t===s||t===o;)t=this.scanner.lookupType(++A);if(t!==B){if(!this.scanner.isDelim(43,A)&&!this.scanner.isDelim(45,A))return null;e=this.scanner.isDelim(43,A)?43:45;do{t=this.scanner.lookupType(++A)}while(t===s||t===o);t!==B&&(this.scanner.skip(A),E.call(this,!0))}return A>0&&this.scanner.skip(A),0===e&&43!==(t=this.scanner.source.charCodeAt(this.scanner.tokenStart))&&45!==t&&this.error("Number sign is expected"),E.call(this,0!==e),45===e?"-"+this.consume(B):this.consume(B)}A.exports={name:"AnPlusB",structure:{a:[String,null],b:[String,null]},parse:function(){var A=this.scanner.tokenStart,e=null,t=null;if(this.scanner.tokenType===B)E.call(this,!1),t=this.consume(B);else if(this.scanner.tokenType===a&&n(this.scanner.source,this.scanner.tokenStart,45))switch(e="-1",l.call(this,1,g),this.scanner.getTokenLength()){case 2:this.scanner.next(),t=u.call(this);break;case 3:l.call(this,2,45),this.scanner.next(),this.scanner.skipSC(),E.call(this,!0),t="-"+this.consume(B);break;default:l.call(this,2,45),Q.call(this,3,!0),this.scanner.next(),t=this.scanner.substrToCursor(A+2)}else if(this.scanner.tokenType===a||this.scanner.isDelim(43)&&this.scanner.lookupType(1)===a){var r=0;switch(e="1",this.scanner.isDelim(43)&&(r=1,this.scanner.next()),l.call(this,0,g),this.scanner.getTokenLength()){case 1:this.scanner.next(),t=u.call(this);break;case 2:l.call(this,1,45),this.scanner.next(),this.scanner.skipSC(),E.call(this,!0),t="-"+this.consume(B);break;default:l.call(this,1,45),Q.call(this,2,!0),this.scanner.next(),t=this.scanner.substrToCursor(A+r+1)}}else if(this.scanner.tokenType===c){for(var s=this.scanner.source.charCodeAt(this.scanner.tokenStart),o=(r=43===s||45===s,this.scanner.tokenStart+r);o<this.scanner.tokenEnd&&i(this.scanner.source.charCodeAt(o));o++);o===this.scanner.tokenStart+r&&this.error("Integer is expected",this.scanner.tokenStart+r),l.call(this,o-this.scanner.tokenStart,g),e=this.scanner.source.substring(A,o),o+1===this.scanner.tokenEnd?(this.scanner.next(),t=u.call(this)):(l.call(this,o-this.scanner.tokenStart+1,45),o+2===this.scanner.tokenEnd?(this.scanner.next(),this.scanner.skipSC(),E.call(this,!0),t="-"+this.consume(B)):(Q.call(this,o-this.scanner.tokenStart+2,!0),this.scanner.next(),t=this.scanner.substrToCursor(o+1)))}else this.error();return null!==e&&43===e.charCodeAt(0)&&(e=e.substr(1)),null!==t&&43===t.charCodeAt(0)&&(t=t.substr(1)),{type:"AnPlusB",loc:this.getLocation(A,this.scanner.tokenStart),a:e,b:t}},generate:function(A){var e=null!==A.a&&void 0!==A.a,t=null!==A.b&&void 0!==A.b;e?(this.chunk("+1"===A.a?"+n":"1"===A.a?"n":"-1"===A.a?"-n":A.a+"n"),t&&("-"===(t=String(A.b)).charAt(0)||"+"===t.charAt(0)?(this.chunk(t.charAt(0)),this.chunk(t.substr(1))):(this.chunk("+"),this.chunk(t)))):this.chunk(String(A.b))}}},function(A,e,t){var n=t(4).TYPE,i=t(34).mode,r=n.AtKeyword,s=n.Semicolon,o=n.LeftCurlyBracket,a=n.RightCurlyBracket;function B(A){return this.Raw(A,i.leftCurlyBracketOrSemicolon,!0)}function c(){for(var A,e=1;A=this.scanner.lookupType(e);e++){if(A===a)return!0;if(A===o||A===r)return!1}return!1}A.exports={name:"Atrule",structure:{name:String,prelude:["AtrulePrelude","Raw",null],block:["Block",null]},parse:function(){var A,e,t=this.scanner.tokenStart,n=null,i=null;switch(this.eat(r),e=(A=this.scanner.substrToCursor(t+1)).toLowerCase(),this.scanner.skipSC(),!1===this.scanner.eof&&this.scanner.tokenType!==o&&this.scanner.tokenType!==s&&(this.parseAtrulePrelude?"AtrulePrelude"===(n=this.parseWithFallback(this.AtrulePrelude.bind(this,A),B)).type&&null===n.children.head&&(n=null):n=B.call(this,this.scanner.tokenIndex),this.scanner.skipSC()),this.scanner.tokenType){case s:this.scanner.next();break;case o:i=this.atrule.hasOwnProperty(e)&&"function"==typeof this.atrule[e].block?this.atrule[e].block.call(this):this.Block(c.call(this))}return{type:"Atrule",loc:this.getLocation(t,this.scanner.tokenStart),name:A,prelude:n,block:i}},generate:function(A){this.chunk("@"),this.chunk(A.name),null!==A.prelude&&(this.chunk(" "),this.node(A.prelude)),A.block?this.node(A.block):this.chunk(";")},walkContext:"atrule"}},function(A,e,t){var n=t(4).TYPE,i=n.Semicolon,r=n.LeftCurlyBracket;A.exports={name:"AtrulePrelude",structure:{children:[[]]},parse:function(A){var e=null;return null!==A&&(A=A.toLowerCase()),this.scanner.skipSC(),e=this.atrule.hasOwnProperty(A)&&"function"==typeof this.atrule[A].prelude?this.atrule[A].prelude.call(this):this.readSequence(this.scope.AtrulePrelude),this.scanner.skipSC(),!0!==this.scanner.eof&&this.scanner.tokenType!==r&&this.scanner.tokenType!==i&&this.error("Semicolon or block is expected"),null===e&&(e=this.createList()),{type:"AtrulePrelude",loc:this.getLocationFromList(e),children:e}},generate:function(A){this.children(A)},walkContext:"atrulePrelude"}},function(A,e,t){var n=t(4).TYPE,i=n.Ident,r=n.String,s=n.Colon,o=n.LeftSquareBracket,a=n.RightSquareBracket;function B(){this.scanner.eof&&this.error("Unexpected end of input");var A=this.scanner.tokenStart,e=!1,t=!0;return this.scanner.isDelim(42)?(e=!0,t=!1,this.scanner.next()):this.scanner.isDelim(124)||this.eat(i),this.scanner.isDelim(124)?61!==this.scanner.source.charCodeAt(this.scanner.tokenStart+1)?(this.scanner.next(),this.eat(i)):e&&this.error("Identifier is expected",this.scanner.tokenEnd):e&&this.error("Vertical line is expected"),t&&this.scanner.tokenType===s&&(this.scanner.next(),this.eat(i)),{type:"Identifier",loc:this.getLocation(A,this.scanner.tokenStart),name:this.scanner.substrToCursor(A)}}function c(){var A=this.scanner.tokenStart,e=this.scanner.source.charCodeAt(A);return 61!==e&&126!==e&&94!==e&&36!==e&&42!==e&&124!==e&&this.error("Attribute selector (=, ~=, ^=, $=, *=, |=) is expected"),this.scanner.next(),61!==e&&(this.scanner.isDelim(61)||this.error("Equal sign is expected"),this.scanner.next()),this.scanner.substrToCursor(A)}A.exports={name:"AttributeSelector",structure:{name:"Identifier",matcher:[String,null],value:["String","Identifier",null],flags:[String,null]},parse:function(){var A,e=this.scanner.tokenStart,t=null,n=null,s=null;return this.eat(o),this.scanner.skipSC(),A=B.call(this),this.scanner.skipSC(),this.scanner.tokenType!==a&&(this.scanner.tokenType!==i&&(t=c.call(this),this.scanner.skipSC(),n=this.scanner.tokenType===r?this.String():this.Identifier(),this.scanner.skipSC()),this.scanner.tokenType===i&&(s=this.scanner.getTokenValue(),this.scanner.next(),this.scanner.skipSC())),this.eat(a),{type:"AttributeSelector",loc:this.getLocation(e,this.scanner.tokenStart),name:A,matcher:t,value:n,flags:s}},generate:function(A){var e=" ";this.chunk("["),this.node(A.name),null!==A.matcher&&(this.chunk(A.matcher),null!==A.value&&(this.node(A.value),"String"===A.value.type&&(e=""))),null!==A.flags&&(this.chunk(e),this.chunk(A.flags)),this.chunk("]")}}},function(A,e,t){var n=t(4).TYPE,i=t(34).mode,r=n.WhiteSpace,s=n.Comment,o=n.Semicolon,a=n.AtKeyword,B=n.LeftCurlyBracket,c=n.RightCurlyBracket;function g(A){return this.Raw(A,null,!0)}function Q(){return this.parseWithFallback(this.Rule,g)}function E(A){return this.Raw(A,i.semicolonIncluded,!0)}function l(){if(this.scanner.tokenType===o)return E.call(this,this.scanner.tokenIndex);var A=this.parseWithFallback(this.Declaration,E);return this.scanner.tokenType===o&&this.scanner.next(),A}A.exports={name:"Block",structure:{children:[["Atrule","Rule","Declaration"]]},parse:function(A){var e=A?l:Q,t=this.scanner.tokenStart,n=this.createList();this.eat(B);A:for(;!this.scanner.eof;)switch(this.scanner.tokenType){case c:break A;case r:case s:this.scanner.next();break;case a:n.push(this.parseWithFallback(this.Atrule,g));break;default:n.push(e.call(this))}return this.scanner.eof||this.eat(c),{type:"Block",loc:this.getLocation(t,this.scanner.tokenStart),children:n}},generate:function(A){this.chunk("{"),this.children(A,(function(A){"Declaration"===A.type&&this.chunk(";")})),this.chunk("}")},walkContext:"block"}},function(A,e,t){var n=t(4).TYPE,i=n.LeftSquareBracket,r=n.RightSquareBracket;A.exports={name:"Brackets",structure:{children:[[]]},parse:function(A,e){var t,n=this.scanner.tokenStart;return this.eat(i),t=A.call(this,e),this.scanner.eof||this.eat(r),{type:"Brackets",loc:this.getLocation(n,this.scanner.tokenStart),children:t}},generate:function(A){this.chunk("["),this.children(A),this.chunk("]")}}},function(A,e,t){var n=t(4).TYPE.CDC;A.exports={name:"CDC",structure:[],parse:function(){var A=this.scanner.tokenStart;return this.eat(n),{type:"CDC",loc:this.getLocation(A,this.scanner.tokenStart)}},generate:function(){this.chunk("--\x3e")}}},function(A,e,t){var n=t(4).TYPE.CDO;A.exports={name:"CDO",structure:[],parse:function(){var A=this.scanner.tokenStart;return this.eat(n),{type:"CDO",loc:this.getLocation(A,this.scanner.tokenStart)}},generate:function(){this.chunk("\x3c!--")}}},function(A,e,t){var n=t(4).TYPE.Ident;A.exports={name:"ClassSelector",structure:{name:String},parse:function(){return this.scanner.isDelim(46)||this.error("Full stop is expected"),this.scanner.next(),{type:"ClassSelector",loc:this.getLocation(this.scanner.tokenStart-1,this.scanner.tokenEnd),name:this.consume(n)}},generate:function(A){this.chunk("."),this.chunk(A.name)}}},function(A,e,t){var n=t(4).TYPE.Ident;A.exports={name:"Combinator",structure:{name:String},parse:function(){var A=this.scanner.tokenStart;switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 62:case 43:case 126:this.scanner.next();break;case 47:this.scanner.next(),this.scanner.tokenType===n&&!1!==this.scanner.lookupValue(0,"deep")||this.error("Identifier `deep` is expected"),this.scanner.next(),this.scanner.isDelim(47)||this.error("Solidus is expected"),this.scanner.next();break;default:this.error("Combinator is expected")}return{type:"Combinator",loc:this.getLocation(A,this.scanner.tokenStart),name:this.scanner.substrToCursor(A)}},generate:function(A){this.chunk(A.name)}}},function(A,e,t){var n=t(4).TYPE.Comment;A.exports={name:"Comment",structure:{value:String},parse:function(){var A=this.scanner.tokenStart,e=this.scanner.tokenEnd;return this.eat(n),e-A+2>=2&&42===this.scanner.source.charCodeAt(e-2)&&47===this.scanner.source.charCodeAt(e-1)&&(e-=2),{type:"Comment",loc:this.getLocation(A,this.scanner.tokenStart),value:this.scanner.source.substring(A+2,e)}},generate:function(A){this.chunk("/*"),this.chunk(A.value),this.chunk("*/")}}},function(A,e,t){var n=t(85).isCustomProperty,i=t(4).TYPE,r=t(34).mode,s=i.Ident,o=i.Hash,a=i.Colon,B=i.Semicolon,c=i.Delim,g=i.WhiteSpace;function Q(A){return this.Raw(A,r.exclamationMarkOrSemicolon,!0)}function E(A){return this.Raw(A,r.exclamationMarkOrSemicolon,!1)}function l(){var A=this.scanner.tokenIndex,e=this.Value();return"Raw"!==e.type&&!1===this.scanner.eof&&this.scanner.tokenType!==B&&!1===this.scanner.isDelim(33)&&!1===this.scanner.isBalanceEdge(A)&&this.error(),e}function u(){var A=this.scanner.tokenStart;if(this.scanner.tokenType===c)switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 42:case 36:case 43:case 35:case 38:this.scanner.next();break;case 47:this.scanner.next(),this.scanner.isDelim(47)&&this.scanner.next()}return this.scanner.tokenType===o?this.eat(o):this.eat(s),this.scanner.substrToCursor(A)}function w(){this.eat(c),this.scanner.skipSC();var A=this.consume(s);return"important"===A||A}A.exports={name:"Declaration",structure:{important:[Boolean,String],property:String,value:["Value","Raw"]},parse:function(){var A,e=this.scanner.tokenStart,t=this.scanner.tokenIndex,i=u.call(this),r=n(i),s=r?this.parseCustomProperty:this.parseValue,o=r?E:Q,c=!1;this.scanner.skipSC(),this.eat(a);const h=this.scanner.tokenIndex;if(r||this.scanner.skipSC(),A=s?this.parseWithFallback(l,o):o.call(this,this.scanner.tokenIndex),r&&"Value"===A.type&&A.children.isEmpty())for(let e=h-this.scanner.tokenIndex;e<=0;e++)if(this.scanner.lookupType(e)===g){A.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}return this.scanner.isDelim(33)&&(c=w.call(this),this.scanner.skipSC()),!1===this.scanner.eof&&this.scanner.tokenType!==B&&!1===this.scanner.isBalanceEdge(t)&&this.error(),{type:"Declaration",loc:this.getLocation(e,this.scanner.tokenStart),important:c,property:i,value:A}},generate:function(A){this.chunk(A.property),this.chunk(":"),this.node(A.value),A.important&&this.chunk(!0===A.important?"!important":"!"+A.important)},walkContext:"declaration"}},function(A,e,t){var n=t(4).TYPE,i=t(34).mode,r=n.WhiteSpace,s=n.Comment,o=n.Semicolon;function a(A){return this.Raw(A,i.semicolonIncluded,!0)}A.exports={name:"DeclarationList",structure:{children:[["Declaration"]]},parse:function(){for(var A=this.createList();!this.scanner.eof;)switch(this.scanner.tokenType){case r:case s:case o:this.scanner.next();break;default:A.push(this.parseWithFallback(this.Declaration,a))}return{type:"DeclarationList",loc:this.getLocationFromList(A),children:A}},generate:function(A){this.children(A,(function(A){"Declaration"===A.type&&this.chunk(";")}))}}},function(A,e,t){var n=t(48).consumeNumber,i=t(4).TYPE.Dimension;A.exports={name:"Dimension",structure:{value:String,unit:String},parse:function(){var A=this.scanner.tokenStart,e=n(this.scanner.source,A);return this.eat(i),{type:"Dimension",loc:this.getLocation(A,this.scanner.tokenStart),value:this.scanner.source.substring(A,e),unit:this.scanner.source.substring(e,this.scanner.tokenStart)}},generate:function(A){this.chunk(A.value),this.chunk(A.unit)}}},function(A,e,t){var n=t(4).TYPE.RightParenthesis;A.exports={name:"Function",structure:{name:String,children:[[]]},parse:function(A,e){var t,i=this.scanner.tokenStart,r=this.consumeFunctionName(),s=r.toLowerCase();return t=e.hasOwnProperty(s)?e[s].call(this,e):A.call(this,e),this.scanner.eof||this.eat(n),{type:"Function",loc:this.getLocation(i,this.scanner.tokenStart),name:r,children:t}},generate:function(A){this.chunk(A.name),this.chunk("("),this.children(A),this.chunk(")")},walkContext:"function"}},function(A,e,t){var n=t(4).TYPE.Hash;A.exports={name:"Hash",structure:{value:String},parse:function(){var A=this.scanner.tokenStart;return this.eat(n),{type:"Hash",loc:this.getLocation(A,this.scanner.tokenStart),value:this.scanner.substrToCursor(A+1)}},generate:function(A){this.chunk("#"),this.chunk(A.value)}}},function(A,e,t){var n=t(4).TYPE.Ident;A.exports={name:"Identifier",structure:{name:String},parse:function(){return{type:"Identifier",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),name:this.consume(n)}},generate:function(A){this.chunk(A.name)}}},function(A,e,t){var n=t(4).TYPE.Hash;A.exports={name:"IdSelector",structure:{name:String},parse:function(){var A=this.scanner.tokenStart;return this.eat(n),{type:"IdSelector",loc:this.getLocation(A,this.scanner.tokenStart),name:this.scanner.substrToCursor(A+1)}},generate:function(A){this.chunk("#"),this.chunk(A.name)}}},function(A,e,t){var n=t(4).TYPE,i=n.Ident,r=n.Number,s=n.Dimension,o=n.LeftParenthesis,a=n.RightParenthesis,B=n.Colon,c=n.Delim;A.exports={name:"MediaFeature",structure:{name:String,value:["Identifier","Number","Dimension","Ratio",null]},parse:function(){var A,e=this.scanner.tokenStart,t=null;if(this.eat(o),this.scanner.skipSC(),A=this.consume(i),this.scanner.skipSC(),this.scanner.tokenType!==a){switch(this.eat(B),this.scanner.skipSC(),this.scanner.tokenType){case r:t=this.lookupNonWSType(1)===c?this.Ratio():this.Number();break;case s:t=this.Dimension();break;case i:t=this.Identifier();break;default:this.error("Number, dimension, ratio or identifier is expected")}this.scanner.skipSC()}return this.eat(a),{type:"MediaFeature",loc:this.getLocation(e,this.scanner.tokenStart),name:A,value:t}},generate:function(A){this.chunk("("),this.chunk(A.name),null!==A.value&&(this.chunk(":"),this.node(A.value)),this.chunk(")")}}},function(A,e,t){var n=t(4).TYPE,i=n.WhiteSpace,r=n.Comment,s=n.Ident,o=n.LeftParenthesis;A.exports={name:"MediaQuery",structure:{children:[["Identifier","MediaFeature","WhiteSpace"]]},parse:function(){this.scanner.skipSC();var A=this.createList(),e=null,t=null;A:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case r:this.scanner.next();continue;case i:t=this.WhiteSpace();continue;case s:e=this.Identifier();break;case o:e=this.MediaFeature();break;default:break A}null!==t&&(A.push(t),t=null),A.push(e)}return null===e&&this.error("Identifier or parenthesis is expected"),{type:"MediaQuery",loc:this.getLocationFromList(A),children:A}},generate:function(A){this.children(A)}}},function(A,e,t){var n=t(4).TYPE.Comma;A.exports={name:"MediaQueryList",structure:{children:[["MediaQuery"]]},parse:function(A){var e=this.createList();for(this.scanner.skipSC();!this.scanner.eof&&(e.push(this.MediaQuery(A)),this.scanner.tokenType===n);)this.scanner.next();return{type:"MediaQueryList",loc:this.getLocationFromList(e),children:e}},generate:function(A){this.children(A,(function(){this.chunk(",")}))}}},function(A,e){A.exports={name:"Nth",structure:{nth:["AnPlusB","Identifier"],selector:["SelectorList",null]},parse:function(A){this.scanner.skipSC();var e,t=this.scanner.tokenStart,n=t,i=null;return e=this.scanner.lookupValue(0,"odd")||this.scanner.lookupValue(0,"even")?this.Identifier():this.AnPlusB(),this.scanner.skipSC(),A&&this.scanner.lookupValue(0,"of")?(this.scanner.next(),i=this.SelectorList(),this.needPositions&&(n=this.getLastListNode(i.children).loc.end.offset)):this.needPositions&&(n=e.loc.end.offset),{type:"Nth",loc:this.getLocation(t,n),nth:e,selector:i}},generate:function(A){this.node(A.nth),null!==A.selector&&(this.chunk(" of "),this.node(A.selector))}}},function(A,e,t){var n=t(4).TYPE.Number;A.exports={name:"Number",structure:{value:String},parse:function(){return{type:"Number",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),value:this.consume(n)}},generate:function(A){this.chunk(A.value)}}},function(A,e){A.exports={name:"Operator",structure:{value:String},parse:function(){var A=this.scanner.tokenStart;return this.scanner.next(),{type:"Operator",loc:this.getLocation(A,this.scanner.tokenStart),value:this.scanner.substrToCursor(A)}},generate:function(A){this.chunk(A.value)}}},function(A,e,t){var n=t(4).TYPE,i=n.LeftParenthesis,r=n.RightParenthesis;A.exports={name:"Parentheses",structure:{children:[[]]},parse:function(A,e){var t,n=this.scanner.tokenStart;return this.eat(i),t=A.call(this,e),this.scanner.eof||this.eat(r),{type:"Parentheses",loc:this.getLocation(n,this.scanner.tokenStart),children:t}},generate:function(A){this.chunk("("),this.children(A),this.chunk(")")}}},function(A,e,t){var n=t(48).consumeNumber,i=t(4).TYPE.Percentage;A.exports={name:"Percentage",structure:{value:String},parse:function(){var A=this.scanner.tokenStart,e=n(this.scanner.source,A);return this.eat(i),{type:"Percentage",loc:this.getLocation(A,this.scanner.tokenStart),value:this.scanner.source.substring(A,e)}},generate:function(A){this.chunk(A.value),this.chunk("%")}}},function(A,e,t){var n=t(4).TYPE,i=n.Ident,r=n.Function,s=n.Colon,o=n.RightParenthesis;A.exports={name:"PseudoClassSelector",structure:{name:String,children:[["Raw"],null]},parse:function(){var A,e,t=this.scanner.tokenStart,n=null;return this.eat(s),this.scanner.tokenType===r?(e=(A=this.consumeFunctionName()).toLowerCase(),this.pseudo.hasOwnProperty(e)?(this.scanner.skipSC(),n=this.pseudo[e].call(this),this.scanner.skipSC()):(n=this.createList()).push(this.Raw(this.scanner.tokenIndex,null,!1)),this.eat(o)):A=this.consume(i),{type:"PseudoClassSelector",loc:this.getLocation(t,this.scanner.tokenStart),name:A,children:n}},generate:function(A){this.chunk(":"),this.chunk(A.name),null!==A.children&&(this.chunk("("),this.children(A),this.chunk(")"))},walkContext:"function"}},function(A,e,t){var n=t(4).TYPE,i=n.Ident,r=n.Function,s=n.Colon,o=n.RightParenthesis;A.exports={name:"PseudoElementSelector",structure:{name:String,children:[["Raw"],null]},parse:function(){var A,e,t=this.scanner.tokenStart,n=null;return this.eat(s),this.eat(s),this.scanner.tokenType===r?(e=(A=this.consumeFunctionName()).toLowerCase(),this.pseudo.hasOwnProperty(e)?(this.scanner.skipSC(),n=this.pseudo[e].call(this),this.scanner.skipSC()):(n=this.createList()).push(this.Raw(this.scanner.tokenIndex,null,!1)),this.eat(o)):A=this.consume(i),{type:"PseudoElementSelector",loc:this.getLocation(t,this.scanner.tokenStart),name:A,children:n}},generate:function(A){this.chunk("::"),this.chunk(A.name),null!==A.children&&(this.chunk("("),this.children(A),this.chunk(")"))},walkContext:"function"}},function(A,e,t){var n=t(4).isDigit,i=t(4).TYPE,r=i.Number,s=i.Delim;function o(){this.scanner.skipWS();for(var A=this.consume(r),e=0;e<A.length;e++){var t=A.charCodeAt(e);n(t)||46===t||this.error("Unsigned number is expected",this.scanner.tokenStart-A.length+e)}return 0===Number(A)&&this.error("Zero number is not allowed",this.scanner.tokenStart-A.length),A}A.exports={name:"Ratio",structure:{left:String,right:String},parse:function(){var A,e=this.scanner.tokenStart,t=o.call(this);return this.scanner.skipWS(),this.scanner.isDelim(47)||this.error("Solidus is expected"),this.eat(s),A=o.call(this),{type:"Ratio",loc:this.getLocation(e,this.scanner.tokenStart),left:t,right:A}},generate:function(A){this.chunk(A.left),this.chunk("/"),this.chunk(A.right)}}},function(A,e,t){var n=t(4).TYPE,i=t(34).mode,r=n.LeftCurlyBracket;function s(A){return this.Raw(A,i.leftCurlyBracket,!0)}function o(){var A=this.SelectorList();return"Raw"!==A.type&&!1===this.scanner.eof&&this.scanner.tokenType!==r&&this.error(),A}A.exports={name:"Rule",structure:{prelude:["SelectorList","Raw"],block:["Block"]},parse:function(){var A,e,t=this.scanner.tokenIndex,n=this.scanner.tokenStart;return A=this.parseRulePrelude?this.parseWithFallback(o,s):s.call(this,t),e=this.Block(!0),{type:"Rule",loc:this.getLocation(n,this.scanner.tokenStart),prelude:A,block:e}},generate:function(A){this.node(A.prelude),this.node(A.block)},walkContext:"rule"}},function(A,e){A.exports={name:"Selector",structure:{children:[["TypeSelector","IdSelector","ClassSelector","AttributeSelector","PseudoClassSelector","PseudoElementSelector","Combinator","WhiteSpace"]]},parse:function(){var A=this.readSequence(this.scope.Selector);return null===this.getFirstListNode(A)&&this.error("Selector is expected"),{type:"Selector",loc:this.getLocationFromList(A),children:A}},generate:function(A){this.children(A)}}},function(A,e,t){var n=t(4).TYPE.Comma;A.exports={name:"SelectorList",structure:{children:[["Selector","Raw"]]},parse:function(){for(var A=this.createList();!this.scanner.eof&&(A.push(this.Selector()),this.scanner.tokenType===n);)this.scanner.next();return{type:"SelectorList",loc:this.getLocationFromList(A),children:A}},generate:function(A){this.children(A,(function(){this.chunk(",")}))},walkContext:"selector"}},function(A,e,t){var n=t(4).TYPE.String;A.exports={name:"String",structure:{value:String},parse:function(){return{type:"String",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),value:this.consume(n)}},generate:function(A){this.chunk(A.value)}}},function(A,e,t){var n=t(4).TYPE,i=n.WhiteSpace,r=n.Comment,s=n.AtKeyword,o=n.CDO,a=n.CDC;function B(A){return this.Raw(A,null,!1)}A.exports={name:"StyleSheet",structure:{children:[["Comment","CDO","CDC","Atrule","Rule","Raw"]]},parse:function(){for(var A,e=this.scanner.tokenStart,t=this.createList();!this.scanner.eof;){switch(this.scanner.tokenType){case i:this.scanner.next();continue;case r:if(33!==this.scanner.source.charCodeAt(this.scanner.tokenStart+2)){this.scanner.next();continue}A=this.Comment();break;case o:A=this.CDO();break;case a:A=this.CDC();break;case s:A=this.parseWithFallback(this.Atrule,B);break;default:A=this.parseWithFallback(this.Rule,B)}t.push(A)}return{type:"StyleSheet",loc:this.getLocation(e,this.scanner.tokenStart),children:t}},generate:function(A){this.children(A)},walkContext:"stylesheet"}},function(A,e,t){var n=t(4).TYPE.Ident;function i(){this.scanner.tokenType!==n&&!1===this.scanner.isDelim(42)&&this.error("Identifier or asterisk is expected"),this.scanner.next()}A.exports={name:"TypeSelector",structure:{name:String},parse:function(){var A=this.scanner.tokenStart;return this.scanner.isDelim(124)?(this.scanner.next(),i.call(this)):(i.call(this),this.scanner.isDelim(124)&&(this.scanner.next(),i.call(this))),{type:"TypeSelector",loc:this.getLocation(A,this.scanner.tokenStart),name:this.scanner.substrToCursor(A)}},generate:function(A){this.chunk(A.name)}}},function(A,e,t){var n=t(4).isHexDigit,i=t(4).cmpChar,r=t(4).TYPE,s=t(4).NAME,o=r.Ident,a=r.Number,B=r.Dimension;function c(A,e){for(var t=this.scanner.tokenStart+A,i=0;t<this.scanner.tokenEnd;t++){var r=this.scanner.source.charCodeAt(t);if(45===r&&e&&0!==i)return 0===c.call(this,A+i+1,!1)&&this.error(),-1;n(r)||this.error(e&&0!==i?"HyphenMinus"+(i<6?" or hex digit":"")+" is expected":i<6?"Hex digit is expected":"Unexpected input",t),++i>6&&this.error("Too many hex digits",t)}return this.scanner.next(),i}function g(A){for(var e=0;this.scanner.isDelim(63);)++e>A&&this.error("Too many question marks"),this.scanner.next()}function Q(A){this.scanner.source.charCodeAt(this.scanner.tokenStart)!==A&&this.error(s[A]+" is expected")}function E(){var A=0;return this.scanner.isDelim(43)?(this.scanner.next(),this.scanner.tokenType===o?void((A=c.call(this,0,!0))>0&&g.call(this,6-A)):this.scanner.isDelim(63)?(this.scanner.next(),void g.call(this,5)):void this.error("Hex digit or question mark is expected")):this.scanner.tokenType===a?(Q.call(this,43),A=c.call(this,1,!0),this.scanner.isDelim(63)?void g.call(this,6-A):this.scanner.tokenType===B||this.scanner.tokenType===a?(Q.call(this,45),void c.call(this,1,!1)):void 0):this.scanner.tokenType===B?(Q.call(this,43),void((A=c.call(this,1,!0))>0&&g.call(this,6-A))):void this.error()}A.exports={name:"UnicodeRange",structure:{value:String},parse:function(){var A=this.scanner.tokenStart;return i(this.scanner.source,A,117)||this.error("U is expected"),i(this.scanner.source,A+1,43)||this.error("Plus sign is expected"),this.scanner.next(),E.call(this),{type:"UnicodeRange",loc:this.getLocation(A,this.scanner.tokenStart),value:this.scanner.substrToCursor(A)}},generate:function(A){this.chunk(A.value)}}},function(A,e,t){var n=t(4).isWhiteSpace,i=t(4).cmpStr,r=t(4).TYPE,s=r.Function,o=r.Url,a=r.RightParenthesis;A.exports={name:"Url",structure:{value:["String","Raw"]},parse:function(){var A,e=this.scanner.tokenStart;switch(this.scanner.tokenType){case o:for(var t=e+4,r=this.scanner.tokenEnd-1;t<r&&n(this.scanner.source.charCodeAt(t));)t++;for(;t<r&&n(this.scanner.source.charCodeAt(r-1));)r--;A={type:"Raw",loc:this.getLocation(t,r),value:this.scanner.source.substring(t,r)},this.eat(o);break;case s:i(this.scanner.source,this.scanner.tokenStart,this.scanner.tokenEnd,"url(")||this.error("Function name must be `url`"),this.eat(s),this.scanner.skipSC(),A=this.String(),this.scanner.skipSC(),this.eat(a);break;default:this.error("Url or Function is expected")}return{type:"Url",loc:this.getLocation(e,this.scanner.tokenStart),value:A}},generate:function(A){this.chunk("url"),this.chunk("("),this.node(A.value),this.chunk(")")}}},function(A,e){A.exports={name:"Value",structure:{children:[[]]},parse:function(){var A=this.scanner.tokenStart,e=this.readSequence(this.scope.Value);return{type:"Value",loc:this.getLocation(A,this.scanner.tokenStart),children:e}},generate:function(A){this.children(A)}}},function(A,e,t){var n=t(4).TYPE.WhiteSpace,i=Object.freeze({type:"WhiteSpace",loc:null,value:" "});A.exports={name:"WhiteSpace",structure:{value:String},parse:function(){return this.eat(n),i},generate:function(A){this.chunk(A.value)}}},function(A,e,t){A.exports={parseContext:{default:"StyleSheet",stylesheet:"StyleSheet",atrule:"Atrule",atrulePrelude:function(A){return this.AtrulePrelude(A.atrule?String(A.atrule):null)},mediaQueryList:"MediaQueryList",mediaQuery:"MediaQuery",rule:"Rule",selectorList:"SelectorList",selector:"Selector",block:function(){return this.Block(!0)},declarationList:"DeclarationList",declaration:"Declaration",value:"Value"},scope:t(523),atrule:t(529),pseudo:t(535),node:t(88)}},function(A,e,t){A.exports={AtrulePrelude:t(524),Selector:t(525),Value:t(526)}},function(A,e,t){A.exports={getNode:t(135)}},function(A,e,t){var n=t(4).TYPE,i=n.Delim,r=n.Ident,s=n.Dimension,o=n.Percentage,a=n.Number,B=n.Hash,c=n.Colon,g=n.LeftSquareBracket;A.exports={getNode:function(A){switch(this.scanner.tokenType){case g:return this.AttributeSelector();case B:return this.IdSelector();case c:return this.scanner.lookupType(1)===c?this.PseudoElementSelector():this.PseudoClassSelector();case r:return this.TypeSelector();case a:case o:return this.Percentage();case s:46===this.scanner.source.charCodeAt(this.scanner.tokenStart)&&this.error("Identifier is expected",this.scanner.tokenStart+1);break;case i:switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 43:case 62:case 126:return A.space=null,A.ignoreWSAfter=!0,this.Combinator();case 47:return this.Combinator();case 46:return this.ClassSelector();case 42:case 124:return this.TypeSelector();case 35:return this.IdSelector()}}}}},function(A,e,t){A.exports={getNode:t(135),expression:t(527),var:t(528)}},function(A,e){A.exports=function(){return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex,null,!1))}},function(A,e,t){var n=t(4).TYPE,i=t(34).mode,r=n.Comma,s=n.WhiteSpace;A.exports=function(){var A=this.createList();if(this.scanner.skipSC(),A.push(this.Identifier()),this.scanner.skipSC(),this.scanner.tokenType===r){A.push(this.Operator());const e=this.scanner.tokenIndex,t=this.parseCustomProperty?this.Value(null):this.Raw(this.scanner.tokenIndex,i.exclamationMarkOrSemicolon,!1);if("Value"===t.type&&t.children.isEmpty())for(let A=e-this.scanner.tokenIndex;A<=0;A++)if(this.scanner.lookupType(A)===s){t.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}A.push(t)}return A}},function(A,e,t){A.exports={"font-face":t(530),import:t(531),media:t(532),page:t(533),supports:t(534)}},function(A,e){A.exports={parse:{prelude:null,block:function(){return this.Block(!0)}}}},function(A,e,t){var n=t(4).TYPE,i=n.String,r=n.Ident,s=n.Url,o=n.Function,a=n.LeftParenthesis;A.exports={parse:{prelude:function(){var A=this.createList();switch(this.scanner.skipSC(),this.scanner.tokenType){case i:A.push(this.String());break;case s:case o:A.push(this.Url());break;default:this.error("String or url() is expected")}return this.lookupNonWSType(0)!==r&&this.lookupNonWSType(0)!==a||(A.push(this.WhiteSpace()),A.push(this.MediaQueryList())),A},block:null}}},function(A,e){A.exports={parse:{prelude:function(){return this.createSingleNodeList(this.MediaQueryList())},block:function(){return this.Block(!1)}}}},function(A,e){A.exports={parse:{prelude:function(){return this.createSingleNodeList(this.SelectorList())},block:function(){return this.Block(!0)}}}},function(A,e,t){var n=t(4).TYPE,i=n.WhiteSpace,r=n.Comment,s=n.Ident,o=n.Function,a=n.Colon,B=n.LeftParenthesis;function c(){return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex,null,!1))}function g(){return this.scanner.skipSC(),this.scanner.tokenType===s&&this.lookupNonWSType(1)===a?this.createSingleNodeList(this.Declaration()):Q.call(this)}function Q(){var A,e=this.createList(),t=null;this.scanner.skipSC();A:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case i:t=this.WhiteSpace();continue;case r:this.scanner.next();continue;case o:A=this.Function(c,this.scope.AtrulePrelude);break;case s:A=this.Identifier();break;case B:A=this.Parentheses(g,this.scope.AtrulePrelude);break;default:break A}null!==t&&(e.push(t),t=null),e.push(A)}return e}A.exports={parse:{prelude:function(){var A=Q.call(this);return null===this.getFirstListNode(A)&&this.error("Condition is expected"),A},block:function(){return this.Block(!1)}}}},function(A,e,t){A.exports={dir:t(536),has:t(537),lang:t(538),matches:t(539),not:t(540),"nth-child":t(541),"nth-last-child":t(542),"nth-last-of-type":t(543),"nth-of-type":t(544),slotted:t(545)}},function(A,e){A.exports={parse:function(){return this.createSingleNodeList(this.Identifier())}}},function(A,e){A.exports={parse:function(){return this.createSingleNodeList(this.SelectorList())}}},function(A,e){A.exports={parse:function(){return this.createSingleNodeList(this.Identifier())}}},function(A,e,t){A.exports=t(136)},function(A,e,t){A.exports=t(136)},function(A,e,t){A.exports=t(137)},function(A,e,t){A.exports=t(137)},function(A,e,t){A.exports=t(138)},function(A,e,t){A.exports=t(138)},function(A,e){A.exports={parse:function(){return this.createSingleNodeList(this.Selector())}}},function(A,e,t){A.exports={node:t(88)}},function(A){A.exports=JSON.parse('{"name":"css-tree","version":"1.1.3","description":"A tool set for CSS: fast detailed parser (CSS → AST), walker (AST traversal), generator (AST → CSS) and lexer (validation and matching) based on specs and browser implementations","author":"Roman Dvornov <rdvornov@gmail.com> (https://github.com/lahmatiy)","license":"MIT","repository":"csstree/csstree","keywords":["css","ast","tokenizer","parser","walker","lexer","generator","utils","syntax","validation"],"main":"lib/index.js","unpkg":"dist/csstree.min.js","jsdelivr":"dist/csstree.min.js","scripts":{"build":"rollup --config","lint":"eslint data lib scripts test && node scripts/review-syntax-patch --lint && node scripts/update-docs --lint","lint-and-test":"npm run lint && npm test","update:docs":"node scripts/update-docs","review:syntax-patch":"node scripts/review-syntax-patch","test":"mocha --reporter progress","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build","hydrogen":"node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --trace_hydrogen_file=code.cfg --print-opt-code bin/parse --stat -o /dev/null"},"dependencies":{"mdn-data":"2.0.14","source-map":"^0.6.1"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","coveralls":"^3.0.9","eslint":"^6.8.0","json-to-ast":"^2.1.0","mocha":"^6.2.3","nyc":"^14.1.1","rollup":"^1.32.1","rollup-plugin-terser":"^5.3.0"},"engines":{"node":">=8.0.0"},"files":["data","dist","lib"]}')},function(A,e){const t=function(A,e,t){const n=t?[A.getTargetById(t)]:A.targets,i=[];for(let A=0;A<n.length;A++){const t=n[A].sprite[e];for(let A=0;A<t.length;A++){const e=t[A],n=e.broken?e.broken.asset:e.asset;n&&i.push({fileName:"".concat(n.assetId,".").concat(n.dataFormat),fileContent:n.data})}}return i};A.exports={serializeSounds:function(A,e){return t(A,"sounds",e)},serializeCostumes:function(A,e){return t(A,"costumes",e)}}},function(A,e){
/*! @source http://purl.eligrey.com/github/canvas-toBlob.js/blob/master/canvas-toBlob.js */
!function(A){"use strict";var e,t=A.Uint8Array,n=A.HTMLCanvasElement,i=n&&n.prototype,r=/\s*;\s*base64\s*(?:;|$)/i,s="toDataURL",o=function(A){for(var n,i,r=A.length,s=new t(r/4*3|0),o=0,a=0,B=[0,0],c=0,g=0;r--;)i=A.charCodeAt(o++),255!==(n=e[i-43])&&void 0!==n&&(B[1]=B[0],B[0]=i,g=g<<6|n,4===++c&&(s[a++]=g>>>16,61!==B[1]&&(s[a++]=g>>>8),61!==B[0]&&(s[a++]=g),c=0));return s};t&&(e=new t([62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51])),!n||i.toBlob&&i.toBlobHD||(i.toBlob||(i.toBlob=function(A,e){if(e||(e="image/png"),this.mozGetAsFile)A(this.mozGetAsFile("canvas",e));else if(this.msToBlob&&/^\s*image\/png\s*(?:$|;)/i.test(e))A(this.msToBlob());else{var n,i=Array.prototype.slice.call(arguments,1),a=this[s].apply(this,i),B=a.indexOf(","),c=a.substring(B+1),g=r.test(a.substring(0,B));Blob.fake?((n=new Blob).encoding=g?"base64":"URI",n.data=c,n.size=c.length):t&&(n=g?new Blob([o(c)],{type:e}):new Blob([decodeURIComponent(c)],{type:e})),A(n)}}),!i.toBlobHD&&i.toDataURLHD?i.toBlobHD=function(){s="toDataURLHD";var A=this.toBlob();return s="toDataURL",A}:i.toBlobHD=i.toBlob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this)},function(A,e,t){(function(e){var n=t(551);A.exports=function(A,t,i){if("string"==typeof A)return i(null,[A,null]);if(!e.isBuffer(A))try{A=new e(A)}catch(A){return i("Input must be a Buffer or a string.")}var r=A.slice(0,3).join(" "),s=!1,o=!1;return 0===r.indexOf("83 99 114")&&(s=!0),0===r.indexOf("80 75")&&(o=!0),o||s?s?i("Parser only supports Scratch 2.X and above"):void n(A,t,i):i(null,[A.toString("utf-8"),null])}}).call(this,t(25).Buffer)},function(A,e,t){var n=t(43);A.exports=function(A,e,t){var i="Failed to unzip and extract project.json, with error: ";return n.loadAsync(A).then((function(A){const n=e?A.file(/^([^/]*\/)?sprite\.json$/)[0]:A.file(/^([^/]*\/)?project\.json$/)[0];return n?n.async("string").then((function(e){return t(null,[e,A])})):t(i+"missing project or sprite json")})).catch((function(A){return t(i+A)}))}},function(A,e,t){const n=t(107);A.exports=function(A,e){var t;try{t=n.parse(A.replace(/(\\+)(b|u0008)/g,(A,e,t)=>e.length%2?A.replace("\\"+t,""):A))}catch(A){return e(A.toString())}return e(null,t)}},function(A,e){A.exports=function(A,e,t){if("objName"in e)return e.projectVersion=2,t(null,e);if(A){if("name"in e)return e.projectVersion=3,t(null,e)}else if("targets"in e)return e.projectVersion=3,t(null,e);t(new Error("Could not parse as a valid SB2 or SB3 project."))}},function(A,e){const t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#%()*+,-./:;=?@[]^_`{|}~",n=A=>{let e="";for(;A>=0;)e=t[A%t.length]+e,A=Math.floor(A/t.length)-1;return e};class i{constructor(){this.generatedIds=new Map,this.references=new Map,this.skippedIds=new Set,this.skippedIds.add("of")}skip(A){this.skippedIds.add(A)}addReference(A){const e=this.references.get(A)||0;this.references.set(A,e+1)}generateNewIds(){const A=Array.from(this.references.entries());A.sort((A,e)=>e[1]-A[1]);let e=0;for(const t of A){const A=t[0];let i=n(e);for(;this.skippedIds.has(i);)e++,i=n(e);this.generatedIds.set(A,i),e++}}getNewId(A){return this.generatedIds.has(A)?this.generatedIds.get(A):A}}A.exports=A=>{const e=new i;for(const t of A.targets){for(const A of Object.keys(t.variables))e.skip(A);for(const A of Object.keys(t.lists))e.skip(A);for(const A of Object.keys(t.broadcasts))e.skip(A);for(const A of Object.keys(t.blocks)){const n=t.blocks[A];if(e.addReference(A),!Array.isArray(n)){n.parent&&e.addReference(n.parent),n.next&&e.addReference(n.next),n.comment&&e.addReference(n.comment);for(const A of Object.values(n.inputs))for(let t=1;t<A.length;t++){const n=A[t];"string"==typeof n&&e.addReference(n)}}}for(const A of Object.keys(t.comments)){const n=t.comments[A];e.addReference(A),n.blockId&&e.addReference(n.blockId)}}e.generateNewIds();for(const t of A.targets){const A={},n={};for(const n of Object.keys(t.blocks)){const i=t.blocks[n];if(A[e.getNewId(n)]=i,!Array.isArray(i)){i.parent&&(i.parent=e.getNewId(i.parent)),i.next&&(i.next=e.getNewId(i.next)),i.comment&&(i.comment=e.getNewId(i.comment));for(const A of Object.values(i.inputs))for(let t=1;t<A.length;t++){const n=A[t];"string"==typeof n&&(A[t]=e.getNewId(n))}}}for(const A of Object.keys(t.comments)){const i=t.comments[A];n[e.getNewId(A)]=i,i.blockId&&(i.blockId=e.getNewId(i.blockId))}t.blocks=A,t.comments=n}}},function(A,e){A.exports=class{constructor(A){this.runtime=A,this.extensions={},this.loaded=[]}basicPatch(A,e,t){t.extensionURLs.set(A,e)}runExtensionPatch(A,e,t){const n=this.extensions[A];if("object"==typeof n)return this.loaded.includes(A)||(this.runtime.extensionManager.loadExtensionURL(n.url),this.loaded.push(A)),void this.basicPatch(n.id,n.url,e);n(e,t,this.runtime)}registerExtensions(A){this.extensions=Object.assign(this.extensions,A)}patchExists(A){return!!this.extensions[A]}}},function(A){A.exports=JSON.parse('{"variables":{"_text":["_text",""],"_replacers":["_replacers","[]"],"_replacer":["_replacer",1],"_rep":["_rep",""]},"blocks":{"setReplacerToDefinition":{"opcode":"procedures_definition","next":"setReplacersVarToReplacerJson","parent":null,"inputs":{"custom_block":[1,"setReplacerToDisplay"]},"fields":{},"shadow":false,"topLevel":true,"x":48,"y":64},"setReplacerToDisplay":{"opcode":"procedures_prototype","next":null,"parent":"setReplacerToDefinition","inputs":{"REPLACER":[1,"setReplacerArgumentREPLACER"],"VALUE":[1,"setReplacerArgumentVALUE"]},"fields":{},"shadow":true,"topLevel":false,"mutation":{"tagName":"mutation","children":[],"proccode":"replacer %s to %s","argumentids":"[\\"REPLACER\\",\\"VALUE\\"]","argumentnames":"[\\"REPLACER\\",\\"VALUE\\"]","argumentdefaults":"[\\"\\",\\"\\",\\"\\"]","warp":"true","returns":"false","edited":"true"}},"setReplacerArgumentREPLACER":{"opcode":"argument_reporter_string_number","next":null,"parent":"REPLACER","inputs":{},"fields":{"VALUE":["REPLACER","REPLACER"]},"shadow":true,"topLevel":false},"setReplacerArgumentVALUE":{"opcode":"argument_reporter_string_number","next":null,"parent":"VALUE","inputs":{},"fields":{"VALUE":["VALUE","VALUE"]},"shadow":true,"topLevel":false},"setReplacersVarToReplacerJson":{"opcode":"data_setvariableto","next":null,"parent":"setReplacerToDefinition","inputs":{"VALUE":[3,"setReplacerValueTo",[10,"0"]]},"fields":{"VARIABLE":["replacers","replacers"]},"shadow":false,"topLevel":false},"setReplacerValueTo":{"opcode":"jgJSON_setValueToKeyInJSON","next":null,"parent":"setReplacersVarToReplacerJson","inputs":{"KEY":[3,"leftAndMidleHalf",[10,"key"]],"VALUE":[3,"VALUE",[10,"value"]],"JSON":[3,[12,"replacers","replacers"],[10,"{}"]]},"fields":{},"shadow":false,"topLevel":false},"REPLACER":{"opcode":"argument_reporter_string_number","next":null,"parent":"rightHalf","inputs":{},"fields":{"VALUE":["REPLACER","REPLACER"]},"shadow":false,"topLevel":false},"VALUE":{"opcode":"argument_reporter_string_number","next":null,"parent":"setReplacerValueTo","inputs":{},"fields":{"VALUE":["VALUE","VALUE"]},"shadow":false,"topLevel":false},"replaceWithReplacersDefinition":{"opcode":"procedures_definition_return","next":"defineTempReplacersList","parent":null,"inputs":{"custom_block":[1,"replaceWithReplacersDisplay"]},"fields":{},"shadow":false,"topLevel":true,"x":48,"y":280},"replaceWithReplacersDisplay":{"opcode":"procedures_prototype","next":null,"parent":"replaceWithReplacersDefinition","inputs":{"STRING":[1,"STRING"]},"fields":{},"shadow":true,"topLevel":false,"mutation":{"tagName":"mutation","children":[],"proccode":"replace %s with replacers","argumentids":"[\\"STRING\\"]","argumentnames":"[\\"STRING\\"]","argumentdefaults":"[\\"\\"]","warp":"false","returns":"true","edited":"true"}},"STRING":{"opcode":"argument_reporter_string_number","next":null,"parent":"replaceWithReplacersDisplay","inputs":{},"fields":{"VALUE":["STRING","STRING"]},"shadow":true,"topLevel":false},"runThroughEachReplacer":{"opcode":"control_for_each","next":"returnTheFinnalText","parent":"defineTempText","inputs":{"VALUE":[3,"theNumberOfReplacers",[6,"10"]],"SUBSTACK":[2,"defineTempReplacerName"]},"fields":{"VARIABLE":["_replacer","_replacer"]},"shadow":false,"topLevel":false},"defineTempReplacersList":{"opcode":"data_setvariableto","next":"defineTempText","parent":"replaceWithReplacersDefinition","inputs":{"VALUE":[3,"getAllReplacers",[10,"0"]]},"fields":{"VARIABLE":["_replacers","_replacers"]},"shadow":false,"topLevel":false},"getAllReplacers":{"opcode":"jgJSON_json_keys","next":null,"parent":"defineTempReplacersList","inputs":{"json":[3,[12,"replacers","replacers"],[10,"{}"]]},"fields":{},"shadow":false,"topLevel":false},"rightHalf":{"opcode":"operator_join","next":null,"parent":"leftAndMidleHalf","inputs":{"STRING1":[1,[10,"{"]],"STRING2":[3,"REPLACER",[10,"banana"]]},"fields":{},"shadow":false,"topLevel":false},"leftAndMidleHalf":{"opcode":"operator_join","next":null,"parent":"setReplacerValueTo","inputs":{"STRING1":[3,"rightHalf",[10,"foo"]],"STRING2":[1,[10,"}"]]},"fields":{},"shadow":false,"topLevel":false},"theNumberOfReplacers":{"opcode":"jgJSON_json_array_length","next":null,"parent":"runThroughEachReplacer","inputs":{"array":[3,[12,"_replacers","_replacers"],[10,"[]"]]},"fields":{},"shadow":false,"topLevel":false},"getCurrentReplacer":{"opcode":"jgJSON_json_array_get","next":null,"parent":"defineTempReplacerName","inputs":{"array":[3,[12,"_replacers","_replacers"],[10,"[\\"A\\", \\"B\\", \\"C\\"]"]],"index":[3,"offsetIndexBy",[4,"2"]]},"fields":{},"shadow":false,"topLevel":false},"replaceAllReplacersWithValue":{"opcode":"operator_replaceAll","next":null,"parent":"replaceTextWithThisReplacer","inputs":{"text":[3,[12,"_text","_text"],[10,"foo bar"]],"term":[3,[12,"_rep","_rep"],[10,"foo"]],"res":[3,"getReplacerValueFromReplacerList",[10,"bar"]]},"fields":{},"shadow":false,"topLevel":false},"defineTempReplacerName":{"opcode":"data_setvariableto","next":"replaceTextWithThisReplacer","parent":"runThroughEachReplacer","inputs":{"VALUE":[3,"getCurrentReplacer",[10,"0"]]},"fields":{"VARIABLE":["_rep","_rep"]},"shadow":false,"topLevel":false},"getReplacerValueFromReplacerList":{"opcode":"jgJSON_getValueFromJSON","next":null,"parent":"replaceAllReplacersWithValue","inputs":{"VALUE":[3,[12,"_rep","_rep"],[10,"key"]],"JSON":[3,[12,"replacers","replacers"],[10,"{\\"key\\": \\"value\\"}"]]},"fields":{},"shadow":false,"topLevel":false},"defineTempText":{"opcode":"data_setvariableto","next":"runThroughEachReplacer","parent":"defineTempReplacersList","inputs":{"VALUE":[3,"STRINGargument",[10,"0"]]},"fields":{"VARIABLE":["_text","_text"]},"shadow":false,"topLevel":false},"STRINGargument":{"opcode":"argument_reporter_string_number","next":null,"parent":"defineTempText","inputs":{},"fields":{"VALUE":["STRING","STRING"]},"shadow":false,"topLevel":false},"replaceTextWithThisReplacer":{"opcode":"data_setvariableto","next":null,"parent":"defineTempReplacerName","inputs":{"VALUE":[3,"replaceAllReplacersWithValue",[10,"0"]]},"fields":{"VARIABLE":["_text","_text"]},"shadow":false,"topLevel":false},"returnTheFinnalText":{"opcode":"procedures_return","next":null,"parent":"runThroughEachReplacer","inputs":{"return":[3,[12,"_text","_text"],[10,"1"]]},"fields":{},"shadow":false,"topLevel":false},"offsetIndexBy":{"opcode":"operator_subtract","next":null,"parent":"getCurrentReplacer","inputs":{"NUM1":[3,[12,"_replacer","_replacer"],[4,""]],"NUM2":[1,[4,"1"]]},"fields":{},"shadow":false,"topLevel":false}}}')},function(A,e,t){const n=t(24),i={"forward:":{opcode:"motion_movesteps",argMap:[{type:"input",inputOp:"math_number",inputName:"STEPS"}]},"turnRight:":{opcode:"motion_turnright",argMap:[{type:"input",inputOp:"math_number",inputName:"DEGREES"}]},"turnLeft:":{opcode:"motion_turnleft",argMap:[{type:"input",inputOp:"math_number",inputName:"DEGREES"}]},"heading:":{opcode:"motion_pointindirection",argMap:[{type:"input",inputOp:"math_angle",inputName:"DIRECTION"}]},"pointTowards:":{opcode:"motion_pointtowards",argMap:[{type:"input",inputOp:"motion_pointtowards_menu",inputName:"TOWARDS"}]},"gotoX:y:":{opcode:"motion_gotoxy",argMap:[{type:"input",inputOp:"math_number",inputName:"X"},{type:"input",inputOp:"math_number",inputName:"Y"}]},"gotoSpriteOrMouse:":{opcode:"motion_goto",argMap:[{type:"input",inputOp:"motion_goto_menu",inputName:"TO"}]},"glideSecs:toX:y:elapsed:from:":{opcode:"motion_glidesecstoxy",argMap:[{type:"input",inputOp:"math_number",inputName:"SECS"},{type:"input",inputOp:"math_number",inputName:"X"},{type:"input",inputOp:"math_number",inputName:"Y"}]},"changeXposBy:":{opcode:"motion_changexby",argMap:[{type:"input",inputOp:"math_number",inputName:"DX"}]},"xpos:":{opcode:"motion_setx",argMap:[{type:"input",inputOp:"math_number",inputName:"X"}]},"changeYposBy:":{opcode:"motion_changeyby",argMap:[{type:"input",inputOp:"math_number",inputName:"DY"}]},"ypos:":{opcode:"motion_sety",argMap:[{type:"input",inputOp:"math_number",inputName:"Y"}]},bounceOffEdge:{opcode:"motion_ifonedgebounce",argMap:[]},setRotationStyle:{opcode:"motion_setrotationstyle",argMap:[{type:"field",fieldName:"STYLE"}]},xpos:{opcode:"motion_xposition",argMap:[]},ypos:{opcode:"motion_yposition",argMap:[]},heading:{opcode:"motion_direction",argMap:[]},scrollRight:{opcode:"motion_scroll_right",argMap:[{type:"input",inputOp:"math_number",inputName:"DISTANCE"}]},scrollUp:{opcode:"motion_scroll_up",argMap:[{type:"input",inputOp:"math_number",inputName:"DISTANCE"}]},scrollAlign:{opcode:"motion_align_scene",argMap:[{type:"field",fieldName:"ALIGNMENT"}]},xScroll:{opcode:"motion_xscroll",argMap:[]},yScroll:{opcode:"motion_yscroll",argMap:[]},"say:duration:elapsed:from:":{opcode:"looks_sayforsecs",argMap:[{type:"input",inputOp:"text",inputName:"MESSAGE"},{type:"input",inputOp:"math_number",inputName:"SECS"}]},"say:":{opcode:"looks_say",argMap:[{type:"input",inputOp:"text",inputName:"MESSAGE"}]},"think:duration:elapsed:from:":{opcode:"looks_thinkforsecs",argMap:[{type:"input",inputOp:"text",inputName:"MESSAGE"},{type:"input",inputOp:"math_number",inputName:"SECS"}]},"think:":{opcode:"looks_think",argMap:[{type:"input",inputOp:"text",inputName:"MESSAGE"}]},show:{opcode:"looks_show",argMap:[]},hide:{opcode:"looks_hide",argMap:[]},hideAll:{opcode:"looks_hideallsprites",argMap:[]},"lookLike:":{opcode:"looks_switchcostumeto",argMap:[{type:"input",inputOp:"looks_costume",inputName:"COSTUME"}]},nextCostume:{opcode:"looks_nextcostume",argMap:[]},startScene:{opcode:"looks_switchbackdropto",argMap:[{type:"input",inputOp:"looks_backdrops",inputName:"BACKDROP"}]},"changeGraphicEffect:by:":{opcode:"looks_changeeffectby",argMap:[{type:"field",fieldName:"EFFECT"},{type:"input",inputOp:"math_number",inputName:"CHANGE"}]},"setGraphicEffect:to:":{opcode:"looks_seteffectto",argMap:[{type:"field",fieldName:"EFFECT"},{type:"input",inputOp:"math_number",inputName:"VALUE"}]},filterReset:{opcode:"looks_cleargraphiceffects",argMap:[]},"changeSizeBy:":{opcode:"looks_changesizeby",argMap:[{type:"input",inputOp:"math_number",inputName:"CHANGE"}]},"setSizeTo:":{opcode:"looks_setsizeto",argMap:[{type:"input",inputOp:"math_number",inputName:"SIZE"}]},"changeStretchBy:":{opcode:"looks_changestretchby",argMap:[{type:"input",inputOp:"math_number",inputName:"CHANGE"}]},"setStretchTo:":{opcode:"looks_setstretchto",argMap:[{type:"input",inputOp:"math_number",inputName:"STRETCH"}]},comeToFront:{opcode:"looks_gotofrontback",argMap:[]},"goBackByLayers:":{opcode:"looks_goforwardbackwardlayers",argMap:[{type:"input",inputOp:"math_integer",inputName:"NUM"}]},costumeIndex:{opcode:"looks_costumenumbername",argMap:[]},costumeName:{opcode:"looks_costumenumbername",argMap:[]},sceneName:{opcode:"looks_backdropnumbername",argMap:[]},scale:{opcode:"looks_size",argMap:[]},startSceneAndWait:{opcode:"looks_switchbackdroptoandwait",argMap:[{type:"input",inputOp:"looks_backdrops",inputName:"BACKDROP"}]},nextScene:{opcode:"looks_nextbackdrop",argMap:[]},backgroundIndex:{opcode:"looks_backdropnumbername",argMap:[]},"playSound:":{opcode:"sound_play",argMap:[{type:"input",inputOp:"sound_sounds_menu",inputName:"SOUND_MENU"}]},doPlaySoundAndWait:{opcode:"sound_playuntildone",argMap:[{type:"input",inputOp:"sound_sounds_menu",inputName:"SOUND_MENU"}]},stopAllSounds:{opcode:"sound_stopallsounds",argMap:[]},playDrum:{opcode:"music_playDrumForBeats",argMap:[{type:"input",inputOp:"music_menu_DRUM",inputName:"DRUM"},{type:"input",inputOp:"math_number",inputName:"BEATS"}]},"drum:duration:elapsed:from:":{opcode:"music_midiPlayDrumForBeats",argMap:[{type:"input",inputOp:"math_number",inputName:"DRUM"},{type:"input",inputOp:"math_number",inputName:"BEATS"}]},"rest:elapsed:from:":{opcode:"music_restForBeats",argMap:[{type:"input",inputOp:"math_number",inputName:"BEATS"}]},"noteOn:duration:elapsed:from:":{opcode:"music_playNoteForBeats",argMap:[{type:"input",inputOp:"note",inputName:"NOTE"},{type:"input",inputOp:"math_number",inputName:"BEATS"}]},"instrument:":{opcode:"music_setInstrument",argMap:[{type:"input",inputOp:"music_menu_INSTRUMENT",inputName:"INSTRUMENT"}]},"midiInstrument:":{opcode:"music_midiSetInstrument",argMap:[{type:"input",inputOp:"math_number",inputName:"INSTRUMENT"}]},"changeVolumeBy:":{opcode:"sound_changevolumeby",argMap:[{type:"input",inputOp:"math_number",inputName:"VOLUME"}]},"setVolumeTo:":{opcode:"sound_setvolumeto",argMap:[{type:"input",inputOp:"math_number",inputName:"VOLUME"}]},volume:{opcode:"sound_volume",argMap:[]},"changeTempoBy:":{opcode:"music_changeTempo",argMap:[{type:"input",inputOp:"math_number",inputName:"TEMPO"}]},"setTempoTo:":{opcode:"music_setTempo",argMap:[{type:"input",inputOp:"math_number",inputName:"TEMPO"}]},tempo:{opcode:"music_getTempo",argMap:[]},clearPenTrails:{opcode:"pen_clear",argMap:[]},stampCostume:{opcode:"pen_stamp",argMap:[]},putPenDown:{opcode:"pen_penDown",argMap:[]},putPenUp:{opcode:"pen_penUp",argMap:[]},"penColor:":{opcode:"pen_setPenColorToColor",argMap:[{type:"input",inputOp:"colour_picker",inputName:"COLOR"}]},"changePenHueBy:":{opcode:"pen_changePenHueBy",argMap:[{type:"input",inputOp:"math_number",inputName:"HUE"}]},"setPenHueTo:":{opcode:"pen_setPenHueToNumber",argMap:[{type:"input",inputOp:"math_number",inputName:"HUE"}]},"changePenShadeBy:":{opcode:"pen_changePenShadeBy",argMap:[{type:"input",inputOp:"math_number",inputName:"SHADE"}]},"setPenShadeTo:":{opcode:"pen_setPenShadeToNumber",argMap:[{type:"input",inputOp:"math_number",inputName:"SHADE"}]},"changePenSizeBy:":{opcode:"pen_changePenSizeBy",argMap:[{type:"input",inputOp:"math_number",inputName:"SIZE"}]},"penSize:":{opcode:"pen_setPenSizeTo",argMap:[{type:"input",inputOp:"math_number",inputName:"SIZE"}]},senseVideoMotion:{opcode:"videoSensing_videoOn",argMap:[{type:"input",inputOp:"videoSensing_menu_ATTRIBUTE",inputName:"ATTRIBUTE"},{type:"input",inputOp:"videoSensing_menu_SUBJECT",inputName:"SUBJECT"}]},whenGreenFlag:{opcode:"event_whenflagclicked",argMap:[]},whenKeyPressed:{opcode:"event_whenkeypressed",argMap:[{type:"field",fieldName:"KEY_OPTION"}]},whenClicked:{opcode:"event_whenthisspriteclicked",argMap:[]},whenSceneStarts:{opcode:"event_whenbackdropswitchesto",argMap:[{type:"field",fieldName:"BACKDROP"}]},whenSensorGreaterThan:A=>{let[,e]=A;return"video motion"===e?{opcode:"videoSensing_whenMotionGreaterThan",argMap:[{},{type:"input",inputOp:"math_number",inputName:"REFERENCE"}]}:{opcode:"event_whengreaterthan",argMap:[{type:"field",fieldName:"WHENGREATERTHANMENU"},{type:"input",inputOp:"math_number",inputName:"VALUE"}]}},whenIReceive:{opcode:"event_whenbroadcastreceived",argMap:[{type:"field",fieldName:"BROADCAST_OPTION",variableType:n.BROADCAST_MESSAGE_TYPE}]},"broadcast:":{opcode:"event_broadcast",argMap:[{type:"input",inputOp:"event_broadcast_menu",inputName:"BROADCAST_INPUT",variableType:n.BROADCAST_MESSAGE_TYPE}]},doBroadcastAndWait:{opcode:"event_broadcastandwait",argMap:[{type:"input",inputOp:"event_broadcast_menu",inputName:"BROADCAST_INPUT",variableType:n.BROADCAST_MESSAGE_TYPE}]},"wait:elapsed:from:":{opcode:"control_wait",argMap:[{type:"input",inputOp:"math_positive_number",inputName:"DURATION"}]},doRepeat:{opcode:"control_repeat",argMap:[{type:"input",inputOp:"math_whole_number",inputName:"TIMES"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doForever:{opcode:"control_forever",argMap:[{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doIf:{opcode:"control_if",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doIfElse:{opcode:"control_if_else",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"},{type:"input",inputOp:"substack",inputName:"SUBSTACK2"}]},doWaitUntil:{opcode:"control_wait_until",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"}]},doUntil:{opcode:"control_repeat_until",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doWhile:{opcode:"control_while",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doForLoop:{opcode:"control_for_each",argMap:[{type:"field",fieldName:"VARIABLE"},{type:"input",inputOp:"text",inputName:"VALUE"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},stopScripts:{opcode:"control_stop",argMap:[{type:"field",fieldName:"STOP_OPTION"}]},whenCloned:{opcode:"control_start_as_clone",argMap:[]},createCloneOf:{opcode:"control_create_clone_of",argMap:[{type:"input",inputOp:"control_create_clone_of_menu",inputName:"CLONE_OPTION"}]},deleteClone:{opcode:"control_delete_this_clone",argMap:[]},COUNT:{opcode:"control_get_counter",argMap:[]},INCR_COUNT:{opcode:"control_incr_counter",argMap:[]},CLR_COUNT:{opcode:"control_clear_counter",argMap:[]},warpSpeed:{opcode:"control_all_at_once",argMap:[{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},"touching:":{opcode:"sensing_touchingobject",argMap:[{type:"input",inputOp:"sensing_touchingobjectmenu",inputName:"TOUCHINGOBJECTMENU"}]},"touchingColor:":{opcode:"sensing_touchingcolor",argMap:[{type:"input",inputOp:"colour_picker",inputName:"COLOR"}]},"color:sees:":{opcode:"sensing_coloristouchingcolor",argMap:[{type:"input",inputOp:"colour_picker",inputName:"COLOR"},{type:"input",inputOp:"colour_picker",inputName:"COLOR2"}]},"distanceTo:":{opcode:"sensing_distanceto",argMap:[{type:"input",inputOp:"sensing_distancetomenu",inputName:"DISTANCETOMENU"}]},doAsk:{opcode:"sensing_askandwait",argMap:[{type:"input",inputOp:"text",inputName:"QUESTION"}]},answer:{opcode:"sensing_answer",argMap:[]},"keyPressed:":{opcode:"sensing_keypressed",argMap:[{type:"input",inputOp:"sensing_keyoptions",inputName:"KEY_OPTION"}]},mousePressed:{opcode:"sensing_mousedown",argMap:[]},mouseX:{opcode:"sensing_mousex",argMap:[]},mouseY:{opcode:"sensing_mousey",argMap:[]},soundLevel:{opcode:"sensing_loudness",argMap:[]},isLoud:{opcode:"sensing_loud",argMap:[]},setVideoState:{opcode:"videoSensing_videoToggle",argMap:[{type:"input",inputOp:"videoSensing_menu_VIDEO_STATE",inputName:"VIDEO_STATE"}]},setVideoTransparency:{opcode:"videoSensing_setVideoTransparency",argMap:[{type:"input",inputOp:"math_number",inputName:"TRANSPARENCY"}]},timer:{opcode:"sensing_timer",argMap:[]},timerReset:{opcode:"sensing_resettimer",argMap:[]},"getAttribute:of:":{opcode:"sensing_of",argMap:[{type:"field",fieldName:"PROPERTY"},{type:"input",inputOp:"sensing_of_object_menu",inputName:"OBJECT"}]},timeAndDate:{opcode:"sensing_current",argMap:[{type:"field",fieldName:"CURRENTMENU"}]},timestamp:{opcode:"sensing_dayssince2000",argMap:[]},getUserName:{opcode:"sensing_username",argMap:[]},getUserId:{opcode:"sensing_userid",argMap:[]},"+":{opcode:"operator_add",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},"-":{opcode:"operator_subtract",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},"*":{opcode:"operator_multiply",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},"/":{opcode:"operator_divide",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},"randomFrom:to:":{opcode:"operator_random",argMap:[{type:"input",inputOp:"math_number",inputName:"FROM"},{type:"input",inputOp:"math_number",inputName:"TO"}]},"<":{opcode:"operator_lt",argMap:[{type:"input",inputOp:"text",inputName:"OPERAND1"},{type:"input",inputOp:"text",inputName:"OPERAND2"}]},"=":{opcode:"operator_equals",argMap:[{type:"input",inputOp:"text",inputName:"OPERAND1"},{type:"input",inputOp:"text",inputName:"OPERAND2"}]},">":{opcode:"operator_gt",argMap:[{type:"input",inputOp:"text",inputName:"OPERAND1"},{type:"input",inputOp:"text",inputName:"OPERAND2"}]},"&":{opcode:"operator_and",argMap:[{type:"input",inputOp:"boolean",inputName:"OPERAND1"},{type:"input",inputOp:"boolean",inputName:"OPERAND2"}]},"|":{opcode:"operator_or",argMap:[{type:"input",inputOp:"boolean",inputName:"OPERAND1"},{type:"input",inputOp:"boolean",inputName:"OPERAND2"}]},not:{opcode:"operator_not",argMap:[{type:"input",inputOp:"boolean",inputName:"OPERAND"}]},"concatenate:with:":{opcode:"operator_join",argMap:[{type:"input",inputOp:"text",inputName:"STRING1"},{type:"input",inputOp:"text",inputName:"STRING2"}]},"letter:of:":{opcode:"operator_letter_of",argMap:[{type:"input",inputOp:"math_whole_number",inputName:"LETTER"},{type:"input",inputOp:"text",inputName:"STRING"}]},"stringLength:":{opcode:"operator_length",argMap:[{type:"input",inputOp:"text",inputName:"STRING"}]},"%":{opcode:"operator_mod",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},rounded:{opcode:"operator_round",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM"}]},"computeFunction:of:":{opcode:"operator_mathop",argMap:[{type:"field",fieldName:"OPERATOR"},{type:"input",inputOp:"math_number",inputName:"NUM"}]},readVariable:{opcode:"data_variable",argMap:[{type:"field",fieldName:"VARIABLE",variableType:n.SCALAR_TYPE}]},"getVar:":{opcode:"data_variable",argMap:[{type:"field",fieldName:"VARIABLE",variableType:n.SCALAR_TYPE}]},"setVar:to:":{opcode:"data_setvariableto",argMap:[{type:"field",fieldName:"VARIABLE",variableType:n.SCALAR_TYPE},{type:"input",inputOp:"text",inputName:"VALUE"}]},"changeVar:by:":{opcode:"data_changevariableby",argMap:[{type:"field",fieldName:"VARIABLE",variableType:n.SCALAR_TYPE},{type:"input",inputOp:"math_number",inputName:"VALUE"}]},"showVariable:":{opcode:"data_showvariable",argMap:[{type:"field",fieldName:"VARIABLE",variableType:n.SCALAR_TYPE}]},"hideVariable:":{opcode:"data_hidevariable",argMap:[{type:"field",fieldName:"VARIABLE",variableType:n.SCALAR_TYPE}]},"contentsOfList:":{opcode:"data_listcontents",argMap:[{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE}]},"append:toList:":{opcode:"data_addtolist",argMap:[{type:"input",inputOp:"text",inputName:"ITEM"},{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE}]},"deleteLine:ofList:":{opcode:"data_deleteoflist",argMap:[{type:"input",inputOp:"math_integer",inputName:"INDEX"},{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE}]},"insert:at:ofList:":{opcode:"data_insertatlist",argMap:[{type:"input",inputOp:"text",inputName:"ITEM"},{type:"input",inputOp:"math_integer",inputName:"INDEX"},{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE}]},"setLine:ofList:to:":{opcode:"data_replaceitemoflist",argMap:[{type:"input",inputOp:"math_integer",inputName:"INDEX"},{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE},{type:"input",inputOp:"text",inputName:"ITEM"}]},"getLine:ofList:":{opcode:"data_itemoflist",argMap:[{type:"input",inputOp:"math_integer",inputName:"INDEX"},{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE}]},"lineCountOfList:":{opcode:"data_lengthoflist",argMap:[{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE}]},"list:contains:":{opcode:"data_listcontainsitem",argMap:[{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE},{type:"input",inputOp:"text",inputName:"ITEM"}]},"showList:":{opcode:"data_showlist",argMap:[{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE}]},"hideList:":{opcode:"data_hidelist",argMap:[{type:"field",fieldName:"LIST",variableType:n.LIST_TYPE}]},procDef:{opcode:"procedures_definition",argMap:[]},getParam:{opcode:"argument_reporter_string_number",argMap:[{type:"field",fieldName:"VALUE"}]},call:{opcode:"procedures_call",argMap:[]}},r=function(A,e,t){i["".concat(A).concat("").concat(e)]=t,i["".concat(A,".").concat(e)]=t},s="LEGO WeDo 2.0";r(s,"motorOnFor",{opcode:"wedo2_motorOnFor",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"},{type:"input",inputOp:"math_number",inputName:"DURATION"}]}),r(s,"motorOn",{opcode:"wedo2_motorOn",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"}]}),r(s,"motorOff",{opcode:"wedo2_motorOff",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"}]}),r(s,"startMotorPower",{opcode:"wedo2_startMotorPower",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"},{type:"input",inputOp:"math_number",inputName:"POWER"}]}),r(s,"setMotorDirection",{opcode:"wedo2_setMotorDirection",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"},{type:"input",inputOp:"wedo2_menu_MOTOR_DIRECTION",inputName:"MOTOR_DIRECTION"}]}),r(s,"setLED",{opcode:"wedo2_setLightHue",argMap:[{type:"input",inputOp:"math_number",inputName:"HUE"}]}),r(s,"playNote",{opcode:"wedo2_playNoteFor",argMap:[{type:"input",inputOp:"math_number",inputName:"NOTE"},{type:"input",inputOp:"math_number",inputName:"DURATION"}]}),r(s,"whenDistance",{opcode:"wedo2_whenDistance",argMap:[{type:"input",inputOp:"wedo2_menu_OP",inputName:"OP"},{type:"input",inputOp:"math_number",inputName:"REFERENCE"}]}),r(s,"whenTilted",{opcode:"wedo2_whenTilted",argMap:[{type:"input",inputOp:"wedo2_menu_TILT_DIRECTION_ANY",inputName:"TILT_DIRECTION_ANY"}]}),r(s,"getDistance",{opcode:"wedo2_getDistance",argMap:[]}),r(s,"isTilted",{opcode:"wedo2_isTilted",argMap:[{type:"input",inputOp:"wedo2_menu_TILT_DIRECTION_ANY",inputName:"TILT_DIRECTION_ANY"}]}),r(s,"getTilt",{opcode:"wedo2_getTiltAngle",argMap:[{type:"input",inputOp:"wedo2_menu_TILT_DIRECTION",inputName:"TILT_DIRECTION"}]}),A.exports=i},function(A,e,t){const n=t(37),i=t(559),r=t(20),s=t(40),o=t(565),a=t(566),B=t(144),c=t(570),g=t(65),Q=t(49),E=t(571),l=t(572),u=t(573),w=t(145),h=t(89),C=t(146),d=r.v3.create(),I=new B,M=new B,p=new Uint8ClampedArray(4),m=new Uint8ClampedArray(4),F=[3,3],D=(A,e,t)=>(248&A[0])==(248&e[t+0])&&(248&A[1])==(248&e[t+1])&&(240&A[2])==(240&e[t+2]);let Y;let f;class N extends n{static isSupported(A){try{A=A||document.createElement("canvas");const e={alpha:!0,stencil:!0,antialias:!1,xrCompatible:!0};return!!(A.getContext("webgl",e)||A.getContext("experimental-webgl",e)||A.getContext("webgl2",e))}catch(A){return!1}}static _getContext(A){const e={alpha:!0,stencil:!0,antialias:!1,xrCompatible:!0,powerPreference:N.powerPreference};return r.getWebGLContext(A,e)||r.getContext(A,e)}constructor(A,e,n,i,u){super();const w=this._gl=N._getContext(A);if(!w)throw new Error("Could not get WebGL context: this browser or environment may not support WebGL.");this._useGpuMode=N.UseGpuModes.Automatic,this._allDrawables=[],this._allSkins=[],this._drawList=[],this._groupOrdering=[],this._layerGroups={},this._nextDrawableId=g.ID_NONE+1,this._nextSkinId=g.ID_NONE+1,this._projection=r.m4.identity(),this._shaderManager=new Q(w),this._regionId=null,this._exitRegion=null,this._backgroundDrawRegionId={enter:()=>this._enterDrawBackground(),exit:()=>this._exitDrawBackground()},this._snapshotCallbacks=[],this._backgroundColor4f=[0,0,0,1],this._backgroundColor3b=new Uint8ClampedArray(3),this._penSkinId=null,this.customRenderConfig={textCostumeResolution:{capped:!1,fixed:!1,value:1}},this.useHighQualityRender=!0,this.offscreenTouching=!1,this.dirty=!0,this.overlayContainer=document.createElement("div"),this.overlayContainer.className="scratch-render-overlays",this._overlays=[],f||(f=document.createElement("style"),f.textContent=t(581),f.className="scratch-render-styles",document.head.appendChild(f)),this._createGeometry(),this.on(g.Events.NativeSizeChanged,this.onNativeSizeChanged),this.setBackgroundColor(1,1,1),this.setStageSize(e||-240,n||240,i||-180,u||180),this.resize(this._nativeSize[0],this._nativeSize[1]),w.disable(w.DEPTH_TEST),w.enable(w.BLEND),w.blendFunc(w.ONE,w.ONE_MINUS_SRC_ALPHA),this.xrEnabled=!1,this.xrSplitting=!1,this.xrSplitOffset=0,this.xrLayer=null,this.allowPrivateSkinAccess=!0,this.maxTextureDimension=2048,this.customFonts={},this._customFontStyles=null,this.exports={twgl:r,Drawable:a,Skin:s,BitmapSkin:o,TextBubbleSkin:l,PenSkin:c,SVGSkin:E,CanvasMeasurementProvider:h,Rectangle:B}}setUseHighQualityRender(A){this.dirty=!0,this.useHighQualityRender=A,this.emit(g.Events.UseHighQualityRenderChanged,A),this._updateRenderQuality()}_updateRenderQuality(){if(null!==this._penSkinId){const A=this._allSkins[this._penSkinId];A&&(this.useHighQualityRender?A.setRenderQuality(this.canvas.width/this._nativeSize[0]):A.setRenderQuality(1))}for(const A of this._allDrawables)A&&A.setHighQuality(this.useHighQualityRender)}setPrivateSkinAccess(A){this.allowPrivateSkinAccess=A,this.emit(g.Events.AllowPrivateSkinAccessChanged,A)}setMaxTextureDimension(A){const e=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE);this.maxTextureDimension=Math.min(A,e)}get gl(){return this._gl}get canvas(){return this._gl&&this._gl.canvas}resize(A,e){const{canvas:t}=this._gl,n=window.devicePixelRatio||1,i=A*n,r=e*n;t.width===i&&t.height===r||(t.width=i,t.height=r,this._updateRenderQuality(),this._updateOverlays(),this.dirty=!0,this.draw())}setBackgroundColor(A,e,t){this.dirty=!0,this._backgroundColor4f[0]=A,this._backgroundColor4f[1]=e,this._backgroundColor4f[2]=t,this._backgroundColor3b[0]=255*A,this._backgroundColor3b[1]=255*e,this._backgroundColor3b[2]=255*t}setDebugCanvas(A){this._debugCanvas=A}setUseGpuMode(A){this._useGpuMode=A}setStageSize(A,e,t,n){this._xLeft=A,this._xRight=e,this._yBottom=t,this._yTop=n,this._projection=r.m4.ortho(A,e,t,n,-1,1),this._setNativeSize(Math.abs(e-A),Math.abs(t-n))}getNativeSize(){return[this._nativeSize[0],this._nativeSize[1]]}_setNativeSize(A,e){this._nativeSize=[A,e],this._updateOverlays(),this.emit(g.Events.NativeSizeChanged,{newSize:this._nativeSize})}addOverlay(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"scale";const t=document.createElement("div");t.appendChild(A),this.overlayContainer.appendChild(t);const n={container:t,userElement:A,mode:e};return this._overlays.push(n),this._updateOverlays(),n}removeOverlay(A){const e=this._overlays.findIndex(e=>e.userElement===A);-1!==e&&(this._overlays[e].container.remove(),this._overlays.splice(e,1))}_updateOverlays(){const[A,e]=this._nativeSize,t=this.canvas.width/window.devicePixelRatio,n=this.canvas.height/window.devicePixelRatio;this.overlayContainer.style.width="".concat(t,"px"),this.overlayContainer.style.height="".concat(n,"px");for(const i of this._overlays){const r=i.container;if("scale"===i.mode||"scale-centered"===i.mode){const s=t/A,o=n/e;r.style.width="".concat(A,"px"),r.style.height="".concat(e,"px");const a="scale(".concat(s,", ").concat(o,")");if(r.style.transformOrigin="top left","scale"===i.mode)r.style.transform=a;else{const t="translate(".concat(A/2,"px, ").concat(e/2,"px)");r.style.transform="".concat(a," ").concat(t)}}else r.style.transform="",r.style.width="100%",r.style.height="100%"}}createBitmapSkin(A,e,t){const n=this._nextSkinId++,i=new o(n,this);return i.setBitmap(A,e,t),this._allSkins[n]=i,n}createSVGSkin(A,e){const t=this._nextSkinId++,n=new E(t,this);return n.setSVG(A,e),this._allSkins[t]=n,t}createPenSkin(){const A=this._nextSkinId++,e=new c(A,this);return this._allSkins[A]=e,this._penSkinId=A,this._updateRenderQuality(),A}createTextSkin(A,e,t,n){const i=this._nextSkinId++,r=new l(i,this);return r.setTextBubble(A,e,t,n),this._allSkins[i]=r,i}updateSVGSkin(A,e,t){if(this._allSkins[A]instanceof E)return void this._allSkins[A].setSVG(e,t);const n=new E(A,this);n.setSVG(e,t),this._reskin(A,n)}updateBitmapSkin(A,e,t,n){if(this._allSkins[A]instanceof o)return void this._allSkins[A].setBitmap(e,t,n);const i=new o(A,this);i.setBitmap(e,t,n),this._reskin(A,i)}_reskin(A,e){const t=this._allSkins[A];this._allSkins[A]=e;for(const A of this._allDrawables)A&&A.skin===t&&(A.skin=e);t.dispose()}updateTextSkin(A,e,t,n,i){if(this._allSkins[A]instanceof l)return void this._allSkins[A].setTextBubble(e,t,n,i);const r=new l(A,this);r.setTextBubble(e,t,n,i),this._reskin(A,r)}updateTextCostumeSkin(A){if(A.skinId&&this._allSkins[A.skinId]instanceof u)return this._allSkins[A.skinId].setTextAndStyle(A),A.skinId;const e=this._nextSkinId++,t=new u(e,this);return this._allSkins[e]=t,t.setTextAndStyle(A),e}destroySkin(A){this._allSkins[A].dispose(),delete this._allSkins[A]}createDrawable(A){if(!A||!Object.prototype.hasOwnProperty.call(this._layerGroups,A))return void C.warn("Cannot create a drawable without a known layer group");const e=this._nextDrawableId++,t=new a(e,this);return this._allDrawables[e]=t,this._addToDrawList(e,A),t.setHighQuality(this.useHighQualityRender),t.skin=null,e}createTextWrapper(A){return new(Y||(Y=t(147)),Y)(A)}markSkinAsPrivate(A){const e=this._allSkins[A];e&&(e.private=!0)}setLayerGroupOrdering(A){const e={};for(let A=0;A<this._groupOrdering.length;A++){const t=this._groupOrdering[A],n=this._layerGroups[t],i=n.drawListOffset,r=this._endIndexForKnownLayerGroup(n);e[t]=this._drawList.slice(i,r)}this._drawList=[],this._groupOrdering=A;for(let A=0;A<this._groupOrdering.length;A++){const t=this._groupOrdering[A],n=e[t];n&&(this._drawList=this._drawList.concat(n)),this._layerGroups[t]={groupIndex:A,drawListOffset:this._drawList.length}}}_addToDrawList(A,e){const t=this._layerGroups[e],n=t.groupIndex,i=this._endIndexForKnownLayerGroup(t);this._drawList.splice(i,0,A),this._updateOffsets("add",n)}_updateOffsets(A,e){for(let t=e+1;t<this._groupOrdering.length;t++){const e=this._groupOrdering[t];"add"===A?this._layerGroups[e].drawListOffset++:"delete"===A&&this._layerGroups[e].drawListOffset--}}get _visibleDrawList(){return this._drawList.filter(A=>this._allDrawables[A]._visible)}_endIndexForKnownLayerGroup(A){const e=A.groupIndex;return e===this._groupOrdering.length-1?this._drawList.length:this._layerGroups[this._groupOrdering[e+1]].drawListOffset}destroyDrawable(A,e){if(!e||!Object.prototype.hasOwnProperty.call(this._layerGroups,e))return void C.warn("Cannot destroy drawable without known layer group.");this.dirty=!0;this._allDrawables[A].dispose(),delete this._allDrawables[A];const t=this._layerGroups[e],n=this._endIndexForKnownLayerGroup(t);let i=t.drawListOffset;for(;i<n&&this._drawList[i]!==A;)i++;i<n?(this._drawList.splice(i,1),this._updateOffsets("delete",t.groupIndex)):C.warn("Could not destroy drawable that could not be found in layer group.")}getDrawableOrder(A){return this._drawList.indexOf(A)}setDrawableOrder(A,e,t,n,i){if(!t||!Object.prototype.hasOwnProperty.call(this._layerGroups,t))return void C.warn("Cannot set the order of a drawable without a known layer group.");this.dirty=!0;const r=this._layerGroups[t],s=r.drawListOffset,o=this._endIndexForKnownLayerGroup(r);let a=s;for(;a<o&&this._drawList[a]!==A;)a++;if(a<o){if(0===e)return a;this._drawList.splice(a,1)[0];let t=e;n&&(t+=a);const r=(i||0)+s,B=r>=s&&r<o?r:s;return t=Math.max(t,B),t=Math.min(t,o),this._drawList.splice(t,0,A),t}return null}skinWasAltered(A){for(let e=0;e<this._allDrawables.length;e++){const t=this._allDrawables[e];t&&t._skin===A&&t._skinWasAltered()}}draw(){if(!this.dirty)return;if(this.xrEnabled&&!this.xrLayer)return;this.dirty=!1,this._doExitDrawRegion();const A=this._gl,e=this.xrLayer;this.xrEnabled?(A.bindFramebuffer(A.FRAMEBUFFER,e.framebuffer),A.viewport(0,0,e.framebufferWidth,e.framebufferHeight),A.clearColor(0,0,0,0)):(r.bindFramebufferInfo(A,null),A.viewport(0,0,A.canvas.width,A.canvas.height),A.clearColor(...this._backgroundColor4f)),A.clear(A.COLOR_BUFFER_BIT);const t=this._snapshotCallbacks.length>0;if(this.xrSplitting){const n=this.xrEnabled?e.framebufferWidth:A.canvas.width,i=this.xrEnabled?e.framebufferHeight:A.canvas.height,s=this._xRight-this._xLeft,o=r.m4.ortho(this._xLeft+this.xrSplitOffset,this._xRight+s+this.xrSplitOffset,this._yBottom,this._yTop,-1,1),a=r.m4.ortho(this._xLeft-s-this.xrSplitOffset,this._xRight+s-s-this.xrSplitOffset,this._yBottom,this._yTop,-1,1);A.enable(A.SCISSOR_TEST),A.scissor(0,0,n/2,i),this._drawThese(this._drawList,Q.DRAW_MODE.default,o,{framebufferWidth:n,framebufferHeight:i,skipPrivateSkins:t}),A.scissor(n/2,0,n/2,i),this._drawThese(this._drawList,Q.DRAW_MODE.default,a,{framebufferWidth:n,framebufferHeight:i,skipPrivateSkins:t}),A.disable(A.SCISSOR_TEST)}else this._drawThese(this._drawList,Q.DRAW_MODE.default,this._projection,{framebufferWidth:A.canvas.width,framebufferHeight:A.canvas.height,skipPrivateSkins:t});if(t){const e=A.canvas.toDataURL();this._snapshotCallbacks.forEach(A=>A(e)),this._snapshotCallbacks=[],this.dirty=!0}}getBounds(A){const e=this._allDrawables[A];if(e.needsConvexHullPoints()){const t=this._getConvexHullPointsForDrawable(A);e.setConvexHullPoints(t)}const t=e.getFastBounds();if(this._debugCanvas){const A=this._gl;this._debugCanvas.width=A.canvas.width,this._debugCanvas.height=A.canvas.height;const e=this._debugCanvas.getContext("2d");e.drawImage(A.canvas,0,0),e.strokeStyle="#FF0000";const n=window.devicePixelRatio;e.strokeRect(n*(t.left+this._nativeSize[0]/2),n*(-t.top+this._nativeSize[1]/2),n*(t.right-t.left),n*(-t.bottom+t.top))}return t}getBoundsForBubble(A){const e=this._allDrawables[A];if(e.needsConvexHullPoints()){const t=this._getConvexHullPointsForDrawable(A);e.setConvexHullPoints(t)}const t=e.getBoundsForBubble();if(this._debugCanvas){const A=this._gl;this._debugCanvas.width=A.canvas.width,this._debugCanvas.height=A.canvas.height;const e=this._debugCanvas.getContext("2d");e.drawImage(A.canvas,0,0),e.strokeStyle="#FF0000";const n=window.devicePixelRatio;e.strokeRect(n*(t.left+this._nativeSize[0]/2),n*(-t.top+this._nativeSize[1]/2),n*(t.right-t.left),n*(-t.bottom+t.top))}return t}getCurrentSkinSize(A){const e=this._allDrawables[A];return this.getSkinSize(e.skin.id)}getSkinSize(A){return this._allSkins[A].size}getSkinRotationCenter(A){return this._allSkins[A].calculateRotationCenter()}isTouchingColor(A,e,t){const n=this._candidatesTouching(A,this._visibleDrawList);let i;if(D(e,this._backgroundColor3b,0)){if(i=this._touchingBounds(A),null===i)return!1}else{if(0===n.length)return!1;i=this._candidatesBounds(n)}const r=this._getMaxPixelsForCPU(),s=this._debugCanvas&&this._debugCanvas.getContext("2d");s&&(this._debugCanvas.width=i.width,this._debugCanvas.height=i.height),i.width*i.height*(n.length+1)>=r&&this._isTouchingColorGpuStart(A,n.map(A=>{let{id:e}=A;return e}).reverse(),i,e,t);const o=this._allDrawables[A],B=d,c=p,g=Boolean(t);o.updateCPURenderAttributes();const E=~Q.EFFECT_INFO.ghost.mask;for(let A=i.bottom;A<=i.top;A++){if(i.width*(A-i.bottom)*(n.length+1)>=r)return this._isTouchingColorGpuFin(i,e,A-i.bottom);for(let r=i.left;r<=i.right;r++)if(B[1]=A,B[0]=r,(g?(l=a.sampleColor4b(B,o,c,E),u=t,l[3]>0&&(252&l[0])==(252&u[0])&&(252&l[1])==(252&u[1])&&(252&l[2])==(252&u[2])):o.isTouching(B))&&(N.sampleColor3b(B,n,c),s&&(s.fillStyle="rgb(".concat(c[0],",").concat(c[1],",").concat(c[2],")"),s.fillRect(r-i.left,i.bottom-A,1,1)),D(c,e,0)))return!0}var l,u;return!1}_getMaxPixelsForCPU(){switch(this._useGpuMode){case N.UseGpuModes.ForceCPU:return 1/0;case N.UseGpuModes.ForceGPU:return 0;case N.UseGpuModes.Automatic:default:return 4e4}}_enterDrawBackground(){const A=this.gl,e=this._shaderManager.getShader(Q.DRAW_MODE.background,0);A.disable(A.BLEND),A.useProgram(e.program),r.setBuffersAndAttributes(A,e,this._bufferInfo)}_exitDrawBackground(){const A=this.gl;A.enable(A.BLEND)}_isTouchingColorGpuStart(A,e,t,n,i){this._doExitDrawRegion();const s=this._gl;r.bindFramebufferInfo(s,this._queryBufferInfo),s.viewport(0,0,t.width,t.height);const o=r.m4.ortho(t.left,t.right,t.top,t.bottom,-1,1);let a;s.clearColor(0,0,0,0),s.clear(s.COLOR_BUFFER_BIT|s.STENCIL_BUFFER_BIT),i&&(a={u_colorMask:[i[0]/255,i[1]/255,i[2]/255],u_colorMaskTolerance:2/255});try{s.enable(s.STENCIL_TEST),s.stencilFunc(s.ALWAYS,1,1),s.stencilOp(s.KEEP,s.KEEP,s.REPLACE),s.colorMask(!1,!1,!1,!1),this._drawThese([A],i?Q.DRAW_MODE.colorMask:Q.DRAW_MODE.silhouette,o,{extraUniforms:a,ignoreVisibility:!0,effectMask:~Q.EFFECT_INFO.ghost.mask}),s.stencilFunc(s.EQUAL,1,1),s.stencilOp(s.KEEP,s.KEEP,s.KEEP),s.colorMask(!0,!0,!0,!0),this.enterDrawRegion(this._backgroundDrawRegionId);const t={u_backgroundColor:this._backgroundColor4f},n=this._shaderManager.getShader(Q.DRAW_MODE.background,0);r.setUniforms(n,t),r.drawBufferInfo(s,this._bufferInfo,s.TRIANGLES),this._drawThese(e,Q.DRAW_MODE.default,o,{idFilterFunc:e=>e!==A})}finally{s.colorMask(!0,!0,!0,!0),s.disable(s.STENCIL_TEST),this._doExitDrawRegion()}}_isTouchingColorGpuFin(A,e,t){const n=this._gl,i=new Uint8Array(Math.floor(A.width*(A.height-t)*4));if(n.readPixels(0,0,A.width,A.height-t,n.RGBA,n.UNSIGNED_BYTE,i),this._debugCanvas){this._debugCanvas.width=A.width,this._debugCanvas.height=A.height;const e=this._debugCanvas.getContext("2d"),n=e.getImageData(0,0,A.width,A.height-t);n.data.set(i),e.putImageData(n,0,0)}for(let A=0;A<i.length;A+=4)if(0!==i[A+3]&&D(e,i,A))return!0;return!1}isTouchingDrawables(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._drawList;const t=this._candidatesTouching(A,e.filter(A=>this._allDrawables[A]._visible));if(0===t.length||!this._allDrawables[A]._visible)return!1;const n=this._candidatesBounds(t),i=this._allDrawables[A],r=d;i.updateCPURenderAttributes();for(let A=n.left;A<=n.right;A++){r[0]=A;for(let A=n.bottom;A<=n.top;A++)if(r[1]=A,i.isTouching(r))for(let A=0;A<t.length;A++)if(t[A].drawable.isTouching(r))return!0}return!1}getTouchingDrawablesPoint(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._drawList;const t=this._candidatesTouching(A,e.filter(A=>this._allDrawables[A]._visible));if(0===t.length||!this._allDrawables[A]._visible)return null;const n=this._candidatesBounds(t),i=this._allDrawables[A],r=d;i.updateCPURenderAttributes();for(let A=n.left;A<=n.right;A++){r[0]=A;for(let A=n.bottom;A<=n.top;A++)if(r[1]=A,i.isTouching(r))for(let A=0;A<t.length;A++)if(t[A].drawable.isTouching(r))return r}return null}clientSpaceToScratchBounds(A,e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const i=this._gl,r=this._nativeSize[0]/i.canvas.clientWidth,s=this._nativeSize[1]/i.canvas.clientHeight;t*=r,n*=s,t=Math.max(1,Math.min(Math.round(t),F[0])),n=Math.max(1,Math.min(Math.round(n),F[1]));const o=A*r-(t-1)/2,a=e*s+(n-1)/2,c=t%2?0:-.5,g=n%2?0:-.5,Q=new B;return Q.initFromBounds(Math.floor(this._xLeft+o+c),Math.floor(this._xLeft+o+c+t-1),Math.ceil(this._yTop-a+g),Math.ceil(this._yTop-a+g+n-1)),Q}drawableTouching(A,e,t,n,i){const s=this._allDrawables[A];if(!s)return!1;const o=this.clientSpaceToScratchBounds(e,t,n,i),a=s.getFastBounds();if(a.snapToInt(),!a.intersects(o))return!1;s.updateCPURenderAttributes();const B=r.v3.create();for(B[1]=o.bottom;B[1]<=o.top;B[1]++)for(B[0]=o.left;B[0]<=o.right;B[0]++)if(s.isTouching(B))return!0;return!1}pick(A,e,t,n,i){const s=this.clientSpaceToScratchBounds(A,e,t,n);if(s.left===-1/0||s.bottom===-1/0)return!1;if(0===(i=(i||this._drawList).filter(A=>{const e=this._allDrawables[A];if(e.getVisible()&&0!==e.getUniforms().u_ghost){const A=e.getFastBounds();return!!s.intersects(A)&&(!(e.skin instanceof c)&&(e.updateCPURenderAttributes(),!0))}return!1})).length)return!1;const o=[],a=r.v3.create(0,0,0);for(a[1]=s.bottom;a[1]<=s.top;a[1]++)for(a[0]=s.left;a[0]<=s.right;a[0]++)for(let A=i.length-1;A>=0;A--){const e=i[A];if(this._allDrawables[e].isTouching(a)){o[e]=(o[e]||0)+1;break}}o[g.ID_NONE]=0;let B=g.ID_NONE;for(const A in o)Object.prototype.hasOwnProperty.call(o,A)&&o[A]>o[B]&&(B=A);return Number(B)}extractDrawableScreenSpace(A){const e=this._allDrawables[A];if(!e)throw new Error("Could not extract drawable with ID ".concat(A,"; it does not exist"));this._doExitDrawRegion();const t=.5*this._nativeSize[0],n=.5*this._nativeSize[1],i=e.getFastBounds(),s=this.canvas,o=s.width/this._nativeSize[0],a=new B;a.initFromBounds((i.left+t)*o,(i.right+t)*o,(n-i.top)*o,(n-i.bottom)*o),a.snapToInt(),i.initFromBounds(a.left/o-t,a.right/o-t,n-a.top/o,n-a.bottom/o);const c=this._gl,g=c.getParameter(c.MAX_TEXTURE_SIZE),E=Math.min(2048,a.width,g),l=Math.min(2048,a.height,g),u=r.createFramebufferInfo(c,[{format:c.RGBA}],E,l);try{r.bindFramebufferInfo(c,u),c.viewport(0,0,E,l);const e=r.m4.ortho(i.left,i.right,i.top,i.bottom,-1,1);c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),this._drawThese([A],Q.DRAW_MODE.straightAlpha,e,{effectMask:~Q.EFFECT_INFO.ghost.mask,framebufferWidth:s.width,framebufferHeight:s.height});const t=new Uint8Array(Math.floor(E*l*4));c.readPixels(0,0,E,l,c.RGBA,c.UNSIGNED_BYTE,t);const n=new ImageData(new Uint8ClampedArray(t.buffer),E,l),o=s.getBoundingClientRect().width/s.width;return{imageData:n,x:a.left*o,y:a.bottom*o,width:a.width*o,height:a.height*o}}finally{c.deleteFramebuffer(u.framebuffer)}}extractColor(A,e,t){this._doExitDrawRegion();const n=Math.round(this._nativeSize[0]*(A/this._gl.canvas.clientWidth-.5)),i=Math.round(-this._nativeSize[1]*(e/this._gl.canvas.clientHeight-.5)),s=this._gl;r.bindFramebufferInfo(s,this._queryBufferInfo);const o=new B;o.initFromBounds(n-t,n+t,i-t,i+t);const a=n-o.left,c=o.top-i;s.viewport(0,0,o.width,o.height);const g=r.m4.ortho(o.left,o.right,o.top,o.bottom,-1,1);s.clearColor(...this._backgroundColor4f),s.clear(s.COLOR_BUFFER_BIT),this._drawThese(this._drawList,Q.DRAW_MODE.default,g);const E=new Uint8Array(Math.floor(o.width*o.height*4));s.readPixels(0,0,o.width,o.height,s.RGBA,s.UNSIGNED_BYTE,E);const l=Math.floor(4*(c*o.width+a)),u={r:E[l],g:E[l+1],b:E[l+2],a:E[l+3]};if(this._debugCanvas){this._debugCanvas.width=o.width,this._debugCanvas.height=o.height;const A=this._debugCanvas.getContext("2d"),e=A.createImageData(o.width,o.height);e.data.set(E),A.putImageData(e,0,0),A.strokeStyle="black",A.fillStyle="rgba(".concat(u.r,", ").concat(u.g,", ").concat(u.b,", ").concat(u.a,")"),A.rect(a-4,c-4,8,8),A.fill(),A.stroke()}return{data:E,width:o.width,height:o.height,color:u}}_touchingBounds(A){const e=this._allDrawables[A];if(!e.skin||!e.skin.getTexture([100,100]))return null;const t=e.getFastBounds();return this.offscreenTouching||t.clamp(this._xLeft,this._xRight,this._yBottom,this._yTop),t.snapToInt(),0===t.width||0===t.height?null:t}_unsnappedTouchingBounds(A){const e=this._allDrawables[A];if(!e.skin||!e.skin.getTexture([100,100]))return null;const t=e.getFastBounds();return this.offscreenTouching||t.clamp(this._xLeft,this._xRight,this._yBottom,this._yTop),0===t.width||0===t.height?null:t}_candidatesTouching(A,e){const t=this._touchingBounds(A),n=[];if(null===t)return n;for(let i=e.length-1;i>=0;i--){const r=e[i];if(r!==A){const A=this._allDrawables[r];if(A.skin instanceof l)continue;if(A.skin&&A._visible){if(!this.allowPrivateSkinAccess&&A.skin.private)continue;A.updateCPURenderAttributes();const e=A.getFastBounds();e.snapToInt(),t.intersects(e)&&n.push({id:r,drawable:A,intersection:B.intersect(t,e)})}}}return n}_candidatesBounds(A){return A.reduce((A,e)=>{let{intersection:t}=e;return A?B.union(A,t,I):t},null)}updateDrawableSkinId(A,e){const t=this._allDrawables[A];t&&(t.skin=this._allSkins[e])}updateDrawablePosition(A,e){const t=this._allDrawables[A];t&&t.updatePosition(e)}updateDrawableDirection(A,e){const t=this._allDrawables[A];t&&t.updateDirection(e)}updateDrawableScale(A,e){const t=this._allDrawables[A];t&&t.updateScale(e)}updateDrawableDirectionScale(A,e,t,n){const i=this._allDrawables[A];i&&(i.updateDirection(e),i.updateScale(t),n&&i.updateTransform(n))}updateDrawableVisible(A,e){const t=this._allDrawables[A];t&&t.updateVisible(e)}updateDrawableEffect(A,e,t){const n=this._allDrawables[A];n&&n.updateEffect(e,t)}updateDrawableProperties(A,e){const t=this._allDrawables[A];t&&("skinId"in e&&this.updateDrawableSkinId(A,e.skinId),t.updateProperties(e))}getFencedPositionOfDrawable(A,e){let t=e[0],n=e[1];const i=this._allDrawables[A];if(!i)return[t,n];const r=t-i._position[0],s=n-i._position[1],o=i._skin.getFenceBounds(i,M),a=Math.floor(Math.min(o.width,o.height)/2),B=this._xRight-Math.min(15,a);o.right+r<-B?t=Math.ceil(i._position[0]-(B+o.right)):o.left+r>B&&(t=Math.floor(i._position[0]+(B-o.left)));const c=this._yTop-Math.min(15,a);return o.top+s<-c?n=Math.ceil(i._position[1]-(c+o.top)):o.bottom+s>c&&(n=Math.floor(i._position[1]+(c-o.bottom))),[t,n]}penTranslate(A,e,t,n,i){this.dirty=!0;this._allSkins[A].updatePenPointOffset(e,t,n,i)}penClear(A){this.dirty=!0;this._allSkins[A].clear()}penPoint(A,e,t,n){this.dirty=!0;this._allSkins[A].drawPoint(e,t,n)}penLine(A,e,t,n,i,r){this.dirty=!0;this._allSkins[A].drawLine(e,t,n,i,r)}penStamp(A,e){this.dirty=!0;if(!this._allDrawables[e])return;const t=this._unsnappedTouchingBounds(e);if(!t)return;this._doExitDrawRegion();const n=this._allSkins[A],i=this._gl;r.bindFramebufferInfo(i,n._framebuffer);const s=n.renderQuality;t.left*=s,t.right*=s,t.top*=s,t.bottom*=s,t.snapToInt(),i.viewport(.5*this._nativeSize[0]*s+t.left,.5*this._nativeSize[1]*s-t.top,t.width,t.height);const o=r.m4.ortho(t.left/s,t.right/s,t.top/s,t.bottom/s,-1,1);this._drawThese([e],Q.DRAW_MODE.default,o,{ignoreVisibility:!0,framebufferWidth:this._nativeSize[0]*s,framebufferHeight:this._nativeSize[1]*s}),n._silhouetteDirty=!0}_createGeometry(){this._bufferInfo=r.createBufferInfoFromArrays(this._gl,{a_position:{numComponents:2,data:[-.5,-.5,.5,-.5,-.5,.5,-.5,.5,.5,-.5,.5,.5]},a_texCoord:{numComponents:2,data:[1,0,0,0,1,1,1,1,0,0,0,1]}})}onNativeSizeChanged(A){this.dirty=!0;const[e,t]=A.newSize,n=this._gl,i=[{format:n.RGBA},{format:n.DEPTH_STENCIL}];this._pickBufferInfo||(this._pickBufferInfo=r.createFramebufferInfo(n,i,F[0],F[1])),this._queryBufferInfo?r.resizeFramebufferInfo(n,this._queryBufferInfo,i,e,t):this._queryBufferInfo=r.createFramebufferInfo(n,i,e,t)}enterDrawRegion(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:A.enter,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A.exit;this._regionId!==A&&(this._doExitDrawRegion(),this._regionId=A,e(),this._exitRegion=t)}_doExitDrawRegion(){null!==this._exitRegion&&this._exitRegion(),this._exitRegion=null,this._regionId=null}_drawThese(A,e,t){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=this._gl;let s=null;const o="framebufferWidth"in n&&"framebufferHeight"in n&&n.framebufferWidth!==this._nativeSize[0]&&n.framebufferHeight!==this._nativeSize[1],a=A.length;for(let B=0;B<a;++B){const a=A[B];if(n.filter&&!n.filter(a))continue;const c=this._allDrawables[a];if(!c.getVisible()&&!n.ignoreVisibility)continue;const g=o?[c.scale[0]*n.framebufferWidth/this._nativeSize[0],c.scale[1]*n.framebufferHeight/this._nativeSize[1]]:c.scale,Q=c.transform||[0,0];if(!c.skin||!c.skin.getTexture(g,Q))continue;if(n.skipPrivateSkins&&c.skin.private)continue;const E={};let l=c.enabledEffects;l&=Object.prototype.hasOwnProperty.call(n,"effectMask")?n.effectMask:l;const u=this._shaderManager.getShader(e,l);this._regionId!==u&&(this._doExitDrawRegion(),this._regionId=u,s=u,i.useProgram(s.program),r.setBuffersAndAttributes(i,s,this._bufferInfo),Object.assign(E,{u_projectionMatrix:t})),Object.assign(E,c.skin.getUniforms(g),c.getUniforms()),n.extraUniforms&&Object.assign(E,n.extraUniforms),E.u_skin&&r.setTextureParameters(i,E.u_skin,{minMag:c.skin.useNearest(g,c)?i.NEAREST:i.LINEAR}),r.setUniforms(s,E),r.drawBufferInfo(i,this._bufferInfo,i.TRIANGLES)}this._regionId=null}_getConvexHullPointsForDrawable(A){const e=this._allDrawables[A],[t,n]=e.skin.size;if(!e.getVisible()||0===t||0===n)return[];e.updateCPURenderAttributes();const s=function(A,e,t){return(e[0]-A[0])*(t[1]-A[1])-(e[1]-A[1])*(t[0]-A[0])},o=[],a=[];let B=-1,c=-1;const g=r.v3.create(),Q=r.v3.create();let E;for(let A=0;A<n;A++){g[1]=A/n;let i=0;for(;i<t;i++)if(g[0]=i/t,w.transformPoint(e,g,Q),e.skin.isTouchingLinear(Q)){E=[i,A];break}if(!(i>=t)){for(;B>0&&!(s(o[B],o[B-1],E)>0);)--B;for(o[++B]=E,i=t-1;i>=0;i--)if(g[0]=i/t,w.transformPoint(e,g,Q),e.skin.isTouchingLinear(Q)){E=[i,A];break}for(;c>0&&!(s(a[c],a[c-1],E)<0);)--c;a[++c]=E}}const l=o;l.length=B+1;for(let A=c;A>=0;--A)l.push(a[A]);return i(l,1/0)}static sampleColor3b(A,e,t){(t=t||new Uint8ClampedArray(3)).fill(0);let n=1;for(let i=0;0!==n&&i<e.length;i++)a.sampleColor4b(A,e[i].drawable,m),t[0]+=m[0]*n,t[1]+=m[1]*n,t[2]+=m[2]*n,n*=1-m[3]/255;return t[0]+=255*n,t[1]+=255*n,t[2]+=255*n,t}requestSnapshot(A){this.dirty=!0,this._snapshotCallbacks.push(A)}getBubbleDefaults(){const A=new l,e=A.getAllProps();return A.dispose(),e}getPenDrawableId(){return this._allDrawables.findIndex(A=>A instanceof c)}setCustomFonts(A){this.customFonts=A;const e=Object.values(A).join("\n");e.length?(this._customFontStyles||(this._customFontStyles=document.createElement("style"),this._customFontStyles.className="renderer-custom-fonts",document.head.appendChild(this._customFontStyles)),this._customFontStyles.textContent=e):this._customFontStyles&&(this._customFontStyles.remove(),this._customFontStyles=null)}}N.prototype.canHazPixels=N.prototype.extractDrawableScreenSpace,N.UseGpuModes={Automatic:"Automatic",ForceGPU:"ForceGPU",ForceCPU:"ForceCPU"},N.powerPreference="default",A.exports=N},function(A,e,t){"use strict";var n=t(560),i=t(561),r=t(562),s=t(563);function o(A,e){return Math.pow(e[0]-A[0],2)+Math.pow(e[1]-A[1],2)}function a(A,e,t){var n=[e[0]-A[0],e[1]-A[1]],i=[t[0]-A[0],t[1]-A[1]],r=o(A,e),s=o(A,t);return(n[0]*i[0]+n[1]*i[1])/Math.sqrt(r*s)}function B(A,e){for(var t=0;t<e.length-1;t++){var i=[e[t],e[t+1]];if(!(A[0][0]===i[0][0]&&A[0][1]===i[0][1]||A[0][0]===i[1][0]&&A[0][1]===i[1][1])&&n(A,i))return!0}return!1}function c(A){return[Math.min(A[0][0],A[1][0]),Math.min(A[0][1],A[1][1]),Math.max(A[0][0],A[1][0]),Math.max(A[0][1],A[1][1])]}function g(A,e,t){for(var n,i,r=null,s=Q,o=Q,c=0;c<e.length;c++)n=a(A[0],A[1],e[c]),i=a(A[1],A[0],e[c]),n>s&&i>o&&!B([A[0],e[c]],t)&&!B([A[1],e[c]],t)&&(s=n,o=i,r=e[c]);return r}var Q=Math.cos(90/(180/Math.PI)),E=.6;A.exports=function(A,e,t){var n,a,B,Q,l,u,w,h=e||20;return A.length<4?A.slice():(l=[(Q=function(A){for(var e=1/0,t=1/0,n=-1/0,i=-1/0,r=A.length-1;r>=0;r--)A[r][0]<e&&(e=A[r][0]),A[r][1]<t&&(t=A[r][1]),A[r][0]>n&&(n=A[r][0]),A[r][1]>i&&(i=A[r][1]);return[n-e,i-t]}(w=function(A){return A.filter((function(A,e,t){var n=t[e-1];return 0===e||!(n[0]===A[0]&&n[1]===A[1])}))}(function(A){return A.sort((function(A,e){return A[0]==e[0]?A[1]-e[1]:A[0]-e[0]}))}(r.toXy(A,t)))))[0]*E,Q[1]*E],n=s(w),B=w.filter((function(A){return n.indexOf(A)<0})),u=Math.ceil(1/(w.length/(Q[0]*Q[1]))),a=function A(e,t,n,i,r){for(var s,a,B,Q,E,l,u,w=!1,h=0;h<e.length-1;h++)if(a=(s=[e[h],e[h+1]])[0].join()+","+s[1].join(),!(o(s[0],s[1])<t||!0===r[a])){B=0,E=c(s);do{l=(E=i.extendBbox(E,B))[2]-E[0],u=E[3]-E[1],Q=g(s,i.rangePoints(E),e),B++}while(null===Q&&(n[0]>l||n[1]>u));l>=n[0]&&u>=n[1]&&(r[a]=!0),null!==Q&&(e.splice(h+1,0,Q),i.removePoint(Q),w=!0)}return w?A(e,t,n,i,r):e}(n,Math.pow(h,2),l,i(B,u),{}),r.fromXy(a,t))}},function(A,e){function t(A,e,t,n,i,r){var s=(r-e)*(t-A)-(n-e)*(i-A);return s>0||!(s<0)}A.exports=function(A,e){var n=A[0][0],i=A[0][1],r=A[1][0],s=A[1][1],o=e[0][0],a=e[0][1],B=e[1][0],c=e[1][1];return t(n,i,o,a,B,c)!==t(r,s,o,a,B,c)&&t(n,i,r,s,o,a)!==t(n,i,r,s,B,c)}},function(A,e){function t(A,e){this._cells=[],this._cellSize=e,A.forEach((function(A){var e=this.point2CellXY(A),t=e[0],n=e[1];void 0===this._cells[t]&&(this._cells[t]=[]),void 0===this._cells[t][n]&&(this._cells[t][n]=[]),this._cells[t][n].push(A)}),this)}t.prototype={cellPoints:function(A,e){return void 0!==this._cells[A]&&void 0!==this._cells[A][e]?this._cells[A][e]:[]},rangePoints:function(A){for(var e=this.point2CellXY([A[0],A[1]]),t=this.point2CellXY([A[2],A[3]]),n=[],i=e[0];i<=t[0];i++)for(var r=e[1];r<=t[1];r++)n=n.concat(this.cellPoints(i,r));return n},removePoint:function(A){for(var e,t=this.point2CellXY(A),n=this._cells[t[0]][t[1]],i=0;i<n.length;i++)if(n[i][0]===A[0]&&n[i][1]===A[1]){e=i;break}return n.splice(e,1),n},point2CellXY:function(A){return[parseInt(A[0]/this._cellSize),parseInt(A[1]/this._cellSize)]},extendBbox:function(A,e){return[A[0]-e*this._cellSize,A[1]-e*this._cellSize,A[2]+e*this._cellSize,A[3]+e*this._cellSize]}},A.exports=function(A,e){return new t(A,e)}},function(A,e){A.exports={toXy:function(A,e){return void 0===e?A.slice():A.map((function(A){return new Function("pt","return [pt"+e[0]+",pt"+e[1]+"];")(A)}))},fromXy:function(A,e){return void 0===e?A.slice():A.map((function(A){return new Function("pt","var o = {}; o"+e[0]+"= pt[0]; o"+e[1]+"= pt[1]; return o;")(A)}))}}},function(A,e){function t(A,e,t){return(e[0]-A[0])*(t[1]-A[1])-(e[1]-A[1])*(t[0]-A[0])}A.exports=function(A){var e,n=function(A){for(var e=[],n=0;n<A.length;n++){for(;e.length>=2&&t(e[e.length-2],e[e.length-1],A[n])<=0;)e.pop();e.push(A[n])}return e.pop(),e}(A);return(e=function(A){for(var e=A.reverse(),n=[],i=0;i<e.length;i++){for(;n.length>=2&&t(n[n.length-2],n[n.length-1],e[i])<=0;)n.pop();n.push(e[i])}return n.pop(),n}(A).concat(n)).push(A[0]),e}},function(A,e){let t;const n=(A,e)=>e^(A^e)&A-e>>31,i=(A,e)=>A^(A^e)&A-e>>31,r=(A,e,t)=>{let{_width:n,_height:i,_colorData:r}=A;return e>=n||t>=i||e<0||t<0?0:r[4*(t*n+e)+3]},s=[new Uint8ClampedArray(4),new Uint8ClampedArray(4),new Uint8ClampedArray(4),new Uint8ClampedArray(4)],o=(A,e,t,r)=>{let{_width:s,_height:o,_colorData:a}=A;if(e=i(0,n(e,s-1)),t=i(0,n(t,o-1)),e>=s||t>=o||e<0||t<0)return r.fill(0);const B=4*(t*s+e),c=a[B+3]/255;return r[0]=a[B]*c,r[1]=a[B+1]*c,r[2]=a[B+2]*c,r[3]=a[B+3],r},a=(A,e,t,r)=>{let{_width:s,_height:o,_colorData:a}=A;e=i(0,n(e,s-1));const B=4*((t=i(0,n(t,o-1)))*s+e);return r[0]=a[B],r[1]=a[B+1],r[2]=a[B+2],r[3]=a[B+3],r};class B{constructor(){this._width=0,this._height=0,this._lazyData=null,this._colorData=null,this._getColor=o,this.colorAtNearest=this.colorAtLinear=(A,e)=>e.fill(0)}update(A){let e,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(A instanceof ImageData)e=A,this._width=A.width,this._height=A.height,this._lazyData=null,this._colorData=e.data;else{if(this._width=A.width,this._height=A.height,!this._width||!this._height)return;this._lazyData=A,this._colorData=null}this._getColor=t?a:o,delete this.colorAtNearest,delete this.colorAtLinear}unlazy(){if(!this._lazyData)return;const A=this._lazyData.width,e=this._lazyData.height;if(A&&e){const t=B._updateCanvas();t.width=A,t.height=e;const n=t.getContext("2d");n.clearRect(0,0,A,e),n.drawImage(this._lazyData,0,0,A,e);const i=n.getImageData(0,0,A,e);this._colorData=i.data}this._lazyData=null}colorAtNearest(A,e){return this._getColor(this,Math.floor(A[0]*(this._width-1)),Math.floor(A[1]*(this._height-1)),e)}colorAtLinear(A,e){const t=A[0]*(this._width-1),n=A[1]*(this._height-1),i=t%1,r=n%1,o=1-i,a=1-r,B=Math.floor(t),c=Math.floor(n),g=this._getColor(this,B,c,s[0]),Q=this._getColor(this,B+1,c,s[1]),E=this._getColor(this,B,c+1,s[2]),l=this._getColor(this,B+1,c+1,s[3]);return e[0]=g[0]*o*a+E[0]*o*r+Q[0]*i*a+l[0]*i*r,e[1]=g[1]*o*a+E[1]*o*r+Q[1]*i*a+l[1]*i*r,e[2]=g[2]*o*a+E[2]*o*r+Q[2]*i*a+l[2]*i*r,e[3]=g[3]*o*a+E[3]*o*r+Q[3]*i*a+l[3]*i*r,e}isTouchingNearest(A){if(this._colorData)return r(this,Math.floor(A[0]*(this._width-1)),Math.floor(A[1]*(this._height-1)))>0}isTouchingLinear(A){if(!this._colorData)return;const e=Math.floor(A[0]*(this._width-1)),t=Math.floor(A[1]*(this._height-1));return r(this,e,t)>0||r(this,e+1,t)>0||r(this,e,t+1)>0||r(this,e+1,t+1)>0}static _updateCanvas(){return void 0===t&&(t=document.createElement("canvas")),t}}A.exports=B},function(A,e,t){const n=t(20),i=t(40);class r extends i{constructor(A,e){super(A,e),this._costumeResolution=1,this._textureSize=[0,0]}dispose(){this._texture&&(this._renderer.gl.deleteTexture(this._texture),this._texture=null),super.dispose()}get size(){return[this._textureSize[0]/this._costumeResolution,this._textureSize[1]/this._costumeResolution]}getTexture(A){return this._texture||super.getTexture()}setBitmap(A,e,t){if(!A.width||!A.height)return void super.setEmptyImageData();const i=this._renderer.gl;let s=A;if(A instanceof HTMLCanvasElement&&!1!==A.reusable){s=A.getContext("2d").getImageData(0,0,A.width,A.height)}if(null===this._texture){const A={auto:!1,wrap:i.CLAMP_TO_EDGE};this._texture=n.createTexture(i,A)}this._setTexture(s),this._costumeResolution=e||2,this._textureSize=r._getBitmapSize(A),void 0===t&&(t=this.calculateRotationCenter()),this._rotationCenter[0]=t[0],this._rotationCenter[1]=t[1],this.emitWasAltered()}static _getBitmapSize(A){return A instanceof HTMLImageElement?[A.naturalWidth||A.width,A.naturalHeight||A.height]:A instanceof HTMLVideoElement?[A.videoWidth||A.width,A.videoHeight||A.height]:[A.width,A.height]}}A.exports=r},function(A,e,t){const n=t(20),i=t(144),r=t(65),s=t(49),o=t(145),a=t(146),B=n.v3.create(),c=(A,e)=>{const t=B,n=e[0],i=e[1],r=A._inverseMatrix,s=n*r[3]+i*r[7]+r[15];return t[0]=.5-(n*r[0]+i*r[4]+r[12])/s,t[1]=(n*r[1]+i*r[5]+r[13])/s+.5,Math.abs(t[0])<1e-6&&(t[0]=0),Math.abs(t[1])<1e-6&&(t[1]=0),0!==A.enabledEffects&&t[0]>=0&&t[0]<1&&t[1]>=0&&t[1]<1&&o.transformPoint(A,t,t),t};class g{constructor(A,e){this._id=A,this._renderer=e,this._uniforms={u_modelMatrix:n.m4.identity(),u_silhouetteColor:g.color4fFromID(this._id)};const t=s.EFFECTS.length;for(let A=0;A<t;++A){const e=s.EFFECTS[A],t=s.EFFECT_INFO[e],n=t.converter;this._uniforms[t.uniformName]=n(0)}this._position=n.v3.create(0,0),this._scale=n.v3.create(100,100),this._transform=[],this._direction=90,this._transformDirty=!0,this._rotationMatrix=n.m4.identity(),this._rotationTransformDirty=!0,this._rotationAdjusted=n.v3.create(),this._rotationCenterDirty=!0,this._skinScale=n.v3.create(0,0,0),this._skinScaleDirty=!0,this._inverseMatrix=n.m4.identity(),this._inverseTransformDirty=!0,this._visible=!0,this.enabledEffects=0,this._convexHullPoints=null,this._convexHullDirty=!0,this._transformedHullPoints=null,this._transformedHullDirty=!0,this._skinWasAltered=this._skinWasAltered.bind(this),this.isTouching=this._isTouchingNever,this._highQuality=!1}setHighQuality(A){this._highQuality=A}dispose(){this.skin=null}setTransformDirty(){this._transformDirty=!0,this._inverseTransformDirty=!0,this._transformedHullDirty=!0}get id(){return this._id}get skin(){return this._skin}set skin(A){this._skin!==A&&(this._skin=A,this._skinWasAltered())}get scale(){return[this._scale[0],this._scale[1]]}get transform(){return this._transform}getUniforms(){return this._transformDirty&&this._calculateTransform(),this._uniforms}getVisible(){return this._visible}updatePosition(A){this._position[0]===A[0]&&this._position[1]===A[1]||(this._highQuality?(this._position[0]=A[0],this._position[1]=A[1]):(this._position[0]=Math.round(A[0]),this._position[1]=Math.round(A[1])),this._renderer.dirty=!0,this.setTransformDirty())}updateDirection(A){this._direction!==A&&(this._direction=A,this._renderer.dirty=!0,this._rotationTransformDirty=!0,this.setTransformDirty())}updateScale(A){this._scale[0]===A[0]&&this._scale[1]===A[1]||(this._scale[0]=A[0],this._scale[1]=A[1],this._renderer.dirty=!0,this._rotationCenterDirty=!0,this._skinScaleDirty=!0,this.setTransformDirty())}updateTransform(A){this._transform=A,this._renderer.dirty=!0,this._rotationCenterDirty=!0,this._skinScaleDirty=!0,this.setTransformDirty()}updateVisible(A){this._visible!==A&&(this._visible=A,this._renderer.dirty=!0,this.setConvexHullDirty())}updateEffect(A,e){this._renderer.dirty=!0;const t=s.EFFECT_INFO[A];e?this.enabledEffects|=t.mask:this.enabledEffects&=~t.mask;const n=t.converter;this._uniforms[t.uniformName]=n(e),t.shapeChanges&&this.setConvexHullDirty()}updateProperties(A){"position"in A&&this.updatePosition(A.position),"direction"in A&&this.updateDirection(A.direction),"scale"in A&&this.updateScale(A.scale),"visible"in A&&this.updateVisible(A.visible);const e=s.EFFECTS.length;for(let t=0;t<e;++t){const e=s.EFFECTS[t];e in A&&this.updateEffect(e,A[e])}}_calculateTransform(){if(this._rotationTransformDirty){const A=(270-this._direction)*Math.PI/180,e=Math.cos(A),t=Math.sin(A);this._rotationMatrix[0]=e,this._rotationMatrix[1]=t,this._rotationMatrix[4]=-t,this._rotationMatrix[5]=e,this._rotationTransformDirty=!1}if(this._rotationCenterDirty&&null!==this.skin){const A=this.skin.rotationCenter,e=this.skin.size,t=A[0],n=A[1],i=e[0],r=e[1],s=this._scale[0],o=this._scale[1],a=this._rotationAdjusted;a[0]=(t-i/2)*s/100,a[1]=(n-r/2)*o/100*-1,this._rotationCenterDirty=!1}if(this._skinScaleDirty&&null!==this.skin){const A=this.skin.size,e=this._skinScale;e[0]=A[0]*this._scale[0]/100,e[1]=A[1]*this._scale[1]/100,this._skinScaleDirty=!1}const A=this._uniforms.u_modelMatrix,e=this._skinScale[0],t=this._skinScale[1],n=this._rotationMatrix[0],i=this._rotationMatrix[1],r=this._rotationMatrix[4],s=this._rotationMatrix[5],o=this._rotationAdjusted[0],a=this._rotationAdjusted[1],B=this._position[0],c=this._position[1];A[0]=e*n,A[1]=e*i,A[4]=t*r,A[5]=t*s,A[12]=n*o+r*a+B,A[13]=i*o+s*a+c,this._transformDirty=!1}needsConvexHullPoints(){return!this._convexHullPoints||this._convexHullDirty||0===this._convexHullPoints.length}setConvexHullDirty(){this._convexHullDirty=!0}setConvexHullPoints(A){this._convexHullPoints=A,this._convexHullDirty=!1,this._transformedHullPoints=[];for(let e=0;e<A.length;e++)this._transformedHullPoints.push(n.v3.create());this._transformedHullDirty=!0}_isTouchingNever(A){return!1}_isTouchingNearest(A){return this.skin.isTouchingNearest(c(this,A))}_isTouchingLinear(A){return this.skin.isTouchingLinear(c(this,A))}getBounds(A){if(this.needsConvexHullPoints())throw new Error("Needs updated convex hull points before bounds calculation.");this._transformDirty&&this._calculateTransform();const e=this._getTransformedHullPoints();return(A=A||new i).initFromPointsAABB(e),A}getBoundsForBubble(A){if(this.needsConvexHullPoints())throw new Error("Needs updated convex hull points before bubble bounds calculation.");this._transformDirty&&this._calculateTransform();const e=this._getTransformedHullPoints(),t=Math.max.apply(null,e.map(A=>A[1])),n=e.filter(A=>A[1]>t-8);return(A=A||new i).initFromPointsAABB(n),A}getAABB(A){this._transformDirty&&this._calculateTransform();const e=this._uniforms.u_modelMatrix;return(A=A||new i).initFromModelMatrix(e),A}getFastBounds(A){return this.needsConvexHullPoints()?this.getAABB(A):this.getBounds(A)}_getTransformedHullPoints(){if(!this._transformedHullDirty)return this._transformedHullPoints;const A=n.m4.ortho(-1,1,-1,1,-1,1),e=this.skin.size,t=1/e[0]/2,i=1/e[1]/2,r=n.m4.multiply(this._uniforms.u_modelMatrix,A);for(let A=0;A<this._convexHullPoints.length;A++){const s=this._convexHullPoints[A],o=this._transformedHullPoints[A];o[0]=.5+-s[0]/e[0]-t,o[1]=s[1]/e[1]-.5+i,n.m4.transformPoint(r,o,o)}return this._transformedHullDirty=!1,this._transformedHullPoints}updateMatrix(){if(this._transformDirty&&this._calculateTransform(),this._inverseTransformDirty){const A=this._inverseMatrix;n.m4.copy(this._uniforms.u_modelMatrix,A),A[10]=1,n.m4.inverse(A,A),this._inverseTransformDirty=!1}}updateCPURenderAttributes(){this.updateMatrix(),this.skin?(this.skin.updateSilhouette(this._scale),this.skin.useNearest(this._scale,this)?this.isTouching=this._isTouchingNearest:this.isTouching=this._isTouchingLinear):(a.warn("Could not find skin for drawable with id: ".concat(this._id)),this.isTouching=this._isTouchingNever)}_skinWasAltered(){this._renderer.dirty=!0,this._rotationCenterDirty=!0,this._skinScaleDirty=!0,this.setConvexHullDirty(),this.setTransformDirty()}static color4fFromID(A){return[((A-=r.ID_NONE)>>0&255)/255,(A>>8&255)/255,(A>>16&255)/255,1]}static color3bToID(A,e,t){let n;return n=(255&A)<<0,n|=(255&e)<<8,n|=(255&t)<<16,n+r.ID_NONE}static sampleColor4b(A,e,t,n){const i=c(e,A);if(i[0]<0||i[1]<0||i[0]>1||i[1]>1)return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t;const r=e.skin._silhouette.colorAtNearest(i,t);return 0===e.enabledEffects?r:o.transformColor(e,r,n)}}A.exports=g},function(A,e){A.exports="precision mediump float;\n\n#ifdef DRAW_MODE_line\nuniform vec2 u_stageSize;\nattribute vec2 a_lineThicknessAndLength;\nattribute vec4 a_penPoints;\nattribute vec4 a_lineColor;\n\nvarying vec4 v_lineColor;\nvarying float v_lineThickness;\nvarying float v_lineLength;\nvarying vec4 v_penPoints;\n\n// Add this to divisors to prevent division by 0, which results in NaNs propagating through calculations.\n// Smaller values can cause problems on some mobile devices.\nconst float epsilon = 1e-3;\n#endif\n\n#if !(defined(DRAW_MODE_line) || defined(DRAW_MODE_background))\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_modelMatrix;\nattribute vec2 a_texCoord;\n#endif\n\nattribute vec2 a_position;\n\nvarying vec2 v_texCoord;\n\nvoid main() {\n\t#ifdef DRAW_MODE_line\n\t// Calculate a rotated (\"tight\") bounding box around the two pen points.\n\t// Yes, we're doing this 6 times (once per vertex), but on actual GPU hardware,\n\t// it's still faster than doing it in JS combined with the cost of uniformMatrix4fv.\n\n\t// Expand line bounds by sqrt(2) / 2 each side-- this ensures that all antialiased pixels\n\t// fall within the quad, even at a 45-degree diagonal\n\tvec2 position = a_position;\n\tfloat expandedRadius = (a_lineThicknessAndLength.x * 0.5) + 1.4142135623730951;\n\n\t// The X coordinate increases along the length of the line. It's 0 at the center of the origin point\n\t// and is in pixel-space (so at n pixels along the line, its value is n).\n\tv_texCoord.x = mix(0.0, a_lineThicknessAndLength.y + (expandedRadius * 2.0), a_position.x) - expandedRadius;\n\t// The Y coordinate is perpendicular to the line. It's also in pixel-space.\n\tv_texCoord.y = ((a_position.y - 0.5) * expandedRadius) + 0.5;\n\n\tposition.x *= a_lineThicknessAndLength.y + (2.0 * expandedRadius);\n\tposition.y *= 2.0 * expandedRadius;\n\n\t// 1. Center around first pen point\n\tposition -= expandedRadius;\n\n\t// 2. Rotate quad to line angle\n\tvec2 pointDiff = a_penPoints.zw;\n\t// Ensure line has a nonzero length so it's rendered properly\n\t// As long as either component is nonzero, the line length will be nonzero\n\t// If the line is zero-length, give it a bit of horizontal length\n\tpointDiff.x = (abs(pointDiff.x) < epsilon && abs(pointDiff.y) < epsilon) ? epsilon : pointDiff.x;\n\t// The `normalized` vector holds rotational values equivalent to sine/cosine\n\t// We're applying the standard rotation matrix formula to the position to rotate the quad to the line angle\n\t// pointDiff can hold large values so we must divide by u_lineLength instead of calling GLSL's normalize function:\n\t// https://asawicki.info/news_1596_watch_out_for_reduced_precision_normalizelength_in_opengl_es\n\tvec2 normalized = pointDiff / max(a_lineThicknessAndLength.y, epsilon);\n\tposition = mat2(normalized.x, normalized.y, -normalized.y, normalized.x) * position;\n\n\t// 3. Translate quad\n\tposition += a_penPoints.xy;\n\n\t// 4. Apply view transform\n\tposition *= 2.0 / u_stageSize;\n\tgl_Position = vec4(position, 0, 1);\n\n\tv_lineColor = a_lineColor;\n\tv_lineThickness = a_lineThicknessAndLength.x;\n\tv_lineLength = a_lineThicknessAndLength.y;\n\tv_penPoints = a_penPoints;\n\t#elif defined(DRAW_MODE_background)\n\tgl_Position = vec4(a_position * 2.0, 0, 1);\n\t#else\n\tgl_Position = u_projectionMatrix * u_modelMatrix * vec4(a_position, 0, 1);\n\tv_texCoord = a_texCoord;\n\t#endif\n}\n"},function(A,e){A.exports='precision mediump float;\n\n#ifdef DRAW_MODE_silhouette\nuniform vec4 u_silhouetteColor;\n#else // DRAW_MODE_silhouette\n# ifdef ENABLE_color\nuniform float u_color;\n# endif // ENABLE_color\n# ifdef ENABLE_brightness\nuniform float u_brightness;\n# endif // ENABLE_brightness\n#endif // DRAW_MODE_silhouette\n\n#ifdef DRAW_MODE_colorMask\nuniform vec3 u_colorMask;\nuniform float u_colorMaskTolerance;\n#endif // DRAW_MODE_colorMask\n\n#ifdef ENABLE_fisheye\nuniform float u_fisheye;\n#endif // ENABLE_fisheye\n#ifdef ENABLE_whirl\nuniform float u_whirl;\n#endif // ENABLE_whirl\n#ifdef ENABLE_pixelate\nuniform float u_pixelate;\nuniform vec2 u_skinSize;\n#endif // ENABLE_pixelate\n#ifdef ENABLE_mosaic\nuniform float u_mosaic;\n#endif // ENABLE_mosaic\n#ifdef ENABLE_ghost\nuniform float u_ghost;\n#endif // ENABLE_ghost\n#ifdef ENABLE_red\nuniform float u_red;\n#endif // ENABLE_red\n#ifdef ENABLE_green\nuniform float u_green;\n#endif // ENABLE_green\n#ifdef ENABLE_blue\nuniform float u_blue;\n#endif // ENABLE_blue\n#ifdef ENABLE_opaque\nuniform float u_opaque;\n#endif // ENABLE_opaque\n#ifdef ENABLE_saturation\nuniform float u_saturation;\n#endif // ENABLE_saturation\n\n#ifdef DRAW_MODE_line\nvarying vec4 v_lineColor;\nvarying float v_lineThickness;\nvarying float v_lineLength;\n#endif // DRAW_MODE_line\n\n#ifdef DRAW_MODE_background\nuniform vec4 u_backgroundColor;\n#endif // DRAW_MODE_background\n\nuniform sampler2D u_skin;\n\n#ifndef DRAW_MODE_background\nvarying vec2 v_texCoord;\n#endif\n\n// Add this to divisors to prevent division by 0, which results in NaNs propagating through calculations.\n// Smaller values can cause problems on some mobile devices.\nconst float epsilon = 1e-3;\n\n#if !defined(DRAW_MODE_silhouette) && (defined(ENABLE_color) || defined(ENABLE_saturation))\n// Branchless color conversions based on code from:\n// http://www.chilliant.com/rgb2hsv.html by Ian Taylor\n// Based in part on work by Sam Hocevar and Emil Persson\n// See also: https://en.wikipedia.org/wiki/HSL_and_HSV#Formal_derivation\n\n\n// Convert an RGB color to Hue, Saturation, and Value.\n// All components of input and output are expected to be in the [0,1] range.\nvec3 convertRGB2HSV(vec3 rgb)\n{\n\t// Hue calculation has 3 cases, depending on which RGB component is largest, and one of those cases involves a "mod"\n\t// operation. In order to avoid that "mod" we split the M==R case in two: one for G<B and one for B>G. The B>G case\n\t// will be calculated in the negative and fed through abs() in the hue calculation at the end.\n\t// See also: https://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma\n\tconst vec4 hueOffsets = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n\n\t// temp1.xy = sort B & G (largest first)\n\t// temp1.z = the hue offset we\'ll use if it turns out that R is the largest component (M==R)\n\t// temp1.w = the hue offset we\'ll use if it turns out that R is not the largest component (M==G or M==B)\n\tvec4 temp1 = rgb.b > rgb.g ? vec4(rgb.bg, hueOffsets.wz) : vec4(rgb.gb, hueOffsets.xy);\n\n\t// temp2.x = the largest component of RGB ("M" / "Max")\n\t// temp2.yw = the smaller components of RGB, ordered for the hue calculation (not necessarily sorted by magnitude!)\n\t// temp2.z = the hue offset we\'ll use in the hue calculation\n\tvec4 temp2 = rgb.r > temp1.x ? vec4(rgb.r, temp1.yzx) : vec4(temp1.xyw, rgb.r);\n\n\t// m = the smallest component of RGB ("min")\n\tfloat m = min(temp2.y, temp2.w);\n\n\t// Chroma = M - m\n\tfloat C = temp2.x - m;\n\n\t// Value = M\n\tfloat V = temp2.x;\n\n\treturn vec3(\n\t\tabs(temp2.z + (temp2.w - temp2.y) / (6.0 * C + epsilon)), // Hue\n\t\tC / (temp2.x + epsilon), // Saturation\n\t\tV); // Value\n}\n\nvec3 convertHue2RGB(float hue)\n{\n\tfloat r = abs(hue * 6.0 - 3.0) - 1.0;\n\tfloat g = 2.0 - abs(hue * 6.0 - 2.0);\n\tfloat b = 2.0 - abs(hue * 6.0 - 4.0);\n\treturn clamp(vec3(r, g, b), 0.0, 1.0);\n}\n\nvec3 convertHSV2RGB(vec3 hsv)\n{\n\tvec3 rgb = convertHue2RGB(hsv.x);\n\tfloat c = hsv.z * hsv.y;\n\treturn rgb * c + hsv.z - c;\n}\n#endif // !defined(DRAW_MODE_silhouette) && (defined(ENABLE_color) || defined(ENABLE_saturation))\n\nconst vec2 kCenter = vec2(0.5, 0.5);\n\nvoid main()\n{\n\t#if !(defined(DRAW_MODE_line) || defined(DRAW_MODE_background))\n\tvec2 texcoord0 = v_texCoord;\n\n\t#ifdef ENABLE_mosaic\n\ttexcoord0 = fract(u_mosaic * texcoord0);\n\t#endif // ENABLE_mosaic\n\n\t#ifdef ENABLE_pixelate\n\t{\n\t\t// TODO: clean up "pixel" edges\n\t\tvec2 pixelTexelSize = u_skinSize / u_pixelate;\n\t\ttexcoord0 = (floor(texcoord0 * pixelTexelSize) + kCenter) / pixelTexelSize;\n\t}\n\t#endif // ENABLE_pixelate\n\n\t#ifdef ENABLE_whirl\n\t{\n\t\tconst float kRadius = 0.5;\n\t\tvec2 offset = texcoord0 - kCenter;\n\t\tfloat offsetMagnitude = length(offset);\n\t\tfloat whirlFactor = max(1.0 - (offsetMagnitude / kRadius), 0.0);\n\t\tfloat whirlActual = u_whirl * whirlFactor * whirlFactor;\n\t\tfloat sinWhirl = sin(whirlActual);\n\t\tfloat cosWhirl = cos(whirlActual);\n\t\tmat2 rotationMatrix = mat2(\n\t\t\tcosWhirl, -sinWhirl,\n\t\t\tsinWhirl, cosWhirl\n\t\t);\n\n\t\ttexcoord0 = rotationMatrix * offset + kCenter;\n\t}\n\t#endif // ENABLE_whirl\n\n\t#ifdef ENABLE_fisheye\n\t{\n\t\tvec2 vec = (texcoord0 - kCenter) / kCenter;\n\t\tfloat vecLength = length(vec);\n\t\tfloat r = pow(min(vecLength, 1.0), u_fisheye) * max(1.0, vecLength);\n\t\tvec2 unit = vec / vecLength;\n\n\t\ttexcoord0 = kCenter + r * unit * kCenter;\n\t}\n\t#endif // ENABLE_fisheye\n\n\tgl_FragColor = texture2D(u_skin, texcoord0);\n\n\t#if defined(ENABLE_color) || defined(ENABLE_brightness) || defined(ENABLE_saturation)\n\t// Divide premultiplied alpha values for proper color processing\n\t// Add epsilon to avoid dividing by 0 for fully transparent pixels\n\tgl_FragColor.rgb = clamp(gl_FragColor.rgb / (gl_FragColor.a + epsilon), 0.0, 1.0);\n\n\t#ifdef ENABLE_color\n\t{\n\t\tvec3 hsv = convertRGB2HSV(gl_FragColor.xyz);\n\n\t\t// this code forces grayscale values to be slightly saturated\n\t\t// so that some slight change of hue will be visible\n\t\t\n\t\t// pm: this usually ends up looking ugly in menus and such, so dont do this actually\n\t\t// \t this might be reverted to do this again though if it is genuinely better\n\n\t\t// const float minLightness = 0.11 / 2.0;\n\t\t// const float minSaturation = 0.09;\n\t\t// if (hsv.z < minLightness) hsv = vec3(0.0, 1.0, minLightness);\n\t\t// else if (hsv.y < minSaturation) hsv = vec3(0.0, minSaturation, hsv.z);\n\n\t\thsv.x = mod(hsv.x + u_color, 1.0);\n\t\tif (hsv.x < 0.0) hsv.x += 1.0;\n\n\t\tgl_FragColor.rgb = convertHSV2RGB(hsv);\n\t}\n\t#endif // ENABLE_color\n\t\n\t#ifdef ENABLE_saturation\n\t{\n\t\tvec3 hsv = convertRGB2HSV(gl_FragColor.xyz);\n\n\t\thsv.y *= u_saturation;\n\n\t\tgl_FragColor.rgb = convertHSV2RGB(hsv);\n\t}\n\t#endif // ENABLE_saturation\n\n\t#ifdef ENABLE_brightness\n\tgl_FragColor.rgb = clamp(gl_FragColor.rgb + vec3(u_brightness), vec3(0), vec3(1));\n\t#endif // ENABLE_brightness\n\n\t// Re-multiply color values\n\tgl_FragColor.rgb *= gl_FragColor.a + epsilon;\n\n\t#endif // defined(ENABLE_color) || defined(ENABLE_brightness) || defined(ENABLE_saturation)\n\n\t#ifdef ENABLE_ghost\n\tgl_FragColor *= u_ghost;\n\t#endif // ENABLE_ghost\n\t\n\t#ifdef ENABLE_red\n\tgl_FragColor.r *= u_red;\n\t#endif // ENABLE_red\n\t\n\t#ifdef ENABLE_green\n\tgl_FragColor.g *= u_green;\n\t#endif // ENABLE_green\n\t\n\t#ifdef ENABLE_blue\n\tgl_FragColor.b *= u_blue;\n\t#endif // ENABLE_blue\n\t\n\t#ifdef ENABLE_opaque\n\tgl_FragColor.a *= u_opaque;\n\t#endif // ENABLE_opaque\n\n\t#ifdef DRAW_MODE_silhouette\n\t// Discard fully transparent pixels for stencil test\n\tif (gl_FragColor.a == 0.0) {\n\t\tdiscard;\n\t}\n\t// switch to u_silhouetteColor only AFTER the alpha test\n\tgl_FragColor = u_silhouetteColor;\n\t#else // DRAW_MODE_silhouette\n\n\t#ifdef DRAW_MODE_colorMask\n\tvec3 maskDistance = abs(gl_FragColor.rgb - u_colorMask);\n\tvec3 colorMaskTolerance = vec3(u_colorMaskTolerance, u_colorMaskTolerance, u_colorMaskTolerance);\n\tif (any(greaterThan(maskDistance, colorMaskTolerance)))\n\t{\n\t\tdiscard;\n\t}\n\t#endif // DRAW_MODE_colorMask\n\t#endif // DRAW_MODE_silhouette\n\n\t#ifdef DRAW_MODE_straightAlpha\n\t// Un-premultiply alpha.\n\tgl_FragColor.rgb /= gl_FragColor.a + epsilon;\n\t#endif\n\n\t#endif // !(defined(DRAW_MODE_line) || defined(DRAW_MODE_background))\n\n\t#ifdef DRAW_MODE_line\n\t// Maaaaagic antialiased-line-with-round-caps shader.\n\n\t// "along-the-lineness". This increases parallel to the line.\n\t// It goes from negative before the start point, to 0.5 through the start to the end, then ramps up again\n\t// past the end point.\n\tfloat d = ((v_texCoord.x - clamp(v_texCoord.x, 0.0, v_lineLength)) * 0.5) + 0.5;\n\n\t// Distance from (0.5, 0.5) to (d, the perpendicular coordinate). When we\'re in the middle of the line,\n\t// d will be 0.5, so the distance will be 0 at points close to the line and will grow at points further from it.\n\t// For the "caps", d will ramp down/up, giving us rounding.\n\t// See https://www.youtube.com/watch?v=PMltMdi1Wzg for a rough outline of the technique used to round the lines.\n\tfloat line = distance(vec2(0.5), vec2(d, v_texCoord.y)) * 2.0;\n\t// Expand out the line by its thickness.\n\tline -= ((v_lineThickness - 1.0) * 0.5);\n\t// Because "distance to the center of the line" decreases the closer we get to the line, but we want more opacity\n\t// the closer we are to the line, invert it.\n\tgl_FragColor = v_lineColor * clamp(1.0 - line, 0.0, 1.0);\n\t#endif // DRAW_MODE_line\n\n\t#ifdef DRAW_MODE_background\n\tgl_FragColor = u_backgroundColor;\n\t#endif\n}\n'},function(A,e){A.exports={rgbToHsv:(A,e)=>{let[t,n,i]=A,r=0;t/=255,n/=255,i/=255;let s=0;n<i&&(s=n,n=i,i=s,r=-1),t<n&&(s=t,t=n,n=s,r=-2/6-r);const o=t-Math.min(n,i),a=Math.abs(r+(n-i)/(6*o+Number.EPSILON)),B=o/(t+Number.EPSILON),c=t;return e[0]=a,e[1]=B,e[2]=c,e},hsvToRgb:(A,e)=>{let[t,n,i]=A;if(0===n)return e[0]=e[1]=e[2]=255*i+.5,e;t%=1;const r=6*t|0,s=6*t-r,o=i*(1-n),a=i*(1-n*s),B=i*(1-n*(1-s));let c=0,g=0,Q=0;switch(r){case 0:c=i,g=B,Q=o;break;case 1:c=a,g=i,Q=o;break;case 2:c=o,g=i,Q=B;break;case 3:c=o,g=a,Q=i;break;case 4:c=B,g=o,Q=i;break;case 5:c=i,g=o,Q=a}return e[0]=255*c+.5,e[1]=255*g+.5,e[2]=255*Q+.5,e}}},function(A,e,t){const n=t(20),i=t(65),r=t(40),s=t(49),o={color4f:[0,0,1,1],diameter:1},a=[0,0,0,0];A.exports=class extends r{constructor(A,e){super(A,e),this._size=null,this._framebuffer=null,this._silhouetteDirty=!1,this._silhouettePixels=null,this._silhouetteImageData=null,this._lineOnBufferDrawRegionId={enter:()=>this._enterDrawLineOnBuffer(),exit:()=>this._exitDrawLineOnBuffer()},this._usePenBufferDrawRegionId={enter:()=>this._enterUsePenBuffer(),exit:()=>this._exitUsePenBuffer()},this.renderQuality=1,this._nativeSize=e.getNativeSize(),this._resetAttributeIndexes(),this.a_lineColor=new Float32Array(65520),this.a_cameraOffset=new Float32Array(24),this.updatePenPointOffset(0,0,1,0),this.a_lineThicknessAndLength=new Float32Array(32760),this.a_penPoints=new Float32Array(65520),this.a_position=new Float32Array(32760);for(let A=0;A<this.a_position.length;A+=12)this.a_position[A+0]=1,this.a_position[A+1]=0,this.a_position[A+2]=0,this.a_position[A+3]=0,this.a_position[A+4]=1,this.a_position[A+5]=1,this.a_position[A+6]=1,this.a_position[A+7]=1,this.a_position[A+8]=0,this.a_position[A+9]=0,this.a_position[A+10]=0,this.a_position[A+11]=1;this._lineBufferInfo=n.createBufferInfoFromArrays(this._renderer.gl,{a_position:{numComponents:2,data:this.a_position},a_lineColor:{numComponents:4,drawType:this._renderer.gl.STREAM_DRAW,data:this.a_lineColor},a_lineThicknessAndLength:{numComponents:2,drawType:this._renderer.gl.STREAM_DRAW,data:this.a_lineThicknessAndLength},a_penPoints:{numComponents:4,drawType:this._renderer.gl.STREAM_DRAW,data:this.a_penPoints},a_cameraOffset:{numComponents:3,data:this.a_cameraOffset}});this._lineShader=this._renderer._shaderManager.getShader(s.DRAW_MODE.line,0),this._drawTextureShader=this._renderer._shaderManager.getShader(s.DRAW_MODE.default,0),this._drawTextureRegionId={enter:()=>this._enterDrawTexture(),exit:()=>this._exitDrawTexture()},this.onNativeSizeChanged=this.onNativeSizeChanged.bind(this),this._renderer.on(i.Events.NativeSizeChanged,this.onNativeSizeChanged),this._setCanvasSize(e.getNativeSize())}dispose(){this._renderer.removeListener(i.Events.NativeSizeChanged,this.onNativeSizeChanged),this._renderer.gl.deleteTexture(this._texture),this._texture=null,super.dispose()}get size(){return this._nativeSize}useNearest(A){return Math.max(A[0],A[1])>=100}getTexture(A,e){return this._texture}clear(){this._renderer.enterDrawRegion(this._usePenBufferDrawRegionId);const A=this._renderer.gl;A.clearColor(0,0,0,0),A.clear(A.COLOR_BUFFER_BIT),this._silhouetteDirty=!0}drawPoint(A,e,t){this.drawLine(A,e,t,e,t)}drawLine(A,e,t,n,i){const r=A.diameter||o.diameter,s=1===r||3===r?.5:0;this._drawLineOnBuffer(A,e+s,t+s,n+s,i+s),this._silhouetteDirty=!0}_enterDrawLineOnBuffer(){this._resetAttributeIndexes();const A=this._renderer.gl;n.bindFramebufferInfo(A,this._framebuffer),A.viewport(0,0,this._size[0],this._size[1]);const e=this._lineShader;A.useProgram(e.program),n.setBuffersAndAttributes(A,e,this._lineBufferInfo);const t={u_skin:this._texture,u_stageSize:this._size};n.setUniforms(e,t)}_exitDrawLineOnBuffer(){this.a_lineColorIndex&&this._flushLines();const A=this._renderer.gl;n.bindFramebufferInfo(A,null)}_enterUsePenBuffer(){n.bindFramebufferInfo(this._renderer.gl,this._framebuffer)}_exitUsePenBuffer(){n.bindFramebufferInfo(this._renderer.gl,null)}_enterDrawTexture(){this._enterUsePenBuffer();const A=this._renderer.gl;A.viewport(0,0,this._size[0],this._size[1]),A.useProgram(this._drawTextureShader.program),n.setBuffersAndAttributes(A,this._drawTextureShader,this._renderer._bufferInfo)}_exitDrawTexture(){this._exitUsePenBuffer()}_drawPenTexture(A){this._renderer.enterDrawRegion(this._drawTextureRegionId);const e=this._renderer.gl,t=this._size[0],i=this._size[1],r={u_skin:A,u_projectionMatrix:n.m4.ortho(t/2,t/-2,i/-2,i/2,-1,1,n.m4.identity()),u_modelMatrix:n.m4.scaling(n.v3.create(t,i,0),n.m4.identity())};n.setTextureParameters(e,A,{minMag:e.NEAREST}),n.setUniforms(this._drawTextureShader,r),n.drawBufferInfo(e,this._renderer._bufferInfo,e.TRIANGLES)}_drawLineOnBuffer(A,e,t,n,i){this._renderer.enterDrawRegion(this._lineOnBufferDrawRegionId),this.a_lineColorIndex+24>65520&&this._flushLines();const r=A.color4f||o.color4f;a[0]=r[0]*r[3],a[1]=r[1]*r[3],a[2]=r[2]*r[3],a[3]=r[3],e*=this.renderQuality,t*=this.renderQuality;const s=(n*=this.renderQuality)-e,B=(i*=this.renderQuality)-t,c=Math.sqrt(s*s+B*B),g=(A.diameter||o.diameter)*this.renderQuality;for(let A=0;A<6;A++)this.a_lineColor[this.a_lineColorIndex]=a[0],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=a[1],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=a[2],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=a[3],this.a_lineColorIndex++,this.a_lineThicknessAndLength[this.a_lineThicknessAndLengthIndex]=g,this.a_lineThicknessAndLengthIndex++,this.a_lineThicknessAndLength[this.a_lineThicknessAndLengthIndex]=c,this.a_lineThicknessAndLengthIndex++,this.a_penPoints[this.a_penPointsIndex]=e,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=-t,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=s,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=-B,this.a_penPointsIndex++}_resetAttributeIndexes(){this.a_lineColorIndex=0,this.a_lineThicknessAndLengthIndex=0,this.a_penPointsIndex=0}_flushLines(){const A=this._renderer.gl,e=this._lineShader;this.a_lineColorIndex<1e3?(n.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_lineColor,new Float32Array(this.a_lineColor.buffer,0,this.a_lineColorIndex),0),n.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_penPoints,new Float32Array(this.a_penPoints.buffer,0,this.a_penPointsIndex),0),n.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_lineThicknessAndLength,new Float32Array(this.a_lineThicknessAndLength.buffer,0,this.a_lineThicknessAndLengthIndex),0)):(n.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_lineColor,this.a_lineColor),n.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_penPoints,this.a_penPoints),n.setAttribInfoBufferFromArray(A,this._lineBufferInfo.attribs.a_lineThicknessAndLength,this.a_lineThicknessAndLength)),n.setBuffersAndAttributes(A,e,this._lineBufferInfo),n.drawBufferInfo(A,this._lineBufferInfo,A.TRIANGLES,this.a_lineThicknessAndLengthIndex/2),this._resetAttributeIndexes(),this._silhouetteDirty=!0}onNativeSizeChanged(A){this._nativeSize=A.newSize,this._setCanvasSize([A.newSize[0]*this.renderQuality,A.newSize[1]*this.renderQuality]),this.emitWasAltered()}_setCanvasSize(A){const[e,t]=A;if(this._size&&this._size[0]===e&&this._size[1]===t)return;this._size=A,this._rotationCenter[0]=this._nativeSize[0]/2,this._rotationCenter[1]=this._nativeSize[1]/2;const i=this._renderer.gl,r=this._texture;this._texture=n.createTexture(i,{mag:i.NEAREST,min:i.NEAREST,wrap:i.CLAMP_TO_EDGE,width:e,height:t});const s=[{format:i.RGBA,attachment:this._texture}];this._framebuffer,this._framebuffer=n.createFramebufferInfo(i,s,e,t),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),r&&this._drawPenTexture(r),this._silhouettePixels=new Uint8Array(Math.floor(e*t*4)),this._silhouetteImageData=new ImageData(e,t),this._silhouetteDirty=!0}setRenderQuality(A){this.renderQuality!==A&&(this.renderQuality=A,this._setCanvasSize([Math.round(this._nativeSize[0]*A),Math.round(this._nativeSize[1]*A)]))}updateSilhouette(){if(this._silhouetteDirty){this._renderer.enterDrawRegion(this._usePenBufferDrawRegionId);const A=this._renderer.gl;A.readPixels(0,0,this._size[0],this._size[1],A.RGBA,A.UNSIGNED_BYTE,this._silhouettePixels),this._silhouetteImageData.data.set(this._silhouettePixels),this._silhouette.update(this._silhouetteImageData,!0),this._silhouetteDirty=!1}}updatePenPointOffset(A,e,t,n){for(let i=0;i<24;i+=4)this.a_cameraOffset[i+0]=A,this.a_cameraOffset[i+1]=e,this.a_cameraOffset[i+2]=t,this.a_cameraOffset[i+3]=n;this._silhouetteDirty=!0}}},function(A,e,t){const n=t(20),i=t(40),{loadSvgString:r,serializeSvgToString:s}=t(67),o=t(49);A.exports=class extends i{constructor(A,e){super(A,e),this._svgImage=document.createElement("img"),this._svgImageLoaded=!1,this._size=[0,0],this._transform=[0,0],this._canvas=document.createElement("canvas"),this._context=this._canvas.getContext("2d"),this._scaledMIPs=[],this._largestMIPScale=0,this._maxTextureScale=1}dispose(){this.resetMIPs(),super.dispose()}get size(){return[this._size[0],this._size[1]]}useNearest(A,e){return 0==(e.enabledEffects&(o.EFFECT_INFO.fisheye.mask|o.EFFECT_INFO.whirl.mask|o.EFFECT_INFO.pixelate.mask|o.EFFECT_INFO.mosaic.mask))&&(e._direction%90==0&&(Math.abs(A[0])>99&&Math.abs(A[0])<101&&Math.abs(A[1])>99&&Math.abs(A[1])<101))}createMIP(A,e){const t=this._largestMIPScale<A;t||this._silhouette.unlazy(),e||(e=[0,0]),e[0]||(e=[0,0]),e[1]||(e=[0,0]);const i=100*e[0]/200+1,r=100*e[1]/200+1,[s,o]=this._size;if(this._canvas.width=s*A*i,this._canvas.height=o*A*r,this._canvas.width<=0||this._canvas.height<=0||this._svgImage.naturalWidth<=0||this._svgImage.naturalHeight<=0)return super.getTexture();this._context.clearRect(0,0,this._canvas.width,this._canvas.height),this._context.setTransform(A,e[0],e[1],A,0,0),this._context.drawImage(this._svgImage,0,0);const a=this._canvas,B={auto:!1,wrap:this._renderer.gl.CLAMP_TO_EDGE,src:a,premultiplyAlpha:!0},c=n.createTexture(this._renderer.gl,B);return t&&(this._silhouette.update(a),this._largestMIPScale=A),c}updateSilhouette(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[100,100];this.getTexture(A),this._silhouette.unlazy()}getTexture(A,e){e||(e=[0,0]),"number"!=typeof e[0]&&(e=[0,0]),"number"!=typeof e[1]&&(e=[0,0]);const t=A?Math.max(Math.abs(A[0]),Math.abs(A[1])):100,n=Math.min(t/100,this._maxTextureScale),i=Math.max(Math.ceil(Math.log2(n))+8,0),r=Math.pow(2,i-8);return this._svgImageLoaded&&(this._scaledMIPs[i]&&this.isTransformEqual(this._transform,e)||(this._scaledMIPs[i]=this.createMIP(r,e||[0,0]),this._transform=e)),this._scaledMIPs[i]||super.getTexture()}isTransformEqual(A,e){if(!A)return!1;if(!e)return!1;let t=0;return A[0]===e[0]&&t++,A[1]===e[1]&&t++,2===t}resetMIPs(){this._scaledMIPs.forEach(A=>this._renderer.gl.deleteTexture(A)),this._scaledMIPs.length=0,this._largestMIPScale=0}setSVG(A,e){const t=r(A),n=s(t,this._renderer.customFonts);this._svgImageLoaded=!1;const{x:i,y:o,width:a,height:B}=t.viewBox.baseVal;this._size[0]=a,this._size[1]=B,this._svgImage.onload=()=>{if(0===a||0===B)return void super.setEmptyImageData();const A=Math.ceil(Math.max(a,B)),t=this._renderer.maxTextureDimension;let n=2;for(;A*n<=t;n*=2)this._maxTextureScale=n;this.resetMIPs(),void 0===e&&(e=this.calculateRotationCenter()),this._rotationCenter[0]=e[0]-i,this._rotationCenter[1]=e[1]-o,this._svgImageLoaded=!0,this.emitWasAltered()},this._svgImage.src="data:image/svg+xml;utf8,".concat(encodeURIComponent(n))}}},function(A,e,t){const n=t(20),i=t(89),r=t(40),s={MAX_LINE_WIDTH:170,MIN_WIDTH:50,STROKE_WIDTH:4,PADDING:10,CORNER_RADIUS:16,TAIL_HEIGHT:12,FONT:"Helvetica",FONT_SIZE:14,FONT_HEIGHT_RATIO:.9,LINE_HEIGHT:16,COLORS:{BUBBLE_FILL:"white",BUBBLE_STROKE:"rgba(0, 0, 0, 0.15)",TEXT_FILL:"#575E75"}};A.exports=class extends r{constructor(A,e){super(A,e),this._canvas=document.createElement("canvas"),this._size=[0,0],this._renderedScale=0,this._lines=[],this._textAreaSize={width:0,height:0},this._bubbleType="",this._pointsLeft=!1,this._textDirty=!0,this._textureDirty=!0,this.measurementProvider=new i(this._canvas.getContext("2d")),this.textWrapper=e.createTextWrapper(this.measurementProvider),this._props=s,this._restyleCanvas()}dispose(){this._texture&&(this._renderer.gl.deleteTexture(this._texture),this._texture=null),this._canvas=null,super.dispose()}get size(){return this._textDirty&&this._reflowLines(),this._size}setTextBubble(A,e,t,n){this._text=e,this._bubbleType=A,this._pointsLeft=t,"object"==typeof n&&(this._props=n),this._textDirty=!0,this._textureDirty=!0,this.emitWasAltered()}_restyleCanvas(){this._canvas.getContext("2d").font="".concat(this._props.FONT_SIZE,"px ").concat(this._props.FONT,", sans-serif")}_reflowLines(){this._canvas.getContext("2d");this._lines=this.textWrapper.wrapText(this._props.MAX_LINE_WIDTH,this._text);let A=0;for(const e of this._lines)A=Math.max(A,this.measurementProvider.measureText(e));this._props.LINE_HEIGHT=1.23*this._props.FONT_SIZE;const e=Math.max(A,this._props.MIN_WIDTH)+2*this._props.PADDING,t=this._props.LINE_HEIGHT*this._lines.length+2*this._props.PADDING;this._textAreaSize.width=e,this._textAreaSize.height=t,this._size[0]=e+this._props.STROKE_WIDTH,this._size[1]=t+this._props.STROKE_WIDTH+this._props.TAIL_HEIGHT,this._textDirty=!1}_renderTextBubble(A){const e=this._canvas.getContext("2d");this._textDirty&&this._reflowLines();const t=this._textAreaSize.width,n=this._textAreaSize.height;this._canvas.width=Math.ceil(this._size[0]*A),this._canvas.height=Math.ceil(this._size[1]*A),this._restyleCanvas(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,this._canvas.width,this._canvas.height),e.scale(A,A),e.translate(.5*this._props.STROKE_WIDTH,.5*this._props.STROKE_WIDTH),e.save(),this._pointsLeft&&(e.scale(-1,1),e.translate(-t,0)),e.beginPath(),e.moveTo(this._props.CORNER_RADIUS,n),e.arcTo(0,n,0,n-this._props.CORNER_RADIUS,this._props.CORNER_RADIUS),e.arcTo(0,0,t,0,this._props.CORNER_RADIUS),e.arcTo(t,0,t,n,this._props.CORNER_RADIUS),e.arcTo(t,n,t-this._props.CORNER_RADIUS,n,this._props.CORNER_RADIUS),e.save(),e.translate(t-this._props.CORNER_RADIUS,n),"say"===this._bubbleType?(e.bezierCurveTo(0,4,4,8,4,10),e.arcTo(4,12,2,12,2),e.bezierCurveTo(-1,12,-11,8,-16,0),e.closePath()):(e.arc(-16,0,4,0,Math.PI),e.closePath(),e.moveTo(-7,7.25),e.arc(-9.25,7.25,2.25,0,2*Math.PI),e.moveTo(0,9.5),e.arc(-1.5,9.5,1.5,0,2*Math.PI)),e.restore(),e.fillStyle=this._props.COLORS.BUBBLE_FILL,e.strokeStyle=this._props.COLORS.BUBBLE_STROKE,e.lineWidth=this._props.STROKE_WIDTH,e.stroke(),e.fill(),e.restore(),e.fillStyle=this._props.COLORS.TEXT_FILL,e.font="".concat(this._props.FONT_SIZE,"px ").concat(this._props.FONT,", sans-serif");const i=this._lines;for(let A=0;A<i.length;A++){const t=i[A];e.fillText(t,this._props.PADDING,this._props.PADDING+this._props.LINE_HEIGHT*A+this._props.FONT_HEIGHT_RATIO*this._props.FONT_SIZE)}this._renderedScale=A}updateSilhouette(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[100,100];this.getTexture(A)}getTexture(A){const e=A?Math.max(Math.abs(A[0]),Math.abs(A[1])):100,t=Math.min(10,e/100);if(this._textureDirty||this._renderedScale!==t){this._renderTextBubble(t),this._textureDirty=!1;const A=this._canvas.getContext("2d").getImageData(0,0,this._canvas.width,this._canvas.height),e=this._renderer.gl;if(null===this._texture){const A={auto:!1,wrap:e.CLAMP_TO_EDGE};this._texture=n.createTexture(e,A)}this._setTexture(A)}return this._texture}getAllProps(){return s}}},function(A,e,t){const n=t(20),i=t(147),r=t(89),s=t(40);A.exports=class extends s{constructor(A,e){super(A),this._renderer=e,this._canvas=document.createElement("canvas"),this._texture=null,this._size=[0,0],this._renderedScale=0,this._lines=[],this._textAreaSize={width:0,height:0},this._textDirty=!0,this._textureDirty=!0,this.measurementProvider=new r(this._canvas.getContext("2d")),this.textWrapper=new i(this.measurementProvider),this.style={}}dispose(){this._texture&&(this._renderer.gl.deleteTexture(this._texture),this._texture=null),this._canvas=null,this.textWrapper=null,this.measurementProvider=null}setTextAndStyle(A){this._text=A.text,this.style.FONT=A.font,this.style.COLOR=A.color,this.style.MAX_LINE_WIDTH=A.maxWidth,this.style.FONT_SIZE=A.size,this.style.LINE_HEIGHT=A.size+A.size/7,this.style.ALIGN=A.align,this.style.STROKE_WIDTH=A.strokeWidth,this.style.STROKE_COLOR=A.strokeColor,this.style.VERTICAL_PADDING=A.size/7,this.style.RAINBOW=A.rainbow,this.measurementProvider.setFontAndSize(this.style.FONT,this.style.FONT_SIZE),this._textDirty=!0,this._textureDirty=!0,this.emitWasAltered()}_restyleCanvas(){this._canvas.getContext("2d").font="".concat(this.style.FONT_SIZE,"px ").concat(this.style.FONT,", sans-serif")}_reflowLines(A){let e=this.style.MAX_LINE_WIDTH;this._lines=this.textWrapper.wrapText(e,this._text,this.style.FONT_SIZE,this.style.FONT),this._size[0]=e,this._size[1]=this.style.LINE_HEIGHT*this._lines.length+2*this.style.VERTICAL_PADDING,this.style.STROKE_WIDTH>0&&(this._size[0]+=2*this.style.STROKE_WIDTH,this._size[1]+=2*this.style.STROKE_WIDTH),this._textDirty=!1}get width(){let A=0;for(const e of this._lines)A=Math.max(A,this.measurementProvider.measureText(e));return A}get height(){return this._size[1]}_renderText(A){const e=this._canvas.getContext("2d");this._textDirty&&this._reflowLines(A),this._canvas.width=Math.ceil(this._size[0]*A),this._canvas.height=Math.ceil(this._size[1]*A),this._restyleCanvas(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,this._canvas.width,this._canvas.height),e.scale(A,A),e.stroke(),e.fill(),e.fillStyle=this.style.COLOR,e.font="".concat(this.style.FONT_SIZE,"px ").concat(this.style.FONT,", sans-serif");const t=this._lines;for(let A=0;A<t.length;A++){const n=t[A],i=this.measurementProvider.measureText(n);let r=0;"center"===this.style.ALIGN&&(r=this._size[0]/2-i/2),"right"===this.style.ALIGN&&(r=this._size[0]-i);let s=this.style.LINE_HEIGHT*A+.9*this.style.FONT_SIZE+this.style.VERTICAL_PADDING;if(this.style.STROKE_WIDTH>0&&(s+=this.style.STROKE_WIDTH,e.lineWidth=2*this.style.STROKE_WIDTH,e.strokeStyle=this.style.STROKE_COLOR,e.strokeText(n,r,s)),this.style.RAINBOW){const A=e.createLinearGradient(r,0,r+i,0),t=12;for(let e=0;e<t;e++)A.addColorStop(e/t,"hsl(".concat(360*e/t,", 100%, 50%)"));e.fillStyle=A}e.fillText(n,r,s)}const n=[this._size[0]/2,.9*this.style.FONT_SIZE];this._rotationCenter=n,this._renderedScale=A}getTexture(A){let e=(A?Math.max(Math.abs(A[0]),Math.abs(A[1])):100)/100;const t=this._renderer.customRenderConfig.textCostumeResolution;if((t.fixed||t.capped&&e>t.value)&&(e=t.value),this._textureDirty||this._renderedScale!==e){if(this._renderedScale!==e&&(this._textDirty=!0),this._renderText(e),0===this._canvas.width||0===this._canvas.height)return super.getTexture();this._textureDirty=!1;const A=this._canvas.getContext("2d").getImageData(0,0,this._canvas.width,this._canvas.height),t=this._renderer.gl;if(null===this._texture){const A={auto:!1,wrap:t.CLAMP_TO_EDGE};this._texture=n.createTexture(t,A)}this._setTexture(A)}return this._texture}get size(){return this._textDirty&&this._reflowLines(this._renderedScale),this._size}get maxScale(){return 10}}},function(A,e,t){(function(){var e,n,i,r,s,o,a,B,c,g,Q,E,l,u,w,h,C,d,I,M,p,m,F,D,Y,f,N;I=t(148),m=t(576),f=t(577),f.BK,c=f.CR,f.LF,f.NL,s=f.CB,i=f.BA,f.SP,M=f.WJ,d=f.SP,r=f.BK,E=f.LF,u=f.NL,e=f.AI,n=f.AL,h=f.SA,C=f.SG,p=f.XX,a=f.CJ,f.ID,w=f.NS,f.characterClasses,N=t(578),g=N.DI_BRK,Q=N.IN_BRK,o=N.CI_BRK,B=N.CP_BRK,N.PR_BRK,Y=N.pairTable,D=m.toByteArray("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"),F=new I(D),l=function(){var A,t,l;function I(A){this.string=A,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}return I.prototype.nextCodePoint=function(){var A,e;return A=this.string.charCodeAt(this.pos++),e=this.string.charCodeAt(this.pos),55296<=A&&A<=56319&&56320<=e&&e<=57343?(this.pos++,1024*(A-55296)+(e-56320)+65536):A},t=function(A){switch(A){case e:return n;case h:case C:case p:return n;case a:return w;default:return A}},l=function(A){switch(A){case E:case u:return r;case s:return i;case d:return M;default:return A}},I.prototype.nextCharClass=function(A){return null==A&&(A=!1),t(F.get(this.nextCodePoint()))},A=function(A,e){this.position=A,this.required=null!=e&&e},I.prototype.nextBreak=function(){var e,n,a;for(null==this.curClass&&(this.curClass=l(this.nextCharClass()));this.pos<this.string.length;){if(this.lastPos=this.pos,n=this.nextClass,this.nextClass=this.nextCharClass(),this.curClass===r||this.curClass===c&&this.nextClass!==E)return this.curClass=l(t(this.nextClass)),new A(this.lastPos,!0);if(null==(e=function(){switch(this.nextClass){case d:return this.curClass;case r:case E:case u:return r;case c:return c;case s:return i}}.call(this))){switch(a=!1,Y[this.curClass][this.nextClass]){case g:a=!0;break;case Q:a=n===d;break;case o:if(!(a=n===d))continue;break;case B:if(n!==d)continue}if(this.curClass=this.nextClass,a)return new A(this.lastPos)}else if(this.curClass=e,this.nextClass===s)return new A(this.lastPos)}if(this.pos>=this.string.length)return this.lastPos<this.string.length?(this.lastPos=this.string.length,new A(this.string.length)):null},I}(),A.exports=l}).call(this)},function(A,e){function t(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function n(A,e){this.source=A,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new t,this.dtree=new t}var i=new t,r=new t,s=new Uint8Array(30),o=new Uint16Array(30),a=new Uint8Array(30),B=new Uint16Array(30),c=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=new t,Q=new Uint8Array(320);function E(A,e,t,n){var i,r;for(i=0;i<t;++i)A[i]=0;for(i=0;i<30-t;++i)A[i+t]=i/t|0;for(r=n,i=0;i<30;++i)e[i]=r,r+=1<<A[i]}var l=new Uint16Array(16);function u(A,e,t,n){var i,r;for(i=0;i<16;++i)A.table[i]=0;for(i=0;i<n;++i)A.table[e[t+i]]++;for(A.table[0]=0,r=0,i=0;i<16;++i)l[i]=r,r+=A.table[i];for(i=0;i<n;++i)e[t+i]&&(A.trans[l[e[t+i]]++]=i)}function w(A){A.bitcount--||(A.tag=A.source[A.sourceIndex++],A.bitcount=7);var e=1&A.tag;return A.tag>>>=1,e}function h(A,e,t){if(!e)return t;for(;A.bitcount<24;)A.tag|=A.source[A.sourceIndex++]<<A.bitcount,A.bitcount+=8;var n=A.tag&65535>>>16-e;return A.tag>>>=e,A.bitcount-=e,n+t}function C(A,e){for(;A.bitcount<24;)A.tag|=A.source[A.sourceIndex++]<<A.bitcount,A.bitcount+=8;var t=0,n=0,i=0,r=A.tag;do{n=2*n+(1&r),r>>>=1,++i,t+=e.table[i],n-=e.table[i]}while(n>=0);return A.tag=r,A.bitcount-=i,e.trans[t+n]}function d(A,e,t){var n,i,r,s,o,a;for(n=h(A,5,257),i=h(A,5,1),r=h(A,4,4),s=0;s<19;++s)Q[s]=0;for(s=0;s<r;++s){var B=h(A,3,0);Q[c[s]]=B}for(u(g,Q,0,19),o=0;o<n+i;){var E=C(A,g);switch(E){case 16:var l=Q[o-1];for(a=h(A,2,3);a;--a)Q[o++]=l;break;case 17:for(a=h(A,3,3);a;--a)Q[o++]=0;break;case 18:for(a=h(A,7,11);a;--a)Q[o++]=0;break;default:Q[o++]=E}}u(e,Q,0,n),u(t,Q,n,i)}function I(A,e,t){for(;;){var n,i,r,c,g=C(A,e);if(256===g)return 0;if(g<256)A.dest[A.destLen++]=g;else for(n=h(A,s[g-=257],o[g]),i=C(A,t),c=r=A.destLen-h(A,a[i],B[i]);c<r+n;++c)A.dest[A.destLen++]=A.dest[c]}}function M(A){for(var e,t;A.bitcount>8;)A.sourceIndex--,A.bitcount-=8;if((e=256*(e=A.source[A.sourceIndex+1])+A.source[A.sourceIndex])!==(65535&~(256*A.source[A.sourceIndex+3]+A.source[A.sourceIndex+2])))return-3;for(A.sourceIndex+=4,t=e;t;--t)A.dest[A.destLen++]=A.source[A.sourceIndex++];return A.bitcount=0,0}!function(A,e){var t;for(t=0;t<7;++t)A.table[t]=0;for(A.table[7]=24,A.table[8]=152,A.table[9]=112,t=0;t<24;++t)A.trans[t]=256+t;for(t=0;t<144;++t)A.trans[24+t]=t;for(t=0;t<8;++t)A.trans[168+t]=280+t;for(t=0;t<112;++t)A.trans[176+t]=144+t;for(t=0;t<5;++t)e.table[t]=0;for(e.table[5]=32,t=0;t<32;++t)e.trans[t]=t}(i,r),E(s,o,4,3),E(a,B,2,1),s[28]=0,o[28]=258,A.exports=function(A,e){var t,s,o=new n(A,e);do{switch(t=w(o),h(o,2,0)){case 0:s=M(o);break;case 1:s=I(o,i,r);break;case 2:d(o,o.ltree,o.dtree),s=I(o,o.ltree,o.dtree);break;default:s=-3}if(0!==s)throw new Error("Data error")}while(!t);return o.destLen<o.dest.length?"function"==typeof o.dest.slice?o.dest.slice(0,o.destLen):o.dest.subarray(0,o.destLen):o.dest}},function(A,e,t){!function(A){"use strict";var e="undefined"!=typeof Uint8Array?Uint8Array:Array,t="+".charCodeAt(0),n="/".charCodeAt(0),i="0".charCodeAt(0),r="a".charCodeAt(0),s="A".charCodeAt(0),o="-".charCodeAt(0),a="_".charCodeAt(0);function B(A){var e=A.charCodeAt(0);return e===t||e===o?62:e===n||e===a?63:e<i?-1:e<i+10?e-i+26+26:e<s+26?e-s:e<r+26?e-r+26:void 0}A.toByteArray=function(A){var t,n,i,r,s,o;if(A.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var a=A.length;s="="===A.charAt(a-2)?2:"="===A.charAt(a-1)?1:0,o=new e(3*A.length/4-s),i=s>0?A.length-4:A.length;var c=0;function g(A){o[c++]=A}for(t=0,n=0;t<i;t+=4,n+=3)g((16711680&(r=B(A.charAt(t))<<18|B(A.charAt(t+1))<<12|B(A.charAt(t+2))<<6|B(A.charAt(t+3))))>>16),g((65280&r)>>8),g(255&r);return 2===s?g(255&(r=B(A.charAt(t))<<2|B(A.charAt(t+1))>>4)):1===s&&(g((r=B(A.charAt(t))<<10|B(A.charAt(t+1))<<4|B(A.charAt(t+2))>>2)>>8&255),g(255&r)),o},A.fromByteArray=function(A){var e,t,n,i,r=A.length%3,s="";function o(A){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(A)}for(e=0,n=A.length-r;e<n;e+=3)t=(A[e]<<16)+(A[e+1]<<8)+A[e+2],s+=o((i=t)>>18&63)+o(i>>12&63)+o(i>>6&63)+o(63&i);switch(r){case 1:s+=o((t=A[A.length-1])>>2),s+=o(t<<4&63),s+="==";break;case 2:s+=o((t=(A[A.length-2]<<8)+A[A.length-1])>>10),s+=o(t>>4&63),s+=o(t<<2&63),s+="="}return s}}(e)},function(A,e){(function(){e.OP=0,e.CL=1,e.CP=2,e.QU=3,e.GL=4,e.NS=5,e.EX=6,e.SY=7,e.IS=8,e.PR=9,e.PO=10,e.NU=11,e.AL=12,e.HL=13,e.ID=14,e.IN=15,e.HY=16,e.BA=17,e.BB=18,e.B2=19,e.ZW=20,e.CM=21,e.WJ=22,e.H2=23,e.H3=24,e.JL=25,e.JV=26,e.JT=27,e.RI=28,e.AI=29,e.BK=30,e.CB=31,e.CJ=32,e.CR=33,e.LF=34,e.NL=35,e.SA=36,e.SG=37,e.SP=38,e.XX=39}).call(this)},function(A,e){(function(){e.DI_BRK=0,e.IN_BRK=1,e.CI_BRK=2,e.CP_BRK=3,e.PR_BRK=4,e.pairTable=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]]}).call(this)},function(A,e,t){(function(A){(function(){var n,i,r,s,o,a,B,c,g,Q,E,l,u,w,h,C;C=t(580),n=C.CR,o=C.LF,i=C.Control,r=C.Extend,c=C.Regional_Indicator,g=C.SpacingMark,s=C.L,l=C.V,Q=C.T,a=C.LV,B=C.LVT,E=t(148),u=new E(A("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","base64")),w=function(A,e){var t,n,i;return e=e||0,55296<=(t=A.charCodeAt(e))&&t<=56319?(n=t,56320<=(i=A.charCodeAt(e+1))&&i<=57343?1024*(n-55296)+(i-56320)+65536:n):56320<=t&&t<=57343?(i=t,55296<=(n=A.charCodeAt(e-1))&&n<=56319?1024*(n-55296)+(i-56320)+65536:i):t},h=function(A,e){return(A!==n||e!==o)&&(A===i||A===n||A===o||(e===i||e===n||e===o||(A!==s||e!==s&&e!==l&&e!==a&&e!==B)&&((A!==a&&A!==l||e!==l&&e!==Q)&&((A!==B&&A!==Q||e!==Q)&&((A!==c||e!==c)&&(e!==r&&e!==g))))))},e.nextBreak=function(A,e){var t,n,i,r,s,o,a;if(null==e&&(e=0),e<0)return 0;if(e>=A.length-1)return A.length;for(i=u.get(w(A,e)),t=r=e+1,s=A.length;r<s;t=r+=1)if(!(55296<=(o=A.charCodeAt(t-1))&&o<=56319&&56320<=(a=A.charCodeAt(t))&&a<=57343)){if(n=u.get(w(A,t)),h(i,n))return t;i=n}return A.length},e.previousBreak=function(A,e){var t,n,i,r,s,o;if(null==e&&(e=A.length),e>A.length)return A.length;if(e<=1)return 0;for(e--,n=u.get(w(A,e)),t=r=e-1;r>=0;t=r+=-1)if(!(55296<=(s=A.charCodeAt(t))&&s<=56319&&56320<=(o=A.charCodeAt(t+1))&&o<=57343)){if(i=u.get(w(A,t)),h(i,n))return t+1;n=i}return 0},e.break=function(A){var t,n,i;for(i=[],n=0;(t=e.nextBreak(A,n))<A.length;)i.push(A.slice(n,t)),n=t;return n<A.length&&i.push(A.slice(n)),i},e.countBreaks=function(A){var t,n,i;for(n=0,i=0;(t=e.nextBreak(A,i))<A.length;)i=t,n++;return i<A.length&&n++,n}}).call(this)}).call(this,t(25).Buffer)},function(A){A.exports=JSON.parse('{"Other":0,"CR":1,"LF":2,"Control":3,"Extend":4,"Regional_Indicator":5,"SpacingMark":6,"L":7,"V":8,"T":9,"LV":10,"LVT":11}')},function(A,e){A.exports=".scratch-render-overlays {\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n overflow: hidden;\n}\n.scratch-render-overlays > * {\n position: absolute;\n top: 0;\n left: 0;\n}\n"},function(A,e,t){const n=t(583),i=t(588),r=t(90),s=t(149),o=t(91);A.exports=class{constructor(){this.defaultAssetId={},this.builtinHelper=new n(this),this.webHelper=new i(this),this.builtinHelper.registerDefaultAssets(this),this._helpers=[{helper:this.builtinHelper,priority:100},{helper:this.webHelper,priority:-100}]}get Asset(){return r}get AssetType(){return s}get DataFormat(){return o}static get Asset(){return r}static get AssetType(){return s}addHelper(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this._helpers.push({helper:A,priority:e}),this._helpers.sort((A,e)=>e.priority-A.priority)}get(A){return this.builtinHelper.get(A)}cache(A,e,t,n){return this.builtinHelper._store(A,e,t,n)}createAsset(A,e,t,n,i){if(!e)throw new Error("Tried to create asset without a dataFormat");return new r(A,n,e,t,i)}addWebStore(A,e,t,n){this.webHelper.addStore(A,e,t,n)}addWebSource(A,e){this.addWebStore(A,e)}getDefaultAssetId(A){if(Object.prototype.hasOwnProperty.call(this.defaultAssetId,A.name))return this.defaultAssetId[A.name]}setDefaultAssetId(A,e){this.defaultAssetId[A.name]=e}load(A,e,t){const n=this._helpers.map(A=>A.helper),i=[];t=t||A.runtimeFormat;let r,s=0;const o=a=>{if(a&&i.push(a),r=n[s++],r){const n=r.load(A,e,t);return null===n?o():n.catch(o)}return i.length>0?Promise.reject(i):Promise.resolve(null)};return o()}store(A,e,t,n){return e=e||A.runtimeFormat,new Promise((i,r)=>this.webHelper.store(A,e,t,n).then(n=>(this.builtinHelper._store(A,e,t,n.id),i(n))).catch(A=>r(A)))}}},function(A,e,t){(function(e){const n=t(42),i=t(90),r=t(149),s=t(91),o=t(150),a=[{type:r.ImageBitmap,format:s.PNG,id:null,data:e.from(t(585))},{type:r.Sound,format:s.WAV,id:null,data:e.from(t(586))},{type:r.ImageVector,format:s.SVG,id:null,data:e.from(t(587))}],B=a.concat([]);A.exports=class extends o{constructor(A){super(A),this.assets={},B.forEach(A=>{A.id=this._store(A.type,A.format,A.data,A.id)})}registerDefaultAssets(){const A=a.length;for(let e=0;e<A;++e){const A=a[e];this.parent.setDefaultAssetId(A.type,A.id)}}get(A){let e=null;if(Object.prototype.hasOwnProperty.call(this.assets,A)){const t=this.assets[A];e=new i(t.type,t.id,t.format,t.data)}return e}cache(A,e,t,n){return this.store(A,e,t,n)}store(A,e,t,n){return this._store(A,e,t,n)}_store(A,e,t,i){if(!e)throw new Error("Data cached without specifying its format");if(""!==i&&null!=i){if(Object.prototype.hasOwnProperty.call(this.assets,i)&&A.immutable)return i}else{if(!A.immutable)throw new Error("Tried to cache data without an id");i=n(t)}return this.assets[i]={type:A,format:e,id:i,data:t},i}load(A,e){return this.get(e)?Promise.resolve(this.get(e)):null}}}).call(this,t(25).Buffer)},function(A,e,t){"use strict";e.byteLength=function(A){var e=B(A),t=e[0],n=e[1];return 3*(t+n)/4-n},e.toByteArray=function(A){for(var e,t=B(A),n=t[0],s=t[1],o=new r(function(A,e,t){return 3*(e+t)/4-t}(0,n,s)),a=0,c=s>0?n-4:n,g=0;g<c;g+=4)e=i[A.charCodeAt(g)]<<18|i[A.charCodeAt(g+1)]<<12|i[A.charCodeAt(g+2)]<<6|i[A.charCodeAt(g+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=255&e;2===s&&(e=i[A.charCodeAt(g)]<<2|i[A.charCodeAt(g+1)]>>4,o[a++]=255&e);1===s&&(e=i[A.charCodeAt(g)]<<10|i[A.charCodeAt(g+1)]<<4|i[A.charCodeAt(g+2)]>>2,o[a++]=e>>8&255,o[a++]=255&e);return o},e.fromByteArray=function(A){for(var e,t=A.length,i=t%3,r=[],s=0,o=t-i;s<o;s+=16383)r.push(c(A,s,s+16383>o?o:s+16383));1===i?(e=A[t-1],r.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(A[t-2]<<8)+A[t-1],r.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return r.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o<a;++o)n[o]=s[o],i[s.charCodeAt(o)]=o;function B(A){var e=A.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=A.indexOf("=");return-1===t&&(t=e),[t,t===e?0:4-t%4]}function c(A,e,t){for(var i,r,s=[],o=e;o<t;o+=3)i=(A[o]<<16&16711680)+(A[o+1]<<8&65280)+(255&A[o+2]),s.push(n[(r=i)>>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(A,e,t){A.exports=t(92)("iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAAAAADmVT4XAAADZElEQVR42u3a70vbQBgH8O/7vOibvsmbFUEEWUGGUhQ25nDuhSKIUFDxlYi0SAd94atRmFiHCH2x4W8iiNtwowXRgd1QipJYY3N/1F4kTQ6XLKS9yyHcvWyO8MnT5y53Tw5EcIMESIAESIAESIAESIAEPFVAq/6l8G4oAQCp4aniwbUVJ6BVzafwqKXy1VZMgNb+CHzbyK4ZB+Bi0nnk0VyhsDiSoAmvvnMHmGUVAF6UG+0ffsxRhsRHky/AyCsAUpumX0wAAIs6T4CxDADDtcdZsal6gjmdH8AsAEC6+s8Fa48SFExeAKusAEju+V367AmUCi9ANQ0AU3pwcOw2cMEH0FwAAKz5X228pRLR5AI4TgIAtIDL24oLUE94AB6W7LsH/cONN14Ilh44AOqD9s2LQR1KHiB9zgGgOSGeuA3ocPrME1Q4ANaceyePAzrcjHmAZYs9IBeW4/fzHiAwTCwAgTle9ACZK44ALDT9e6x7gL4aT0BQCHb4AqgA5/1TTOMLoJ7vZSMM0H/GHnCeDnu+CrU8vGYPcN5FADBYD0vCaYPDy+i0p337GSMsS1Z4vA3t9QgAZTt0IuIxFRPSKicAQHlvhk3FXF5GhBByMa8qo/sBO6BarwuYbYrYnFKDYEvE7phKgcxvEQBqnvhgiQCUOgoAO4C3JOS3L/hv23UXxVldBECfcueAqpAa0WGy/QeULREAY6aTXRFDgBuA13+ElOncAERMAGaA9hBQD4gQQHsIRE1AZoD2xrgQS5nOZyHgFKmWDSIG4GRAVidiAE4GRB6AzAB2AKIPQFaA5myHA5AV4ESNugZhC7BLR50lIBPAebrzBGQCKAFQNSIMcDvRTQIwAHxNApM3RBygGK0uyhxwOwGsPAgEnPWj5ycRCNiJtBHlAChGKQVwANzPY+CXSMDNWISiLA9AfRA5IhJQ68UnoQAt+AtOPIBKhJosF8B6UM0yLkAxQk2WCyDX9SiUh1gkQAIkoCuAvjGuquMbuijAtwG7MPL8yBICOHSPk3W8Ne8KcEUdmBi6FADYos+QleIH0N/ogOxd7AD6uAS6WRU8WcBdlgZMG/EnYUlwEpLLoQ4PjzGbiA5UsRMRsbQ+5ziDJmYqJuR6NaMomdXuFuZyPSABEiABEiABEiABEiAc8Bd6VyvCEKGqcQAAAABJRU5ErkJggg==")},function(A,e,t){A.exports=t(92)("UklGRiYAAABXQVZFZm10IBAAAAABAAEAIlYAAESsAAACABAAZGF0YQIAAAAAAA==")},function(A,e,t){A.exports=t(92)("PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8Zz4KICA8cmVjdCBmaWxsPSIjQ0NDIiBoZWlnaHQ9IjEyOCIgd2lkdGg9IjEyOCIvPgogIDx0ZXh0IGZpbGw9ImJsYWNrIiB5PSIxMDciIHg9IjM1LjUiIGZvbnQtc2l6ZT0iMTI4Ij4/PC90ZXh0PgogPC9nPgo8L3N2Zz4K")},function(A,e,t){const n=t(90),i=t(150),r=t(589),s=A=>"string"==typeof A?{url:A}:A;A.exports=class extends i{constructor(A){super(A),this.stores=[],this.assetTool=new r,this.projectTool=new r(r.TOOL_FILTER.READY)}addSource(A,e){this.addStore(A,e)}addStore(A,e,t,n){this.stores.push({types:A.map(A=>A.name),get:e,create:t,update:n})}load(A,e,t){const i=[],r=this.stores.slice().filter(e=>e.types.indexOf(A.name)>=0),o=new n(A,e,t);let a=this.assetTool;"Project"===A.name&&(a=this.projectTool);let B=0;const c=A=>{A&&i.push(A);const e=r[B++],n=e&&e.get;if(n){const A=s(n(o));return!1===A?c():a.get(A).then(A=>A?(o.setData(A,t),o):c()).catch(c)}return i.length>0?Promise.reject(i):Promise.resolve(null)};return c()}store(A,e,t,i){const r=new n(A,i,e),o=""===i||null==i,a=this.stores.filter(e=>-1!==e.types.indexOf(A.name)&&(o&&e.create||e.update))[0],B=o?"post":"put";if(!a)return Promise.reject(new Error("No appropriate stores"));let c=this.assetTool;"Project"===A.name&&(c=this.projectTool);const g=s(o?a.create(r):a.update(r)),Q=Object.assign({body:t,method:B},g);return c.send(Q).then(A=>{if("string"==typeof A)try{A=JSON.parse(A)}catch(e){return A}return Object.assign({id:A["content-name"]||i},A)})}}},function(A,e,t){const n=t(590),i=t(592);class r{constructor(){let A;A=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.TOOL_FILTER.ALL)===r.TOOL_FILTER.READY?[new i]:[new n,new i],this.tools=A}get isGetSupported(){return this.tools.some(A=>A.isGetSupported)}get(A){let e=0;const t=n=>{const i=this.tools[e++];if(!i)throw n;return i.isGetSupported?i.get(A).catch(t):t(n)};return t()}get isSendSupported(){return this.tools.some(A=>A.isSendSupported)}send(A){let e=0;const t=n=>{const i=this.tools[e++];if(!i)throw n;return i.isSendSupported?i.send(A).catch(t):t(n)};return t()}}r.TOOL_FILTER={ALL:"all",READY:"ready"},A.exports=r},function(A,e,t){const n=["url"];function i(A,e){if(null==A)return{};var t,n,i=function(A,e){if(null==A)return{};var t,n,i={},r=Object.keys(A);for(n=0;n<r.length;n++)t=r[n],e.indexOf(t)>=0||(i[t]=A[t]);return i}(A,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);for(n=0;n<r.length;n++)t=r[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(i[t]=A[t])}return i}class r{constructor(){this._workerSupport={fetch:"undefined"!=typeof fetch},this._supportError=null,this.worker=null,this.jobs={};try{if(this.isGetSupported){const A=t(591);this.worker=new A,this.worker.addEventListener("message",A=>{let{data:e}=A;if(e.support)this._workerSupport=e.support;else for(const A of e)this.jobs[A.id]&&(A.error?this.jobs[A.id].reject(A.error):this.jobs[A.id].resolve(A.buffer),delete this.jobs[A.id])})}}catch(A){this._supportError=A}}get isGetSupported(){return"undefined"!=typeof Worker&&this._workerSupport.fetch&&!this._supportError}get(A){let{url:e}=A,t=i(A,n);return new Promise((A,n)=>{const i=Math.random().toString(16).substring(2);this.worker.postMessage({id:i,url:e,options:Object.assign({method:"GET"},t)}),this.jobs[i]={id:i,resolve:A,reject:n}}).then(A=>A?new Uint8Array(A):null)}get isSendSupported(){return!1}send(){throw new Error("Not implemented.")}static get instance(){return this._instance||(this._instance=new r),this._instance}}A.exports=class{constructor(){this.inner=r.instance}get isGetSupported(){return this.inner.isGetSupported}get(A){return this.inner.get(A)}get isSendSupported(){return!1}send(){throw new Error("Not implemented.")}}},function(A,e,t){A.exports=function(){return t(120)('!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){const r=n(1),o=[];let s=null;const u=()=>{s||(s=setTimeout(()=>{s=null,o.length&&(postMessage(o.slice(),o.map(e=>e.buffer).filter(Boolean)),o.length=0)}))},a=e=>{let{data:t}=e;r(t.url,t.options).then(e=>o.push({id:t.id,buffer:e})).catch(e=>o.push({id:t.id,error:e&&e.message||"Failed request: ".concat(t.url)})).then(u)};self.fetch?(postMessage({support:{fetch:!0}}),self.addEventListener("message",a)):(postMessage({support:{fetch:!1}}),self.addEventListener("message",e=>{let{data:t}=e;postMessage([{id:t.id,error:"fetch is unavailable"}])}))},function(e,t){let n=0;const r=[],o=()=>{n<100&&r.length>0&&(n++,(e=>{let t,[r,s,u]=e,a=0;const l=()=>fetch(s,u).then(e=>e.ok||0===e.status?e.arrayBuffer():404===e.status?null:Promise.reject(e.status)).then(e=>(n--,o(),e)).catch(e=>{if(403===e)throw e;if(console.warn("Attempt to fetch ".concat(s," failed"),e),t||(t=e),a<2)return a++,new Promise(e=>setTimeout(e,5e3*(a+Math.random()-1))).then(l);throw n--,o(),t});r(l())})(r.shift()))};e.exports=(e,t)=>new Promise(n=>{r.push([n,e,t]),o()})}]);',null)}},function(A,e,t){const n=["url"],i=["url","withCredentials"];function r(A,e){if(null==A)return{};var t,n,i=function(A,e){if(null==A)return{};var t,n,i={},r=Object.keys(A);for(n=0;n<r.length;n++)t=r[n],e.indexOf(t)>=0||(i[t]=A[t]);return i}(A,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);for(n=0;n<r.length;n++)t=r[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(i[t]=A[t])}return i}const s=t(593);A.exports=class{get isGetSupported(){return"undefined"!=typeof fetch}get(A){let{url:e}=A,t=r(A,n);return s(e,Object.assign({method:"GET"},t)).then(A=>A?new Uint8Array(A):A)}get isSendSupported(){return"undefined"!=typeof fetch}send(A){let{url:e,withCredentials:t=!1}=A,n=r(A,i);return fetch(e,Object.assign({credentials:t?"include":"omit"},n)).then(A=>A.ok?A.text():Promise.reject(A.status))}}},function(A,e){let t=0;const n=[],i=()=>{t<100&&n.length>0&&(t++,(A=>{let e,[n,r,s]=A,o=0;const a=()=>fetch(r,s).then(A=>A.ok||0===A.status?A.arrayBuffer():404===A.status?null:Promise.reject(A.status)).then(A=>(t--,i(),A)).catch(A=>{if(403===A)throw A;if(console.warn("Attempt to fetch ".concat(r," failed"),A),e||(e=A),o<2)return o++,new Promise(A=>setTimeout(A,5e3*(o+Math.random()-1))).then(a);throw t--,i(),e});n(a())})(n.shift()))};A.exports=(A,e)=>new Promise(t=>{n.push([t,A,e]),i()})},function(A,e,t){const n=t(595),i=t(597),r=t(66),s=t(599),o=t(600),a=t(602),B=t(603),c=t(604),g=t(605),Q=t(606),E=t(151),l=t(607);A.exports=class{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new i;this.audioContext=A,n(this.audioContext),this.inputNode=this.audioContext.createGain(),this.inputNode.connect(this.audioContext.destination),this.audioBuffers={},this.loudness=null,this.effects=[g,Q,E]}get currentTime(){return this.audioContext.currentTime}get EFFECT_NAMES(){return{pitch:"pitch",pan:"pan"}}get DECAY_DURATION(){return.025}get DECAY_WAIT(){return.05}getInputNode(){return this.inputNode}_decodeSound(A){const e=A.data.buffer.slice(0),t=s();var n,i;return(n=this.audioContext,i=e,1===n.decodeAudioData.length?n.decodeAudioData(i):new Promise((A,e)=>{n.decodeAudioData(i,e=>A(e),A=>e(A))})).catch(()=>{if(0===A.data.length)return this._emptySound();const e=A.data.buffer.slice(0);return new o(this.audioContext).decode(e).catch(()=>this._emptySound())}).then(A=>[t,A],A=>{r.warn("audio data could not be decoded",A)})}_emptySound(){return this.audioContext.createBuffer(1,1,this.audioContext.sampleRate)}decodeSound(A){return this._decodeSound(A).then(A=>{let[e,t]=A;return this.audioBuffers[e]=t,e})}decodeSoundPlayer(A){return this._decodeSound(A).then(A=>{let[e,t]=A;return new B(this,{id:e,buffer:t})})}getLoudness(){return this.loudness||(this.loudness=new a(this.audioContext)),this.loudness.getLoudness()}createEffectChain(){const A=new c(this,this.effects);return A.connect(this),A}createBank(){return new l(this,this.createEffectChain())}}},function(A,e,t){const n=t(596);A.exports=function(A){if("undefined"!=typeof document)return n(A)}},function(A,e,t){var n,i,r;
/**
* StartAudioContext.js
* @author Yotam Mann
* @license http://opensource.org/licenses/MIT MIT License
* @copyright 2016 Yotam Mann
*/i=[],void 0===(r="function"==typeof(n=function(){var A=function(A,e){this._dragged=!1,this._element=A,this._bindedMove=this._moved.bind(this),this._bindedEnd=this._ended.bind(this,e),A.addEventListener("touchstart",this._bindedEnd),A.addEventListener("touchmove",this._bindedMove),A.addEventListener("touchend",this._bindedEnd),A.addEventListener("mouseup",this._bindedEnd)};function e(A){return"running"===A.state}return A.prototype._moved=function(A){this._dragged=!0},A.prototype._ended=function(A){this._dragged||function(A){var e=A.createBuffer(1,1,A.sampleRate),t=A.createBufferSource();t.buffer=e,t.connect(A.destination),t.start(0),A.resume&&A.resume()}(A),this._dragged=!1},A.prototype.dispose=function(){this._element.removeEventListener("touchstart",this._bindedEnd),this._element.removeEventListener("touchmove",this._bindedMove),this._element.removeEventListener("touchend",this._bindedEnd),this._element.removeEventListener("mouseup",this._bindedEnd),this._bindedMove=null,this._bindedEnd=null,this._element=null},function(t,n,i){var r=new Promise((function(A){!function(A,t){e(A)?t():function n(){e(A)?t():(requestAnimationFrame(n),A.resume&&A.resume())}()}(t,A)})),s=[];return n||(n=document.body),function e(t,n,i){if(Array.isArray(t)||NodeList&&t instanceof NodeList)for(var r=0;r<t.length;r++)e(t[r],n,i);else if("string"==typeof t)e(document.querySelectorAll(t),n,i);else if(t.jquery&&"function"==typeof t.toArray)e(t.toArray(),n,i);else if(Element&&t instanceof Element){var s=new A(t,i);n.push(s)}}(n,s,t),r.then((function(){for(var A=0;A<s.length;A++)s[A].dispose();s=null,i&&i()})),r}})?n.apply(e,i):n)||(A.exports=r)},function(A,e,t){"use strict";var n=t(598),i=n.OfflineAudioContext||n.webkitOfflineAudioContext,r=n.AudioContext||n.webkitAudioContext,s={};A.exports=function(A){if(!r)return null;"number"==typeof A&&(A={sampleRate:A});var e=A&&A.sampleRate;if(A&&A.offline)return i?new i(A.channels||2,A.length,e||44100):null;var t=s[e];if(t)return t;try{t=new r(A)}catch(A){t=new r}return s[t.sampleRate]=s[e]=t,t}},function(A,e,t){(function(e){var t;t="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},A.exports=t}).call(this,t(19))},function(A,e){const t="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";A.exports=function(){const A=t.length,e=[];for(let n=0;n<20;n++)e[n]=t.charAt(Math.random()*A);return e.join("")}},function(A,e,t){const n=t(601),i=t(66),r=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,118,130,143,157,173,190,209,230,253,279,307,337,371,408,449,494,544,598,658,724,796,876,963,1060,1166,1282,1411,1552,1707,1878,2066,2272,2499,2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,7132,7845,8630,9493,10442,11487,12635,13899,15289,16818,18500,20350,22385,24623,27086,29794,32767],s=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8];let o=null;A.exports=class{constructor(A){this.audioContext=A}static get STEP_TABLE(){return r}static get INDEX_TABLE(){return s}decode(A){return new Promise((e,t)=>{const r=new n(A);"RIFF"!==r.readUint8String(4)&&(i.warn("incorrect adpcm wav header"),t());const s=r.readInt32();s+8!==A.byteLength&&i.warn("adpcm wav length in header: ".concat(s," is incorrect"));"WAVE"!==r.readUint8String(4)&&(i.warn("incorrect adpcm wav header"),t());const o=this.extractChunk("fmt ",r);this.encoding=o.readUint16(),this.channels=o.readUint16(),this.samplesPerSecond=o.readUint32(),this.bytesPerSecond=o.readUint32(),this.blockAlignment=o.readUint16(),this.bitsPerSample=o.readUint16(),o.position+=2,this.samplesPerBlock=o.readUint16(),this.adpcmBlockSize=(this.samplesPerBlock-1)/2+4;const a=this.extractChunk("data",r),B=this.numberOfSamples(a,this.adpcmBlockSize),c=this.audioContext.createBuffer(1,B,this.samplesPerSecond);this.imaDecompress(a,this.adpcmBlockSize,c.getChannelData(0)),e(c)})}extractChunk(A,e){for(e.position=12;e.position<e.getLength()-8;){const t=e.readUint8String(4),n=e.readInt32();if(t===A){return e.extract(n)}e.position+=n}}numberOfSamples(A,e){if(!A)return 0;A.position=0;const t=A.getBytesAvailable();return(t/e|0)*(2*(e-4))+1+2*Math.max(t%e-4,0)+Math.min(t%e,1)}imaDecompress(A,e,t){let n,i,a,B=0,c=-1;if(!A)return;A.position=0;const g=t.length,Q=2*(e-4),E=function(){if(null===o){const A=r.length,e=s.length;o=new Array(A*e).fill(0);let t=0;for(let n=0;n<A;n++)for(let A=0;A<e;A++){const e=r[n];let i=0;4&A&&(i+=e),2&A&&(i+=e>>1),1&A&&(i+=e>>2),i+=e>>3,o[t++]=8&A?-i:i}}return o}();let l=0;for(;l<g;){n=A.readInt16(),B=A.readUint8(),A.position++,B>88&&(B=88),t[l++]=n/32768;const e=Math.min(Q,g-l),r=l;for(;l-r<e;)c=A.readUint8(),i=15&c,a=E[16*B+i],B+=s[i],B>88?B=88:B<0&&(B=0),n+=a,n>32767?n=32767:n<-32768&&(n=-32768),t[l++]=n/32768,i=c>>4&15,a=E[16*B+i],B+=s[i],B>88?B=88:B<0&&(B=0),n+=a,n>32767?n=32767:n<-32768&&(n=-32768),t[l++]=n/32768}}}},function(A,e){class t{constructor(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A.byteLength,{_uint8View:n=new Uint8Array(A)}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.arrayBuffer=A,this.start=e,this.end=t,this._uint8View=n,this._position=e}extract(A){return new t(this.arrayBuffer,this._position,this._position+A,this)}getLength(){return this.end-this.start}getBytesAvailable(){return this.end-this._position}get position(){return this._position-this.start}set position(A){return this._position=A+this.start,A}readUint8(){const A=this._uint8View[this._position];return this._position+=1,A}readUint8String(A){const e=this._uint8View;let t="";const n=this._position+A;for(let A=this._position;A<n;A++)t+=String.fromCharCode(e[A]);return this._position+=A,t}readInt16(){const A=new Int16Array(this.arrayBuffer,this._position,1)[0];return this._position+=2,A}readUint16(){const A=new Uint16Array(this.arrayBuffer,this._position,1)[0];return this._position+=2,A}readInt32(){let A;return A=this._position%4==0?new Int32Array(this.arrayBuffer,this._position,1)[0]:new Int32Array(this.arrayBuffer.slice(this._position,this._position+4))[0],this._position+=4,A}readUint32(){const A=new Uint32Array(this.arrayBuffer,this._position,1)[0];return this._position+=4,A}}A.exports=t},function(A,e,t){const n=t(66);A.exports=class{constructor(A){this.audioContext=A,this.connectingToMic=!1,this.mic=null}getLoudness(){if(this.mic||this.connectingToMic||(this.connectingToMic=!0,navigator.mediaDevices.getUserMedia({audio:!0}).then(A=>{this.audioStream=A,this.mic=this.audioContext.createMediaStreamSource(A),this.analyser=this.audioContext.createAnalyser(),this.mic.connect(this.analyser),this.micDataArray=new Float32Array(this.analyser.fftSize)}).catch(A=>{n.warn(A)})),this.mic&&this.audioStream.active){this.analyser.getFloatTimeDomainData(this.micDataArray);let A=0;for(let e=0;e<this.micDataArray.length;e++)A+=Math.pow(this.micDataArray[e],2);let e=Math.sqrt(A/this.micDataArray.length);return this._lastValue&&(e=Math.max(e,.6*this._lastValue)),this._lastValue=e,e*=1.63,e=Math.sqrt(e),e=Math.round(100*e),e=Math.min(e,100),e}return-1}}},function(A,e,t){const{EventEmitter:n}=t(37),i=t(151);class r extends n{constructor(A,e){let{id:t,buffer:n}=e;super(),this.id=t,this.audioEngine=A,this.buffer=n,this.outputNode=null,this.volumeEffect=null,this.target=null,this.initialized=!1,this.isPlaying=!1,this.startingUntil=0,this.playbackRate=1,this.stopFadeDecay=0,this.handleEvent=this.handleEvent.bind(this)}get isStarting(){return this.isPlaying&&this.startingUntil>this.audioEngine.currentTime}handleEvent(A){"ended"===A.type&&this.onEnded()}onEnded(){this.emit("stop"),this.isPlaying=!1}_createSource(){null!==this.outputNode&&(this.outputNode.removeEventListener("ended",this.handleEvent),this.outputNode.disconnect()),this.outputNode=this.audioEngine.audioContext.createBufferSource(),this.outputNode.playbackRate.value=this.playbackRate,this.outputNode.buffer=this.buffer,this.outputNode.addEventListener("ended",this.handleEvent),null!==this.target&&this.connect(this.target)}initialize(){this.initialized=!0,this._createSource()}connect(A){return A===this.volumeEffect?(this.outputNode.disconnect(),void this.outputNode.connect(this.volumeEffect.getInputNode())):(this.target=A,this.initialized?(null===this.volumeEffect?(this.outputNode.disconnect(),this.outputNode.connect(A.getInputNode())):this.volumeEffect.connect(A),this):void 0)}dispose(){this.initialized&&(this.stopImmediately(),null!==this.volumeEffect&&(this.volumeEffect.dispose(),this.volumeEffect=null),this.outputNode.disconnect(),this.outputNode=null,this.target=null,this.initialized=!1)}take(){this.outputNode&&this.outputNode.removeEventListener("ended",this.handleEvent);const A=new r(this.audioEngine,this);return A.playbackRate=this.playbackRate,this.isPlaying&&(A.startingUntil=this.startingUntil,A.isPlaying=this.isPlaying,A.initialized=this.initialized,A.outputNode=this.outputNode,A.outputNode.addEventListener("ended",A.handleEvent),A.volumeEffect=this.volumeEffect,A.volumeEffect&&(A.volumeEffect.audioPlayer=A),null!==this.target&&A.connect(this.target),this.emit("stop"),A.emit("play")),this.outputNode=null,this.volumeEffect=null,this.initialized=!1,this.startingUntil=0,this.isPlaying=!1,A}play(A){if(this.isStarting)return this.emit("stop"),void this.emit("play");this.isPlaying&&this.stop(),this.initialized?this._createSource():this.initialize(),"number"==typeof A?this.outputNode.start(0,A):this.outputNode.start(),this.isPlaying=!0;const{currentTime:e,DECAY_DURATION:t}=this.audioEngine;this.startingUntil=e+(t+this.stopFadeDecay),this.emit("play")}stop(){if(!this.isPlaying)return;const A=this.take();A.volumeEffect=new i(A.audioEngine,A,null),A.volumeEffect.connect(A.target),A.finished().then(()=>A.dispose()),A.volumeEffect.set(0,this.stopFadeDecay);const{currentTime:e,DECAY_DURATION:t}=this.audioEngine;A.outputNode.stop(e+(t+this.stopFadeDecay))}stopImmediately(){this.isPlaying&&(this.outputNode.stop(),this.isPlaying=!1,this.startingUntil=0,this.emit("stop"))}finished(){return new Promise(A=>{this.once("stop",A)})}setPlaybackRate(A){this.playbackRate=A,this.initialized&&(this.outputNode.playbackRate.value=A)}}A.exports=r},function(A,e){class t{constructor(A,e){this.audioEngine=A,this.inputNode=this.audioEngine.audioContext.createGain(),this.effects=e;let t=null;this._effects=e.reverse().map(e=>{const n=new e(A,this,t);return this[n.name]=n,t=n,n}).reverse(),this.firstEffect=this._effects[0],this.lastEffect=this._effects[this._effects.length-1],this._soundPlayers=new Set}clone(){const A=new t(this.audioEngine,this.effects);return this.target&&A.connect(this.target),A}addSoundPlayer(A){this._soundPlayers.has(A)||(this._soundPlayers.add(A),this.update())}removeSoundPlayer(A){this._soundPlayers.remove(A)}getInputNode(){return this.inputNode}connect(A){const{firstEffect:e,lastEffect:t}=this;if(A===t)return this.inputNode.disconnect(),void this.inputNode.connect(t.getInputNode());A!==e&&(this.target=A,e.connect(A))}getSoundPlayers(){return[...this._soundPlayers]}setEffectsFromTarget(A){this._effects.forEach(e=>{"soundEffects"in A&&e.name in A.soundEffects?e.set(A.soundEffects[e.name]):e.name in A&&e.set(A[e.name])})}set(A,e){A in this&&this[A].set(e)}update(){this._effects.forEach(A=>A.update())}clear(){this._effects.forEach(A=>A.clear())}dispose(){this._soundPlayers=null,this._effects.forEach(A=>A.dispose()),this._effects=null}}A.exports=t},function(A,e,t){const n=t(93);A.exports=class extends n{constructor(A,e,t){super(A,e,t),this.leftGain=null,this.rightGain=null,this.channelMerger=null}get name(){return"pan"}initialize(){const A=this.audioEngine.audioContext;this.inputNode=A.createGain(),this.leftGain=A.createGain(),this.rightGain=A.createGain(),this.channelMerger=A.createChannelMerger(2),this.outputNode=this.channelMerger,this.inputNode.connect(this.leftGain),this.inputNode.connect(this.rightGain),this.leftGain.connect(this.channelMerger,0,0),this.rightGain.connect(this.channelMerger,0,1),this.initialized=!0}_set(A){this.value=A;const e=(A+100)/200,t=Math.cos(e*Math.PI/2),n=Math.sin(e*Math.PI/2),{currentTime:i,DECAY_WAIT:r,DECAY_DURATION:s}=this.audioEngine;this.leftGain.gain.setTargetAtTime(t,i+r,s),this.rightGain.gain.setTargetAtTime(n,i+r,s)}dispose(){this.initialized&&(this.inputNode.disconnect(),this.leftGain.disconnect(),this.rightGain.disconnect(),this.channelMerger.disconnect(),this.inputNode=null,this.leftGain=null,this.rightGain=null,this.channelMerger=null,this.outputNode=null,this.target=null,this.initialized=!1)}}},function(A,e,t){const n=t(93);A.exports=class extends n{constructor(A,e,t){super(A,e,t),this.ratio=1}get name(){return"pitch"}get _isPatch(){return!1}getInputNode(){return this.target.getInputNode()}initialize(){this.initialized=!0}_set(A){this.value=A,this.ratio=this.getRatio(this.value),this.updatePlayers(this.audioPlayer.getSoundPlayers())}update(){this.updatePlayers(this.audioPlayer.getSoundPlayers())}getRatio(A){const e=A/10;return Math.pow(2,e/12)}updatePlayer(A){A.setPlaybackRate(this.ratio)}updatePlayers(A){if(A)for(const e in A)A.hasOwnProperty(e)&&this.updatePlayer(A[e])}}},function(A,e,t){const n=t(66);A.exports=class{constructor(A,e){this.audioEngine=A,this.soundPlayers={},this.playerTargets=new Map,this.soundEffects=new Map,this.effectChainPrime=e}addSoundPlayer(A){this.soundPlayers[A.id]=A}getSoundPlayer(A){return this.soundPlayers[A]||n.error("SoundBank.getSoundPlayer(".concat(A,"): called missing sound in bank")),this.soundPlayers[A]}getSoundEffects(A){return this.soundEffects.has(A)||this.soundEffects.set(A,this.effectChainPrime.clone()),this.soundEffects.get(A)}playSound(A,e,t){const n=this.getSoundEffects(e),i=this.getSoundPlayer(e);return this.playerTargets.get(e)!==A&&i.stop(),this.playerTargets.set(e,A),n.addSoundPlayer(i),n.setEffectsFromTarget(A),i.connect(n),i.play(t),i.finished()}setEffects(A){this.playerTargets.forEach((e,t)=>{e===A&&this.getSoundEffects(t).setEffectsFromTarget(A)})}stop(A,e){this.playerTargets.get(e)===A&&this.soundPlayers[e].stop()}stopAllSounds(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"*";this.playerTargets.forEach((e,t)=>{"*"!==A&&e!==A||this.getSoundPlayer(t).stop()})}dispose(){this.playerTargets.clear(),this.soundEffects.forEach(A=>A.dispose()),this.soundEffects.clear();for(const A in this.soundPlayers)this.soundPlayers.hasOwnProperty(A)&&this.soundPlayers[A].dispose();this.soundPlayers={}}}},function(A,e,t){"use strict";t.r(e),t.d(e,"config",(function(){return sA})),t.d(e,"BigNumber",(function(){return $c})),t.d(e,"Complex",(function(){return Ag})),t.d(e,"e",(function(){return eg})),t.d(e,"_false",(function(){return tg})),t.d(e,"fineStructure",(function(){return ng})),t.d(e,"Fraction",(function(){return ig})),t.d(e,"i",(function(){return rg})),t.d(e,"_Infinity",(function(){return sg})),t.d(e,"LN10",(function(){return og})),t.d(e,"LOG10E",(function(){return ag})),t.d(e,"Matrix",(function(){return Bg})),t.d(e,"_NaN",(function(){return cg})),t.d(e,"_null",(function(){return gg})),t.d(e,"phi",(function(){return Qg})),t.d(e,"Range",(function(){return Eg})),t.d(e,"ResultSet",(function(){return lg})),t.d(e,"SQRT1_2",(function(){return ug})),t.d(e,"sackurTetrode",(function(){return wg})),t.d(e,"tau",(function(){return hg})),t.d(e,"_true",(function(){return Cg})),t.d(e,"version",(function(){return dg})),t.d(e,"DenseMatrix",(function(){return Ig})),t.d(e,"efimovFactor",(function(){return Mg})),t.d(e,"LN2",(function(){return pg})),t.d(e,"pi",(function(){return mg})),t.d(e,"replacer",(function(){return Fg})),t.d(e,"SQRT2",(function(){return Dg})),t.d(e,"typed",(function(){return Yg})),t.d(e,"unaryPlus",(function(){return fg})),t.d(e,"weakMixingAngle",(function(){return Ng})),t.d(e,"abs",(function(){return Ug})),t.d(e,"acos",(function(){return yg})),t.d(e,"acot",(function(){return xg})),t.d(e,"acsc",(function(){return Tg})),t.d(e,"addScalar",(function(){return Rg})),t.d(e,"arg",(function(){return Gg})),t.d(e,"asech",(function(){return Sg})),t.d(e,"asinh",(function(){return Hg})),t.d(e,"atan",(function(){return bg})),t.d(e,"atanh",(function(){return kg})),t.d(e,"bignumber",(function(){return Jg})),t.d(e,"bitNot",(function(){return jg})),t.d(e,"boolean",(function(){return zg})),t.d(e,"clone",(function(){return vg})),t.d(e,"combinations",(function(){return Lg})),t.d(e,"complex",(function(){return Pg})),t.d(e,"conj",(function(){return Og})),t.d(e,"cos",(function(){return Wg})),t.d(e,"cot",(function(){return Vg})),t.d(e,"csc",(function(){return Kg})),t.d(e,"cube",(function(){return Xg})),t.d(e,"equalScalar",(function(){return Zg})),t.d(e,"erf",(function(){return _g})),t.d(e,"exp",(function(){return qg})),t.d(e,"expm1",(function(){return $g})),t.d(e,"filter",(function(){return AQ})),t.d(e,"forEach",(function(){return eQ})),t.d(e,"format",(function(){return tQ})),t.d(e,"getMatrixDataType",(function(){return nQ})),t.d(e,"hex",(function(){return iQ})),t.d(e,"im",(function(){return rQ})),t.d(e,"isInteger",(function(){return sQ})),t.d(e,"isNegative",(function(){return oQ})),t.d(e,"isPositive",(function(){return aQ})),t.d(e,"isZero",(function(){return BQ})),t.d(e,"LOG2E",(function(){return cQ})),t.d(e,"lgamma",(function(){return gQ})),t.d(e,"log10",(function(){return QQ})),t.d(e,"log2",(function(){return EQ})),t.d(e,"map",(function(){return lQ})),t.d(e,"multiplyScalar",(function(){return uQ})),t.d(e,"not",(function(){return wQ})),t.d(e,"number",(function(){return hQ})),t.d(e,"oct",(function(){return CQ})),t.d(e,"pickRandom",(function(){return dQ})),t.d(e,"print",(function(){return IQ})),t.d(e,"random",(function(){return MQ})),t.d(e,"re",(function(){return pQ})),t.d(e,"sec",(function(){return mQ})),t.d(e,"sign",(function(){return FQ})),t.d(e,"sin",(function(){return DQ})),t.d(e,"SparseMatrix",(function(){return YQ})),t.d(e,"splitUnit",(function(){return fQ})),t.d(e,"square",(function(){return NQ})),t.d(e,"string",(function(){return UQ})),t.d(e,"subtractScalar",(function(){return yQ})),t.d(e,"tan",(function(){return xQ})),t.d(e,"typeOf",(function(){return TQ})),t.d(e,"acosh",(function(){return RQ})),t.d(e,"acsch",(function(){return GQ})),t.d(e,"apply",(function(){return SQ})),t.d(e,"asec",(function(){return HQ})),t.d(e,"bin",(function(){return bQ})),t.d(e,"combinationsWithRep",(function(){return kQ})),t.d(e,"cosh",(function(){return JQ})),t.d(e,"csch",(function(){return jQ})),t.d(e,"isNaN",(function(){return zQ})),t.d(e,"isPrime",(function(){return vQ})),t.d(e,"randomInt",(function(){return LQ})),t.d(e,"sech",(function(){return PQ})),t.d(e,"sinh",(function(){return OQ})),t.d(e,"sparse",(function(){return WQ})),t.d(e,"sqrt",(function(){return VQ})),t.d(e,"tanh",(function(){return KQ})),t.d(e,"unaryMinus",(function(){return XQ})),t.d(e,"acoth",(function(){return ZQ})),t.d(e,"coth",(function(){return _Q})),t.d(e,"fraction",(function(){return qQ})),t.d(e,"isNumeric",(function(){return $Q})),t.d(e,"matrix",(function(){return AE})),t.d(e,"matrixFromFunction",(function(){return eE})),t.d(e,"mode",(function(){return tE})),t.d(e,"numeric",(function(){return nE})),t.d(e,"prod",(function(){return iE})),t.d(e,"reshape",(function(){return rE})),t.d(e,"size",(function(){return sE})),t.d(e,"squeeze",(function(){return oE})),t.d(e,"transpose",(function(){return aE})),t.d(e,"xgcd",(function(){return BE})),t.d(e,"zeros",(function(){return cE})),t.d(e,"asin",(function(){return gE})),t.d(e,"cbrt",(function(){return QE})),t.d(e,"concat",(function(){return EE})),t.d(e,"count",(function(){return lE})),t.d(e,"ctranspose",(function(){return uE})),t.d(e,"diag",(function(){return wE})),t.d(e,"divideScalar",(function(){return hE})),t.d(e,"dotDivide",(function(){return CE})),t.d(e,"equal",(function(){return dE})),t.d(e,"flatten",(function(){return IE})),t.d(e,"hasNumericValue",(function(){return ME})),t.d(e,"identity",(function(){return pE})),t.d(e,"kron",(function(){return mE})),t.d(e,"largerEq",(function(){return FE})),t.d(e,"leftShift",(function(){return DE})),t.d(e,"lsolve",(function(){return YE})),t.d(e,"matrixFromColumns",(function(){return fE})),t.d(e,"nthRoot",(function(){return NE})),t.d(e,"ones",(function(){return UE})),t.d(e,"qr",(function(){return yE})),t.d(e,"resize",(function(){return xE})),t.d(e,"rightArithShift",(function(){return TE})),t.d(e,"round",(function(){return RE})),t.d(e,"smaller",(function(){return GE})),t.d(e,"subtract",(function(){return SE})),t.d(e,"to",(function(){return HE})),t.d(e,"unequal",(function(){return bE})),t.d(e,"usolve",(function(){return kE})),t.d(e,"xor",(function(){return JE})),t.d(e,"add",(function(){return jE})),t.d(e,"atan2",(function(){return zE})),t.d(e,"bitAnd",(function(){return vE})),t.d(e,"bitXor",(function(){return LE})),t.d(e,"catalan",(function(){return PE})),t.d(e,"compare",(function(){return OE})),t.d(e,"compareText",(function(){return WE})),t.d(e,"cumsum",(function(){return VE})),t.d(e,"deepEqual",(function(){return KE})),t.d(e,"diff",(function(){return XE})),t.d(e,"distance",(function(){return ZE})),t.d(e,"dot",(function(){return _E})),t.d(e,"equalText",(function(){return qE})),t.d(e,"floor",(function(){return $E})),t.d(e,"gcd",(function(){return Al})),t.d(e,"hypot",(function(){return el})),t.d(e,"ImmutableDenseMatrix",(function(){return tl})),t.d(e,"Index",(function(){return nl})),t.d(e,"larger",(function(){return il})),t.d(e,"log",(function(){return rl})),t.d(e,"lsolveAll",(function(){return sl})),t.d(e,"matrixFromRows",(function(){return ol})),t.d(e,"min",(function(){return al})),t.d(e,"mod",(function(){return Bl})),t.d(e,"multiply",(function(){return cl})),t.d(e,"nthRoots",(function(){return gl})),t.d(e,"or",(function(){return Ql})),t.d(e,"partitionSelect",(function(){return El})),t.d(e,"rightLogShift",(function(){return ll})),t.d(e,"slu",(function(){return ul})),t.d(e,"subset",(function(){return wl})),t.d(e,"sum",(function(){return hl})),t.d(e,"trace",(function(){return Cl})),t.d(e,"usolveAll",(function(){return dl})),t.d(e,"zpk2tf",(function(){return Il})),t.d(e,"bitOr",(function(){return Ml})),t.d(e,"ceil",(function(){return pl})),t.d(e,"compareNatural",(function(){return ml})),t.d(e,"composition",(function(){return Fl})),t.d(e,"cross",(function(){return Dl})),t.d(e,"det",(function(){return Yl})),t.d(e,"dotMultiply",(function(){return fl})),t.d(e,"FibonacciHeap",(function(){return Nl})),t.d(e,"fix",(function(){return Ul})),t.d(e,"index",(function(){return yl})),t.d(e,"intersect",(function(){return xl})),t.d(e,"invmod",(function(){return Tl})),t.d(e,"lcm",(function(){return Rl})),t.d(e,"log1p",(function(){return Gl})),t.d(e,"max",(function(){return Sl})),t.d(e,"setCartesian",(function(){return Hl})),t.d(e,"setDistinct",(function(){return bl})),t.d(e,"setIsSubset",(function(){return kl})),t.d(e,"setPowerset",(function(){return Jl})),t.d(e,"smallerEq",(function(){return jl})),t.d(e,"sort",(function(){return zl})),t.d(e,"and",(function(){return vl})),t.d(e,"range",(function(){return Ll})),t.d(e,"row",(function(){return Pl})),t.d(e,"setDifference",(function(){return Ol})),t.d(e,"setMultiplicity",(function(){return Wl})),t.d(e,"setSymDifference",(function(){return Vl})),t.d(e,"Spa",(function(){return Kl})),t.d(e,"column",(function(){return Xl})),t.d(e,"inv",(function(){return Zl})),t.d(e,"lup",(function(){return _l})),t.d(e,"pinv",(function(){return ql})),t.d(e,"pow",(function(){return $l})),t.d(e,"setIntersect",(function(){return Au})),t.d(e,"setUnion",(function(){return eu})),t.d(e,"sqrtm",(function(){return tu})),t.d(e,"Unit",(function(){return nu})),t.d(e,"vacuumImpedance",(function(){return iu})),t.d(e,"wienDisplacement",(function(){return ru})),t.d(e,"atomicMass",(function(){return su})),t.d(e,"bohrMagneton",(function(){return ou})),t.d(e,"boltzmann",(function(){return au})),t.d(e,"conductanceQuantum",(function(){return Bu})),t.d(e,"coulomb",(function(){return cu})),t.d(e,"deuteronMass",(function(){return gu})),t.d(e,"dotPow",(function(){return Qu})),t.d(e,"electricConstant",(function(){return Eu})),t.d(e,"elementaryCharge",(function(){return lu})),t.d(e,"expm",(function(){return uu})),t.d(e,"faraday",(function(){return wu})),t.d(e,"fft",(function(){return hu})),t.d(e,"gamma",(function(){return Cu})),t.d(e,"gravitationConstant",(function(){return du})),t.d(e,"hartreeEnergy",(function(){return Iu})),t.d(e,"ifft",(function(){return Mu})),t.d(e,"klitzing",(function(){return pu})),t.d(e,"loschmidt",(function(){return mu})),t.d(e,"magneticConstant",(function(){return Fu})),t.d(e,"molarMass",(function(){return Du})),t.d(e,"molarPlanckConstant",(function(){return Yu})),t.d(e,"neutronMass",(function(){return fu})),t.d(e,"nuclearMagneton",(function(){return Nu})),t.d(e,"planckCharge",(function(){return Uu})),t.d(e,"planckLength",(function(){return yu})),t.d(e,"planckTemperature",(function(){return xu})),t.d(e,"protonMass",(function(){return Tu})),t.d(e,"quantumOfCirculation",(function(){return Ru})),t.d(e,"reducedPlanckConstant",(function(){return Gu})),t.d(e,"rydberg",(function(){return Su})),t.d(e,"secondRadiation",(function(){return Hu})),t.d(e,"speedOfLight",(function(){return bu})),t.d(e,"stefanBoltzmann",(function(){return ku})),t.d(e,"thomsonCrossSection",(function(){return Ju})),t.d(e,"avogadro",(function(){return ju})),t.d(e,"bohrRadius",(function(){return zu})),t.d(e,"createUnit",(function(){return vu})),t.d(e,"divide",(function(){return Lu})),t.d(e,"electronMass",(function(){return Pu})),t.d(e,"factorial",(function(){return Ou})),t.d(e,"firstRadiation",(function(){return Wu})),t.d(e,"gravity",(function(){return Vu})),t.d(e,"inverseConductanceQuantum",(function(){return Ku})),t.d(e,"lusolve",(function(){return Xu})),t.d(e,"magneticFluxQuantum",(function(){return Zu})),t.d(e,"molarMassC12",(function(){return _u})),t.d(e,"multinomial",(function(){return qu})),t.d(e,"permutations",(function(){return $u})),t.d(e,"planckMass",(function(){return Aw})),t.d(e,"polynomialRoot",(function(){return ew})),t.d(e,"setSize",(function(){return tw})),t.d(e,"solveODE",(function(){return nw})),t.d(e,"stirlingS2",(function(){return iw})),t.d(e,"unit",(function(){return rw})),t.d(e,"bellNumbers",(function(){return sw})),t.d(e,"eigs",(function(){return ow})),t.d(e,"fermiCoupling",(function(){return aw})),t.d(e,"gasConstant",(function(){return Bw})),t.d(e,"mean",(function(){return cw})),t.d(e,"molarVolume",(function(){return gw})),t.d(e,"planckConstant",(function(){return Qw})),t.d(e,"quantileSeq",(function(){return Ew})),t.d(e,"variance",(function(){return lw})),t.d(e,"classicalElectronRadius",(function(){return uw})),t.d(e,"median",(function(){return ww})),t.d(e,"corr",(function(){return hw})),t.d(e,"freqz",(function(){return Cw})),t.d(e,"mad",(function(){return dw})),t.d(e,"std",(function(){return Iw})),t.d(e,"zeta",(function(){return Mw})),t.d(e,"norm",(function(){return pw})),t.d(e,"rotationMatrix",(function(){return mw})),t.d(e,"kldivergence",(function(){return Fw})),t.d(e,"planckTime",(function(){return Dw})),t.d(e,"schur",(function(){return Yw})),t.d(e,"rotate",(function(){return fw})),t.d(e,"sylvester",(function(){return Nw})),t.d(e,"lyap",(function(){return Uw})),t.d(e,"Node",(function(){return wC})),t.d(e,"ObjectNode",(function(){return hC})),t.d(e,"OperatorNode",(function(){return CC})),t.d(e,"ParenthesisNode",(function(){return dC})),t.d(e,"RelationalNode",(function(){return IC})),t.d(e,"ArrayNode",(function(){return MC})),t.d(e,"BlockNode",(function(){return pC})),t.d(e,"ConditionalNode",(function(){return mC})),t.d(e,"ConstantNode",(function(){return FC})),t.d(e,"RangeNode",(function(){return DC})),t.d(e,"reviver",(function(){return YC})),t.d(e,"Chain",(function(){return fC})),t.d(e,"FunctionAssignmentNode",(function(){return NC})),t.d(e,"chain",(function(){return UC})),t.d(e,"IndexNode",(function(){return yC})),t.d(e,"AccessorNode",(function(){return xC})),t.d(e,"AssignmentNode",(function(){return TC})),t.d(e,"SymbolNode",(function(){return RC})),t.d(e,"FunctionNode",(function(){return GC})),t.d(e,"parse",(function(){return SC})),t.d(e,"resolve",(function(){return HC})),t.d(e,"simplifyConstant",(function(){return bC})),t.d(e,"compile",(function(){return kC})),t.d(e,"Help",(function(){return JC})),t.d(e,"leafCount",(function(){return jC})),t.d(e,"simplifyCore",(function(){return zC})),t.d(e,"evaluate",(function(){return vC})),t.d(e,"help",(function(){return LC})),t.d(e,"Parser",(function(){return PC})),t.d(e,"simplify",(function(){return OC})),t.d(e,"symbolicEqual",(function(){return WC})),t.d(e,"parser",(function(){return VC})),t.d(e,"rationalize",(function(){return KC})),t.d(e,"derivative",(function(){return XC})),t.d(e,"docs",(function(){return Rh})),t.d(e,"isAccessorNode",(function(){return U})),t.d(e,"isArray",(function(){return E})),t.d(e,"isArrayNode",(function(){return y})),t.d(e,"isAssignmentNode",(function(){return x})),t.d(e,"isBigNumber",(function(){return a})),t.d(e,"isBlockNode",(function(){return T})),t.d(e,"isBoolean",(function(){return I})),t.d(e,"isChain",(function(){return W})),t.d(e,"isCollection",(function(){return u})),t.d(e,"isComplex",(function(){return B})),t.d(e,"isConditionalNode",(function(){return R})),t.d(e,"isConstantNode",(function(){return G})),t.d(e,"isDate",(function(){return F})),t.d(e,"isDenseMatrix",(function(){return w})),t.d(e,"isFraction",(function(){return c})),t.d(e,"isFunction",(function(){return m})),t.d(e,"isFunctionAssignmentNode",(function(){return H})),t.d(e,"isFunctionNode",(function(){return b})),t.d(e,"isHelp",(function(){return p})),t.d(e,"isIndex",(function(){return d})),t.d(e,"isIndexNode",(function(){return k})),t.d(e,"isMatrix",(function(){return l})),t.d(e,"isNode",(function(){return J})),t.d(e,"isNull",(function(){return f})),t.d(e,"isNumber",(function(){return o})),t.d(e,"isString",(function(){return Q})),t.d(e,"isUndefined",(function(){return N})),t.d(e,"isObject",(function(){return Y})),t.d(e,"isObjectNode",(function(){return j})),t.d(e,"isOperatorNode",(function(){return z})),t.d(e,"isParenthesisNode",(function(){return v})),t.d(e,"isRange",(function(){return C})),t.d(e,"isRangeNode",(function(){return L})),t.d(e,"isRelationalNode",(function(){return P})),t.d(e,"isRegExp",(function(){return D})),t.d(e,"isResultSet",(function(){return M})),t.d(e,"isSparseMatrix",(function(){return h})),t.d(e,"isSymbolNode",(function(){return O})),t.d(e,"isUnit",(function(){return g})),t.d(e,"IndexError",(function(){return zA})),t.d(e,"DimensionError",(function(){return jA})),t.d(e,"ArgumentsError",(function(){return So})),t.d(e,"absDependencies",(function(){return td})),t.d(e,"AccessorNodeDependencies",(function(){return Ed})),t.d(e,"acosDependencies",(function(){return ld})),t.d(e,"acoshDependencies",(function(){return ud})),t.d(e,"acotDependencies",(function(){return wd})),t.d(e,"acothDependencies",(function(){return hd})),t.d(e,"acscDependencies",(function(){return Cd})),t.d(e,"acschDependencies",(function(){return dd})),t.d(e,"addDependencies",(function(){return cd})),t.d(e,"addScalarDependencies",(function(){return sd})),t.d(e,"andDependencies",(function(){return Md})),t.d(e,"applyDependencies",(function(){return pd})),t.d(e,"applyTransformDependencies",(function(){return md})),t.d(e,"argDependencies",(function(){return Fd})),t.d(e,"ArrayNodeDependencies",(function(){return Dd})),t.d(e,"asecDependencies",(function(){return Yd})),t.d(e,"asechDependencies",(function(){return fd})),t.d(e,"asinDependencies",(function(){return Nd})),t.d(e,"asinhDependencies",(function(){return Ud})),t.d(e,"AssignmentNodeDependencies",(function(){return yd})),t.d(e,"atanDependencies",(function(){return xd})),t.d(e,"atan2Dependencies",(function(){return Td})),t.d(e,"atanhDependencies",(function(){return Rd})),t.d(e,"atomicMassDependencies",(function(){return rI})),t.d(e,"avogadroDependencies",(function(){return sI})),t.d(e,"bellNumbersDependencies",(function(){return EI})),t.d(e,"BigNumberDependencies",(function(){return ZC})),t.d(e,"bignumberDependencies",(function(){return Gd})),t.d(e,"binDependencies",(function(){return lI})),t.d(e,"bitAndDependencies",(function(){return uI})),t.d(e,"bitNotDependencies",(function(){return wI})),t.d(e,"bitOrDependencies",(function(){return hI})),t.d(e,"bitXorDependencies",(function(){return CI})),t.d(e,"BlockNodeDependencies",(function(){return II})),t.d(e,"bohrMagnetonDependencies",(function(){return MI})),t.d(e,"bohrRadiusDependencies",(function(){return pI})),t.d(e,"boltzmannDependencies",(function(){return mI})),t.d(e,"booleanDependencies",(function(){return FI})),t.d(e,"catalanDependencies",(function(){return DI})),t.d(e,"cbrtDependencies",(function(){return YI})),t.d(e,"ceilDependencies",(function(){return zd})),t.d(e,"chainDependencies",(function(){return NI})),t.d(e,"ChainDependencies",(function(){return fI})),t.d(e,"classicalElectronRadiusDependencies",(function(){return UI})),t.d(e,"cloneDependencies",(function(){return yI})),t.d(e,"columnDependencies",(function(){return JI})),t.d(e,"columnTransformDependencies",(function(){return jI})),t.d(e,"combinationsDependencies",(function(){return aI})),t.d(e,"combinationsWithRepDependencies",(function(){return zI})),t.d(e,"compareDependencies",(function(){return vI})),t.d(e,"compareNaturalDependencies",(function(){return LI})),t.d(e,"compareTextDependencies",(function(){return PI})),t.d(e,"compileDependencies",(function(){return nM})),t.d(e,"complexDependencies",(function(){return iM})),t.d(e,"ComplexDependencies",(function(){return _C})),t.d(e,"compositionDependencies",(function(){return rM})),t.d(e,"concatDependencies",(function(){return Bd})),t.d(e,"concatTransformDependencies",(function(){return sM})),t.d(e,"ConditionalNodeDependencies",(function(){return OI})),t.d(e,"conductanceQuantumDependencies",(function(){return oM})),t.d(e,"conjDependencies",(function(){return Xd})),t.d(e,"ConstantNodeDependencies",(function(){return WI})),t.d(e,"corrDependencies",(function(){return EM})),t.d(e,"cosDependencies",(function(){return lM})),t.d(e,"coshDependencies",(function(){return uM})),t.d(e,"cotDependencies",(function(){return wM})),t.d(e,"cothDependencies",(function(){return hM})),t.d(e,"coulombDependencies",(function(){return CM})),t.d(e,"countDependencies",(function(){return IM})),t.d(e,"createUnitDependencies",(function(){return MM})),t.d(e,"crossDependencies",(function(){return pM})),t.d(e,"cscDependencies",(function(){return mM})),t.d(e,"cschDependencies",(function(){return FM})),t.d(e,"ctransposeDependencies",(function(){return YM})),t.d(e,"cubeDependencies",(function(){return fM})),t.d(e,"cumsumDependencies",(function(){return UM})),t.d(e,"cumsumTransformDependencies",(function(){return yM})),t.d(e,"deepEqualDependencies",(function(){return xM})),t.d(e,"DenseMatrixDependencies",(function(){return $C})),t.d(e,"derivativeDependencies",(function(){return HM})),t.d(e,"detDependencies",(function(){return eI})),t.d(e,"deuteronMassDependencies",(function(){return bM})),t.d(e,"diagDependencies",(function(){return kM})),t.d(e,"diffDependencies",(function(){return JM})),t.d(e,"diffTransformDependencies",(function(){return jM})),t.d(e,"distanceDependencies",(function(){return zM})),t.d(e,"divideDependencies",(function(){return aM})),t.d(e,"divideScalarDependencies",(function(){return kd})),t.d(e,"dotDependencies",(function(){return _d})),t.d(e,"dotDivideDependencies",(function(){return vM})),t.d(e,"dotMultiplyDependencies",(function(){return LM})),t.d(e,"dotPowDependencies",(function(){return PM})),t.d(e,"eDependencies",(function(){return OM})),t.d(e,"efimovFactorDependencies",(function(){return WM})),t.d(e,"eigsDependencies",(function(){return tp})),t.d(e,"electricConstantDependencies",(function(){return np})),t.d(e,"electronMassDependencies",(function(){return ip})),t.d(e,"elementaryChargeDependencies",(function(){return rp})),t.d(e,"equalDependencies",(function(){return Jd})),t.d(e,"equalScalarDependencies",(function(){return id})),t.d(e,"equalTextDependencies",(function(){return sp})),t.d(e,"erfDependencies",(function(){return op})),t.d(e,"evaluateDependencies",(function(){return ap})),t.d(e,"expDependencies",(function(){return Bp})),t.d(e,"expmDependencies",(function(){return cp})),t.d(e,"expm1Dependencies",(function(){return gp})),t.d(e,"factorialDependencies",(function(){return cI})),t.d(e,"falseDependencies",(function(){return Qp})),t.d(e,"faradayDependencies",(function(){return Ep})),t.d(e,"fermiCouplingDependencies",(function(){return lp})),t.d(e,"fftDependencies",(function(){return Cp})),t.d(e,"FibonacciHeapDependencies",(function(){return dp})),t.d(e,"filterDependencies",(function(){return Ip})),t.d(e,"filterTransformDependencies",(function(){return Mp})),t.d(e,"fineStructureDependencies",(function(){return pp})),t.d(e,"firstRadiationDependencies",(function(){return mp})),t.d(e,"fixDependencies",(function(){return Ld})),t.d(e,"flattenDependencies",(function(){return VM})),t.d(e,"floorDependencies",(function(){return vd})),t.d(e,"forEachDependencies",(function(){return Fp})),t.d(e,"forEachTransformDependencies",(function(){return Dp})),t.d(e,"formatDependencies",(function(){return Pd})),t.d(e,"fractionDependencies",(function(){return Sd})),t.d(e,"FractionDependencies",(function(){return Ad})),t.d(e,"freqzDependencies",(function(){return Yp})),t.d(e,"FunctionAssignmentNodeDependencies",(function(){return VI})),t.d(e,"FunctionNodeDependencies",(function(){return XI})),t.d(e,"gammaDependencies",(function(){return BI})),t.d(e,"gasConstantDependencies",(function(){return fp})),t.d(e,"gcdDependencies",(function(){return Np})),t.d(e,"getMatrixDataTypeDependencies",(function(){return RI})),t.d(e,"gravitationConstantDependencies",(function(){return Up})),t.d(e,"gravityDependencies",(function(){return yp})),t.d(e,"hartreeEnergyDependencies",(function(){return xp})),t.d(e,"hasNumericValueDependencies",(function(){return Tp})),t.d(e,"helpDependencies",(function(){return Gp})),t.d(e,"HelpDependencies",(function(){return Rp})),t.d(e,"hexDependencies",(function(){return Sp})),t.d(e,"hypotDependencies",(function(){return Hp})),t.d(e,"iDependencies",(function(){return up})),t.d(e,"identityDependencies",(function(){return Vd})),t.d(e,"ifftDependencies",(function(){return bp})),t.d(e,"imDependencies",(function(){return KM})),t.d(e,"ImmutableDenseMatrixDependencies",(function(){return TI})),t.d(e,"indexDependencies",(function(){return kp})),t.d(e,"IndexDependencies",(function(){return GI})),t.d(e,"IndexNodeDependencies",(function(){return ZI})),t.d(e,"indexTransformDependencies",(function(){return Jp})),t.d(e,"InfinityDependencies",(function(){return jp})),t.d(e,"intersectDependencies",(function(){return zp})),t.d(e,"invDependencies",(function(){return tI})),t.d(e,"inverseConductanceQuantumDependencies",(function(){return vp})),t.d(e,"invmodDependencies",(function(){return Op})),t.d(e,"isIntegerDependencies",(function(){return od})),t.d(e,"isNaNDependencies",(function(){return Wp})),t.d(e,"isNegativeDependencies",(function(){return oI})),t.d(e,"isNumericDependencies",(function(){return Od})),t.d(e,"isPositiveDependencies",(function(){return SI})),t.d(e,"isPrimeDependencies",(function(){return Vp})),t.d(e,"isZeroDependencies",(function(){return Kd})),t.d(e,"kldivergenceDependencies",(function(){return Zp})),t.d(e,"klitzingDependencies",(function(){return _p})),t.d(e,"kronDependencies",(function(){return qp})),t.d(e,"LN10Dependencies",(function(){return $p})),t.d(e,"LN2Dependencies",(function(){return Am})),t.d(e,"LOG10EDependencies",(function(){return em})),t.d(e,"LOG2EDependencies",(function(){return tm})),t.d(e,"largerDependencies",(function(){return gI})),t.d(e,"largerEqDependencies",(function(){return HI})),t.d(e,"lcmDependencies",(function(){return nm})),t.d(e,"leafCountDependencies",(function(){return im})),t.d(e,"leftShiftDependencies",(function(){return rm})),t.d(e,"lgammaDependencies",(function(){return sm})),t.d(e,"logDependencies",(function(){return Kp})),t.d(e,"log10Dependencies",(function(){return om})),t.d(e,"log1pDependencies",(function(){return am})),t.d(e,"log2Dependencies",(function(){return wp})),t.d(e,"loschmidtDependencies",(function(){return Bm})),t.d(e,"lsolveDependencies",(function(){return cm})),t.d(e,"lsolveAllDependencies",(function(){return gm})),t.d(e,"lupDependencies",(function(){return Em})),t.d(e,"lusolveDependencies",(function(){return um})),t.d(e,"lyapDependencies",(function(){return dm})),t.d(e,"madDependencies",(function(){return pm})),t.d(e,"magneticConstantDependencies",(function(){return mm})),t.d(e,"magneticFluxQuantumDependencies",(function(){return Fm})),t.d(e,"mapDependencies",(function(){return Xp})),t.d(e,"mapTransformDependencies",(function(){return Dm})),t.d(e,"matrixDependencies",(function(){return ad})),t.d(e,"MatrixDependencies",(function(){return qC})),t.d(e,"matrixFromColumnsDependencies",(function(){return XM})),t.d(e,"matrixFromFunctionDependencies",(function(){return Ym})),t.d(e,"matrixFromRowsDependencies",(function(){return fm})),t.d(e,"maxDependencies",(function(){return Nm})),t.d(e,"maxTransformDependencies",(function(){return Um})),t.d(e,"meanDependencies",(function(){return BM})),t.d(e,"meanTransformDependencies",(function(){return ym})),t.d(e,"medianDependencies",(function(){return Mm})),t.d(e,"minDependencies",(function(){return xm})),t.d(e,"minTransformDependencies",(function(){return Tm})),t.d(e,"modDependencies",(function(){return Lp})),t.d(e,"modeDependencies",(function(){return Rm})),t.d(e,"molarMassDependencies",(function(){return Gm})),t.d(e,"molarMassC12Dependencies",(function(){return Sm})),t.d(e,"molarPlanckConstantDependencies",(function(){return Hm})),t.d(e,"molarVolumeDependencies",(function(){return bm})),t.d(e,"multinomialDependencies",(function(){return km})),t.d(e,"multiplyDependencies",(function(){return qd})),t.d(e,"multiplyScalarDependencies",(function(){return Wd})),t.d(e,"NaNDependencies",(function(){return Jm})),t.d(e,"neutronMassDependencies",(function(){return jm})),t.d(e,"NodeDependencies",(function(){return nd})),t.d(e,"normDependencies",(function(){return wm})),t.d(e,"notDependencies",(function(){return Id})),t.d(e,"nthRootDependencies",(function(){return zm})),t.d(e,"nthRootsDependencies",(function(){return vm})),t.d(e,"nuclearMagnetonDependencies",(function(){return Lm})),t.d(e,"nullDependencies",(function(){return Pm})),t.d(e,"numberDependencies",(function(){return Hd})),t.d(e,"numericDependencies",(function(){return bd})),t.d(e,"ObjectNodeDependencies",(function(){return _I})),t.d(e,"octDependencies",(function(){return Om})),t.d(e,"onesDependencies",(function(){return Wm})),t.d(e,"OperatorNodeDependencies",(function(){return qI})),t.d(e,"orDependencies",(function(){return Vm})),t.d(e,"ParenthesisNodeDependencies",(function(){return $I})),t.d(e,"parseDependencies",(function(){return tM})),t.d(e,"parserDependencies",(function(){return Xm})),t.d(e,"ParserDependencies",(function(){return Km})),t.d(e,"partitionSelectDependencies",(function(){return Im})),t.d(e,"permutationsDependencies",(function(){return Zm})),t.d(e,"phiDependencies",(function(){return _m})),t.d(e,"piDependencies",(function(){return qm})),t.d(e,"pickRandomDependencies",(function(){return $m})),t.d(e,"pinvDependencies",(function(){return AF})),t.d(e,"planckChargeDependencies",(function(){return eF})),t.d(e,"planckConstantDependencies",(function(){return tF})),t.d(e,"planckLengthDependencies",(function(){return nF})),t.d(e,"planckMassDependencies",(function(){return iF})),t.d(e,"planckTemperatureDependencies",(function(){return rF})),t.d(e,"planckTimeDependencies",(function(){return sF})),t.d(e,"polynomialRootDependencies",(function(){return aF})),t.d(e,"powDependencies",(function(){return nI})),t.d(e,"printDependencies",(function(){return BF})),t.d(e,"printTransformDependencies",(function(){return cF})),t.d(e,"prodDependencies",(function(){return dM})),t.d(e,"protonMassDependencies",(function(){return gF})),t.d(e,"qrDependencies",(function(){return _M})),t.d(e,"quantileSeqDependencies",(function(){return QF})),t.d(e,"quantileSeqTransformDependencies",(function(){return EF})),t.d(e,"quantumOfCirculationDependencies",(function(){return lF})),t.d(e,"randomDependencies",(function(){return uF})),t.d(e,"randomIntDependencies",(function(){return wF})),t.d(e,"rangeDependencies",(function(){return kI})),t.d(e,"RangeDependencies",(function(){return hF})),t.d(e,"RangeNodeDependencies",(function(){return AM})),t.d(e,"rangeTransformDependencies",(function(){return CF})),t.d(e,"rationalizeDependencies",(function(){return dF})),t.d(e,"reDependencies",(function(){return qM})),t.d(e,"reducedPlanckConstantDependencies",(function(){return IF})),t.d(e,"RelationalNodeDependencies",(function(){return eM})),t.d(e,"replacerDependencies",(function(){return MF})),t.d(e,"reshapeDependencies",(function(){return pF})),t.d(e,"resizeDependencies",(function(){return mF})),t.d(e,"resolveDependencies",(function(){return TM})),t.d(e,"ResultSetDependencies",(function(){return dI})),t.d(e,"reviverDependencies",(function(){return FF})),t.d(e,"rightArithShiftDependencies",(function(){return DF})),t.d(e,"rightLogShiftDependencies",(function(){return YF})),t.d(e,"rotateDependencies",(function(){return NF})),t.d(e,"rotationMatrixDependencies",(function(){return fF})),t.d(e,"roundDependencies",(function(){return jd})),t.d(e,"rowDependencies",(function(){return UF})),t.d(e,"rowTransformDependencies",(function(){return yF})),t.d(e,"rydbergDependencies",(function(){return xF})),t.d(e,"SQRT1_2Dependencies",(function(){return TF})),t.d(e,"SQRT2Dependencies",(function(){return RF})),t.d(e,"sackurTetrodeDependencies",(function(){return GF})),t.d(e,"schurDependencies",(function(){return hm})),t.d(e,"secDependencies",(function(){return SF})),t.d(e,"sechDependencies",(function(){return HF})),t.d(e,"secondRadiationDependencies",(function(){return bF})),t.d(e,"setCartesianDependencies",(function(){return kF})),t.d(e,"setDifferenceDependencies",(function(){return JF})),t.d(e,"setDistinctDependencies",(function(){return jF})),t.d(e,"setIntersectDependencies",(function(){return zF})),t.d(e,"setIsSubsetDependencies",(function(){return vF})),t.d(e,"setMultiplicityDependencies",(function(){return LF})),t.d(e,"setPowersetDependencies",(function(){return PF})),t.d(e,"setSizeDependencies",(function(){return OF})),t.d(e,"setSymDifferenceDependencies",(function(){return WF})),t.d(e,"setUnionDependencies",(function(){return VF})),t.d(e,"signDependencies",(function(){return ZM})),t.d(e,"simplifyDependencies",(function(){return SM})),t.d(e,"simplifyConstantDependencies",(function(){return RM})),t.d(e,"simplifyCoreDependencies",(function(){return GM})),t.d(e,"sinDependencies",(function(){return $M})),t.d(e,"sinhDependencies",(function(){return KF})),t.d(e,"sizeDependencies",(function(){return Zd})),t.d(e,"sluDependencies",(function(){return lm})),t.d(e,"smallerDependencies",(function(){return xI})),t.d(e,"smallerEqDependencies",(function(){return bI})),t.d(e,"solveODEDependencies",(function(){return XF})),t.d(e,"sortDependencies",(function(){return ZF})),t.d(e,"SpaDependencies",(function(){return Qm})),t.d(e,"sparseDependencies",(function(){return _F})),t.d(e,"SparseMatrixDependencies",(function(){return rd})),t.d(e,"speedOfLightDependencies",(function(){return qF})),t.d(e,"splitUnitDependencies",(function(){return $F})),t.d(e,"sqrtDependencies",(function(){return cM})),t.d(e,"sqrtmDependencies",(function(){return AD})),t.d(e,"squareDependencies",(function(){return eD})),t.d(e,"squeezeDependencies",(function(){return tD})),t.d(e,"stdDependencies",(function(){return iD})),t.d(e,"stdTransformDependencies",(function(){return rD})),t.d(e,"stefanBoltzmannDependencies",(function(){return sD})),t.d(e,"stirlingS2Dependencies",(function(){return QI})),t.d(e,"stringDependencies",(function(){return oD})),t.d(e,"subsetDependencies",(function(){return Qd})),t.d(e,"subsetTransformDependencies",(function(){return aD})),t.d(e,"subtractDependencies",(function(){return gM})),t.d(e,"subtractScalarDependencies",(function(){return $d})),t.d(e,"sumDependencies",(function(){return QM})),t.d(e,"sumTransformDependencies",(function(){return BD})),t.d(e,"sylvesterDependencies",(function(){return Cm})),t.d(e,"SymbolNodeDependencies",(function(){return KI})),t.d(e,"symbolicEqualDependencies",(function(){return cD})),t.d(e,"tanDependencies",(function(){return gD})),t.d(e,"tanhDependencies",(function(){return QD})),t.d(e,"tauDependencies",(function(){return hp})),t.d(e,"thomsonCrossSectionDependencies",(function(){return ED})),t.d(e,"toDependencies",(function(){return lD})),t.d(e,"traceDependencies",(function(){return uD})),t.d(e,"transposeDependencies",(function(){return DM})),t.d(e,"trueDependencies",(function(){return wD})),t.d(e,"typeOfDependencies",(function(){return oF})),t.d(e,"typedDependencies",(function(){return ed})),t.d(e,"unaryMinusDependencies",(function(){return AI})),t.d(e,"unaryPlusDependencies",(function(){return NM})),t.d(e,"unequalDependencies",(function(){return hD})),t.d(e,"UnitDependencies",(function(){return iI})),t.d(e,"unitDependencies",(function(){return CD})),t.d(e,"EDependencies",(function(){return dD})),t.d(e,"PIDependencies",(function(){return ID})),t.d(e,"usolveDependencies",(function(){return Ap})),t.d(e,"usolveAllDependencies",(function(){return ep})),t.d(e,"vacuumImpedanceDependencies",(function(){return MD})),t.d(e,"varianceDependencies",(function(){return nD})),t.d(e,"varianceTransformDependencies",(function(){return pD})),t.d(e,"versionDependencies",(function(){return mD})),t.d(e,"weakMixingAngleDependencies",(function(){return FD})),t.d(e,"wienDisplacementDependencies",(function(){return DD})),t.d(e,"xgcdDependencies",(function(){return Pp})),t.d(e,"xorDependencies",(function(){return YD})),t.d(e,"zerosDependencies",(function(){return gd})),t.d(e,"zetaDependencies",(function(){return fD})),t.d(e,"zpk2tfDependencies",(function(){return ND})),t.d(e,"all",(function(){return UD})),t.d(e,"createTyped",(function(){return In})),t.d(e,"createResultSet",(function(){return en})),t.d(e,"createBigNumberClass",(function(){return he})),t.d(e,"createComplexClass",(function(){return Ie})),t.d(e,"createFractionClass",(function(){return qt})),t.d(e,"createRangeClass",(function(){return An})),t.d(e,"createMatrixClass",(function(){return $t})),t.d(e,"createDenseMatrixClass",(function(){return tn})),t.d(e,"createClone",(function(){return vi})),t.d(e,"createIsInteger",(function(){return Ir})),t.d(e,"createIsNegative",(function(){return Dr})),t.d(e,"createIsNumeric",(function(){return Ss})),t.d(e,"createHasNumericValue",(function(){return ho})),t.d(e,"createIsPositive",(function(){return Yr})),t.d(e,"createIsZero",(function(){return fr})),t.d(e,"createIsNaN",(function(){return ms})),t.d(e,"createTypeOf",(function(){return Qs})),t.d(e,"createEqualScalar",(function(){return tr})),t.d(e,"createSparseMatrixClass",(function(){return ss})),t.d(e,"createNumber",(function(){return Pr})),t.d(e,"createString",(function(){return Bs})),t.d(e,"createBoolean",(function(){return zi})),t.d(e,"createBignumber",(function(){return mi})),t.d(e,"createComplex",(function(){return Vi})),t.d(e,"createFraction",(function(){return Gs})),t.d(e,"createMatrix",(function(){return Hs})),t.d(e,"createMatrixFromFunction",(function(){return bs})),t.d(e,"createMatrixFromRows",(function(){return Ua})),t.d(e,"createMatrixFromColumns",(function(){return yo})),t.d(e,"createSplitUnit",(function(){return os})),t.d(e,"createUnaryMinus",(function(){return xs})),t.d(e,"createUnaryPlus",(function(){return Zn})),t.d(e,"createAbs",(function(){return _n})),t.d(e,"createApply",(function(){return us})),t.d(e,"createAddScalar",(function(){return hi})),t.d(e,"createSubtractScalar",(function(){return cs})),t.d(e,"createCbrt",(function(){return qs})),t.d(e,"createCeil",(function(){return oB})),t.d(e,"createCube",(function(){return $i})),t.d(e,"createExp",(function(){return Br})),t.d(e,"createExpm1",(function(){return cr})),t.d(e,"createFix",(function(){return CB})),t.d(e,"createFloor",(function(){return la})),t.d(e,"createGcd",(function(){return Ia})),t.d(e,"createLcm",(function(){return pB})),t.d(e,"createLog10",(function(){return Gr})),t.d(e,"createLog2",(function(){return Sr})),t.d(e,"createMod",(function(){return ua})),t.d(e,"createMultiplyScalar",(function(){return kr})),t.d(e,"createMultiply",(function(){return xa})),t.d(e,"createNthRoot",(function(){return To})),t.d(e,"createSign",(function(){return is})),t.d(e,"createSqrt",(function(){return Us})),t.d(e,"createSquare",(function(){return as})),t.d(e,"createSubtract",(function(){return Lo})),t.d(e,"createXgcd",(function(){return Xs})),t.d(e,"createInvmod",(function(){return MB})),t.d(e,"createDotMultiply",(function(){return lB})),t.d(e,"createBitAnd",(function(){return $o})),t.d(e,"createBitNot",(function(){return ji})),t.d(e,"createBitOr",(function(){return iB})),t.d(e,"createBitXor",(function(){return Aa}));t.d(e,"createArg",(function(){return Ci})),t.d(e,"createConj",(function(){return Ki})),t.d(e,"createIm",(function(){return dr})),t.d(e,"createRe",(function(){return ts})),t.d(e,"createNot",(function(){return Lr})),t.d(e,"createOr",(function(){return Ra})),t.d(e,"createXor",(function(){return Ko})),t.d(e,"createConcat",(function(){return $s})),t.d(e,"createColumn",(function(){return JB})),t.d(e,"createCount",(function(){return Ao})),t.d(e,"createCross",(function(){return QB})),t.d(e,"createDiag",(function(){return to})),t.d(e,"createFilter",(function(){return Qr})),t.d(e,"createFlatten",(function(){return wo})),t.d(e,"createForEach",(function(){return lr})),t.d(e,"createGetMatrixDataType",(function(){return hr})),t.d(e,"createIdentity",(function(){return Co})),t.d(e,"createKron",(function(){return Io})),t.d(e,"createMap",(function(){return Hr})),t.d(e,"createDiff",(function(){return aa})),t.d(e,"createOnes",(function(){return Ro})),t.d(e,"createRange",(function(){return RB})),t.d(e,"createReshape",(function(){return Os})),t.d(e,"createResize",(function(){return Ho})),t.d(e,"createRotate",(function(){return Kc})),t.d(e,"createRotationMatrix",(function(){return vc})),t.d(e,"createRow",(function(){return GB})),t.d(e,"createSize",(function(){return Ws})),t.d(e,"createSqueeze",(function(){return Vs})),t.d(e,"createSubset",(function(){return Xa})),t.d(e,"createTranspose",(function(){return Ks})),t.d(e,"createCtranspose",(function(){return eo})),t.d(e,"createZeros",(function(){return Zs})),t.d(e,"createFft",(function(){return Ac})),t.d(e,"createIfft",(function(){return tc})),t.d(e,"createSolveODE",(function(){return lc})),t.d(e,"createErf",(function(){return nr})),t.d(e,"createZeta",(function(){return kc})),t.d(e,"createMode",(function(){return ks})),t.d(e,"createProd",(function(){return Ps})),t.d(e,"createFormat",(function(){return wr})),t.d(e,"createBin",(function(){return Cs})),t.d(e,"createOct",(function(){return Or})),t.d(e,"createHex",(function(){return Cr})),t.d(e,"createPrint",(function(){return qr})),t.d(e,"createTo",(function(){return Po})),t.d(e,"createIsPrime",(function(){return Fs})),t.d(e,"createNumeric",(function(){return vs})),t.d(e,"createDivideScalar",(function(){return no})),t.d(e,"createPow",(function(){return LB})),t.d(e,"createRound",(function(){return Jo})),t.d(e,"createLog",(function(){return fa})),t.d(e,"createLog1p",(function(){return mB})),t.d(e,"createNthRoots",(function(){return Ta})),t.d(e,"createDotPow",(function(){return qB})),t.d(e,"createDotDivide",(function(){return Eo})),t.d(e,"createLsolve",(function(){return Uo})),t.d(e,"createUsolve",(function(){return Vo})),t.d(e,"createLsolveAll",(function(){return Na})),t.d(e,"createUsolveAll",(function(){return tB})),t.d(e,"createLeftShift",(function(){return fo})),t.d(e,"createRightArithShift",(function(){return bo})),t.d(e,"createRightLogShift",(function(){return Sa})),t.d(e,"createAnd",(function(){return TB})),t.d(e,"createCompare",(function(){return ta})),t.d(e,"createCompareNatural",(function(){return cB})),t.d(e,"createCompareText",(function(){return ra})),t.d(e,"createEqual",(function(){return lo})),t.d(e,"createEqualText",(function(){return ga})),t.d(e,"createSmaller",(function(){return jo})),t.d(e,"createSmallerEq",(function(){return UB})),t.d(e,"createLarger",(function(){return Da})),t.d(e,"createLargerEq",(function(){return Mo})),t.d(e,"createDeepEqual",(function(){return oa})),t.d(e,"createUnequal",(function(){return Oo})),t.d(e,"createPartitionSelect",(function(){return Ga})),t.d(e,"createSort",(function(){return xB})),t.d(e,"createMax",(function(){return FB})),t.d(e,"createMin",(function(){return ya})),t.d(e,"createImmutableDenseMatrixClass",(function(){return pa})),t.d(e,"createIndexClass",(function(){return ma})),t.d(e,"createFibonacciHeapClass",(function(){return uB})),t.d(e,"createSpaClass",(function(){return kB})),t.d(e,"createUnitClass",(function(){return _B})),t.d(e,"createUnitFunction",(function(){return wc})),t.d(e,"createSparse",(function(){return Ns})),t.d(e,"createCreateUnit",(function(){return nc})),t.d(e,"createAcos",(function(){return qn})),t.d(e,"createAcosh",(function(){return Es})),t.d(e,"createAcot",(function(){return ui})),t.d(e,"createAcoth",(function(){return Ts})),t.d(e,"createAcsc",(function(){return wi})),t.d(e,"createAcsch",(function(){return ls})),t.d(e,"createAsec",(function(){return hs})),t.d(e,"createAsech",(function(){return di})),t.d(e,"createAsin",(function(){return _s})),t.d(e,"createAsinh",(function(){return Ii})),t.d(e,"createAtan",(function(){return Mi})),t.d(e,"createAtan2",(function(){return qo})),t.d(e,"createAtanh",(function(){return pi})),t.d(e,"createCos",(function(){return Zi})),t.d(e,"createCosh",(function(){return Ms})),t.d(e,"createCot",(function(){return _i})),t.d(e,"createCoth",(function(){return Rs})),t.d(e,"createCsc",(function(){return qi})),t.d(e,"createCsch",(function(){return ps})),t.d(e,"createSec",(function(){return ns})),t.d(e,"createSech",(function(){return Ys})),t.d(e,"createSin",(function(){return rs})),t.d(e,"createSinh",(function(){return fs})),t.d(e,"createTan",(function(){return gs})),t.d(e,"createTanh",(function(){return ys})),t.d(e,"createSetCartesian",(function(){return DB})),t.d(e,"createSetDifference",(function(){return SB})),t.d(e,"createSetDistinct",(function(){return YB})),t.d(e,"createSetIntersect",(function(){return PB})),t.d(e,"createSetIsSubset",(function(){return fB})),t.d(e,"createSetMultiplicity",(function(){return HB})),t.d(e,"createSetPowerset",(function(){return NB})),t.d(e,"createSetSize",(function(){return Qc})),t.d(e,"createSetSymDifference",(function(){return bB})),t.d(e,"createSetUnion",(function(){return OB})),t.d(e,"createAdd",(function(){return Zo})),t.d(e,"createHypot",(function(){return Ma})),t.d(e,"createNorm",(function(){return jc})),t.d(e,"createDot",(function(){return ca})),t.d(e,"createTrace",(function(){return eB})),t.d(e,"createIndex",(function(){return dB})),t.d(e,"createNode",(function(){return xw})),t.d(e,"createAccessorNode",(function(){return ah})),t.d(e,"createArrayNode",(function(){return Zw})),t.d(e,"createAssignmentNode",(function(){return Bh})),t.d(e,"createBlockNode",(function(){return _w})),t.d(e,"createConditionalNode",(function(){return qw})),t.d(e,"createConstantNode",(function(){return $w})),t.d(e,"createFunctionAssignmentNode",(function(){return nh})),t.d(e,"createIndexNode",(function(){return rh})),t.d(e,"createObjectNode",(function(){return Tw})),t.d(e,"createOperatorNode",(function(){return Vw})),t.d(e,"createParenthesisNode",(function(){return Kw})),t.d(e,"createRangeNode",(function(){return Ah})),t.d(e,"createRelationalNode",(function(){return Xw})),t.d(e,"createSymbolNode",(function(){return ch})),t.d(e,"createFunctionNode",(function(){return Qh})),t.d(e,"createParse",(function(){return Eh})),t.d(e,"createCompile",(function(){return ph})),t.d(e,"createEvaluate",(function(){return yh})),t.d(e,"createParserClass",(function(){return Sh})),t.d(e,"createParser",(function(){return jh})),t.d(e,"createLup",(function(){return zB})),t.d(e,"createQr",(function(){return Go})),t.d(e,"createSlu",(function(){return Ka})),t.d(e,"createLusolve",(function(){return oc})),t.d(e,"createPolynomialRoot",(function(){return gc})),t.d(e,"createHelpClass",(function(){return Fh})),t.d(e,"createChainClass",(function(){return th})),t.d(e,"createHelp",(function(){return Gh})),t.d(e,"createChain",(function(){return ih})),t.d(e,"createDet",(function(){return EB})),t.d(e,"createInv",(function(){return jB})),t.d(e,"createPinv",(function(){return vB})),t.d(e,"createEigs",(function(){return Ic})),t.d(e,"createExpm",(function(){return $B})),t.d(e,"createSqrtm",(function(){return WB})),t.d(e,"createSylvester",(function(){return Zc})),t.d(e,"createSchur",(function(){return Wc})),t.d(e,"createLyap",(function(){return qc})),t.d(e,"createDivide",(function(){return ic})),t.d(e,"createDistance",(function(){return Ba})),t.d(e,"createIntersect",(function(){return IB})),t.d(e,"createSum",(function(){return AB})),t.d(e,"createCumSum",(function(){return sa})),t.d(e,"createMean",(function(){return pc})),t.d(e,"createMedian",(function(){return Nc})),t.d(e,"createMad",(function(){return Gc})),t.d(e,"createVariance",(function(){return Yc})),t.d(e,"createQuantileSeq",(function(){return Fc})),t.d(e,"createStd",(function(){return Hc})),t.d(e,"createCorr",(function(){return yc})),t.d(e,"createCombinations",(function(){return Oi})),t.d(e,"createCombinationsWithRep",(function(){return ds})),t.d(e,"createGamma",(function(){return ec})),t.d(e,"createLgamma",(function(){return Rr})),t.d(e,"createFactorial",(function(){return rc})),t.d(e,"createKldivergence",(function(){return Pc})),t.d(e,"createMultinomial",(function(){return ac})),t.d(e,"createPermutations",(function(){return Bc})),t.d(e,"createPickRandom",(function(){return Zr})),t.d(e,"createRandom",(function(){return es})),t.d(e,"createRandomInt",(function(){return Ds})),t.d(e,"createStirlingS2",(function(){return uc})),t.d(e,"createBellNumbers",(function(){return hc})),t.d(e,"createCatalan",(function(){return ea})),t.d(e,"createComposition",(function(){return gB})),t.d(e,"createLeafCount",(function(){return Yh})),t.d(e,"createSimplify",(function(){return kh})),t.d(e,"createSimplifyConstant",(function(){return Ih})),t.d(e,"createSimplifyCore",(function(){return Nh})),t.d(e,"createResolve",(function(){return lh})),t.d(e,"createSymbolicEqual",(function(){return Jh})),t.d(e,"createDerivative",(function(){return vh})),t.d(e,"createRationalize",(function(){return zh})),t.d(e,"createZpk2tf",(function(){return nB})),t.d(e,"createFreqz",(function(){return Tc})),t.d(e,"createReviver",(function(){return eh})),t.d(e,"createReplacer",(function(){return nn})),t.d(e,"createE",(function(){return Je})),t.d(e,"createUppercaseE",(function(){return Xe})),t.d(e,"createFalse",(function(){return Re})),t.d(e,"createI",(function(){return Ve})),t.d(e,"createInfinity",(function(){return Se})),t.d(e,"createLN10",(function(){return ve})),t.d(e,"createLN2",(function(){return ze})),t.d(e,"createLOG10E",(function(){return Pe})),t.d(e,"createLOG2E",(function(){return Le})),t.d(e,"createNaN",(function(){return He})),t.d(e,"createNull",(function(){return Ge})),t.d(e,"createPhi",(function(){return je})),t.d(e,"createPi",(function(){return be})),t.d(e,"createUppercasePi",(function(){return Ke})),t.d(e,"createSQRT1_2",(function(){return Oe})),t.d(e,"createSQRT2",(function(){return We})),t.d(e,"createTau",(function(){return ke})),t.d(e,"createTrue",(function(){return Te})),t.d(e,"createVersion",(function(){return Ze})),t.d(e,"createAtomicMass",(function(){return ft})),t.d(e,"createAvogadro",(function(){return Nt})),t.d(e,"createBohrMagneton",(function(){return ot})),t.d(e,"createBohrRadius",(function(){return Et})),t.d(e,"createBoltzmann",(function(){return Ut})),t.d(e,"createClassicalElectronRadius",(function(){return lt})),t.d(e,"createConductanceQuantum",(function(){return at})),t.d(e,"createCoulomb",(function(){return rt})),t.d(e,"createDeuteronMass",(function(){return It})),t.d(e,"createEfimovFactor",(function(){return Yt})),t.d(e,"createElectricConstant",(function(){return nt})),t.d(e,"createElectronMass",(function(){return ut})),t.d(e,"createElementaryCharge",(function(){return st})),t.d(e,"createFaraday",(function(){return yt})),t.d(e,"createFermiCoupling",(function(){return wt})),t.d(e,"createFineStructure",(function(){return ht})),t.d(e,"createFirstRadiation",(function(){return xt})),t.d(e,"createGasConstant",(function(){return Rt})),t.d(e,"createGravitationConstant",(function(){return $e})),t.d(e,"createGravity",(function(){return vt})),t.d(e,"createHartreeEnergy",(function(){return Ct})),t.d(e,"createInverseConductanceQuantum",(function(){return Bt})),t.d(e,"createKlitzing",(function(){return Qt})),t.d(e,"createLoschmidt",(function(){return Tt})),t.d(e,"createMagneticConstant",(function(){return tt})),t.d(e,"createMagneticFluxQuantum",(function(){return ct})),t.d(e,"createMolarMass",(function(){return jt})),t.d(e,"createMolarMassC12",(function(){return zt})),t.d(e,"createMolarPlanckConstant",(function(){return Gt})),t.d(e,"createMolarVolume",(function(){return St})),t.d(e,"createNeutronMass",(function(){return Mt})),t.d(e,"createNuclearMagneton",(function(){return gt})),t.d(e,"createPlanckCharge",(function(){return Wt})),t.d(e,"createPlanckConstant",(function(){return At})),t.d(e,"createPlanckLength",(function(){return Lt})),t.d(e,"createPlanckMass",(function(){return Pt})),t.d(e,"createPlanckTemperature",(function(){return Vt})),t.d(e,"createPlanckTime",(function(){return Ot})),t.d(e,"createProtonMass",(function(){return dt})),t.d(e,"createQuantumOfCirculation",(function(){return pt})),t.d(e,"createReducedPlanckConstant",(function(){return et})),t.d(e,"createRydberg",(function(){return mt})),t.d(e,"createSackurTetrode",(function(){return Ht})),t.d(e,"createSecondRadiation",(function(){return bt})),t.d(e,"createSpeedOfLight",(function(){return qe})),t.d(e,"createStefanBoltzmann",(function(){return kt})),t.d(e,"createThomsonCrossSection",(function(){return Ft})),t.d(e,"createVacuumImpedance",(function(){return it})),t.d(e,"createWeakMixingAngle",(function(){return Dt})),t.d(e,"createWienDisplacement",(function(){return Jt})),t.d(e,"createApplyTransform",(function(){return Xh})),t.d(e,"createColumnTransform",(function(){return aC})),t.d(e,"createFilterTransform",(function(){return Ph})),t.d(e,"createForEachTransform",(function(){return Wh})),t.d(e,"createIndexTransform",(function(){return iC})),t.d(e,"createMapTransform",(function(){return Vh})),t.d(e,"createMaxTransform",(function(){return qh})),t.d(e,"createMeanTransform",(function(){return BC})),t.d(e,"createMinTransform",(function(){return eC})),t.d(e,"createRangeTransform",(function(){return sC})),t.d(e,"createRowTransform",(function(){return oC})),t.d(e,"createSubsetTransform",(function(){return tC})),t.d(e,"createConcatTransform",(function(){return Zh})),t.d(e,"createDiffTransform",(function(){return AC})),t.d(e,"createStdTransform",(function(){return QC})),t.d(e,"createSumTransform",(function(){return rC})),t.d(e,"createQuantileSeqTransform",(function(){return cC})),t.d(e,"createCumSumTransform",(function(){return nC})),t.d(e,"createVarianceTransform",(function(){return gC})),t.d(e,"createPrintTransform",(function(){return $h})),t.d(e,"create",(function(){return RD})),t.d(e,"factory",(function(){return le}));var n={};t.r(n),t.d(n,"createTyped",(function(){return In})),t.d(n,"createResultSet",(function(){return en})),t.d(n,"createBigNumberClass",(function(){return he})),t.d(n,"createComplexClass",(function(){return Ie})),t.d(n,"createFractionClass",(function(){return qt})),t.d(n,"createRangeClass",(function(){return An})),t.d(n,"createMatrixClass",(function(){return $t})),t.d(n,"createDenseMatrixClass",(function(){return tn})),t.d(n,"createClone",(function(){return vi})),t.d(n,"createIsInteger",(function(){return Ir})),t.d(n,"createIsNegative",(function(){return Dr})),t.d(n,"createIsNumeric",(function(){return Ss})),t.d(n,"createHasNumericValue",(function(){return ho})),t.d(n,"createIsPositive",(function(){return Yr})),t.d(n,"createIsZero",(function(){return fr})),t.d(n,"createIsNaN",(function(){return ms})),t.d(n,"createTypeOf",(function(){return Qs})),t.d(n,"createEqualScalar",(function(){return tr})),t.d(n,"createSparseMatrixClass",(function(){return ss})),t.d(n,"createNumber",(function(){return Pr})),t.d(n,"createString",(function(){return Bs})),t.d(n,"createBoolean",(function(){return zi})),t.d(n,"createBignumber",(function(){return mi})),t.d(n,"createComplex",(function(){return Vi})),t.d(n,"createFraction",(function(){return Gs})),t.d(n,"createMatrix",(function(){return Hs})),t.d(n,"createMatrixFromFunction",(function(){return bs})),t.d(n,"createMatrixFromRows",(function(){return Ua})),t.d(n,"createMatrixFromColumns",(function(){return yo})),t.d(n,"createSplitUnit",(function(){return os})),t.d(n,"createUnaryMinus",(function(){return xs})),t.d(n,"createUnaryPlus",(function(){return Zn})),t.d(n,"createAbs",(function(){return _n})),t.d(n,"createApply",(function(){return us})),t.d(n,"createAddScalar",(function(){return hi})),t.d(n,"createSubtractScalar",(function(){return cs})),t.d(n,"createCbrt",(function(){return qs})),t.d(n,"createCeil",(function(){return oB})),t.d(n,"createCube",(function(){return $i})),t.d(n,"createExp",(function(){return Br})),t.d(n,"createExpm1",(function(){return cr})),t.d(n,"createFix",(function(){return CB})),t.d(n,"createFloor",(function(){return la})),t.d(n,"createGcd",(function(){return Ia})),t.d(n,"createLcm",(function(){return pB})),t.d(n,"createLog10",(function(){return Gr})),t.d(n,"createLog2",(function(){return Sr})),t.d(n,"createMod",(function(){return ua})),t.d(n,"createMultiplyScalar",(function(){return kr})),t.d(n,"createMultiply",(function(){return xa})),t.d(n,"createNthRoot",(function(){return To})),t.d(n,"createSign",(function(){return is})),t.d(n,"createSqrt",(function(){return Us})),t.d(n,"createSquare",(function(){return as})),t.d(n,"createSubtract",(function(){return Lo})),t.d(n,"createXgcd",(function(){return Xs})),t.d(n,"createInvmod",(function(){return MB})),t.d(n,"createDotMultiply",(function(){return lB})),t.d(n,"createBitAnd",(function(){return $o})),t.d(n,"createBitNot",(function(){return ji})),t.d(n,"createBitOr",(function(){return iB})),t.d(n,"createBitXor",(function(){return Aa})),t.d(n,"createArg",(function(){return Ci})),t.d(n,"createConj",(function(){return Ki})),t.d(n,"createIm",(function(){return dr})),t.d(n,"createRe",(function(){return ts})),t.d(n,"createNot",(function(){return Lr})),t.d(n,"createOr",(function(){return Ra})),t.d(n,"createXor",(function(){return Ko})),t.d(n,"createConcat",(function(){return $s})),t.d(n,"createColumn",(function(){return JB})),t.d(n,"createCount",(function(){return Ao})),t.d(n,"createCross",(function(){return QB})),t.d(n,"createDiag",(function(){return to})),t.d(n,"createFilter",(function(){return Qr})),t.d(n,"createFlatten",(function(){return wo})),t.d(n,"createForEach",(function(){return lr})),t.d(n,"createGetMatrixDataType",(function(){return hr})),t.d(n,"createIdentity",(function(){return Co})),t.d(n,"createKron",(function(){return Io})),t.d(n,"createMap",(function(){return Hr})),t.d(n,"createDiff",(function(){return aa})),t.d(n,"createOnes",(function(){return Ro})),t.d(n,"createRange",(function(){return RB})),t.d(n,"createReshape",(function(){return Os})),t.d(n,"createResize",(function(){return Ho})),t.d(n,"createRotate",(function(){return Kc})),t.d(n,"createRotationMatrix",(function(){return vc})),t.d(n,"createRow",(function(){return GB})),t.d(n,"createSize",(function(){return Ws})),t.d(n,"createSqueeze",(function(){return Vs})),t.d(n,"createSubset",(function(){return Xa})),t.d(n,"createTranspose",(function(){return Ks})),t.d(n,"createCtranspose",(function(){return eo})),t.d(n,"createZeros",(function(){return Zs})),t.d(n,"createFft",(function(){return Ac})),t.d(n,"createIfft",(function(){return tc})),t.d(n,"createSolveODE",(function(){return lc})),t.d(n,"createErf",(function(){return nr})),t.d(n,"createZeta",(function(){return kc})),t.d(n,"createMode",(function(){return ks})),t.d(n,"createProd",(function(){return Ps})),t.d(n,"createFormat",(function(){return wr})),t.d(n,"createBin",(function(){return Cs})),t.d(n,"createOct",(function(){return Or})),t.d(n,"createHex",(function(){return Cr})),t.d(n,"createPrint",(function(){return qr})),t.d(n,"createTo",(function(){return Po})),t.d(n,"createIsPrime",(function(){return Fs})),t.d(n,"createNumeric",(function(){return vs})),t.d(n,"createDivideScalar",(function(){return no})),t.d(n,"createPow",(function(){return LB})),t.d(n,"createRound",(function(){return Jo})),t.d(n,"createLog",(function(){return fa})),t.d(n,"createLog1p",(function(){return mB})),t.d(n,"createNthRoots",(function(){return Ta})),t.d(n,"createDotPow",(function(){return qB})),t.d(n,"createDotDivide",(function(){return Eo})),t.d(n,"createLsolve",(function(){return Uo})),t.d(n,"createUsolve",(function(){return Vo})),t.d(n,"createLsolveAll",(function(){return Na})),t.d(n,"createUsolveAll",(function(){return tB})),t.d(n,"createLeftShift",(function(){return fo})),t.d(n,"createRightArithShift",(function(){return bo})),t.d(n,"createRightLogShift",(function(){return Sa})),t.d(n,"createAnd",(function(){return TB})),t.d(n,"createCompare",(function(){return ta})),t.d(n,"createCompareNatural",(function(){return cB})),t.d(n,"createCompareText",(function(){return ra})),t.d(n,"createEqual",(function(){return lo})),t.d(n,"createEqualText",(function(){return ga})),t.d(n,"createSmaller",(function(){return jo})),t.d(n,"createSmallerEq",(function(){return UB})),t.d(n,"createLarger",(function(){return Da})),t.d(n,"createLargerEq",(function(){return Mo})),t.d(n,"createDeepEqual",(function(){return oa})),t.d(n,"createUnequal",(function(){return Oo})),t.d(n,"createPartitionSelect",(function(){return Ga})),t.d(n,"createSort",(function(){return xB})),t.d(n,"createMax",(function(){return FB})),t.d(n,"createMin",(function(){return ya})),t.d(n,"createImmutableDenseMatrixClass",(function(){return pa})),t.d(n,"createIndexClass",(function(){return ma})),t.d(n,"createFibonacciHeapClass",(function(){return uB})),t.d(n,"createSpaClass",(function(){return kB})),t.d(n,"createUnitClass",(function(){return _B})),t.d(n,"createUnitFunction",(function(){return wc})),t.d(n,"createSparse",(function(){return Ns})),t.d(n,"createCreateUnit",(function(){return nc})),t.d(n,"createAcos",(function(){return qn})),t.d(n,"createAcosh",(function(){return Es})),t.d(n,"createAcot",(function(){return ui})),t.d(n,"createAcoth",(function(){return Ts})),t.d(n,"createAcsc",(function(){return wi})),t.d(n,"createAcsch",(function(){return ls})),t.d(n,"createAsec",(function(){return hs})),t.d(n,"createAsech",(function(){return di})),t.d(n,"createAsin",(function(){return _s})),t.d(n,"createAsinh",(function(){return Ii})),t.d(n,"createAtan",(function(){return Mi})),t.d(n,"createAtan2",(function(){return qo})),t.d(n,"createAtanh",(function(){return pi})),t.d(n,"createCos",(function(){return Zi})),t.d(n,"createCosh",(function(){return Ms})),t.d(n,"createCot",(function(){return _i})),t.d(n,"createCoth",(function(){return Rs})),t.d(n,"createCsc",(function(){return qi})),t.d(n,"createCsch",(function(){return ps})),t.d(n,"createSec",(function(){return ns})),t.d(n,"createSech",(function(){return Ys})),t.d(n,"createSin",(function(){return rs})),t.d(n,"createSinh",(function(){return fs})),t.d(n,"createTan",(function(){return gs})),t.d(n,"createTanh",(function(){return ys})),t.d(n,"createSetCartesian",(function(){return DB})),t.d(n,"createSetDifference",(function(){return SB})),t.d(n,"createSetDistinct",(function(){return YB})),t.d(n,"createSetIntersect",(function(){return PB})),t.d(n,"createSetIsSubset",(function(){return fB})),t.d(n,"createSetMultiplicity",(function(){return HB})),t.d(n,"createSetPowerset",(function(){return NB})),t.d(n,"createSetSize",(function(){return Qc})),t.d(n,"createSetSymDifference",(function(){return bB})),t.d(n,"createSetUnion",(function(){return OB})),t.d(n,"createAdd",(function(){return Zo})),t.d(n,"createHypot",(function(){return Ma})),t.d(n,"createNorm",(function(){return jc})),t.d(n,"createDot",(function(){return ca})),t.d(n,"createTrace",(function(){return eB})),t.d(n,"createIndex",(function(){return dB})),t.d(n,"createNode",(function(){return xw})),t.d(n,"createAccessorNode",(function(){return ah})),t.d(n,"createArrayNode",(function(){return Zw})),t.d(n,"createAssignmentNode",(function(){return Bh})),t.d(n,"createBlockNode",(function(){return _w})),t.d(n,"createConditionalNode",(function(){return qw})),t.d(n,"createConstantNode",(function(){return $w})),t.d(n,"createFunctionAssignmentNode",(function(){return nh})),t.d(n,"createIndexNode",(function(){return rh})),t.d(n,"createObjectNode",(function(){return Tw})),t.d(n,"createOperatorNode",(function(){return Vw})),t.d(n,"createParenthesisNode",(function(){return Kw})),t.d(n,"createRangeNode",(function(){return Ah})),t.d(n,"createRelationalNode",(function(){return Xw})),t.d(n,"createSymbolNode",(function(){return ch})),t.d(n,"createFunctionNode",(function(){return Qh})),t.d(n,"createParse",(function(){return Eh})),t.d(n,"createCompile",(function(){return ph})),t.d(n,"createEvaluate",(function(){return yh})),t.d(n,"createParserClass",(function(){return Sh})),t.d(n,"createParser",(function(){return jh})),t.d(n,"createLup",(function(){return zB})),t.d(n,"createQr",(function(){return Go})),t.d(n,"createSlu",(function(){return Ka})),t.d(n,"createLusolve",(function(){return oc})),t.d(n,"createPolynomialRoot",(function(){return gc})),t.d(n,"createHelpClass",(function(){return Fh})),t.d(n,"createChainClass",(function(){return th})),t.d(n,"createHelp",(function(){return Gh})),t.d(n,"createChain",(function(){return ih})),t.d(n,"createDet",(function(){return EB})),t.d(n,"createInv",(function(){return jB})),t.d(n,"createPinv",(function(){return vB})),t.d(n,"createEigs",(function(){return Ic})),t.d(n,"createExpm",(function(){return $B})),t.d(n,"createSqrtm",(function(){return WB})),t.d(n,"createSylvester",(function(){return Zc})),t.d(n,"createSchur",(function(){return Wc})),t.d(n,"createLyap",(function(){return qc})),t.d(n,"createDivide",(function(){return ic})),t.d(n,"createDistance",(function(){return Ba})),t.d(n,"createIntersect",(function(){return IB})),t.d(n,"createSum",(function(){return AB})),t.d(n,"createCumSum",(function(){return sa})),t.d(n,"createMean",(function(){return pc})),t.d(n,"createMedian",(function(){return Nc})),t.d(n,"createMad",(function(){return Gc})),t.d(n,"createVariance",(function(){return Yc})),t.d(n,"createQuantileSeq",(function(){return Fc})),t.d(n,"createStd",(function(){return Hc})),t.d(n,"createCorr",(function(){return yc})),t.d(n,"createCombinations",(function(){return Oi})),t.d(n,"createCombinationsWithRep",(function(){return ds})),t.d(n,"createGamma",(function(){return ec})),t.d(n,"createLgamma",(function(){return Rr})),t.d(n,"createFactorial",(function(){return rc})),t.d(n,"createKldivergence",(function(){return Pc})),t.d(n,"createMultinomial",(function(){return ac})),t.d(n,"createPermutations",(function(){return Bc})),t.d(n,"createPickRandom",(function(){return Zr})),t.d(n,"createRandom",(function(){return es})),t.d(n,"createRandomInt",(function(){return Ds})),t.d(n,"createStirlingS2",(function(){return uc})),t.d(n,"createBellNumbers",(function(){return hc})),t.d(n,"createCatalan",(function(){return ea})),t.d(n,"createComposition",(function(){return gB})),t.d(n,"createLeafCount",(function(){return Yh})),t.d(n,"createSimplify",(function(){return kh})),t.d(n,"createSimplifyConstant",(function(){return Ih})),t.d(n,"createSimplifyCore",(function(){return Nh})),t.d(n,"createResolve",(function(){return lh})),t.d(n,"createSymbolicEqual",(function(){return Jh})),t.d(n,"createDerivative",(function(){return vh})),t.d(n,"createRationalize",(function(){return zh})),t.d(n,"createZpk2tf",(function(){return nB})),t.d(n,"createFreqz",(function(){return Tc})),t.d(n,"createReviver",(function(){return eh})),t.d(n,"createReplacer",(function(){return nn})),t.d(n,"createE",(function(){return Je})),t.d(n,"createUppercaseE",(function(){return Xe})),t.d(n,"createFalse",(function(){return Re})),t.d(n,"createI",(function(){return Ve})),t.d(n,"createInfinity",(function(){return Se})),t.d(n,"createLN10",(function(){return ve})),t.d(n,"createLN2",(function(){return ze})),t.d(n,"createLOG10E",(function(){return Pe})),t.d(n,"createLOG2E",(function(){return Le})),t.d(n,"createNaN",(function(){return He})),t.d(n,"createNull",(function(){return Ge})),t.d(n,"createPhi",(function(){return je})),t.d(n,"createPi",(function(){return be})),t.d(n,"createUppercasePi",(function(){return Ke})),t.d(n,"createSQRT1_2",(function(){return Oe})),t.d(n,"createSQRT2",(function(){return We})),t.d(n,"createTau",(function(){return ke})),t.d(n,"createTrue",(function(){return Te})),t.d(n,"createVersion",(function(){return Ze})),t.d(n,"createAtomicMass",(function(){return ft})),t.d(n,"createAvogadro",(function(){return Nt})),t.d(n,"createBohrMagneton",(function(){return ot})),t.d(n,"createBohrRadius",(function(){return Et})),t.d(n,"createBoltzmann",(function(){return Ut})),t.d(n,"createClassicalElectronRadius",(function(){return lt})),t.d(n,"createConductanceQuantum",(function(){return at})),t.d(n,"createCoulomb",(function(){return rt})),t.d(n,"createDeuteronMass",(function(){return It})),t.d(n,"createEfimovFactor",(function(){return Yt})),t.d(n,"createElectricConstant",(function(){return nt})),t.d(n,"createElectronMass",(function(){return ut})),t.d(n,"createElementaryCharge",(function(){return st})),t.d(n,"createFaraday",(function(){return yt})),t.d(n,"createFermiCoupling",(function(){return wt})),t.d(n,"createFineStructure",(function(){return ht})),t.d(n,"createFirstRadiation",(function(){return xt})),t.d(n,"createGasConstant",(function(){return Rt})),t.d(n,"createGravitationConstant",(function(){return $e})),t.d(n,"createGravity",(function(){return vt})),t.d(n,"createHartreeEnergy",(function(){return Ct})),t.d(n,"createInverseConductanceQuantum",(function(){return Bt})),t.d(n,"createKlitzing",(function(){return Qt})),t.d(n,"createLoschmidt",(function(){return Tt})),t.d(n,"createMagneticConstant",(function(){return tt})),t.d(n,"createMagneticFluxQuantum",(function(){return ct})),t.d(n,"createMolarMass",(function(){return jt})),t.d(n,"createMolarMassC12",(function(){return zt})),t.d(n,"createMolarPlanckConstant",(function(){return Gt})),t.d(n,"createMolarVolume",(function(){return St})),t.d(n,"createNeutronMass",(function(){return Mt})),t.d(n,"createNuclearMagneton",(function(){return gt})),t.d(n,"createPlanckCharge",(function(){return Wt})),t.d(n,"createPlanckConstant",(function(){return At})),t.d(n,"createPlanckLength",(function(){return Lt})),t.d(n,"createPlanckMass",(function(){return Pt})),t.d(n,"createPlanckTemperature",(function(){return Vt})),t.d(n,"createPlanckTime",(function(){return Ot})),t.d(n,"createProtonMass",(function(){return dt})),t.d(n,"createQuantumOfCirculation",(function(){return pt})),t.d(n,"createReducedPlanckConstant",(function(){return et})),t.d(n,"createRydberg",(function(){return mt})),t.d(n,"createSackurTetrode",(function(){return Ht})),t.d(n,"createSecondRadiation",(function(){return bt})),t.d(n,"createSpeedOfLight",(function(){return qe})),t.d(n,"createStefanBoltzmann",(function(){return kt})),t.d(n,"createThomsonCrossSection",(function(){return Ft})),t.d(n,"createVacuumImpedance",(function(){return it})),t.d(n,"createWeakMixingAngle",(function(){return Dt})),t.d(n,"createWienDisplacement",(function(){return Jt})),t.d(n,"createApplyTransform",(function(){return Xh})),t.d(n,"createColumnTransform",(function(){return aC})),t.d(n,"createFilterTransform",(function(){return Ph})),t.d(n,"createForEachTransform",(function(){return Wh})),t.d(n,"createIndexTransform",(function(){return iC})),t.d(n,"createMapTransform",(function(){return Vh})),t.d(n,"createMaxTransform",(function(){return qh})),t.d(n,"createMeanTransform",(function(){return BC})),t.d(n,"createMinTransform",(function(){return eC})),t.d(n,"createRangeTransform",(function(){return sC})),t.d(n,"createRowTransform",(function(){return oC})),t.d(n,"createSubsetTransform",(function(){return tC})),t.d(n,"createConcatTransform",(function(){return Zh})),t.d(n,"createDiffTransform",(function(){return AC})),t.d(n,"createStdTransform",(function(){return QC})),t.d(n,"createSumTransform",(function(){return rC})),t.d(n,"createQuantileSeqTransform",(function(){return cC})),t.d(n,"createCumSumTransform",(function(){return nC})),t.d(n,"createVarianceTransform",(function(){return gC})),t.d(n,"createPrintTransform",(function(){return $h}));var i=t(9),r=t.n(i),s={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function o(A){return"number"==typeof A}function a(A){return!(!A||"object"!=typeof A||"function"!=typeof A.constructor)&&(!0===A.isBigNumber&&"object"==typeof A.constructor.prototype&&!0===A.constructor.prototype.isBigNumber||"function"==typeof A.constructor.isDecimal&&!0===A.constructor.isDecimal(A))}function B(A){return A&&"object"==typeof A&&!0===Object.getPrototypeOf(A).isComplex||!1}function c(A){return A&&"object"==typeof A&&!0===Object.getPrototypeOf(A).isFraction||!1}function g(A){return A&&!0===A.constructor.prototype.isUnit||!1}function Q(A){return"string"==typeof A}var E=Array.isArray;function l(A){return A&&!0===A.constructor.prototype.isMatrix||!1}function u(A){return Array.isArray(A)||l(A)}function w(A){return A&&A.isDenseMatrix&&!0===A.constructor.prototype.isMatrix||!1}function h(A){return A&&A.isSparseMatrix&&!0===A.constructor.prototype.isMatrix||!1}function C(A){return A&&!0===A.constructor.prototype.isRange||!1}function d(A){return A&&!0===A.constructor.prototype.isIndex||!1}function I(A){return"boolean"==typeof A}function M(A){return A&&!0===A.constructor.prototype.isResultSet||!1}function p(A){return A&&!0===A.constructor.prototype.isHelp||!1}function m(A){return"function"==typeof A}function F(A){return A instanceof Date}function D(A){return A instanceof RegExp}function Y(A){return!(!A||"object"!=typeof A||A.constructor!==Object||B(A)||c(A))}function f(A){return null===A}function N(A){return void 0===A}function U(A){return A&&!0===A.isAccessorNode&&!0===A.constructor.prototype.isNode||!1}function y(A){return A&&!0===A.isArrayNode&&!0===A.constructor.prototype.isNode||!1}function x(A){return A&&!0===A.isAssignmentNode&&!0===A.constructor.prototype.isNode||!1}function T(A){return A&&!0===A.isBlockNode&&!0===A.constructor.prototype.isNode||!1}function R(A){return A&&!0===A.isConditionalNode&&!0===A.constructor.prototype.isNode||!1}function G(A){return A&&!0===A.isConstantNode&&!0===A.constructor.prototype.isNode||!1}function S(A){return G(A)||z(A)&&1===A.args.length&&G(A.args[0])&&"-+~".includes(A.op)}function H(A){return A&&!0===A.isFunctionAssignmentNode&&!0===A.constructor.prototype.isNode||!1}function b(A){return A&&!0===A.isFunctionNode&&!0===A.constructor.prototype.isNode||!1}function k(A){return A&&!0===A.isIndexNode&&!0===A.constructor.prototype.isNode||!1}function J(A){return A&&!0===A.isNode&&!0===A.constructor.prototype.isNode||!1}function j(A){return A&&!0===A.isObjectNode&&!0===A.constructor.prototype.isNode||!1}function z(A){return A&&!0===A.isOperatorNode&&!0===A.constructor.prototype.isNode||!1}function v(A){return A&&!0===A.isParenthesisNode&&!0===A.constructor.prototype.isNode||!1}function L(A){return A&&!0===A.isRangeNode&&!0===A.constructor.prototype.isNode||!1}function P(A){return A&&!0===A.isRelationalNode&&!0===A.constructor.prototype.isNode||!1}function O(A){return A&&!0===A.isSymbolNode&&!0===A.constructor.prototype.isNode||!1}function W(A){return A&&!0===A.constructor.prototype.isChain||!1}function V(A){var e=typeof A;return"object"===e?null===A?"null":a(A)?"BigNumber":A.constructor&&A.constructor.name?A.constructor.name:"Object":e}function K(A){var e=typeof A;if("number"===e||"string"===e||"boolean"===e||null==A)return A;if("function"==typeof A.clone)return A.clone();if(Array.isArray(A))return A.map((function(A){return K(A)}));if(A instanceof Date)return new Date(A.valueOf());if(a(A))return A;if(Y(A))return X(A,K);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(A,")"))}function X(A,e){var t={};for(var n in A)AA(A,n)&&(t[n]=e(A[n]));return t}function Z(A,e){for(var t in e)AA(e,t)&&(A[t]=e[t]);return A}function _(A,e){var t,n,i;if(Array.isArray(A)){if(!Array.isArray(e))return!1;if(A.length!==e.length)return!1;for(n=0,i=A.length;n<i;n++)if(!_(A[n],e[n]))return!1;return!0}if("function"==typeof A)return A===e;if(A instanceof Object){if(Array.isArray(e)||!(e instanceof Object))return!1;for(t in A)if(!(t in e)||!_(A[t],e[t]))return!1;for(t in e)if(!(t in A))return!1;return!0}return A===e}function q(A){var e={};return function A(e,t){for(var n in e)if(AA(e,n)){var i=e[n];"object"==typeof i&&null!==i?A(i,t):t[n]=i}}(A,e),e}function $(A,e,t){var n,i=!0;Object.defineProperty(A,e,{get:function(){return i&&(n=t(),i=!1),n},set:function(A){n=A,i=!1},configurable:!0,enumerable:!0})}function AA(A,e){return A&&Object.hasOwnProperty.call(A,e)}function eA(A){return Object.keys(A).map(e=>A[e])}var tA=["Matrix","Array"],nA=["number","BigNumber","Fraction"];function iA(A,e){function t(t){if(t){var n=X(A,K);rA(t,"matrix",tA),rA(t,"number",nA),function A(e,t){if(Array.isArray(t))throw new TypeError("Arrays are not supported by deepExtend");for(var n in t)if(AA(t,n)&&!(n in Object.prototype)&&!(n in Function.prototype))if(t[n]&&t[n].constructor===Object)void 0===e[n]&&(e[n]={}),e[n]&&e[n].constructor===Object?A(e[n],t[n]):e[n]=t[n];else{if(Array.isArray(t[n]))throw new TypeError("Arrays are not supported by deepExtend");e[n]=t[n]}return e}(A,t);var i=X(A,K),r=X(t,K);return e("config",i,n,r),i}return X(A,K)}return t.MATRIX_OPTIONS=tA,t.NUMBER_OPTIONS=nA,Object.keys(s).forEach(e=>{Object.defineProperty(t,e,{get:()=>A[e],enumerable:!0,configurable:!0})}),t}function rA(A,e,t){var n,i;void 0!==A[e]&&(n=t,i=A[e],-1===n.indexOf(i))&&console.warn('Warning: Unknown value "'+A[e]+'" for configuration option "'+e+'". Available options: '+t.map(A=>JSON.stringify(A)).join(", ")+".")}var sA=function(A){if(A)throw new Error("The global config is readonly. \nPlease create a mathjs instance if you want to change the default configuration. \nExample:\n\n import { create, all } from 'mathjs';\n const mathjs = create(all);\n mathjs.config({ number: 'BigNumber' });\n");return Object.freeze(s)};r()(sA,s,{MATRIX_OPTIONS:tA,NUMBER_OPTIONS:nA});var oA=t(35),aA=t.n(oA);function BA(A){return"boolean"==typeof A||!!isFinite(A)&&A===Math.round(A)}var cA=Math.sign||function(A){return A>0?1:A<0?-1:0},gA=Math.log2||function(A){return Math.log(A)/Math.LN2},QA=Math.log10||function(A){return Math.log(A)/Math.LN10},EA=Math.log1p||function(A){return Math.log(A+1)},lA=Math.cbrt||function(A){if(0===A)return A;var e,t=A<0;return t&&(A=-A),e=isFinite(A)?(A/((e=Math.exp(Math.log(A)/3))*e)+2*e)/3:A,t?-e:e},uA=Math.expm1||function(A){return A>=2e-4||A<=-2e-4?Math.exp(A)-1:A+A*A/2+A*A*A/6};function wA(A,e,t){var n={2:"0b",8:"0o",16:"0x"}[e],i="";if(t){if(t<1)throw new Error("size must be in greater than 0");if(!BA(t))throw new Error("size must be an integer");if(A>2**(t-1)-1||A<-(2**(t-1)))throw new Error("Value must be in range [-2^".concat(t-1,", 2^").concat(t-1,"-1]"));if(!BA(A))throw new Error("Value must be an integer");A<0&&(A+=2**t),i="i".concat(t)}var r="";return A<0&&(A=-A,r="-"),"".concat(r).concat(n).concat(A.toString(e)).concat(i)}function hA(A,e){if("function"==typeof e)return e(A);if(A===1/0)return"Infinity";if(A===-1/0)return"-Infinity";if(isNaN(A))return"NaN";var t,n,i="auto";if(e&&(e.notation&&(i=e.notation),o(e)?t=e:o(e.precision)&&(t=e.precision),e.wordSize&&"number"!=typeof(n=e.wordSize)))throw new Error('Option "wordSize" must be a number');switch(i){case"fixed":return dA(A,t);case"exponential":return IA(A,t);case"engineering":return function(A,e){if(isNaN(A)||!isFinite(A))return String(A);var t=MA(CA(A),e),n=t.exponent,i=t.coefficients,r=n%3==0?n:n<0?n-3-n%3:n-n%3;if(o(e))for(;e>i.length||n-r+1>i.length;)i.push(0);else for(var s=Math.abs(n-r)-(i.length-1),a=0;a<s;a++)i.push(0);var B=Math.abs(n-r),c=1;for(;B>0;)c++,B--;var g=i.slice(c).join(""),Q=o(e)&&g.length||g.match(/[1-9]/)?"."+g:"",E=i.slice(0,c).join("")+Q+"e"+(n>=0?"+":"")+r.toString();return t.sign+E}(A,t);case"bin":return wA(A,2,n);case"oct":return wA(A,8,n);case"hex":return wA(A,16,n);case"auto":return function(A,e,t){if(isNaN(A)||!isFinite(A))return String(A);var n=t&&void 0!==t.lowerExp?t.lowerExp:-3,i=t&&void 0!==t.upperExp?t.upperExp:5,r=CA(A),s=e?MA(r,e):r;if(s.exponent<n||s.exponent>=i)return IA(A,e);var o=s.coefficients,a=s.exponent;o.length<e&&(o=o.concat(pA(e-o.length))),o=o.concat(pA(a-o.length+1+(o.length<e?e-o.length:0))),o=pA(-a).concat(o);var B=a>0?a:0;return B<o.length-1&&o.splice(B+1,0,"."),s.sign+o.join("")}(A,t,e&&e).replace(/((\.\d*?)(0+))($|e)/,(function(){var A=arguments[2],e=arguments[4];return"."!==A?A+e:e}));default:throw new Error('Unknown notation "'+i+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function CA(A){var e=String(A).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!e)throw new SyntaxError("Invalid number "+A);var t=e[1],n=e[2],i=parseFloat(e[4]||"0"),r=n.indexOf(".");i+=-1!==r?r-1:n.length-1;var s=n.replace(".","").replace(/^0*/,(function(A){return i-=A.length,""})).replace(/0*$/,"").split("").map((function(A){return parseInt(A)}));return 0===s.length&&(s.push(0),i++),{sign:t,coefficients:s,exponent:i}}function dA(A,e){if(isNaN(A)||!isFinite(A))return String(A);var t=CA(A),n="number"==typeof e?MA(t,t.exponent+1+e):t,i=n.coefficients,r=n.exponent+1,s=r+(e||0);return i.length<s&&(i=i.concat(pA(s-i.length))),r<0&&(i=pA(1-r).concat(i),r=1),r<i.length&&i.splice(r,0,0===r?"0.":"."),n.sign+i.join("")}function IA(A,e){if(isNaN(A)||!isFinite(A))return String(A);var t=CA(A),n=e?MA(t,e):t,i=n.coefficients,r=n.exponent;i.length<e&&(i=i.concat(pA(e-i.length)));var s=i.shift();return n.sign+s+(i.length>0?"."+i.join(""):"")+"e"+(r>=0?"+":"")+r}function MA(A,e){for(var t={sign:A.sign,coefficients:A.coefficients,exponent:A.exponent},n=t.coefficients;e<=0;)n.unshift(0),t.exponent++,e++;if(n.length>e&&n.splice(e,n.length-e)[0]>=5){var i=e-1;for(n[i]++;10===n[i];)n.pop(),0===i&&(n.unshift(0),t.exponent++,i++),n[--i]++}return t}function pA(A){for(var e=[],t=0;t<A;t++)e.push(0);return e}var mA=Number.EPSILON||2220446049250313e-31;function FA(A,e,t){if(null==t)return A===e;if(A===e)return!0;if(isNaN(A)||isNaN(e))return!1;if(isFinite(A)&&isFinite(e)){var n=Math.abs(A-e);return n<mA||n<=Math.max(Math.abs(A),Math.abs(e))*t}return!1}var DA=Math.acosh||function(A){return Math.log(Math.sqrt(A*A-1)+A)},YA=Math.asinh||function(A){return Math.log(Math.sqrt(A*A+1)+A)},fA=Math.atanh||function(A){return Math.log((1+A)/(1-A))/2},NA=Math.cosh||function(A){return(Math.exp(A)+Math.exp(-A))/2},UA=Math.sinh||function(A){return(Math.exp(A)-Math.exp(-A))/2},yA=Math.tanh||function(A){var e=Math.exp(2*A);return(e-1)/(e+1)};function xA(A,e,t){var n=new(0,A.constructor)(2),i="";if(t){if(t<1)throw new Error("size must be in greater than 0");if(!BA(t))throw new Error("size must be an integer");if(A.greaterThan(n.pow(t-1).sub(1))||A.lessThan(n.pow(t-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(t-1,", 2^").concat(t-1,"-1]"));if(!A.isInteger())throw new Error("Value must be an integer");A.lessThan(0)&&(A=A.add(n.pow(t))),i="i".concat(t)}switch(e){case 2:return"".concat(A.toBinary()).concat(i);case 8:return"".concat(A.toOctal()).concat(i);case 16:return"".concat(A.toHexadecimal()).concat(i);default:throw new Error("Base ".concat(e," not supported "))}}function TA(A,e){if("function"==typeof e)return e(A);if(!A.isFinite())return A.isNaN()?"NaN":A.gt(0)?"Infinity":"-Infinity";var t,n,i="auto";if(void 0!==e&&(e.notation&&(i=e.notation),"number"==typeof e?t=e:void 0!==e.precision&&(t=e.precision),e.wordSize&&"number"!=typeof(n=e.wordSize)))throw new Error('Option "wordSize" must be a number');switch(i){case"fixed":return function(A,e){return A.toFixed(e)}(A,t);case"exponential":return RA(A,t);case"engineering":return function(A,e){var t=A.e,n=t%3==0?t:t<0?t-3-t%3:t-t%3,i=A.mul(Math.pow(10,-n)).toPrecision(e);if(-1!==i.indexOf("e")){var r=A.constructor;i=new r(i).toFixed()}return i+"e"+(t>=0?"+":"")+n.toString()}(A,t);case"bin":return xA(A,2,n);case"oct":return xA(A,8,n);case"hex":return xA(A,16,n);case"auto":var r=e&&void 0!==e.lowerExp?e.lowerExp:-3,s=e&&void 0!==e.upperExp?e.upperExp:5;if(A.isZero())return"0";var o=A.toSignificantDigits(t),a=o.e;return(a>=r&&a<s?o.toFixed():RA(A,t)).replace(/((\.\d*?)(0+))($|e)/,(function(){var A=arguments[2],e=arguments[4];return"."!==A?A+e:e}));default:throw new Error('Unknown notation "'+i+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function RA(A,e){return void 0!==e?A.toExponential(e-1):A.toExponential()}function GA(A,e){var t=A.length-e.length,n=A.length;return A.substring(t,n)===e}function SA(A,e){var t=function(A,e){if("number"==typeof A)return hA(A,e);if(a(A))return TA(A,e);if(function(A){return A&&"object"==typeof A&&"number"==typeof A.s&&"number"==typeof A.n&&"number"==typeof A.d||!1}(A))return e&&"decimal"===e.fraction?A.toString():A.s*A.n+"/"+A.d;if(Array.isArray(A))return function A(e,t){if(Array.isArray(e)){for(var n="[",i=e.length,r=0;r<i;r++)0!==r&&(n+=", "),n+=A(e[r],t);return n+="]"}return SA(e,t)}(A,e);if(Q(A))return HA(A);if("function"==typeof A)return A.syntax?String(A.syntax):"function";if(A&&"object"==typeof A){return"function"==typeof A.format?A.format(e):A&&A.toString(e)!=={}.toString()?A.toString(e):"{"+Object.keys(A).map(t=>HA(t)+": "+SA(A[t],e)).join(", ")+"}"}return String(A)}(A,e);return e&&"object"==typeof e&&"truncate"in e&&t.length>e.truncate?t.substring(0,e.truncate-3)+"...":t}function HA(A){for(var e=String(A),t="",n=0;n<e.length;){var i=e.charAt(n);t+=i in bA?bA[i]:i,n++}return'"'+t+'"'}var bA={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};function kA(A){var e=String(A);return e=e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function JA(A,e){if(!Q(A))throw new TypeError("Unexpected type of argument in function compareText (expected: string or Array or Matrix, actual: "+V(A)+", index: 0)");if(!Q(e))throw new TypeError("Unexpected type of argument in function compareText (expected: string or Array or Matrix, actual: "+V(e)+", index: 1)");return A===e?0:A>e?1:-1}function jA(A,e,t){if(!(this instanceof jA))throw new SyntaxError("Constructor must be called with the new operator");this.actual=A,this.expected=e,this.relation=t,this.message="Dimension mismatch ("+(Array.isArray(A)?"["+A.join(", ")+"]":A)+" "+(this.relation||"!=")+" "+(Array.isArray(e)?"["+e.join(", ")+"]":e)+")",this.stack=(new Error).stack}function zA(A,e,t){if(!(this instanceof zA))throw new SyntaxError("Constructor must be called with the new operator");this.index=A,arguments.length<3?(this.min=0,this.max=e):(this.min=e,this.max=t),void 0!==this.min&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":void 0!==this.max&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=(new Error).stack}function vA(A){for(var e=[];Array.isArray(A);)e.push(A.length),A=A[0];return e}function LA(A,e){if(0===e.length){if(Array.isArray(A))throw new jA(A.length,0)}else!function A(e,t,n){var i,r=e.length;if(r!==t[n])throw new jA(r,t[n]);if(n<t.length-1){var s=n+1;for(i=0;i<r;i++){var o=e[i];if(!Array.isArray(o))throw new jA(t.length-1,t.length,"<");A(e[i],t,s)}}else for(i=0;i<r;i++)if(Array.isArray(e[i]))throw new jA(t.length+1,t.length,">")}(A,e,0)}function PA(A,e){var t=A.isMatrix?A._size:vA(A);e._sourceSize.forEach((A,e)=>{if(null!==A&&A!==t[e])throw new jA(A,t[e])})}function OA(A,e){if(void 0!==A){if(!o(A)||!BA(A))throw new TypeError("Index must be an integer (value: "+A+")");if(A<0||"number"==typeof e&&A>=e)throw new zA(A,e)}}function WA(A){for(var e=0;e<A._dimensions.length;++e){var t=A._dimensions[e];if(t._data&&E(t._data)){if(0===t._size[0])return!0}else if(t.isRange){if(t.start===t.end)return!0}else if(Q(t)&&0===t.length)return!0}return!1}function VA(A,e,t){if(!Array.isArray(e))throw new TypeError("Array expected");if(0===e.length)throw new Error("Resizing to scalar is not supported");return e.forEach((function(A){if(!o(A)||!BA(A)||A<0)throw new TypeError("Invalid size, must contain positive integers (size: "+SA(e)+")")})),(o(A)||a(A))&&(A=[A]),function A(e,t,n,i){var r,s,o=e.length,a=t[n],B=Math.min(o,a);if(e.length=a,n<t.length-1){var c=n+1;for(r=0;r<B;r++)s=e[r],Array.isArray(s)||(s=[s],e[r]=s),A(s,t,c,i);for(r=B;r<a;r++)s=[],e[r]=s,A(s,t,c,i)}else{for(r=0;r<B;r++)for(;Array.isArray(e[r]);)e[r]=e[r][0];for(r=B;r<a;r++)e[r]=i}}(A,e,0,void 0!==t?t:0),A}function KA(A,e){var t=$A(A),n=t.length;if(!Array.isArray(A)||!Array.isArray(e))throw new TypeError("Array expected");if(0===e.length)throw new jA(0,n,"!=");var i=ZA(e=XA(e,n));if(n!==i)throw new jA(i,n,"!=");try{return function(A,e){for(var t,n=A,i=e.length-1;i>0;i--){var r=e[i];t=[];for(var s=n.length/r,o=0;o<s;o++)t.push(n.slice(o*r,(o+1)*r));n=t}return n}(t,e)}catch(A){if(A instanceof jA)throw new jA(i,n,"!=");throw A}}function XA(A,e){var t=ZA(A),n=A.slice(),i=A.indexOf(-1);if(A.indexOf(-1,i+1)>=0)throw new Error("More than one wildcard in sizes");if(i>=0){if(!(e%t==0))throw new Error("Could not replace wildcard, since "+e+" is no multiple of "+-t);n[i]=-e/t}return n}function ZA(A){return A.reduce((A,e)=>A*e,1)}function _A(A,e){for(var t=e||vA(A);Array.isArray(A)&&1===A.length;)A=A[0],t.shift();for(var n=t.length;1===t[n-1];)n--;return n<t.length&&(A=function A(e,t,n){var i,r;if(n<t){var s=n+1;for(i=0,r=e.length;i<r;i++)e[i]=A(e[i],t,s)}else for(;Array.isArray(e);)e=e[0];return e}(A,n,0),t.length=n),A}function qA(A,e,t,n){var i=n||vA(A);if(t)for(var r=0;r<t;r++)A=[A],i.unshift(1);for(A=function A(e,t,n){var i,r;if(Array.isArray(e)){var s=n+1;for(i=0,r=e.length;i<r;i++)e[i]=A(e[i],t,s)}else for(var o=n;o<t;o++)e=[e];return e}(A,e,0);i.length<e;)i.push(1);return A}function $A(A){if(!Array.isArray(A))return A;var e=[];return A.forEach((function A(t){Array.isArray(t)?t.forEach(A):e.push(t)})),e}function Ae(A,e){return Array.prototype.map.call(A,e)}function ee(A,e){Array.prototype.forEach.call(A,e)}function te(A,e){if(1!==vA(A).length)throw new Error("Only one dimensional matrices supported");return Array.prototype.filter.call(A,e)}function ne(A,e){if(1!==vA(A).length)throw new Error("Only one dimensional matrices supported");return Array.prototype.filter.call(A,A=>e.test(A))}function ie(A,e){return Array.prototype.join.call(A,e)}function re(A){if(!Array.isArray(A))throw new TypeError("Array input expected");if(0===A.length)return A;var e=[],t=0;e[0]={value:A[0],identifier:0};for(var n=1;n<A.length;n++)A[n]===A[n-1]?t++:t=0,e.push({value:A[n],identifier:t});return e}function se(A){if(!Array.isArray(A))throw new TypeError("Array input expected");if(0===A.length)return A;for(var e=[],t=0;t<A.length;t++)e.push(A[t].value);return e}function oe(A,e){for(var t,n=0,i=0;i<A.length;i++){var r=A[i],s=Array.isArray(r);if(0===i&&s&&(n=r.length),s&&r.length!==n)return;var o=s?oe(r,e):e(r);if(void 0===t)t=o;else if(t!==o)return"mixed"}return t}function ae(A,e){return-1!==A.indexOf(e)}function Be(A,e,t,n){if(n<t){if(A.length!==e.length)throw new jA(A.length,e.length);for(var i=[],r=0;r<A.length;r++)i[r]=Be(A[r],e[r],t,n+1);return i}return A.concat(e)}function ce(){var A=Array.prototype.slice.call(arguments,0,-1),e=Array.prototype.slice.call(arguments,-1);if(1===A.length)return A[0];if(A.length>1)return A.slice(1).reduce((function(A,t){return Be(A,t,e,0)}),A[0]);throw new Error("Wrong number of arguments in function concat")}function ge(){for(var A=arguments.length,e=new Array(A),t=0;t<A;t++)e[t]=arguments[t];for(var n=e.map(A=>A.length),i=Math.max(...n),r=new Array(i).fill(null),s=0;s<e.length;s++)for(var o=e[s],a=n[s],B=0;B<a;B++){var c=i-a+B;o[B]>r[c]&&(r[c]=o[B])}for(var g=0;g<e.length;g++)Qe(e[g],r);return r}function Qe(A,e){for(var t=e.length,n=A.length,i=0;i<n;i++){var r=t-n+i;if(A[i]<e[r]&&A[i]>1||A[i]>e[r])throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(A,") not possible to broadcast dimension ").concat(n," with size ").concat(A[i]," to size ").concat(e[r]))}}function Ee(A,e){var t=vA(A);if(_(t,e))return A;Qe(t,e);var n,i,s,o=ge(t,e),a=o.length,B=[...Array(a-t.length).fill(1),...t],c=function(A){return r()([],A)}(A);t.length<a&&(t=vA(c=KA(c,B)));for(var g=0;g<a;g++)t[g]<o[g]&&(n=c,i=o[g],s=g,t=vA(c=ce(...Array(i).fill(n),s)));return c}function le(A,e,t,n){function i(n){var i=function(A,e){for(var t={},n=0;n<e.length;n++){var i=e[n],r=A[i];void 0!==r&&(t[i]=r)}return t}(n,e.map(we));return function(A,e,t){if(!e.filter(A=>!function(A){return A&&"?"===A[0]}(A)).every(A=>void 0!==t[A])){var n=e.filter(A=>void 0===t[A]);throw new Error('Cannot create function "'.concat(A,'", ')+"some dependencies are missing: ".concat(n.map(A=>'"'.concat(A,'"')).join(", "),"."))}}(A,e,n),t(i)}return i.isFactory=!0,i.fn=A,i.dependencies=e.slice().sort(),n&&(i.meta=n),i}function ue(A){return"function"==typeof A&&"string"==typeof A.fn&&Array.isArray(A.dependencies)}function we(A){return A&&"?"===A[0]?A.slice(1):A}jA.prototype=new RangeError,jA.prototype.constructor=RangeError,jA.prototype.name="DimensionError",jA.prototype.isDimensionError=!0,zA.prototype=new RangeError,zA.prototype.constructor=RangeError,zA.prototype.name="IndexError",zA.prototype.isIndexError=!0;var he=le("BigNumber",["?on","config"],A=>{var{on:e,config:t}=A,n=aA.a.clone({precision:t.precision,modulo:aA.a.EUCLID});return n.prototype=Object.create(n.prototype),n.prototype.type="BigNumber",n.prototype.isBigNumber=!0,n.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},n.fromJSON=function(A){return new n(A.value)},e&&e("config",(function(A,e){A.precision!==e.precision&&n.config({precision:A.precision})})),n},{isClass:!0}),Ce=t(12),de=t.n(Ce),Ie=le("Complex",[],()=>(Object.defineProperty(de.a,"name",{value:"Complex"}),de.a.prototype.constructor=de.a,de.a.prototype.type="Complex",de.a.prototype.isComplex=!0,de.a.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},de.a.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},de.a.prototype.format=function(A){var e=this.im,t=this.re,n=hA(this.re,A),i=hA(this.im,A),r=o(A)?A:A?A.precision:null;if(null!==r){var s=Math.pow(10,-r);Math.abs(t/e)<s&&(t=0),Math.abs(e/t)<s&&(e=0)}return 0===e?n:0===t?1===e?"i":-1===e?"-i":i+"i":e<0?-1===e?n+" - i":n+" - "+i.substring(1)+"i":1===e?n+" + i":n+" + "+i+"i"},de.a.fromPolar=function(A){switch(arguments.length){case 1:var e=arguments[0];if("object"==typeof e)return de()(e);throw new TypeError("Input has to be an object with r and phi keys.");case 2:var t=arguments[0],n=arguments[1];if(o(t)){if(g(n)&&n.hasBase("ANGLE")&&(n=n.toNumber("rad")),o(n))return new de.a({r:t,phi:n});throw new TypeError("Phi is not a number nor an angle unit.")}throw new TypeError("Radius r is not a number.");default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},de.a.prototype.valueOf=de.a.prototype.toString,de.a.fromJSON=function(A){return new de.a(A)},de.a.compare=function(A,e){return A.re>e.re?1:A.re<e.re?-1:A.im>e.im?1:A.im<e.im?-1:0},de.a),{isClass:!0});function Me(A){var e=0,t=1,n=Object.create(null),i=Object.create(null),r=0,s=function(A){var s=i[A];if(s&&(delete n[s],delete i[A],--e,t===s)){if(!e)return r=0,void(t=1);for(;!Object.prototype.hasOwnProperty.call(n,++t););}};return A=Math.abs(A),{hit:function(o){var a=i[o],B=++r;if(n[B]=o,i[o]=B,!a){if(++e<=A)return;return o=n[t],s(o),o}if(delete n[a],t===a)for(;!Object.prototype.hasOwnProperty.call(n,++t););},delete:s,clear:function(){e=r=0,t=1,n=Object.create(null),i=Object.create(null)}}}function pe(A){var{hasher:e,limit:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t=null==t?Number.POSITIVE_INFINITY:t,e=null==e?JSON.stringify:e,function n(){"object"!=typeof n.cache&&(n.cache={values:new Map,lru:Me(t||Number.POSITIVE_INFINITY)});for(var i=[],r=0;r<arguments.length;r++)i[r]=arguments[r];var s=e(i);if(n.cache.values.has(s))return n.cache.lru.hit(s),n.cache.values.get(s);var o=A.apply(A,i);return n.cache.values.set(s,o),n.cache.values.delete(n.cache.lru.hit(s)),o}}function me(A){return Object.keys(A.signatures||{}).reduce((function(A,e){var t=(e.match(/,/g)||[]).length+1;return Math.max(A,t)}),-1)}var Fe=pe((function(A){return new A(1).exp()}),{hasher:Ne}),De=pe((function(A){return new A(1).plus(new A(5).sqrt()).div(2)}),{hasher:Ne}),Ye=pe((function(A){return A.acos(-1)}),{hasher:Ne}),fe=pe((function(A){return Ye(A).times(2)}),{hasher:Ne});function Ne(A){return A[0].precision}var Ue=Math.PI,ye=2*Math.PI,xe=Math.E,Te=le("true",[],()=>!0),Re=le("false",[],()=>!1),Ge=le("null",[],()=>null),Se=_e("Infinity",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?new t(1/0):1/0}),He=_e("NaN",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?new t(NaN):NaN}),be=_e("pi",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?Ye(t):Ue}),ke=_e("tau",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?fe(t):ye}),Je=_e("e",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?Fe(t):xe}),je=_e("phi",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?De(t):1.618033988749895}),ze=_e("LN2",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?new t(2).ln():Math.LN2}),ve=_e("LN10",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?new t(10).ln():Math.LN10}),Le=_e("LOG2E",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?new t(1).div(new t(2).ln()):Math.LOG2E}),Pe=_e("LOG10E",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?new t(1).div(new t(10).ln()):Math.LOG10E}),Oe=_e("SQRT1_2",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?new t("0.5").sqrt():Math.SQRT1_2}),We=_e("SQRT2",["config","?BigNumber"],A=>{var{config:e,BigNumber:t}=A;return"BigNumber"===e.number?new t(2).sqrt():Math.SQRT2}),Ve=_e("i",["Complex"],A=>{var{Complex:e}=A;return e.I}),Ke=le("PI",["pi"],A=>{var{pi:e}=A;return e}),Xe=le("E",["e"],A=>{var{e:e}=A;return e}),Ze=le("version",[],()=>"11.12.0");function _e(A,e,t){return le(A,e,t,{recreateOnConfigChange:!0})}var qe=Kt("speedOfLight","299792458","m s^-1"),$e=Kt("gravitationConstant","6.67430e-11","m^3 kg^-1 s^-2"),At=Kt("planckConstant","6.62607015e-34","J s"),et=Kt("reducedPlanckConstant","1.0545718176461565e-34","J s"),tt=Kt("magneticConstant","1.25663706212e-6","N A^-2"),nt=Kt("electricConstant","8.8541878128e-12","F m^-1"),it=Kt("vacuumImpedance","376.730313667","ohm"),rt=Kt("coulomb","8.987551792261171e9","N m^2 C^-2"),st=Kt("elementaryCharge","1.602176634e-19","C"),ot=Kt("bohrMagneton","9.2740100783e-24","J T^-1"),at=Kt("conductanceQuantum","7.748091729863649e-5","S"),Bt=Kt("inverseConductanceQuantum","12906.403729652257","ohm"),ct=Kt("magneticFluxQuantum","2.0678338484619295e-15","Wb"),gt=Kt("nuclearMagneton","5.0507837461e-27","J T^-1"),Qt=Kt("klitzing","25812.807459304513","ohm"),Et=Kt("bohrRadius","5.29177210903e-11","m"),lt=Kt("classicalElectronRadius","2.8179403262e-15","m"),ut=Kt("electronMass","9.1093837015e-31","kg"),wt=Kt("fermiCoupling","1.1663787e-5","GeV^-2"),ht=Xt("fineStructure",.0072973525693),Ct=Kt("hartreeEnergy","4.3597447222071e-18","J"),dt=Kt("protonMass","1.67262192369e-27","kg"),It=Kt("deuteronMass","3.3435830926e-27","kg"),Mt=Kt("neutronMass","1.6749271613e-27","kg"),pt=Kt("quantumOfCirculation","3.6369475516e-4","m^2 s^-1"),mt=Kt("rydberg","10973731.568160","m^-1"),Ft=Kt("thomsonCrossSection","6.6524587321e-29","m^2"),Dt=Xt("weakMixingAngle",.2229),Yt=Xt("efimovFactor",22.7),ft=Kt("atomicMass","1.66053906660e-27","kg"),Nt=Kt("avogadro","6.02214076e23","mol^-1"),Ut=Kt("boltzmann","1.380649e-23","J K^-1"),yt=Kt("faraday","96485.33212331001","C mol^-1"),xt=Kt("firstRadiation","3.7417718521927573e-16","W m^2"),Tt=Kt("loschmidt","2.686780111798444e25","m^-3"),Rt=Kt("gasConstant","8.31446261815324","J K^-1 mol^-1"),Gt=Kt("molarPlanckConstant","3.990312712893431e-10","J s mol^-1"),St=Kt("molarVolume","0.022413969545014137","m^3 mol^-1"),Ht=Xt("sackurTetrode",-1.16487052358),bt=Kt("secondRadiation","0.014387768775039337","m K"),kt=Kt("stefanBoltzmann","5.67037441918443e-8","W m^-2 K^-4"),Jt=Kt("wienDisplacement","2.897771955e-3","m K"),jt=Kt("molarMass","0.99999999965e-3","kg mol^-1"),zt=Kt("molarMassC12","11.9999999958e-3","kg mol^-1"),vt=Kt("gravity","9.80665","m s^-2"),Lt=Kt("planckLength","1.616255e-35","m"),Pt=Kt("planckMass","2.176435e-8","kg"),Ot=Kt("planckTime","5.391245e-44","s"),Wt=Kt("planckCharge","1.87554603778e-18","C"),Vt=Kt("planckTemperature","1.416785e+32","K");function Kt(A,e,t){return le(A,["config","Unit","BigNumber"],A=>{var{config:n,Unit:i,BigNumber:r}=A,s=new i("BigNumber"===n.number?new r(e):parseFloat(e),t);return s.fixPrefix=!0,s})}function Xt(A,e){return le(A,["config","BigNumber"],A=>{var{config:t,BigNumber:n}=A;return"BigNumber"===t.number?new n(e):e})}var Zt=t(22),_t=t.n(Zt),qt=le("Fraction",[],()=>(Object.defineProperty(_t.a,"name",{value:"Fraction"}),_t.a.prototype.constructor=_t.a,_t.a.prototype.type="Fraction",_t.a.prototype.isFraction=!0,_t.a.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},_t.a.fromJSON=function(A){return new _t.a(A)},_t.a),{isClass:!0}),$t=le("Matrix",[],()=>{function A(){if(!(this instanceof A))throw new SyntaxError("Constructor must be called with the new operator")}return A.prototype.type="Matrix",A.prototype.isMatrix=!0,A.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},A.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},A.prototype.create=function(A,e){throw new Error("Cannot invoke create on a Matrix interface")},A.prototype.subset=function(A,e,t){throw new Error("Cannot invoke subset on a Matrix interface")},A.prototype.get=function(A){throw new Error("Cannot invoke get on a Matrix interface")},A.prototype.set=function(A,e,t){throw new Error("Cannot invoke set on a Matrix interface")},A.prototype.resize=function(A,e){throw new Error("Cannot invoke resize on a Matrix interface")},A.prototype.reshape=function(A,e){throw new Error("Cannot invoke reshape on a Matrix interface")},A.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},A.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},A.prototype.map=function(A,e){throw new Error("Cannot invoke map on a Matrix interface")},A.prototype.forEach=function(A){throw new Error("Cannot invoke forEach on a Matrix interface")},A.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},A.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},A.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},A.prototype.format=function(A){throw new Error("Cannot invoke format on a Matrix interface")},A.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},A},{isClass:!0}),An=le("Range",[],()=>{function A(e,t,n){if(!(this instanceof A))throw new SyntaxError("Constructor must be called with the new operator");var i=null!=e,r=null!=t,s=null!=n;if(i)if(a(e))e=e.toNumber();else if("number"!=typeof e)throw new TypeError("Parameter start must be a number");if(r)if(a(t))t=t.toNumber();else if("number"!=typeof t)throw new TypeError("Parameter end must be a number");if(s)if(a(n))n=n.toNumber();else if("number"!=typeof n)throw new TypeError("Parameter step must be a number");this.start=i?parseFloat(e):0,this.end=r?parseFloat(t):0,this.step=s?parseFloat(n):1}return A.prototype.type="Range",A.prototype.isRange=!0,A.parse=function(e){if("string"!=typeof e)return null;var t=e.split(":").map((function(A){return parseFloat(A)}));if(t.some((function(A){return isNaN(A)})))return null;switch(t.length){case 2:return new A(t[0],t[1]);case 3:return new A(t[0],t[2],t[1]);default:return null}},A.prototype.clone=function(){return new A(this.start,this.end,this.step)},A.prototype.size=function(){var A=0,e=this.start,t=this.step,n=this.end-e;return cA(t)===cA(n)?A=Math.ceil(n/t):0===n&&(A=0),isNaN(A)&&(A=0),[A]},A.prototype.min=function(){var A=this.size()[0];return A>0?this.step>0?this.start:this.start+(A-1)*this.step:void 0},A.prototype.max=function(){var A=this.size()[0];return A>0?this.step>0?this.start+(A-1)*this.step:this.start:void 0},A.prototype.forEach=function(A){var e=this.start,t=this.step,n=this.end,i=0;if(t>0)for(;e<n;)A(e,[i],this),e+=t,i++;else if(t<0)for(;e>n;)A(e,[i],this),e+=t,i++},A.prototype.map=function(A){var e=[];return this.forEach((function(t,n,i){e[n[0]]=A(t,n,i)})),e},A.prototype.toArray=function(){var A=[];return this.forEach((function(e,t){A[t[0]]=e})),A},A.prototype.valueOf=function(){return this.toArray()},A.prototype.format=function(A){var e=hA(this.start,A);return 1!==this.step&&(e+=":"+hA(this.step,A)),e+=":"+hA(this.end,A)},A.prototype.toString=function(){return this.format()},A.prototype.toJSON=function(){return{mathjs:"Range",start:this.start,end:this.end,step:this.step}},A.fromJSON=function(e){return new A(e.start,e.end,e.step)},A},{isClass:!0}),en=le("ResultSet",[],()=>{function A(e){if(!(this instanceof A))throw new SyntaxError("Constructor must be called with the new operator");this.entries=e||[]}return A.prototype.type="ResultSet",A.prototype.isResultSet=!0,A.prototype.valueOf=function(){return this.entries},A.prototype.toString=function(){return"["+this.entries.join(", ")+"]"},A.prototype.toJSON=function(){return{mathjs:"ResultSet",entries:this.entries}},A.fromJSON=function(e){return new A(e.entries)},A},{isClass:!0}),tn=le("DenseMatrix",["Matrix"],A=>{var{Matrix:e}=A;function t(A,e){if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");if(e&&!Q(e))throw new Error("Invalid datatype: "+e);if(l(A))"DenseMatrix"===A.type?(this._data=K(A._data),this._size=K(A._size),this._datatype=e||A._datatype):(this._data=A.toArray(),this._size=A.size(),this._datatype=e||A._datatype);else if(A&&E(A.data)&&E(A.size))this._data=A.data,this._size=A.size,LA(this._data,this._size),this._datatype=e||A.datatype;else if(E(A))this._data=B(A),this._size=vA(this._data),LA(this._data,this._size),this._datatype=e;else{if(A)throw new TypeError("Unsupported type of data ("+V(A)+")");this._data=[],this._size=[0],this._datatype=e}}function n(A,e){if(!d(e))throw new TypeError("Invalid index");if(e.isScalar())return A.get(e.min());var n=e.size();if(n.length!==A._size.length)throw new jA(n.length,A._size.length);for(var i=e.min(),r=e.max(),s=0,o=A._size.length;s<o;s++)OA(i[s],A._size[s]),OA(r[s],A._size[s]);return new t(function A(e,t,n,i){var r=i===n-1,s=t.dimension(i);return r?s.map((function(A){return OA(A,e.length),e[A]})).valueOf():s.map((function(r){OA(r,e.length);var s=e[r];return A(s,t,n,i+1)})).valueOf()}(A._data,e,n.length,0),A._datatype)}function i(A,e,t,n){if(!e||!0!==e.isIndex)throw new TypeError("Invalid index");var i,r=e.size(),o=e.isScalar();if(l(t)?(i=t.size(),t=t.valueOf()):i=vA(t),o){if(0!==i.length)throw new TypeError("Scalar expected");A.set(e.min(),t,n)}else{if(!_(i,r))try{i=vA(t=0===i.length?Ee([t],r):Ee(t,r))}catch(A){}if(r.length<A._size.length)throw new jA(r.length,A._size.length,"<");if(i.length<r.length){for(var a=0,B=0;1===r[a]&&1===i[a];)a++;for(;1===r[a];)B++,a++;t=qA(t,r.length,B,i)}if(!_(r,i))throw new jA(r,i,">");s(A,e.max().map((function(A){return A+1})),n);var c=r.length;!function A(e,t,n,i,r){var s=r===i-1,o=t.dimension(r);s?o.forEach((function(A,t){OA(A),e[A]=n[t[0]]})):o.forEach((function(s,o){OA(s),A(e[s],t,n[o[0]],i,r+1)}))}(A._data,e,t,c,0)}return A}function r(A,e,t){if(0===e.length){for(var n=A._data;E(n);)n=n[0];return n}return A._size=e.slice(0),A._data=VA(A._data,A._size,t),A}function s(A,e,t){for(var n=A._size.slice(0),i=!1;n.length<e.length;)n.push(0),i=!0;for(var s=0,o=e.length;s<o;s++)e[s]>n[s]&&(n[s]=e[s],i=!0);i&&r(A,n,t)}function B(A){return l(A)?B(A.valueOf()):E(A)?A.map(B):A}return t.prototype=new e,t.prototype.createDenseMatrix=function(A,e){return new t(A,e)},Object.defineProperty(t,"name",{value:"DenseMatrix"}),t.prototype.constructor=t,t.prototype.type="DenseMatrix",t.prototype.isDenseMatrix=!0,t.prototype.getDataType=function(){return oe(this._data,V)},t.prototype.storage=function(){return"dense"},t.prototype.datatype=function(){return this._datatype},t.prototype.create=function(A,e){return new t(A,e)},t.prototype.subset=function(A,e,t){switch(arguments.length){case 1:return n(this,A);case 2:case 3:return i(this,A,e,t);default:throw new SyntaxError("Wrong number of arguments")}},t.prototype.get=function(A){if(!E(A))throw new TypeError("Array expected");if(A.length!==this._size.length)throw new jA(A.length,this._size.length);for(var e=0;e<A.length;e++)OA(A[e],this._size[e]);for(var t=this._data,n=0,i=A.length;n<i;n++){var r=A[n];OA(r,t.length),t=t[r]}return t},t.prototype.set=function(A,e,t){if(!E(A))throw new TypeError("Array expected");if(A.length<this._size.length)throw new jA(A.length,this._size.length,"<");var n,i,r;s(this,A.map((function(A){return A+1})),t);var o=this._data;for(n=0,i=A.length-1;n<i;n++)OA(r=A[n],o.length),o=o[r];return OA(r=A[A.length-1],o.length),o[r]=e,this},t.prototype.resize=function(A,e,t){if(!u(A))throw new TypeError("Array or Matrix expected");var n=A.valueOf().map(A=>Array.isArray(A)&&1===A.length?A[0]:A);return r(t?this.clone():this,n,e)},t.prototype.reshape=function(A,e){var t=e?this.clone():this;t._data=KA(t._data,A);var n=t._size.reduce((A,e)=>A*e);return t._size=XA(A,n),t},t.prototype.clone=function(){return new t({data:K(this._data),size:K(this._size),datatype:this._datatype})},t.prototype.size=function(){return this._size.slice(0)},t.prototype.map=function(A){var e=this,n=me(A),i=function t(i,r){return E(i)?i.map((function(A,e){return t(A,r.concat(e))})):1===n?A(i):2===n?A(i,r):A(i,r,e)}(this._data,[]);return new t(i,void 0!==this._datatype?oe(i,V):void 0)},t.prototype.forEach=function(A){var e=this;!function t(n,i){E(n)?n.forEach((function(A,e){t(A,i.concat(e))})):A(n,i,e)}(this._data,[])},t.prototype[Symbol.iterator]=function*(){yield*function*A(e,t){if(E(e))for(var n=0;n<e.length;n++)yield*A(e[n],t.concat(n));else yield{value:e,index:t}}(this._data,[])},t.prototype.rows=function(){var A=[];if(2!==this.size().length)throw new TypeError("Rows can only be returned for a 2D matrix.");var e=this._data;for(var n of e)A.push(new t([n],this._datatype));return A},t.prototype.columns=function(){var A=this,e=[],n=this.size();if(2!==n.length)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var i=this._data,r=function(n){var r=i.map(A=>[A[n]]);e.push(new t(r,A._datatype))},s=0;s<n[1];s++)r(s);return e},t.prototype.toArray=function(){return K(this._data)},t.prototype.valueOf=function(){return this._data},t.prototype.format=function(A){return SA(this._data,A)},t.prototype.toString=function(){return SA(this._data)},t.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},t.prototype.diagonal=function(A){if(A){if(a(A)&&(A=A.toNumber()),!o(A)||!BA(A))throw new TypeError("The parameter k must be an integer number")}else A=0;for(var e=A>0?A:0,n=A<0?-A:0,i=this._size[0],r=this._size[1],s=Math.min(i-n,r-e),B=[],c=0;c<s;c++)B[c]=this._data[c+n][c+e];return new t({data:B,size:[s],datatype:this._datatype})},t.diagonal=function(A,e,n,i){if(!E(A))throw new TypeError("Array expected, size parameter");if(2!==A.length)throw new Error("Only two dimensions matrix are supported");if(A=A.map((function(A){if(a(A)&&(A=A.toNumber()),!o(A)||!BA(A)||A<1)throw new Error("Size values must be positive integers");return A})),n){if(a(n)&&(n=n.toNumber()),!o(n)||!BA(n))throw new TypeError("The parameter k must be an integer number")}else n=0;var r,s=n>0?n:0,B=n<0?-n:0,c=A[0],g=A[1],Q=Math.min(c-B,g-s);if(E(e)){if(e.length!==Q)throw new Error("Invalid value array length");r=function(A){return e[A]}}else if(l(e)){var u=e.size();if(1!==u.length||u[0]!==Q)throw new Error("Invalid matrix length");r=function(A){return e.get([A])}}else r=function(){return e};i||(i=a(r(0))?r(0).mul(0):0);var w=[];if(A.length>0){w=VA(w,A,i);for(var h=0;h<Q;h++)w[h+B][h+s]=r(h)}return new t({data:w,size:[c,g]})},t.fromJSON=function(A){return new t(A)},t.prototype.swapRows=function(A,e){if(!(o(A)&&BA(A)&&o(e)&&BA(e)))throw new Error("Row index must be positive integers");if(2!==this._size.length)throw new Error("Only two dimensional matrix is supported");return OA(A,this._size[0]),OA(e,this._size[0]),t._swapRows(A,e,this._data),this},t._swapRows=function(A,e,t){var n=t[A];t[A]=t[e],t[e]=n},t},{isClass:!0}),nn=le("replacer",[],()=>function(A,e){return"number"!=typeof e||isFinite(e)&&!isNaN(e)?e:{mathjs:"number",value:String(e)}}),rn=t(21),sn=t.n(rn);function on(A,e){if(gn(A)&&Bn(A,e))return A[e];if("function"==typeof A[e]&&cn(A,e))throw new Error('Cannot access method "'+e+'" as a property');throw new Error('No access to property "'+e+'"')}function an(A,e,t){if(gn(A)&&Bn(A,e))return A[e]=t,t;throw new Error('No access to property "'+e+'"')}function Bn(A,e){return!(!A||"object"!=typeof A)&&(!!AA(Qn,e)||!(e in Object.prototype)&&!(e in Function.prototype))}function cn(A,e){return null!=A&&"function"==typeof A[e]&&(!(AA(A,e)&&Object.getPrototypeOf&&e in Object.getPrototypeOf(A))&&(!!AA(En,e)||!(e in Object.prototype)&&!(e in Function.prototype)))}function gn(A){return"object"==typeof A&&A&&A.constructor===Object}var Qn={length:!0,name:!0},En={toString:!0,valueOf:!0,toLocaleString:!0};class ln{constructor(A){this.wrappedObject=A}keys(){return Object.keys(this.wrappedObject)}get(A){return on(this.wrappedObject,A)}set(A,e){return an(this.wrappedObject,A,e),this}has(A){return e=this.wrappedObject,A in e;var e}}function un(){return new Map}function wn(A){if(!A)return un();if(hn(A))return A;if(Y(A))return new ln(A);throw new Error("createMap can create maps from objects or Maps")}function hn(A){return!!A&&(A instanceof Map||A instanceof ln||"function"==typeof A.set&&"function"==typeof A.get&&"function"==typeof A.keys&&"function"==typeof A.has)}function Cn(A){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];for(var i of t)if(i)if(hn(i))for(var r of i.keys())A.set(r,i.get(r));else if(Y(i))for(var s of Object.keys(i))A.set(s,i[s]);return A}var dn=function(){return dn=sn.a.create,sn.a},In=le("typed",["?BigNumber","?Complex","?DenseMatrix","?Fraction"],(function(A){var{BigNumber:e,Complex:t,DenseMatrix:n,Fraction:i}=A,r=dn();return r.clear(),r.addTypes([{name:"number",test:o},{name:"Complex",test:B},{name:"BigNumber",test:a},{name:"Fraction",test:c},{name:"Unit",test:g},{name:"identifier",test:A=>Q&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(A)},{name:"string",test:Q},{name:"Chain",test:W},{name:"Array",test:E},{name:"Matrix",test:l},{name:"DenseMatrix",test:w},{name:"SparseMatrix",test:h},{name:"Range",test:C},{name:"Index",test:d},{name:"boolean",test:I},{name:"ResultSet",test:M},{name:"Help",test:p},{name:"function",test:m},{name:"Date",test:F},{name:"RegExp",test:D},{name:"null",test:f},{name:"undefined",test:N},{name:"AccessorNode",test:U},{name:"ArrayNode",test:y},{name:"AssignmentNode",test:x},{name:"BlockNode",test:T},{name:"ConditionalNode",test:R},{name:"ConstantNode",test:G},{name:"FunctionNode",test:b},{name:"FunctionAssignmentNode",test:H},{name:"IndexNode",test:k},{name:"Node",test:J},{name:"ObjectNode",test:j},{name:"OperatorNode",test:z},{name:"ParenthesisNode",test:v},{name:"RangeNode",test:L},{name:"RelationalNode",test:P},{name:"SymbolNode",test:O},{name:"Map",test:hn},{name:"Object",test:Y}]),r.addConversions([{from:"number",to:"BigNumber",convert:function(A){if(e||Mn(A),A.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+A+"). Use function bignumber(x) to convert to BigNumber.");return new e(A)}},{from:"number",to:"Complex",convert:function(A){return t||pn(A),new t(A,0)}},{from:"BigNumber",to:"Complex",convert:function(A){return t||pn(A),new t(A.toNumber(),0)}},{from:"Fraction",to:"BigNumber",convert:function(A){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(A){return t||pn(A),new t(A.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(A){i||mn(A);var e=new i(A);if(e.valueOf()!==A)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+A+"). Use function fraction(x) to convert to Fraction.");return e}},{from:"string",to:"number",convert:function(A){var e=Number(A);if(isNaN(e))throw new Error('Cannot convert "'+A+'" to a number');return e}},{from:"string",to:"BigNumber",convert:function(A){e||Mn(A);try{return new e(A)}catch(e){throw new Error('Cannot convert "'+A+'" to BigNumber')}}},{from:"string",to:"Fraction",convert:function(A){i||mn(A);try{return new i(A)}catch(e){throw new Error('Cannot convert "'+A+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(A){t||pn(A);try{return new t(A)}catch(e){throw new Error('Cannot convert "'+A+'" to Complex')}}},{from:"boolean",to:"number",convert:function(A){return+A}},{from:"boolean",to:"BigNumber",convert:function(A){return e||Mn(A),new e(+A)}},{from:"boolean",to:"Fraction",convert:function(A){return i||mn(A),new i(+A)}},{from:"boolean",to:"string",convert:function(A){return String(A)}},{from:"Array",to:"Matrix",convert:function(A){return n||function(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}(),new n(A)}},{from:"Matrix",to:"Array",convert:function(A){return A.valueOf()}}]),r.onMismatch=(A,e,t)=>{var n=r.createError(A,e,t);if(["wrongType","mismatch"].includes(n.data.category)&&1===e.length&&u(e[0])&&t.some(A=>!A.params.includes(","))){var i=new TypeError("Function '".concat(A,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(A,")'."));throw i.data=n.data,i}throw n},r.onMismatch=(A,e,t)=>{var n=r.createError(A,e,t);if(["wrongType","mismatch"].includes(n.data.category)&&1===e.length&&u(e[0])&&t.some(A=>!A.params.includes(","))){var i=new TypeError("Function '".concat(A,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(A,")'."));throw i.data=n.data,i}throw n},r}));function Mn(A){throw new Error("Cannot convert value ".concat(A," into a BigNumber: no class 'BigNumber' provided"))}function pn(A){throw new Error("Cannot convert value ".concat(A," into a Complex number: no class 'Complex' provided"))}function mn(A){throw new Error("Cannot convert value ".concat(A," into a Fraction, no class 'Fraction' provided."))}function Fn(A){var e,t,n=A.length,i=A[0].length,r=[];for(t=0;t<i;t++){var s=[];for(e=0;e<n;e++)s.push(A[e][t]);r.push(s)}return r}function Dn(A){for(var e=0;e<A.length;e++)if(u(A[e]))return!0;return!1}function Yn(A,e){l(A)&&(A=A.valueOf());for(var t=0,n=A.length;t<n;t++){var i=A[t];Array.isArray(i)?Yn(i,e):e(i)}}function fn(A,e,t){return A&&"function"==typeof A.map?A.map((function(A){return fn(A,e,t)})):e(A)}function Nn(A,e,t){var n=Array.isArray(A)?vA(A):A.size();if(e<0||e>=n.length)throw new zA(e,n.length);return l(A)?A.create(Un(A.valueOf(),e,t)):Un(A,e,t)}function Un(A,e,t){var n,i,r,s;if(e<=0){if(Array.isArray(A[0])){for(s=Fn(A),i=[],n=0;n<s.length;n++)i[n]=Un(s[n],e-1,t);return i}for(r=A[0],n=1;n<A.length;n++)r=t(r,A[n]);return r}for(i=[],n=0;n<A.length;n++)i[n]=Un(A[n],e-1,t);return i}function yn(A,e,t,n,i,r,s,o,a,B,c){var g,Q,E,l,u=A._values,w=A._index,h=A._ptr;if(n)for(Q=h[e],E=h[e+1],g=Q;g<E;g++)t[l=w[g]]!==r?(t[l]=r,s.push(l),B?(n[l]=a?o(u[g],c):o(c,u[g]),i[l]=r):n[l]=u[g]):(n[l]=a?o(u[g],n[l]):o(n[l],u[g]),i[l]=r);else for(Q=h[e],E=h[e+1],g=Q;g<E;g++)t[l=w[g]]!==r?(t[l]=r,s.push(l)):i[l]=r}function xn(A){return Math.abs(A)}function Tn(A,e){return A+e}function Rn(A,e){return A-e}function Gn(A,e){return A*e}function Sn(A){return-A}function Hn(A){return A}function bn(A){return lA(A)}function kn(A){return A*A*A}function Jn(A){return Math.exp(A)}function jn(A){return uA(A)}function zn(A,e){if(!BA(A)||!BA(e))throw new Error("Parameters in function lcm must be integer numbers");if(0===A||0===e)return 0;for(var t,n=A*e;0!==e;)e=A%(t=e),A=t;return Math.abs(n/A)}function vn(A){return QA(A)}function Ln(A){return gA(A)}function Pn(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,t=e<0;if(t&&(e=-e),0===e)throw new Error("Root must be non-zero");if(A<0&&Math.abs(e)%2!=1)throw new Error("Root must be odd when a is negative.");if(0===A)return t?1/0:0;if(!isFinite(A))return t?0:A;var n=Math.pow(Math.abs(A),1/e);return n=A<0?-n:n,t?1/n:n}function On(A){return cA(A)}function Wn(A){return A*A}function Vn(A,e){var t,n,i,r=0,s=1,o=1,a=0;if(!BA(A)||!BA(e))throw new Error("Parameters in function xgcd must be integer numbers");for(;e;)i=A-(n=Math.floor(A/e))*e,t=r,r=s-n*r,s=t,t=o,o=a-n*o,a=t,A=e,e=i;return A<0?[-A,-s,-a]:[A,A?s:0,a]}function Kn(A,e){return A*A<1&&e===1/0||A*A>1&&e===-1/0?0:Math.pow(A,e)}function Xn(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!BA(e)||e<0||e>15)throw new Error("Number of decimals in function round must be an integer from 0 to 15 inclusive");return parseFloat(dA(A,e))}xn.signature="number",Tn.signature="number, number",Rn.signature="number, number",Gn.signature="number, number",Sn.signature="number",Hn.signature="number",bn.signature="number",kn.signature="number",Jn.signature="number",jn.signature="number",zn.signature="number, number",vn.signature="number",Ln.signature="number",On.signature="number",Wn.signature="number",Vn.signature="number, number",Kn.signature="number, number";var Zn=le("unaryPlus",["typed","config","BigNumber"],A=>{var{typed:e,config:t,BigNumber:n}=A;return e("unaryPlus",{number:Hn,Complex:function(A){return A},BigNumber:function(A){return A},Fraction:function(A){return A},Unit:function(A){return A.clone()},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A,!0)),"boolean | string":function(A){return"BigNumber"===t.number?new n(+A):+A}})}),_n=le("abs",["typed"],A=>{var{typed:e}=A;return e("abs",{number:xn,"Complex | BigNumber | Fraction | Unit":A=>A.abs(),"Array | Matrix":e.referToSelf(A=>e=>fn(e,A,!0))})}),qn=le("acos",["typed","config","Complex"],A=>{var{typed:e,config:t,Complex:n}=A;return e("acos",{number:function(A){return A>=-1&&A<=1||t.predictable?Math.acos(A):new n(A,0).acos()},Complex:function(A){return A.acos()},BigNumber:function(A){return A.acos()}})});function $n(A){return DA(A)}function Ai(A){return Math.atan(1/A)}function ei(A){return isFinite(A)?(Math.log((A+1)/A)+Math.log(A/(A-1)))/2:0}function ti(A){return Math.asin(1/A)}function ni(A){var e=1/A;return Math.log(e+Math.sqrt(e*e+1))}function ii(A){return Math.acos(1/A)}function ri(A){var e=1/A,t=Math.sqrt(e*e-1);return Math.log(t+e)}function si(A){return YA(A)}function oi(A){return fA(A)}function ai(A){return 1/Math.tan(A)}function Bi(A){var e=Math.exp(2*A);return(e+1)/(e-1)}function ci(A){return 1/Math.sin(A)}function gi(A){return 0===A?Number.POSITIVE_INFINITY:Math.abs(2/(Math.exp(A)-Math.exp(-A)))*cA(A)}function Qi(A){return 1/Math.cos(A)}function Ei(A){return 2/(Math.exp(A)+Math.exp(-A))}function li(A){return UA(A)}$n.signature="number",Ai.signature="number",ei.signature="number",ti.signature="number",ni.signature="number",ii.signature="number",ri.signature="number",si.signature="number",oi.signature="number",ai.signature="number",Bi.signature="number",ci.signature="number",gi.signature="number",Qi.signature="number",Ei.signature="number",li.signature="number";var ui=le("acot",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("acot",{number:Ai,Complex:function(A){return A.acot()},BigNumber:function(A){return new t(1).div(A).atan()}})}),wi=le("acsc",["typed","config","Complex","BigNumber"],A=>{var{typed:e,config:t,Complex:n,BigNumber:i}=A;return e("acsc",{number:function(A){return A<=-1||A>=1||t.predictable?ti(A):new n(A,0).acsc()},Complex:function(A){return A.acsc()},BigNumber:function(A){return new i(1).div(A).asin()}})}),hi=le("addScalar",["typed"],A=>{var{typed:e}=A;return e("addScalar",{"number, number":Tn,"Complex, Complex":function(A,e){return A.add(e)},"BigNumber, BigNumber":function(A,e){return A.plus(e)},"Fraction, Fraction":function(A,e){return A.add(e)},"Unit, Unit":e.referToSelf(A=>(t,n)=>{if(null===t.value||void 0===t.value)throw new Error("Parameter x contains a unit with undefined value");if(null===n.value||void 0===n.value)throw new Error("Parameter y contains a unit with undefined value");if(!t.equalBase(n))throw new Error("Units do not match");var i=t.clone();return i.value=e.find(A,[i.valueType(),n.valueType()])(i.value,n.value),i.fixPrefix=!1,i})})}),Ci=le("arg",["typed"],A=>{var{typed:e}=A;return e("arg",{number:function(A){return Math.atan2(0,A)},BigNumber:function(A){return A.constructor.atan2(0,A)},Complex:function(A){return A.arg()},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),di=le("asech",["typed","config","Complex","BigNumber"],A=>{var{typed:e,config:t,Complex:n,BigNumber:i}=A;return e("asech",{number:function(A){if(A<=1&&A>=-1||t.predictable){var e=1/A;if(e>0||t.predictable)return ri(A);var i=Math.sqrt(e*e-1);return new n(Math.log(i-e),Math.PI)}return new n(A,0).asech()},Complex:function(A){return A.asech()},BigNumber:function(A){return new i(1).div(A).acosh()}})}),Ii=le("asinh",["typed"],A=>{var{typed:e}=A;return e("asinh",{number:si,Complex:function(A){return A.asinh()},BigNumber:function(A){return A.asinh()}})}),Mi=le("atan",["typed"],A=>{var{typed:e}=A;return e("atan",{number:function(A){return Math.atan(A)},Complex:function(A){return A.atan()},BigNumber:function(A){return A.atan()}})}),pi=le("atanh",["typed","config","Complex"],A=>{var{typed:e,config:t,Complex:n}=A;return e("atanh",{number:function(A){return A<=1&&A>=-1||t.predictable?oi(A):new n(A,0).atanh()},Complex:function(A){return A.atanh()},BigNumber:function(A){return A.atanh()}})}),mi=le("bignumber",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("bignumber",{"":function(){return new t(0)},number:function(A){return new t(A+"")},string:function(A){var e=A.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(e){var n=e[2],i=t(e[1]),r=new t(2).pow(Number(n));if(i.gt(r.sub(1)))throw new SyntaxError('String "'.concat(A,'" is out of range'));var s=new t(2).pow(Number(n)-1);return i.gte(s)?i.sub(r):i}return new t(A)},BigNumber:function(A){return A},Unit:e.referToSelf(A=>e=>{var t=e.clone();return t.value=A(e.value),t}),Fraction:function(A){return new t(A.n).div(A.d).times(A.s)},null:function(A){return new t(0)},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})});function Fi(A,e){if(A.isFinite()&&!A.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitAnd");var t=A.constructor;if(A.isNaN()||e.isNaN())return new t(NaN);if(A.isZero()||e.eq(-1)||A.eq(e))return A;if(e.isZero()||A.eq(-1))return e;if(!A.isFinite()||!e.isFinite()){if(!A.isFinite()&&!e.isFinite())return A.isNegative()===e.isNegative()?A:new t(0);if(!A.isFinite())return e.isNegative()?A:A.isNegative()?new t(0):e;if(!e.isFinite())return A.isNegative()?e:e.isNegative()?new t(0):A}return fi(A,e,(function(A,e){return A&e}))}function Di(A){if(A.isFinite()&&!A.isInteger())throw new Error("Integer expected in function bitNot");var e=A.constructor,t=e.precision;e.config({precision:1e9});var n=A.plus(new e(1));return n.s=-n.s||null,e.config({precision:t}),n}function Yi(A,e){if(A.isFinite()&&!A.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitOr");var t=A.constructor;if(A.isNaN()||e.isNaN())return new t(NaN);var n=new t(-1);return A.isZero()||e.eq(n)||A.eq(e)?e:e.isZero()||A.eq(n)?A:A.isFinite()&&e.isFinite()?fi(A,e,(function(A,e){return A|e})):!A.isFinite()&&!A.isNegative()&&e.isNegative()||A.isNegative()&&!e.isNegative()&&!e.isFinite()?n:A.isNegative()&&e.isNegative()?A.isFinite()?A:e:A.isFinite()?e:A}function fi(A,e,t){var n,i,r,s,o,a=A.constructor,B=+(A.s<0),c=+(e.s<0);if(B){n=Ni(Di(A));for(var g=0;g<n.length;++g)n[g]^=1}else n=Ni(A);if(c){i=Ni(Di(e));for(var Q=0;Q<i.length;++Q)i[Q]^=1}else i=Ni(e);n.length<=i.length?(r=n,s=i,o=B):(r=i,s=n,o=c);var E=r.length,l=s.length,u=1^t(B,c),w=new a(1^u),h=new a(1),C=new a(2),d=a.precision;for(a.config({precision:1e9});E>0;)t(r[--E],s[--l])===u&&(w=w.plus(h)),h=h.times(C);for(;l>0;)t(o,s[--l])===u&&(w=w.plus(h)),h=h.times(C);return a.config({precision:d}),0===u&&(w.s=-w.s),w}function Ni(A){for(var e=A.d,t=e[0]+"",n=1;n<e.length;++n){for(var i=e[n]+"",r=7-i.length;r--;)i="0"+i;t+=i}for(var s=t.length;"0"===t.charAt(s);)s--;var o=A.e,a=t.slice(0,s+1||1),B=a.length;if(o>0)if(++o>B)for(o-=B;o--;)a+="0";else o<B&&(a=a.slice(0,o)+"."+a.slice(o));for(var c=[0],g=0;g<a.length;){for(var Q=c.length;Q--;)c[Q]*=10;c[0]+=parseInt(a.charAt(g++));for(var E=0;E<c.length;++E)c[E]>1&&(null!==c[E+1]&&void 0!==c[E+1]||(c[E+1]=0),c[E+1]+=c[E]>>1,c[E]&=1)}return c.reverse()}function Ui(A,e){if(A.isFinite()&&!A.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitXor");var t=A.constructor;if(A.isNaN()||e.isNaN())return new t(NaN);if(A.isZero())return e;if(e.isZero())return A;if(A.eq(e))return new t(0);var n=new t(-1);return A.eq(n)?Di(e):e.eq(n)?Di(A):A.isFinite()&&e.isFinite()?fi(A,e,(function(A,e){return A^e})):A.isFinite()||e.isFinite()?new t(A.isNegative()===e.isNegative()?1/0:-1/0):n}function yi(A,e){if(A.isFinite()&&!A.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function leftShift");var t=A.constructor;return A.isNaN()||e.isNaN()||e.isNegative()&&!e.isZero()?new t(NaN):A.isZero()||e.isZero()?A:A.isFinite()||e.isFinite()?e.lt(55)?A.times(Math.pow(2,e.toNumber())+""):A.times(new t(2).pow(e)):new t(NaN)}function xi(A,e){if(A.isFinite()&&!A.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function rightArithShift");var t=A.constructor;return A.isNaN()||e.isNaN()||e.isNegative()&&!e.isZero()?new t(NaN):A.isZero()||e.isZero()?A:e.isFinite()?e.lt(55)?A.div(Math.pow(2,e.toNumber())+"").floor():A.div(new t(2).pow(e)).floor():A.isNegative()?new t(-1):A.isFinite()?new t(0):new t(NaN)}var Ti="number, number";function Ri(A,e){if(!BA(A)||!BA(e))throw new Error("Integers expected in function bitAnd");return A&e}function Gi(A){if(!BA(A))throw new Error("Integer expected in function bitNot");return~A}function Si(A,e){if(!BA(A)||!BA(e))throw new Error("Integers expected in function bitOr");return A|e}function Hi(A,e){if(!BA(A)||!BA(e))throw new Error("Integers expected in function bitXor");return A^e}function bi(A,e){if(!BA(A)||!BA(e))throw new Error("Integers expected in function leftShift");return A<<e}function ki(A,e){if(!BA(A)||!BA(e))throw new Error("Integers expected in function rightArithShift");return A>>e}function Ji(A,e){if(!BA(A)||!BA(e))throw new Error("Integers expected in function rightLogShift");return A>>>e}Ri.signature=Ti,Gi.signature="number",Si.signature=Ti,Hi.signature=Ti,bi.signature=Ti,ki.signature=Ti,Ji.signature=Ti;var ji=le("bitNot",["typed"],A=>{var{typed:e}=A;return e("bitNot",{number:Gi,BigNumber:Di,"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),zi=le("boolean",["typed"],A=>{var{typed:e}=A;return e("boolean",{"":function(){return!1},boolean:function(A){return A},number:function(A){return!!A},null:function(A){return!1},BigNumber:function(A){return!A.isZero()},string:function(A){var e=A.toLowerCase();if("true"===e)return!0;if("false"===e)return!1;var t=Number(A);if(""!==A&&!isNaN(t))return!!t;throw new Error('Cannot convert "'+A+'" to a boolean')},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),vi=le("clone",["typed"],A=>{var{typed:e}=A;return e("clone",{any:K})});function Li(A,e){if(e<A)return 1;if(e===A)return e;var t=e+A>>1;return Li(A,t)*Li(t+1,e)}function Pi(A,e){if(!BA(A)||A<0)throw new TypeError("Positive integer value expected in function combinations");if(!BA(e)||e<0)throw new TypeError("Positive integer value expected in function combinations");if(e>A)throw new TypeError("k must be less than or equal to n");for(var t=A-e,n=1,i=2,r=e<t?e:t,s=e<t?t+1:e+1;s<=A;++s)for(n*=s;i<=r&&n%i==0;)n/=i,++i;return i<=r&&(n/=Li(i,r)),n}Pi.signature="number, number";var Oi=le("combinations",["typed"],A=>{var{typed:e}=A;return e("combinations",{"number, number":Pi,"BigNumber, BigNumber":function(A,e){var t,n,i=A.constructor,r=A.minus(e),s=new i(1);if(!Wi(A)||!Wi(e))throw new TypeError("Positive integer value expected in function combinations");if(e.gt(A))throw new TypeError("k must be less than n in function combinations");if(t=s,e.lt(r))for(n=s;n.lte(r);n=n.plus(s))t=t.times(e.plus(n)).dividedBy(n);else for(n=s;n.lte(e);n=n.plus(s))t=t.times(r.plus(n)).dividedBy(n);return t}})});function Wi(A){return A.isInteger()&&A.gte(0)}var Vi=le("complex",["typed","Complex"],A=>{var{typed:e,Complex:t}=A;return e("complex",{"":function(){return t.ZERO},number:function(A){return new t(A,0)},"number, number":function(A,e){return new t(A,e)},"BigNumber, BigNumber":function(A,e){return new t(A.toNumber(),e.toNumber())},Fraction:function(A){return new t(A.valueOf(),0)},Complex:function(A){return A.clone()},string:function(A){return t(A)},null:function(A){return t(0)},Object:function(A){if("re"in A&&"im"in A)return new t(A.re,A.im);if("r"in A&&"phi"in A||"abs"in A&&"arg"in A)return new t(A);throw new Error("Expected object with properties (re and im) or (r and phi) or (abs and arg)")},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),Ki=le("conj",["typed"],A=>{var{typed:e}=A;return e("conj",{"number | BigNumber | Fraction":A=>A,Complex:A=>A.conjugate(),"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),Xi=le("trigUnit",["typed"],A=>{var{typed:e}=A;return{Unit:e.referToSelf(A=>t=>{if(!t.hasBase(t.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cot is no angle");return e.find(A,t.valueType())(t.value)})}}),Zi=le("cos",["typed"],A=>{var{typed:e}=A,t=Xi({typed:e});return e("cos",{number:Math.cos,"Complex | BigNumber":A=>A.cos()},t)}),_i=le("cot",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("cot",{number:ai,Complex:A=>A.cot(),BigNumber:A=>new t(1).div(A.tan())},Xi({typed:e}))}),qi=le("csc",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("csc",{number:ci,Complex:A=>A.csc(),BigNumber:A=>new t(1).div(A.sin())},Xi({typed:e}))}),$i=le("cube",["typed"],A=>{var{typed:e}=A;return e("cube",{number:kn,Complex:function(A){return A.mul(A).mul(A)},BigNumber:function(A){return A.times(A).times(A)},Fraction:function(A){return A.pow(3)},Unit:function(A){return A.pow(3)}})});function Ar(A,e,t){if(null==t)return A.eq(e);if(A.eq(e))return!0;if(A.isNaN()||e.isNaN())return!1;if(A.isFinite()&&e.isFinite()){var n=A.minus(e).abs();if(n.isZero())return!0;var i=A.constructor.max(A.abs(),e.abs());return n.lte(i.times(t))}return!1}var er=le("compareUnits",["typed"],A=>{var{typed:e}=A;return{"Unit, Unit":e.referToSelf(A=>(t,n)=>{if(!t.equalBase(n))throw new Error("Cannot compare units with different base");return e.find(A,[t.valueType(),n.valueType()])(t.value,n.value)})}}),tr=le("equalScalar",["typed","config"],A=>{var{typed:e,config:t}=A;return e("equalScalar",{"boolean, boolean":function(A,e){return A===e},"number, number":function(A,e){return FA(A,e,t.epsilon)},"BigNumber, BigNumber":function(A,e){return A.eq(e)||Ar(A,e,t.epsilon)},"Fraction, Fraction":function(A,e){return A.equals(e)},"Complex, Complex":function(A,e){return function(A,e,t){return FA(A.re,e.re,t)&&FA(A.im,e.im,t)}(A,e,t.epsilon)}},er({typed:e}))}),nr=(le("equalScalar",["typed","config"],A=>{var{typed:e,config:t}=A;return e("equalScalar",{"number, number":function(A,e){return FA(A,e,t.epsilon)}})}),le("erf",["typed"],A=>{var{typed:e}=A;return e("name",{number:function(A){var e=Math.abs(A);return e>=ar?cA(A):e<=ir?cA(A)*function(A){var e,t=A*A,n=sr[0][4]*t,i=t;for(e=0;e<3;e+=1)n=(n+sr[0][e])*t,i=(i+or[0][e])*t;return A*(n+sr[0][3])/(i+or[0][3])}(e):e<=4?cA(A)*(1-function(A){var e,t=sr[1][8]*A,n=A;for(e=0;e<7;e+=1)t=(t+sr[1][e])*A,n=(n+or[1][e])*A;var i=(t+sr[1][7])/(n+or[1][7]),r=parseInt(16*A)/16,s=(A-r)*(A+r);return Math.exp(-r*r)*Math.exp(-s)*i}(e)):cA(A)*(1-function(A){var e,t=1/(A*A),n=sr[2][5]*t,i=t;for(e=0;e<4;e+=1)n=(n+sr[2][e])*t,i=(i+or[2][e])*t;var r=t*(n+sr[2][4])/(i+or[2][4]);r=(rr-r)/A,t=parseInt(16*A)/16;var s=(A-t)*(A+t);return Math.exp(-t*t)*Math.exp(-s)*r}(e))},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})})),ir=.46875,rr=.5641895835477563,sr=[[3.1611237438705655,113.86415415105016,377.485237685302,3209.3775891384694,.18577770618460315],[.5641884969886701,8.883149794388377,66.11919063714163,298.6351381974001,881.952221241769,1712.0476126340707,2051.0783778260716,1230.3393547979972,2.1531153547440383e-8],[.30532663496123236,.36034489994980445,.12578172611122926,.016083785148742275,.0006587491615298378,.016315387137302097]],or=[[23.601290952344122,244.02463793444417,1282.6165260773723,2844.236833439171],[15.744926110709835,117.6939508913125,537.1811018620099,1621.3895745666903,3290.7992357334597,4362.619090143247,3439.3676741437216,1230.3393548037495],[2.568520192289822,1.8729528499234604,.5279051029514285,.06051834131244132,.0023352049762686918]],ar=Math.pow(2,53),Br=le("exp",["typed"],A=>{var{typed:e}=A;return e("exp",{number:Jn,Complex:function(A){return A.exp()},BigNumber:function(A){return A.exp()}})}),cr=le("expm1",["typed","Complex"],A=>{var{typed:e,Complex:t}=A;return e("expm1",{number:jn,Complex:function(A){var e=Math.exp(A.re);return new t(e*Math.cos(A.im)-1,e*Math.sin(A.im))},BigNumber:function(A){return A.exp().minus(1)}})});function gr(A,e,t,n,i){if(sn.a.isTypedFunction(A)){var r=[e,t,n],s=sn.a.resolve(A,r);if(s)return g(s.implementation,r);var o=[e,t],a=sn.a.resolve(A,o);if(a)return g(a.implementation,o);var B=[e],c=sn.a.resolve(A,B);return c?g(c.implementation,B):g(A,r)}return A(e,t,n);function g(r,s){try{return r.apply(r,s)}catch(r){var o;if(r instanceof TypeError&&"wrongType"===(null===(o=r.data)||void 0===o?void 0:o.category)){var a=[];throw a.push("value: ".concat(V(e))),s.length>=2&&a.push("index: ".concat(V(t))),s.length>=3&&a.push("array: ".concat(V(n))),new TypeError("Function ".concat(i," cannot apply callback arguments ")+"".concat(A.name,"(").concat(a.join(", "),") at index ").concat(JSON.stringify(t)))}throw new TypeError("Function ".concat(i," cannot apply callback arguments ")+"to function ".concat(A.name,": ").concat(r.message))}}}var Qr=le("filter",["typed"],A=>{var{typed:e}=A;return e("filter",{"Array, function":Er,"Matrix, function":function(A,e){return A.create(Er(A.toArray(),e))},"Array, RegExp":ne,"Matrix, RegExp":function(A,e){return A.create(ne(A.toArray(),e))}})});function Er(A,e){return te(A,(function(A,t,n){return gr(e,A,[t],n,"filter")}))}var lr=le("forEach",["typed"],A=>{var{typed:e}=A;return e("forEach",{"Array, function":ur,"Matrix, function":function(A,e){A.forEach(e)}})});function ur(A,e){!function t(n,i){if(!Array.isArray(n))return gr(e,n,i,A,"forEach");ee(n,(function(A,e){t(A,i.concat(e))}))}(A,[])}var wr=le("format",["typed"],A=>{var{typed:e}=A;return e("format",{any:SA,"any, Object | function | number":SA})}),hr=le("getMatrixDataType",["typed"],A=>{var{typed:e}=A;return e("getMatrixDataType",{Array:function(A){return oe(A,V)},Matrix:function(A){return A.getDataType()}})}),Cr=le("hex",["typed","format"],A=>{var{typed:e,format:t}=A;return e("hex",{"number | BigNumber":function(A){return t(A,{notation:"hex"})},"number | BigNumber, number":function(A,e){return t(A,{notation:"hex",wordSize:e})}})}),dr=le("im",["typed"],A=>{var{typed:e}=A;return e("im",{number:()=>0,"BigNumber | Fraction":A=>A.mul(0),Complex:A=>A.im,"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),Ir=le("isInteger",["typed"],A=>{var{typed:e}=A;return e("isInteger",{number:BA,BigNumber:function(A){return A.isInt()},Fraction:function(A){return 1===A.d&&isFinite(A.n)},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})});function Mr(A){return A<0}function pr(A){return A>0}function mr(A){return 0===A}function Fr(A){return Number.isNaN(A)}Mr.signature="number",pr.signature="number",mr.signature="number",Fr.signature="number";var Dr=le("isNegative",["typed"],A=>{var{typed:e}=A;return e("isNegative",{number:Mr,BigNumber:function(A){return A.isNeg()&&!A.isZero()&&!A.isNaN()},Fraction:function(A){return A.s<0},Unit:e.referToSelf(A=>t=>e.find(A,t.valueType())(t.value)),"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),Yr=le("isPositive",["typed"],A=>{var{typed:e}=A;return e("isPositive",{number:pr,BigNumber:function(A){return!A.isNeg()&&!A.isZero()&&!A.isNaN()},Fraction:function(A){return A.s>0&&A.n>0},Unit:e.referToSelf(A=>t=>e.find(A,t.valueType())(t.value)),"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),fr=le("isZero",["typed"],A=>{var{typed:e}=A;return e("isZero",{number:mr,BigNumber:function(A){return A.isZero()},Complex:function(A){return 0===A.re&&0===A.im},Fraction:function(A){return 1===A.d&&0===A.n},Unit:e.referToSelf(A=>t=>e.find(A,t.valueType())(t.value)),"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})});function Nr(A){var e;if(BA(A))return A<=0?isFinite(A)?1/0:NaN:A>171?1/0:Li(1,A-1);if(A<.5)return Math.PI/(Math.sin(Math.PI*A)*Nr(1-A));if(A>=171.35)return 1/0;if(A>85){var t=A*A,n=t*A,i=n*A,r=i*A;return Math.sqrt(2*Math.PI/A)*Math.pow(A/Math.E,A)*(1+1/(12*A)+1/(288*t)-139/(51840*n)-571/(2488320*i)+163879/(209018880*r)+5246819/(75246796800*r*A))}--A,e=yr[0];for(var s=1;s<yr.length;++s)e+=yr[s]/(A+s);var o=A+Ur+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,A+.5)*Math.exp(-o)*e}Nr.signature="number";var Ur=4.7421875,yr=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],xr=[1.000000000190015,76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];function Tr(A){if(A<0)return NaN;if(0===A)return 1/0;if(!isFinite(A))return A;if(A<.5)return Math.log(Math.PI/Math.sin(Math.PI*A))-Tr(1-A);for(var e=(A-=1)+5+.5,t=xr[0],n=6;n>=1;n--)t+=xr[n]/(A+n);return.9189385332046728+(A+.5)*Math.log(e)-e+Math.log(t)}Tr.signature="number";var Rr=le("lgamma",["Complex","typed"],A=>{var{Complex:e,typed:t}=A,n=[-.029550653594771242,.00641025641025641,-.0019175269175269176,.0008417508417508417,-.0005952380952380953,.0007936507936507937,-.002777777777777778,.08333333333333333];return t("lgamma",{number:Tr,Complex:function A(t){if(t.isNaN())return new e(NaN,NaN);if(0===t.im)return new e(Tr(t.re),0);if(t.re>=7||Math.abs(t.im)>=7)return i(t);if(t.re<=.1){var n=(a=6.283185307179586,B=t.im,((a>0||!(a<0)&&1/a==1/0)^(B>0||!(B<0)&&1/B==1/0)?-a:a)*Math.floor(.5*t.re+.25)),s=t.mul(Math.PI).sin().log(),o=A(new e(1-t.re,-t.im));return new e(1.1447298858494002,n).sub(s).sub(o)}return t.im>=0?r(t):r(t.conjugate()).conjugate();var a,B},BigNumber:function(){throw new Error("mathjs doesn't yet provide an implementation of the algorithm lgamma for BigNumber")}});function i(A){for(var t=A.sub(.5).mul(A.log()).sub(A).add(.9189385332046728),i=new e(1,0).div(A),r=i.div(A),s=n[0],o=n[1],a=2*r.re,B=r.re*r.re+r.im*r.im,c=2;c<8;c++){var g=o;o=-B*s+n[c],s=a*s+g}var Q=i.mul(r.mul(s).add(o));return t.add(Q)}function r(A){var t=0,n=0,r=A;for(A=A.add(1);A.re<=7;){var s=(r=r.mul(A)).im<0?1:0;0!==s&&0===n&&t++,n=s,A=A.add(1)}return i(A).sub(r.log()).sub(new e(0,2*t*Math.PI*1))}}),Gr=le("log10",["typed","config","Complex"],A=>{var{typed:e,config:t,Complex:n}=A;return e("log10",{number:function(A){return A>=0||t.predictable?vn(A):new n(A,0).log().div(Math.LN10)},Complex:function(A){return new n(A).log().div(Math.LN10)},BigNumber:function(A){return!A.isNegative()||t.predictable?A.log():new n(A.toNumber(),0).log().div(Math.LN10)},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),Sr=le("log2",["typed","config","Complex"],A=>{var{typed:e,config:t,Complex:n}=A;return e("log2",{number:function(A){return A>=0||t.predictable?Ln(A):i(new n(A,0))},Complex:i,BigNumber:function(A){return!A.isNegative()||t.predictable?A.log(2):i(new n(A.toNumber(),0))},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))});function i(A){var e=Math.sqrt(A.re*A.re+A.im*A.im);return new n(Math.log2?Math.log2(e):Math.log(e)/Math.LN2,Math.atan2(A.im,A.re)/Math.LN2)}}),Hr=le("map",["typed"],A=>{var{typed:e}=A;return e("map",{"Array, function":br,"Matrix, function":function(A,e){return A.map(e)}})});function br(A,e){return function t(n,i){return Array.isArray(n)?n.map((function(A,e){return t(A,i.concat(e))})):gr(e,n,i,A,"map")}(A,[])}var kr=le("multiplyScalar",["typed"],A=>{var{typed:e}=A;return e("multiplyScalar",{"number, number":Gn,"Complex, Complex":function(A,e){return A.mul(e)},"BigNumber, BigNumber":function(A,e){return A.times(e)},"Fraction, Fraction":function(A,e){return A.mul(e)},"number | Fraction | BigNumber | Complex, Unit":(A,e)=>e.multiply(A),"Unit, number | Fraction | BigNumber | Complex | Unit":(A,e)=>A.multiply(e)})});function Jr(A){return!A}function jr(A,e){return!(!A&&!e)}function zr(A,e){return!!A!=!!e}function vr(A,e){return!(!A||!e)}Jr.signature="number",jr.signature="number, number",zr.signature="number, number",vr.signature="number, number";var Lr=le("not",["typed"],A=>{var{typed:e}=A;return e("not",{"null | undefined":()=>!0,number:Jr,Complex:function(A){return 0===A.re&&0===A.im},BigNumber:function(A){return A.isZero()||A.isNaN()},Unit:e.referToSelf(A=>t=>e.find(A,t.valueType())(t.value)),"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})});var Pr=le("number",["typed"],A=>{var{typed:e}=A,t=e("number",{"":function(){return 0},number:function(A){return A},string:function(A){if("NaN"===A)return NaN;var e,t,n=(t=(e=A).match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/))?{input:e,radix:{"0b":2,"0o":8,"0x":16}[t[1]],integerPart:t[2],fractionalPart:t[3]}:null;if(n)return function(A){for(var e=parseInt(A.integerPart,A.radix),t=0,n=0;n<A.fractionalPart.length;n++){t+=parseInt(A.fractionalPart[n],A.radix)/Math.pow(A.radix,n+1)}var i=e+t;if(isNaN(i))throw new SyntaxError('String "'+A.input+'" is no valid number');return i}(n);var i=0,r=A.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);r&&(i=Number(r[2]),A=r[1]);var s=Number(A);if(isNaN(s))throw new SyntaxError('String "'+A+'" is no valid number');if(r){if(s>2**i-1)throw new SyntaxError('String "'.concat(A,'" is out of range'));s>=2**(i-1)&&(s-=2**i)}return s},BigNumber:function(A){return A.toNumber()},Fraction:function(A){return A.valueOf()},Unit:e.referToSelf(A=>e=>{var t=e.clone();return t.value=A(e.value),t}),null:function(A){return 0},"Unit, string | Unit":function(A,e){return A.toNumber(e)},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))});return t.fromJSON=function(A){return parseFloat(A.value)},t}),Or=le("oct",["typed","format"],A=>{var{typed:e,format:t}=A;return e("oct",{"number | BigNumber":function(A){return t(A,{notation:"oct"})},"number | BigNumber, number":function(A,e){return t(A,{notation:"oct",wordSize:e})}})}),Wr=t(97),Vr=t.n(Wr),Kr=Vr()(Date.now());function Xr(A){var e,t;return e=null===(t=A)?Kr:Vr()(String(t)),function(){return e()}}var Zr=le("pickRandom",["typed","config","?on"],A=>{var{typed:e,config:t,on:n}=A,i=Xr(t.randomSeed);return n&&n("config",(function(A,e){A.randomSeed!==e.randomSeed&&(i=Xr(A.randomSeed))})),e("pickRandom",{"Array | Matrix":function(A){return r(A,{})},"Array | Matrix, Object":function(A,e){return r(A,e)},"Array | Matrix, number":function(A,e){return r(A,{number:e})},"Array | Matrix, Array | Matrix":function(A,e){return r(A,{weights:e})},"Array | Matrix, Array | Matrix, number":function(A,e,t){return r(A,{number:t,weights:e})},"Array | Matrix, number, Array | Matrix":function(A,e,t){return r(A,{number:e,weights:t})}});function r(A,e){var{number:t,weights:n,elementWise:r=!0}=e,s=void 0===t;s&&(t=1);var a=l(A)?A.create:l(n)?n.create:null;A=A.valueOf(),n&&(n=n.valueOf()),!0===r&&(A=$A(A),n=$A(n));var B=0;if(void 0!==n){if(n.length!==A.length)throw new Error("Weights must have the same length as possibles");for(var c=0,g=n.length;c<g;c++){if(!o(n[c])||n[c]<0)throw new Error("Weights must be an array of positive numbers");B+=n[c]}}for(var Q,E=A.length,u=[];u.length<t;){if(void 0===n)Q=A[Math.floor(i()*E)];else for(var w=i()*B,h=0,C=A.length;h<C;h++)if((w-=n[h])<0){Q=A[h];break}u.push(Q)}return s?u[0]:a?a(u):u}}),_r=/\$([\w.]+)/g,qr=le("print",["typed"],A=>{var{typed:e}=A;return e("print",{"string, Object | Array":$r,"string, Object | Array, number | Object":$r})});function $r(A,e,t){return A.replace(_r,(function(A,n){var i=n.split("."),r=e[i.shift()];for(void 0!==r&&r.isMatrix&&(r=r.toArray());i.length&&void 0!==r;){var s=i.shift();r=s?r[s]:r+"."}return void 0!==r?Q(r)?r:SA(r,t):A}))}function As(A,e){var t=[];if((A=A.slice(0)).length>1)for(var n=0,i=A.shift();n<i;n++)t.push(As(A,e));else for(var r=0,s=A.shift();r<s;r++)t.push(e());return t}var es=le("random",["typed","config","?on"],A=>{var{typed:e,config:t,on:n}=A,i=Xr(t.randomSeed);return n&&n("config",(function(A,e){A.randomSeed!==e.randomSeed&&(i=Xr(A.randomSeed))})),e("random",{"":()=>s(0,1),number:A=>s(0,A),"number, number":(A,e)=>s(A,e),"Array | Matrix":A=>r(A,0,1),"Array | Matrix, number":(A,e)=>r(A,0,e),"Array | Matrix, number, number":(A,e,t)=>r(A,e,t)});function r(A,e,t){var n=As(A.valueOf(),()=>s(e,t));return l(A)?A.create(n):n}function s(A,e){return A+i()*(e-A)}}),ts=le("re",["typed"],A=>{var{typed:e}=A;return e("re",{"number | BigNumber | Fraction":A=>A,Complex:A=>A.re,"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),ns=le("sec",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("sec",{number:Qi,Complex:A=>A.sec(),BigNumber:A=>new t(1).div(A.cos())},Xi({typed:e}))}),is=le("sign",["typed","BigNumber","Fraction","complex"],A=>{var{typed:e,BigNumber:t,complex:n,Fraction:i}=A;return e("sign",{number:On,Complex:function(A){return 0===A.im?n(On(A.re)):A.sign()},BigNumber:function(A){return new t(A.cmp(0))},Fraction:function(A){return new i(A.s,1)},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A,!0)),Unit:e.referToSelf(A=>t=>{if(!t._isDerived()&&0!==t.units[0].unit.offset)throw new TypeError("sign is ambiguous for units with offset");return e.find(A,t.valueType())(t.value)})})}),rs=le("sin",["typed"],A=>{var{typed:e}=A,t=Xi({typed:e});return e("sin",{number:Math.sin,"Complex | BigNumber":A=>A.sin()},t)}),ss=le("SparseMatrix",["typed","equalScalar","Matrix"],A=>{var{typed:e,equalScalar:t,Matrix:n}=A;function i(A,e){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");if(e&&!Q(e))throw new Error("Invalid datatype: "+e);if(l(A))!function(A,e,t){"SparseMatrix"===e.type?(A._values=e._values?K(e._values):void 0,A._index=K(e._index),A._ptr=K(e._ptr),A._size=K(e._size),A._datatype=t||e._datatype):r(A,e.valueOf(),t||e._datatype)}(this,A,e);else if(A&&E(A.index)&&E(A.ptr)&&E(A.size))this._values=A.values,this._index=A.index,this._ptr=A.ptr,this._size=A.size,this._datatype=e||A.datatype;else if(E(A))r(this,A,e);else{if(A)throw new TypeError("Unsupported type of data ("+V(A)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=e}}function r(A,n,i){A._values=[],A._index=[],A._ptr=[],A._datatype=i;var r=n.length,s=0,o=t,a=0;if(Q(i)&&(o=e.find(t,[i,i])||t,a=e.convert(0,i)),r>0){var B=0;do{A._ptr.push(A._index.length);for(var c=0;c<r;c++){var g=n[c];if(E(g)){if(0===B&&s<g.length&&(s=g.length),B<g.length){var l=g[B];o(l,a)||(A._values.push(l),A._index.push(c))}}else 0===B&&s<1&&(s=1),o(g,a)||(A._values.push(g),A._index.push(c))}B++}while(B<s)}A._ptr.push(A._index.length),A._size=[r,s]}function s(A,e){if(!d(e))throw new TypeError("Invalid index");if(e.isScalar())return A.get(e.min());var t,n,r,s,o=e.size();if(o.length!==A._size.length)throw new jA(o.length,A._size.length);var a=e.min(),B=e.max();for(t=0,n=A._size.length;t<n;t++)OA(a[t],A._size[t]),OA(B[t],A._size[t]);var c=A._values,g=A._index,Q=A._ptr,E=e.dimension(0),l=e.dimension(1),u=[],w=[];E.forEach((function(A,e){w[A]=e[0],u[A]=!0}));var h=c?[]:void 0,C=[],I=[];return l.forEach((function(A){for(I.push(C.length),r=Q[A],s=Q[A+1];r<s;r++)t=g[r],!0===u[t]&&(C.push(w[t]),h&&h.push(c[r]))})),I.push(C.length),new i({values:h,index:C,ptr:I,size:o,datatype:A._datatype})}function B(A,e,t,n){if(!e||!0!==e.isIndex)throw new TypeError("Invalid index");var i,r=e.size(),s=e.isScalar();if(l(t)?(i=t.size(),t=t.toArray()):i=vA(t),s){if(0!==i.length)throw new TypeError("Scalar expected");A.set(e.min(),t,n)}else{if(1!==r.length&&2!==r.length)throw new jA(r.length,A._size.length,"<");if(i.length<r.length){for(var o=0,a=0;1===r[o]&&1===i[o];)o++;for(;1===r[o];)a++,o++;t=qA(t,r.length,a,i)}if(!_(r,i))throw new jA(r,i,">");if(1===r.length){e.dimension(0).forEach((function(e,i){OA(e),A.set([e,0],t[i[0]],n)}))}else{var B=e.dimension(0),c=e.dimension(1);B.forEach((function(e,i){OA(e),c.forEach((function(r,s){OA(r),A.set([e,r],t[i[0]][s[0]],n)}))}))}}return A}function c(A,e,t,n){if(t-e==0)return t;for(var i=e;i<t;i++)if(n[i]===A)return i;return e}function g(A,e,t,n,i,r,s){i.splice(A,0,n),r.splice(A,0,e);for(var o=t+1;o<s.length;o++)s[o]++}function w(A,n,i,r){var s=r||0,o=t,a=0;Q(A._datatype)&&(o=e.find(t,[A._datatype,A._datatype])||t,a=e.convert(0,A._datatype),s=e.convert(s,A._datatype));var B,c,g,E=!o(s,a),l=A._size[0],u=A._size[1];if(i>u){for(c=u;c<i;c++)if(A._ptr[c]=A._values.length,E)for(B=0;B<l;B++)A._values.push(s),A._index.push(B);A._ptr[i]=A._values.length}else i<u&&(A._ptr.splice(i+1,u-i),A._values.splice(A._ptr[i],A._values.length),A._index.splice(A._ptr[i],A._index.length));if(u=i,n>l){if(E){var w=0;for(c=0;c<u;c++){A._ptr[c]=A._ptr[c]+w,g=A._ptr[c+1]+w;var h=0;for(B=l;B<n;B++,h++)A._values.splice(g+h,0,s),A._index.splice(g+h,0,B),w++}A._ptr[u]=A._values.length}}else if(n<l){var C=0;for(c=0;c<u;c++){A._ptr[c]=A._ptr[c]-C;var d=A._ptr[c],I=A._ptr[c+1]-C;for(g=d;g<I;g++)(B=A._index[g])>n-1&&(A._values.splice(g,1),A._index.splice(g,1),C++)}A._ptr[c]=A._values.length}return A._size[0]=n,A._size[1]=i,A}function h(A,e,t,n,i){var r,s,o=n[0],a=n[1],B=[];for(r=0;r<o;r++)for(B[r]=[],s=0;s<a;s++)B[r][s]=0;for(s=0;s<a;s++)for(var c=t[s],g=t[s+1],Q=c;Q<g;Q++)B[r=e[Q]][s]=A?i?K(A[Q]):A[Q]:1;return B}return i.prototype=new n,i.prototype.createSparseMatrix=function(A,e){return new i(A,e)},Object.defineProperty(i,"name",{value:"SparseMatrix"}),i.prototype.constructor=i,i.prototype.type="SparseMatrix",i.prototype.isSparseMatrix=!0,i.prototype.getDataType=function(){return oe(this._values,V)},i.prototype.storage=function(){return"sparse"},i.prototype.datatype=function(){return this._datatype},i.prototype.create=function(A,e){return new i(A,e)},i.prototype.density=function(){var A=this._size[0],e=this._size[1];return 0!==A&&0!==e?this._index.length/(A*e):0},i.prototype.subset=function(A,e,t){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return s(this,A);case 2:case 3:return B(this,A,e,t);default:throw new SyntaxError("Wrong number of arguments")}},i.prototype.get=function(A){if(!E(A))throw new TypeError("Array expected");if(A.length!==this._size.length)throw new jA(A.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var e=A[0],t=A[1];OA(e,this._size[0]),OA(t,this._size[1]);var n=c(e,this._ptr[t],this._ptr[t+1],this._index);return n<this._ptr[t+1]&&this._index[n]===e?this._values[n]:0},i.prototype.set=function(A,n,i){if(!E(A))throw new TypeError("Array expected");if(A.length!==this._size.length)throw new jA(A.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var r=A[0],s=A[1],o=this._size[0],a=this._size[1],B=t,l=0;Q(this._datatype)&&(B=e.find(t,[this._datatype,this._datatype])||t,l=e.convert(0,this._datatype)),(r>o-1||s>a-1)&&(w(this,Math.max(r+1,o),Math.max(s+1,a),i),o=this._size[0],a=this._size[1]),OA(r,o),OA(s,a);var u=c(r,this._ptr[s],this._ptr[s+1],this._index);return u<this._ptr[s+1]&&this._index[u]===r?B(n,l)?function(A,e,t,n,i){t.splice(A,1),n.splice(A,1);for(var r=e+1;r<i.length;r++)i[r]--}(u,s,this._values,this._index,this._ptr):this._values[u]=n:B(n,l)||g(u,r,s,n,this._values,this._index,this._ptr),this},i.prototype.resize=function(A,e,t){if(!u(A))throw new TypeError("Array or Matrix expected");var n=A.valueOf().map(A=>Array.isArray(A)&&1===A.length?A[0]:A);if(2!==n.length)throw new Error("Only two dimensions matrix are supported");return n.forEach((function(A){if(!o(A)||!BA(A)||A<0)throw new TypeError("Invalid size, must contain positive integers (size: "+SA(n)+")")})),w(t?this.clone():this,n[0],n[1],e)},i.prototype.reshape=function(A,e){if(!E(A))throw new TypeError("Array expected");if(2!==A.length)throw new Error("Sparse matrices can only be reshaped in two dimensions");A.forEach((function(e){if(!o(e)||!BA(e)||e<=-2||0===e)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+SA(A)+")")}));var t=this._size[0]*this._size[1];if(t!==(A=XA(A,t))[0]*A[1])throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var n=e?this.clone():this;if(this._size[0]===A[0]&&this._size[1]===A[1])return n;for(var i=[],r=0;r<n._ptr.length;r++)for(var s=0;s<n._ptr[r+1]-n._ptr[r];s++)i.push(r);for(var a=n._values.slice(),B=n._index.slice(),Q=0;Q<n._index.length;Q++){var l=B[Q],u=i[Q],w=l*n._size[1]+u;i[Q]=w%A[1],B[Q]=Math.floor(w/A[1])}n._values.length=0,n._index.length=0,n._ptr.length=A[1]+1,n._size=A.slice();for(var h=0;h<n._ptr.length;h++)n._ptr[h]=0;for(var C=0;C<a.length;C++){var d=B[C],I=i[C],M=a[C];g(c(d,n._ptr[I],n._ptr[I+1],n._index),d,I,M,n._values,n._index,n._ptr)}return n},i.prototype.clone=function(){return new i({values:this._values?K(this._values):void 0,index:K(this._index),ptr:K(this._ptr),size:K(this._size),datatype:this._datatype})},i.prototype.size=function(){return this._size.slice(0)},i.prototype.map=function(A,n){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var r=this,s=this._size[0],o=this._size[1],a=me(A);return function(A,n,r,s,o,a,B){var c=[],g=[],E=[],l=t,u=0;Q(A._datatype)&&(l=e.find(t,[A._datatype,A._datatype])||t,u=e.convert(0,A._datatype));for(var w=function(A,e,t){A=a(A,e,t),l(A,u)||(c.push(A),g.push(e))},h=s;h<=o;h++){E.push(c.length);var C=A._ptr[h],d=A._ptr[h+1];if(B)for(var I=C;I<d;I++){var M=A._index[I];M>=n&&M<=r&&w(A._values[I],M-n,h-s)}else{for(var p={},m=C;m<d;m++){var F=A._index[m];p[F]=A._values[m]}for(var D=n;D<=r;D++){var Y=D in p?p[D]:0;w(Y,D-n,h-s)}}}return E.push(c.length),new i({values:c,index:g,ptr:E,size:[r-n+1,o-s+1]})}(this,0,s-1,0,o-1,(function(e,t,n){return 1===a?A(e):2===a?A(e,[t,n]):A(e,[t,n],r)}),n)},i.prototype.forEach=function(A,e){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var t=this._size[0],n=this._size[1],i=0;i<n;i++){var r=this._ptr[i],s=this._ptr[i+1];if(e)for(var o=r;o<s;o++){var a=this._index[o];A(this._values[o],[a,i],this)}else{for(var B={},c=r;c<s;c++){B[this._index[c]]=this._values[c]}for(var g=0;g<t;g++){A(g in B?B[g]:0,[g,i],this)}}}},i.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var A=this._size[1],e=0;e<A;e++)for(var t=this._ptr[e],n=this._ptr[e+1],i=t;i<n;i++){var r=this._index[i];yield{value:this._values[i],index:[r,e]}}},i.prototype.toArray=function(){return h(this._values,this._index,this._ptr,this._size,!0)},i.prototype.valueOf=function(){return h(this._values,this._index,this._ptr,this._size,!1)},i.prototype.format=function(A){for(var e=this._size[0],t=this._size[1],n=this.density(),i="Sparse Matrix ["+SA(e,A)+" x "+SA(t,A)+"] density: "+SA(n,A)+"\n",r=0;r<t;r++)for(var s=this._ptr[r],o=this._ptr[r+1],a=s;a<o;a++){i+="\n ("+SA(this._index[a],A)+", "+SA(r,A)+") ==> "+(this._values?SA(this._values[a],A):"X")}return i},i.prototype.toString=function(){return SA(this.toArray())},i.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},i.prototype.diagonal=function(A){if(A){if(a(A)&&(A=A.toNumber()),!o(A)||!BA(A))throw new TypeError("The parameter k must be an integer number")}else A=0;var e=A>0?A:0,t=A<0?-A:0,n=this._size[0],r=this._size[1],s=Math.min(n-t,r-e),B=[],c=[],g=[];g[0]=0;for(var Q=e;Q<r&&B.length<s;Q++)for(var E=this._ptr[Q],l=this._ptr[Q+1],u=E;u<l;u++){var w=this._index[u];if(w===Q-e+t){B.push(this._values[u]),c[B.length-1]=w-t;break}}return g.push(B.length),new i({values:B,index:c,ptr:g,size:[s,1]})},i.fromJSON=function(A){return new i(A)},i.diagonal=function(A,n,r,s,B){if(!E(A))throw new TypeError("Array expected, size parameter");if(2!==A.length)throw new Error("Only two dimensions matrix are supported");if(A=A.map((function(A){if(a(A)&&(A=A.toNumber()),!o(A)||!BA(A)||A<1)throw new Error("Size values must be positive integers");return A})),r){if(a(r)&&(r=r.toNumber()),!o(r)||!BA(r))throw new TypeError("The parameter k must be an integer number")}else r=0;var c=t,g=0;Q(B)&&(c=e.find(t,[B,B])||t,g=e.convert(0,B));var u,w=r>0?r:0,h=r<0?-r:0,C=A[0],d=A[1],I=Math.min(C-h,d-w);if(E(n)){if(n.length!==I)throw new Error("Invalid value array length");u=function(A){return n[A]}}else if(l(n)){var M=n.size();if(1!==M.length||M[0]!==I)throw new Error("Invalid matrix length");u=function(A){return n.get([A])}}else u=function(){return n};for(var p=[],m=[],F=[],D=0;D<d;D++){F.push(p.length);var Y=D-w;if(Y>=0&&Y<I){var f=u(Y);c(f,g)||(m.push(Y+h),p.push(f))}}return F.push(p.length),new i({values:p,index:m,ptr:F,size:[C,d]})},i.prototype.swapRows=function(A,e){if(!(o(A)&&BA(A)&&o(e)&&BA(e)))throw new Error("Row index must be positive integers");if(2!==this._size.length)throw new Error("Only two dimensional matrix is supported");return OA(A,this._size[0]),OA(e,this._size[0]),i._swapRows(A,e,this._size[1],this._values,this._index,this._ptr),this},i._forEachRow=function(A,e,t,n,i){for(var r=n[A],s=n[A+1],o=r;o<s;o++)i(t[o],e[o])},i._swapRows=function(A,e,t,n,i,r){for(var s=0;s<t;s++){var o=r[s],a=r[s+1],B=c(A,o,a,i),g=c(e,o,a,i);if(B<a&&g<a&&i[B]===A&&i[g]===e){if(n){var Q=n[B];n[B]=n[g],n[g]=Q}}else if(B<a&&i[B]===A&&(g>=a||i[g]!==e)){var E=n?n[B]:void 0;i.splice(g,0,e),n&&n.splice(g,0,E),i.splice(g<=B?B+1:B,1),n&&n.splice(g<=B?B+1:B,1)}else if(g<a&&i[g]===e&&(B>=a||i[B]!==A)){var l=n?n[g]:void 0;i.splice(B,0,A),n&&n.splice(B,0,l),i.splice(B<=g?g+1:g,1),n&&n.splice(B<=g?g+1:g,1)}}},i},{isClass:!0}),os=le("splitUnit",["typed"],A=>{var{typed:e}=A;return e("splitUnit",{"Unit, Array":function(A,e){return A.splitUnit(e)}})}),as=le("square",["typed"],A=>{var{typed:e}=A;return e("square",{number:Wn,Complex:function(A){return A.mul(A)},BigNumber:function(A){return A.times(A)},Fraction:function(A){return A.mul(A)},Unit:function(A){return A.pow(2)}})}),Bs=le("string",["typed"],A=>{var{typed:e}=A;return e("string",{"":function(){return""},number:hA,null:function(A){return"null"},boolean:function(A){return A+""},string:function(A){return A},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A)),any:function(A){return String(A)}})}),cs=le("subtractScalar",["typed"],A=>{var{typed:e}=A;return e("subtractScalar",{"number, number":Rn,"Complex, Complex":function(A,e){return A.sub(e)},"BigNumber, BigNumber":function(A,e){return A.minus(e)},"Fraction, Fraction":function(A,e){return A.sub(e)},"Unit, Unit":e.referToSelf(A=>(t,n)=>{if(null===t.value||void 0===t.value)throw new Error("Parameter x contains a unit with undefined value");if(null===n.value||void 0===n.value)throw new Error("Parameter y contains a unit with undefined value");if(!t.equalBase(n))throw new Error("Units do not match");var i=t.clone();return i.value=e.find(A,[i.valueType(),n.valueType()])(i.value,n.value),i.fixPrefix=!1,i})})}),gs=le("tan",["typed"],A=>{var{typed:e}=A,t=Xi({typed:e});return e("tan",{number:Math.tan,"Complex | BigNumber":A=>A.tan()},t)}),Qs=le("typeOf",["typed"],A=>{var{typed:e}=A;return e("typeOf",{any:V})}),Es=le("acosh",["typed","config","Complex"],A=>{var{typed:e,config:t,Complex:n}=A;return e("acosh",{number:function(A){return A>=1||t.predictable?$n(A):A<=-1?new n(Math.log(Math.sqrt(A*A-1)-A),Math.PI):new n(A,0).acosh()},Complex:function(A){return A.acosh()},BigNumber:function(A){return A.acosh()}})}),ls=le("acsch",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("acsch",{number:ni,Complex:function(A){return A.acsch()},BigNumber:function(A){return new t(1).div(A).asinh()}})}),us=le("apply",["typed","isInteger"],A=>{var{typed:e,isInteger:t}=A;return e("apply",{"Array | Matrix, number | BigNumber, function":function(A,e,n){if(!t(e))throw new TypeError("Integer number expected for dimension");var i=Array.isArray(A)?vA(A):A.size();if(e<0||e>=i.length)throw new zA(e,i.length);return l(A)?A.create(ws(A.valueOf(),e,n)):ws(A,e,n)}})});function ws(A,e,t){var n,i,r;if(e<=0){if(Array.isArray(A[0])){for(r=function(A){var e,t,n=A.length,i=A[0].length,r=[];for(t=0;t<i;t++){var s=[];for(e=0;e<n;e++)s.push(A[e][t]);r.push(s)}return r}(A),i=[],n=0;n<r.length;n++)i[n]=ws(r[n],e-1,t);return i}return t(A)}for(i=[],n=0;n<A.length;n++)i[n]=ws(A[n],e-1,t);return i}var hs=le("asec",["typed","config","Complex","BigNumber"],A=>{var{typed:e,config:t,Complex:n,BigNumber:i}=A;return e("asec",{number:function(A){return A<=-1||A>=1||t.predictable?ii(A):new n(A,0).asec()},Complex:function(A){return A.asec()},BigNumber:function(A){return new i(1).div(A).acos()}})}),Cs=le("bin",["typed","format"],A=>{var{typed:e,format:t}=A;return e("bin",{"number | BigNumber":function(A){return t(A,{notation:"bin"})},"number | BigNumber, number":function(A,e){return t(A,{notation:"bin",wordSize:e})}})}),ds=le("combinationsWithRep",["typed"],A=>{var{typed:e}=A;return e("combinationsWithRep",{"number, number":function(A,e){if(!BA(A)||A<0)throw new TypeError("Positive integer value expected in function combinationsWithRep");if(!BA(e)||e<0)throw new TypeError("Positive integer value expected in function combinationsWithRep");if(A<1)throw new TypeError("k must be less than or equal to n + k - 1");return e<A-1?Li(A,A+e-1)/Li(1,e):Li(e+1,A+e-1)/Li(1,A-1)},"BigNumber, BigNumber":function(A,e){var t,n,i=new(0,A.constructor)(1),r=A.minus(i);if(!Is(A)||!Is(e))throw new TypeError("Positive integer value expected in function combinationsWithRep");if(A.lt(i))throw new TypeError("k must be less than or equal to n + k - 1 in function combinationsWithRep");if(t=i,e.lt(r))for(n=i;n.lte(r);n=n.plus(i))t=t.times(e.plus(n)).dividedBy(n);else for(n=i;n.lte(e);n=n.plus(i))t=t.times(r.plus(n)).dividedBy(n);return t}})});function Is(A){return A.isInteger()&&A.gte(0)}var Ms=le("cosh",["typed"],A=>{var{typed:e}=A;return e("cosh",{number:NA,"Complex | BigNumber":A=>A.cosh()})}),ps=le("csch",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("csch",{number:gi,Complex:A=>A.csch(),BigNumber:A=>new t(1).div(A.sinh())})}),ms=le("isNaN",["typed"],A=>{var{typed:e}=A;return e("isNaN",{number:Fr,BigNumber:function(A){return A.isNaN()},Fraction:function(A){return!1},Complex:function(A){return A.isNaN()},Unit:function(A){return Number.isNaN(A.value)},"Array | Matrix":function(A){return fn(A,Number.isNaN)}})}),Fs=le("isPrime",["typed"],A=>{var{typed:e}=A;return e("isPrime",{number:function(A){if(0*A!=0)return!1;if(A<=3)return A>1;if(A%2==0||A%3==0)return!1;for(var e=5;e*e<=A;e+=6)if(A%e==0||A%(e+2)==0)return!1;return!0},BigNumber:function(A){if(0*A.toNumber()!=0)return!1;if(A.lte(3))return A.gt(1);if(A.mod(2).eq(0)||A.mod(3).eq(0))return!1;if(A.lt(Math.pow(2,32))){for(var e=A.toNumber(),t=5;t*t<=e;t+=6)if(e%t==0||e%(t+2)==0)return!1;return!0}function n(A,e,t){for(var n=1;!e.eq(0);)e.mod(2).eq(0)?(e=e.div(2),A=A.mul(A).mod(t)):(e=e.sub(1),n=A.mul(n).mod(t));return n}for(var i=A.constructor.clone({precision:2*A.toFixed(0).length}),r=0,s=(A=new i(A)).sub(1);s.mod(2).eq(0);)s=s.div(2),r+=1;var o=null;if(A.lt("3317044064679887385961981"))o=[2,3,5,7,11,13,17,19,23,29,31,37,41].filter(e=>e<A);else{var a=Math.min(A.toNumber()-2,Math.floor(2*Math.pow(A.toFixed(0).length*Math.log(10),2)));o=[];for(var B=2;B<=a;B+=1)o.push(a)}for(var c=0;c<o.length;c+=1){var g=o[c],Q=n(A.sub(A).add(g),s,A);if(!Q.eq(1))for(var E=0,l=Q;!l.eq(A.sub(1));E+=1,l=l.mul(l).mod(A))if(E===r-1)return!1}return!0},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),Ds=le("randomInt",["typed","config","?on"],A=>{var{typed:e,config:t,on:n}=A,i=Xr(t.randomSeed);return n&&n("config",(function(A,e){A.randomSeed!==e.randomSeed&&(i=Xr(A.randomSeed))})),e("randomInt",{"":()=>s(0,1),number:A=>s(0,A),"number, number":(A,e)=>s(A,e),"Array | Matrix":A=>r(A,0,1),"Array | Matrix, number":(A,e)=>r(A,0,e),"Array | Matrix, number, number":(A,e,t)=>r(A,e,t)});function r(A,e,t){var n=As(A.valueOf(),()=>s(e,t));return l(A)?A.create(n):n}function s(A,e){return Math.floor(A+i()*(e-A))}}),Ys=le("sech",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("sech",{number:Ei,Complex:A=>A.sech(),BigNumber:A=>new t(1).div(A.cosh())})}),fs=le("sinh",["typed"],A=>{var{typed:e}=A;return e("sinh",{number:li,"Complex | BigNumber":A=>A.sinh()})}),Ns=le("sparse",["typed","SparseMatrix"],A=>{var{typed:e,SparseMatrix:t}=A;return e("sparse",{"":function(){return new t([])},string:function(A){return new t([],A)},"Array | Matrix":function(A){return new t(A)},"Array | Matrix, string":function(A,e){return new t(A,e)}})}),Us=le("sqrt",["config","typed","Complex"],A=>{var{config:e,typed:t,Complex:n}=A;return t("sqrt",{number:i,Complex:function(A){return A.sqrt()},BigNumber:function(A){return!A.isNegative()||e.predictable?A.sqrt():i(A.toNumber())},Unit:function(A){return A.pow(.5)}});function i(A){return isNaN(A)?NaN:A>=0||e.predictable?Math.sqrt(A):new n(A,0).sqrt()}}),ys=le("tanh",["typed"],A=>{var{typed:e}=A;return e("tanh",{number:yA,"Complex | BigNumber":A=>A.tanh()})}),xs=le("unaryMinus",["typed"],A=>{var{typed:e}=A;return e("unaryMinus",{number:Sn,"Complex | BigNumber | Fraction":A=>A.neg(),Unit:e.referToSelf(A=>t=>{var n=t.clone();return n.value=e.find(A,n.valueType())(t.value),n}),"Array | Matrix":e.referToSelf(A=>e=>fn(e,A,!0))})}),Ts=le("acoth",["typed","config","Complex","BigNumber"],A=>{var{typed:e,config:t,Complex:n,BigNumber:i}=A;return e("acoth",{number:function(A){return A>=1||A<=-1||t.predictable?ei(A):new n(A,0).acoth()},Complex:function(A){return A.acoth()},BigNumber:function(A){return new i(1).div(A).atanh()}})}),Rs=le("coth",["typed","BigNumber"],A=>{var{typed:e,BigNumber:t}=A;return e("coth",{number:Bi,Complex:A=>A.coth(),BigNumber:A=>new t(1).div(A.tanh())})}),Gs=le("fraction",["typed","Fraction"],A=>{var{typed:e,Fraction:t}=A;return e("fraction",{number:function(A){if(!isFinite(A)||isNaN(A))throw new Error(A+" cannot be represented as a fraction");return new t(A)},string:function(A){return new t(A)},"number, number":function(A,e){return new t(A,e)},null:function(A){return new t(0)},BigNumber:function(A){return new t(A.toString())},Fraction:function(A){return A},Unit:e.referToSelf(A=>e=>{var t=e.clone();return t.value=A(e.value),t}),Object:function(A){return new t(A)},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),Ss=le("isNumeric",["typed"],A=>{var{typed:e}=A;return e("isNumeric",{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),Hs=le("matrix",["typed","Matrix","DenseMatrix","SparseMatrix"],A=>{var{typed:e,Matrix:t,DenseMatrix:n,SparseMatrix:i}=A;return e("matrix",{"":function(){return r([])},string:function(A){return r([],A)},"string, string":function(A,e){return r([],A,e)},Array:function(A){return r(A)},Matrix:function(A){return r(A,A.storage())},"Array | Matrix, string":r,"Array | Matrix, string, string":r});function r(A,e,t){if("dense"===e||"default"===e||void 0===e)return new n(A,t);if("sparse"===e)return new i(A,t);throw new TypeError("Unknown matrix type "+JSON.stringify(e)+".")}}),bs=le("matrixFromFunction",["typed","matrix","isZero"],A=>{var{typed:e,matrix:t,isZero:n}=A;return e("matrixFromFunction",{"Array | Matrix, function, string, string":function(A,e,t,n){return i(A,e,t,n)},"Array | Matrix, function, string":function(A,e,t){return i(A,e,t)},"Matrix, function":function(A,e){return i(A,e,"dense")},"Array, function":function(A,e){return i(A,e,"dense").toArray()},"Array | Matrix, string, function":function(A,e,t){return i(A,t,e)},"Array | Matrix, string, string, function":function(A,e,t,n){return i(A,n,e,t)}});function i(A,e,i,r){var s;return(s=void 0!==r?t(i,r):t(i)).resize(A),s.forEach((function(A,t){var i=e(t);n(i)||s.set(t,i)})),s}}),ks=le("mode",["typed","isNaN","isNumeric"],A=>{var{typed:e,isNaN:t,isNumeric:n}=A;return e("mode",{"Array | Matrix":i,"...":function(A){return i(A)}});function i(A){if(0===(A=$A(A.valueOf())).length)throw new Error("Cannot calculate mode of an empty array");for(var e={},i=[],r=0,s=0;s<A.length;s++){var o=A[s];if(n(o)&&t(o))throw new Error("Cannot calculate mode of an array containing NaN values");o in e||(e[o]=0),e[o]++,e[o]===r?i.push(o):e[o]>r&&(r=e[o],i=[o])}return i}});function Js(){throw new Error('No "bignumber" implementation available')}function js(){throw new Error('No "fraction" implementation available')}function zs(){throw new Error('No "matrix" implementation available')}var vs=le("numeric",["number","?bignumber","?fraction"],A=>{var{number:e,bignumber:t,fraction:n}=A,i={string:!0,number:!0,BigNumber:!0,Fraction:!0},r={number:A=>e(A),BigNumber:t?A=>t(A):Js,Fraction:n?A=>n(A):js};return function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"number",t=arguments.length>2?arguments[2]:void 0;if(void 0!==t)throw new SyntaxError("numeric() takes one or two arguments");var n=V(A);if(!(n in i))throw new TypeError("Cannot convert "+A+' of type "'+n+'"; valid input types are '+Object.keys(i).join(", "));if(!(e in r))throw new TypeError("Cannot convert "+A+' to type "'+e+'"; valid output types are '+Object.keys(r).join(", "));return e===n?A:r[e](A)}});function Ls(A,e,t){var n;return-1!==String(A).indexOf("Unexpected type")?(n=arguments.length>2?" (type: "+V(t)+", value: "+JSON.stringify(t)+")":" (type: "+A.data.actual+")",new TypeError("Cannot calculate "+e+", unexpected type of argument"+n)):-1!==String(A).indexOf("complex numbers")?(n=arguments.length>2?" (type: "+V(t)+", value: "+JSON.stringify(t)+")":"",new TypeError("Cannot calculate "+e+", no ordering relation is defined for complex numbers"+n)):A}var Ps=le("prod",["typed","config","multiplyScalar","numeric"],A=>{var{typed:e,config:t,multiplyScalar:n,numeric:i}=A;return e("prod",{"Array | Matrix":r,"Array | Matrix, number | BigNumber":function(A,e){throw new Error("prod(A, dim) is not yet supported")},"...":function(A){return r(A)}});function r(A){var e;if(Yn(A,(function(A){try{e=void 0===e?A:n(e,A)}catch(e){throw Ls(e,"prod",A)}})),"string"==typeof e&&(e=i(e,t.number)),void 0===e)throw new Error("Cannot calculate prod of an empty array");return e}}),Os=le("reshape",["typed","isInteger","matrix"],A=>{var{typed:e,isInteger:t}=A;return e("reshape",{"Matrix, Array":function(A,e){return A.reshape(e,!0)},"Array, Array":function(A,e){return e.forEach((function(A){if(!t(A))throw new TypeError("Invalid size for dimension: "+A)})),KA(A,e)}})}),Ws=le("size",["typed","config","?matrix"],A=>{var{typed:e,config:t,matrix:n}=A;return e("size",{Matrix:function(A){return A.create(A.size())},Array:vA,string:function(A){return"Array"===t.matrix?[A.length]:n([A.length])},"number | Complex | BigNumber | Unit | boolean | null":function(A){return"Array"===t.matrix?[]:n?n([]):zs()}})}),Vs=le("squeeze",["typed","matrix"],A=>{var{typed:e,matrix:t}=A;return e("squeeze",{Array:function(A){return _A(K(A))},Matrix:function(A){var e=_A(A.toArray());return Array.isArray(e)?t(e):e},any:function(A){return K(A)}})}),Ks=le("transpose",["typed","matrix"],A=>{var{typed:e,matrix:t}=A;return e("transpose",{Array:A=>n(t(A)).valueOf(),Matrix:n,any:K});function n(A){var e,t=A.size();switch(t.length){case 1:e=A.clone();break;case 2:var n=t[0],i=t[1];if(0===i)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+SA(t)+")");switch(A.storage()){case"dense":e=function(A,e,t){for(var n,i=A._data,r=[],s=0;s<t;s++){n=r[s]=[];for(var o=0;o<e;o++)n[o]=K(i[o][s])}return A.createDenseMatrix({data:r,size:[t,e],datatype:A._datatype})}(A,n,i);break;case"sparse":e=function(A,e,t){for(var n,i,r,s=A._values,o=A._index,a=A._ptr,B=s?[]:void 0,c=[],g=[],Q=[],E=0;E<e;E++)Q[E]=0;for(n=0,i=o.length;n<i;n++)Q[o[n]]++;for(var l=0,u=0;u<e;u++)g.push(l),l+=Q[u],Q[u]=g[u];for(g.push(l),r=0;r<t;r++)for(var w=a[r],h=a[r+1],C=w;C<h;C++){var d=Q[o[C]]++;c[d]=r,s&&(B[d]=K(s[C]))}return A.createSparseMatrix({values:B,index:c,ptr:g,size:[t,e],datatype:A._datatype})}(A,n,i)}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+SA(t)+")")}return e}}),Xs=le("xgcd",["typed","config","matrix","BigNumber"],A=>{var{typed:e,config:t,matrix:n,BigNumber:i}=A;return e("xgcd",{"number, number":function(A,e){var i=Vn(A,e);return"Array"===t.matrix?i:n(i)},"BigNumber, BigNumber":function(A,e){var r,s,o,a,B=new i(0),c=new i(1),g=B,Q=c,E=c,l=B;if(!A.isInt()||!e.isInt())throw new Error("Parameters in function xgcd must be integer numbers");for(;!e.isZero();)s=A.div(e).floor(),o=A.mod(e),r=g,g=Q.minus(s.times(g)),Q=r,r=E,E=l.minus(s.times(E)),l=r,A=e,e=o;a=A.lt(B)?[A.neg(),Q.neg(),l.neg()]:[A,A.isZero()?0:Q,l];return"Array"===t.matrix?a:n(a)}})}),Zs=le("zeros",["typed","config","matrix","BigNumber"],A=>{var{typed:e,config:t,matrix:n,BigNumber:i}=A;return e("zeros",{"":function(){return"Array"===t.matrix?r([]):r([],"default")},"...number | BigNumber | string":function(A){if("string"==typeof A[A.length-1]){var e=A.pop();return r(A,e)}return"Array"===t.matrix?r(A):r(A,"default")},Array:r,Matrix:function(A){var e=A.storage();return r(A.valueOf(),e)},"Array | Matrix, string":function(A,e){return r(A.valueOf(),e)}});function r(A,e){var t=function(A){var e=!1;return A.forEach((function(A,t,n){a(A)&&(e=!0,n[t]=A.toNumber())})),e}(A)?new i(0):0;if(function(A){A.forEach((function(A){if("number"!=typeof A||!BA(A)||A<0)throw new Error("Parameters in function zeros must be positive integers")}))}(A),e){var r=n(e);return A.length>0?r.resize(A,t):r}var s=[];return A.length>0?VA(s,A,t):s}}),_s=le("asin",["typed","config","Complex"],A=>{var{typed:e,config:t,Complex:n}=A;return e("asin",{number:function(A){return A>=-1&&A<=1||t.predictable?Math.asin(A):new n(A,0).asin()},Complex:function(A){return A.asin()},BigNumber:function(A){return A.asin()}})}),qs=le("cbrt",["config","typed","isNegative","unaryMinus","matrix","Complex","BigNumber","Fraction"],A=>{var{config:e,typed:t,isNegative:n,unaryMinus:i,matrix:r,Complex:s,BigNumber:o,Fraction:g}=A;return t("cbrt",{number:bn,Complex:Q,"Complex, boolean":Q,BigNumber:function(A){return A.cbrt()},Unit:function(A){if(A.value&&B(A.value)){var e=A.clone();return e.value=1,(e=e.pow(1/3)).value=Q(A.value),e}var t,r=n(A.value);r&&(A.value=i(A.value)),t=a(A.value)?new o(1).div(3):c(A.value)?new g(1,3):1/3;var s=A.pow(t);return r&&(s.value=i(s.value)),s}});function Q(A,t){var n=A.arg()/3,i=A.abs(),o=new s(bn(i),0).mul(new s(0,n).exp());if(t){var a=[o,new s(bn(i),0).mul(new s(0,n+2*Math.PI/3).exp()),new s(bn(i),0).mul(new s(0,n-2*Math.PI/3).exp())];return"Array"===e.matrix?a:r(a)}return o}}),$s=le("concat",["typed","matrix","isInteger"],A=>{var{typed:e,matrix:t,isInteger:n}=A;return e("concat",{"...Array | Matrix | number | BigNumber":function(A){var e,i,r=A.length,s=-1,B=!1,c=[];for(e=0;e<r;e++){var g=A[e];if(l(g)&&(B=!0),o(g)||a(g)){if(e!==r-1)throw new Error("Dimension must be specified as last argument");if(i=s,s=g.valueOf(),!n(s))throw new TypeError("Integer number expected for dimension");if(s<0||e>0&&s>i)throw new zA(s,i+1)}else{var Q=K(g).valueOf(),E=vA(Q);if(c[e]=Q,i=s,s=E.length-1,e>0&&s!==i)throw new jA(i+1,s+1)}}if(0===c.length)throw new SyntaxError("At least one matrix expected");for(var u=c.shift();c.length;)u=ce(u,c.shift(),s);return B?t(u):u},"...string":function(A){return A.join("")}})}),Ao=le("count",["typed","size","prod"],A=>{var{typed:e,size:t,prod:n}=A;return e("count",{string:function(A){return A.length},"Matrix | Array":function(A){return n(t(A))}})}),eo=le("ctranspose",["typed","transpose","conj"],A=>{var{typed:e,transpose:t,conj:n}=A;return e("ctranspose",{any:function(A){return n(t(A))}})}),to=le("diag",["typed","matrix","DenseMatrix","SparseMatrix"],A=>{var{typed:e,matrix:t,DenseMatrix:n,SparseMatrix:i}=A;return e("diag",{Array:function(A){return r(A,0,vA(A),null)},"Array, number":function(A,e){return r(A,e,vA(A),null)},"Array, BigNumber":function(A,e){return r(A,e.toNumber(),vA(A),null)},"Array, string":function(A,e){return r(A,0,vA(A),e)},"Array, number, string":function(A,e,t){return r(A,e,vA(A),t)},"Array, BigNumber, string":function(A,e,t){return r(A,e.toNumber(),vA(A),t)},Matrix:function(A){return r(A,0,A.size(),A.storage())},"Matrix, number":function(A,e){return r(A,e,A.size(),A.storage())},"Matrix, BigNumber":function(A,e){return r(A,e.toNumber(),A.size(),A.storage())},"Matrix, string":function(A,e){return r(A,0,A.size(),e)},"Matrix, number, string":function(A,e,t){return r(A,e,A.size(),t)},"Matrix, BigNumber, string":function(A,e,t){return r(A,e.toNumber(),A.size(),t)}});function r(A,e,r,s){if(!BA(e))throw new TypeError("Second parameter in function diag must be an integer");var o=e>0?e:0,a=e<0?-e:0;switch(r.length){case 1:return function(A,e,t,r,s,o){var a=[r+s,r+o];if(t&&"sparse"!==t&&"dense"!==t)throw new TypeError("Unknown matrix type ".concat(t,'"'));var B="sparse"===t?i.diagonal(a,A,e):n.diagonal(a,A,e);return null!==t?B:B.valueOf()}(A,e,s,r[0],a,o);case 2:return function(A,e,n,i,r,s){if(l(A)){var o=A.diagonal(e);return null!==n?n!==o.storage()?t(o,n):o:o.valueOf()}for(var a=Math.min(i[0]-r,i[1]-s),B=[],c=0;c<a;c++)B[c]=A[c+r][c+s];return null!==n?t(B):B}(A,e,s,r,a,o)}throw new RangeError("Matrix for function diag must be 2 dimensional")}}),no=le("divideScalar",["typed","numeric"],A=>{var{typed:e,numeric:t}=A;return e("divideScalar",{"number, number":function(A,e){return A/e},"Complex, Complex":function(A,e){return A.div(e)},"BigNumber, BigNumber":function(A,e){return A.div(e)},"Fraction, Fraction":function(A,e){return A.div(e)},"Unit, number | Complex | Fraction | BigNumber | Unit":(A,e)=>A.divide(e),"number | Fraction | Complex | BigNumber, Unit":(A,e)=>e.divideInto(A)})}),io=le("matAlgo02xDS0",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return function(A,n,i,r){var s=A._data,o=A._size,a=A._datatype,B=n._values,c=n._index,g=n._ptr,Q=n._size,E=n._datatype;if(o.length!==Q.length)throw new jA(o.length,Q.length);if(o[0]!==Q[0]||o[1]!==Q[1])throw new RangeError("Dimension mismatch. Matrix A ("+o+") must match Matrix B ("+Q+")");if(!B)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var l,u=o[0],w=o[1],h=t,C=0,d=i;"string"==typeof a&&a===E&&(l=a,h=e.find(t,[l,l]),C=e.convert(0,l),d=e.find(i,[l,l]));for(var I=[],M=[],p=[],m=0;m<w;m++){p[m]=M.length;for(var F=g[m],D=g[m+1],Y=F;Y<D;Y++){var f=c[Y],N=r?d(B[Y],s[f][m]):d(s[f][m],B[Y]);h(N,C)||(M.push(f),I.push(N))}}return p[w]=M.length,n.createSparseMatrix({values:I,index:M,ptr:p,size:[u,w],datatype:l})}}),ro=le("matAlgo03xDSf",["typed"],A=>{var{typed:e}=A;return function(A,t,n,i){var r=A._data,s=A._size,o=A._datatype,a=t._values,B=t._index,c=t._ptr,g=t._size,Q=t._datatype;if(s.length!==g.length)throw new jA(s.length,g.length);if(s[0]!==g[0]||s[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+g+")");if(!a)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var E,l=s[0],u=s[1],w=0,h=n;"string"==typeof o&&o===Q&&(E=o,w=e.convert(0,E),h=e.find(n,[E,E]));for(var C=[],d=0;d<l;d++)C[d]=[];for(var I=[],M=[],p=0;p<u;p++){for(var m=p+1,F=c[p],D=c[p+1],Y=F;Y<D;Y++){var f=B[Y];I[f]=i?h(a[Y],r[f][p]):h(r[f][p],a[Y]),M[f]=m}for(var N=0;N<l;N++)M[N]===m?C[N][p]=I[N]:C[N][p]=i?h(w,r[N][p]):h(r[N][p],w)}return A.createDenseMatrix({data:C,size:[l,u],datatype:E})}}),so=le("matAlgo07xSSf",["typed","DenseMatrix"],A=>{var{typed:e,DenseMatrix:t}=A;return function(A,i,r){var s=A._size,o=A._datatype,a=i._size,B=i._datatype;if(s.length!==a.length)throw new jA(s.length,a.length);if(s[0]!==a[0]||s[1]!==a[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+a+")");var c,g,Q,E=s[0],l=s[1],u=0,w=r;"string"==typeof o&&o===B&&(c=o,u=e.convert(0,c),w=e.find(r,[c,c]));var h=[];for(g=0;g<E;g++)h[g]=[];var C=[],d=[],I=[],M=[];for(Q=0;Q<l;Q++){var p=Q+1;for(n(A,Q,I,C,p),n(i,Q,M,d,p),g=0;g<E;g++){var m=I[g]===p?C[g]:u,F=M[g]===p?d[g]:u;h[g][Q]=w(m,F)}}return new t({data:h,size:[E,l],datatype:c})};function n(A,e,t,n,i){for(var r=A._values,s=A._index,o=A._ptr,a=o[e],B=o[e+1];a<B;a++){var c=s[a];t[c]=i,n[c]=r[a]}}}),oo=le("matAlgo11xS0s",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return function(A,n,i,r){var s=A._values,o=A._index,a=A._ptr,B=A._size,c=A._datatype;if(!s)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g,Q=B[0],E=B[1],l=t,u=0,w=i;"string"==typeof c&&(g=c,l=e.find(t,[g,g]),u=e.convert(0,g),n=e.convert(n,g),w=e.find(i,[g,g]));for(var h=[],C=[],d=[],I=0;I<E;I++){d[I]=C.length;for(var M=a[I],p=a[I+1],m=M;m<p;m++){var F=o[m],D=r?w(n,s[m]):w(s[m],n);l(D,u)||(C.push(F),h.push(D))}}return d[E]=C.length,A.createSparseMatrix({values:h,index:C,ptr:d,size:[Q,E],datatype:g})}}),ao=le("matAlgo12xSfs",["typed","DenseMatrix"],A=>{var{typed:e,DenseMatrix:t}=A;return function(A,n,i,r){var s=A._values,o=A._index,a=A._ptr,B=A._size,c=A._datatype;if(!s)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g,Q=B[0],E=B[1],l=i;"string"==typeof c&&(g=c,n=e.convert(n,g),l=e.find(i,[g,g]));for(var u=[],w=[],h=[],C=0;C<E;C++){for(var d=C+1,I=a[C],M=a[C+1],p=I;p<M;p++){var m=o[p];w[m]=s[p],h[m]=d}for(var F=0;F<Q;F++)0===C&&(u[F]=[]),h[F]===d?u[F][C]=r?l(n,w[F]):l(w[F],n):u[F][C]=r?l(n,0):l(0,n)}return new t({data:u,size:[Q,E],datatype:g})}}),Bo=le("matAlgo13xDD",["typed"],A=>{var{typed:e}=A;return function(A,t,n){var i,r=A._data,s=A._size,o=A._datatype,a=t._data,B=t._size,c=t._datatype,g=[];if(s.length!==B.length)throw new jA(s.length,B.length);for(var Q=0;Q<s.length;Q++){if(s[Q]!==B[Q])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+B+")");g[Q]=s[Q]}var E=n;"string"==typeof o&&o===c&&(i=o,E=e.find(n,[i,i]));var l=g.length>0?function A(e,t,n,i,r,s){var o=[];if(t===n.length-1)for(var a=0;a<i;a++)o[a]=e(r[a],s[a]);else for(var B=0;B<i;B++)o[B]=A(e,t+1,n,n[t+1],r[B],s[B]);return o}(E,0,g,g[0],r,a):[];return A.createDenseMatrix({data:l,size:g,datatype:i})}}),co=le("matAlgo14xDs",["typed"],A=>{var{typed:e}=A;return function(A,t,n,i){var r,s=A._data,o=A._size,a=A._datatype,B=n;"string"==typeof a&&(r=a,t=e.convert(t,r),B=e.find(n,[r,r]));var c=o.length>0?function A(e,t,n,i,r,s,o){var a=[];if(t===n.length-1)for(var B=0;B<i;B++)a[B]=o?e(s,r[B]):e(r[B],s);else for(var c=0;c<i;c++)a[c]=A(e,t+1,n,n[t+1],r[c],s,o);return a}(B,0,o,o[0],s,t,i):[];return A.createDenseMatrix({data:c,size:K(o),datatype:r})}}),go=le("broadcast",["concat"],A=>{var{concat:e}=A;return function(A,e){var i=Math.max(A._size.length,e._size.length);if(A._size.length===e._size.length&&A._size.every((A,t)=>A===e._size[t]))return[A,e];for(var r=t(A._size,i,0),s=t(e._size,i,0),o=[],a=0;a<i;a++)o[a]=Math.max(r[a],s[a]);Qe(r,o),Qe(s,o);var B=A.clone(),c=e.clone();B._size.length<i?B.reshape(t(B._size,i,1)):c._size.length<i&&c.reshape(t(c._size,i,1));for(var g=0;g<i;g++)B._size[g]<o[g]&&(B=n(B,o[g],g)),c._size[g]<o[g]&&(c=n(c,o[g],g));return[B,c]};function t(A,e,t){return[...Array(e-A.length).fill(t),...A]}function n(A,t,n){return e(...Array(t).fill(A),n)}}),Qo=le("matrixAlgorithmSuite",["typed","matrix","concat"],A=>{var{typed:e,matrix:t,concat:n}=A,i=Bo({typed:e}),r=co({typed:e}),s=go({concat:n});return function(A){var n,o=A.elop,a=A.SD||A.DS;o?(n={"DenseMatrix, DenseMatrix":(A,e)=>i(...s(A,e),o),"Array, Array":(A,e)=>i(...s(t(A),t(e)),o).valueOf(),"Array, DenseMatrix":(A,e)=>i(...s(t(A),e),o),"DenseMatrix, Array":(A,e)=>i(...s(A,t(e)),o)},A.SS&&(n["SparseMatrix, SparseMatrix"]=(e,t)=>A.SS(...s(e,t),o,!1)),A.DS&&(n["DenseMatrix, SparseMatrix"]=(e,t)=>A.DS(...s(e,t),o,!1),n["Array, SparseMatrix"]=(e,n)=>A.DS(...s(t(e),n),o,!1)),a&&(n["SparseMatrix, DenseMatrix"]=(A,e)=>a(...s(e,A),o,!0),n["SparseMatrix, Array"]=(A,e)=>a(...s(t(e),A),o,!0))):(n={"DenseMatrix, DenseMatrix":e.referToSelf(A=>(e,t)=>i(...s(e,t),A)),"Array, Array":e.referToSelf(A=>(e,n)=>i(...s(t(e),t(n)),A).valueOf()),"Array, DenseMatrix":e.referToSelf(A=>(e,n)=>i(...s(t(e),n),A)),"DenseMatrix, Array":e.referToSelf(A=>(e,n)=>i(...s(e,t(n)),A))},A.SS&&(n["SparseMatrix, SparseMatrix"]=e.referToSelf(e=>(t,n)=>A.SS(...s(t,n),e,!1))),A.DS&&(n["DenseMatrix, SparseMatrix"]=e.referToSelf(e=>(t,n)=>A.DS(...s(t,n),e,!1)),n["Array, SparseMatrix"]=e.referToSelf(e=>(n,i)=>A.DS(...s(t(n),i),e,!1))),a&&(n["SparseMatrix, DenseMatrix"]=e.referToSelf(A=>(e,t)=>a(...s(t,e),A,!0)),n["SparseMatrix, Array"]=e.referToSelf(A=>(e,n)=>a(...s(t(n),e),A,!0))));var B=A.scalar||"any";(A.Ds||A.Ss)&&(o?(n["DenseMatrix,"+B]=(A,e)=>r(A,e,o,!1),n[B+", DenseMatrix"]=(A,e)=>r(e,A,o,!0),n["Array,"+B]=(A,e)=>r(t(A),e,o,!1).valueOf(),n[B+", Array"]=(A,e)=>r(t(e),A,o,!0).valueOf()):(n["DenseMatrix,"+B]=e.referToSelf(A=>(e,t)=>r(e,t,A,!1)),n[B+", DenseMatrix"]=e.referToSelf(A=>(e,t)=>r(t,e,A,!0)),n["Array,"+B]=e.referToSelf(A=>(e,n)=>r(t(e),n,A,!1).valueOf()),n[B+", Array"]=e.referToSelf(A=>(e,n)=>r(t(n),e,A,!0).valueOf())));var c=void 0!==A.sS?A.sS:A.Ss;return o?(A.Ss&&(n["SparseMatrix,"+B]=(e,t)=>A.Ss(e,t,o,!1)),c&&(n[B+", SparseMatrix"]=(A,e)=>c(e,A,o,!0))):(A.Ss&&(n["SparseMatrix,"+B]=e.referToSelf(e=>(t,n)=>A.Ss(t,n,e,!1))),c&&(n[B+", SparseMatrix"]=e.referToSelf(A=>(e,t)=>c(t,e,A,!0)))),o&&o.signatures&&Z(n,o.signatures),n}}),Eo=le("dotDivide",["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,divideScalar:i,DenseMatrix:r,concat:s}=A,o=io({typed:e,equalScalar:n}),a=ro({typed:e}),B=so({typed:e,DenseMatrix:r}),c=oo({typed:e,equalScalar:n}),g=ao({typed:e,DenseMatrix:r});return e("dotDivide",Qo({typed:e,matrix:t,concat:s})({elop:i,SS:B,DS:a,SD:o,Ss:c,sS:g}))}),lo=le("equal",["typed","matrix","equalScalar","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,DenseMatrix:i,concat:r}=A,s=ro({typed:e}),o=so({typed:e,DenseMatrix:i}),a=ao({typed:e,DenseMatrix:i}),B=Qo({typed:e,matrix:t,concat:r});return e("equal",uo({typed:e,equalScalar:n}),B({elop:n,SS:o,DS:s,Ss:a}))}),uo=le("equal",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return e("equal",{"any, any":function(A,e){return null===A?null===e:null===e?null===A:void 0===A?void 0===e:void 0===e?void 0===A:t(A,e)}})}),wo=le("flatten",["typed","matrix"],A=>{var{typed:e,matrix:t}=A;return e("flatten",{Array:function(A){return $A(A)},Matrix:function(A){var e=$A(A.toArray());return t(e)}})}),ho=le("hasNumericValue",["typed","isNumeric"],A=>{var{typed:e,isNumeric:t}=A;return e("hasNumericValue",{boolean:()=>!0,string:function(A){return A.trim().length>0&&!isNaN(Number(A))},any:function(A){return t(A)}})}),Co=le("identity",["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],A=>{var{typed:e,config:t,matrix:n,BigNumber:i,DenseMatrix:r,SparseMatrix:s}=A;return e("identity",{"":function(){return"Matrix"===t.matrix?n([]):[]},string:function(A){return n(A)},"number | BigNumber":function(A){return B(A,A,"Matrix"===t.matrix?"dense":void 0)},"number | BigNumber, string":function(A,e){return B(A,A,e)},"number | BigNumber, number | BigNumber":function(A,e){return B(A,e,"Matrix"===t.matrix?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(A,e,t){return B(A,e,t)},Array:function(A){return o(A)},"Array, string":function(A,e){return o(A,e)},Matrix:function(A){return o(A.valueOf(),A.storage())},"Matrix, string":function(A,e){return o(A.valueOf(),e)}});function o(A,e){switch(A.length){case 0:return e?n(e):[];case 1:return B(A[0],A[0],e);case 2:return B(A[0],A[1],e);default:throw new Error("Vector containing two values expected")}}function B(A,e,t){var n=a(A)||a(e)?i:null;if(a(A)&&(A=A.toNumber()),a(e)&&(e=e.toNumber()),!BA(A)||A<1)throw new Error("Parameters in function identity must be positive integers");if(!BA(e)||e<1)throw new Error("Parameters in function identity must be positive integers");var o=n?new i(1):1,B=n?new n(0):0,c=[A,e];if(t){if("sparse"===t)return s.diagonal(c,o,0,B);if("dense"===t)return r.diagonal(c,o,0,B);throw new TypeError('Unknown matrix type "'.concat(t,'"'))}for(var g=VA([],c,B),Q=A<e?A:e,E=0;E<Q;E++)g[E][E]=o;return g}}),Io=le("kron",["typed","matrix","multiplyScalar"],A=>{var{typed:e,matrix:t,multiplyScalar:n}=A;return e("kron",{"Matrix, Matrix":function(A,e){return t(i(A.toArray(),e.toArray()))},"Matrix, Array":function(A,e){return t(i(A.toArray(),e))},"Array, Matrix":function(A,e){return t(i(A,e.toArray()))},"Array, Array":i});function i(A,e){if(1===vA(A).length&&(A=[A]),1===vA(e).length&&(e=[e]),vA(A).length>2||vA(e).length>2)throw new RangeError("Vectors with dimensions greater then 2 are not supported expected (Size x = "+JSON.stringify(A.length)+", y = "+JSON.stringify(e.length)+")");var t=[],i=[];return A.map((function(A){return e.map((function(e){return i=[],t.push(i),A.map((function(A){return e.map((function(e){return i.push(n(A,e))}))}))}))}))&&t}}),Mo=le("largerEq",["typed","config","matrix","DenseMatrix","concat"],A=>{var{typed:e,config:t,matrix:n,DenseMatrix:i,concat:r}=A,s=ro({typed:e}),o=so({typed:e,DenseMatrix:i}),a=ao({typed:e,DenseMatrix:i}),B=Qo({typed:e,matrix:n,concat:r}),c=er({typed:e});return e("largerEq",po({typed:e,config:t}),{"boolean, boolean":(A,e)=>A>=e,"BigNumber, BigNumber":function(A,e){return A.gte(e)||Ar(A,e,t.epsilon)},"Fraction, Fraction":(A,e)=>-1!==A.compare(e),"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},c,B({SS:o,DS:s,Ss:a}))}),po=le("largerEq",["typed","config"],A=>{var{typed:e,config:t}=A;return e("largerEq",{"number, number":function(A,e){return A>=e||FA(A,e,t.epsilon)}})}),mo=le("matAlgo01xDSid",["typed"],A=>{var{typed:e}=A;return function(A,t,n,i){var r=A._data,s=A._size,o=A._datatype,a=t._values,B=t._index,c=t._ptr,g=t._size,Q=t._datatype;if(s.length!==g.length)throw new jA(s.length,g.length);if(s[0]!==g[0]||s[1]!==g[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+g+")");if(!a)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var E,l,u=s[0],w=s[1],h="string"==typeof o&&o===Q?o:void 0,C=h?e.find(n,[h,h]):n,d=[];for(E=0;E<u;E++)d[E]=[];var I=[],M=[];for(l=0;l<w;l++){for(var p=l+1,m=c[l],F=c[l+1],D=m;D<F;D++)I[E=B[D]]=i?C(a[D],r[E][l]):C(r[E][l],a[D]),M[E]=p;for(E=0;E<u;E++)M[E]===p?d[E][l]=I[E]:d[E][l]=r[E][l]}return A.createDenseMatrix({data:d,size:[u,w],datatype:h})}}),Fo=le("matAlgo10xSids",["typed","DenseMatrix"],A=>{var{typed:e,DenseMatrix:t}=A;return function(A,n,i,r){var s=A._values,o=A._index,a=A._ptr,B=A._size,c=A._datatype;if(!s)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var g,Q=B[0],E=B[1],l=i;"string"==typeof c&&(g=c,n=e.convert(n,g),l=e.find(i,[g,g]));for(var u=[],w=[],h=[],C=0;C<E;C++){for(var d=C+1,I=a[C],M=a[C+1],p=I;p<M;p++){var m=o[p];w[m]=s[p],h[m]=d}for(var F=0;F<Q;F++)0===C&&(u[F]=[]),h[F]===d?u[F][C]=r?l(n,w[F]):l(w[F],n):u[F][C]=n}return new t({data:u,size:[Q,E],datatype:g})}}),Do=le("matAlgo08xS0Sid",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return function(A,n,i){var r=A._values,s=A._index,o=A._ptr,a=A._size,B=A._datatype,c=n._values,g=n._index,Q=n._ptr,E=n._size,l=n._datatype;if(a.length!==E.length)throw new jA(a.length,E.length);if(a[0]!==E[0]||a[1]!==E[1])throw new RangeError("Dimension mismatch. Matrix A ("+a+") must match Matrix B ("+E+")");if(!r||!c)throw new Error("Cannot perform operation on Pattern Sparse Matrices");var u,w=a[0],h=a[1],C=t,d=0,I=i;"string"==typeof B&&B===l&&(u=B,C=e.find(t,[u,u]),d=e.convert(0,u),I=e.find(i,[u,u]));for(var M,p,m,F,D=[],Y=[],f=[],N=[],U=[],y=0;y<h;y++){f[y]=Y.length;var x=y+1;for(p=o[y],m=o[y+1],M=p;M<m;M++)U[F=s[M]]=x,N[F]=r[M],Y.push(F);for(p=Q[y],m=Q[y+1],M=p;M<m;M++)U[F=g[M]]===x&&(N[F]=I(N[F],c[M]));for(M=f[y];M<Y.length;){var T=N[F=Y[M]];C(T,d)?Y.splice(M,1):(D.push(T),M++)}}return f[h]=Y.length,A.createSparseMatrix({values:D,index:Y,ptr:f,size:[w,h],datatype:u})}}),Yo=le("useMatrixForArrayScalar",["typed","matrix"],A=>{var{typed:e,matrix:t}=A;return{"Array, number":e.referTo("DenseMatrix, number",A=>(e,n)=>A(t(e),n).valueOf()),"Array, BigNumber":e.referTo("DenseMatrix, BigNumber",A=>(e,n)=>A(t(e),n).valueOf()),"number, Array":e.referTo("number, DenseMatrix",A=>(e,n)=>A(e,t(n)).valueOf()),"BigNumber, Array":e.referTo("BigNumber, DenseMatrix",A=>(e,n)=>A(e,t(n)).valueOf())}}),fo=le("leftShift",["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,DenseMatrix:r,concat:s}=A,o=mo({typed:e}),a=io({typed:e,equalScalar:n}),B=Do({typed:e,equalScalar:n}),c=Fo({typed:e,DenseMatrix:r}),g=oo({typed:e,equalScalar:n}),Q=co({typed:e}),E=Qo({typed:e,matrix:t,concat:s}),l=Yo({typed:e,matrix:t});return e("leftShift",{"number, number":bi,"BigNumber, BigNumber":yi,"SparseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>n(t,0)?e.clone():g(e,t,A,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>n(t,0)?e.clone():Q(e,t,A,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(A=>(e,t)=>n(e,0)?i(t.size(),t.storage()):c(t,e,A,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(A=>(e,t)=>n(e,0)?i(t.size(),t.storage()):Q(t,e,A,!0))},l,E({SS:B,DS:o,SD:a}))});function No(A){var{DenseMatrix:e}=A;return function(A,t,n){var i=A.size();if(2!==i.length)throw new RangeError("Matrix must be two dimensional (size: "+SA(i)+")");var r=i[0];if(r!==i[1])throw new RangeError("Matrix must be square (size: "+SA(i)+")");var s=[];if(l(t)){var o=t.size(),a=t._data;if(1===o.length){if(o[0]!==r)throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var B=0;B<r;B++)s[B]=[a[B]];return new e({data:s,size:[r,1],datatype:t._datatype})}if(2===o.length){if(o[0]!==r||1!==o[1])throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");if(w(t)){if(n){s=[];for(var c=0;c<r;c++)s[c]=[a[c][0]];return new e({data:s,size:[r,1],datatype:t._datatype})}return t}if(h(t)){for(var g=0;g<r;g++)s[g]=[0];for(var Q=t._values,u=t._index,C=t._ptr,d=C[1],I=C[0];I<d;I++){s[u[I]][0]=Q[I]}return new e({data:s,size:[r,1],datatype:t._datatype})}}throw new RangeError("Dimension mismatch. The right side has to be either 1- or 2-dimensional vector.")}if(E(t)){var M=vA(t);if(1===M.length){if(M[0]!==r)throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var p=0;p<r;p++)s[p]=[t[p]];return new e({data:s,size:[r,1]})}if(2===M.length){if(M[0]!==r||1!==M[1])throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var m=0;m<r;m++)s[m]=[t[m][0]];return new e({data:s,size:[r,1]})}throw new RangeError("Dimension mismatch. The right side has to be either 1- or 2-dimensional vector.")}}}var Uo=le("lsolve",["typed","matrix","divideScalar","multiplyScalar","subtractScalar","equalScalar","DenseMatrix"],A=>{var{typed:e,matrix:t,divideScalar:n,multiplyScalar:i,subtractScalar:r,equalScalar:s,DenseMatrix:o}=A,a=No({DenseMatrix:o});return e("lsolve",{"SparseMatrix, Array | Matrix":function(A,e){return function(A,e){for(var t=(e=a(A,e,!0))._data,B=A._size[0],c=A._size[1],g=A._values,Q=A._index,E=A._ptr,l=[],u=0;u<c;u++){var w=t[u][0]||0;if(s(w,0))l[u]=[0];else{for(var h=0,C=[],d=[],I=E[u],M=E[u+1],p=I;p<M;p++){var m=Q[p];m===u?h=g[p]:m>u&&(C.push(g[p]),d.push(m))}if(s(h,0))throw new Error("Linear system cannot be solved since matrix is singular");for(var F=n(w,h),D=0,Y=d.length;D<Y;D++){var f=d[D];t[f]=[r(t[f][0]||0,i(F,C[D]))]}l[u]=[F]}}return new o({data:l,size:[B,1]})}(A,e)},"DenseMatrix, Array | Matrix":function(A,e){return B(A,e)},"Array, Array | Matrix":function(A,e){return B(t(A),e).valueOf()}});function B(A,e){for(var t=(e=a(A,e,!0))._data,B=A._size[0],c=A._size[1],g=[],Q=A._data,E=0;E<c;E++){var l=t[E][0]||0,u=void 0;if(s(l,0))u=0;else{var w=Q[E][E];if(s(w,0))throw new Error("Linear system cannot be solved since matrix is singular");u=n(l,w);for(var h=E+1;h<B;h++)t[h]=[r(t[h][0]||0,i(u,Q[h][E]))]}g[E]=[u]}return new o({data:g,size:[B,1]})}}),yo=le("matrixFromColumns",["typed","matrix","flatten","size"],A=>{var{typed:e,matrix:t,flatten:n,size:i}=A;return e("matrixFromColumns",{"...Array":function(A){return r(A)},"...Matrix":function(A){return t(r(A.map(A=>A.toArray())))}});function r(A){if(0===A.length)throw new TypeError("At least one column is needed to construct a matrix.");for(var e=s(A[0]),t=[],i=0;i<e;i++)t[i]=[];for(var r of A){var o=s(r);if(o!==e)throw new TypeError("The vectors had different length: "+(0|e)+" ≠ "+(0|o));for(var a=n(r),B=0;B<e;B++)t[B].push(a[B])}return t}function s(A){var e=i(A);if(1===e.length)return e[0];if(2===e.length){if(1===e[0])return e[1];if(1===e[1])return e[0];throw new TypeError("At least one of the arguments is not a vector.")}throw new TypeError("Only one- or two-dimensional vectors are supported.")}}),xo=le("matAlgo06xS0S0",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return function(A,n,i){var r=A._values,s=A._size,o=A._datatype,a=n._values,B=n._size,c=n._datatype;if(s.length!==B.length)throw new jA(s.length,B.length);if(s[0]!==B[0]||s[1]!==B[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+B+")");var g,Q=s[0],E=s[1],l=t,u=0,w=i;"string"==typeof o&&o===c&&(g=o,l=e.find(t,[g,g]),u=e.convert(0,g),w=e.find(i,[g,g]));for(var h=r&&a?[]:void 0,C=[],d=[],I=h?[]:void 0,M=[],p=[],m=0;m<E;m++){d[m]=C.length;var F=m+1;if(yn(A,m,M,I,p,F,C,w),yn(n,m,M,I,p,F,C,w),I)for(var D=d[m];D<C.length;){var Y=C[D];if(p[Y]===F){var f=I[Y];l(f,u)?C.splice(D,1):(h.push(f),D++)}else C.splice(D,1)}else for(var N=d[m];N<C.length;){p[C[N]]!==F?C.splice(N,1):N++}}return d[E]=C.length,A.createSparseMatrix({values:h,index:C,ptr:d,size:[Q,E],datatype:g})}}),To=le("nthRoot",["typed","matrix","equalScalar","BigNumber","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,BigNumber:i,concat:r}=A,s=mo({typed:e}),o=io({typed:e,equalScalar:n}),a=xo({typed:e,equalScalar:n}),B=oo({typed:e,equalScalar:n}),c=Qo({typed:e,matrix:t,concat:r});function g(){throw new Error("Complex number not supported in function nthRoot. Use nthRoots instead.")}return e("nthRoot",{number:Pn,"number, number":Pn,BigNumber:A=>Q(A,new i(2)),"BigNumber, BigNumber":Q,Complex:g,"Complex, number":g,Array:e.referTo("DenseMatrix,number",A=>e=>A(t(e),2).valueOf()),DenseMatrix:e.referTo("DenseMatrix,number",A=>e=>A(e,2)),SparseMatrix:e.referTo("SparseMatrix,number",A=>e=>A(e,2)),"SparseMatrix, SparseMatrix":e.referToSelf(A=>(e,t)=>{if(1===t.density())return a(e,t,A);throw new Error("Root must be non-zero")}),"DenseMatrix, SparseMatrix":e.referToSelf(A=>(e,t)=>{if(1===t.density())return s(e,t,A,!1);throw new Error("Root must be non-zero")}),"Array, SparseMatrix":e.referTo("DenseMatrix,SparseMatrix",A=>(e,n)=>A(t(e),n)),"number | BigNumber, SparseMatrix":e.referToSelf(A=>(e,t)=>{if(1===t.density())return B(t,e,A,!0);throw new Error("Root must be non-zero")})},c({scalar:"number | BigNumber",SD:o,Ss:B,sS:!1}));function Q(A,e){var t=i.precision,n=i.clone({precision:t+2}),r=new i(0),s=new n(1),o=e.isNegative();if(o&&(e=e.neg()),e.isZero())throw new Error("Root must be non-zero");if(A.isNegative()&&!e.abs().mod(2).equals(1))throw new Error("Root must be odd when a is negative.");if(A.isZero())return o?new n(1/0):0;if(!A.isFinite())return o?r:A;var a=A.abs().pow(s.div(e));return a=A.isNeg()?a.neg():a,new i((o?s.div(a):a).toPrecision(t))}}),Ro=le("ones",["typed","config","matrix","BigNumber"],A=>{var{typed:e,config:t,matrix:n,BigNumber:i}=A;return e("ones",{"":function(){return"Array"===t.matrix?r([]):r([],"default")},"...number | BigNumber | string":function(A){if("string"==typeof A[A.length-1]){var e=A.pop();return r(A,e)}return"Array"===t.matrix?r(A):r(A,"default")},Array:r,Matrix:function(A){var e=A.storage();return r(A.valueOf(),e)},"Array | Matrix, string":function(A,e){return r(A.valueOf(),e)}});function r(A,e){var t=function(A){var e=!1;return A.forEach((function(A,t,n){a(A)&&(e=!0,n[t]=A.toNumber())})),e}(A)?new i(1):1;if(function(A){A.forEach((function(A){if("number"!=typeof A||!BA(A)||A<0)throw new Error("Parameters in function ones must be positive integers")}))}(A),e){var r=n(e);return A.length>0?r.resize(A,t):r}var s=[];return A.length>0?VA(s,A,t):s}}),Go=le("qr",["typed","matrix","zeros","identity","isZero","equal","sign","sqrt","conj","unaryMinus","addScalar","divideScalar","multiplyScalar","subtractScalar","complex"],A=>{var{typed:e,matrix:t,zeros:n,identity:i,isZero:s,equal:o,sign:a,sqrt:B,conj:c,unaryMinus:g,addScalar:Q,divideScalar:E,multiplyScalar:l,subtractScalar:u,complex:w}=A;return r()(e("qr",{DenseMatrix:function(A){return C(A)},SparseMatrix:function(A){return function(A){throw new Error("qr not implemented for sparse matrices yet")}()},Array:function(A){var e=C(t(A));return{Q:e.Q.valueOf(),R:e.R.valueOf()}}}),{_denseQRimpl:h});function h(A){var e,t,r,w=A._size[0],h=A._size[1],C=i([w],"dense"),d=C._data,I=A.clone(),M=I._data,p=n([w],"");for(r=0;r<Math.min(h,w);++r){var m=M[r][r],F=g(o(m,0)?1:a(m)),D=c(F),Y=0;for(e=r;e<w;e++)Y=Q(Y,l(M[e][r],c(M[e][r])));var f=l(F,B(Y));if(!s(f)){var N=u(m,f);for(p[r]=1,e=r+1;e<w;e++)p[e]=E(M[e][r],N);var U=g(c(E(N,f))),y=void 0;for(t=r;t<h;t++){for(y=0,e=r;e<w;e++)y=Q(y,l(c(p[e]),M[e][t]));for(y=l(y,U),e=r;e<w;e++)M[e][t]=l(u(M[e][t],l(p[e],y)),D)}for(e=0;e<w;e++){for(y=0,t=r;t<w;t++)y=Q(y,l(d[e][t],p[t]));for(y=l(y,U),t=r;t<w;++t)d[e][t]=E(u(d[e][t],l(y,c(p[t]))),D)}}}return{Q:C,R:I,toString:function(){return"Q: "+this.Q.toString()+"\nR: "+this.R.toString()}}}function C(A){var e=h(A),t=e.R._data;if(A._data.length>0)for(var n="Complex"===t[0][0].type?w(0):0,i=0;i<t.length;++i)for(var r=0;r<i&&r<(t[0]||[]).length;++r)t[i][r]=n;return e}});function So(A,e,t,n){if(!(this instanceof So))throw new SyntaxError("Constructor must be called with the new operator");this.fn=A,this.count=e,this.min=t,this.max=n,this.message="Wrong number of arguments in function "+A+" ("+e+" provided, "+t+(null!=n?"-"+n:"")+" expected)",this.stack=(new Error).stack}So.prototype=new Error,So.prototype.constructor=Error,So.prototype.name="ArgumentsError",So.prototype.isArgumentsError=!0;var Ho=le("resize",["config","matrix"],A=>{var{config:e,matrix:t}=A;return function(A,i,r){if(2!==arguments.length&&3!==arguments.length)throw new So("resize",arguments.length,2,3);if(l(i)&&(i=i.valueOf()),a(i[0])&&(i=i.map((function(A){return a(A)?A.toNumber():A}))),l(A))return A.resize(i,r,!0);if("string"==typeof A)return n(A,i,r);var s=!Array.isArray(A)&&"Array"!==e.matrix;if(0===i.length){for(;Array.isArray(A);)A=A[0];return K(A)}Array.isArray(A)||(A=[A]);var o=VA(A=K(A),i,r);return s?t(o):o};function n(A,e,t){if(void 0!==t){if("string"!=typeof t||1!==t.length)throw new TypeError("Single character expected as defaultValue")}else t=" ";if(1!==e.length)throw new jA(e.length,1);var n=e[0];if("number"!=typeof n||!BA(n))throw new TypeError("Invalid size, must contain positive integers (size: "+SA(e)+")");if(A.length>n)return A.substring(0,n);if(A.length<n){for(var i=A,r=0,s=n-A.length;r<s;r++)i+=t;return i}return A}}),bo=le("rightArithShift",["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,DenseMatrix:r,concat:s}=A,o=mo({typed:e}),a=io({typed:e,equalScalar:n}),B=Do({typed:e,equalScalar:n}),c=Fo({typed:e,DenseMatrix:r}),g=oo({typed:e,equalScalar:n}),Q=co({typed:e}),E=Qo({typed:e,matrix:t,concat:s}),l=Yo({typed:e,matrix:t});return e("rightArithShift",{"number, number":ki,"BigNumber, BigNumber":xi,"SparseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>n(t,0)?e.clone():g(e,t,A,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>n(t,0)?e.clone():Q(e,t,A,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(A=>(e,t)=>n(e,0)?i(t.size(),t.storage()):c(t,e,A,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(A=>(e,t)=>n(e,0)?i(t.size(),t.storage()):Q(t,e,A,!0))},l,E({SS:B,DS:o,SD:a}))}),ko="Number of decimals in function round must be an integer",Jo=le("round",["typed","matrix","equalScalar","zeros","BigNumber","DenseMatrix"],A=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,BigNumber:r,DenseMatrix:s}=A,o=oo({typed:e,equalScalar:n}),a=ao({typed:e,DenseMatrix:s}),B=co({typed:e});return e("round",{number:Xn,"number, number":Xn,"number, BigNumber":function(A,e){if(!e.isInteger())throw new TypeError(ko);return new r(A).toDecimalPlaces(e.toNumber())},Complex:function(A){return A.round()},"Complex, number":function(A,e){if(e%1)throw new TypeError(ko);return A.round(e)},"Complex, BigNumber":function(A,e){if(!e.isInteger())throw new TypeError(ko);var t=e.toNumber();return A.round(t)},BigNumber:function(A){return A.toDecimalPlaces(0)},"BigNumber, BigNumber":function(A,e){if(!e.isInteger())throw new TypeError(ko);return A.toDecimalPlaces(e.toNumber())},Fraction:function(A){return A.round()},"Fraction, number":function(A,e){if(e%1)throw new TypeError(ko);return A.round(e)},"Fraction, BigNumber":function(A,e){if(!e.isInteger())throw new TypeError(ko);return A.round(e.toNumber())},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A,!0)),"SparseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>o(e,t,A,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>B(e,t,A,!1)),"Array, number | BigNumber":e.referToSelf(A=>(e,n)=>B(t(e),n,A,!1).valueOf()),"number | Complex | BigNumber | Fraction, SparseMatrix":e.referToSelf(A=>(e,t)=>n(e,0)?i(t.size(),t.storage()):a(t,e,A,!0)),"number | Complex | BigNumber | Fraction, DenseMatrix":e.referToSelf(A=>(e,t)=>n(e,0)?i(t.size(),t.storage()):B(t,e,A,!0)),"number | Complex | BigNumber | Fraction, Array":e.referToSelf(A=>(e,n)=>B(t(n),e,A,!0).valueOf())})}),jo=le("smaller",["typed","config","matrix","DenseMatrix","concat"],A=>{var{typed:e,config:t,matrix:n,DenseMatrix:i,concat:r}=A,s=ro({typed:e}),o=so({typed:e,DenseMatrix:i}),a=ao({typed:e,DenseMatrix:i}),B=Qo({typed:e,matrix:n,concat:r}),c=er({typed:e});return e("smaller",zo({typed:e,config:t}),{"boolean, boolean":(A,e)=>A<e,"BigNumber, BigNumber":function(A,e){return A.lt(e)&&!Ar(A,e,t.epsilon)},"Fraction, Fraction":(A,e)=>-1===A.compare(e),"Complex, Complex":function(A,e){throw new TypeError("No ordering relation is defined for complex numbers")}},c,B({SS:o,DS:s,Ss:a}))}),zo=le("smaller",["typed","config"],A=>{var{typed:e,config:t}=A;return e("smaller",{"number, number":function(A,e){return A<e&&!FA(A,e,t.epsilon)}})}),vo=le("matAlgo05xSfSf",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return function(A,n,i){var r=A._values,s=A._index,o=A._ptr,a=A._size,B=A._datatype,c=n._values,g=n._index,Q=n._ptr,E=n._size,l=n._datatype;if(a.length!==E.length)throw new jA(a.length,E.length);if(a[0]!==E[0]||a[1]!==E[1])throw new RangeError("Dimension mismatch. Matrix A ("+a+") must match Matrix B ("+E+")");var u,w=a[0],h=a[1],C=t,d=0,I=i;"string"==typeof B&&B===l&&(u=B,C=e.find(t,[u,u]),d=e.convert(0,u),I=e.find(i,[u,u]));var M,p,m,F,D=r&&c?[]:void 0,Y=[],f=[],N=D?[]:void 0,U=D?[]:void 0,y=[],x=[];for(p=0;p<h;p++){f[p]=Y.length;var T=p+1;for(m=o[p],F=o[p+1];m<F;m++)M=s[m],Y.push(M),y[M]=T,N&&(N[M]=r[m]);for(m=Q[p],F=Q[p+1];m<F;m++)y[M=g[m]]!==T&&Y.push(M),x[M]=T,U&&(U[M]=c[m]);if(D)for(m=f[p];m<Y.length;){var R=y[M=Y[m]],G=x[M];if(R===T||G===T){var S=I(R===T?N[M]:d,G===T?U[M]:d);C(S,d)?Y.splice(m,1):(D.push(S),m++)}}}return f[h]=Y.length,A.createSparseMatrix({values:D,index:Y,ptr:f,size:[w,h],datatype:u})}}),Lo=le("subtract",["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,subtractScalar:i,unaryMinus:r,DenseMatrix:s,concat:o}=A,a=mo({typed:e}),B=ro({typed:e}),c=vo({typed:e,equalScalar:n}),g=Fo({typed:e,DenseMatrix:s}),Q=ao({typed:e,DenseMatrix:s});return e("subtract",{"any, any":i},Qo({typed:e,matrix:t,concat:o})({elop:i,SS:c,DS:a,SD:B,Ss:Q,sS:g}))}),Po=le("to",["typed","matrix","concat"],A=>{var{typed:e,matrix:t,concat:n}=A;return e("to",{"Unit, Unit | string":(A,e)=>A.to(e)},Qo({typed:e,matrix:t,concat:n})({Ds:!0}))}),Oo=le("unequal",["typed","config","equalScalar","matrix","DenseMatrix","concat"],A=>{var{typed:e,config:t,equalScalar:n,matrix:i,DenseMatrix:r,concat:s}=A,o=ro({typed:e}),a=so({typed:e,DenseMatrix:r}),B=ao({typed:e,DenseMatrix:r}),c=Qo({typed:e,matrix:i,concat:s});return e("unequal",Wo({typed:e,equalScalar:n}),c({elop:function(A,e){return!n(A,e)},SS:a,DS:o,Ss:B}))}),Wo=le("unequal",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return e("unequal",{"any, any":function(A,e){return null===A?null!==e:null===e?null!==A:void 0===A?void 0!==e:void 0===e?void 0!==A:!t(A,e)}})}),Vo=le("usolve",["typed","matrix","divideScalar","multiplyScalar","subtractScalar","equalScalar","DenseMatrix"],A=>{var{typed:e,matrix:t,divideScalar:n,multiplyScalar:i,subtractScalar:r,equalScalar:s,DenseMatrix:o}=A,a=No({DenseMatrix:o});return e("usolve",{"SparseMatrix, Array | Matrix":function(A,e){return function(A,e){for(var t=(e=a(A,e,!0))._data,B=A._size[0],c=A._size[1],g=A._values,Q=A._index,E=A._ptr,l=[],u=c-1;u>=0;u--){var w=t[u][0]||0;if(s(w,0))l[u]=[0];else{for(var h=0,C=[],d=[],I=E[u],M=E[u+1]-1;M>=I;M--){var p=Q[M];p===u?h=g[M]:p<u&&(C.push(g[M]),d.push(p))}if(s(h,0))throw new Error("Linear system cannot be solved since matrix is singular");for(var m=n(w,h),F=0,D=d.length;F<D;F++){var Y=d[F];t[Y]=[r(t[Y][0],i(m,C[F]))]}l[u]=[m]}}return new o({data:l,size:[B,1]})}(A,e)},"DenseMatrix, Array | Matrix":function(A,e){return B(A,e)},"Array, Array | Matrix":function(A,e){return B(t(A),e).valueOf()}});function B(A,e){for(var t=(e=a(A,e,!0))._data,B=A._size[0],c=A._size[1],g=[],Q=A._data,E=c-1;E>=0;E--){var l=t[E][0]||0,u=void 0;if(s(l,0))u=0;else{var w=Q[E][E];if(s(w,0))throw new Error("Linear system cannot be solved since matrix is singular");u=n(l,w);for(var h=E-1;h>=0;h--)t[h]=[r(t[h][0]||0,i(u,Q[h][E]))]}g[E]=[u]}return new o({data:g,size:[B,1]})}}),Ko=le("xor",["typed","matrix","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,DenseMatrix:n,concat:i}=A,r=ro({typed:e}),s=so({typed:e,DenseMatrix:n}),o=ao({typed:e,DenseMatrix:n}),a=Qo({typed:e,matrix:t,concat:i});return e("xor",{"number, number":zr,"Complex, Complex":function(A,e){return(0!==A.re||0!==A.im)!=(0!==e.re||0!==e.im)},"BigNumber, BigNumber":function(A,e){return(!A.isZero()&&!A.isNaN())!=(!e.isZero()&&!e.isNaN())},"Unit, Unit":e.referToSelf(A=>(e,t)=>A(e.value||0,t.value||0))},a({SS:s,DS:r,Ss:o}))}),Xo=le("matAlgo04xSidSid",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return function(A,n,i){var r=A._values,s=A._index,o=A._ptr,a=A._size,B=A._datatype,c=n._values,g=n._index,Q=n._ptr,E=n._size,l=n._datatype;if(a.length!==E.length)throw new jA(a.length,E.length);if(a[0]!==E[0]||a[1]!==E[1])throw new RangeError("Dimension mismatch. Matrix A ("+a+") must match Matrix B ("+E+")");var u,w=a[0],h=a[1],C=t,d=0,I=i;"string"==typeof B&&B===l&&(u=B,C=e.find(t,[u,u]),d=e.convert(0,u),I=e.find(i,[u,u]));var M,p,m,F,D,Y=r&&c?[]:void 0,f=[],N=[],U=r&&c?[]:void 0,y=r&&c?[]:void 0,x=[],T=[];for(p=0;p<h;p++){N[p]=f.length;var R=p+1;for(F=o[p],D=o[p+1],m=F;m<D;m++)M=s[m],f.push(M),x[M]=R,U&&(U[M]=r[m]);for(F=Q[p],D=Q[p+1],m=F;m<D;m++)if(x[M=g[m]]===R){if(U){var G=I(U[M],c[m]);C(G,d)?x[M]=null:U[M]=G}}else f.push(M),T[M]=R,y&&(y[M]=c[m]);if(U&&y)for(m=N[p];m<f.length;)x[M=f[m]]===R?(Y[m]=U[M],m++):T[M]===R?(Y[m]=y[M],m++):f.splice(m,1)}return N[h]=f.length,A.createSparseMatrix({values:Y,index:f,ptr:N,size:[w,h],datatype:u})}}),Zo=le("add",["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],A=>{var{typed:e,matrix:t,addScalar:n,equalScalar:i,DenseMatrix:r,SparseMatrix:s,concat:o}=A,a=mo({typed:e}),B=Xo({typed:e,equalScalar:i}),c=Fo({typed:e,DenseMatrix:r}),g=Qo({typed:e,matrix:t,concat:o});return e("add",{"any, any":n,"any, any, ...any":e.referToSelf(A=>(e,t,n)=>{for(var i=A(e,t),r=0;r<n.length;r++)i=A(i,n[r]);return i})},g({elop:n,DS:a,SS:B,Ss:c}))}),_o=le("matAlgo09xS0Sf",["typed","equalScalar"],A=>{var{typed:e,equalScalar:t}=A;return function(A,n,i){var r=A._values,s=A._index,o=A._ptr,a=A._size,B=A._datatype,c=n._values,g=n._index,Q=n._ptr,E=n._size,l=n._datatype;if(a.length!==E.length)throw new jA(a.length,E.length);if(a[0]!==E[0]||a[1]!==E[1])throw new RangeError("Dimension mismatch. Matrix A ("+a+") must match Matrix B ("+E+")");var u,w=a[0],h=a[1],C=t,d=0,I=i;"string"==typeof B&&B===l&&(u=B,C=e.find(t,[u,u]),d=e.convert(0,u),I=e.find(i,[u,u]));var M,p,m,F,D,Y=r&&c?[]:void 0,f=[],N=[],U=Y?[]:void 0,y=[];for(p=0;p<h;p++){N[p]=f.length;var x=p+1;if(U)for(F=Q[p],D=Q[p+1],m=F;m<D;m++)y[M=g[m]]=x,U[M]=c[m];for(F=o[p],D=o[p+1],m=F;m<D;m++)if(M=s[m],U){var T=y[M]===x?U[M]:d,R=I(r[m],T);C(R,d)||(f.push(M),Y.push(R))}else f.push(M)}return N[h]=f.length,A.createSparseMatrix({values:Y,index:f,ptr:N,size:[w,h],datatype:u})}}),qo=le("atan2",["typed","matrix","equalScalar","BigNumber","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,BigNumber:i,DenseMatrix:r,concat:s}=A,o=io({typed:e,equalScalar:n}),a=ro({typed:e}),B=_o({typed:e,equalScalar:n}),c=oo({typed:e,equalScalar:n}),g=ao({typed:e,DenseMatrix:r}),Q=Qo({typed:e,matrix:t,concat:s});return e("atan2",{"number, number":Math.atan2,"BigNumber, BigNumber":(A,e)=>i.atan2(A,e)},Q({scalar:"number | BigNumber",SS:B,DS:a,SD:o,Ss:c,sS:g}))}),$o=le("bitAnd",["typed","matrix","equalScalar","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,concat:i}=A,r=io({typed:e,equalScalar:n}),s=xo({typed:e,equalScalar:n}),o=oo({typed:e,equalScalar:n});return e("bitAnd",{"number, number":Ri,"BigNumber, BigNumber":Fi},Qo({typed:e,matrix:t,concat:i})({SS:s,DS:r,Ss:o}))}),Aa=le("bitXor",["typed","matrix","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,DenseMatrix:n,concat:i}=A,r=ro({typed:e}),s=so({typed:e,DenseMatrix:n}),o=ao({typed:e,DenseMatrix:n});return e("bitXor",{"number, number":Hi,"BigNumber, BigNumber":Ui},Qo({typed:e,matrix:t,concat:i})({SS:s,DS:r,Ss:o}))}),ea=le("catalan",["typed","addScalar","divideScalar","multiplyScalar","combinations","isNegative","isInteger"],A=>{var{typed:e,addScalar:t,divideScalar:n,multiplyScalar:i,combinations:r,isNegative:s,isInteger:o}=A;return e("catalan",{"number | BigNumber":function(A){if(!o(A)||s(A))throw new TypeError("Non-negative integer value expected in function catalan");return n(r(i(A,2),A),t(A,1))}})}),ta=le("compare",["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],A=>{var{typed:e,config:t,equalScalar:n,matrix:i,BigNumber:r,Fraction:s,DenseMatrix:o,concat:a}=A,B=ro({typed:e}),c=vo({typed:e,equalScalar:n}),g=ao({typed:e,DenseMatrix:o}),Q=Qo({typed:e,matrix:i,concat:a}),E=er({typed:e});return e("compare",na({typed:e,config:t}),{"boolean, boolean":function(A,e){return A===e?0:A>e?1:-1},"BigNumber, BigNumber":function(A,e){return Ar(A,e,t.epsilon)?new r(0):new r(A.cmp(e))},"Fraction, Fraction":function(A,e){return new s(A.compare(e))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},E,Q({SS:c,DS:B,Ss:g}))}),na=le("compare",["typed","config"],A=>{var{typed:e,config:t}=A;return e("compare",{"number, number":function(A,e){return FA(A,e,t.epsilon)?0:A>e?1:-1}})}),ia=["typed","matrix","concat"];JA.signature="any, any";var ra=le("compareText",ia,A=>{var{typed:e,matrix:t,concat:n}=A;return e("compareText",JA,Qo({typed:e,matrix:t,concat:n})({elop:JA,Ds:!0}))}),sa=le("cumsum",["typed","add","unaryPlus"],A=>{var{typed:e,add:t,unaryPlus:n}=A;return e("cumsum",{Array:i,Matrix:function(A){return A.create(i(A.valueOf()))},"Array, number | BigNumber":s,"Matrix, number | BigNumber":function(A,e){return A.create(s(A.valueOf(),e))},"...":function(A){if(Dn(A))throw new TypeError("All values expected to be scalar in function cumsum");return i(A)}});function i(A){try{return r(A)}catch(A){throw Ls(A,"cumsum")}}function r(A){if(0===A.length)return[];for(var e=[n(A[0])],i=1;i<A.length;++i)e.push(t(e[i-1],A[i]));return e}function s(A,e){var t=vA(A);if(e<0||e>=t.length)throw new zA(e,t.length);try{return function A(e,t){var n,i,s;if(t<=0){var o=e[0][0];if(Array.isArray(o)){for(s=Fn(e),i=[],n=0;n<s.length;n++)i[n]=A(s[n],t-1);return i}return r(e)}for(i=[],n=0;n<e.length;n++)i[n]=A(e[n],t-1);return i}(A,e)}catch(A){throw Ls(A,"cumsum")}}}),oa=le("deepEqual",["typed","equal"],A=>{var{typed:e,equal:t}=A;return e("deepEqual",{"any, any":function(A,e){return function A(e,n){if(Array.isArray(e)){if(Array.isArray(n)){var i=e.length;if(i!==n.length)return!1;for(var r=0;r<i;r++)if(!A(e[r],n[r]))return!1;return!0}return!1}return!Array.isArray(n)&&t(e,n)}(A.valueOf(),e.valueOf())}})}),aa=le("diff",["typed","matrix","subtract","number"],A=>{var{typed:e,matrix:t,subtract:n,number:i}=A;return e("diff",{"Array | Matrix":function(A){return l(A)?t(s(A.toArray())):s(A)},"Array | Matrix, number":function(A,e){if(!BA(e))throw new RangeError("Dimension must be a whole number");return l(A)?t(r(A.toArray(),e)):r(A,e)},"Array, BigNumber":e.referTo("Array,number",A=>(e,t)=>A(e,i(t))),"Matrix, BigNumber":e.referTo("Matrix,number",A=>(e,t)=>A(e,i(t)))});function r(A,e){if(l(A)&&(A=A.toArray()),!Array.isArray(A))throw RangeError("Array/Matrix does not have that many dimensions");if(e>0){var t=[];return A.forEach(A=>{t.push(r(A,e-1))}),t}if(0===e)return s(A);throw RangeError("Cannot have negative dimension")}function s(A){for(var e=[],t=A.length,n=1;n<t;n++)e.push(o(A[n-1],A[n]));return e}function o(A,e){l(A)&&(A=A.toArray()),l(e)&&(e=e.toArray());var t=Array.isArray(A),i=Array.isArray(e);if(t&&i)return function(A,e){if(A.length!==e.length)throw RangeError("Not all sub-arrays have the same length");for(var t=[],n=A.length,i=0;i<n;i++)t.push(o(A[i],e[i]));return t}(A,e);if(!t&&!i)return n(e,A);throw TypeError("Cannot calculate difference between 1 array and 1 non-array")}}),Ba=le("distance",["typed","addScalar","subtractScalar","divideScalar","multiplyScalar","deepEqual","sqrt","abs"],A=>{var{typed:e,addScalar:t,subtractScalar:n,multiplyScalar:i,divideScalar:r,deepEqual:s,sqrt:o,abs:B}=A;return e("distance",{"Array, Array, Array":function(A,e,t){if(2===A.length&&2===e.length&&2===t.length){if(!g(A))throw new TypeError("Array with 2 numbers or BigNumbers expected for first argument");if(!g(e))throw new TypeError("Array with 2 numbers or BigNumbers expected for second argument");if(!g(t))throw new TypeError("Array with 2 numbers or BigNumbers expected for third argument");if(s(e,t))throw new TypeError("LinePoint1 should not be same with LinePoint2");var r=n(t[1],e[1]),o=n(e[0],t[0]),a=n(i(t[0],e[1]),i(e[0],t[1]));return w(A[0],A[1],r,o,a)}throw new TypeError("Invalid Arguments: Try again")},"Object, Object, Object":function(A,e,t){if(2===Object.keys(A).length&&2===Object.keys(e).length&&2===Object.keys(t).length){if(!g(A))throw new TypeError("Values of pointX and pointY should be numbers or BigNumbers");if(!g(e))throw new TypeError("Values of lineOnePtX and lineOnePtY should be numbers or BigNumbers");if(!g(t))throw new TypeError("Values of lineTwoPtX and lineTwoPtY should be numbers or BigNumbers");if(s(u(e),u(t)))throw new TypeError("LinePoint1 should not be same with LinePoint2");if("pointX"in A&&"pointY"in A&&"lineOnePtX"in e&&"lineOnePtY"in e&&"lineTwoPtX"in t&&"lineTwoPtY"in t){var r=n(t.lineTwoPtY,e.lineOnePtY),o=n(e.lineOnePtX,t.lineTwoPtX),a=n(i(t.lineTwoPtX,e.lineOnePtY),i(e.lineOnePtX,t.lineTwoPtY));return w(A.pointX,A.pointY,r,o,a)}throw new TypeError("Key names do not match")}throw new TypeError("Invalid Arguments: Try again")},"Array, Array":function(A,e){if(2===A.length&&3===e.length){if(!g(A))throw new TypeError("Array with 2 numbers or BigNumbers expected for first argument");if(!Q(e))throw new TypeError("Array with 3 numbers or BigNumbers expected for second argument");return w(A[0],A[1],e[0],e[1],e[2])}if(3===A.length&&6===e.length){if(!Q(A))throw new TypeError("Array with 3 numbers or BigNumbers expected for first argument");if(!l(e))throw new TypeError("Array with 6 numbers or BigNumbers expected for second argument");return h(A[0],A[1],A[2],e[0],e[1],e[2],e[3],e[4],e[5])}if(A.length===e.length&&A.length>0){if(!E(A))throw new TypeError("All values of an array should be numbers or BigNumbers");if(!E(e))throw new TypeError("All values of an array should be numbers or BigNumbers");return C(A,e)}throw new TypeError("Invalid Arguments: Try again")},"Object, Object":function(A,e){if(2===Object.keys(A).length&&3===Object.keys(e).length){if(!g(A))throw new TypeError("Values of pointX and pointY should be numbers or BigNumbers");if(!Q(e))throw new TypeError("Values of xCoeffLine, yCoeffLine and constant should be numbers or BigNumbers");if("pointX"in A&&"pointY"in A&&"xCoeffLine"in e&&"yCoeffLine"in e&&"constant"in e)return w(A.pointX,A.pointY,e.xCoeffLine,e.yCoeffLine,e.constant);throw new TypeError("Key names do not match")}if(3===Object.keys(A).length&&6===Object.keys(e).length){if(!Q(A))throw new TypeError("Values of pointX, pointY and pointZ should be numbers or BigNumbers");if(!l(e))throw new TypeError("Values of x0, y0, z0, a, b and c should be numbers or BigNumbers");if("pointX"in A&&"pointY"in A&&"x0"in e&&"y0"in e&&"z0"in e&&"a"in e&&"b"in e&&"c"in e)return h(A.pointX,A.pointY,A.pointZ,e.x0,e.y0,e.z0,e.a,e.b,e.c);throw new TypeError("Key names do not match")}if(2===Object.keys(A).length&&2===Object.keys(e).length){if(!g(A))throw new TypeError("Values of pointOneX and pointOneY should be numbers or BigNumbers");if(!g(e))throw new TypeError("Values of pointTwoX and pointTwoY should be numbers or BigNumbers");if("pointOneX"in A&&"pointOneY"in A&&"pointTwoX"in e&&"pointTwoY"in e)return C([A.pointOneX,A.pointOneY],[e.pointTwoX,e.pointTwoY]);throw new TypeError("Key names do not match")}if(3===Object.keys(A).length&&3===Object.keys(e).length){if(!Q(A))throw new TypeError("Values of pointOneX, pointOneY and pointOneZ should be numbers or BigNumbers");if(!Q(e))throw new TypeError("Values of pointTwoX, pointTwoY and pointTwoZ should be numbers or BigNumbers");if("pointOneX"in A&&"pointOneY"in A&&"pointOneZ"in A&&"pointTwoX"in e&&"pointTwoY"in e&&"pointTwoZ"in e)return C([A.pointOneX,A.pointOneY,A.pointOneZ],[e.pointTwoX,e.pointTwoY,e.pointTwoZ]);throw new TypeError("Key names do not match")}throw new TypeError("Invalid Arguments: Try again")},Array:function(A){if(!function(A){if(2===A[0].length&&c(A[0][0])&&c(A[0][1])){if(A.some(A=>2!==A.length||!c(A[0])||!c(A[1])))return!1}else{if(!(3===A[0].length&&c(A[0][0])&&c(A[0][1])&&c(A[0][2])))return!1;if(A.some(A=>3!==A.length||!c(A[0])||!c(A[1])||!c(A[2])))return!1}return!0}(A))throw new TypeError("Incorrect array format entered for pairwise distance calculation");return function(A){for(var e=[],t=[],n=[],i=0;i<A.length-1;i++)for(var r=i+1;r<A.length;r++)2===A[0].length?(t=[A[i][0],A[i][1]],n=[A[r][0],A[r][1]]):3===A[0].length&&(t=[A[i][0],A[i][1],A[i][2]],n=[A[r][0],A[r][1],A[r][2]]),e.push(C(t,n));return e}(A)}});function c(A){return"number"==typeof A||a(A)}function g(A){return A.constructor!==Array&&(A=u(A)),c(A[0])&&c(A[1])}function Q(A){return A.constructor!==Array&&(A=u(A)),c(A[0])&&c(A[1])&&c(A[2])}function E(A){return Array.isArray(A)||(A=u(A)),A.every(c)}function l(A){return A.constructor!==Array&&(A=u(A)),c(A[0])&&c(A[1])&&c(A[2])&&c(A[3])&&c(A[4])&&c(A[5])}function u(A){for(var e=Object.keys(A),t=[],n=0;n<e.length;n++)t.push(A[e[n]]);return t}function w(A,e,n,s,a){var c=B(t(t(i(n,A),i(s,e)),a)),g=o(t(i(n,n),i(s,s)));return r(c,g)}function h(A,e,s,a,B,c,g,Q,E){var l=[n(i(n(B,e),E),i(n(c,s),Q)),n(i(n(c,s),g),i(n(a,A),E)),n(i(n(a,A),Q),i(n(B,e),g))];l=o(t(t(i(l[0],l[0]),i(l[1],l[1])),i(l[2],l[2])));var u=o(t(t(i(g,g),i(Q,Q)),i(E,E)));return r(l,u)}function C(A,e){for(var r=A.length,s=0,a=0,B=0;B<r;B++)a=n(A[B],e[B]),s=t(i(a,a),s);return o(s)}}),ca=le("dot",["typed","addScalar","multiplyScalar","conj","size"],A=>{var{typed:e,addScalar:t,multiplyScalar:n,conj:i,size:r}=A;return e("dot",{"Array | DenseMatrix, Array | DenseMatrix":function(A,r){var a=s(A,r),B=l(A)?A._data:A,c=l(A)?A._datatype:void 0,g=l(r)?r._data:r,Q=l(r)?r._datatype:void 0,E=2===o(A).length,u=2===o(r).length,w=t,h=n;if(c&&Q&&c===Q&&"string"==typeof c){var C=c;w=e.find(t,[C,C]),h=e.find(n,[C,C])}if(!E&&!u){for(var d=h(i(B[0]),g[0]),I=1;I<a;I++)d=w(d,h(i(B[I]),g[I]));return d}if(!E&&u){for(var M=h(i(B[0]),g[0][0]),p=1;p<a;p++)M=w(M,h(i(B[p]),g[p][0]));return M}if(E&&!u){for(var m=h(i(B[0][0]),g[0]),F=1;F<a;F++)m=w(m,h(i(B[F][0]),g[F]));return m}if(E&&u){for(var D=h(i(B[0][0]),g[0][0]),Y=1;Y<a;Y++)D=w(D,h(i(B[Y][0]),g[Y][0]));return D}},"SparseMatrix, SparseMatrix":function(A,e){s(A,e);var i=A._index,r=A._values,o=e._index,a=e._values,B=0,c=t,g=n,Q=0,E=0;for(;Q<i.length&&E<o.length;){var l=i[Q],u=o[E];l<u?Q++:l>u?E++:l===u&&(B=c(B,g(r[Q],a[E])),Q++,E++)}return B}});function s(A,e){var t,n,i=o(A),r=o(e);if(1===i.length)t=i[0];else{if(2!==i.length||1!==i[1])throw new RangeError("Expected a column vector, instead got a matrix of size ("+i.join(", ")+")");t=i[0]}if(1===r.length)n=r[0];else{if(2!==r.length||1!==r[1])throw new RangeError("Expected a column vector, instead got a matrix of size ("+r.join(", ")+")");n=r[0]}if(t!==n)throw new RangeError("Vectors must have equal length ("+t+" != "+n+")");if(0===t)throw new RangeError("Cannot calculate the dot product of empty vectors");return t}function o(A){return l(A)?A.size():r(A)}}),ga=le("equalText",["typed","compareText","isZero"],A=>{var{typed:e,compareText:t,isZero:n}=A;return e("equalText",{"any, any":function(A,e){return n(t(A,e))}})}),Qa=["typed","config","round","matrix","equalScalar","zeros","DenseMatrix"],Ea=le("floor",["typed","config","round"],A=>{var{typed:e,config:t,round:n}=A;return e("floor",{number:function(A){return FA(A,n(A),t.epsilon)?n(A):Math.floor(A)},"number, number":function(A,e){if(FA(A,n(A,e),t.epsilon))return n(A,e);var[i,r]="".concat(A,"e").split("e"),s=Math.floor(Number("".concat(i,"e").concat(Number(r)+e)));return[i,r]="".concat(s,"e").split("e"),Number("".concat(i,"e").concat(Number(r)-e))}})}),la=le("floor",Qa,A=>{var{typed:e,config:t,round:n,matrix:i,equalScalar:r,zeros:s,DenseMatrix:o}=A,a=oo({typed:e,equalScalar:r}),B=ao({typed:e,DenseMatrix:o}),c=co({typed:e}),g=Ea({typed:e,config:t,round:n});return e("floor",{number:g.signatures.number,"number,number":g.signatures["number,number"],Complex:function(A){return A.floor()},"Complex, number":function(A,e){return A.floor(e)},"Complex, BigNumber":function(A,e){return A.floor(e.toNumber())},BigNumber:function(A){return Ar(A,n(A),t.epsilon)?n(A):A.floor()},"BigNumber, BigNumber":function(A,e){return Ar(A,n(A,e),t.epsilon)?n(A,e):A.toDecimalPlaces(e.toNumber(),aA.a.ROUND_FLOOR)},Fraction:function(A){return A.floor()},"Fraction, number":function(A,e){return A.floor(e)},"Fraction, BigNumber":function(A,e){return A.floor(e.toNumber())},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A,!0)),"Array, number | BigNumber":e.referToSelf(A=>(e,t)=>fn(e,e=>A(e,t),!0)),"SparseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>a(e,t,A,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>c(e,t,A,!1)),"number | Complex | Fraction | BigNumber, Array":e.referToSelf(A=>(e,t)=>c(i(t),e,A,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":e.referToSelf(A=>(e,t)=>r(e,0)?s(t.size(),t.storage()):"dense"===t.storage()?c(t,e,A,!0):B(t,e,A,!0))})}),ua=le("mod",["typed","config","round","matrix","equalScalar","zeros","DenseMatrix","concat"],A=>{var{typed:e,config:t,round:n,matrix:i,equalScalar:r,zeros:s,DenseMatrix:o,concat:a}=A,B=la({typed:e,config:t,round:n,matrix:i,equalScalar:r,zeros:s,DenseMatrix:o}),c=io({typed:e,equalScalar:r}),g=ro({typed:e}),Q=vo({typed:e,equalScalar:r}),E=oo({typed:e,equalScalar:r}),l=ao({typed:e,DenseMatrix:o});return e("mod",{"number, number":function(A,e){return 0===e?A:A-e*B(A/e)},"BigNumber, BigNumber":function(A,e){if(e.isNeg())throw new Error("Cannot calculate mod for a negative divisor");return e.isZero()?A:A.mod(e)},"Fraction, Fraction":function(A,e){if(e.compare(0)<0)throw new Error("Cannot calculate mod for a negative divisor");return A.compare(0)>=0?A.mod(e):A.mod(e).add(e).mod(e)}},Qo({typed:e,matrix:i,concat:a})({SS:Q,DS:g,SD:c,Ss:E,sS:l}))}),wa=["typed","config","round","matrix","equalScalar","zeros","BigNumber","DenseMatrix","concat"],ha="number | BigNumber | Fraction | Matrix | Array",Ca="".concat(ha,", ").concat(ha,", ...").concat(ha);function da(A){return!A.some(A=>Array.isArray(A))}var Ia=le("gcd",wa,A=>{var{typed:e,matrix:t,config:n,round:i,equalScalar:r,zeros:s,BigNumber:o,DenseMatrix:a,concat:B}=A,c=ua({typed:e,config:n,round:i,matrix:t,equalScalar:r,zeros:s,DenseMatrix:a,concat:B}),g=mo({typed:e}),Q=Xo({typed:e,equalScalar:r}),E=Fo({typed:e,DenseMatrix:a});return e("gcd",{"number, number":function(A,e){if(!BA(A)||!BA(e))throw new Error("Parameters in function gcd must be integer numbers");var t;for(;0!==e;)t=c(A,e),A=e,e=t;return A<0?-A:A},"BigNumber, BigNumber":function(A,e){if(!A.isInt()||!e.isInt())throw new Error("Parameters in function gcd must be integer numbers");var t=new o(0);for(;!e.isZero();){var n=c(A,e);A=e,e=n}return A.lt(t)?A.neg():A},"Fraction, Fraction":(A,e)=>A.gcd(e)},Qo({typed:e,matrix:t,concat:B})({SS:Q,DS:g,Ss:E}),{[Ca]:e.referToSelf(A=>(e,t,n)=>{for(var i=A(e,t),r=0;r<n.length;r++)i=A(i,n[r]);return i}),Array:e.referToSelf(A=>e=>{if(1===e.length&&Array.isArray(e[0])&&da(e[0]))return A(...e[0]);if(da(e))return A(...e);throw new So("gcd() supports only 1d matrices!")}),Matrix:e.referToSelf(A=>e=>A(e.toArray()))})}),Ma=le("hypot",["typed","abs","addScalar","divideScalar","multiplyScalar","sqrt","smaller","isPositive"],A=>{var{typed:e,abs:t,addScalar:n,divideScalar:i,multiplyScalar:r,sqrt:s,smaller:o,isPositive:a}=A;return e("hypot",{"... number | BigNumber":c,Array:c,Matrix:A=>c($A(A.toArray()))});function c(A){for(var e=0,c=0,g=0;g<A.length;g++){if(B(A[g]))throw new TypeError("Unexpected type of argument to hypot");var Q=t(A[g]);o(c,Q)?(e=r(e,r(i(c,Q),i(c,Q))),e=n(e,1),c=Q):e=n(e,a(Q)?r(i(Q,c),i(Q,c)):Q)}return r(c,s(e))}}),pa=le("ImmutableDenseMatrix",["smaller","DenseMatrix"],A=>{var{smaller:e,DenseMatrix:t}=A;function n(A,e){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(e&&!Q(e))throw new Error("Invalid datatype: "+e);if(l(A)||E(A)){var i=new t(A,e);this._data=i._data,this._size=i._size,this._datatype=i._datatype,this._min=null,this._max=null}else if(A&&E(A.data)&&E(A.size))this._data=A.data,this._size=A.size,this._datatype=A.datatype,this._min=void 0!==A.min?A.min:null,this._max=void 0!==A.max?A.max:null;else{if(A)throw new TypeError("Unsupported type of data ("+V(A)+")");this._data=[],this._size=[0],this._datatype=e,this._min=null,this._max=null}}return n.prototype=new t,n.prototype.type="ImmutableDenseMatrix",n.prototype.isImmutableDenseMatrix=!0,n.prototype.subset=function(A){switch(arguments.length){case 1:var e=t.prototype.subset.call(this,A);return l(e)?new n({data:e._data,size:e._size,datatype:e._datatype}):e;case 2:case 3:throw new Error("Cannot invoke set subset on an Immutable Matrix instance");default:throw new SyntaxError("Wrong number of arguments")}},n.prototype.set=function(){throw new Error("Cannot invoke set on an Immutable Matrix instance")},n.prototype.resize=function(){throw new Error("Cannot invoke resize on an Immutable Matrix instance")},n.prototype.reshape=function(){throw new Error("Cannot invoke reshape on an Immutable Matrix instance")},n.prototype.clone=function(){return new n({data:K(this._data),size:K(this._size),datatype:this._datatype})},n.prototype.toJSON=function(){return{mathjs:"ImmutableDenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},n.fromJSON=function(A){return new n(A)},n.prototype.swapRows=function(){throw new Error("Cannot invoke swapRows on an Immutable Matrix instance")},n.prototype.min=function(){if(null===this._min){var A=null;this.forEach((function(t){(null===A||e(t,A))&&(A=t)})),this._min=null!==A?A:void 0}return this._min},n.prototype.max=function(){if(null===this._max){var A=null;this.forEach((function(t){(null===A||e(A,t))&&(A=t)})),this._max=null!==A?A:void 0}return this._max},n},{isClass:!0}),ma=le("Index",["ImmutableDenseMatrix","getMatrixDataType"],A=>{var{ImmutableDenseMatrix:e,getMatrixDataType:t}=A;function n(A){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this._dimensions=[],this._sourceSize=[],this._isScalar=!0;for(var e=0,r=arguments.length;e<r;e++){var s=arguments[e],o=E(s),a=l(s),B=null;if(C(s))this._dimensions.push(s),this._isScalar=!1;else if(o||a){var c=void 0;"boolean"===t(s)?(o&&(c=i(Fa(s).valueOf())),a&&(c=i(Fa(s._data).valueOf())),B=s.valueOf().length):c=i(s.valueOf()),this._dimensions.push(c);var g=c.size();1===g.length&&1===g[0]&&null===B||(this._isScalar=!1)}else if("number"==typeof s)this._dimensions.push(i([s]));else{if("string"!=typeof s)throw new TypeError("Dimension must be an Array, Matrix, number, string, or Range");this._dimensions.push(s)}this._sourceSize.push(B)}}function i(A){for(var t=0,n=A.length;t<n;t++)if("number"!=typeof A[t]||!BA(A[t]))throw new TypeError("Index parameters must be positive integer numbers");return new e(A)}return n.prototype.type="Index",n.prototype.isIndex=!0,n.prototype.clone=function(){var A=new n;return A._dimensions=K(this._dimensions),A._isScalar=this._isScalar,A._sourceSize=this._sourceSize,A},n.create=function(A){var e=new n;return n.apply(e,A),e},n.prototype.size=function(){for(var A=[],e=0,t=this._dimensions.length;e<t;e++){var n=this._dimensions[e];A[e]="string"==typeof n?1:n.size()[0]}return A},n.prototype.max=function(){for(var A=[],e=0,t=this._dimensions.length;e<t;e++){var n=this._dimensions[e];A[e]="string"==typeof n?n:n.max()}return A},n.prototype.min=function(){for(var A=[],e=0,t=this._dimensions.length;e<t;e++){var n=this._dimensions[e];A[e]="string"==typeof n?n:n.min()}return A},n.prototype.forEach=function(A){for(var e=0,t=this._dimensions.length;e<t;e++)A(this._dimensions[e],e,this)},n.prototype.dimension=function(A){return this._dimensions[A]||null},n.prototype.isObjectProperty=function(){return 1===this._dimensions.length&&"string"==typeof this._dimensions[0]},n.prototype.getObjectProperty=function(){return this.isObjectProperty()?this._dimensions[0]:null},n.prototype.isScalar=function(){return this._isScalar},n.prototype.toArray=function(){for(var A=[],e=0,t=this._dimensions.length;e<t;e++){var n=this._dimensions[e];A.push("string"==typeof n?n:n.toArray())}return A},n.prototype.valueOf=n.prototype.toArray,n.prototype.toString=function(){for(var A=[],e=0,t=this._dimensions.length;e<t;e++){var n=this._dimensions[e];"string"==typeof n?A.push(JSON.stringify(n)):A.push(n.toString())}return"["+A.join(", ")+"]"},n.prototype.toJSON=function(){return{mathjs:"Index",dimensions:this._dimensions}},n.fromJSON=function(A){return n.create(A.dimensions)},n},{isClass:!0});function Fa(A){var e=[];return A.forEach((A,t)=>{A&&e.push(t)}),e}var Da=le("larger",["typed","config","matrix","DenseMatrix","concat"],A=>{var{typed:e,config:t,matrix:n,DenseMatrix:i,concat:r}=A,s=ro({typed:e}),o=so({typed:e,DenseMatrix:i}),a=ao({typed:e,DenseMatrix:i}),B=Qo({typed:e,matrix:n,concat:r}),c=er({typed:e});return e("larger",Ya({typed:e,config:t}),{"boolean, boolean":(A,e)=>A>e,"BigNumber, BigNumber":function(A,e){return A.gt(e)&&!Ar(A,e,t.epsilon)},"Fraction, Fraction":(A,e)=>1===A.compare(e),"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},c,B({SS:o,DS:s,Ss:a}))}),Ya=le("larger",["typed","config"],A=>{var{typed:e,config:t}=A;return e("larger",{"number, number":function(A,e){return A>e&&!FA(A,e,t.epsilon)}})}),fa=le("log",["config","typed","divideScalar","Complex"],A=>{var{typed:e,config:t,divideScalar:n,Complex:i}=A;return e("log",{number:function(A){return A>=0||t.predictable?function(A,e){return e?Math.log(A)/Math.log(e):Math.log(A)}(A):new i(A,0).log()},Complex:function(A){return A.log()},BigNumber:function(A){return!A.isNegative()||t.predictable?A.ln():new i(A.toNumber(),0).log()},"any, any":e.referToSelf(A=>(e,t)=>n(A(e),A(t)))})}),Na=le("lsolveAll",["typed","matrix","divideScalar","multiplyScalar","subtractScalar","equalScalar","DenseMatrix"],A=>{var{typed:e,matrix:t,divideScalar:n,multiplyScalar:i,subtractScalar:r,equalScalar:s,DenseMatrix:o}=A,a=No({DenseMatrix:o});return e("lsolveAll",{"SparseMatrix, Array | Matrix":function(A,e){return function(A,e){for(var t=[a(A,e,!0)._data.map(A=>A[0])],B=A._size[0],c=A._size[1],g=A._values,Q=A._index,E=A._ptr,l=0;l<c;l++)for(var u=t.length,w=0;w<u;w++){for(var h=t[w],C=[],d=[],I=E[l],M=E[l+1],p=0,m=I;m<M;m++){var F=Q[m];F===l?p=g[m]:F>l&&(C.push(g[m]),d.push(F))}if(s(p,0))if(s(h[l],0)){if(0===w){var D=[...h];D[l]=1;for(var Y=0,f=d.length;Y<f;Y++){var N=d[Y];D[N]=r(D[N],C[Y])}t.push(D)}}else{if(0===w)return[];t.splice(w,1),w-=1,u-=1}else{h[l]=n(h[l],p);for(var U=0,y=d.length;U<y;U++){var x=d[U];h[x]=r(h[x],i(h[l],C[U]))}}}return t.map(A=>new o({data:A.map(A=>[A]),size:[B,1]}))}(A,e)},"DenseMatrix, Array | Matrix":function(A,e){return B(A,e)},"Array, Array | Matrix":function(A,e){return B(t(A),e).map(A=>A.valueOf())}});function B(A,e){for(var t=[a(A,e,!0)._data.map(A=>A[0])],B=A._data,c=A._size[0],g=A._size[1],Q=0;Q<g;Q++)for(var E=t.length,l=0;l<E;l++){var u=t[l];if(s(B[Q][Q],0))if(s(u[Q],0)){if(0===l){var w=[...u];w[Q]=1;for(var h=Q+1;h<g;h++)w[h]=r(w[h],B[h][Q]);t.push(w)}}else{if(0===l)return[];t.splice(l,1),l-=1,E-=1}else{u[Q]=n(u[Q],B[Q][Q]);for(var C=Q+1;C<g;C++)u[C]=r(u[C],i(u[Q],B[C][Q]))}}return t.map(A=>new o({data:A.map(A=>[A]),size:[c,1]}))}}),Ua=le("matrixFromRows",["typed","matrix","flatten","size"],A=>{var{typed:e,matrix:t,flatten:n,size:i}=A;return e("matrixFromRows",{"...Array":function(A){return r(A)},"...Matrix":function(A){return t(r(A.map(A=>A.toArray())))}});function r(A){if(0===A.length)throw new TypeError("At least one row is needed to construct a matrix.");var e=s(A[0]),t=[];for(var i of A){var r=s(i);if(r!==e)throw new TypeError("The vectors had different length: "+(0|e)+" ≠ "+(0|r));t.push(n(i))}return t}function s(A){var e=i(A);if(1===e.length)return e[0];if(2===e.length){if(1===e[0])return e[1];if(1===e[1])return e[0];throw new TypeError("At least one of the arguments is not a vector.")}throw new TypeError("Only one- or two-dimensional vectors are supported.")}}),ya=le("min",["typed","config","numeric","smaller"],A=>{var{typed:e,config:t,numeric:n,smaller:i}=A;return e("min",{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(A,e){return Nn(A,e.valueOf(),r)},"...":function(A){if(Dn(A))throw new TypeError("Scalar values expected in function min");return s(A)}});function r(A,e){try{return i(A,e)?A:e}catch(A){throw Ls(A,"min",e)}}function s(A){var e;if(Yn(A,(function(A){try{isNaN(A)&&"number"==typeof A?e=NaN:(void 0===e||i(A,e))&&(e=A)}catch(e){throw Ls(e,"min",A)}})),void 0===e)throw new Error("Cannot calculate min of an empty array");return"string"==typeof e&&(e=n(e,t.number)),e}}),xa=le("multiply",["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],A=>{var{typed:e,matrix:t,addScalar:n,multiplyScalar:i,equalScalar:r,dot:s}=A,o=oo({typed:e,equalScalar:r}),a=co({typed:e});function B(A,e){switch(A.length){case 1:switch(e.length){case 1:if(A[0]!==e[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(A[0]!==e[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+A[0]+") must match Matrix rows ("+e[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+e.length+" dimensions)")}break;case 2:switch(e.length){case 1:if(A[1]!==e[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+A[1]+") must match Vector length ("+e[0]+")");break;case 2:if(A[1]!==e[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+A[1]+") must match Matrix B rows ("+e[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+e.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+A.length+" dimensions)")}}function c(A,t){if("dense"!==t.storage())throw new Error("Support for SparseMatrix not implemented");return function(A,t){var r,s=A._data,o=A._size,a=A._datatype,B=t._data,c=t._size,g=t._datatype,Q=o[0],E=c[1],l=n,u=i;a&&g&&a===g&&"string"==typeof a&&(r=a,l=e.find(n,[r,r]),u=e.find(i,[r,r]));for(var w=[],h=0;h<E;h++){for(var C=u(s[0],B[0][h]),d=1;d<Q;d++)C=l(C,u(s[d],B[d][h]));w[h]=C}return A.createDenseMatrix({data:w,size:[E],datatype:r})}(A,t)}var g=e("_multiplyMatrixVector",{"DenseMatrix, any":function(A,t){var r,s=A._data,o=A._size,a=A._datatype,B=t._data,c=t._datatype,g=o[0],Q=o[1],E=n,l=i;a&&c&&a===c&&"string"==typeof a&&(r=a,E=e.find(n,[r,r]),l=e.find(i,[r,r]));for(var u=[],w=0;w<g;w++){for(var h=s[w],C=l(h[0],B[0]),d=1;d<Q;d++)C=E(C,l(h[d],B[d]));u[w]=C}return A.createDenseMatrix({data:u,size:[g],datatype:r})},"SparseMatrix, any":function(A,t){var s=A._values,o=A._index,a=A._ptr,B=A._datatype;if(!s)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var c,g=t._data,Q=t._datatype,E=A._size[0],l=t._size[0],u=[],w=[],h=[],C=n,d=i,I=r,M=0;B&&Q&&B===Q&&"string"==typeof B&&(c=B,C=e.find(n,[c,c]),d=e.find(i,[c,c]),I=e.find(r,[c,c]),M=e.convert(0,c));var p=[],m=[];h[0]=0;for(var F=0;F<l;F++){var D=g[F];if(!I(D,M))for(var Y=a[F],f=a[F+1],N=Y;N<f;N++){var U=o[N];m[U]?p[U]=C(p[U],d(D,s[N])):(m[U]=!0,w.push(U),p[U]=d(D,s[N]))}}for(var y=w.length,x=0;x<y;x++){var T=w[x];u[x]=p[T]}return h[1]=w.length,A.createSparseMatrix({values:u,index:w,ptr:h,size:[E,1],datatype:c})}}),Q=e("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":function(A,t){var r,s=A._data,o=A._size,a=A._datatype,B=t._data,c=t._size,g=t._datatype,Q=o[0],E=o[1],l=c[1],u=n,w=i;a&&g&&a===g&&"string"==typeof a&&(r=a,u=e.find(n,[r,r]),w=e.find(i,[r,r]));for(var h=[],C=0;C<Q;C++){var d=s[C];h[C]=[];for(var I=0;I<l;I++){for(var M=w(d[0],B[0][I]),p=1;p<E;p++)M=u(M,w(d[p],B[p][I]));h[C][I]=M}}return A.createDenseMatrix({data:h,size:[Q,l],datatype:r})},"DenseMatrix, SparseMatrix":function(A,t){var s=A._data,o=A._size,a=A._datatype,B=t._values,c=t._index,g=t._ptr,Q=t._size,E=t._datatype;if(!B)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var l,u=o[0],w=Q[1],h=n,C=i,d=r,I=0;a&&E&&a===E&&"string"==typeof a&&(l=a,h=e.find(n,[l,l]),C=e.find(i,[l,l]),d=e.find(r,[l,l]),I=e.convert(0,l));for(var M=[],p=[],m=[],F=t.createSparseMatrix({values:M,index:p,ptr:m,size:[u,w],datatype:l}),D=0;D<w;D++){m[D]=p.length;var Y=g[D],f=g[D+1];if(f>Y)for(var N=0,U=0;U<u;U++){for(var y=U+1,x=void 0,T=Y;T<f;T++){var R=c[T];N!==y?(x=C(s[U][R],B[T]),N=y):x=h(x,C(s[U][R],B[T]))}N!==y||d(x,I)||(p.push(U),M.push(x))}}return m[w]=p.length,F},"SparseMatrix, DenseMatrix":function(A,t){var s=A._values,o=A._index,a=A._ptr,B=A._datatype;if(!s)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var c,g=t._data,Q=t._datatype,E=A._size[0],l=t._size[0],u=t._size[1],w=n,h=i,C=r,d=0;B&&Q&&B===Q&&"string"==typeof B&&(c=B,w=e.find(n,[c,c]),h=e.find(i,[c,c]),C=e.find(r,[c,c]),d=e.convert(0,c));for(var I=[],M=[],p=[],m=A.createSparseMatrix({values:I,index:M,ptr:p,size:[E,u],datatype:c}),F=[],D=[],Y=0;Y<u;Y++){p[Y]=M.length;for(var f=Y+1,N=0;N<l;N++){var U=g[N][Y];if(!C(U,d))for(var y=a[N],x=a[N+1],T=y;T<x;T++){var R=o[T];D[R]!==f?(D[R]=f,M.push(R),F[R]=h(U,s[T])):F[R]=w(F[R],h(U,s[T]))}}for(var G=p[Y],S=M.length,H=G;H<S;H++){var b=M[H];I[H]=F[b]}}return p[u]=M.length,m},"SparseMatrix, SparseMatrix":function(A,t){var r,s=A._values,o=A._index,a=A._ptr,B=A._datatype,c=t._values,g=t._index,Q=t._ptr,E=t._datatype,l=A._size[0],u=t._size[1],w=s&&c,h=n,C=i;B&&E&&B===E&&"string"==typeof B&&(r=B,h=e.find(n,[r,r]),C=e.find(i,[r,r]));for(var d,I,M,p,m,F,D,Y,f=w?[]:void 0,N=[],U=[],y=A.createSparseMatrix({values:f,index:N,ptr:U,size:[l,u],datatype:r}),x=w?[]:void 0,T=[],R=0;R<u;R++){U[R]=N.length;var G=R+1;for(m=Q[R],F=Q[R+1],p=m;p<F;p++)if(Y=g[p],w)for(I=a[Y],M=a[Y+1],d=I;d<M;d++)D=o[d],T[D]!==G?(T[D]=G,N.push(D),x[D]=C(c[p],s[d])):x[D]=h(x[D],C(c[p],s[d]));else for(I=a[Y],M=a[Y+1],d=I;d<M;d++)D=o[d],T[D]!==G&&(T[D]=G,N.push(D));if(w)for(var S=U[R],H=N.length,b=S;b<H;b++){var k=N[b];f[b]=x[k]}}return U[u]=N.length,y}});return e("multiply",i,{"Array, Array":e.referTo("Matrix, Matrix",A=>(e,n)=>{B(vA(e),vA(n));var i=A(t(e),t(n));return l(i)?i.valueOf():i}),"Matrix, Matrix":function(A,e){var t=A.size(),n=e.size();return B(t,n),1===t.length?1===n.length?function(A,e,t){if(0===t)throw new Error("Cannot multiply two empty vectors");return s(A,e)}(A,e,t[0]):c(A,e):1===n.length?g(A,e):Q(A,e)},"Matrix, Array":e.referTo("Matrix,Matrix",A=>(e,n)=>A(e,t(n))),"Array, Matrix":e.referToSelf(A=>(e,n)=>A(t(e,n.storage()),n)),"SparseMatrix, any":function(A,e){return o(A,e,i,!1)},"DenseMatrix, any":function(A,e){return a(A,e,i,!1)},"any, SparseMatrix":function(A,e){return o(e,A,i,!0)},"any, DenseMatrix":function(A,e){return a(e,A,i,!0)},"Array, any":function(A,e){return a(t(A),e,i,!1).valueOf()},"any, Array":function(A,e){return a(t(e),A,i,!0).valueOf()},"any, any":i,"any, any, ...any":e.referToSelf(A=>(e,t,n)=>{for(var i=A(e,t),r=0;r<n.length;r++)i=A(i,n[r]);return i})})}),Ta=le("nthRoots",["config","typed","divideScalar","Complex"],A=>{var{typed:e,config:t,divideScalar:n,Complex:i}=A,r=[function(A){return new i(A,0)},function(A){return new i(0,A)},function(A){return new i(-A,0)},function(A){return new i(0,-A)}];function s(A,e){if(e<0)throw new Error("Root must be greater than zero");if(0===e)throw new Error("Root must be non-zero");if(e%1!=0)throw new Error("Root must be an integer");if(0===A||0===A.abs())return[new i(0,0)];var t,n="number"==typeof A;(n||0===A.re||0===A.im)&&(t=n?2*+(A<0):0===A.im?2*+(A.re<0):2*+(A.im<0)+1);for(var s=A.arg(),o=A.abs(),a=[],B=Math.pow(o,1/e),c=0;c<e;c++){var g=(t+4*c)/e;g!==Math.round(g)?a.push(new i({r:B,phi:(s+2*Math.PI*c)/e})):a.push(r[g%4](B))}return a}return e("nthRoots",{Complex:function(A){return s(A,2)},"Complex, number":s})}),Ra=le("or",["typed","matrix","equalScalar","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,DenseMatrix:i,concat:r}=A,s=ro({typed:e}),o=vo({typed:e,equalScalar:n}),a=ao({typed:e,DenseMatrix:i}),B=Qo({typed:e,matrix:t,concat:r});return e("or",{"number, number":jr,"Complex, Complex":function(A,e){return 0!==A.re||0!==A.im||0!==e.re||0!==e.im},"BigNumber, BigNumber":function(A,e){return!A.isZero()&&!A.isNaN()||!e.isZero()&&!e.isNaN()},"Unit, Unit":e.referToSelf(A=>(e,t)=>A(e.value||0,t.value||0))},B({SS:o,DS:s,Ss:a}))}),Ga=le("partitionSelect",["typed","isNumeric","isNaN","compare"],A=>{var{typed:e,isNumeric:t,isNaN:n,compare:i}=A,r=i,s=(A,e)=>-i(A,e);return e("partitionSelect",{"Array | Matrix, number":function(A,e){return o(A,e,r)},"Array | Matrix, number, string":function(A,e,t){if("asc"===t)return o(A,e,r);if("desc"===t)return o(A,e,s);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":o});function o(A,e,t){if(!BA(e)||e<0)throw new Error("k must be a non-negative integer");if(l(A)){if(A.size().length>1)throw new Error("Only one dimensional matrices supported");return a(A.valueOf(),e,t)}if(Array.isArray(A))return a(A,e,t)}function a(A,e,i){if(e>=A.length)throw new Error("k out of bounds");for(var r=0;r<A.length;r++)if(t(A[r])&&n(A[r]))return A[r];for(var s=0,o=A.length-1;s<o;){for(var a=s,B=o,c=A[Math.floor(Math.random()*(o-s+1))+s];a<B;)if(i(A[a],c)>=0){var g=A[B];A[B]=A[a],A[a]=g,--B}else++a;i(A[a],c)>0&&--a,e<=a?o=a:s=a+1}return A[e]}}),Sa=le("rightLogShift",["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,DenseMatrix:r,concat:s}=A,o=mo({typed:e}),a=io({typed:e,equalScalar:n}),B=Do({typed:e,equalScalar:n}),c=Fo({typed:e,DenseMatrix:r}),g=oo({typed:e,equalScalar:n}),Q=co({typed:e}),E=Qo({typed:e,matrix:t,concat:s}),l=Yo({typed:e,matrix:t});return e("rightLogShift",{"number, number":Ji,"SparseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>n(t,0)?e.clone():g(e,t,A,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>n(t,0)?e.clone():Q(e,t,A,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(A=>(e,t)=>n(e,0)?i(t.size(),t.storage()):c(t,e,A,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(A=>(e,t)=>n(e,0)?i(t.size(),t.storage()):Q(t,e,A,!0))},l,E({SS:B,DS:o,SD:a}))});function Ha(A,e,t,n,i,r,s){var o=0;for(t[s]=A;o>=0;){var a=t[s+o],B=t[n+a];-1===B?(o--,r[e++]=a):(t[n+a]=t[i+B],t[s+ ++o]=B)}return e}function ba(A){return-A-2}var ka=le("csAmd",["add","multiply","transpose"],A=>{var{add:e,multiply:t,transpose:n}=A;return function(A,s){if(!s||A<=0||A>3)return null;var o=s._size,a=o[0],B=o[1],c=0,g=Math.max(16,10*Math.sqrt(B)),Q=function(A,i,r,s,o){var a=n(i);if(1===A&&s===r)return e(i,a);if(2===A){for(var B=a._index,c=a._ptr,g=0,Q=0;Q<r;Q++){var E=c[Q];if(c[Q]=g,!(c[Q+1]-E>o))for(var l=c[Q+1];E<l;E++)B[g++]=B[E]}return c[r]=g,i=n(a),t(a,i)}return t(a,i)}(A,s,a,B,g=Math.min(B-2,g));!function(A,e,t){for(var n=A._values,i=A._index,r=A._ptr,s=A._size[1],o=0,a=0;a<s;a++){var B=r[a];for(r[a]=o;B<r[a+1];B++)e(i[B],a,n?n[B]:1,t)&&(i[o]=i[B],n&&(n[o]=n[B]),o++)}r[s]=o,i.splice(o,i.length-o),n&&n.splice(o,n.length-o)}(Q,r,null);for(var E,l,u,w,h,C,d,I,M,p,m,F,D,Y,f,N,U=Q._index,y=Q._ptr,x=y[B],T=[],R=[],G=B+1,S=2*(B+1),H=3*(B+1),b=4*(B+1),k=5*(B+1),J=6*(B+1),j=7*(B+1),z=T,v=function(A,e,t,n,r,s,o,a,B,c,g,Q){for(var E=0;E<A;E++)t[n+E]=e[E+1]-e[E];t[n+A]=0;for(var l=0;l<=A;l++)t[r+l]=-1,s[l]=-1,t[o+l]=-1,t[a+l]=-1,t[B+l]=1,t[c+l]=1,t[g+l]=0,t[Q+l]=t[n+l];var u=i(0,0,t,c,A);return t[g+A]=-2,e[A]=-1,t[c+A]=0,u}(B,y,R,0,H,z,S,j,G,J,b,k),L=function(A,e,t,n,i,r,s,o,a,B,c){for(var g=0,Q=0;Q<A;Q++){var E=t[n+Q];if(0===E)t[i+Q]=-2,g++,e[Q]=-1,t[r+Q]=0;else if(E>s)t[o+Q]=0,t[i+Q]=-1,g++,e[Q]=ba(A),t[o+A]++;else{var l=t[a+E];-1!==l&&(B[l]=Q),t[c+Q]=t[a+E],t[a+E]=Q}}return g}(B,y,R,k,b,J,g,G,H,z,S),P=0;L<B;){for(u=-1;P<B&&-1===(u=R[H+P]);P++);-1!==R[S+u]&&(z[R[S+u]]=-1),R[H+P]=R[S+u];var O=R[b+u],W=R[G+u];L+=W;var V=0;R[G+u]=-W;var K=y[u],X=0===O?K:x,Z=X;for(w=1;w<=O+1;w++){for(w>O?(C=u,d=K,I=R[0+u]-O):(d=y[C=U[K++]],I=R[0+C]),h=1;h<=I;h++)(M=R[G+(E=U[d++])])<=0||(V+=M,R[G+E]=-M,U[Z++]=E,-1!==R[S+E]&&(z[R[S+E]]=z[E]),-1!==z[E]?R[S+z[E]]=R[S+E]:R[H+R[k+E]]=R[S+E]);C!==u&&(y[C]=ba(u),R[J+C]=0)}for(0!==O&&(x=Z),R[k+u]=V,y[u]=X,R[0+u]=Z-X,R[b+u]=-2,v=i(v,c,R,J,B),p=X;p<Z;p++)if(!((m=R[b+(E=U[p])])<=0)){var _=v-(M=-R[G+E]);for(K=y[E],F=y[E]+m-1;K<=F;K++)R[J+(C=U[K])]>=v?R[J+C]-=M:0!==R[J+C]&&(R[J+C]=R[k+C]+_)}for(p=X;p<Z;p++){for(D=(F=y[E=U[p]])+R[b+E]-1,Y=F,f=0,N=0,K=F;K<=D;K++)if(0!==R[J+(C=U[K])]){var q=R[J+C]-v;q>0?(N+=q,U[Y++]=C,f+=C):(y[C]=ba(u),R[J+C]=0)}R[b+E]=Y-F+1;var $=Y,AA=F+R[0+E];for(K=D+1;K<AA;K++){var eA=R[G+(l=U[K])];eA<=0||(N+=eA,U[Y++]=l,f+=l)}0===N?(y[E]=ba(u),V-=M=-R[G+E],W+=M,L+=M,R[G+E]=0,R[b+E]=-1):(R[k+E]=Math.min(R[k+E],N),U[Y]=U[$],U[$]=U[F],U[F]=u,R[0+E]=Y-F+1,f=(f<0?-f:f)%B,R[S+E]=R[j+f],R[j+f]=E,z[E]=f)}for(R[k+u]=V,v=i(v+(c=Math.max(c,V)),c,R,J,B),p=X;p<Z;p++)if(!(R[G+(E=U[p])]>=0))for(E=R[j+(f=z[E])],R[j+f]=-1;-1!==E&&-1!==R[S+E];E=R[S+E],v++){for(I=R[0+E],m=R[b+E],K=y[E]+1;K<=y[E]+I-1;K++)R[J+U[K]]=v;var tA=E;for(l=R[S+E];-1!==l;){var nA=R[0+l]===I&&R[b+l]===m;for(K=y[l]+1;nA&&K<=y[l]+I-1;K++)R[J+U[K]]!==v&&(nA=0);nA?(y[l]=ba(E),R[G+E]+=R[G+l],R[G+l]=0,R[b+l]=-1,l=R[S+l],R[S+tA]=l):(tA=l,l=R[S+l])}}for(K=X,p=X;p<Z;p++)(M=-R[G+(E=U[p])])<=0||(R[G+E]=M,N=R[k+E]+V-M,-1!==R[H+(N=Math.min(N,B-L-M))]&&(z[R[H+N]]=E),R[S+E]=R[H+N],z[E]=-1,R[H+N]=E,P=Math.min(P,N),R[k+E]=N,U[K++]=E);R[G+u]=W,0==(R[0+u]=K-X)&&(y[u]=-1,R[J+u]=0),0!==O&&(x=K)}for(E=0;E<B;E++)y[E]=ba(y[E]);for(l=0;l<=B;l++)R[H+l]=-1;for(l=B;l>=0;l--)R[G+l]>0||(R[S+l]=R[H+y[l]],R[H+y[l]]=l);for(C=B;C>=0;C--)R[G+C]<=0||-1!==y[C]&&(R[S+C]=R[H+y[C]],R[H+y[C]]=C);for(u=0,E=0;E<=B;E++)-1===y[E]&&(u=Ha(E,u,R,H,S,T,J));return T.splice(T.length-1,1),T};function i(A,e,t,n,i){if(A<2||A+e<0){for(var r=0;r<i;r++)0!==t[n+r]&&(t[n+r]=1);A=2}return A}function r(A,e){return A!==e}});function Ja(A,e,t,n,i,r,s){var o,a,B,c=0;if(A<=e||t[n+e]<=t[i+A])return-1;t[i+A]=t[n+e];var g=t[r+A];if(t[r+A]=e,-1===g)c=1,B=A;else{for(c=2,B=g;B!==t[s+B];B=t[s+B]);for(o=g;o!==B;o=a)a=t[s+o],t[s+o]=B}return{jleaf:c,q:B}}var ja=le("csCounts",["transpose"],A=>{var{transpose:e}=A;return function(A,t,n,i){if(!A||!t||!n)return null;var r,s,o,a,B,c,g,Q=A._size,E=Q[0],l=Q[1],u=4*l+(i?l+E+1:0),w=[],h=l,C=2*l,d=3*l,I=4*l,M=5*l+1;for(o=0;o<u;o++)w[o]=-1;var p=[],m=e(A),F=m._index,D=m._ptr;for(o=0;o<l;o++)for(p[s=n[o]]=-1===w[d+s]?1:0;-1!==s&&-1===w[d+s];s=t[s])w[d+s]=o;if(i){for(o=0;o<l;o++)w[n[o]]=o;for(r=0;r<E;r++){for(o=l,c=D[r],g=D[r+1],B=c;B<g;B++)o=Math.min(o,w[F[B]]);w[M+r]=w[I+o],w[I+o]=r}}for(r=0;r<l;r++)w[0+r]=r;for(o=0;o<l;o++){for(-1!==t[s=n[o]]&&p[t[s]]--,a=i?w[I+o]:s;-1!==a;a=i?w[M+a]:-1)for(B=D[a];B<D[a+1];B++){var Y=Ja(r=F[B],s,w,d,h,C,0);Y.jleaf>=1&&p[s]++,2===Y.jleaf&&p[Y.q]--}-1!==t[s]&&(w[0+s]=t[s])}for(s=0;s<l;s++)-1!==t[s]&&(p[t[s]]+=p[s]);return p}}),za=le("csSqr",["add","multiply","transpose"],A=>{var{add:e,multiply:t,transpose:n}=A,i=ka({add:e,multiply:t,transpose:n}),r=ja({transpose:n});return function(A,e,t){var n,s=e._ptr,o=e._size[1],a={};if(a.q=i(A,e),A&&!a.q)return null;if(t){var B=A?function(A,e,t,n){for(var i=A._values,r=A._index,s=A._ptr,o=A._size,a=A._datatype,B=o[0],c=o[1],g=n&&A._values?[]:null,Q=[],E=[],l=0,u=0;u<c;u++){E[u]=l;for(var w=t?t[u]:u,h=s[w],C=s[w+1],d=h;d<C;d++){var I=e?e[r[d]]:r[d];Q[l]=I,g&&(g[l]=i[d]),l++}}return E[c]=l,A.createSparseMatrix({values:g,index:Q,ptr:E,size:[B,c],datatype:a})}(e,null,a.q,0):e;a.parent=function(A,e){if(!A)return null;var t,n,i=A._index,r=A._ptr,s=A._size,o=s[0],a=s[1],B=[],c=[],g=a;if(e)for(t=0;t<o;t++)c[g+t]=-1;for(var Q=0;Q<a;Q++){B[Q]=-1,c[0+Q]=-1;for(var E=r[Q],l=r[Q+1],u=E;u<l;u++){var w=i[u];for(t=e?c[g+w]:w;-1!==t&&t<Q;t=n)n=c[0+t],c[0+t]=Q,-1===n&&(B[t]=Q);e&&(c[g+w]=Q)}}return B}(B,1);var c=function(A,e){if(!A)return null;var t,n=0,i=[],r=[],s=e,o=2*e;for(t=0;t<e;t++)r[0+t]=-1;for(t=e-1;t>=0;t--)-1!==A[t]&&(r[s+t]=r[0+A[t]],r[0+A[t]]=t);for(t=0;t<e;t++)-1===A[t]&&(n=Ha(t,n,r,0,s,i,o));return i}(a.parent,o);if(a.cp=r(B,a.parent,c,1),B&&a.parent&&a.cp&&function(A,e){var t=A._ptr,n=A._index,i=A._size,r=i[0],s=i[1];e.pinv=[],e.leftmost=[];var o,a,B,c,g,Q=e.parent,E=e.pinv,l=e.leftmost,u=[],w=r,h=r+s,C=r+2*s;for(a=0;a<s;a++)u[w+a]=-1,u[h+a]=-1,u[C+a]=0;for(o=0;o<r;o++)l[o]=-1;for(a=s-1;a>=0;a--)for(c=t[a],g=t[a+1],B=c;B<g;B++)l[n[B]]=a;for(o=r-1;o>=0;o--)E[o]=-1,-1!==(a=l[o])&&(0==u[C+a]++&&(u[h+a]=o),u[0+o]=u[w+a],u[w+a]=o);for(e.lnz=0,e.m2=r,a=0;a<s;a++)if(o=u[w+a],e.lnz++,o<0&&(o=e.m2++),E[o]=a,!(--C[a]<=0)){e.lnz+=u[C+a];var d=Q[a];-1!==d&&(0===u[C+d]&&(u[h+d]=u[h+a]),u[0+u[h+a]]=u[w+d],u[w+d]=u[0+o],u[C+d]+=u[C+a])}for(o=0;o<r;o++)E[o]<0&&(E[o]=a++);return!0}(B,a))for(a.unz=0,n=0;n<o;n++)a.unz+=a.cp[n]}else a.unz=4*s[o]+o,a.lnz=a.unz;return a}});function va(A,e){return A[e]<0}function La(A,e){A[e]=ba(A[e])}function Pa(A){return A<0?ba(A):A}function Oa(A,e,t,n,i){var r,s,o,a=e._index,B=e._ptr,c=e._size[1],g=0;for(n[0]=A;g>=0;){A=n[g];var Q=i?i[A]:A;va(B,A)||(La(B,A),n[c+g]=Q<0?0:Pa(B[Q]));var E=1;for(s=n[c+g],o=Q<0?0:Pa(B[Q+1]);s<o;s++)if(!va(B,r=a[s])){n[c+g]=s,n[++g]=r,E=0;break}E&&(g--,n[--t]=A)}return t}var Wa=le("csSpsolve",["divideScalar","multiply","subtract"],A=>{var{divideScalar:e,multiply:t,subtract:n}=A;return function(A,i,r,s,o,a,B){var c,g,Q,E,l=A._values,u=A._index,w=A._ptr,h=A._size[1],C=i._values,d=i._index,I=i._ptr,M=function(A,e,t,n,i){var r,s,o,a=A._ptr,B=A._size,c=e._index,g=e._ptr,Q=B[1],E=Q;for(s=g[t],o=g[t+1],r=s;r<o;r++){var l=c[r];va(a,l)||(E=Oa(l,A,E,n,i))}for(r=E;r<Q;r++)La(a,n[r]);return E}(A,i,r,s,a);for(c=M;c<h;c++)o[s[c]]=0;for(g=I[r],Q=I[r+1],c=g;c<Q;c++)o[d[c]]=C[c];for(var p=M;p<h;p++){var m=s[p],F=a?a[m]:m;if(!(F<0))for(g=w[F],Q=w[F+1],o[m]=e(o[m],l[B?g:Q-1]),c=B?g+1:g,E=B?Q:Q-1;c<E;c++){var D=u[c];o[D]=n(o[D],t(l[c],o[m]))}}return M}}),Va=le("csLu",["abs","divideScalar","multiply","subtract","larger","largerEq","SparseMatrix"],A=>{var{abs:e,divideScalar:t,multiply:n,subtract:i,larger:r,largerEq:s,SparseMatrix:o}=A,a=Wa({divideScalar:t,multiply:n,subtract:i});return function(A,i,B){if(!A)return null;var c,g=A._size[1],Q=100,E=100;i&&(c=i.q,Q=i.lnz||Q,E=i.unz||E);var l,u,w=[],h=[],C=[],d=new o({values:w,index:h,ptr:C,size:[g,g]}),I=[],M=[],p=[],m=new o({values:I,index:M,ptr:p,size:[g,g]}),F=[],D=[],Y=[];for(l=0;l<g;l++)D[l]=0,F[l]=-1,C[l+1]=0;Q=0,E=0;for(var f=0;f<g;f++){C[f]=Q,p[f]=E;var N=c?c[f]:f,U=a(d,A,N,Y,D,F,1),y=-1,x=-1;for(u=U;u<g;u++)if(F[l=Y[u]]<0){var T=e(D[l]);r(T,x)&&(x=T,y=l)}else M[E]=F[l],I[E++]=D[l];if(-1===y||x<=0)return null;F[N]<0&&s(e(D[N]),n(x,B))&&(y=N);var R=D[y];for(M[E]=f,I[E++]=R,F[y]=f,h[Q]=y,w[Q++]=1,u=U;u<g;u++)F[l=Y[u]]<0&&(h[Q]=l,w[Q++]=t(D[l],R)),D[l]=0}for(C[g]=Q,p[g]=E,u=0;u<Q;u++)h[u]=F[h[u]];return w.splice(Q,w.length-Q),h.splice(Q,h.length-Q),I.splice(E,I.length-E),M.splice(E,M.length-E),{L:d,U:m,pinv:F}}}),Ka=le("slu",["typed","abs","add","multiply","transpose","divideScalar","subtract","larger","largerEq","SparseMatrix"],A=>{var{typed:e,abs:t,add:n,multiply:i,transpose:r,divideScalar:s,subtract:o,larger:a,largerEq:B,SparseMatrix:c}=A,g=za({add:n,multiply:i,transpose:r}),Q=Va({abs:t,divideScalar:s,multiply:i,subtract:o,larger:a,largerEq:B,SparseMatrix:c});return e("slu",{"SparseMatrix, number, number":function(A,e,t){if(!BA(e)||e<0||e>3)throw new Error("Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]");if(t<0||t>1)throw new Error("Partial pivoting threshold must be a number from 0 to 1");var n=g(e,A,!1),i=Q(A,n,t);return{L:i.L,U:i.U,p:i.pinv,q:n.q,toString:function(){return"L: "+this.L.toString()+"\nU: "+this.U.toString()+"\np: "+this.p.toString()+(this.q?"\nq: "+this.q.toString():"")+"\n"}}}})}),Xa=le("subset",["typed","matrix","zeros","add"],A=>{var{typed:e,matrix:t,zeros:n,add:i}=A;return e("subset",{"Matrix, Index":function(A,e){return WA(e)?t():(PA(A,e),A.subset(e))},"Array, Index":e.referTo("Matrix, Index",(function(A){return function(e,n){var i=A(t(e),n);return n.isScalar()?i:i.valueOf()}})),"Object, Index":qa,"string, Index":Za,"Matrix, Index, any, any":function(A,e,t,r){return WA(e)?A:(PA(A,e),A.clone().subset(e,function(A,e){if("string"==typeof A)throw new Error("can't boradcast a string");if(e._isScalar)return A;var t=e.size();if(!t.every(A=>A>0))return A;try{return i(A,n(t))}catch(e){return A}}(t,e),r))},"Array, Index, any, any":e.referTo("Matrix, Index, any, any",(function(A){return function(e,n,i,r){var s=A(t(e),n,i,r);return s.isMatrix?s.valueOf():s}})),"Array, Index, any":e.referTo("Matrix, Index, any, any",(function(A){return function(e,n,i){return A(t(e),n,i,void 0).valueOf()}})),"Matrix, Index, any":e.referTo("Matrix, Index, any, any",(function(A){return function(e,t,n){return A(e,t,n,void 0)}})),"string, Index, string":_a,"string, Index, string, string":_a,"Object, Index, any":$a})});function Za(A,e){if(!d(e))throw new TypeError("Index expected");if(WA(e))return"";if(PA(Array.from(A),e),1!==e.size().length)throw new jA(e.size().length,1);var t=A.length;OA(e.min()[0],t),OA(e.max()[0],t);var n=e.dimension(0),i="";return n.forEach((function(e){i+=A.charAt(e)})),i}function _a(A,e,t,n){if(!e||!0!==e.isIndex)throw new TypeError("Index expected");if(WA(e))return A;if(PA(Array.from(A),e),1!==e.size().length)throw new jA(e.size().length,1);if(void 0!==n){if("string"!=typeof n||1!==n.length)throw new TypeError("Single character expected as defaultValue")}else n=" ";var i=e.dimension(0);if(i.size()[0]!==t.length)throw new jA(i.size()[0],t.length);var r=A.length;OA(e.min()[0]),OA(e.max()[0]);for(var s=[],o=0;o<r;o++)s[o]=A.charAt(o);if(i.forEach((function(A,e){s[A]=t.charAt(e[0])})),s.length>r)for(var a=r-1,B=s.length;a<B;a++)s[a]||(s[a]=n);return s.join("")}function qa(A,e){if(!WA(e)){if(1!==e.size().length)throw new jA(e.size(),1);var t=e.dimension(0);if("string"!=typeof t)throw new TypeError("String expected as index to retrieve an object property");return on(A,t)}}function $a(A,e,t){if(WA(e))return A;if(1!==e.size().length)throw new jA(e.size(),1);var n=e.dimension(0);if("string"!=typeof n)throw new TypeError("String expected as index to retrieve an object property");var i=K(A);return an(i,n,t),i}var AB=le("sum",["typed","config","add","numeric"],A=>{var{typed:e,config:t,add:n,numeric:i}=A;return e("sum",{"Array | Matrix":r,"Array | Matrix, number | BigNumber":function(A,e){try{return Nn(A,e,n)}catch(A){throw Ls(A,"sum")}},"...":function(A){if(Dn(A))throw new TypeError("Scalar values expected in function sum");return r(A)}});function r(A){var e;return Yn(A,(function(A){try{e=void 0===e?A:n(e,A)}catch(e){throw Ls(e,"sum",A)}})),void 0===e&&(e=i(0,t.number)),"string"==typeof e&&(e=i(e,t.number)),e}}),eB=le("trace",["typed","matrix","add"],A=>{var{typed:e,matrix:t,add:n}=A;return e("trace",{Array:function(A){return i(t(A))},SparseMatrix:function(A){var e=A._values,t=A._index,i=A._ptr,r=A._size,s=r[0],o=r[1];if(s===o){var a=0;if(e.length>0)for(var B=0;B<o;B++)for(var c=i[B],g=i[B+1],Q=c;Q<g;Q++){var E=t[Q];if(E===B){a=n(a,e[Q]);break}if(E>B)break}return a}throw new RangeError("Matrix must be square (size: "+SA(r)+")")},DenseMatrix:i,any:K});function i(A){var e=A._size,t=A._data;switch(e.length){case 1:if(1===e[0])return K(t[0]);throw new RangeError("Matrix must be square (size: "+SA(e)+")");case 2:var i=e[0];if(i===e[1]){for(var r=0,s=0;s<i;s++)r=n(r,t[s][s]);return r}throw new RangeError("Matrix must be square (size: "+SA(e)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+SA(e)+")")}}}),tB=le("usolveAll",["typed","matrix","divideScalar","multiplyScalar","subtractScalar","equalScalar","DenseMatrix"],A=>{var{typed:e,matrix:t,divideScalar:n,multiplyScalar:i,subtractScalar:r,equalScalar:s,DenseMatrix:o}=A,a=No({DenseMatrix:o});return e("usolveAll",{"SparseMatrix, Array | Matrix":function(A,e){return function(A,e){for(var t=[a(A,e,!0)._data.map(A=>A[0])],B=A._size[0],c=A._size[1],g=A._values,Q=A._index,E=A._ptr,l=c-1;l>=0;l--)for(var u=t.length,w=0;w<u;w++){for(var h=t[w],C=[],d=[],I=E[l],M=E[l+1],p=0,m=M-1;m>=I;m--){var F=Q[m];F===l?p=g[m]:F<l&&(C.push(g[m]),d.push(F))}if(s(p,0))if(s(h[l],0)){if(0===w){var D=[...h];D[l]=1;for(var Y=0,f=d.length;Y<f;Y++){var N=d[Y];D[N]=r(D[N],C[Y])}t.push(D)}}else{if(0===w)return[];t.splice(w,1),w-=1,u-=1}else{h[l]=n(h[l],p);for(var U=0,y=d.length;U<y;U++){var x=d[U];h[x]=r(h[x],i(h[l],C[U]))}}}return t.map(A=>new o({data:A.map(A=>[A]),size:[B,1]}))}(A,e)},"DenseMatrix, Array | Matrix":function(A,e){return B(A,e)},"Array, Array | Matrix":function(A,e){return B(t(A),e).map(A=>A.valueOf())}});function B(A,e){for(var t=[a(A,e,!0)._data.map(A=>A[0])],B=A._data,c=A._size[0],g=A._size[1]-1;g>=0;g--)for(var Q=t.length,E=0;E<Q;E++){var l=t[E];if(s(B[g][g],0))if(s(l[g],0)){if(0===E){var u=[...l];u[g]=1;for(var w=g-1;w>=0;w--)u[w]=r(u[w],B[w][g]);t.push(u)}}else{if(0===E)return[];t.splice(E,1),E-=1,Q-=1}else{l[g]=n(l[g],B[g][g]);for(var h=g-1;h>=0;h--)l[h]=r(l[h],i(l[g],B[h][g]))}}return t.map(A=>new o({data:A.map(A=>[A]),size:[c,1]}))}}),nB=le("zpk2tf",["typed","add","multiply","Complex","number"],A=>{var{typed:e,add:t,multiply:n,Complex:i,number:r}=A;return e("zpk2tf",{"Array,Array,number":function(A,e,t){return s(A,e,t)},"Array,Array":function(A,e){return s(A,e,1)},"Matrix,Matrix,number":function(A,e,t){return s(A.valueOf(),e.valueOf(),t)},"Matrix,Matrix":function(A,e){return s(A.valueOf(),e.valueOf(),1)}});function s(A,e,t){A.some(A=>"BigNumber"===A.type)&&(A=A.map(A=>r(A))),e.some(A=>"BigNumber"===A.type)&&(e=e.map(A=>r(A)));for(var s=[i(1,0)],a=[i(1,0)],B=0;B<A.length;B++){var c=A[B];"number"==typeof c&&(c=i(c,0)),s=o(s,[i(1,0),i(-c.re,-c.im)])}for(var g=0;g<e.length;g++){var Q=e[g];"number"==typeof Q&&(Q=i(Q,0)),a=o(a,[i(1,0),i(-Q.re,-Q.im)])}for(var E=0;E<s.length;E++)s[E]=n(s[E],t);return[s,a]}function o(A,e){for(var r=[],s=0;s<A.length+e.length-1;s++){r[s]=i(0,0);for(var o=0;o<A.length;o++)s-o>=0&&s-o<e.length&&(r[s]=t(r[s],n(A[o],e[s-o])))}return r}}),iB=le("bitOr",["typed","matrix","equalScalar","DenseMatrix","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,DenseMatrix:i,concat:r}=A,s=mo({typed:e}),o=Xo({typed:e,equalScalar:n}),a=Fo({typed:e,DenseMatrix:i});return e("bitOr",{"number, number":Si,"BigNumber, BigNumber":Yi},Qo({typed:e,matrix:t,concat:r})({SS:o,DS:s,Ss:a}))}),rB=["typed","config","round","matrix","equalScalar","zeros","DenseMatrix"],sB=le("ceil",["typed","config","round"],A=>{var{typed:e,config:t,round:n}=A;return e("ceil",{number:function(A){return FA(A,n(A),t.epsilon)?n(A):Math.ceil(A)},"number, number":function(A,e){if(FA(A,n(A,e),t.epsilon))return n(A,e);var[i,r]="".concat(A,"e").split("e"),s=Math.ceil(Number("".concat(i,"e").concat(Number(r)+e)));return[i,r]="".concat(s,"e").split("e"),Number("".concat(i,"e").concat(Number(r)-e))}})}),oB=le("ceil",rB,A=>{var{typed:e,config:t,round:n,matrix:i,equalScalar:r,zeros:s,DenseMatrix:o}=A,a=oo({typed:e,equalScalar:r}),B=ao({typed:e,DenseMatrix:o}),c=co({typed:e}),g=sB({typed:e,config:t,round:n});return e("ceil",{number:g.signatures.number,"number,number":g.signatures["number,number"],Complex:function(A){return A.ceil()},"Complex, number":function(A,e){return A.ceil(e)},"Complex, BigNumber":function(A,e){return A.ceil(e.toNumber())},BigNumber:function(A){return Ar(A,n(A),t.epsilon)?n(A):A.ceil()},"BigNumber, BigNumber":function(A,e){return Ar(A,n(A,e),t.epsilon)?n(A,e):A.toDecimalPlaces(e.toNumber(),aA.a.ROUND_CEIL)},Fraction:function(A){return A.ceil()},"Fraction, number":function(A,e){return A.ceil(e)},"Fraction, BigNumber":function(A,e){return A.ceil(e.toNumber())},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A,!0)),"Array, number | BigNumber":e.referToSelf(A=>(e,t)=>fn(e,e=>A(e,t),!0)),"SparseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>a(e,t,A,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(A=>(e,t)=>c(e,t,A,!1)),"number | Complex | Fraction | BigNumber, Array":e.referToSelf(A=>(e,t)=>c(i(t),e,A,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":e.referToSelf(A=>(e,t)=>r(e,0)?s(t.size(),t.storage()):"dense"===t.storage()?c(t,e,A,!0):B(t,e,A,!0))})}),aB=t(36),BB=t.n(aB),cB=le("compareNatural",["typed","compare"],A=>{var{typed:e,compare:t}=A,n=t.signatures["boolean,boolean"];return e("compareNatural",{"any, any":function A(e,r){var s,o=V(e),a=V(r);if(!("number"!==o&&"BigNumber"!==o&&"Fraction"!==o||"number"!==a&&"BigNumber"!==a&&"Fraction"!==a))return"0"!==(s=t(e,r)).toString()?s>0?1:-1:BB()(o,a);var B=["Array","DenseMatrix","SparseMatrix"];if(B.includes(o)||B.includes(a))return 0!==(s=function A(e,t,n){if(h(t)&&h(n))return i(e,t.toJSON().values,n.toJSON().values);if(h(t))return A(e,t.toArray(),n);if(h(n))return A(e,t,n.toArray());if(w(t))return A(e,t.toJSON().data,n);if(w(n))return A(e,t,n.toJSON().data);if(!Array.isArray(t))return A(e,[t],n);if(!Array.isArray(n))return A(e,t,[n]);return i(e,t,n)}(A,e,r))?s:BB()(o,a);if(o!==a)return BB()(o,a);if("Complex"===o)return function(A,e){if(A.re>e.re)return 1;if(A.re<e.re)return-1;if(A.im>e.im)return 1;if(A.im<e.im)return-1;return 0}(e,r);if("Unit"===o)return e.equalBase(r)?A(e.value,r.value):i(A,e.formatUnits(),r.formatUnits());if("boolean"===o)return n(e,r);if("string"===o)return BB()(e,r);if("Object"===o)return function(A,e,t){var n=Object.keys(e),r=Object.keys(t);n.sort(BB.a),r.sort(BB.a);var s=i(A,n,r);if(0!==s)return s;for(var o=0;o<n.length;o++){var a=A(e[n[o]],t[r[o]]);if(0!==a)return a}return 0}(A,e,r);if("null"===o)return 0;if("undefined"===o)return 0;throw new TypeError('Unsupported type of value "'+o+'"')}});function i(A,e,t){for(var n=0,i=Math.min(e.length,t.length);n<i;n++){var r=A(e[n],t[n]);if(0!==r)return r}return e.length>t.length?1:e.length<t.length?-1:0}});var gB=le("composition",["typed","addScalar","combinations","isNegative","isPositive","isInteger","larger"],A=>{var{typed:e,addScalar:t,combinations:n,isPositive:i,isNegative:r,isInteger:s,larger:o}=A;return e("composition",{"number | BigNumber, number | BigNumber":function(A,e){if(!(s(A)&&i(A)&&s(e)&&i(e)))throw new TypeError("Positive integer value expected in function composition");if(o(e,A))throw new TypeError("k must be less than or equal to n in function composition");return n(t(A,-1),t(e,-1))}})}),QB=le("cross",["typed","matrix","subtract","multiply"],A=>{var{typed:e,matrix:t,subtract:n,multiply:i}=A;return e("cross",{"Matrix, Matrix":function(A,e){return t(r(A.toArray(),e.toArray()))},"Matrix, Array":function(A,e){return t(r(A.toArray(),e))},"Array, Matrix":function(A,e){return t(r(A,e.toArray()))},"Array, Array":r});function r(A,e){var t=Math.max(vA(A).length,vA(e).length);A=_A(A),e=_A(e);var r=vA(A),s=vA(e);if(1!==r.length||1!==s.length||3!==r[0]||3!==s[0])throw new RangeError("Vectors with length 3 expected (Size A = ["+r.join(", ")+"], B = ["+s.join(", ")+"])");var o=[n(i(A[1],e[2]),i(A[2],e[1])),n(i(A[2],e[0]),i(A[0],e[2])),n(i(A[0],e[1]),i(A[1],e[0]))];return t>1?[o]:o}}),EB=le("det",["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],A=>{var{typed:e,matrix:t,subtractScalar:n,multiply:i,divideScalar:r,isZero:s,unaryMinus:o}=A;return e("det",{any:function(A){return K(A)},"Array | Matrix":function(A){var e;switch((e=l(A)?A.size():Array.isArray(A)?(A=t(A)).size():[]).length){case 0:return K(A);case 1:if(1===e[0])return K(A.valueOf()[0]);if(0===e[0])return 1;throw new RangeError("Matrix must be square (size: "+SA(e)+")");case 2:var a=e[0],B=e[1];if(a===B)return function(A,e,t){if(1===e)return K(A[0][0]);if(2===e)return n(i(A[0][0],A[1][1]),i(A[1][0],A[0][1]));for(var a=!1,B=new Array(e).fill(0).map((A,e)=>e),c=0;c<e;c++){var g=B[c];if(s(A[g][c])){var Q=void 0;for(Q=c+1;Q<e;Q++)if(!s(A[B[Q]][c])){g=B[Q],B[Q]=B[c],B[c]=g,a=!a;break}if(Q===e)return A[g][c]}for(var E=A[g][c],l=0===c?1:A[B[c-1]][c-1],u=c+1;u<e;u++)for(var w=B[u],h=c+1;h<e;h++)A[w][h]=r(n(i(A[w][h],E),i(A[w][c],A[g][h])),l)}var C=A[B[e-1]][e-1];return a?o(C):C}(A.clone().valueOf(),a);if(0===B)return 1;throw new RangeError("Matrix must be square (size: "+SA(e)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+SA(e)+")")}}})}),lB=le("dotMultiply",["typed","matrix","equalScalar","multiplyScalar","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,multiplyScalar:i,concat:r}=A,s=io({typed:e,equalScalar:n}),o=_o({typed:e,equalScalar:n}),a=oo({typed:e,equalScalar:n});return e("dotMultiply",Qo({typed:e,matrix:t,concat:r})({elop:i,SS:o,DS:s,Ss:a}))}),uB=le("FibonacciHeap",["smaller","larger"],A=>{var{smaller:e,larger:t}=A,n=1/Math.log((1+Math.sqrt(5))/2);function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");this._minimum=null,this._size=0}function r(A,e,t){e.left.right=e.right,e.right.left=e.left,t.degree--,t.child===e&&(t.child=e.right),0===t.degree&&(t.child=null),e.left=A,e.right=A.right,A.right=e,e.right.left=e,e.parent=null,e.mark=!1}i.prototype.type="FibonacciHeap",i.prototype.isFibonacciHeap=!0,i.prototype.insert=function(A,t){var n={key:A,value:t,degree:0};if(this._minimum){var i=this._minimum;n.left=i,n.right=i.right,i.right=n,n.right.left=n,e(A,i.key)&&(this._minimum=n)}else n.left=n,n.right=n,this._minimum=n;return this._size++,n},i.prototype.size=function(){return this._size},i.prototype.clear=function(){this._minimum=null,this._size=0},i.prototype.isEmpty=function(){return 0===this._size},i.prototype.extractMinimum=function(){var A=this._minimum;if(null===A)return A;for(var i=this._minimum,r=A.degree,o=A.child;r>0;){var a=o.right;o.left.right=o.right,o.right.left=o.left,o.left=i,o.right=i.right,i.right=o,o.right.left=o,o.parent=null,o=a,r--}return A.left.right=A.right,A.right.left=A.left,i=A===A.right?null:function(A,i){var r,o=Math.floor(Math.log(i)*n)+1,a=new Array(o),B=0,c=A;if(c)for(B++,c=c.right;c!==A;)B++,c=c.right;for(;B>0;){for(var g=c.degree,Q=c.right;r=a[g];){if(t(c.key,r.key)){var E=r;r=c,c=E}s(r,c),a[g]=null,g++}a[g]=c,c=Q,B--}A=null;for(var l=0;l<o;l++)(r=a[l])&&(A?(r.left.right=r.right,r.right.left=r.left,r.left=A,r.right=A.right,A.right=r,r.right.left=r,e(r.key,A.key)&&(A=r)):A=r);return A}(i=A.right,this._size),this._size--,this._minimum=i,A},i.prototype.remove=function(A){this._minimum=function(A,t,n){t.key=n;var i=t.parent;i&&e(t.key,i.key)&&(r(A,t,i),function A(e,t){var n=t.parent;if(!n)return;t.mark?(r(e,t,n),A(n)):t.mark=!0}(A,i));e(t.key,A.key)&&(A=t);return A}(this._minimum,A,-1),this.extractMinimum()};var s=function(A,e){A.left.right=A.right,A.right.left=A.left,A.parent=e,e.child?(A.left=e.child,A.right=e.child.right,e.child.right=A,A.right.left=A):(e.child=A,A.right=A,A.left=A),e.degree++,A.mark=!1};return i},{isClass:!0}),wB=["typed","Complex","matrix","ceil","floor","equalScalar","zeros","DenseMatrix"],hB=le("fix",["typed","ceil","floor"],A=>{var{typed:e,ceil:t,floor:n}=A;return e("fix",{number:function(A){return A>0?n(A):t(A)},"number, number":function(A,e){return A>0?n(A,e):t(A,e)}})}),CB=le("fix",wB,A=>{var{typed:e,Complex:t,matrix:n,ceil:i,floor:r,equalScalar:s,zeros:o,DenseMatrix:a}=A,B=ao({typed:e,DenseMatrix:a}),c=co({typed:e}),g=hB({typed:e,ceil:i,floor:r});return e("fix",{number:g.signatures.number,"number, number | BigNumber":g.signatures["number,number"],Complex:function(A){return new t(A.re>0?Math.floor(A.re):Math.ceil(A.re),A.im>0?Math.floor(A.im):Math.ceil(A.im))},"Complex, number":function(A,e){return new t(A.re>0?r(A.re,e):i(A.re,e),A.im>0?r(A.im,e):i(A.im,e))},"Complex, BigNumber":function(A,e){var n=e.toNumber();return new t(A.re>0?r(A.re,n):i(A.re,n),A.im>0?r(A.im,n):i(A.im,n))},BigNumber:function(A){return A.isNegative()?i(A):r(A)},"BigNumber, number | BigNumber":function(A,e){return A.isNegative()?i(A,e):r(A,e)},Fraction:function(A){return A.s<0?A.ceil():A.floor()},"Fraction, number | BigNumber":function(A,e){return A.s<0?i(A,e):r(A,e)},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A,!0)),"Array | Matrix, number | BigNumber":e.referToSelf(A=>(e,t)=>fn(e,e=>A(e,t),!0)),"number | Complex | Fraction | BigNumber, Array":e.referToSelf(A=>(e,t)=>c(n(t),e,A,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":e.referToSelf(A=>(e,t)=>s(e,0)?o(t.size(),t.storage()):"dense"===t.storage()?c(t,e,A,!0):B(t,e,A,!0))})}),dB=le("index",["typed","Index"],A=>{var{typed:e,Index:t}=A;return e("index",{"...number | string | BigNumber | Range | Array | Matrix":function(A){var e=A.map((function(A){return a(A)?A.toNumber():E(A)||l(A)?A.map((function(A){return a(A)?A.toNumber():A})):A})),n=new t;return t.apply(n,e),n}})}),IB=le("intersect",["typed","config","abs","add","addScalar","matrix","multiply","multiplyScalar","divideScalar","subtract","smaller","equalScalar","flatten","isZero","isNumeric"],A=>{var{typed:e,config:t,abs:n,add:i,addScalar:r,matrix:s,multiply:o,multiplyScalar:a,divideScalar:B,subtract:c,smaller:g,equalScalar:Q,flatten:E,isZero:l,isNumeric:u}=A;return e("intersect",{"Array, Array, Array":w,"Array, Array, Array, Array":h,"Matrix, Matrix, Matrix":function(A,e,t){var n=w(A.valueOf(),e.valueOf(),t.valueOf());return null===n?null:s(n)},"Matrix, Matrix, Matrix, Matrix":function(A,e,t,n){var i=h(A.valueOf(),e.valueOf(),t.valueOf(),n.valueOf());return null===i?null:s(i)}});function w(A,e,t){if(A=C(A),e=C(e),t=C(t),!I(A))throw new TypeError("Array with 3 numbers or BigNumbers expected for first argument");if(!I(e))throw new TypeError("Array with 3 numbers or BigNumbers expected for second argument");if(!function(A){return 4===A.length&&u(A[0])&&u(A[1])&&u(A[2])&&u(A[3])}(t))throw new TypeError("Array with 4 numbers expected as third argument");return function(A,e,t,n,i,s,o,g,Q,E){var l=a(A,o),u=a(n,o),w=a(e,g),h=a(i,g),C=a(t,Q),d=a(s,Q),I=c(c(c(E,l),w),C),M=c(c(c(r(r(u,h),d),l),w),C),p=B(I,M),m=r(A,a(p,c(n,A))),F=r(e,a(p,c(i,e))),D=r(t,a(p,c(s,t)));return[m,F,D]}(A[0],A[1],A[2],e[0],e[1],e[2],t[0],t[1],t[2],t[3])}function h(A,e,s,E){if(A=C(A),e=C(e),s=C(s),E=C(E),2===A.length){if(!d(A))throw new TypeError("Array with 2 numbers or BigNumbers expected for first argument");if(!d(e))throw new TypeError("Array with 2 numbers or BigNumbers expected for second argument");if(!d(s))throw new TypeError("Array with 2 numbers or BigNumbers expected for third argument");if(!d(E))throw new TypeError("Array with 2 numbers or BigNumbers expected for fourth argument");return function(A,e,s,Q){var E=A,u=s,w=c(E,e),h=c(u,Q),C=c(a(w[0],h[1]),a(h[0],w[1]));if(l(C))return null;if(g(n(C),t.epsilon))return null;var d=a(h[0],E[1]),I=a(h[1],E[0]),M=a(h[0],u[1]),p=a(h[1],u[0]),m=B(r(c(c(d,I),M),p),C);return i(o(w,m),E)}(A,e,s,E)}if(3===A.length){if(!I(A))throw new TypeError("Array with 3 numbers or BigNumbers expected for first argument");if(!I(e))throw new TypeError("Array with 3 numbers or BigNumbers expected for second argument");if(!I(s))throw new TypeError("Array with 3 numbers or BigNumbers expected for third argument");if(!I(E))throw new TypeError("Array with 3 numbers or BigNumbers expected for fourth argument");return function(A,e,t,n,i,s,o,g,E,u,w,h){var C=M(A,o,u,o,e,g,w,g,t,E,h,E),d=M(u,o,n,A,w,g,i,e,h,E,s,t),I=M(A,o,n,A,e,g,i,e,t,E,s,t),p=M(u,o,u,o,w,g,w,g,h,E,h,E),m=M(n,A,n,A,i,e,i,e,s,t,s,t),F=c(a(C,d),a(I,p)),D=c(a(m,p),a(d,d));if(l(D))return null;var Y=B(F,D),f=B(r(C,a(Y,d)),p),N=r(A,a(Y,c(n,A))),U=r(e,a(Y,c(i,e))),y=r(t,a(Y,c(s,t))),x=r(o,a(f,c(u,o))),T=r(g,a(f,c(w,g))),R=r(E,a(f,c(h,E)));return Q(N,x)&&Q(U,T)&&Q(y,R)?[N,U,y]:null}(A[0],A[1],A[2],e[0],e[1],e[2],s[0],s[1],s[2],E[0],E[1],E[2])}throw new TypeError("Arrays with two or thee dimensional points expected")}function C(A){return 1===A.length?A[0]:A.length>1&&Array.isArray(A[0])&&A.every(A=>Array.isArray(A)&&1===A.length)?E(A):A}function d(A){return 2===A.length&&u(A[0])&&u(A[1])}function I(A){return 3===A.length&&u(A[0])&&u(A[1])&&u(A[2])}function M(A,e,t,n,i,s,o,B,g,Q,E,l){var u=a(c(A,e),c(t,n)),w=a(c(i,s),c(o,B)),h=a(c(g,Q),c(E,l));return r(r(u,w),h)}}),MB=le("invmod",["typed","config","BigNumber","xgcd","equal","smaller","mod","add","isInteger"],A=>{var{typed:e,config:t,BigNumber:n,xgcd:i,equal:r,smaller:s,mod:o,add:a,isInteger:B}=A;return e("invmod",{"number, number":c,"BigNumber, BigNumber":c});function c(A,e){if(!B(A)||!B(e))throw new Error("Parameters in function invmod must be integer numbers");if(A=o(A,e),r(e,0))throw new Error("Divisor must be non zero");var t=i(A,e);t=t.valueOf();var[c,g]=t;return r(c,n(1))?(g=o(g,e),s(g,n(0))&&(g=a(g,e)),g):NaN}}),pB=le("lcm",["typed","matrix","equalScalar","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,concat:i}=A,r=io({typed:e,equalScalar:n}),s=xo({typed:e,equalScalar:n}),o=oo({typed:e,equalScalar:n}),a=Qo({typed:e,matrix:t,concat:i}),B="number | BigNumber | Fraction | Matrix | Array",c={};return c["".concat(B,", ").concat(B,", ...").concat(B)]=e.referToSelf(A=>(e,t,n)=>{for(var i=A(e,t),r=0;r<n.length;r++)i=A(i,n[r]);return i}),e("lcm",{"number, number":zn,"BigNumber, BigNumber":function(A,e){if(!A.isInt()||!e.isInt())throw new Error("Parameters in function lcm must be integer numbers");if(A.isZero())return A;if(e.isZero())return e;var t=A.times(e);for(;!e.isZero();){var n=e;e=A.mod(n),A=n}return t.div(A).abs()},"Fraction, Fraction":(A,e)=>A.lcm(e)},a({SS:s,DS:r,Ss:o}),c)}),mB=le("log1p",["typed","config","divideScalar","log","Complex"],A=>{var{typed:e,config:t,divideScalar:n,log:i,Complex:r}=A;return e("log1p",{number:function(A){return A>=-1||t.predictable?EA(A):s(new r(A,0))},Complex:s,BigNumber:function(A){var e=A.plus(1);return!e.isNegative()||t.predictable?e.ln():s(new r(A.toNumber(),0))},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A)),"any, any":e.referToSelf(A=>(e,t)=>n(A(e),i(t)))});function s(A){var e=A.re+1;return new r(Math.log(Math.sqrt(e*e+A.im*A.im)),Math.atan2(A.im,e))}}),FB=le("max",["typed","config","numeric","larger"],A=>{var{typed:e,config:t,numeric:n,larger:i}=A;return e("max",{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(A,e){return Nn(A,e.valueOf(),r)},"...":function(A){if(Dn(A))throw new TypeError("Scalar values expected in function max");return s(A)}});function r(A,e){try{return i(A,e)?A:e}catch(A){throw Ls(A,"max",e)}}function s(A){var e;if(Yn(A,(function(A){try{isNaN(A)&&"number"==typeof A?e=NaN:(void 0===e||i(A,e))&&(e=A)}catch(e){throw Ls(e,"max",A)}})),void 0===e)throw new Error("Cannot calculate max of an empty array");return"string"==typeof e&&(e=n(e,t.number)),e}}),DB=le("setCartesian",["typed","size","subset","compareNatural","Index","DenseMatrix"],A=>{var{typed:e,size:t,subset:n,compareNatural:i,Index:r,DenseMatrix:s}=A;return e("setCartesian",{"Array | Matrix, Array | Matrix":function(A,e){var o=[];if(0!==n(t(A),new r(0))&&0!==n(t(e),new r(0))){var a=$A(Array.isArray(A)?A:A.toArray()).sort(i),B=$A(Array.isArray(e)?e:e.toArray()).sort(i);o=[];for(var c=0;c<a.length;c++)for(var g=0;g<B.length;g++)o.push([a[c],B[g]])}return Array.isArray(A)&&Array.isArray(e)?o:new s(o)}})}),YB=le("setDistinct",["typed","size","subset","compareNatural","Index","DenseMatrix"],A=>{var{typed:e,size:t,subset:n,compareNatural:i,Index:r,DenseMatrix:s}=A;return e("setDistinct",{"Array | Matrix":function(A){var e;if(0===n(t(A),new r(0)))e=[];else{var o=$A(Array.isArray(A)?A:A.toArray()).sort(i);(e=[]).push(o[0]);for(var a=1;a<o.length;a++)0!==i(o[a],o[a-1])&&e.push(o[a])}return Array.isArray(A)?e:new s(e)}})}),fB=le("setIsSubset",["typed","size","subset","compareNatural","Index"],A=>{var{typed:e,size:t,subset:n,compareNatural:i,Index:r}=A;return e("setIsSubset",{"Array | Matrix, Array | Matrix":function(A,e){if(0===n(t(A),new r(0)))return!0;if(0===n(t(e),new r(0)))return!1;for(var s,o=re($A(Array.isArray(A)?A:A.toArray()).sort(i)),a=re($A(Array.isArray(e)?e:e.toArray()).sort(i)),B=0;B<o.length;B++){s=!1;for(var c=0;c<a.length;c++)if(0===i(o[B].value,a[c].value)&&o[B].identifier===a[c].identifier){s=!0;break}if(!1===s)return!1}return!0}})}),NB=le("setPowerset",["typed","size","subset","compareNatural","Index"],A=>{var{typed:e,size:t,subset:n,compareNatural:i,Index:r}=A;return e("setPowerset",{"Array | Matrix":function(A){if(0===n(t(A),new r(0)))return[];for(var e=$A(Array.isArray(A)?A:A.toArray()).sort(i),o=[],a=0;a.toString(2).length<=e.length;)o.push(s(e,a.toString(2).split("").reverse())),a++;return function(A){for(var e=[],t=A.length-1;t>0;t--)for(var n=0;n<t;n++)A[n].length>A[n+1].length&&(e=A[n],A[n]=A[n+1],A[n+1]=e);return A}(o)}});function s(A,e){for(var t=[],n=0;n<e.length;n++)"1"===e[n]&&t.push(A[n]);return t}}),UB=le("smallerEq",["typed","config","matrix","DenseMatrix","concat"],A=>{var{typed:e,config:t,matrix:n,DenseMatrix:i,concat:r}=A,s=ro({typed:e}),o=so({typed:e,DenseMatrix:i}),a=ao({typed:e,DenseMatrix:i}),B=Qo({typed:e,matrix:n,concat:r}),c=er({typed:e});return e("smallerEq",yB({typed:e,config:t}),{"boolean, boolean":(A,e)=>A<=e,"BigNumber, BigNumber":function(A,e){return A.lte(e)||Ar(A,e,t.epsilon)},"Fraction, Fraction":(A,e)=>1!==A.compare(e),"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},c,B({SS:o,DS:s,Ss:a}))}),yB=le("smallerEq",["typed","config"],A=>{var{typed:e,config:t}=A;return e("smallerEq",{"number, number":function(A,e){return A<=e||FA(A,e,t.epsilon)}})}),xB=le("sort",["typed","matrix","compare","compareNatural"],A=>{var{typed:e,matrix:t,compare:n,compareNatural:i}=A,r=n,s=(A,e)=>-n(A,e);return e("sort",{Array:function(A){return a(A),A.sort(r)},Matrix:function(A){return B(A),t(A.toArray().sort(r),A.storage())},"Array, function":function(A,e){return a(A),A.sort(e)},"Matrix, function":function(A,e){return B(A),t(A.toArray().sort(e),A.storage())},"Array, string":function(A,e){return a(A),A.sort(o(e))},"Matrix, string":function(A,e){return B(A),t(A.toArray().sort(o(e)),A.storage())}});function o(A){if("asc"===A)return r;if("desc"===A)return s;if("natural"===A)return i;throw new Error('String "asc", "desc", or "natural" expected')}function a(A){if(1!==vA(A).length)throw new Error("One dimensional array expected")}function B(A){if(1!==A.size().length)throw new Error("One dimensional matrix expected")}}),TB=le("and",["typed","matrix","equalScalar","zeros","not","concat"],A=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,not:r,concat:s}=A,o=io({typed:e,equalScalar:n}),a=xo({typed:e,equalScalar:n}),B=oo({typed:e,equalScalar:n}),c=co({typed:e}),g=Qo({typed:e,matrix:t,concat:s});return e("and",{"number, number":vr,"Complex, Complex":function(A,e){return!(0===A.re&&0===A.im||0===e.re&&0===e.im)},"BigNumber, BigNumber":function(A,e){return!(A.isZero()||e.isZero()||A.isNaN()||e.isNaN())},"Unit, Unit":e.referToSelf(A=>(e,t)=>A(e.value||0,t.value||0)),"SparseMatrix, any":e.referToSelf(A=>(e,t)=>r(t)?i(e.size(),e.storage()):B(e,t,A,!1)),"DenseMatrix, any":e.referToSelf(A=>(e,t)=>r(t)?i(e.size(),e.storage()):c(e,t,A,!1)),"any, SparseMatrix":e.referToSelf(A=>(e,t)=>r(e)?i(e.size(),e.storage()):B(t,e,A,!0)),"any, DenseMatrix":e.referToSelf(A=>(e,t)=>r(e)?i(e.size(),e.storage()):c(t,e,A,!0)),"Array, any":e.referToSelf(A=>(e,n)=>A(t(e),n).valueOf()),"any, Array":e.referToSelf(A=>(e,n)=>A(e,t(n)).valueOf())},g({SS:a,DS:o}))}),RB=le("range",["typed","config","?matrix","?bignumber","smaller","smallerEq","larger","largerEq","add","isPositive"],A=>{var{typed:e,config:t,matrix:n,bignumber:i,smaller:r,smallerEq:s,larger:o,largerEq:a,add:B,isPositive:c}=A;return e("range",{string:Q,"string, boolean":Q,"number, number":function(A,e){return g(E(A,e,1,!1))},"number, number, number":function(A,e,t){return g(E(A,e,t,!1))},"number, number, boolean":function(A,e,t){return g(E(A,e,1,t))},"number, number, number, boolean":function(A,e,t,n){return g(E(A,e,t,n))},"BigNumber, BigNumber":function(A,e){return g(E(A,e,new(0,A.constructor)(1),!1))},"BigNumber, BigNumber, BigNumber":function(A,e,t){return g(E(A,e,t,!1))},"BigNumber, BigNumber, boolean":function(A,e,t){return g(E(A,e,new(0,A.constructor)(1),t))},"BigNumber, BigNumber, BigNumber, boolean":function(A,e,t,n){return g(E(A,e,t,n))},"Unit, Unit, Unit":function(A,e,t){return g(E(A,e,t,!1))},"Unit, Unit, Unit, boolean":function(A,e,t,n){return g(E(A,e,t,n))}});function g(A){return"Matrix"===t.matrix?n?n(A):zs():A}function Q(A,e){var n=function(A){var e=A.split(":").map((function(A){return Number(A)}));if(e.some((function(A){return isNaN(A)})))return null;switch(e.length){case 2:return{start:e[0],end:e[1],step:1};case 3:return{start:e[0],end:e[2],step:e[1]};default:return null}}(A);if(!n)throw new SyntaxError('String "'+A+'" is no valid range');return"BigNumber"===t.number?(void 0===i&&Js(),g(E(i(n.start),i(n.end),i(n.step)))):g(E(n.start,n.end,n.step,e))}function E(A,e,t,n){for(var i=[],g=c(t)?n?s:r:n?a:o,Q=A;g(Q,e);)i.push(Q),Q=B(Q,t);return i}}),GB=le("row",["typed","Index","matrix","range"],A=>{var{typed:e,Index:t,matrix:n,range:i}=A;return e("row",{"Matrix, number":r,"Array, number":function(A,e){return r(n(K(A)),e).valueOf()}});function r(A,e){if(2!==A.size().length)throw new Error("Only two dimensional matrix is supported");OA(e,A.size()[0]);var r=i(0,A.size()[1]),s=new t(e,r),o=A.subset(s);return l(o)?o:n([[o]])}}),SB=le("setDifference",["typed","size","subset","compareNatural","Index","DenseMatrix"],A=>{var{typed:e,size:t,subset:n,compareNatural:i,Index:r,DenseMatrix:s}=A;return e("setDifference",{"Array | Matrix, Array | Matrix":function(A,e){var o;if(0===n(t(A),new r(0)))o=[];else{if(0===n(t(e),new r(0)))return $A(A.toArray());var a,B=re($A(Array.isArray(A)?A:A.toArray()).sort(i)),c=re($A(Array.isArray(e)?e:e.toArray()).sort(i));o=[];for(var g=0;g<B.length;g++){a=!1;for(var Q=0;Q<c.length;Q++)if(0===i(B[g].value,c[Q].value)&&B[g].identifier===c[Q].identifier){a=!0;break}a||o.push(B[g])}}return Array.isArray(A)&&Array.isArray(e)?se(o):new s(se(o))}})}),HB=le("setMultiplicity",["typed","size","subset","compareNatural","Index"],A=>{var{typed:e,size:t,subset:n,compareNatural:i,Index:r}=A;return e("setMultiplicity",{"number | BigNumber | Fraction | Complex, Array | Matrix":function(A,e){if(0===n(t(e),new r(0)))return 0;for(var s=$A(Array.isArray(e)?e:e.toArray()),o=0,a=0;a<s.length;a++)0===i(s[a],A)&&o++;return o}})}),bB=le("setSymDifference",["typed","size","concat","subset","setDifference","Index"],A=>{var{typed:e,size:t,concat:n,subset:i,setDifference:r,Index:s}=A;return e("setSymDifference",{"Array | Matrix, Array | Matrix":function(A,e){if(0===i(t(A),new s(0)))return $A(e);if(0===i(t(e),new s(0)))return $A(A);var o=$A(A),a=$A(e);return n(r(o,a),r(a,o))}})}),kB=le("Spa",["addScalar","equalScalar","FibonacciHeap"],A=>{var{addScalar:e,equalScalar:t,FibonacciHeap:n}=A;function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");this._values=[],this._heap=new n}return i.prototype.type="Spa",i.prototype.isSpa=!0,i.prototype.set=function(A,e){if(this._values[A])this._values[A].value=e;else{var t=this._heap.insert(A,e);this._values[A]=t}},i.prototype.get=function(A){var e=this._values[A];return e?e.value:0},i.prototype.accumulate=function(A,t){var n=this._values[A];n?n.value=e(n.value,t):(n=this._heap.insert(A,t),this._values[A]=n)},i.prototype.forEach=function(A,e,n){var i=this._heap,r=this._values,s=[],o=i.extractMinimum();for(o&&s.push(o);o&&o.key<=e;)o.key>=A&&(t(o.value,0)||n(o.key,o.value,this)),(o=i.extractMinimum())&&s.push(o);for(var a=0;a<s.length;a++){var B=s[a];r[(o=i.insert(B.key,B.value)).key]=o}},i.prototype.swap=function(A,e){var t=this._values[A],n=this._values[e];if(!t&&n)t=this._heap.insert(A,n.value),this._heap.remove(n),this._values[A]=t,this._values[e]=void 0;else if(t&&!n)n=this._heap.insert(e,t.value),this._heap.remove(t),this._values[e]=n,this._values[A]=void 0;else if(t&&n){var i=t.value;t.value=n.value,n.value=i}},i},{isClass:!0}),JB=le("column",["typed","Index","matrix","range"],A=>{var{typed:e,Index:t,matrix:n,range:i}=A;return e("column",{"Matrix, number":r,"Array, number":function(A,e){return r(n(K(A)),e).valueOf()}});function r(A,e){if(2!==A.size().length)throw new Error("Only two dimensional matrix is supported");OA(e,A.size()[1]);var r=i(0,A.size()[0]),s=new t(r,e),o=A.subset(s);return l(o)?o:n([[o]])}}),jB=le("inv",["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],A=>{var{typed:e,matrix:t,divideScalar:n,addScalar:i,multiply:r,unaryMinus:s,det:o,identity:a,abs:B}=A;return e("inv",{"Array | Matrix":function(A){var e=l(A)?A.size():vA(A);switch(e.length){case 1:if(1===e[0])return l(A)?t([n(1,A.valueOf()[0])]):[n(1,A[0])];throw new RangeError("Matrix must be square (size: "+SA(e)+")");case 2:var i=e[0],r=e[1];if(i===r)return l(A)?t(c(A.valueOf(),i,r),A.storage()):c(A,i,r);throw new RangeError("Matrix must be square (size: "+SA(e)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+SA(e)+")")}},any:function(A){return n(1,A)}});function c(A,e,t){var c,g,Q,E,l;if(1===e){if(0===(E=A[0][0]))throw Error("Cannot calculate inverse, determinant is zero");return[[n(1,E)]]}if(2===e){var u=o(A);if(0===u)throw Error("Cannot calculate inverse, determinant is zero");return[[n(A[1][1],u),n(s(A[0][1]),u)],[n(s(A[1][0]),u),n(A[0][0],u)]]}var w=A.concat();for(c=0;c<e;c++)w[c]=w[c].concat();for(var h=a(e).valueOf(),C=0;C<t;C++){var d=B(w[C][C]),I=C;for(c=C+1;c<e;)B(w[c][C])>d&&(d=B(w[c][C]),I=c),c++;if(0===d)throw Error("Cannot calculate inverse, determinant is zero");(c=I)!==C&&(l=w[C],w[C]=w[c],w[c]=l,l=h[C],h[C]=h[c],h[c]=l);var M=w[C],p=h[C];for(c=0;c<e;c++){var m=w[c],F=h[c];if(c!==C){if(0!==m[C]){for(Q=n(s(m[C]),M[C]),g=C;g<t;g++)m[g]=i(m[g],r(Q,M[g]));for(g=0;g<t;g++)F[g]=i(F[g],r(Q,p[g]))}}else{for(Q=M[C],g=C;g<t;g++)m[g]=n(m[g],Q);for(g=0;g<t;g++)F[g]=n(F[g],Q)}}}return h}}),zB=le("lup",["typed","matrix","abs","addScalar","divideScalar","multiplyScalar","subtractScalar","larger","equalScalar","unaryMinus","DenseMatrix","SparseMatrix","Spa"],A=>{var{typed:e,matrix:t,abs:n,addScalar:i,divideScalar:r,multiplyScalar:s,subtractScalar:o,larger:a,equalScalar:B,unaryMinus:c,DenseMatrix:g,SparseMatrix:Q,Spa:E}=A;return e("lup",{DenseMatrix:function(A){return l(A)},SparseMatrix:function(A){return u(A)},Array:function(A){var e=l(t(A));return{L:e.L.valueOf(),U:e.U.valueOf(),p:e.p}}});function l(A){var e,t,c,Q=A._size[0],E=A._size[1],l=Math.min(Q,E),u=K(A._data),w=[],h=[Q,l],C=[],d=[l,E],I=[];for(e=0;e<Q;e++)I[e]=e;for(t=0;t<E;t++){if(t>0)for(e=0;e<Q;e++){var M=Math.min(e,t),p=0;for(c=0;c<M;c++)p=i(p,s(u[e][c],u[c][t]));u[e][t]=o(u[e][t],p)}var m=t,F=0,D=0;for(e=t;e<Q;e++){var Y=u[e][t],f=n(Y);a(f,F)&&(m=e,F=f,D=Y)}if(t!==m&&(I[t]=[I[m],I[m]=I[t]][0],g._swapRows(t,m,u)),t<Q)for(e=t+1;e<Q;e++){var N=u[e][t];B(N,0)||(u[e][t]=r(u[e][t],D))}}for(t=0;t<E;t++)for(e=0;e<Q;e++)0===t&&(e<E&&(C[e]=[]),w[e]=[]),e<t?(e<E&&(C[e][t]=u[e][t]),t<Q&&(w[e][t]=0)):e!==t?(e<E&&(C[e][t]=0),t<Q&&(w[e][t]=u[e][t])):(e<E&&(C[e][t]=u[e][t]),t<Q&&(w[e][t]=1));var U=new g({data:w,size:h}),y=new g({data:C,size:d}),x=[];for(e=0,l=I.length;e<l;e++)x[I[e]]=e;return{L:U,U:y,p:x,toString:function(){return"L: "+this.L.toString()+"\nU: "+this.U.toString()+"\nP: "+this.p}}}function u(A){var e,t,i,o=A._size[0],g=A._size[1],l=Math.min(o,g),u=A._values,w=A._index,h=A._ptr,C=[],d=[],I=[],M=[o,l],p=[],m=[],F=[],D=[l,g],Y=[],f=[];for(e=0;e<o;e++)Y[e]=e,f[e]=e;var N=function(){var A=new E;t<o&&(I.push(C.length),C.push(1),d.push(t)),F.push(p.length);var g=h[t],l=h[t+1];for(i=g;i<l;i++)e=w[i],A.set(Y[e],u[i]);t>0&&A.forEach(0,t-1,(function(e,t){Q._forEachRow(e,C,d,I,(function(n,i){n>e&&A.accumulate(n,c(s(i,t)))}))}));var N,U,y,x,T=t,R=A.get(t),G=n(R);A.forEach(t+1,o-1,(function(A,e){var t=n(e);a(t,G)&&(T=A,G=t,R=e)})),t!==T&&(Q._swapRows(t,T,M[1],C,d,I),Q._swapRows(t,T,D[1],p,m,F),A.swap(t,T),U=T,y=f[N=t],x=f[U],Y[y]=U,Y[x]=N,f[N]=x,f[U]=y),A.forEach(0,o-1,(function(A,e){A<=t?(p.push(e),m.push(A)):(e=r(e,R),B(e,0)||(C.push(e),d.push(A)))}))};for(t=0;t<g;t++)N();return F.push(p.length),I.push(C.length),{L:new Q({values:C,index:d,ptr:I,size:M}),U:new Q({values:p,index:m,ptr:F,size:D}),p:Y,toString:function(){return"L: "+this.L.toString()+"\nU: "+this.U.toString()+"\nP: "+this.p}}}}),vB=le("pinv",["typed","matrix","inv","deepEqual","equal","dotDivide","dot","ctranspose","divideScalar","multiply","add","Complex"],A=>{var{typed:e,matrix:t,inv:n,deepEqual:i,equal:r,dotDivide:s,dot:o,ctranspose:a,divideScalar:B,multiply:c,add:g,Complex:Q}=A;return e("pinv",{"Array | Matrix":function(A){var e=l(A)?A.size():vA(A);switch(e.length){case 1:return w(A)?a(A):1===e[0]?n(A):s(a(A),o(A,A));case 2:if(w(A))return a(A);var i=e[0],r=e[1];if(i===r)try{return n(A)}catch(A){if(!(A instanceof Error&&A.message.match(/Cannot calculate inverse, determinant is zero/)))throw A}return l(A)?t(E(A.valueOf(),i,r),A.storage()):E(A,i,r);default:throw new RangeError("Matrix must be two dimensional (size: "+SA(e)+")")}},any:function(A){return r(A,0)?K(A):B(1,A)}});function E(A,e,t){var{C:i,F:r}=function(A,e,t){var n=function(A,e,t){for(var n=K(A),i=0,r=0;r<e;r++){if(t<=i)return n;for(var o=r;u(n[o][i]);)if(o++,e===o&&(o=r,i++,t===i))return n;[n[o],n[r]]=[n[r],n[o]];for(var a=n[r][i],B=0;B<t;B++)n[r][B]=s(n[r][B],a);for(var Q=0;Q<e;Q++)if(Q!==r){a=n[Q][i];for(var E=0;E<t;E++)n[Q][E]=g(n[Q][E],c(-1,c(a,n[r][E])))}i++}return n}(A,e,t),i=A.map((A,t)=>A.filter((A,t)=>t<e&&!u(o(n[t],n[t])))),r=n.filter((A,e)=>!u(o(n[e],n[e])));return{C:i,F:r}}(A,e,t),B=c(n(c(a(i),i)),a(i)),Q=c(a(r),n(c(r,a(r))));return c(Q,B)}function u(A){return r(g(A,Q(1,1)),g(0,Q(1,1)))}function w(A){return i(g(A,Q(1,1)),g(c(A,0),Q(1,1)))}}),LB=le("pow",["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],A=>{var{typed:e,config:t,identity:n,multiply:i,matrix:r,inv:s,number:o,fraction:a,Complex:B}=A;return e("pow",{"number, number":c,"Complex, Complex":function(A,e){return A.pow(e)},"BigNumber, BigNumber":function(A,e){return e.isInteger()||A>=0||t.predictable?A.pow(e):new B(A.toNumber(),0).pow(e.toNumber(),0)},"Fraction, Fraction":function(A,e){var n=A.pow(e);if(null!=n)return n;if(t.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return c(A.valueOf(),e.valueOf())},"Array, number":g,"Array, BigNumber":function(A,e){return g(A,e.toNumber())},"Matrix, number":Q,"Matrix, BigNumber":function(A,e){return Q(A,e.toNumber())},"Unit, number | BigNumber":function(A,e){return A.pow(e)}});function c(A,e){if(t.predictable&&!BA(e)&&A<0)try{var n=a(e),i=o(n);if((e===i||Math.abs((e-i)/e)<1e-14)&&n.d%2==1)return(n.n%2==0?1:-1)*Math.pow(-A,e)}catch(A){}return t.predictable&&(A<-1&&e===1/0||A>-1&&A<0&&e===-1/0)?NaN:BA(e)||A>=0||t.predictable?Kn(A,e):A*A<1&&e===1/0||A*A>1&&e===-1/0?0:new B(A,0).pow(e,0)}function g(A,e){if(!BA(e))throw new TypeError("For A^b, b must be an integer (value is "+e+")");var t=vA(A);if(2!==t.length)throw new Error("For A^b, A must be 2 dimensional (A has "+t.length+" dimensions)");if(t[0]!==t[1])throw new Error("For A^b, A must be square (size is "+t[0]+"x"+t[1]+")");if(e<0)try{return g(s(A),-e)}catch(A){if("Cannot calculate inverse, determinant is zero"===A.message)throw new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+e+")");throw A}for(var r=n(t[0]).valueOf(),o=A;e>=1;)1==(1&e)&&(r=i(o,r)),e>>=1,o=i(o,o);return r}function Q(A,e){return r(g(A.valueOf(),e))}}),PB=le("setIntersect",["typed","size","subset","compareNatural","Index","DenseMatrix"],A=>{var{typed:e,size:t,subset:n,compareNatural:i,Index:r,DenseMatrix:s}=A;return e("setIntersect",{"Array | Matrix, Array | Matrix":function(A,e){var o;if(0===n(t(A),new r(0))||0===n(t(e),new r(0)))o=[];else{var a=re($A(Array.isArray(A)?A:A.toArray()).sort(i)),B=re($A(Array.isArray(e)?e:e.toArray()).sort(i));o=[];for(var c=0;c<a.length;c++)for(var g=0;g<B.length;g++)if(0===i(a[c].value,B[g].value)&&a[c].identifier===B[g].identifier){o.push(a[c]);break}}return Array.isArray(A)&&Array.isArray(e)?se(o):new s(se(o))}})}),OB=le("setUnion",["typed","size","concat","subset","setIntersect","setSymDifference","Index"],A=>{var{typed:e,size:t,concat:n,subset:i,setIntersect:r,setSymDifference:s,Index:o}=A;return e("setUnion",{"Array | Matrix, Array | Matrix":function(A,e){if(0===i(t(A),new o(0)))return $A(e);if(0===i(t(e),new o(0)))return $A(A);var a=$A(A),B=$A(e);return n(s(a,B),r(a,B))}})}),WB=le("sqrtm",["typed","abs","add","multiply","map","sqrt","subtract","inv","size","max","identity"],A=>{var{typed:e,abs:t,add:n,multiply:i,map:r,sqrt:s,subtract:o,inv:a,size:B,max:c,identity:g}=A;function Q(A){var e,r=0,s=A,Q=g(B(A));do{var E=s;if(s=i(.5,n(E,a(Q))),Q=i(.5,n(Q,a(E))),(e=c(t(o(s,E))))>1e-6&&++r>1e3)throw new Error("computing square root of matrix: iterative method could not converge")}while(e>1e-6);return s}return e("sqrtm",{"Array | Matrix":function(A){var e=l(A)?A.size():vA(A);switch(e.length){case 1:if(1===e[0])return r(A,s);throw new RangeError("Matrix must be square (size: "+SA(e)+")");case 2:if(e[0]===e[1])return Q(A);throw new RangeError("Matrix must be square (size: "+SA(e)+")");default:throw new RangeError("Matrix must be at most two dimensional (size: "+SA(e)+")")}}})}),VB=t(6),KB=t.n(VB);function XB(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function ZB(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?XB(Object(t),!0).forEach((function(e){KB()(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):XB(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}var _B=le("Unit",["?on","config","addScalar","subtractScalar","multiplyScalar","divideScalar","pow","abs","fix","round","equal","isNumeric","format","number","Complex","BigNumber","Fraction"],A=>{var e,t,n,{on:i,config:s,addScalar:o,subtractScalar:a,multiplyScalar:c,divideScalar:Q,pow:E,abs:l,fix:u,round:w,equal:h,isNumeric:C,format:d,number:I,Complex:M,BigNumber:p,Fraction:m}=A,F=I;function D(A,e){if(!(this instanceof D))throw new Error("Constructor must be called with the new operator");if(null!=A&&!C(A)&&!B(A))throw new TypeError("First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined");if(this.fixPrefix=!1,this.skipAutomaticSimplification=!0,void 0===e)this.units=[],this.dimensions=H.map(A=>0);else if("string"==typeof e){var t=D.parse(e);this.units=t.units,this.dimensions=t.dimensions}else{if(!g(e)||null!==e.value)throw new TypeError("Second parameter in Unit constructor must be a string or valueless Unit");this.fixPrefix=e.fixPrefix,this.skipAutomaticSimplification=e.skipAutomaticSimplification,this.dimensions=e.dimensions.slice(0),this.units=e.units.map(A=>r()({},A))}this.value=this._normalize(A)}function Y(){for(;" "===n||"\t"===n;)N()}function f(A){return A>="0"&&A<="9"}function N(){t++,n=e.charAt(t)}function U(A){t=A,n=e.charAt(t)}function y(){var A="",e=t;if("+"===n?N():"-"===n&&(A+=n,N()),!function(A){return A>="0"&&A<="9"||"."===A}(n))return U(e),null;if("."===n){if(A+=n,N(),!f(n))return U(e),null}else{for(;f(n);)A+=n,N();"."===n&&(A+=n,N())}for(;f(n);)A+=n,N();if("E"===n||"e"===n){var i="",r=t;if(i+=n,N(),"+"!==n&&"-"!==n||(i+=n,N()),!f(n))return U(r),A;for(A+=i;f(n);)A+=n,N()}return A}function x(){for(var A="";f(n)||D.isValidAlpha(n);)A+=n,N();var e=A.charAt(0);return D.isValidAlpha(e)?A:null}function T(A){return n===A?(N(),A):null}Object.defineProperty(D,"name",{value:"Unit"}),D.prototype.constructor=D,D.prototype.type="Unit",D.prototype.isUnit=!0,D.parse=function(A,i){if(i=i||{},t=-1,n="","string"!=typeof(e=A))throw new TypeError("Invalid argument in Unit.parse, string expected");var r=new D;r.units=[];var o=1,a=!1;N(),Y();var B=y(),c=null;if(B){if("BigNumber"===s.number)c=new p(B);else if("Fraction"===s.number)try{c=new m(B)}catch(A){c=parseFloat(B)}else c=parseFloat(B);Y(),T("*")?(o=1,a=!0):T("/")&&(o=-1,a=!0)}for(var g=[],Q=1;;){for(Y();"("===n;)g.push(o),Q*=o,o=1,N(),Y();var E=void 0;if(!n)break;var l=n;if(null===(E=x()))throw new SyntaxError('Unexpected "'+l+'" in "'+e+'" at index '+t.toString());var u=R(E);if(null===u)throw new SyntaxError('Unit "'+E+'" not found.');var w=o*Q;if(Y(),T("^")){Y();var h=y();if(null===h)throw new SyntaxError('In "'+A+'", "^" must be followed by a floating-point number');w*=h}r.units.push({unit:u.unit,prefix:u.prefix,power:w});for(var C=0;C<H.length;C++)r.dimensions[C]+=(u.unit.dimensions[C]||0)*w;for(Y();")"===n;){if(0===g.length)throw new SyntaxError('Unmatched ")" in "'+e+'" at index '+t.toString());Q/=g.pop(),N(),Y()}if(a=!1,T("*")?(o=1,a=!0):T("/")?(o=-1,a=!0):o=1,u.unit.base){var d=u.unit.base.key;L.auto[d]={unit:u.unit,prefix:u.prefix}}}if(Y(),n)throw new SyntaxError('Could not parse: "'+A+'"');if(a)throw new SyntaxError('Trailing characters: "'+A+'"');if(0!==g.length)throw new SyntaxError('Unmatched "(" in "'+e+'"');if(0===r.units.length&&!i.allowNoUnits)throw new SyntaxError('"'+A+'" contains no units');return r.value=void 0!==c?r._normalize(c):null,r},D.prototype.clone=function(){var A=new D;A.fixPrefix=this.fixPrefix,A.skipAutomaticSimplification=this.skipAutomaticSimplification,A.value=K(this.value),A.dimensions=this.dimensions.slice(0),A.units=[];for(var e=0;e<this.units.length;e++)for(var t in A.units[e]={},this.units[e])AA(this.units[e],t)&&(A.units[e][t]=this.units[e][t]);return A},D.prototype.valueType=function(){return V(this.value)},D.prototype._isDerived=function(){return 0!==this.units.length&&(this.units.length>1||Math.abs(this.units[0].power-1)>1e-15)},D.prototype._normalize=function(A){if(null==A||0===this.units.length)return A;for(var e=A,t=D._getNumberConverter(V(A)),n=0;n<this.units.length;n++){var i=t(this.units[n].unit.value),r=t(this.units[n].prefix.value),s=t(this.units[n].power);e=c(e,E(c(i,r),s))}return e},D.prototype._denormalize=function(A,e){if(null==A||0===this.units.length)return A;for(var t=A,n=D._getNumberConverter(V(A)),i=0;i<this.units.length;i++){var r=n(this.units[i].unit.value),s=n(this.units[i].prefix.value),o=n(this.units[i].power);t=Q(t,E(c(r,s),o))}return t};var R=pe(A=>{if(AA(j,A)){var e=j[A];return{unit:e,prefix:e.prefixes[""]}}for(var t in j)if(AA(j,t)&&GA(A,t)){var n=j[t],i=A.length-t.length,r=A.substring(0,i),s=AA(n.prefixes,r)?n.prefixes[r]:void 0;if(void 0!==s)return{unit:n,prefix:s}}return null},{hasher:A=>A[0],limit:100});function G(A){return A.equalBase(b.NONE)&&null!==A.value&&!s.predictable?A.value:A}D.isValuelessUnit=function(A){return null!==R(A)},D.prototype.hasBase=function(A){if("string"==typeof A&&(A=b[A]),!A)return!1;for(var e=0;e<H.length;e++)if(Math.abs((this.dimensions[e]||0)-(A.dimensions[e]||0))>1e-12)return!1;return!0},D.prototype.equalBase=function(A){for(var e=0;e<H.length;e++)if(Math.abs((this.dimensions[e]||0)-(A.dimensions[e]||0))>1e-12)return!1;return!0},D.prototype.equals=function(A){return this.equalBase(A)&&h(this.value,A.value)},D.prototype.multiply=function(A){for(var e=this.clone(),t=g(A)?A:new D(A),n=0;n<H.length;n++)e.dimensions[n]=(this.dimensions[n]||0)+(t.dimensions[n]||0);for(var i=0;i<t.units.length;i++){var r=ZB({},t.units[i]);e.units.push(r)}if(null!==this.value||null!==t.value){var s=null===this.value?this._normalize(1):this.value,o=null===t.value?t._normalize(1):t.value;e.value=c(s,o)}else e.value=null;return g(A)&&(e.skipAutomaticSimplification=!1),G(e)},D.prototype.divideInto=function(A){return new D(A).divide(this)},D.prototype.divide=function(A){for(var e=this.clone(),t=g(A)?A:new D(A),n=0;n<H.length;n++)e.dimensions[n]=(this.dimensions[n]||0)-(t.dimensions[n]||0);for(var i=0;i<t.units.length;i++){var r=ZB(ZB({},t.units[i]),{},{power:-t.units[i].power});e.units.push(r)}if(null!==this.value||null!==t.value){var s=null===this.value?this._normalize(1):this.value,o=null===t.value?t._normalize(1):t.value;e.value=Q(s,o)}else e.value=null;return g(A)&&(e.skipAutomaticSimplification=!1),G(e)},D.prototype.pow=function(A){for(var e=this.clone(),t=0;t<H.length;t++)e.dimensions[t]=(this.dimensions[t]||0)*A;for(var n=0;n<e.units.length;n++)e.units[n].power*=A;return null!==e.value?e.value=E(e.value,A):e.value=null,e.skipAutomaticSimplification=!1,G(e)},D.prototype.abs=function(){var A=this.clone();if(null!==A.value)if(A._isDerived()||0===A.units[0].unit.offset)A.value=l(A.value);else{var e=A._numberConverter(),t=e(A.units[0].unit.value),n=e(A.units[0].unit.offset),i=c(t,n);A.value=a(l(o(A.value,i)),i)}for(var r in A.units)"VA"!==A.units[r].unit.name&&"VAR"!==A.units[r].unit.name||(A.units[r].unit=j.W);return A},D.prototype.to=function(A){var e,t=null===this.value?this._normalize(1):this.value;if("string"==typeof A)e=D.parse(A);else{if(!g(A))throw new Error("String or Unit expected as parameter");e=A.clone()}if(!this.equalBase(e))throw new Error("Units do not match ('".concat(e.toString(),"' != '").concat(this.toString(),"')"));if(null!==e.value)throw new Error("Cannot convert to a unit with a value");if(null===this.value||this._isDerived()||this.units[0].unit.offset===e.units[0].unit.offset)e.value=K(t);else{var n=D._getNumberConverter(V(t)),i=this.units[0].unit.value,r=this.units[0].unit.offset,s=c(i,r),B=e.units[0].unit.value,Q=e.units[0].unit.offset,E=c(B,Q);e.value=o(t,n(a(s,E)))}return e.fixPrefix=!0,e.skipAutomaticSimplification=!0,e},D.prototype.toNumber=function(A){return F(this.toNumeric(A))},D.prototype.toNumeric=function(A){var e;return(e=A?this.to(A):this.clone())._isDerived()||0===e.units.length?e._denormalize(e.value):e._denormalize(e.value,e.units[0].prefix.value)},D.prototype.toString=function(){return this.format()},D.prototype.toJSON=function(){return{mathjs:"Unit",value:this._denormalize(this.value),unit:this.formatUnits(),fixPrefix:this.fixPrefix}},D.fromJSON=function(A){var e=new D(A.value,A.unit);return e.fixPrefix=A.fixPrefix||!1,e},D.prototype.valueOf=D.prototype.toString,D.prototype.simplify=function(){var A,e,t=this.clone(),n=[];for(var i in P)if(AA(P,i)&&t.hasBase(b[i])){A=i;break}if("NONE"===A)t.units=[];else if(A&&AA(P,A)&&(e=P[A]),e)t.units=[{unit:e.unit,prefix:e.prefix,power:1}];else{for(var r=!1,s=0;s<H.length;s++){var o=H[s];Math.abs(t.dimensions[s]||0)>1e-12&&(AA(P,o)?n.push({unit:P[o].unit,prefix:P[o].prefix,power:t.dimensions[s]||0}):r=!0)}n.length<t.units.length&&!r&&(t.units=n)}return t},D.prototype.toSI=function(){for(var A=this.clone(),e=[],t=0;t<H.length;t++){var n=H[t];if(Math.abs(A.dimensions[t]||0)>1e-12){if(!AA(L.si,n))throw new Error("Cannot express custom unit "+n+" in SI units");e.push({unit:L.si[n].unit,prefix:L.si[n].prefix,power:A.dimensions[t]||0})}}return A.units=e,A.fixPrefix=!0,A.skipAutomaticSimplification=!0,A},D.prototype.formatUnits=function(){for(var A="",e="",t=0,n=0,i=0;i<this.units.length;i++)this.units[i].power>0?(t++,A+=" "+this.units[i].prefix.name+this.units[i].unit.name,Math.abs(this.units[i].power-1)>1e-15&&(A+="^"+this.units[i].power)):this.units[i].power<0&&n++;if(n>0)for(var r=0;r<this.units.length;r++)this.units[r].power<0&&(t>0?(e+=" "+this.units[r].prefix.name+this.units[r].unit.name,Math.abs(this.units[r].power+1)>1e-15&&(e+="^"+-this.units[r].power)):(e+=" "+this.units[r].prefix.name+this.units[r].unit.name,e+="^"+this.units[r].power));A=A.substr(1),e=e.substr(1),t>1&&n>0&&(A="("+A+")"),n>1&&t>0&&(e="("+e+")");var s=A;return t>0&&n>0&&(s+=" / "),s+=e},D.prototype.format=function(A){var e=this.skipAutomaticSimplification||null===this.value?this.clone():this.simplify(),t=!1;for(var n in void 0!==e.value&&null!==e.value&&B(e.value)&&(t=Math.abs(e.value.re)<1e-14),e.units)AA(e.units,n)&&e.units[n].unit&&("VA"===e.units[n].unit.name&&t?e.units[n].unit=j.VAR:"VAR"!==e.units[n].unit.name||t||(e.units[n].unit=j.VA));1!==e.units.length||e.fixPrefix||Math.abs(e.units[0].power-Math.round(e.units[0].power))<1e-14&&(e.units[0].prefix=e._bestPrefix());var i=e._denormalize(e.value),r=null!==e.value?d(i,A||{}):"",s=e.formatUnits();return e.value&&B(e.value)&&(r="("+r+")"),s.length>0&&r.length>0&&(r+=" "),r+=s},D.prototype._bestPrefix=function(){if(1!==this.units.length)throw new Error("Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!");if(Math.abs(this.units[0].power-Math.round(this.units[0].power))>=1e-14)throw new Error("Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!");var A=null!==this.value?l(this.value):0,e=l(this.units[0].unit.value),t=this.units[0].prefix;if(0===A)return t;var n=this.units[0].power,i=Math.log(A/Math.pow(t.value*e,n))/Math.LN10-1.2;if(i>-2.200001&&i<1.800001)return t;i=Math.abs(i);var r=this.units[0].unit.prefixes;for(var s in r)if(AA(r,s)){var o=r[s];if(o.scientific){var a=Math.abs(Math.log(A/Math.pow(o.value*e,n))/Math.LN10-1.2);(a<i||a===i&&o.name.length<t.name.length)&&(t=o,i=a)}}return t},D.prototype.splitUnit=function(A){for(var e=this.clone(),t=[],n=0;n<A.length&&(e=e.to(A[n]),n!==A.length-1);n++){var i=e.toNumeric(),r=w(i),s=new D(h(r,i)?r:u(e.toNumeric()),A[n].toString());t.push(s),e=a(e,s)}for(var B=0,c=0;c<t.length;c++)B=o(B,t[c].value);return h(B,this.value)&&(e.value=0),t.push(e),t};var S={NONE:{"":{name:"",value:1,scientific:!0}},SHORT:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:10,scientific:!1},h:{name:"h",value:100,scientific:!1},k:{name:"k",value:1e3,scientific:!0},M:{name:"M",value:1e6,scientific:!0},G:{name:"G",value:1e9,scientific:!0},T:{name:"T",value:1e12,scientific:!0},P:{name:"P",value:1e15,scientific:!0},E:{name:"E",value:1e18,scientific:!0},Z:{name:"Z",value:1e21,scientific:!0},Y:{name:"Y",value:1e24,scientific:!0},d:{name:"d",value:.1,scientific:!1},c:{name:"c",value:.01,scientific:!1},m:{name:"m",value:.001,scientific:!0},u:{name:"u",value:1e-6,scientific:!0},n:{name:"n",value:1e-9,scientific:!0},p:{name:"p",value:1e-12,scientific:!0},f:{name:"f",value:1e-15,scientific:!0},a:{name:"a",value:1e-18,scientific:!0},z:{name:"z",value:1e-21,scientific:!0},y:{name:"y",value:1e-24,scientific:!0}},LONG:{"":{name:"",value:1,scientific:!0},deca:{name:"deca",value:10,scientific:!1},hecto:{name:"hecto",value:100,scientific:!1},kilo:{name:"kilo",value:1e3,scientific:!0},mega:{name:"mega",value:1e6,scientific:!0},giga:{name:"giga",value:1e9,scientific:!0},tera:{name:"tera",value:1e12,scientific:!0},peta:{name:"peta",value:1e15,scientific:!0},exa:{name:"exa",value:1e18,scientific:!0},zetta:{name:"zetta",value:1e21,scientific:!0},yotta:{name:"yotta",value:1e24,scientific:!0},deci:{name:"deci",value:.1,scientific:!1},centi:{name:"centi",value:.01,scientific:!1},milli:{name:"milli",value:.001,scientific:!0},micro:{name:"micro",value:1e-6,scientific:!0},nano:{name:"nano",value:1e-9,scientific:!0},pico:{name:"pico",value:1e-12,scientific:!0},femto:{name:"femto",value:1e-15,scientific:!0},atto:{name:"atto",value:1e-18,scientific:!0},zepto:{name:"zepto",value:1e-21,scientific:!0},yocto:{name:"yocto",value:1e-24,scientific:!0}},SQUARED:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:100,scientific:!1},h:{name:"h",value:1e4,scientific:!1},k:{name:"k",value:1e6,scientific:!0},M:{name:"M",value:1e12,scientific:!0},G:{name:"G",value:1e18,scientific:!0},T:{name:"T",value:1e24,scientific:!0},P:{name:"P",value:1e30,scientific:!0},E:{name:"E",value:1e36,scientific:!0},Z:{name:"Z",value:1e42,scientific:!0},Y:{name:"Y",value:1e48,scientific:!0},d:{name:"d",value:.01,scientific:!1},c:{name:"c",value:1e-4,scientific:!1},m:{name:"m",value:1e-6,scientific:!0},u:{name:"u",value:1e-12,scientific:!0},n:{name:"n",value:1e-18,scientific:!0},p:{name:"p",value:1e-24,scientific:!0},f:{name:"f",value:1e-30,scientific:!0},a:{name:"a",value:1e-36,scientific:!0},z:{name:"z",value:1e-42,scientific:!0},y:{name:"y",value:1e-48,scientific:!0}},CUBIC:{"":{name:"",value:1,scientific:!0},da:{name:"da",value:1e3,scientific:!1},h:{name:"h",value:1e6,scientific:!1},k:{name:"k",value:1e9,scientific:!0},M:{name:"M",value:1e18,scientific:!0},G:{name:"G",value:1e27,scientific:!0},T:{name:"T",value:1e36,scientific:!0},P:{name:"P",value:1e45,scientific:!0},E:{name:"E",value:1e54,scientific:!0},Z:{name:"Z",value:1e63,scientific:!0},Y:{name:"Y",value:1e72,scientific:!0},d:{name:"d",value:.001,scientific:!1},c:{name:"c",value:1e-6,scientific:!1},m:{name:"m",value:1e-9,scientific:!0},u:{name:"u",value:1e-18,scientific:!0},n:{name:"n",value:1e-27,scientific:!0},p:{name:"p",value:1e-36,scientific:!0},f:{name:"f",value:1e-45,scientific:!0},a:{name:"a",value:1e-54,scientific:!0},z:{name:"z",value:1e-63,scientific:!0},y:{name:"y",value:1e-72,scientific:!0}},BINARY_SHORT_SI:{"":{name:"",value:1,scientific:!0},k:{name:"k",value:1e3,scientific:!0},M:{name:"M",value:1e6,scientific:!0},G:{name:"G",value:1e9,scientific:!0},T:{name:"T",value:1e12,scientific:!0},P:{name:"P",value:1e15,scientific:!0},E:{name:"E",value:1e18,scientific:!0},Z:{name:"Z",value:1e21,scientific:!0},Y:{name:"Y",value:1e24,scientific:!0}},BINARY_SHORT_IEC:{"":{name:"",value:1,scientific:!0},Ki:{name:"Ki",value:1024,scientific:!0},Mi:{name:"Mi",value:Math.pow(1024,2),scientific:!0},Gi:{name:"Gi",value:Math.pow(1024,3),scientific:!0},Ti:{name:"Ti",value:Math.pow(1024,4),scientific:!0},Pi:{name:"Pi",value:Math.pow(1024,5),scientific:!0},Ei:{name:"Ei",value:Math.pow(1024,6),scientific:!0},Zi:{name:"Zi",value:Math.pow(1024,7),scientific:!0},Yi:{name:"Yi",value:Math.pow(1024,8),scientific:!0}},BINARY_LONG_SI:{"":{name:"",value:1,scientific:!0},kilo:{name:"kilo",value:1e3,scientific:!0},mega:{name:"mega",value:1e6,scientific:!0},giga:{name:"giga",value:1e9,scientific:!0},tera:{name:"tera",value:1e12,scientific:!0},peta:{name:"peta",value:1e15,scientific:!0},exa:{name:"exa",value:1e18,scientific:!0},zetta:{name:"zetta",value:1e21,scientific:!0},yotta:{name:"yotta",value:1e24,scientific:!0}},BINARY_LONG_IEC:{"":{name:"",value:1,scientific:!0},kibi:{name:"kibi",value:1024,scientific:!0},mebi:{name:"mebi",value:Math.pow(1024,2),scientific:!0},gibi:{name:"gibi",value:Math.pow(1024,3),scientific:!0},tebi:{name:"tebi",value:Math.pow(1024,4),scientific:!0},pebi:{name:"pebi",value:Math.pow(1024,5),scientific:!0},exi:{name:"exi",value:Math.pow(1024,6),scientific:!0},zebi:{name:"zebi",value:Math.pow(1024,7),scientific:!0},yobi:{name:"yobi",value:Math.pow(1024,8),scientific:!0}},BTU:{"":{name:"",value:1,scientific:!0},MM:{name:"MM",value:1e6,scientific:!0}}};S.SHORTLONG=r()({},S.SHORT,S.LONG),S.BINARY_SHORT=r()({},S.BINARY_SHORT_SI,S.BINARY_SHORT_IEC),S.BINARY_LONG=r()({},S.BINARY_LONG_SI,S.BINARY_LONG_IEC);var H=["MASS","LENGTH","TIME","CURRENT","TEMPERATURE","LUMINOUS_INTENSITY","AMOUNT_OF_SUBSTANCE","ANGLE","BIT"],b={NONE:{dimensions:[0,0,0,0,0,0,0,0,0]},MASS:{dimensions:[1,0,0,0,0,0,0,0,0]},LENGTH:{dimensions:[0,1,0,0,0,0,0,0,0]},TIME:{dimensions:[0,0,1,0,0,0,0,0,0]},CURRENT:{dimensions:[0,0,0,1,0,0,0,0,0]},TEMPERATURE:{dimensions:[0,0,0,0,1,0,0,0,0]},LUMINOUS_INTENSITY:{dimensions:[0,0,0,0,0,1,0,0,0]},AMOUNT_OF_SUBSTANCE:{dimensions:[0,0,0,0,0,0,1,0,0]},FORCE:{dimensions:[1,1,-2,0,0,0,0,0,0]},SURFACE:{dimensions:[0,2,0,0,0,0,0,0,0]},VOLUME:{dimensions:[0,3,0,0,0,0,0,0,0]},ENERGY:{dimensions:[1,2,-2,0,0,0,0,0,0]},POWER:{dimensions:[1,2,-3,0,0,0,0,0,0]},PRESSURE:{dimensions:[1,-1,-2,0,0,0,0,0,0]},ELECTRIC_CHARGE:{dimensions:[0,0,1,1,0,0,0,0,0]},ELECTRIC_CAPACITANCE:{dimensions:[-1,-2,4,2,0,0,0,0,0]},ELECTRIC_POTENTIAL:{dimensions:[1,2,-3,-1,0,0,0,0,0]},ELECTRIC_RESISTANCE:{dimensions:[1,2,-3,-2,0,0,0,0,0]},ELECTRIC_INDUCTANCE:{dimensions:[1,2,-2,-2,0,0,0,0,0]},ELECTRIC_CONDUCTANCE:{dimensions:[-1,-2,3,2,0,0,0,0,0]},MAGNETIC_FLUX:{dimensions:[1,2,-2,-1,0,0,0,0,0]},MAGNETIC_FLUX_DENSITY:{dimensions:[1,0,-2,-1,0,0,0,0,0]},FREQUENCY:{dimensions:[0,0,-1,0,0,0,0,0,0]},ANGLE:{dimensions:[0,0,0,0,0,0,0,1,0]},BIT:{dimensions:[0,0,0,0,0,0,0,0,1]}};for(var k in b)AA(b,k)&&(b[k].key=k);var J={name:"",base:{},value:1,offset:0,dimensions:H.map(A=>0)},j={meter:{name:"meter",base:b.LENGTH,prefixes:S.LONG,value:1,offset:0},inch:{name:"inch",base:b.LENGTH,prefixes:S.NONE,value:.0254,offset:0},foot:{name:"foot",base:b.LENGTH,prefixes:S.NONE,value:.3048,offset:0},yard:{name:"yard",base:b.LENGTH,prefixes:S.NONE,value:.9144,offset:0},mile:{name:"mile",base:b.LENGTH,prefixes:S.NONE,value:1609.344,offset:0},link:{name:"link",base:b.LENGTH,prefixes:S.NONE,value:.201168,offset:0},rod:{name:"rod",base:b.LENGTH,prefixes:S.NONE,value:5.0292,offset:0},chain:{name:"chain",base:b.LENGTH,prefixes:S.NONE,value:20.1168,offset:0},angstrom:{name:"angstrom",base:b.LENGTH,prefixes:S.NONE,value:1e-10,offset:0},m:{name:"m",base:b.LENGTH,prefixes:S.SHORT,value:1,offset:0},in:{name:"in",base:b.LENGTH,prefixes:S.NONE,value:.0254,offset:0},ft:{name:"ft",base:b.LENGTH,prefixes:S.NONE,value:.3048,offset:0},yd:{name:"yd",base:b.LENGTH,prefixes:S.NONE,value:.9144,offset:0},mi:{name:"mi",base:b.LENGTH,prefixes:S.NONE,value:1609.344,offset:0},li:{name:"li",base:b.LENGTH,prefixes:S.NONE,value:.201168,offset:0},rd:{name:"rd",base:b.LENGTH,prefixes:S.NONE,value:5.02921,offset:0},ch:{name:"ch",base:b.LENGTH,prefixes:S.NONE,value:20.1168,offset:0},mil:{name:"mil",base:b.LENGTH,prefixes:S.NONE,value:254e-7,offset:0},m2:{name:"m2",base:b.SURFACE,prefixes:S.SQUARED,value:1,offset:0},sqin:{name:"sqin",base:b.SURFACE,prefixes:S.NONE,value:64516e-8,offset:0},sqft:{name:"sqft",base:b.SURFACE,prefixes:S.NONE,value:.09290304,offset:0},sqyd:{name:"sqyd",base:b.SURFACE,prefixes:S.NONE,value:.83612736,offset:0},sqmi:{name:"sqmi",base:b.SURFACE,prefixes:S.NONE,value:2589988.110336,offset:0},sqrd:{name:"sqrd",base:b.SURFACE,prefixes:S.NONE,value:25.29295,offset:0},sqch:{name:"sqch",base:b.SURFACE,prefixes:S.NONE,value:404.6873,offset:0},sqmil:{name:"sqmil",base:b.SURFACE,prefixes:S.NONE,value:6.4516e-10,offset:0},acre:{name:"acre",base:b.SURFACE,prefixes:S.NONE,value:4046.86,offset:0},hectare:{name:"hectare",base:b.SURFACE,prefixes:S.NONE,value:1e4,offset:0},m3:{name:"m3",base:b.VOLUME,prefixes:S.CUBIC,value:1,offset:0},L:{name:"L",base:b.VOLUME,prefixes:S.SHORT,value:.001,offset:0},l:{name:"l",base:b.VOLUME,prefixes:S.SHORT,value:.001,offset:0},litre:{name:"litre",base:b.VOLUME,prefixes:S.LONG,value:.001,offset:0},cuin:{name:"cuin",base:b.VOLUME,prefixes:S.NONE,value:16387064e-12,offset:0},cuft:{name:"cuft",base:b.VOLUME,prefixes:S.NONE,value:.028316846592,offset:0},cuyd:{name:"cuyd",base:b.VOLUME,prefixes:S.NONE,value:.764554857984,offset:0},teaspoon:{name:"teaspoon",base:b.VOLUME,prefixes:S.NONE,value:5e-6,offset:0},tablespoon:{name:"tablespoon",base:b.VOLUME,prefixes:S.NONE,value:15e-6,offset:0},drop:{name:"drop",base:b.VOLUME,prefixes:S.NONE,value:5e-8,offset:0},gtt:{name:"gtt",base:b.VOLUME,prefixes:S.NONE,value:5e-8,offset:0},minim:{name:"minim",base:b.VOLUME,prefixes:S.NONE,value:6.161152e-8,offset:0},fluiddram:{name:"fluiddram",base:b.VOLUME,prefixes:S.NONE,value:36966911e-13,offset:0},fluidounce:{name:"fluidounce",base:b.VOLUME,prefixes:S.NONE,value:2957353e-11,offset:0},gill:{name:"gill",base:b.VOLUME,prefixes:S.NONE,value:.0001182941,offset:0},cc:{name:"cc",base:b.VOLUME,prefixes:S.NONE,value:1e-6,offset:0},cup:{name:"cup",base:b.VOLUME,prefixes:S.NONE,value:.0002365882,offset:0},pint:{name:"pint",base:b.VOLUME,prefixes:S.NONE,value:.0004731765,offset:0},quart:{name:"quart",base:b.VOLUME,prefixes:S.NONE,value:.0009463529,offset:0},gallon:{name:"gallon",base:b.VOLUME,prefixes:S.NONE,value:.003785412,offset:0},beerbarrel:{name:"beerbarrel",base:b.VOLUME,prefixes:S.NONE,value:.1173478,offset:0},oilbarrel:{name:"oilbarrel",base:b.VOLUME,prefixes:S.NONE,value:.1589873,offset:0},hogshead:{name:"hogshead",base:b.VOLUME,prefixes:S.NONE,value:.238481,offset:0},fldr:{name:"fldr",base:b.VOLUME,prefixes:S.NONE,value:36966911e-13,offset:0},floz:{name:"floz",base:b.VOLUME,prefixes:S.NONE,value:2957353e-11,offset:0},gi:{name:"gi",base:b.VOLUME,prefixes:S.NONE,value:.0001182941,offset:0},cp:{name:"cp",base:b.VOLUME,prefixes:S.NONE,value:.0002365882,offset:0},pt:{name:"pt",base:b.VOLUME,prefixes:S.NONE,value:.0004731765,offset:0},qt:{name:"qt",base:b.VOLUME,prefixes:S.NONE,value:.0009463529,offset:0},gal:{name:"gal",base:b.VOLUME,prefixes:S.NONE,value:.003785412,offset:0},bbl:{name:"bbl",base:b.VOLUME,prefixes:S.NONE,value:.1173478,offset:0},obl:{name:"obl",base:b.VOLUME,prefixes:S.NONE,value:.1589873,offset:0},g:{name:"g",base:b.MASS,prefixes:S.SHORT,value:.001,offset:0},gram:{name:"gram",base:b.MASS,prefixes:S.LONG,value:.001,offset:0},ton:{name:"ton",base:b.MASS,prefixes:S.SHORT,value:907.18474,offset:0},t:{name:"t",base:b.MASS,prefixes:S.SHORT,value:1e3,offset:0},tonne:{name:"tonne",base:b.MASS,prefixes:S.LONG,value:1e3,offset:0},grain:{name:"grain",base:b.MASS,prefixes:S.NONE,value:6479891e-11,offset:0},dram:{name:"dram",base:b.MASS,prefixes:S.NONE,value:.0017718451953125,offset:0},ounce:{name:"ounce",base:b.MASS,prefixes:S.NONE,value:.028349523125,offset:0},poundmass:{name:"poundmass",base:b.MASS,prefixes:S.NONE,value:.45359237,offset:0},hundredweight:{name:"hundredweight",base:b.MASS,prefixes:S.NONE,value:45.359237,offset:0},stick:{name:"stick",base:b.MASS,prefixes:S.NONE,value:.115,offset:0},stone:{name:"stone",base:b.MASS,prefixes:S.NONE,value:6.35029318,offset:0},gr:{name:"gr",base:b.MASS,prefixes:S.NONE,value:6479891e-11,offset:0},dr:{name:"dr",base:b.MASS,prefixes:S.NONE,value:.0017718451953125,offset:0},oz:{name:"oz",base:b.MASS,prefixes:S.NONE,value:.028349523125,offset:0},lbm:{name:"lbm",base:b.MASS,prefixes:S.NONE,value:.45359237,offset:0},cwt:{name:"cwt",base:b.MASS,prefixes:S.NONE,value:45.359237,offset:0},s:{name:"s",base:b.TIME,prefixes:S.SHORT,value:1,offset:0},min:{name:"min",base:b.TIME,prefixes:S.NONE,value:60,offset:0},h:{name:"h",base:b.TIME,prefixes:S.NONE,value:3600,offset:0},second:{name:"second",base:b.TIME,prefixes:S.LONG,value:1,offset:0},sec:{name:"sec",base:b.TIME,prefixes:S.LONG,value:1,offset:0},minute:{name:"minute",base:b.TIME,prefixes:S.NONE,value:60,offset:0},hour:{name:"hour",base:b.TIME,prefixes:S.NONE,value:3600,offset:0},day:{name:"day",base:b.TIME,prefixes:S.NONE,value:86400,offset:0},week:{name:"week",base:b.TIME,prefixes:S.NONE,value:604800,offset:0},month:{name:"month",base:b.TIME,prefixes:S.NONE,value:2629800,offset:0},year:{name:"year",base:b.TIME,prefixes:S.NONE,value:31557600,offset:0},decade:{name:"decade",base:b.TIME,prefixes:S.NONE,value:315576e3,offset:0},century:{name:"century",base:b.TIME,prefixes:S.NONE,value:315576e4,offset:0},millennium:{name:"millennium",base:b.TIME,prefixes:S.NONE,value:315576e5,offset:0},hertz:{name:"Hertz",base:b.FREQUENCY,prefixes:S.LONG,value:1,offset:0,reciprocal:!0},Hz:{name:"Hz",base:b.FREQUENCY,prefixes:S.SHORT,value:1,offset:0,reciprocal:!0},rad:{name:"rad",base:b.ANGLE,prefixes:S.SHORT,value:1,offset:0},radian:{name:"radian",base:b.ANGLE,prefixes:S.LONG,value:1,offset:0},deg:{name:"deg",base:b.ANGLE,prefixes:S.SHORT,value:null,offset:0},degree:{name:"degree",base:b.ANGLE,prefixes:S.LONG,value:null,offset:0},grad:{name:"grad",base:b.ANGLE,prefixes:S.SHORT,value:null,offset:0},gradian:{name:"gradian",base:b.ANGLE,prefixes:S.LONG,value:null,offset:0},cycle:{name:"cycle",base:b.ANGLE,prefixes:S.NONE,value:null,offset:0},arcsec:{name:"arcsec",base:b.ANGLE,prefixes:S.NONE,value:null,offset:0},arcmin:{name:"arcmin",base:b.ANGLE,prefixes:S.NONE,value:null,offset:0},A:{name:"A",base:b.CURRENT,prefixes:S.SHORT,value:1,offset:0},ampere:{name:"ampere",base:b.CURRENT,prefixes:S.LONG,value:1,offset:0},K:{name:"K",base:b.TEMPERATURE,prefixes:S.SHORT,value:1,offset:0},degC:{name:"degC",base:b.TEMPERATURE,prefixes:S.SHORT,value:1,offset:273.15},degF:{name:"degF",base:b.TEMPERATURE,prefixes:S.SHORT,value:new m(5,9),offset:459.67},degR:{name:"degR",base:b.TEMPERATURE,prefixes:S.SHORT,value:new m(5,9),offset:0},kelvin:{name:"kelvin",base:b.TEMPERATURE,prefixes:S.LONG,value:1,offset:0},celsius:{name:"celsius",base:b.TEMPERATURE,prefixes:S.LONG,value:1,offset:273.15},fahrenheit:{name:"fahrenheit",base:b.TEMPERATURE,prefixes:S.LONG,value:new m(5,9),offset:459.67},rankine:{name:"rankine",base:b.TEMPERATURE,prefixes:S.LONG,value:new m(5,9),offset:0},mol:{name:"mol",base:b.AMOUNT_OF_SUBSTANCE,prefixes:S.SHORT,value:1,offset:0},mole:{name:"mole",base:b.AMOUNT_OF_SUBSTANCE,prefixes:S.LONG,value:1,offset:0},cd:{name:"cd",base:b.LUMINOUS_INTENSITY,prefixes:S.SHORT,value:1,offset:0},candela:{name:"candela",base:b.LUMINOUS_INTENSITY,prefixes:S.LONG,value:1,offset:0},N:{name:"N",base:b.FORCE,prefixes:S.SHORT,value:1,offset:0},newton:{name:"newton",base:b.FORCE,prefixes:S.LONG,value:1,offset:0},dyn:{name:"dyn",base:b.FORCE,prefixes:S.SHORT,value:1e-5,offset:0},dyne:{name:"dyne",base:b.FORCE,prefixes:S.LONG,value:1e-5,offset:0},lbf:{name:"lbf",base:b.FORCE,prefixes:S.NONE,value:4.4482216152605,offset:0},poundforce:{name:"poundforce",base:b.FORCE,prefixes:S.NONE,value:4.4482216152605,offset:0},kip:{name:"kip",base:b.FORCE,prefixes:S.LONG,value:4448.2216,offset:0},kilogramforce:{name:"kilogramforce",base:b.FORCE,prefixes:S.NONE,value:9.80665,offset:0},J:{name:"J",base:b.ENERGY,prefixes:S.SHORT,value:1,offset:0},joule:{name:"joule",base:b.ENERGY,prefixes:S.LONG,value:1,offset:0},erg:{name:"erg",base:b.ENERGY,prefixes:S.SHORTLONG,value:1e-7,offset:0},Wh:{name:"Wh",base:b.ENERGY,prefixes:S.SHORT,value:3600,offset:0},BTU:{name:"BTU",base:b.ENERGY,prefixes:S.BTU,value:1055.05585262,offset:0},eV:{name:"eV",base:b.ENERGY,prefixes:S.SHORT,value:1602176565e-28,offset:0},electronvolt:{name:"electronvolt",base:b.ENERGY,prefixes:S.LONG,value:1602176565e-28,offset:0},W:{name:"W",base:b.POWER,prefixes:S.SHORT,value:1,offset:0},watt:{name:"watt",base:b.POWER,prefixes:S.LONG,value:1,offset:0},hp:{name:"hp",base:b.POWER,prefixes:S.NONE,value:745.6998715386,offset:0},VAR:{name:"VAR",base:b.POWER,prefixes:S.SHORT,value:M.I,offset:0},VA:{name:"VA",base:b.POWER,prefixes:S.SHORT,value:1,offset:0},Pa:{name:"Pa",base:b.PRESSURE,prefixes:S.SHORT,value:1,offset:0},psi:{name:"psi",base:b.PRESSURE,prefixes:S.NONE,value:6894.75729276459,offset:0},atm:{name:"atm",base:b.PRESSURE,prefixes:S.NONE,value:101325,offset:0},bar:{name:"bar",base:b.PRESSURE,prefixes:S.SHORTLONG,value:1e5,offset:0},torr:{name:"torr",base:b.PRESSURE,prefixes:S.NONE,value:133.322,offset:0},mmHg:{name:"mmHg",base:b.PRESSURE,prefixes:S.NONE,value:133.322,offset:0},mmH2O:{name:"mmH2O",base:b.PRESSURE,prefixes:S.NONE,value:9.80665,offset:0},cmH2O:{name:"cmH2O",base:b.PRESSURE,prefixes:S.NONE,value:98.0665,offset:0},coulomb:{name:"coulomb",base:b.ELECTRIC_CHARGE,prefixes:S.LONG,value:1,offset:0},C:{name:"C",base:b.ELECTRIC_CHARGE,prefixes:S.SHORT,value:1,offset:0},farad:{name:"farad",base:b.ELECTRIC_CAPACITANCE,prefixes:S.LONG,value:1,offset:0},F:{name:"F",base:b.ELECTRIC_CAPACITANCE,prefixes:S.SHORT,value:1,offset:0},volt:{name:"volt",base:b.ELECTRIC_POTENTIAL,prefixes:S.LONG,value:1,offset:0},V:{name:"V",base:b.ELECTRIC_POTENTIAL,prefixes:S.SHORT,value:1,offset:0},ohm:{name:"ohm",base:b.ELECTRIC_RESISTANCE,prefixes:S.SHORTLONG,value:1,offset:0},henry:{name:"henry",base:b.ELECTRIC_INDUCTANCE,prefixes:S.LONG,value:1,offset:0},H:{name:"H",base:b.ELECTRIC_INDUCTANCE,prefixes:S.SHORT,value:1,offset:0},siemens:{name:"siemens",base:b.ELECTRIC_CONDUCTANCE,prefixes:S.LONG,value:1,offset:0},S:{name:"S",base:b.ELECTRIC_CONDUCTANCE,prefixes:S.SHORT,value:1,offset:0},weber:{name:"weber",base:b.MAGNETIC_FLUX,prefixes:S.LONG,value:1,offset:0},Wb:{name:"Wb",base:b.MAGNETIC_FLUX,prefixes:S.SHORT,value:1,offset:0},tesla:{name:"tesla",base:b.MAGNETIC_FLUX_DENSITY,prefixes:S.LONG,value:1,offset:0},T:{name:"T",base:b.MAGNETIC_FLUX_DENSITY,prefixes:S.SHORT,value:1,offset:0},b:{name:"b",base:b.BIT,prefixes:S.BINARY_SHORT,value:1,offset:0},bits:{name:"bits",base:b.BIT,prefixes:S.BINARY_LONG,value:1,offset:0},B:{name:"B",base:b.BIT,prefixes:S.BINARY_SHORT,value:8,offset:0},bytes:{name:"bytes",base:b.BIT,prefixes:S.BINARY_LONG,value:8,offset:0}},z={meters:"meter",inches:"inch",feet:"foot",yards:"yard",miles:"mile",links:"link",rods:"rod",chains:"chain",angstroms:"angstrom",lt:"l",litres:"litre",liter:"litre",liters:"litre",teaspoons:"teaspoon",tablespoons:"tablespoon",minims:"minim",fluiddrams:"fluiddram",fluidounces:"fluidounce",gills:"gill",cups:"cup",pints:"pint",quarts:"quart",gallons:"gallon",beerbarrels:"beerbarrel",oilbarrels:"oilbarrel",hogsheads:"hogshead",gtts:"gtt",grams:"gram",tons:"ton",tonnes:"tonne",grains:"grain",drams:"dram",ounces:"ounce",poundmasses:"poundmass",hundredweights:"hundredweight",sticks:"stick",lb:"lbm",lbs:"lbm",kips:"kip",kgf:"kilogramforce",acres:"acre",hectares:"hectare",sqfeet:"sqft",sqyard:"sqyd",sqmile:"sqmi",sqmiles:"sqmi",mmhg:"mmHg",mmh2o:"mmH2O",cmh2o:"cmH2O",seconds:"second",secs:"second",minutes:"minute",mins:"minute",hours:"hour",hr:"hour",hrs:"hour",days:"day",weeks:"week",months:"month",years:"year",decades:"decade",centuries:"century",millennia:"millennium",hertz:"hertz",radians:"radian",degrees:"degree",gradians:"gradian",cycles:"cycle",arcsecond:"arcsec",arcseconds:"arcsec",arcminute:"arcmin",arcminutes:"arcmin",BTUs:"BTU",watts:"watt",joules:"joule",amperes:"ampere",amps:"ampere",amp:"ampere",coulombs:"coulomb",volts:"volt",ohms:"ohm",farads:"farad",webers:"weber",teslas:"tesla",electronvolts:"electronvolt",moles:"mole",bit:"bits",byte:"bytes"};function v(A){if("BigNumber"===A.number){var e=Ye(p);j.rad.value=new p(1),j.deg.value=e.div(180),j.grad.value=e.div(200),j.cycle.value=e.times(2),j.arcsec.value=e.div(648e3),j.arcmin.value=e.div(10800)}else j.rad.value=1,j.deg.value=Math.PI/180,j.grad.value=Math.PI/200,j.cycle.value=2*Math.PI,j.arcsec.value=Math.PI/648e3,j.arcmin.value=Math.PI/10800;j.radian.value=j.rad.value,j.degree.value=j.deg.value,j.gradian.value=j.grad.value}v(s),i&&i("config",(function(A,e){A.number!==e.number&&v(A)}));var L={si:{NONE:{unit:J,prefix:S.NONE[""]},LENGTH:{unit:j.m,prefix:S.SHORT[""]},MASS:{unit:j.g,prefix:S.SHORT.k},TIME:{unit:j.s,prefix:S.SHORT[""]},CURRENT:{unit:j.A,prefix:S.SHORT[""]},TEMPERATURE:{unit:j.K,prefix:S.SHORT[""]},LUMINOUS_INTENSITY:{unit:j.cd,prefix:S.SHORT[""]},AMOUNT_OF_SUBSTANCE:{unit:j.mol,prefix:S.SHORT[""]},ANGLE:{unit:j.rad,prefix:S.SHORT[""]},BIT:{unit:j.bits,prefix:S.SHORT[""]},FORCE:{unit:j.N,prefix:S.SHORT[""]},ENERGY:{unit:j.J,prefix:S.SHORT[""]},POWER:{unit:j.W,prefix:S.SHORT[""]},PRESSURE:{unit:j.Pa,prefix:S.SHORT[""]},ELECTRIC_CHARGE:{unit:j.C,prefix:S.SHORT[""]},ELECTRIC_CAPACITANCE:{unit:j.F,prefix:S.SHORT[""]},ELECTRIC_POTENTIAL:{unit:j.V,prefix:S.SHORT[""]},ELECTRIC_RESISTANCE:{unit:j.ohm,prefix:S.SHORT[""]},ELECTRIC_INDUCTANCE:{unit:j.H,prefix:S.SHORT[""]},ELECTRIC_CONDUCTANCE:{unit:j.S,prefix:S.SHORT[""]},MAGNETIC_FLUX:{unit:j.Wb,prefix:S.SHORT[""]},MAGNETIC_FLUX_DENSITY:{unit:j.T,prefix:S.SHORT[""]},FREQUENCY:{unit:j.Hz,prefix:S.SHORT[""]}}};L.cgs=JSON.parse(JSON.stringify(L.si)),L.cgs.LENGTH={unit:j.m,prefix:S.SHORT.c},L.cgs.MASS={unit:j.g,prefix:S.SHORT[""]},L.cgs.FORCE={unit:j.dyn,prefix:S.SHORT[""]},L.cgs.ENERGY={unit:j.erg,prefix:S.NONE[""]},L.us=JSON.parse(JSON.stringify(L.si)),L.us.LENGTH={unit:j.ft,prefix:S.NONE[""]},L.us.MASS={unit:j.lbm,prefix:S.NONE[""]},L.us.TEMPERATURE={unit:j.degF,prefix:S.NONE[""]},L.us.FORCE={unit:j.lbf,prefix:S.NONE[""]},L.us.ENERGY={unit:j.BTU,prefix:S.BTU[""]},L.us.POWER={unit:j.hp,prefix:S.NONE[""]},L.us.PRESSURE={unit:j.psi,prefix:S.NONE[""]},L.auto=JSON.parse(JSON.stringify(L.si));var P=L.auto;for(var O in D.setUnitSystem=function(A){if(!AA(L,A))throw new Error("Unit system "+A+" does not exist. Choices are: "+Object.keys(L).join(", "));P=L[A]},D.getUnitSystem=function(){for(var A in L)if(AA(L,A)&&L[A]===P)return A},D.typeConverters={BigNumber:function(A){return null!=A&&A.isFraction?new p(A.n).div(A.d).times(A.s):new p(A+"")},Fraction:function(A){return new m(A)},Complex:function(A){return A},number:function(A){return null!=A&&A.isFraction?I(A):A}},D.prototype._numberConverter=function(){var A=D.typeConverters[this.valueType()];if(A)return A;throw new TypeError('Unsupported Unit value type "'+this.valueType()+'"')},D._getNumberConverter=function(A){if(!D.typeConverters[A])throw new TypeError('Unsupported type "'+A+'"');return D.typeConverters[A]},j)if(AA(j,O)){var W=j[O];W.dimensions=W.base.dimensions}for(var X in z)if(AA(z,X)){var Z=j[z[X]],_={};for(var q in Z)AA(Z,q)&&(_[q]=Z[q]);_.name=X,j[X]=_}return D.isValidAlpha=function(A){return/^[a-zA-Z]$/.test(A)},D.createUnit=function(A,e){if("object"!=typeof A)throw new TypeError("createUnit expects first parameter to be of type 'Object'");if(e&&e.override)for(var t in A)if(AA(A,t)&&D.deleteUnit(t),A[t].aliases)for(var n=0;n<A[t].aliases.length;n++)D.deleteUnit(A[t].aliases[n]);var i;for(var r in A)AA(A,r)&&(i=D.createUnitSingle(r,A[r]));return i},D.createUnitSingle=function(A,e){if(null==e&&(e={}),"string"!=typeof A)throw new TypeError("createUnitSingle expects first parameter to be of type 'string'");if(AA(j,A))throw new Error('Cannot create unit "'+A+'": a unit with that name already exists');!function(A){for(var e=0;e<A.length;e++){if(n=A.charAt(e),0===e&&!D.isValidAlpha(n))throw new Error('Invalid unit name (must begin with alpha character): "'+A+'"');if(e>0&&!D.isValidAlpha(n)&&!f(n))throw new Error('Invalid unit name (only alphanumeric characters are allowed): "'+A+'"')}}(A);var t,i,r,s=null,o=[],a=0;if(e&&"Unit"===e.type)s=e.clone();else if("string"==typeof e)""!==e&&(t=e);else{if("object"!=typeof e)throw new TypeError('Cannot create unit "'+A+'" from "'+e.toString()+'": expecting "string" or "Unit" or "Object"');t=e.definition,i=e.prefixes,a=e.offset,r=e.baseName,e.aliases&&(o=e.aliases.valueOf())}if(o)for(var B=0;B<o.length;B++)if(AA(j,o[B]))throw new Error('Cannot create alias "'+o[B]+'": a unit with that name already exists');if(t&&"string"==typeof t&&!s)try{s=D.parse(t,{allowNoUnits:!0})}catch(e){throw e.message='Could not create unit "'+A+'" from "'+t+'": '+e.message,e}else t&&"Unit"===t.type&&(s=t.clone());o=o||[],a=a||0,i=i&&i.toUpperCase&&S[i.toUpperCase()]||S.NONE;var c={};if(s){c={name:A,value:s.value,dimensions:s.dimensions.slice(0),prefixes:i,offset:a};var g=!1;for(var Q in b)if(AA(b,Q)){for(var E=!0,l=0;l<H.length;l++)if(Math.abs((c.dimensions[l]||0)-(b[Q].dimensions[l]||0))>1e-12){E=!1;break}if(E){g=!0,c.base=b[Q];break}}if(!g){r=r||A+"_STUFF";var u={dimensions:s.dimensions.slice(0)};u.key=r,b[r]=u,P[r]={unit:c,prefix:S.NONE[""]},c.base=b[r]}}else{if(r=r||A+"_STUFF",H.indexOf(r)>=0)throw new Error('Cannot create new base unit "'+A+'": a base unit with that name already exists (and cannot be overridden)');for(var w in H.push(r),b)AA(b,w)&&(b[w].dimensions[H.length-1]=0);for(var h={dimensions:[]},C=0;C<H.length;C++)h.dimensions[C]=0;h.dimensions[H.length-1]=1,h.key=r,b[r]=h,c={name:A,value:1,dimensions:b[r].dimensions.slice(0),prefixes:i,offset:a,base:b[r]},P[r]={unit:c,prefix:S.NONE[""]}}D.UNITS[A]=c;for(var d=0;d<o.length;d++){var I=o[d],M={};for(var p in c)AA(c,p)&&(M[p]=c[p]);M.name=I,D.UNITS[I]=M}return delete R.cache,new D(null,A)},D.deleteUnit=function(A){delete D.UNITS[A]},D.PREFIXES=S,D.BASE_DIMENSIONS=H,D.BASE_UNITS=b,D.UNIT_SYSTEMS=L,D.UNITS=j,D},{isClass:!0}),qB=le("dotPow",["typed","equalScalar","matrix","pow","DenseMatrix","concat"],A=>{var{typed:e,equalScalar:t,matrix:n,pow:i,DenseMatrix:r,concat:s}=A,o=ro({typed:e}),a=so({typed:e,DenseMatrix:r}),B=oo({typed:e,equalScalar:t}),c=ao({typed:e,DenseMatrix:r}),g=Qo({typed:e,matrix:n,concat:s}),Q={};for(var E in i.signatures)Object.prototype.hasOwnProperty.call(i.signatures,E)&&(E.includes("Matrix")||E.includes("Array")||(Q[E]=i.signatures[E]));var l=e(Q);return e("dotPow",g({elop:l,SS:a,DS:o,Ss:B,sS:c}))}),$B=le("expm",["typed","abs","add","identity","inv","multiply"],A=>{var{typed:e,abs:t,add:n,identity:i,inv:r,multiply:s}=A;return e("expm",{Matrix:function(A){var e=A.size();if(2!==e.length||e[0]!==e[1])throw new RangeError("Matrix must be square (size: "+SA(e)+")");for(var a=e[0],B=function(A,e){for(var t=0;t<30;t++)for(var n=0;n<=t;n++){var i=t-n;if(o(A,n,i)<e)return{q:n,j:i}}throw new Error("Could not find acceptable parameters to compute the matrix exponential (try increasing maxSearchSize in expm.js)")}(function(A){for(var e=A.size()[0],n=0,i=0;i<e;i++){for(var r=0,s=0;s<e;s++)r+=t(A.get([i,s]));n=Math.max(r,n)}return n}(A),1e-15),c=B.q,g=B.j,Q=s(A,Math.pow(2,-g)),E=i(a),l=i(a),u=1,w=Q,C=-1,d=1;d<=c;d++)d>1&&(w=s(w,Q),C=-C),E=n(E,s(u=u*(c-d+1)/((2*c-d+1)*d),w)),l=n(l,s(u*C,w));for(var I=s(r(l),E),M=0;M<g;M++)I=s(I,I);return h(A)?A.createSparseMatrix(I):I}});function o(A,e,t){for(var n=1,i=2;i<=e;i++)n*=i;for(var r=n,s=e+1;s<=2*e;s++)r*=s;var o=r*(2*e+1);return 8*Math.pow(A/Math.pow(2,t),2*e)*n*n/(r*o)}}),Ac=le("fft",["typed","matrix","addScalar","multiplyScalar","divideScalar","exp","tau","i","dotDivide","conj","pow","ceil","log2"],A=>{var{typed:e,matrix:t,addScalar:n,multiplyScalar:i,divideScalar:r,exp:s,tau:o,i:a,dotDivide:B,conj:c,pow:g,ceil:Q,log2:E}=A;return e("fft",{Array:l,Matrix:function(A){return A.create(l(A.toArray()))}});function l(A){var e=vA(A);return 1===e.length?u(A,e[0]):function A(e,t){var n=vA(e);if(0!==t)return new Array(n[0]).fill(0).map((n,i)=>A(e[i],t-1));if(1===n.length)return u(e);function i(A){var e=vA(A);return new Array(e[1]).fill(0).map((t,n)=>new Array(e[0]).fill(0).map((e,t)=>A[t][n]))}return i(A(i(e),1))}(A.map(A=>l(A,e.slice(1))),0)}function u(A){var e=A.length;if(1===e)return[A[0]];if(e%2==0){for(var t=[...u(A.filter((A,e)=>e%2==0)),...u(A.filter((A,e)=>e%2==1))],w=0;w<e/2;w++){var h=t[w],C=i(t[w+e/2],s(i(i(o,a),r(-w,e))));t[w]=n(h,C),t[w+e/2]=n(h,i(-1,C))}return t}return function(A){for(var e=A.length,t=s(r(i(-1,i(a,o)),e)),n=[],w=1-e;w<e;w++)n.push(g(t,r(g(w,2),2)));for(var h=g(2,Q(E(e+e-1))),C=[...new Array(e).fill(0).map((t,r)=>i(A[r],n[e-1+r])),...new Array(h-e).fill(0)],d=[...new Array(e+e-1).fill(0).map((A,e)=>r(1,n[e])),...new Array(h-(e+e-1)).fill(0)],I=u(C),M=u(d),p=new Array(h).fill(0).map((A,e)=>i(I[e],M[e])),m=B(c(l(c(p))),h),F=[],D=e-1;D<e+e-1;D++)F.push(i(m[D],n[D]));return F}(A)}}),ec=le("gamma",["typed","config","multiplyScalar","pow","BigNumber","Complex"],A=>{var{typed:e,config:t,multiplyScalar:n,pow:i,BigNumber:r,Complex:s}=A;return e("gamma",{number:Nr,Complex:function A(e){if(0===e.im)return Nr(e.re);if(e.re<.5){var t=new s(1-e.re,-e.im),n=new s(Math.PI*e.re,Math.PI*e.im);return new s(Math.PI).div(n.sin()).div(A(t))}e=new s(e.re-1,e.im);for(var i=new s(yr[0],0),r=1;r<yr.length;++r){var o=new s(yr[r],0);i=i.add(o.div(e.add(r)))}var a=new s(e.re+Ur+.5,e.im),B=Math.sqrt(2*Math.PI),c=a.pow(e.add(.5)),g=a.neg().exp();return i.mul(B).mul(c).mul(g)},BigNumber:function(A){if(A.isInteger())return A.isNegative()||A.isZero()?new r(1/0):function A(e){if(e<8)return new r([1,1,2,6,24,120,720,5040][e]);var n=t.precision+(0|Math.log(e.toNumber())),i=r.clone({precision:n});if(e%2==1)return e.times(A(new r(e-1)));var s=e,o=new i(e),a=e.toNumber();for(;s>2;)a+=s-=2,o=o.times(a);return new r(o.toPrecision(r.precision))}(A.minus(1));if(!A.isFinite())return new r(A.isNegative()?NaN:1/0);throw new Error("Integer BigNumber expected")}})}),tc=le("ifft",["typed","fft","dotDivide","conj"],A=>{var{typed:e,fft:t,dotDivide:n,conj:i}=A;return e("ifft",{"Array | Matrix":function(A){var e=l(A)?A.size():vA(A);return n(i(t(i(A))),e.reduce((A,e)=>A*e,1))}})}),nc=le("createUnit",["typed","Unit"],A=>{var{typed:e,Unit:t}=A;return e("createUnit",{"Object, Object":function(A,e){return t.createUnit(A,e)},Object:function(A){return t.createUnit(A,{})},"string, Unit | string | Object, Object":function(A,e,n){var i={};return i[A]=e,t.createUnit(i,n)},"string, Unit | string | Object":function(A,e){var n={};return n[A]=e,t.createUnit(n,{})},string:function(A){var e={};return e[A]={},t.createUnit(e,{})}})}),ic=le("divide",["typed","matrix","multiply","equalScalar","divideScalar","inv"],A=>{var{typed:e,matrix:t,multiply:n,equalScalar:i,divideScalar:r,inv:s}=A,o=oo({typed:e,equalScalar:i}),a=co({typed:e});return e("divide",Z({"Array | Matrix, Array | Matrix":function(A,e){return n(A,s(e))},"DenseMatrix, any":function(A,e){return a(A,e,r,!1)},"SparseMatrix, any":function(A,e){return o(A,e,r,!1)},"Array, any":function(A,e){return a(t(A),e,r,!1).valueOf()},"any, Array | Matrix":function(A,e){return n(A,s(e))}},r.signatures))}),rc=le("factorial",["typed","gamma"],A=>{var{typed:e,gamma:t}=A;return e("factorial",{number:function(A){if(A<0)throw new Error("Value must be non-negative");return t(A+1)},BigNumber:function(A){if(A.isNegative())throw new Error("Value must be non-negative");return t(A.plus(1))},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})});function sc(A,e){var t,n=e.length,i=[];if(A)for(t=0;t<n;t++)i[A[t]]=e[t];else for(t=0;t<n;t++)i[t]=e[t];return i}var oc=le("lusolve",["typed","matrix","lup","slu","usolve","lsolve","DenseMatrix"],A=>{var{typed:e,matrix:t,lup:n,slu:i,usolve:r,lsolve:s,DenseMatrix:o}=A,a=No({DenseMatrix:o});return e("lusolve",{"Array, Array | Matrix":function(A,e){A=t(A);var i=n(A);return c(i.L,i.U,i.p,null,e).valueOf()},"DenseMatrix, Array | Matrix":function(A,e){var t=n(A);return c(t.L,t.U,t.p,null,e)},"SparseMatrix, Array | Matrix":function(A,e){var t=n(A);return c(t.L,t.U,t.p,null,e)},"SparseMatrix, Array | Matrix, number, number":function(A,e,t,n){var r=i(A,t,n);return c(r.L,r.U,r.p,r.q,e)},"Object, Array | Matrix":function(A,e){return c(A.L,A.U,A.p,A.q,e)}});function B(A){if(l(A))return A;if(E(A))return t(A);throw new TypeError("Invalid Matrix LU decomposition")}function c(A,e,t,n,i){A=B(A),e=B(e),t&&((i=a(A,i,!0))._data=sc(t,i._data));var o=s(A,i),c=r(e,o);return n&&(c._data=sc(n,c._data)),c}}),ac=le("multinomial",["typed","add","divide","multiply","factorial","isInteger","isPositive"],A=>{var{typed:e,add:t,divide:n,multiply:i,factorial:r,isInteger:s,isPositive:o}=A;return e("multinomial",{"Array | Matrix":function(A){var e=0,a=1;return Yn(A,(function(A){if(!s(A)||!o(A))throw new TypeError("Positive integer value expected in function multinomial");e=t(e,A),a=i(a,r(A))})),n(r(e),a)}})}),Bc=le("permutations",["typed","factorial"],A=>{var{typed:e,factorial:t}=A;return e("permutations",{"number | BigNumber":t,"number, number":function(A,e){if(!BA(A)||A<0)throw new TypeError("Positive integer value expected in function permutations");if(!BA(e)||e<0)throw new TypeError("Positive integer value expected in function permutations");if(e>A)throw new TypeError("second argument k must be less than or equal to first argument n");return Li(A-e+1,A)},"BigNumber, BigNumber":function(A,e){var t,n;if(!cc(A)||!cc(e))throw new TypeError("Positive integer value expected in function permutations");if(e.gt(A))throw new TypeError("second argument k must be less than or equal to first argument n");for(t=A.mul(0).add(1),n=A.minus(e).plus(1);n.lte(A);n=n.plus(1))t=t.times(n);return t}})});function cc(A){return A.isInteger()&&A.gte(0)}var gc=le("polynomialRoot",["typed","isZero","equalScalar","add","subtract","multiply","divide","sqrt","unaryMinus","cbrt","typeOf","im","re"],A=>{var{typed:e,isZero:t,equalScalar:n,add:i,subtract:r,multiply:s,divide:o,sqrt:a,unaryMinus:B,cbrt:c,typeOf:g,im:Q,re:E}=A;return e("polynomialRoot",{"number|Complex, ...number|Complex":(A,e)=>{for(var l=[A,...e];l.length>0&&t(l[l.length-1]);)l.pop();if(l.length<2)throw new RangeError("Polynomial [".concat(A,", ").concat(e,"] must have a non-zero non-constant coefficient"));switch(l.length){case 2:return[B(o(l[0],l[1]))];case 3:var[u,w,h]=l,C=s(2,h),d=s(w,w),I=s(4,h,u);if(n(d,I))return[o(B(w),C)];var M=a(r(d,I));return[o(r(M,w),C),o(r(B(M),w),C)];case 4:var[p,m,F,D]=l,Y=B(s(3,D)),f=s(F,F),N=s(3,D,m),U=i(s(2,F,F,F),s(27,D,D,p)),y=s(9,D,F,m);if(n(f,N)&&n(U,y))return[o(F,Y)];var x,T=r(f,N),R=r(U,y),G=i(s(18,D,F,m,p),s(F,F,m,m)),S=i(s(4,F,F,F,p),s(4,D,m,m,m),s(27,D,D,p,p));if(n(G,S))return[o(r(s(4,D,F,m),i(s(9,D,D,p),s(F,F,F))),s(D,T)),o(r(s(9,D,p),s(F,m)),s(2,T))];x=n(f,N)?R:o(i(R,a(r(s(R,R),s(4,T,T,T)))),2);return c(x,!0).toArray().map(A=>o(i(F,A,o(T,A)),Y)).map(A=>"Complex"===g(A)&&n(E(A),E(A)+Q(A))?E(A):A);default:throw new RangeError("only implemented for cubic or lower-order polynomials, not ".concat(l))}}})}),Qc=le("setSize",["typed","compareNatural"],A=>{var{typed:e,compareNatural:t}=A;return e("setSize",{"Array | Matrix":function(A){return Array.isArray(A)?$A(A).length:$A(A.toArray()).length},"Array | Matrix, boolean":function(A,e){if(!1===e||0===A.length)return Array.isArray(A)?$A(A).length:$A(A.toArray()).length;for(var n=$A(Array.isArray(A)?A:A.toArray()).sort(t),i=1,r=1;r<n.length;r++)0!==t(n[r],n[r-1])&&i++;return i}})});function Ec(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}var lc=le("solveODE",["typed","add","subtract","multiply","divide","max","map","abs","isPositive","isNegative","larger","smaller","matrix","bignumber","unaryMinus"],A=>{var{typed:e,add:t,subtract:n,multiply:i,divide:r,max:s,map:B,abs:c,isPositive:Q,isNegative:E,larger:l,smaller:u,matrix:w,bignumber:h,unaryMinus:C}=A;function d(A){return function(e,o,w,d){if(!(2===o.length&&(o.every(m)||o.every(g))))throw new Error('"tspan" must be an Array of two numeric values or two units [tStart, tEnd]');var I=o[0],M=o[1],p=l(M,I),F=d.firstStep;if(void 0!==F&&!Q(F))throw new Error('"firstStep" must be positive');var D=d.maxStep;if(void 0!==D&&!Q(D))throw new Error('"maxStep" must be positive');var Y=d.minStep;if(Y&&E(Y))throw new Error('"minStep" must be positive or zero');var f=[I,M,F,Y,D].filter(A=>void 0!==A);if(!f.every(m)&&!f.every(g))throw new Error('Inconsistent type of "t" dependant variables');for(var N=d.tol?d.tol:1e-4,U=d.minDelta?d.minDelta:.2,y=d.maxDelta?d.maxDelta:5,x=d.maxIter?d.maxIter:1e4,T=[I,M,...w,D,Y].some(a),[R,G,S,H]=T?[h(A.a),h(A.c),h(A.b),h(A.bp)]:[A.a,A.c,A.b,A.bp],b=F?p?F:C(F):r(n(M,I),1),k=[I],J=[w],j=n(S,H),z=0,v=0,L=function(A){return A?u:l}(p),P=function(A){var e=A?l:u;return function(A,i,r){var s=t(A,r);return e(s,i)?n(i,A):r}}(p);L(k[z],M);){var O=[];b=P(k[z],M,b),O.push(e(k[z],J[z]));for(var W=1;W<G.length;++W)O.push(e(t(k[z],i(G[W],b)),t(J[z],i(b,R[W],O))));var V=s(c(B(i(j,O),A=>g(A)?A.value:A)));V<N&&N/V>1/4&&(k.push(t(k[z],b)),J.push(t(J[z],i(b,S,O))),z++);var K=.84*(N/V)**.2;if(u(K,U)?K=U:l(K,y)&&(K=y),K=T?h(K):K,b=i(b,K),D&&l(c(b),D)?b=p?D:C(D):Y&&u(c(b),Y)&&(b=p?Y:C(Y)),++v>x)throw new Error("Maximum number of iterations reached, try changing options")}return{t:k,y:J}}}function I(A,e,t,n){return d({a:[[],[.5],[0,3/4],[2/9,1/3,4/9]],c:[null,.5,3/4,1],b:[2/9,1/3,4/9,0],bp:[7/24,1/4,1/3,1/8]})(A,e,t,n)}function M(A,e,t,n){return d({a:[[],[.2],[3/40,9/40],[44/45,-56/15,32/9],[19372/6561,-25360/2187,64448/6561,-212/729],[9017/3168,-355/33,46732/5247,49/176,-5103/18656],[35/384,0,500/1113,125/192,-2187/6784,11/84]],c:[null,.2,.3,.8,8/9,1,1],b:[35/384,0,500/1113,125/192,-2187/6784,11/84,0],bp:[5179/57600,0,7571/16695,393/640,-92097/339200,187/2100,1/40]})(A,e,t,n)}function p(A,e,t,n){var i=n.method?n.method:"RK45",r={RK23:I,RK45:M};if(i.toUpperCase()in r){var s=function(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Ec(Object(t),!0).forEach((function(e){KB()(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):Ec(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}({},n);return delete s.method,r[i.toUpperCase()](A,e,t,s)}var o=Object.keys(r).map(A=>'"'.concat(A,'"')),a="".concat(o.slice(0,-1).join(", ")," and ").concat(o.slice(-1));throw new Error('Unavailable method "'.concat(i,'". Available methods are ').concat(a))}function m(A){return a(A)||o(A)}function F(A,e,t,n){var i=p(A,e.toArray(),t.toArray(),n);return{t:w(i.t),y:w(i.y)}}return e("solveODE",{"function, Array, Array, Object":p,"function, Matrix, Matrix, Object":F,"function, Array, Array":(A,e,t)=>p(A,e,t,{}),"function, Matrix, Matrix":(A,e,t)=>F(A,e,t,{}),"function, Array, number | BigNumber | Unit":(A,e,t)=>{var n=p(A,e,[t],{});return{t:n.t,y:n.y.map(A=>A[0])}},"function, Matrix, number | BigNumber | Unit":(A,e,t)=>{var n=p(A,e.toArray(),[t],{});return{t:w(n.t),y:w(n.y.map(A=>A[0]))}},"function, Array, number | BigNumber | Unit, Object":(A,e,t,n)=>{var i=p(A,e,[t],n);return{t:i.t,y:i.y.map(A=>A[0])}},"function, Matrix, number | BigNumber | Unit, Object":(A,e,t,n)=>{var i=p(A,e.toArray(),[t],n);return{t:w(i.t),y:w(i.y.map(A=>A[0]))}}})}),uc=le("stirlingS2",["typed","addScalar","subtractScalar","multiplyScalar","divideScalar","pow","factorial","combinations","isNegative","isInteger","number","?bignumber","larger"],A=>{var{typed:e,addScalar:t,subtractScalar:n,multiplyScalar:i,divideScalar:r,pow:s,factorial:a,combinations:B,isNegative:c,isInteger:g,number:Q,bignumber:E,larger:l}=A,u=[],w=[];return e("stirlingS2",{"number | BigNumber, number | BigNumber":function(A,e){if(!g(A)||c(A)||!g(e)||c(e))throw new TypeError("Non-negative integer value expected in function stirlingS2");if(l(e,A))throw new TypeError("k must be less than or equal to n in function stirlingS2");var n=!(o(A)&&o(e)),r=n?w:u,s=n?E:Q,a=Q(A),B=Q(e);if(r[a]&&r[a].length>B)return r[a][B];for(var h=0;h<=a;++h)if(r[h]||(r[h]=[s(0===h?1:0)]),0!==h)for(var C=r[h],d=r[h-1],I=C.length;I<=h&&I<=B;++I)C[I]=I===h?1:t(i(s(I),d[I]),d[I-1]);return r[a][B]}})}),wc=le("unit",["typed","Unit"],A=>{var{typed:e,Unit:t}=A;return e("unit",{Unit:function(A){return A.clone()},string:function(A){return t.isValuelessUnit(A)?new t(null,A):t.parse(A,{allowNoUnits:!0})},"number | BigNumber | Fraction | Complex, string | Unit":function(A,e){return new t(A,e)},"number | BigNumber | Fraction":function(A){return new t(A)},"Array | Matrix":e.referToSelf(A=>e=>fn(e,A))})}),hc=le("bellNumbers",["typed","addScalar","isNegative","isInteger","stirlingS2"],A=>{var{typed:e,addScalar:t,isNegative:n,isInteger:i,stirlingS2:r}=A;return e("bellNumbers",{"number | BigNumber":function(A){if(!i(A)||n(A))throw new TypeError("Non-negative integer value expected in function bellNumbers");for(var e=0,s=0;s<=A;s++)e=t(e,r(A,s));return e}})});function Cc(A){var{addScalar:e,subtract:t,flatten:n,multiply:i,multiplyScalar:r,divideScalar:s,sqrt:o,abs:a,bignumber:B,diag:c,inv:g,qr:Q,usolve:E,usolveAll:l,equal:u,complex:w,larger:h,smaller:C,matrixFromColumns:d,dot:I}=A;function M(A,e,n,i,r,s,o,c){var g="BigNumber"===c,Q="Complex"===c,E=g?B(0):Q?w(0):0,l=g?B(1):Q?w(1):1;if(C(a(n),o))return[[l,E],[E,l]];if(h(a(t(r,s)),o))return[[t(r,i),t(s,i)],[n,n]];var u=t(A,r),d=t(e,r),I=t(n,r),M=t(i,r);return C(a(d),o)?[[u,l],[I,E]]:[[d,E],[M,l]]}function p(A,e){for(var t=0;t<A.length;t++)A[t].push(...Array(e-A[t].length).fill(0));for(var n=A.length;n<e;n++)A.push(Array(e).fill(0)),A[n][n]=1;return A}function m(A,e,t){for(var n=0;n<A.length;n++)if(t(A[n],e))return n;return-1}function F(A,e,t,n,i){for(var r,s="BigNumber"===i?B(1e3):1e3,o=0;r=D(e,t,i),r=E(A,r),!h(f(r),s);)if(++o>=5)return null;for(o=0;;){var a=E(A,r);if(C(f(Y(r,[a])),n))break;if(++o>=10)return null;r=N(a)}return r}function D(A,e,t){var n="BigNumber"===t,i="Complex"===t,r=Array(A).fill(0).map(A=>2*Math.random()-1);return n&&(r=r.map(A=>B(A))),i&&(r=r.map(A=>w(A))),N(r=Y(r,e),t)}function Y(A,e){for(var n of e)A=t(A,i(s(I(n,A),I(n,n)),n));return A}function f(A){return a(o(I(A,A)))}function N(A,e){var t="Complex"===e,n="BigNumber"===e?B(1):t?w(1):1;return i(s(n,f(A)),A)}return function(A,E,I,D,Y){void 0===Y&&(Y=!0);var f=function(A,t,n,i,o){var g,Q="BigNumber"===i,E="Complex"===i,l=Q?B(0):0,d=Q?B(1):E?w(1):1,I=Q?B(1):1,M=Q?B(10):2,p=r(M,M);o&&(g=Array(t).fill(d));var m=!1;for(;!m;){m=!0;for(var F=0;F<t;F++){for(var D=l,Y=l,f=0;f<t;f++)if(F!==f){var N=a(A[F][f]);D=e(D,N),Y=e(Y,N)}if(!u(D,0)&&!u(Y,0)){for(var U=I,y=D,x=s(Y,M),T=r(Y,M);C(y,x);)y=r(y,p),U=r(U,M);for(;h(y,T);)y=s(y,p),U=s(U,M);if(C(s(e(y,Y),U),r(e(D,Y),.95))){m=!1;for(var R=s(1,U),G=0;G<t;G++)F!==G&&(A[F][G]=r(A[F][G],U),A[G][F]=r(A[G][F],R));o&&(g[F]=r(g[F],U))}}}}return c(g)}(A,E,0,D,Y);!function(A,n,i,o,c,g){var Q="BigNumber"===o,E="Complex"===o,l=Q?B(0):E?w(0):0;Q&&(i=B(i));for(var u=0;u<n-2;u++){for(var h=0,d=l,I=u+1;I<n;I++){var M=A[I][u];C(a(d),a(M))&&(d=M,h=I)}if(!C(a(d),i)){if(h!==u+1){var p=A[h];A[h]=A[u+1],A[u+1]=p;for(var m=0;m<n;m++){var F=A[m][h];A[m][h]=A[m][u+1],A[m][u+1]=F}if(c){var D=g[h];g[h]=g[u+1],g[u+1]=D}}for(var Y=u+2;Y<n;Y++){var f=s(A[Y][u],d);if(0!==f){for(var N=0;N<n;N++)A[Y][N]=t(A[Y][N],r(f,A[u+1][N]));for(var U=0;U<n;U++)A[U][u+1]=e(A[U][u+1],r(f,A[U][Y]));if(c)for(var y=0;y<n;y++)g[Y][y]=t(g[Y][y],r(f,g[u+1][y]))}}}}}(A,E,I,D,Y,f);var N,{values:U,C:y}=function(A,n,s,g,E){var l="BigNumber"===g,u="Complex"===g,h=l?B(1):u?w(1):1;l&&(s=B(s));var d=K(A),I=[],m=n,F=[],D=E?c(Array(n).fill(h)):void 0,Y=E?c(Array(m).fill(h)):void 0,f=0;for(;f<=100;){f+=1;for(var N=0;N<m;N++)d[N][N]=t(d[N][N],0);var{Q:U,R:y}=Q(d);d=i(y,U);for(var x=0;x<m;x++)d[x][x]=e(d[x][x],0);if(E&&(Y=i(Y,U)),1===m||C(a(d[m-1][m-2]),s)){f=0,I.push(d[m-1][m-1]),E&&(F.unshift([[1]]),p(Y,n),D=i(D,Y),m>1&&(Y=c(Array(m-1).fill(h)))),m-=1,d.pop();for(var T=0;T<m;T++)d[T].pop()}else if(2===m||C(a(d[m-2][m-3]),s)){f=0;var R=(S=d[m-2][m-2],H=d[m-2][m-1],b=d[m-1][m-2],k=d[m-1][m-1],J=void 0,j=void 0,z=void 0,v=void 0,J=e(S,k),j=t(r(S,k),r(H,b)),z=r(J,.5),v=r(o(t(r(J,J),r(4,j))),.5),[e(z,v),t(z,v)]);I.push(...R),E&&(F.unshift(M(d[m-2][m-2],d[m-2][m-1],d[m-1][m-2],d[m-1][m-1],R[0],R[1],s,g)),p(Y,n),D=i(D,Y),m>2&&(Y=c(Array(m-2).fill(h)))),m-=2,d.pop(),d.pop();for(var G=0;G<m;G++)d[G].pop(),d[G].pop()}if(0===m)break}var S,H,b,k,J,j,z,v;if(I.sort((A,e)=>+t(a(A),a(e))),f>100){var L=Error("The eigenvalues failed to converge. Only found these eigenvalues: "+I.join(", "));throw L.values=I,L.vectors=[],L}var P=E?i(D,function(A,e){for(var t=[],n=0;n<e;n++)t[n]=Array(e).fill(0);var i=0;for(var r of A){for(var s=r.length,o=0;o<s;o++)for(var a=0;a<s;a++)t[i+o][i+a]=r[o][a];i+=s}return t}(F,n)):void 0;return{values:I,C:P}}(A,E,I,D,Y);return Y&&(N=function(A,e,r,s,o,a,Q){var E=g(r),h=i(E,A,r),C="BigNumber"===Q,d="Complex"===Q,I=C?B(0):d?w(0):0,M=C?B(1):d?w(1):1,p=[],D=[];for(var Y of o){var f=m(p,Y,u);-1===f?(p.push(Y),D.push(1)):D[f]+=1}for(var N=[],U=p.length,y=Array(e).fill(I),x=c(Array(e).fill(M)),T=[],R=function(){var A=p[G],o=t(h,i(A,x)),B=l(o,y);for(B.shift();B.length<D[G];){var c=F(o,e,B,a,Q);if(null==c){T.push(A);break}B.push(c)}var E=i(g(s),r);B=B.map(A=>i(E,A)),N.push(...B.map(A=>n(A)))},G=0;G<U;G++)R();if(0!==T.length){var S=new Error("Failed to find eigenvectors for the following eigenvalues: "+T.join(", "));throw S.values=o,S.vectors=N,S}return N}(A,E,y,f,U,I,D),N=d(...N)),{values:U,vectors:N}}}var dc=["config","typed","matrix","addScalar","equal","subtract","abs","atan","cos","sin","multiplyScalar","divideScalar","inv","bignumber","multiply","add","larger","column","flatten","number","complex","sqrt","diag","qr","usolve","usolveAll","im","re","smaller","matrixFromColumns","dot"],Ic=le("eigs",dc,A=>{var{config:e,typed:t,matrix:n,addScalar:i,subtract:r,equal:s,abs:g,atan:Q,cos:E,sin:l,multiplyScalar:u,divideScalar:w,inv:h,bignumber:C,multiply:d,add:I,larger:M,column:p,flatten:m,number:F,complex:D,sqrt:Y,diag:f,qr:N,usolve:U,usolveAll:y,im:x,re:T,smaller:R,matrixFromColumns:G,dot:S}=A,H=function(A){var{config:e,addScalar:t,subtract:n,abs:i,atan:r,cos:s,sin:o,multiplyScalar:a,inv:B,bignumber:c,multiply:g,add:Q}=A;function E(A,e){for(var t,n=A.length,i=Math.abs(e/n),r=new Array(n),s=0;s<n;s++)r[s]=F(n,0),r[s][s]=1;for(var o=M(A);Math.abs(o[1])>=Math.abs(i);){var a=o[0][0],B=o[0][1];A=I(A,t=u(A[a][a],A[B][B],A[a][B]),a,B),r=h(r,t,a,B),o=M(A)}for(var c=F(n,0),g=0;g<n;g++)c[g]=A[g][g];return m(K(c),K(r))}function l(A,e){for(var t,n=A.length,r=i(e/n),s=new Array(n),o=0;o<n;o++)s[o]=F(n,0),s[o][o]=1;for(var a=p(A);i(a[1])>=i(r);){var B=a[0][0],c=a[0][1];A=d(A,t=w(A[B][B],A[c][c],A[B][c]),B,c),s=C(s,t,B,c),a=p(A)}for(var g=F(n,0),Q=0;Q<n;Q++)g[Q]=A[Q][Q];return m(K(g),K(s))}function u(A,t,n){var i=t-A;return Math.abs(i)<=e.epsilon?Math.PI/4:.5*Math.atan(2*n/(t-A))}function w(A,t,s){var o=n(t,A);return i(o)<=e.epsilon?c(-1).acos().div(4):a(.5,r(g(2,s,B(o))))}function h(A,e,t,n){for(var i=A.length,r=Math.cos(e),s=Math.sin(e),o=F(i,0),a=F(i,0),B=0;B<i;B++)o[B]=r*A[B][t]-s*A[B][n],a[B]=s*A[B][t]+r*A[B][n];for(var c=0;c<i;c++)A[c][t]=o[c],A[c][n]=a[c];return A}function C(A,e,i,r){for(var B=A.length,g=s(e),Q=o(e),E=F(B,c(0)),l=F(B,c(0)),u=0;u<B;u++)E[u]=n(a(g,A[u][i]),a(Q,A[u][r])),l[u]=t(a(Q,A[u][i]),a(g,A[u][r]));for(var w=0;w<B;w++)A[w][i]=E[w],A[w][r]=l[w];return A}function d(A,e,i,r){for(var B=A.length,E=c(s(e)),l=c(o(e)),u=a(E,E),w=a(l,l),h=F(B,c(0)),C=F(B,c(0)),d=g(c(2),E,l,A[i][r]),I=t(n(a(u,A[i][i]),d),a(w,A[r][r])),M=Q(a(w,A[i][i]),d,a(u,A[r][r])),p=0;p<B;p++)h[p]=n(a(E,A[i][p]),a(l,A[r][p])),C[p]=t(a(l,A[i][p]),a(E,A[r][p]));A[i][i]=I,A[r][r]=M,A[i][r]=c(0),A[r][i]=c(0);for(var m=0;m<B;m++)m!==i&&m!==r&&(A[i][m]=h[m],A[m][i]=h[m],A[r][m]=C[m],A[m][r]=C[m]);return A}function I(A,e,t,n){for(var i=A.length,r=Math.cos(e),s=Math.sin(e),o=r*r,a=s*s,B=F(i,0),c=F(i,0),g=o*A[t][t]-2*r*s*A[t][n]+a*A[n][n],Q=a*A[t][t]+2*r*s*A[t][n]+o*A[n][n],E=0;E<i;E++)B[E]=r*A[t][E]-s*A[n][E],c[E]=s*A[t][E]+r*A[n][E];A[t][t]=g,A[n][n]=Q,A[t][n]=0,A[n][t]=0;for(var l=0;l<i;l++)l!==t&&l!==n&&(A[t][l]=B[l],A[l][t]=B[l],A[n][l]=c[l],A[l][n]=c[l]);return A}function M(A){for(var e=A.length,t=0,n=[0,1],i=0;i<e;i++)for(var r=i+1;r<e;r++)Math.abs(t)<Math.abs(A[i][r])&&(t=Math.abs(A[i][r]),n=[i,r]);return[n,t]}function p(A){for(var e=A.length,t=0,n=[0,1],r=0;r<e;r++)for(var s=r+1;s<e;s++)i(t)<i(A[r][s])&&(t=i(A[r][s]),n=[r,s]);return[n,t]}function m(A,e){for(var t=A.length,n=Array(t),r=Array(t),s=0;s<t;s++)r[s]=Array(t);for(var o=0;o<t;o++){for(var a=0,B=A[0],c=0;c<A.length;c++)i(A[c])<i(B)&&(B=A[a=c]);n[o]=A.splice(a,1)[0];for(var g=0;g<t;g++)r[g][o]=e[g][a],e[g].splice(a,1)}return{values:n,vectors:r}}function F(A,e){for(var t=new Array(A),n=0;n<A;n++)t[n]=e;return t}return function(A,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.epsilon,i=arguments.length>3?arguments[3]:void 0;if("number"===i)return E(A,n);if("BigNumber"===i)return l(A,n);throw TypeError("Unsupported data type: "+i)}}({config:e,addScalar:i,subtract:r,column:p,flatten:m,equal:s,abs:g,atan:Q,cos:E,sin:l,multiplyScalar:u,inv:h,bignumber:C,complex:D,multiply:d,add:I}),b=Cc({config:e,addScalar:i,subtract:r,multiply:d,multiplyScalar:u,flatten:m,divideScalar:w,sqrt:Y,abs:g,bignumber:C,diag:f,qr:N,inv:h,usolve:U,usolveAll:y,equal:s,complex:D,larger:M,smaller:R,matrixFromColumns:G,dot:S});return t("eigs",{Array:function(A){return k(n(A))},"Array, number|BigNumber":function(A,e){return k(n(A),e)},Matrix:function(A){var{values:e,vectors:t}=k(A);return{values:n(e),vectors:n(t)}},"Matrix, number|BigNumber":function(A,e){var{values:t,vectors:i}=k(A,e);return{values:n(t),vectors:n(i)}}});function k(A,t){void 0===t&&(t=e.epsilon);var n=A.size();if(2!==n.length||n[0]!==n[1])throw new RangeError("Matrix must be square (size: "+SA(n)+")");var i=A.toArray(),s=n[0];if(function(A,e,t){for(var n=0;n<e;n++)for(var i=0;i<e;i++)if(M(C(g(x(A[n][i]))),t))return!1;return!0}(i,s,t)&&(function(A,e){for(var t=0;t<e;t++)for(var n=0;n<e;n++)A[t][n]=T(A[t][n])}(i,s),function(A,e,t){for(var n=0;n<e;n++)for(var i=n;i<e;i++)if(M(C(g(r(A[n][i],A[i][n]))),t))return!1;return!0}(i,s,t))){var o=J(A,i,s);return H(i,s,t,o)}var a=J(A,i,s);return b(i,s,t,a)}function J(A,e,t){var n=A.datatype();if("number"===n||"BigNumber"===n||"Complex"===n)return n;for(var i=!1,r=!1,s=!1,g=0;g<t;g++)for(var Q=0;Q<t;Q++){var E=e[g][Q];if(o(E)||c(E))i=!0;else if(a(E))r=!0;else{if(!B(E))throw TypeError("Unsupported type in Matrix: "+V(E));s=!0}}if(r&&s&&console.warn("Complex BigNumbers not supported, this operation will lose precission."),s){for(var l=0;l<t;l++)for(var u=0;u<t;u++)e[l][u]=D(e[l][u]);return"Complex"}if(r){for(var w=0;w<t;w++)for(var h=0;h<t;h++)e[w][h]=C(e[w][h]);return"BigNumber"}if(i){for(var d=0;d<t;d++)for(var I=0;I<t;I++)e[d][I]=F(e[d][I]);return"number"}throw TypeError("Matrix contains unsupported types only.")}}),Mc=["typed","add","divide"],pc=le("mean",Mc,A=>{var{typed:e,add:t,divide:n}=A;return e("mean",{"Array | Matrix":i,"Array | Matrix, number | BigNumber":function(A,e){try{var i=Nn(A,e,t),r=Array.isArray(A)?vA(A):A.size();return n(i,r[e])}catch(A){throw Ls(A,"mean")}},"...":function(A){if(Dn(A))throw new TypeError("Scalar values expected in function mean");return i(A)}});function i(A){var e,i=0;if(Yn(A,(function(A){try{e=void 0===e?A:t(e,A),i++}catch(e){throw Ls(e,"mean",A)}})),0===i)throw new Error("Cannot calculate the mean of an empty array");return n(e,i)}}),mc=["typed","?bignumber","add","subtract","divide","multiply","partitionSelect","compare","isInteger","smaller","smallerEq","larger"],Fc=le("quantileSeq",mc,A=>{var{typed:e,bignumber:t,add:n,subtract:i,divide:r,multiply:s,partitionSelect:a,compare:B,isInteger:c,smaller:g,smallerEq:Q,larger:E}=A,l=us({typed:e,isInteger:c});return e("quantileSeq",{"Array | Matrix, number | BigNumber":(A,e)=>w(A,e,!1),"Array | Matrix, number | BigNumber, number":(A,e,t)=>u(A,e,!1,t,w),"Array | Matrix, number | BigNumber, boolean":w,"Array | Matrix, number | BigNumber, boolean, number":(A,e,t,n)=>u(A,e,t,n,w),"Array | Matrix, Array | Matrix":(A,e)=>h(A,e,!1),"Array | Matrix, Array | Matrix, number":(A,e,t)=>u(A,e,!1,t,h),"Array | Matrix, Array | Matrix, boolean":h,"Array | Matrix, Array | Matrix, boolean, number":(A,e,t,n)=>u(A,e,t,n,h)});function u(A,e,t,n,i){return l(A,n,A=>i(A,e,t))}function w(A,e,i){var s,a=A.valueOf();if(g(e,0))throw new Error("N/prob must be non-negative");if(Q(e,1))return o(e)?C(a,e,i):t(C(a,e,i));if(E(e,1)){if(!c(e))throw new Error("N must be a positive integer");if(E(e,4294967295))throw new Error("N must be less than or equal to 2^32-1, as that is the maximum length of an Array");var B=n(e,1);s=[];for(var l=0;g(l,e);l++){var u=r(l+1,B);s.push(C(a,u,i))}return o(e)?s:t(s)}}function h(A,e,t){for(var n=A.valueOf(),i=e.valueOf(),r=[],s=0;s<i.length;++s)r.push(C(n,i[s],t));return r}function C(A,e,t){var r=$A(A),g=r.length;if(0===g)throw new Error("Cannot calculate quantile of an empty sequence");var Q,E,l=o(e)?e*(g-1):e.times(g-1),u=o(e)?Math.floor(l):l.floor().toNumber(),w=o(e)?l%1:l.minus(u);if(c(l))return t?r[l]:a(r,o(e)?l:l.valueOf());if(t)Q=r[u],E=r[u+1];else{E=a(r,u+1),Q=r[u];for(var h=0;h<u;++h)B(r[h],Q)>0&&(Q=r[h])}return n(s(Q,i(1,w)),s(E,w))}}),Dc=["typed","add","subtract","multiply","divide","apply","isNaN"],Yc=le("variance",Dc,A=>{var{typed:e,add:t,subtract:n,multiply:i,divide:r,apply:s,isNaN:o}=A;return e("variance",{"Array | Matrix":function(A){return B(A,"unbiased")},"Array | Matrix, string":B,"Array | Matrix, number | BigNumber":function(A,e){return c(A,e,"unbiased")},"Array | Matrix, number | BigNumber, string":c,"...":function(A){return B(A,"unbiased")}});function B(A,e){var s,B=0;if(0===A.length)throw new SyntaxError("Function variance requires one or more parameters (0 provided)");if(Yn(A,(function(A){try{s=void 0===s?A:t(s,A),B++}catch(e){throw Ls(e,"variance",A)}})),0===B)throw new Error("Cannot calculate variance of an empty array");var c=r(s,B);if(s=void 0,Yn(A,(function(A){var e=n(A,c);s=void 0===s?i(e,e):t(s,i(e,e))})),o(s))return s;switch(e){case"uncorrected":return r(s,B);case"biased":return r(s,B+1);case"unbiased":var g=a(s)?s.mul(0):0;return 1===B?g:r(s,B-1);default:throw new Error('Unknown normalization "'+e+'". Choose "unbiased" (default), "uncorrected", or "biased".')}}function c(A,e,t){try{if(0===A.length)throw new SyntaxError("Function variance requires one or more parameters (0 provided)");return s(A,e,A=>B(A,t))}catch(A){throw Ls(A,"variance")}}}),fc=["typed","add","divide","compare","partitionSelect"],Nc=le("median",fc,A=>{var{typed:e,add:t,divide:n,compare:i,partitionSelect:r}=A;function s(A){try{var e=(A=$A(A.valueOf())).length;if(0===e)throw new Error("Cannot calculate median of an empty array");if(e%2==0){for(var t=e/2-1,n=r(A,t+1),s=A[t],B=0;B<t;++B)i(A[B],s)>0&&(s=A[B]);return a(s,n)}var c=r(A,(e-1)/2);return o(c)}catch(A){throw Ls(A,"median")}}var o=e({"number | BigNumber | Complex | Unit":function(A){return A}}),a=e({"number | BigNumber | Complex | Unit, number | BigNumber | Complex | Unit":function(A,e){return n(t(A,e),2)}});return e("median",{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(A,e){throw new Error("median(A, dim) is not yet supported")},"...":function(A){if(Dn(A))throw new TypeError("Scalar values expected in function median");return s(A)}})}),Uc=["typed","matrix","mean","sqrt","sum","add","subtract","multiply","pow","divide"],yc=le("corr",Uc,A=>{var{typed:e,matrix:t,sqrt:n,sum:i,add:r,subtract:s,multiply:o,pow:a,divide:B}=A;return e("corr",{"Array, Array":function(A,e){return c(A,e)},"Matrix, Matrix":function(A,e){var n=c(A.toArray(),e.toArray());return Array.isArray(n)?t(n):n}});function c(A,e){var t=[];if(Array.isArray(A[0])&&Array.isArray(e[0])){if(A.length!==e.length)throw new SyntaxError("Dimension mismatch. Array A and B must have the same length.");for(var n=0;n<A.length;n++){if(A[n].length!==e[n].length)throw new SyntaxError("Dimension mismatch. Array A and B must have the same number of elements.");t.push(g(A[n],e[n]))}return t}if(A.length!==e.length)throw new SyntaxError("Dimension mismatch. Array A and B must have the same number of elements.");return g(A,e)}function g(A,e){var t=A.length,c=i(A),g=i(e),Q=A.reduce((A,t,n)=>r(A,o(t,e[n])),0),E=i(A.map(A=>a(A,2))),l=i(e.map(A=>a(A,2))),u=s(o(t,Q),o(c,g)),w=n(o(s(o(t,E),a(c,2)),s(o(t,l),a(g,2))));return B(u,w)}}),xc=["typed","add","multiply","Complex","divide","matrix"],Tc=le("freqz",xc,A=>{var{typed:e,add:t,multiply:n,Complex:i,divide:r,matrix:s}=A;return e("freqz",{"Array, Array":function(A,e){return o(A,e,a(512))},"Array, Array, Array":function(A,e,t){return o(A,e,t)},"Array, Array, number":function(A,e,t){if(t<0)throw new Error("w must be a positive number");return o(A,e,a(t))},"Matrix, Matrix":function(A,e){var t=a(512),{w:n,h:i}=o(A.valueOf(),e.valueOf(),t);return{w:s(n),h:s(i)}},"Matrix, Matrix, Matrix":function(A,e,t){var{h:n}=o(A.valueOf(),e.valueOf(),t.valueOf());return{h:s(n),w:s(t)}},"Matrix, Matrix, number":function(A,e,t){if(t<0)throw new Error("w must be a positive number");var n=a(t),{h:i}=o(A.valueOf(),e.valueOf(),n);return{h:s(i),w:s(n)}}});function o(A,e,s){for(var o=[],a=[],B=0;B<s.length;B++){for(var c=i(0,0),g=i(0,0),Q=0;Q<A.length;Q++)c=t(c,n(A[Q],i(Math.cos(-Q*s[B]),Math.sin(-Q*s[B]))));for(var E=0;E<e.length;E++)g=t(g,n(e[E],i(Math.cos(-E*s[B]),Math.sin(-E*s[B]))));o.push(c),a.push(g)}for(var l=[],u=0;u<o.length;u++)l.push(r(o[u],a[u]));return{h:l,w:s}}function a(A){for(var e=[],t=0;t<A;t++)e.push(t/A*Math.PI);return e}}),Rc=["typed","abs","map","median","subtract"],Gc=le("mad",Rc,A=>{var{typed:e,abs:t,map:n,median:i,subtract:r}=A;return e("mad",{"Array | Matrix":s,"...":function(A){return s(A)}});function s(A){if(0===(A=$A(A.valueOf())).length)throw new Error("Cannot calculate median absolute deviation (mad) of an empty array");try{var e=i(A);return i(n(A,(function(A){return t(r(A,e))})))}catch(A){throw A instanceof TypeError&&-1!==A.message.indexOf("median")?new TypeError(A.message.replace("median","mad")):Ls(A,"mad")}}}),Sc=["typed","map","sqrt","variance"],Hc=le("std",Sc,A=>{var{typed:e,map:t,sqrt:n,variance:i}=A;return e("std",{"Array | Matrix":r,"Array | Matrix, string":r,"Array | Matrix, number | BigNumber":r,"Array | Matrix, number | BigNumber, string":r,"...":function(A){return r(A)}});function r(A,e){if(0===A.length)throw new SyntaxError("Function std requires one or more parameters (0 provided)");try{var r=i.apply(null,arguments);return u(r)?t(r,n):n(r)}catch(A){throw A instanceof TypeError&&-1!==A.message.indexOf(" variance")?new TypeError(A.message.replace(" variance"," std")):A}}}),bc=["typed","config","multiply","pow","divide","factorial","equal","smallerEq","isNegative","gamma","sin","subtract","add","?Complex","?BigNumber","pi"],kc=le("zeta",bc,A=>{var{typed:e,config:t,multiply:n,pow:i,divide:r,factorial:s,equal:o,smallerEq:a,isNegative:B,gamma:c,sin:g,subtract:Q,add:E,Complex:l,BigNumber:u,pi:w}=A;return e("zeta",{number:A=>h(A,A=>A,()=>20),BigNumber:A=>h(A,A=>new u(A),()=>Math.abs(Math.log10(t.epsilon))),Complex:function(A){if(0===A.re&&0===A.im)return new l(-.5);if(1===A.re)return new l(NaN,NaN);if(A.re===1/0&&0===A.im)return new l(1);if(A.im===1/0||A.re===-1/0)return new l(NaN,NaN);return C(A,A=>A,A=>Math.round(19.5+.9*Math.abs(A.im)),A=>A.re)}});function h(A,e,t){return o(A,0)?e(-.5):o(A,1)?e(NaN):isFinite(A)?C(A,e,t,A=>A):B(A)?e(NaN):e(1)}function C(A,e,t,s){var o=t(A);if(s(A)>-(o-1)/2)return function(A,e,t){for(var s=r(1,n(d(t(0),e),Q(1,i(2,Q(1,A))))),o=t(0),B=t(1);a(B,e);B=E(B,1))o=E(o,r(n((-1)**(B-1),d(B,e)),i(B,A)));return n(s,o)}(A,e(o),e);var B=n(i(2,A),i(e(w),Q(A,1)));return B=n(B,g(n(r(e(w),2),A))),B=n(B,c(Q(1,A))),n(B,C(Q(1,A),e,t,s))}function d(A,e){for(var t=A,o=A;a(o,e);o=E(o,1)){var B=r(n(s(E(e,Q(o,1))),i(4,o)),n(s(Q(e,o)),s(n(2,o))));t=E(t,B)}return n(e,t)}}),Jc=["typed","abs","add","pow","conj","sqrt","multiply","equalScalar","larger","smaller","matrix","ctranspose","eigs"],jc=le("norm",Jc,A=>{var{typed:e,abs:t,add:n,pow:i,conj:r,sqrt:s,multiply:o,equalScalar:a,larger:B,smaller:c,matrix:g,ctranspose:Q,eigs:E}=A;return e("norm",{number:Math.abs,Complex:function(A){return A.abs()},BigNumber:function(A){return A.abs()},boolean:function(A){return Math.abs(A)},Array:function(A){return w(g(A),2)},Matrix:function(A){return w(A,2)},"Array, number | BigNumber | string":function(A,e){return w(g(A),e)},"Matrix, number | BigNumber | string":function(A,e){return w(A,e)}});function l(A,e){if(e===Number.POSITIVE_INFINITY||"inf"===e)return function(A){var e=0;return A.forEach((function(A){var n=t(A);B(n,e)&&(e=n)}),!0),e}(A);if(e===Number.NEGATIVE_INFINITY||"-inf"===e)return function(A){var e;return A.forEach((function(A){var n=t(A);e&&!c(n,e)||(e=n)}),!0),e||0}(A);if("fro"===e)return w(A,2);if("number"==typeof e&&!isNaN(e)){if(!a(e,0)){var r=0;return A.forEach((function(A){r=n(i(t(A),e),r)}),!0),i(r,1/e)}return Number.POSITIVE_INFINITY}throw new Error("Unsupported parameter value")}function u(A,e){if(1===e)return function(A){var e=[],i=0;return A.forEach((function(A,r){var s=r[1],o=n(e[s]||0,t(A));B(o,i)&&(i=o),e[s]=o}),!0),i}(A);if(e===Number.POSITIVE_INFINITY||"inf"===e)return function(A){var e=[],i=0;return A.forEach((function(A,r){var s=r[0],o=n(e[s]||0,t(A));B(o,i)&&(i=o),e[s]=o}),!0),i}(A);if("fro"===e)return function(A){var e=0;return A.forEach((function(A,t){e=n(e,o(A,r(A)))})),t(s(e))}(A);if(2===e)return function(A){var e=A.size();if(e[0]!==e[1])throw new RangeError("Invalid matrix dimensions");var n=Q(A),i=o(n,A),r=E(i).values.toArray(),a=r[r.length-1];return t(s(a))}(A);throw new Error("Unsupported parameter value "+e)}function w(A,e){var t=A.size();if(1===t.length)return l(A,e);if(2===t.length){if(t[0]&&t[1])return u(A,e);throw new RangeError("Invalid matrix dimensions")}}}),zc=["typed","config","multiplyScalar","addScalar","unaryMinus","norm","matrix","BigNumber","DenseMatrix","SparseMatrix","cos","sin"],vc=le("rotationMatrix",zc,A=>{var{typed:e,config:t,multiplyScalar:n,addScalar:i,unaryMinus:r,norm:s,BigNumber:o,matrix:B,DenseMatrix:c,SparseMatrix:g,cos:Q,sin:E}=A;return e("rotationMatrix",{"":function(){return"Matrix"===t.matrix?B([]):[]},string:function(A){return B(A)},"number | BigNumber | Complex | Unit":function(A){return l(A,"Matrix"===t.matrix?"dense":void 0)},"number | BigNumber | Complex | Unit, string":function(A,e){return l(A,e)},"number | BigNumber | Complex | Unit, Array":function(A,e){var t=B(e);return u(t),C(A,t,void 0)},"number | BigNumber | Complex | Unit, Matrix":function(A,e){u(e);var n=e.storage()||("Matrix"===t.matrix?"dense":void 0);return C(A,e,n)},"number | BigNumber | Complex | Unit, Array, string":function(A,e,t){var n=B(e);return u(n),C(A,n,t)},"number | BigNumber | Complex | Unit, Matrix, string":function(A,e,t){return u(e),C(A,e,t)}});function l(A,e){var t=a(A)?new o(-1):-1,i=Q(A),r=E(A);return h([[i,n(t,r)],[r,i]],e)}function u(A){var e=A.size();if(e.length<1||3!==e[0])throw new RangeError("Vector must be of dimensions 1x3")}function w(A){return A.reduce((A,e)=>n(A,e))}function h(A,e){if(e){if("sparse"===e)return new g(A);if("dense"===e)return new c(A);throw new TypeError('Unknown matrix type "'.concat(e,'"'))}return A}function C(A,e,t){var n=s(e);if(0===n)throw new RangeError("Rotation around zero vector");var B=a(A)?o:null,c=B?new B(1):1,g=B?new B(-1):-1,l=B?new B(e.get([0])/n):e.get([0])/n,u=B?new B(e.get([1])/n):e.get([1])/n,C=B?new B(e.get([2])/n):e.get([2])/n,d=Q(A),I=i(c,r(d)),M=E(A);return h([[i(d,w([l,l,I])),i(w([l,u,I]),w([g,C,M])),i(w([l,C,I]),w([u,M]))],[i(w([l,u,I]),w([C,M])),i(d,w([u,u,I])),i(w([u,C,I]),w([g,l,M]))],[i(w([l,C,I]),w([g,u,M])),i(w([u,C,I]),w([l,M])),i(d,w([C,C,I]))]],t)}}),Lc=["typed","matrix","divide","sum","multiply","map","dotDivide","log","isNumeric"],Pc=le("kldivergence",Lc,A=>{var{typed:e,matrix:t,divide:n,sum:i,multiply:r,map:s,dotDivide:o,log:a,isNumeric:B}=A;return e("kldivergence",{"Array, Array":function(A,e){return c(t(A),t(e))},"Matrix, Array":function(A,e){return c(A,t(e))},"Array, Matrix":function(A,e){return c(t(A),e)},"Matrix, Matrix":function(A,e){return c(A,e)}});function c(A,e){var t=e.size().length,c=A.size().length;if(t>1)throw new Error("first object must be one dimensional");if(c>1)throw new Error("second object must be one dimensional");if(t!==c)throw new Error("Length of two vectors must be equal");if(0===i(A))throw new Error("Sum of elements in first object must be non zero");if(0===i(e))throw new Error("Sum of elements in second object must be non zero");var g=n(A,i(A)),Q=n(e,i(e)),E=i(r(g,s(o(g,Q),A=>a(A))));return B(E)?E:Number.NaN}}),Oc=["typed","matrix","identity","multiply","qr","norm","subtract"],Wc=le("schur",Oc,A=>{var{typed:e,matrix:t,identity:n,multiply:i,qr:r,norm:s,subtract:o}=A;return e("schur",{Array:function(A){var e=a(t(A));return{U:e.U.valueOf(),T:e.T.valueOf()}},Matrix:function(A){return a(A)}});function a(A){var e,t=A.size()[0],a=A,B=n(t),c=0;do{e=a;var g=r(a),Q=g.Q,E=g.R;if(a=i(E,Q),B=i(B,Q),c++>100)break}while(s(o(a,e))>1e-4);return{U:B,T:a}}}),Vc=["typed","multiply","rotationMatrix"],Kc=le("rotate",Vc,A=>{var{typed:e,multiply:t,rotationMatrix:n}=A;return e("rotate",{"Array , number | BigNumber | Complex | Unit":function(A,e){return i(A,2),t(n(e),A).toArray()},"Matrix , number | BigNumber | Complex | Unit":function(A,e){return i(A,2),t(n(e),A)},"Array, number | BigNumber | Complex | Unit, Array | Matrix":function(A,e,r){return i(A,3),t(n(e,r),A)},"Matrix, number | BigNumber | Complex | Unit, Array | Matrix":function(A,e,r){return i(A,3),t(n(e,r),A)}});function i(A,e){var t=Array.isArray(A)?vA(A):A.size();if(t.length>2)throw new RangeError("Vector must be of dimensions 1x".concat(e));if(2===t.length&&1!==t[1])throw new RangeError("Vector must be of dimensions 1x".concat(e));if(t[0]!==e)throw new RangeError("Vector must be of dimensions 1x".concat(e))}}),Xc=["typed","schur","matrixFromColumns","matrix","multiply","range","concat","transpose","index","subset","add","subtract","identity","lusolve","abs"],Zc=le("sylvester",Xc,A=>{var{typed:e,schur:t,matrixFromColumns:n,matrix:i,multiply:r,range:s,concat:o,transpose:a,index:B,subset:c,add:g,subtract:Q,identity:E,lusolve:l,abs:u}=A;return e("sylvester",{"Matrix, Matrix, Matrix":w,"Array, Matrix, Matrix":function(A,e,t){return w(i(A),e,t)},"Array, Array, Matrix":function(A,e,t){return w(i(A),i(e),t)},"Array, Matrix, Array":function(A,e,t){return w(i(A),e,i(t))},"Matrix, Array, Matrix":function(A,e,t){return w(A,i(e),t)},"Matrix, Array, Array":function(A,e,t){return w(A,i(e),i(t))},"Matrix, Matrix, Array":function(A,e,t){return w(A,e,i(t))},"Array, Array, Array":function(A,e,t){return w(i(A),i(e),i(t)).toArray()}});function w(A,e,w){for(var h=e.size()[0],C=A.size()[0],d=t(A),I=d.T,M=d.U,p=t(r(-1,e)),m=p.T,F=p.U,D=r(r(a(M),w),F),Y=s(0,C),f=[],N=(A,e)=>o(A,e,1),U=(A,e)=>o(A,e,0),y=0;y<h;y++)if(y<h-1&&u(c(m,B(y+1,y)))>1e-5){for(var x=U(c(D,B(Y,y)),c(D,B(Y,y+1))),T=0;T<y;T++)x=g(x,U(r(f[T],c(m,B(T,y))),r(f[T],c(m,B(T,y+1)))));var R=r(E(C),r(-1,c(m,B(y,y)))),G=r(E(C),r(-1,c(m,B(y+1,y)))),S=r(E(C),r(-1,c(m,B(y,y+1)))),H=r(E(C),r(-1,c(m,B(y+1,y+1)))),b=U(N(g(I,R),G),N(S,g(I,H))),k=l(b,x);f[y]=k.subset(B(s(0,C),0)),f[y+1]=k.subset(B(s(C,2*C),0)),y++}else{for(var J=c(D,B(Y,y)),j=0;j<y;j++)J=g(J,r(f[j],c(m,B(j,y))));var z=c(m,B(y,y)),v=Q(I,r(z,E(C)));f[y]=l(v,J)}var L=i(n(...f));return r(M,r(L,a(F)))}}),_c=["typed","matrix","sylvester","multiply","transpose"],qc=le("lyap",_c,A=>{var{typed:e,matrix:t,sylvester:n,multiply:i,transpose:r}=A;return e("lyap",{"Matrix, Matrix":function(A,e){return n(A,r(A),i(-1,e))},"Array, Matrix":function(A,e){return n(t(A),r(t(A)),i(-1,e))},"Matrix, Array":function(A,e){return n(A,r(t(A)),t(i(-1,e)))},"Array, Array":function(A,e){return n(t(A),r(t(A)),t(i(-1,e))).toArray()}})}),$c=he({config:sA}),Ag=Ie({}),eg=Je({BigNumber:$c,config:sA}),tg=Re({}),ng=ht({BigNumber:$c,config:sA}),ig=qt({}),rg=Ve({Complex:Ag}),sg=Se({BigNumber:$c,config:sA}),og=ve({BigNumber:$c,config:sA}),ag=Pe({BigNumber:$c,config:sA}),Bg=$t({}),cg=He({BigNumber:$c,config:sA}),gg=Ge({}),Qg=je({BigNumber:$c,config:sA}),Eg=An({}),lg=en({}),ug=Oe({BigNumber:$c,config:sA}),wg=Ht({BigNumber:$c,config:sA}),hg=ke({BigNumber:$c,config:sA}),Cg=Te({}),dg=Ze({}),Ig=tn({Matrix:Bg}),Mg=Yt({BigNumber:$c,config:sA}),pg=ze({BigNumber:$c,config:sA}),mg=be({BigNumber:$c,config:sA}),Fg=nn({}),Dg=We({BigNumber:$c,config:sA}),Yg=In({BigNumber:$c,Complex:Ag,DenseMatrix:Ig,Fraction:ig}),fg=Zn({BigNumber:$c,config:sA,typed:Yg}),Ng=Dt({BigNumber:$c,config:sA}),Ug=_n({typed:Yg}),yg=qn({Complex:Ag,config:sA,typed:Yg}),xg=ui({BigNumber:$c,typed:Yg}),Tg=wi({BigNumber:$c,Complex:Ag,config:sA,typed:Yg}),Rg=hi({typed:Yg}),Gg=Ci({typed:Yg}),Sg=di({BigNumber:$c,Complex:Ag,config:sA,typed:Yg}),Hg=Ii({typed:Yg}),bg=Mi({typed:Yg}),kg=pi({Complex:Ag,config:sA,typed:Yg}),Jg=mi({BigNumber:$c,typed:Yg}),jg=ji({typed:Yg}),zg=zi({typed:Yg}),vg=vi({typed:Yg}),Lg=Oi({typed:Yg}),Pg=Vi({Complex:Ag,typed:Yg}),Og=Ki({typed:Yg}),Wg=Zi({typed:Yg}),Vg=_i({BigNumber:$c,typed:Yg}),Kg=qi({BigNumber:$c,typed:Yg}),Xg=$i({typed:Yg}),Zg=tr({config:sA,typed:Yg}),_g=nr({typed:Yg}),qg=Br({typed:Yg}),$g=cr({Complex:Ag,typed:Yg}),AQ=Qr({typed:Yg}),eQ=lr({typed:Yg}),tQ=wr({typed:Yg}),nQ=hr({typed:Yg}),iQ=Cr({format:tQ,typed:Yg}),rQ=dr({typed:Yg}),sQ=Ir({typed:Yg}),oQ=Dr({typed:Yg}),aQ=Yr({typed:Yg}),BQ=fr({typed:Yg}),cQ=Le({BigNumber:$c,config:sA}),gQ=Rr({Complex:Ag,typed:Yg}),QQ=Gr({Complex:Ag,config:sA,typed:Yg}),EQ=Sr({Complex:Ag,config:sA,typed:Yg}),lQ=Hr({typed:Yg}),uQ=kr({typed:Yg}),wQ=Lr({typed:Yg}),hQ=Pr({typed:Yg}),CQ=Or({format:tQ,typed:Yg}),dQ=Zr({config:sA,typed:Yg}),IQ=qr({typed:Yg}),MQ=es({config:sA,typed:Yg}),pQ=ts({typed:Yg}),mQ=ns({BigNumber:$c,typed:Yg}),FQ=is({BigNumber:$c,Fraction:ig,complex:Pg,typed:Yg}),DQ=rs({typed:Yg}),YQ=ss({Matrix:Bg,equalScalar:Zg,typed:Yg}),fQ=os({typed:Yg}),NQ=as({typed:Yg}),UQ=Bs({typed:Yg}),yQ=cs({typed:Yg}),xQ=gs({typed:Yg}),TQ=Qs({typed:Yg}),RQ=Es({Complex:Ag,config:sA,typed:Yg}),GQ=ls({BigNumber:$c,typed:Yg}),SQ=us({isInteger:sQ,typed:Yg}),HQ=hs({BigNumber:$c,Complex:Ag,config:sA,typed:Yg}),bQ=Cs({format:tQ,typed:Yg}),kQ=ds({typed:Yg}),JQ=Ms({typed:Yg}),jQ=ps({BigNumber:$c,typed:Yg}),zQ=ms({typed:Yg}),vQ=Fs({typed:Yg}),LQ=Ds({config:sA,typed:Yg}),PQ=Ys({BigNumber:$c,typed:Yg}),OQ=fs({typed:Yg}),WQ=Ns({SparseMatrix:YQ,typed:Yg}),VQ=Us({Complex:Ag,config:sA,typed:Yg}),KQ=ys({typed:Yg}),XQ=xs({typed:Yg}),ZQ=Ts({BigNumber:$c,Complex:Ag,config:sA,typed:Yg}),_Q=Rs({BigNumber:$c,typed:Yg}),qQ=Gs({Fraction:ig,typed:Yg}),$Q=Ss({typed:Yg}),AE=Hs({DenseMatrix:Ig,Matrix:Bg,SparseMatrix:YQ,typed:Yg}),eE=bs({isZero:BQ,matrix:AE,typed:Yg}),tE=ks({isNaN:zQ,isNumeric:$Q,typed:Yg}),nE=vs({bignumber:Jg,fraction:qQ,number:hQ}),iE=Ps({config:sA,multiplyScalar:uQ,numeric:nE,typed:Yg}),rE=Os({isInteger:sQ,matrix:AE,typed:Yg}),sE=Ws({matrix:AE,config:sA,typed:Yg}),oE=Vs({matrix:AE,typed:Yg}),aE=Ks({matrix:AE,typed:Yg}),BE=Xs({BigNumber:$c,config:sA,matrix:AE,typed:Yg}),cE=Zs({BigNumber:$c,config:sA,matrix:AE,typed:Yg}),gE=_s({Complex:Ag,config:sA,typed:Yg}),QE=qs({BigNumber:$c,Complex:Ag,Fraction:ig,config:sA,isNegative:oQ,matrix:AE,typed:Yg,unaryMinus:XQ}),EE=$s({isInteger:sQ,matrix:AE,typed:Yg}),lE=Ao({prod:iE,size:sE,typed:Yg}),uE=eo({conj:Og,transpose:aE,typed:Yg}),wE=to({DenseMatrix:Ig,SparseMatrix:YQ,matrix:AE,typed:Yg}),hE=no({numeric:nE,typed:Yg}),CE=Eo({DenseMatrix:Ig,concat:EE,divideScalar:hE,equalScalar:Zg,matrix:AE,typed:Yg}),dE=lo({DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg}),IE=wo({matrix:AE,typed:Yg}),ME=ho({isNumeric:$Q,typed:Yg}),pE=Co({BigNumber:$c,DenseMatrix:Ig,SparseMatrix:YQ,config:sA,matrix:AE,typed:Yg}),mE=Io({matrix:AE,multiplyScalar:uQ,typed:Yg}),FE=Mo({DenseMatrix:Ig,concat:EE,config:sA,matrix:AE,typed:Yg}),DE=fo({DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg,zeros:cE}),YE=Uo({DenseMatrix:Ig,divideScalar:hE,equalScalar:Zg,matrix:AE,multiplyScalar:uQ,subtractScalar:yQ,typed:Yg}),fE=yo({flatten:IE,matrix:AE,size:sE,typed:Yg}),NE=To({BigNumber:$c,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg}),UE=Ro({BigNumber:$c,config:sA,matrix:AE,typed:Yg}),yE=Go({addScalar:Rg,complex:Pg,conj:Og,divideScalar:hE,equal:dE,identity:pE,isZero:BQ,matrix:AE,multiplyScalar:uQ,sign:FQ,sqrt:VQ,subtractScalar:yQ,typed:Yg,unaryMinus:XQ,zeros:cE}),xE=Ho({config:sA,matrix:AE}),TE=bo({DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg,zeros:cE}),RE=Jo({BigNumber:$c,DenseMatrix:Ig,equalScalar:Zg,matrix:AE,typed:Yg,zeros:cE}),GE=jo({DenseMatrix:Ig,concat:EE,config:sA,matrix:AE,typed:Yg}),SE=Lo({DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,subtractScalar:yQ,typed:Yg,unaryMinus:XQ}),HE=Po({concat:EE,matrix:AE,typed:Yg}),bE=Oo({DenseMatrix:Ig,concat:EE,config:sA,equalScalar:Zg,matrix:AE,typed:Yg}),kE=Vo({DenseMatrix:Ig,divideScalar:hE,equalScalar:Zg,matrix:AE,multiplyScalar:uQ,subtractScalar:yQ,typed:Yg}),JE=Ko({DenseMatrix:Ig,concat:EE,matrix:AE,typed:Yg}),jE=Zo({DenseMatrix:Ig,SparseMatrix:YQ,addScalar:Rg,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg}),zE=qo({BigNumber:$c,DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg}),vE=$o({concat:EE,equalScalar:Zg,matrix:AE,typed:Yg}),LE=Aa({DenseMatrix:Ig,concat:EE,matrix:AE,typed:Yg}),PE=ea({addScalar:Rg,combinations:Lg,divideScalar:hE,isInteger:sQ,isNegative:oQ,multiplyScalar:uQ,typed:Yg}),OE=ta({BigNumber:$c,DenseMatrix:Ig,Fraction:ig,concat:EE,config:sA,equalScalar:Zg,matrix:AE,typed:Yg}),WE=ra({concat:EE,matrix:AE,typed:Yg}),VE=sa({add:jE,typed:Yg,unaryPlus:fg}),KE=oa({equal:dE,typed:Yg}),XE=aa({matrix:AE,number:hQ,subtract:SE,typed:Yg}),ZE=Ba({abs:Ug,addScalar:Rg,deepEqual:KE,divideScalar:hE,multiplyScalar:uQ,sqrt:VQ,subtractScalar:yQ,typed:Yg}),_E=ca({addScalar:Rg,conj:Og,multiplyScalar:uQ,size:sE,typed:Yg}),qE=ga({compareText:WE,isZero:BQ,typed:Yg}),$E=la({DenseMatrix:Ig,config:sA,equalScalar:Zg,matrix:AE,round:RE,typed:Yg,zeros:cE}),Al=Ia({BigNumber:$c,DenseMatrix:Ig,concat:EE,config:sA,equalScalar:Zg,matrix:AE,round:RE,typed:Yg,zeros:cE}),el=Ma({abs:Ug,addScalar:Rg,divideScalar:hE,isPositive:aQ,multiplyScalar:uQ,smaller:GE,sqrt:VQ,typed:Yg}),tl=pa({DenseMatrix:Ig,smaller:GE}),nl=ma({ImmutableDenseMatrix:tl,getMatrixDataType:nQ}),il=Da({DenseMatrix:Ig,concat:EE,config:sA,matrix:AE,typed:Yg}),rl=fa({Complex:Ag,config:sA,divideScalar:hE,typed:Yg}),sl=Na({DenseMatrix:Ig,divideScalar:hE,equalScalar:Zg,matrix:AE,multiplyScalar:uQ,subtractScalar:yQ,typed:Yg}),ol=Ua({flatten:IE,matrix:AE,size:sE,typed:Yg}),al=ya({config:sA,numeric:nE,smaller:GE,typed:Yg}),Bl=ua({DenseMatrix:Ig,concat:EE,config:sA,equalScalar:Zg,matrix:AE,round:RE,typed:Yg,zeros:cE}),cl=xa({addScalar:Rg,dot:_E,equalScalar:Zg,matrix:AE,multiplyScalar:uQ,typed:Yg}),gl=Ta({Complex:Ag,config:sA,divideScalar:hE,typed:Yg}),Ql=Ra({DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg}),El=Ga({compare:OE,isNaN:zQ,isNumeric:$Q,typed:Yg}),ll=Sa({DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg,zeros:cE}),ul=Ka({SparseMatrix:YQ,abs:Ug,add:jE,divideScalar:hE,larger:il,largerEq:FE,multiply:cl,subtract:SE,transpose:aE,typed:Yg}),wl=Xa({add:jE,matrix:AE,typed:Yg,zeros:cE}),hl=AB({add:jE,config:sA,numeric:nE,typed:Yg}),Cl=eB({add:jE,matrix:AE,typed:Yg}),dl=tB({DenseMatrix:Ig,divideScalar:hE,equalScalar:Zg,matrix:AE,multiplyScalar:uQ,subtractScalar:yQ,typed:Yg}),Il=nB({Complex:Ag,add:jE,multiply:cl,number:hQ,typed:Yg}),Ml=iB({DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,typed:Yg}),pl=oB({DenseMatrix:Ig,config:sA,equalScalar:Zg,matrix:AE,round:RE,typed:Yg,zeros:cE}),ml=cB({compare:OE,typed:Yg}),Fl=gB({addScalar:Rg,combinations:Lg,isInteger:sQ,isNegative:oQ,isPositive:aQ,larger:il,typed:Yg}),Dl=QB({matrix:AE,multiply:cl,subtract:SE,typed:Yg}),Yl=EB({divideScalar:hE,isZero:BQ,matrix:AE,multiply:cl,subtractScalar:yQ,typed:Yg,unaryMinus:XQ}),fl=lB({concat:EE,equalScalar:Zg,matrix:AE,multiplyScalar:uQ,typed:Yg}),Nl=uB({larger:il,smaller:GE}),Ul=CB({Complex:Ag,DenseMatrix:Ig,ceil:pl,equalScalar:Zg,floor:$E,matrix:AE,typed:Yg,zeros:cE}),yl=dB({Index:nl,typed:Yg}),xl=IB({abs:Ug,add:jE,addScalar:Rg,config:sA,divideScalar:hE,equalScalar:Zg,flatten:IE,isNumeric:$Q,isZero:BQ,matrix:AE,multiply:cl,multiplyScalar:uQ,smaller:GE,subtract:SE,typed:Yg}),Tl=MB({BigNumber:$c,add:jE,config:sA,equal:dE,isInteger:sQ,mod:Bl,smaller:GE,typed:Yg,xgcd:BE}),Rl=pB({concat:EE,equalScalar:Zg,matrix:AE,typed:Yg}),Gl=mB({Complex:Ag,config:sA,divideScalar:hE,log:rl,typed:Yg}),Sl=FB({config:sA,larger:il,numeric:nE,typed:Yg}),Hl=DB({DenseMatrix:Ig,Index:nl,compareNatural:ml,size:sE,subset:wl,typed:Yg}),bl=YB({DenseMatrix:Ig,Index:nl,compareNatural:ml,size:sE,subset:wl,typed:Yg}),kl=fB({Index:nl,compareNatural:ml,size:sE,subset:wl,typed:Yg}),Jl=NB({Index:nl,compareNatural:ml,size:sE,subset:wl,typed:Yg}),jl=UB({DenseMatrix:Ig,concat:EE,config:sA,matrix:AE,typed:Yg}),zl=xB({compare:OE,compareNatural:ml,matrix:AE,typed:Yg}),vl=TB({concat:EE,equalScalar:Zg,matrix:AE,not:wQ,typed:Yg,zeros:cE}),Ll=RB({bignumber:Jg,matrix:AE,add:jE,config:sA,isPositive:aQ,larger:il,largerEq:FE,smaller:GE,smallerEq:jl,typed:Yg}),Pl=GB({Index:nl,matrix:AE,range:Ll,typed:Yg}),Ol=SB({DenseMatrix:Ig,Index:nl,compareNatural:ml,size:sE,subset:wl,typed:Yg}),Wl=HB({Index:nl,compareNatural:ml,size:sE,subset:wl,typed:Yg}),Vl=bB({Index:nl,concat:EE,setDifference:Ol,size:sE,subset:wl,typed:Yg}),Kl=kB({FibonacciHeap:Nl,addScalar:Rg,equalScalar:Zg}),Xl=JB({Index:nl,matrix:AE,range:Ll,typed:Yg}),Zl=jB({abs:Ug,addScalar:Rg,det:Yl,divideScalar:hE,identity:pE,matrix:AE,multiply:cl,typed:Yg,unaryMinus:XQ}),_l=zB({DenseMatrix:Ig,Spa:Kl,SparseMatrix:YQ,abs:Ug,addScalar:Rg,divideScalar:hE,equalScalar:Zg,larger:il,matrix:AE,multiplyScalar:uQ,subtractScalar:yQ,typed:Yg,unaryMinus:XQ}),ql=vB({Complex:Ag,add:jE,ctranspose:uE,deepEqual:KE,divideScalar:hE,dot:_E,dotDivide:CE,equal:dE,inv:Zl,matrix:AE,multiply:cl,typed:Yg}),$l=LB({Complex:Ag,config:sA,fraction:qQ,identity:pE,inv:Zl,matrix:AE,multiply:cl,number:hQ,typed:Yg}),Au=PB({DenseMatrix:Ig,Index:nl,compareNatural:ml,size:sE,subset:wl,typed:Yg}),eu=OB({Index:nl,concat:EE,setIntersect:Au,setSymDifference:Vl,size:sE,subset:wl,typed:Yg}),tu=WB({abs:Ug,add:jE,identity:pE,inv:Zl,map:lQ,max:Sl,multiply:cl,size:sE,sqrt:VQ,subtract:SE,typed:Yg}),nu=_B({BigNumber:$c,Complex:Ag,Fraction:ig,abs:Ug,addScalar:Rg,config:sA,divideScalar:hE,equal:dE,fix:Ul,format:tQ,isNumeric:$Q,multiplyScalar:uQ,number:hQ,pow:$l,round:RE,subtractScalar:yQ}),iu=it({BigNumber:$c,Unit:nu,config:sA}),ru=Jt({BigNumber:$c,Unit:nu,config:sA}),su=ft({BigNumber:$c,Unit:nu,config:sA}),ou=ot({BigNumber:$c,Unit:nu,config:sA}),au=Ut({BigNumber:$c,Unit:nu,config:sA}),Bu=at({BigNumber:$c,Unit:nu,config:sA}),cu=rt({BigNumber:$c,Unit:nu,config:sA}),gu=It({BigNumber:$c,Unit:nu,config:sA}),Qu=qB({DenseMatrix:Ig,concat:EE,equalScalar:Zg,matrix:AE,pow:$l,typed:Yg}),Eu=nt({BigNumber:$c,Unit:nu,config:sA}),lu=st({BigNumber:$c,Unit:nu,config:sA}),uu=$B({abs:Ug,add:jE,identity:pE,inv:Zl,multiply:cl,typed:Yg}),wu=yt({BigNumber:$c,Unit:nu,config:sA}),hu=Ac({addScalar:Rg,ceil:pl,conj:Og,divideScalar:hE,dotDivide:CE,exp:qg,i:rg,log2:EQ,matrix:AE,multiplyScalar:uQ,pow:$l,tau:hg,typed:Yg}),Cu=ec({BigNumber:$c,Complex:Ag,config:sA,multiplyScalar:uQ,pow:$l,typed:Yg}),du=$e({BigNumber:$c,Unit:nu,config:sA}),Iu=Ct({BigNumber:$c,Unit:nu,config:sA}),Mu=tc({conj:Og,dotDivide:CE,fft:hu,typed:Yg}),pu=Qt({BigNumber:$c,Unit:nu,config:sA}),mu=Tt({BigNumber:$c,Unit:nu,config:sA}),Fu=tt({BigNumber:$c,Unit:nu,config:sA}),Du=jt({BigNumber:$c,Unit:nu,config:sA}),Yu=Gt({BigNumber:$c,Unit:nu,config:sA}),fu=Mt({BigNumber:$c,Unit:nu,config:sA}),Nu=gt({BigNumber:$c,Unit:nu,config:sA}),Uu=Wt({BigNumber:$c,Unit:nu,config:sA}),yu=Lt({BigNumber:$c,Unit:nu,config:sA}),xu=Vt({BigNumber:$c,Unit:nu,config:sA}),Tu=dt({BigNumber:$c,Unit:nu,config:sA}),Ru=pt({BigNumber:$c,Unit:nu,config:sA}),Gu=et({BigNumber:$c,Unit:nu,config:sA}),Su=mt({BigNumber:$c,Unit:nu,config:sA}),Hu=bt({BigNumber:$c,Unit:nu,config:sA}),bu=qe({BigNumber:$c,Unit:nu,config:sA}),ku=kt({BigNumber:$c,Unit:nu,config:sA}),Ju=Ft({BigNumber:$c,Unit:nu,config:sA}),ju=Nt({BigNumber:$c,Unit:nu,config:sA}),zu=Et({BigNumber:$c,Unit:nu,config:sA}),vu=nc({Unit:nu,typed:Yg}),Lu=ic({divideScalar:hE,equalScalar:Zg,inv:Zl,matrix:AE,multiply:cl,typed:Yg}),Pu=ut({BigNumber:$c,Unit:nu,config:sA}),Ou=rc({gamma:Cu,typed:Yg}),Wu=xt({BigNumber:$c,Unit:nu,config:sA}),Vu=vt({BigNumber:$c,Unit:nu,config:sA}),Ku=Bt({BigNumber:$c,Unit:nu,config:sA}),Xu=oc({DenseMatrix:Ig,lsolve:YE,lup:_l,matrix:AE,slu:ul,typed:Yg,usolve:kE}),Zu=ct({BigNumber:$c,Unit:nu,config:sA}),_u=zt({BigNumber:$c,Unit:nu,config:sA}),qu=ac({add:jE,divide:Lu,factorial:Ou,isInteger:sQ,isPositive:aQ,multiply:cl,typed:Yg}),$u=Bc({factorial:Ou,typed:Yg}),Aw=Pt({BigNumber:$c,Unit:nu,config:sA}),ew=gc({add:jE,cbrt:QE,divide:Lu,equalScalar:Zg,im:rQ,isZero:BQ,multiply:cl,re:pQ,sqrt:VQ,subtract:SE,typeOf:TQ,typed:Yg,unaryMinus:XQ}),tw=Qc({compareNatural:ml,typed:Yg}),nw=lc({abs:Ug,add:jE,bignumber:Jg,divide:Lu,isNegative:oQ,isPositive:aQ,larger:il,map:lQ,matrix:AE,max:Sl,multiply:cl,smaller:GE,subtract:SE,typed:Yg,unaryMinus:XQ}),iw=uc({bignumber:Jg,addScalar:Rg,combinations:Lg,divideScalar:hE,factorial:Ou,isInteger:sQ,isNegative:oQ,larger:il,multiplyScalar:uQ,number:hQ,pow:$l,subtractScalar:yQ,typed:Yg}),rw=wc({Unit:nu,typed:Yg}),sw=hc({addScalar:Rg,isInteger:sQ,isNegative:oQ,stirlingS2:iw,typed:Yg}),ow=Ic({abs:Ug,add:jE,addScalar:Rg,atan:bg,bignumber:Jg,column:Xl,complex:Pg,config:sA,cos:Wg,diag:wE,divideScalar:hE,dot:_E,equal:dE,flatten:IE,im:rQ,inv:Zl,larger:il,matrix:AE,matrixFromColumns:fE,multiply:cl,multiplyScalar:uQ,number:hQ,qr:yE,re:pQ,sin:DQ,smaller:GE,sqrt:VQ,subtract:SE,typed:Yg,usolve:kE,usolveAll:dl}),aw=wt({BigNumber:$c,Unit:nu,config:sA}),Bw=Rt({BigNumber:$c,Unit:nu,config:sA}),cw=pc({add:jE,divide:Lu,typed:Yg}),gw=St({BigNumber:$c,Unit:nu,config:sA}),Qw=At({BigNumber:$c,Unit:nu,config:sA}),Ew=Fc({bignumber:Jg,add:jE,compare:OE,divide:Lu,isInteger:sQ,larger:il,multiply:cl,partitionSelect:El,smaller:GE,smallerEq:jl,subtract:SE,typed:Yg}),lw=Yc({add:jE,apply:SQ,divide:Lu,isNaN:zQ,multiply:cl,subtract:SE,typed:Yg}),uw=lt({BigNumber:$c,Unit:nu,config:sA}),ww=Nc({add:jE,compare:OE,divide:Lu,partitionSelect:El,typed:Yg}),hw=yc({add:jE,divide:Lu,matrix:AE,mean:cw,multiply:cl,pow:$l,sqrt:VQ,subtract:SE,sum:hl,typed:Yg}),Cw=Tc({Complex:Ag,add:jE,divide:Lu,matrix:AE,multiply:cl,typed:Yg}),dw=Gc({abs:Ug,map:lQ,median:ww,subtract:SE,typed:Yg}),Iw=Hc({map:lQ,sqrt:VQ,typed:Yg,variance:lw}),Mw=kc({BigNumber:$c,Complex:Ag,add:jE,config:sA,divide:Lu,equal:dE,factorial:Ou,gamma:Cu,isNegative:oQ,multiply:cl,pi:mg,pow:$l,sin:DQ,smallerEq:jl,subtract:SE,typed:Yg}),pw=jc({abs:Ug,add:jE,conj:Og,ctranspose:uE,eigs:ow,equalScalar:Zg,larger:il,matrix:AE,multiply:cl,pow:$l,smaller:GE,sqrt:VQ,typed:Yg}),mw=vc({BigNumber:$c,DenseMatrix:Ig,SparseMatrix:YQ,addScalar:Rg,config:sA,cos:Wg,matrix:AE,multiplyScalar:uQ,norm:pw,sin:DQ,typed:Yg,unaryMinus:XQ}),Fw=Pc({divide:Lu,dotDivide:CE,isNumeric:$Q,log:rl,map:lQ,matrix:AE,multiply:cl,sum:hl,typed:Yg}),Dw=Ot({BigNumber:$c,Unit:nu,config:sA}),Yw=Wc({identity:pE,matrix:AE,multiply:cl,norm:pw,qr:yE,subtract:SE,typed:Yg}),fw=Kc({multiply:cl,rotationMatrix:mw,typed:Yg}),Nw=Zc({abs:Ug,add:jE,concat:EE,identity:pE,index:yl,lusolve:Xu,matrix:AE,matrixFromColumns:fE,multiply:cl,range:Ll,schur:Yw,subset:wl,subtract:SE,transpose:aE,typed:Yg}),Uw=qc({matrix:AE,multiply:cl,sylvester:Nw,transpose:aE,typed:Yg}),yw=new Set(["end"]),xw=le("Node",["mathWithTransform"],A=>{var{mathWithTransform:e}=A;return class{get type(){return"Node"}get isNode(){return!0}evaluate(A){return this.compile().evaluate(A)}compile(){var A=this._compile(e,{}),t={};return{evaluate:function(e){var n=wn(e);return function(A){for(var e of[...yw])if(A.has(e))throw new Error('Scope contains an illegal symbol, "'+e+'" is a reserved keyword')}(n),A(n,t,null)}}}_compile(A,e){throw new Error("Method _compile must be implemented by type "+this.type)}forEach(A){throw new Error("Cannot run forEach on a Node interface")}map(A){throw new Error("Cannot run map on a Node interface")}_ifNode(A){if(!J(A))throw new TypeError("Callback function must return a Node");return A}traverse(A){A(this,null,null),function A(e,t){e.forEach((function(e,n,i){t(e,n,i),A(e,t)}))}(this,A)}transform(A){return function e(t,n,i){var r=A(t,n,i);return r!==t?r:t.map(e)}(this,null,null)}filter(A){var e=[];return this.traverse((function(t,n,i){A(t,n,i)&&e.push(t)})),e}clone(){throw new Error("Cannot clone a Node interface")}cloneDeep(){return this.map((function(A){return A.cloneDeep()}))}equals(A){return!!A&&(this.type===A.type&&_(this,A))}toString(A){var e=this._getCustomString(A);return void 0!==e?e:this._toString(A)}toJSON(){throw new Error("Cannot serialize object: toJSON not implemented by "+this.type)}toHTML(A){var e=this._getCustomString(A);return void 0!==e?e:this.toHTML(A)}_toString(){throw new Error("_toString not implemented for "+this.type)}toTex(A){var e=this._getCustomString(A);return void 0!==e?e:this._toTex(A)}_toTex(A){throw new Error("_toTex not implemented for "+this.type)}_getCustomString(A){if(A&&"object"==typeof A)switch(typeof A.handler){case"object":case"undefined":return;case"function":return A.handler(this,A);default:throw new TypeError("Object or function expected as callback")}}getIdentifier(){return this.type}getContent(){return this}}},{isClass:!0,isNode:!0}),Tw=le("ObjectNode",["Node"],A=>{var{Node:e}=A;class t extends e{constructor(A){if(super(),this.properties=A||{},A&&("object"!=typeof A||!Object.keys(A).every((function(e){return J(A[e])}))))throw new TypeError("Object containing Nodes expected")}get type(){return"ObjectNode"}get isObjectNode(){return!0}_compile(A,e){var t={};for(var n in this.properties)if(AA(this.properties,n)){var i=HA(n),r=JSON.parse(i),s=on(this.properties,n);t[r]=s._compile(A,e)}return function(A,e,n){var i={};for(var r in t)AA(t,r)&&(i[r]=t[r](A,e,n));return i}}forEach(A){for(var e in this.properties)AA(this.properties,e)&&A(this.properties[e],"properties["+HA(e)+"]",this)}map(A){var e={};for(var n in this.properties)AA(this.properties,n)&&(e[n]=this._ifNode(A(this.properties[n],"properties["+HA(n)+"]",this)));return new t(e)}clone(){var A={};for(var e in this.properties)AA(this.properties,e)&&(A[e]=this.properties[e]);return new t(A)}_toString(A){var e=[];for(var t in this.properties)AA(this.properties,t)&&e.push(HA(t)+": "+this.properties[t].toString(A));return"{"+e.join(", ")+"}"}toJSON(){return{mathjs:"ObjectNode",properties:this.properties}}static fromJSON(A){return new t(A.properties)}toHTML(A){var e=[];for(var t in this.properties)AA(this.properties,t)&&e.push('<span class="math-symbol math-property">'+kA(t)+'</span><span class="math-operator math-assignment-operator math-property-assignment-operator math-binary-operator">:</span>'+this.properties[t].toHTML(A));return'<span class="math-parenthesis math-curly-parenthesis">{</span>'+e.join('<span class="math-separator">,</span>')+'<span class="math-parenthesis math-curly-parenthesis">}</span>'}_toTex(A){var e=[];for(var t in this.properties)AA(this.properties,t)&&e.push("\\mathbf{"+t+":} & "+this.properties[t].toTex(A)+"\\\\");return"\\left\\{\\begin{array}{ll}"+e.join("\n")+"\\end{array}\\right\\}"}}return KB()(t,"name","ObjectNode"),t},{isClass:!0,isNode:!0}),Rw=[{AssignmentNode:{},FunctionAssignmentNode:{}},{ConditionalNode:{latexLeftParens:!1,latexRightParens:!1,latexParens:!1}},{"OperatorNode:or":{op:"or",associativity:"left",associativeWith:[]}},{"OperatorNode:xor":{op:"xor",associativity:"left",associativeWith:[]}},{"OperatorNode:and":{op:"and",associativity:"left",associativeWith:[]}},{"OperatorNode:bitOr":{op:"|",associativity:"left",associativeWith:[]}},{"OperatorNode:bitXor":{op:"^|",associativity:"left",associativeWith:[]}},{"OperatorNode:bitAnd":{op:"&",associativity:"left",associativeWith:[]}},{"OperatorNode:equal":{op:"==",associativity:"left",associativeWith:[]},"OperatorNode:unequal":{op:"!=",associativity:"left",associativeWith:[]},"OperatorNode:smaller":{op:"<",associativity:"left",associativeWith:[]},"OperatorNode:larger":{op:">",associativity:"left",associativeWith:[]},"OperatorNode:smallerEq":{op:"<=",associativity:"left",associativeWith:[]},"OperatorNode:largerEq":{op:">=",associativity:"left",associativeWith:[]},RelationalNode:{associativity:"left",associativeWith:[]}},{"OperatorNode:leftShift":{op:"<<",associativity:"left",associativeWith:[]},"OperatorNode:rightArithShift":{op:">>",associativity:"left",associativeWith:[]},"OperatorNode:rightLogShift":{op:">>>",associativity:"left",associativeWith:[]}},{"OperatorNode:to":{op:"to",associativity:"left",associativeWith:[]}},{RangeNode:{}},{"OperatorNode:add":{op:"+",associativity:"left",associativeWith:["OperatorNode:add","OperatorNode:subtract"]},"OperatorNode:subtract":{op:"-",associativity:"left",associativeWith:[]}},{"OperatorNode:multiply":{op:"*",associativity:"left",associativeWith:["OperatorNode:multiply","OperatorNode:divide","Operator:dotMultiply","Operator:dotDivide"]},"OperatorNode:divide":{op:"/",associativity:"left",associativeWith:[],latexLeftParens:!1,latexRightParens:!1,latexParens:!1},"OperatorNode:dotMultiply":{op:".*",associativity:"left",associativeWith:["OperatorNode:multiply","OperatorNode:divide","OperatorNode:dotMultiply","OperatorNode:doDivide"]},"OperatorNode:dotDivide":{op:"./",associativity:"left",associativeWith:[]},"OperatorNode:mod":{op:"mod",associativity:"left",associativeWith:[]}},{"OperatorNode:multiply":{associativity:"left",associativeWith:["OperatorNode:multiply","OperatorNode:divide","Operator:dotMultiply","Operator:dotDivide"]}},{"OperatorNode:unaryPlus":{op:"+",associativity:"right"},"OperatorNode:unaryMinus":{op:"-",associativity:"right"},"OperatorNode:bitNot":{op:"~",associativity:"right"},"OperatorNode:not":{op:"not",associativity:"right"}},{"OperatorNode:pow":{op:"^",associativity:"right",associativeWith:[],latexRightParens:!1},"OperatorNode:dotPow":{op:".^",associativity:"right",associativeWith:[]}},{"OperatorNode:factorial":{op:"!",associativity:"left"}},{"OperatorNode:ctranspose":{op:"'",associativity:"left"}}];function Gw(A,e){if(!e||"auto"!==e)return A;for(var t=A;v(t);)t=t.content;return t}function Sw(A,e,t,n){var i=A;"keep"!==e&&(i=A.getContent());for(var r=i.getIdentifier(),s=null,o=0;o<Rw.length;o++)if(r in Rw[o]){s=o;break}if("OperatorNode:multiply"===r&&i.implicit&&"show"!==t){var a=Gw(i.args[0],e);G(a)&&n&&"OperatorNode:divide"===n.getIdentifier()&&S(Gw(n.args[0],e))||"OperatorNode:divide"===a.getIdentifier()&&S(Gw(a.args[0],e))&&G(Gw(a.args[1]))||(s+=1)}return s}function Hw(A,e){var t=A;"keep"!==e&&(t=A.getContent());var n=t.getIdentifier(),i=Sw(t,e);if(null===i)return null;var r=Rw[i][n];if(AA(r,"associativity")){if("left"===r.associativity)return"left";if("right"===r.associativity)return"right";throw Error("'"+n+"' has the invalid associativity '"+r.associativity+"'.")}return null}function bw(A,e,t){var n="keep"!==t?A.getContent():A,i="keep"!==t?A.getContent():e,r=n.getIdentifier(),s=i.getIdentifier(),o=Sw(n,t);if(null===o)return null;var a=Rw[o][r];if(AA(a,"associativeWith")&&a.associativeWith instanceof Array){for(var B=0;B<a.associativeWith.length;B++)if(a.associativeWith[B]===s)return!0;return!1}return null}function kw(A){var e="OperatorNode:"+A;for(var t of Rw)if(e in t)return t[e].op;return null}var Jw=t(152),jw=t.n(Jw),zw={Alpha:"A",alpha:"\\alpha",Beta:"B",beta:"\\beta",Gamma:"\\Gamma",gamma:"\\gamma",Delta:"\\Delta",delta:"\\delta",Epsilon:"E",epsilon:"\\epsilon",varepsilon:"\\varepsilon",Zeta:"Z",zeta:"\\zeta",Eta:"H",eta:"\\eta",Theta:"\\Theta",theta:"\\theta",vartheta:"\\vartheta",Iota:"I",iota:"\\iota",Kappa:"K",kappa:"\\kappa",varkappa:"\\varkappa",Lambda:"\\Lambda",lambda:"\\lambda",Mu:"M",mu:"\\mu",Nu:"N",nu:"\\nu",Xi:"\\Xi",xi:"\\xi",Omicron:"O",omicron:"o",Pi:"\\Pi",pi:"\\pi",varpi:"\\varpi",Rho:"P",rho:"\\rho",varrho:"\\varrho",Sigma:"\\Sigma",sigma:"\\sigma",varsigma:"\\varsigma",Tau:"T",tau:"\\tau",Upsilon:"\\Upsilon",upsilon:"\\upsilon",Phi:"\\Phi",phi:"\\phi",varphi:"\\varphi",Chi:"X",chi:"\\chi",Psi:"\\Psi",psi:"\\psi",Omega:"\\Omega",omega:"\\omega",true:"\\mathrm{True}",false:"\\mathrm{False}",i:"i",inf:"\\infty",Inf:"\\infty",infinity:"\\infty",Infinity:"\\infty",oo:"\\infty",lim:"\\lim",undefined:"\\mathbf{?}"},vw={transpose:"^\\top",ctranspose:"^H",factorial:"!",pow:"^",dotPow:".^\\wedge",unaryPlus:"+",unaryMinus:"-",bitNot:"\\~",not:"\\neg",multiply:"\\cdot",divide:"\\frac",dotMultiply:".\\cdot",dotDivide:".:",mod:"\\mod",add:"+",subtract:"-",to:"\\rightarrow",leftShift:"<<",rightArithShift:">>",rightLogShift:">>>",equal:"=",unequal:"\\neq",smaller:"<",larger:">",smallerEq:"\\leq",largerEq:"\\geq",bitAnd:"\\&",bitXor:"\\underline{|}",bitOr:"|",and:"\\wedge",xor:"\\veebar",or:"\\vee"},Lw={abs:{1:"\\left|${args[0]}\\right|"},add:{2:"\\left(${args[0]}".concat(vw.add,"${args[1]}\\right)")},cbrt:{1:"\\sqrt[3]{${args[0]}}"},ceil:{1:"\\left\\lceil${args[0]}\\right\\rceil"},cube:{1:"\\left(${args[0]}\\right)^3"},divide:{2:"\\frac{${args[0]}}{${args[1]}}"},dotDivide:{2:"\\left(${args[0]}".concat(vw.dotDivide,"${args[1]}\\right)")},dotMultiply:{2:"\\left(${args[0]}".concat(vw.dotMultiply,"${args[1]}\\right)")},dotPow:{2:"\\left(${args[0]}".concat(vw.dotPow,"${args[1]}\\right)")},exp:{1:"\\exp\\left(${args[0]}\\right)"},expm1:"\\left(e".concat(vw.pow,"{${args[0]}}-1\\right)"),fix:{1:"\\mathrm{${name}}\\left(${args[0]}\\right)"},floor:{1:"\\left\\lfloor${args[0]}\\right\\rfloor"},gcd:"\\gcd\\left(${args}\\right)",hypot:"\\hypot\\left(${args}\\right)",log:{1:"\\ln\\left(${args[0]}\\right)",2:"\\log_{${args[1]}}\\left(${args[0]}\\right)"},log10:{1:"\\log_{10}\\left(${args[0]}\\right)"},log1p:{1:"\\ln\\left(${args[0]}+1\\right)",2:"\\log_{${args[1]}}\\left(${args[0]}+1\\right)"},log2:"\\log_{2}\\left(${args[0]}\\right)",mod:{2:"\\left(${args[0]}".concat(vw.mod,"${args[1]}\\right)")},multiply:{2:"\\left(${args[0]}".concat(vw.multiply,"${args[1]}\\right)")},norm:{1:"\\left\\|${args[0]}\\right\\|",2:void 0},nthRoot:{2:"\\sqrt[${args[1]}]{${args[0]}}"},nthRoots:{2:"\\{y : $y^{args[1]} = {${args[0]}}\\}"},pow:{2:"\\left(${args[0]}\\right)".concat(vw.pow,"{${args[1]}}")},round:{1:"\\left\\lfloor${args[0]}\\right\\rceil",2:void 0},sign:{1:"\\mathrm{${name}}\\left(${args[0]}\\right)"},sqrt:{1:"\\sqrt{${args[0]}}"},square:{1:"\\left(${args[0]}\\right)^2"},subtract:{2:"\\left(${args[0]}".concat(vw.subtract,"${args[1]}\\right)")},unaryMinus:{1:"".concat(vw.unaryMinus,"\\left(${args[0]}\\right)")},unaryPlus:{1:"".concat(vw.unaryPlus,"\\left(${args[0]}\\right)")},bitAnd:{2:"\\left(${args[0]}".concat(vw.bitAnd,"${args[1]}\\right)")},bitNot:{1:vw.bitNot+"\\left(${args[0]}\\right)"},bitOr:{2:"\\left(${args[0]}".concat(vw.bitOr,"${args[1]}\\right)")},bitXor:{2:"\\left(${args[0]}".concat(vw.bitXor,"${args[1]}\\right)")},leftShift:{2:"\\left(${args[0]}".concat(vw.leftShift,"${args[1]}\\right)")},rightArithShift:{2:"\\left(${args[0]}".concat(vw.rightArithShift,"${args[1]}\\right)")},rightLogShift:{2:"\\left(${args[0]}".concat(vw.rightLogShift,"${args[1]}\\right)")},bellNumbers:{1:"\\mathrm{B}_{${args[0]}}"},catalan:{1:"\\mathrm{C}_{${args[0]}}"},stirlingS2:{2:"\\mathrm{S}\\left(${args}\\right)"},arg:{1:"\\arg\\left(${args[0]}\\right)"},conj:{1:"\\left(${args[0]}\\right)^*"},im:{1:"\\Im\\left\\lbrace${args[0]}\\right\\rbrace"},re:{1:"\\Re\\left\\lbrace${args[0]}\\right\\rbrace"},and:{2:"\\left(${args[0]}".concat(vw.and,"${args[1]}\\right)")},not:{1:vw.not+"\\left(${args[0]}\\right)"},or:{2:"\\left(${args[0]}".concat(vw.or,"${args[1]}\\right)")},xor:{2:"\\left(${args[0]}".concat(vw.xor,"${args[1]}\\right)")},cross:{2:"\\left(${args[0]}\\right)\\times\\left(${args[1]}\\right)"},ctranspose:{1:"\\left(${args[0]}\\right)".concat(vw.ctranspose)},det:{1:"\\det\\left(${args[0]}\\right)"},dot:{2:"\\left(${args[0]}\\cdot${args[1]}\\right)"},expm:{1:"\\exp\\left(${args[0]}\\right)"},inv:{1:"\\left(${args[0]}\\right)^{-1}"},pinv:{1:"\\left(${args[0]}\\right)^{+}"},sqrtm:{1:"{${args[0]}}".concat(vw.pow,"{\\frac{1}{2}}")},trace:{1:"\\mathrm{tr}\\left(${args[0]}\\right)"},transpose:{1:"\\left(${args[0]}\\right)".concat(vw.transpose)},combinations:{2:"\\binom{${args[0]}}{${args[1]}}"},combinationsWithRep:{2:"\\left(\\!\\!{\\binom{${args[0]}}{${args[1]}}}\\!\\!\\right)"},factorial:{1:"\\left(${args[0]}\\right)".concat(vw.factorial)},gamma:{1:"\\Gamma\\left(${args[0]}\\right)"},lgamma:{1:"\\ln\\Gamma\\left(${args[0]}\\right)"},equal:{2:"\\left(${args[0]}".concat(vw.equal,"${args[1]}\\right)")},larger:{2:"\\left(${args[0]}".concat(vw.larger,"${args[1]}\\right)")},largerEq:{2:"\\left(${args[0]}".concat(vw.largerEq,"${args[1]}\\right)")},smaller:{2:"\\left(${args[0]}".concat(vw.smaller,"${args[1]}\\right)")},smallerEq:{2:"\\left(${args[0]}".concat(vw.smallerEq,"${args[1]}\\right)")},unequal:{2:"\\left(${args[0]}".concat(vw.unequal,"${args[1]}\\right)")},erf:{1:"erf\\left(${args[0]}\\right)"},max:"\\max\\left(${args}\\right)",min:"\\min\\left(${args}\\right)",variance:"\\mathrm{Var}\\left(${args}\\right)",acos:{1:"\\cos^{-1}\\left(${args[0]}\\right)"},acosh:{1:"\\cosh^{-1}\\left(${args[0]}\\right)"},acot:{1:"\\cot^{-1}\\left(${args[0]}\\right)"},acoth:{1:"\\coth^{-1}\\left(${args[0]}\\right)"},acsc:{1:"\\csc^{-1}\\left(${args[0]}\\right)"},acsch:{1:"\\mathrm{csch}^{-1}\\left(${args[0]}\\right)"},asec:{1:"\\sec^{-1}\\left(${args[0]}\\right)"},asech:{1:"\\mathrm{sech}^{-1}\\left(${args[0]}\\right)"},asin:{1:"\\sin^{-1}\\left(${args[0]}\\right)"},asinh:{1:"\\sinh^{-1}\\left(${args[0]}\\right)"},atan:{1:"\\tan^{-1}\\left(${args[0]}\\right)"},atan2:{2:"\\mathrm{atan2}\\left(${args}\\right)"},atanh:{1:"\\tanh^{-1}\\left(${args[0]}\\right)"},cos:{1:"\\cos\\left(${args[0]}\\right)"},cosh:{1:"\\cosh\\left(${args[0]}\\right)"},cot:{1:"\\cot\\left(${args[0]}\\right)"},coth:{1:"\\coth\\left(${args[0]}\\right)"},csc:{1:"\\csc\\left(${args[0]}\\right)"},csch:{1:"\\mathrm{csch}\\left(${args[0]}\\right)"},sec:{1:"\\sec\\left(${args[0]}\\right)"},sech:{1:"\\mathrm{sech}\\left(${args[0]}\\right)"},sin:{1:"\\sin\\left(${args[0]}\\right)"},sinh:{1:"\\sinh\\left(${args[0]}\\right)"},tan:{1:"\\tan\\left(${args[0]}\\right)"},tanh:{1:"\\tanh\\left(${args[0]}\\right)"},to:{2:"\\left(${args[0]}".concat(vw.to,"${args[1]}\\right)")},numeric:function(A,e){return A.args[0].toTex()},number:{0:"0",1:"\\left(${args[0]}\\right)",2:"\\left(\\left(${args[0]}\\right)${args[1]}\\right)"},string:{0:'\\mathtt{""}',1:"\\mathrm{string}\\left(${args[0]}\\right)"},bignumber:{0:"0",1:"\\left(${args[0]}\\right)"},complex:{0:"0",1:"\\left(${args[0]}\\right)",2:"\\left(\\left(${args[0]}\\right)+".concat(zw.i,"\\cdot\\left(${args[1]}\\right)\\right)")},matrix:{0:"\\begin{bmatrix}\\end{bmatrix}",1:"\\left(${args[0]}\\right)",2:"\\left(${args[0]}\\right)"},sparse:{0:"\\begin{bsparse}\\end{bsparse}",1:"\\left(${args[0]}\\right)"},unit:{1:"\\left(${args[0]}\\right)",2:"\\left(\\left(${args[0]}\\right)${args[1]}\\right)"}},Pw={deg:"^\\circ"};function Ow(A){return jw()(A,{preserveFormatting:!0})}function Ww(A,e){return(e=void 0!==e&&e)?AA(Pw,A)?Pw[A]:"\\mathrm{"+Ow(A)+"}":AA(zw,A)?zw[A]:Ow(A)}var Vw=le("OperatorNode",["Node"],A=>{var{Node:e}=A;function t(A,e){var n=A;if("auto"===e)for(;v(n);)n=n.content;return!!G(n)||!!z(n)&&t(n.args[0],e)}function n(A,e,n,i,r){var s,o=Sw(A,e,n),a=Hw(A,e);if("all"===e||i.length>2&&"OperatorNode:add"!==A.getIdentifier()&&"OperatorNode:multiply"!==A.getIdentifier())return i.map((function(A){switch(A.getContent().type){case"ArrayNode":case"ConstantNode":case"SymbolNode":case"ParenthesisNode":return!1;default:return!0}}));switch(i.length){case 0:s=[];break;case 1:var B=Sw(i[0],e,n,A);if(r&&null!==B){var c,g;if("keep"===e?(c=i[0].getIdentifier(),g=A.getIdentifier()):(c=i[0].getContent().getIdentifier(),g=A.getContent().getIdentifier()),!1===Rw[o][g].latexLeftParens){s=[!1];break}if(!1===Rw[B][c].latexParens){s=[!1];break}}if(null===B){s=[!1];break}if(B<=o){s=[!0];break}s=[!1];break;case 2:var Q,E,l=Sw(i[0],e,n,A),u=bw(A,i[0],e);Q=null!==l&&(l===o&&"right"===a&&!u||l<o);var w,h,C,d=Sw(i[1],e,n,A),I=bw(A,i[1],e);if(E=null!==d&&(d===o&&"left"===a&&!I||d<o),r)"keep"===e?(w=A.getIdentifier(),h=A.args[0].getIdentifier(),C=A.args[1].getIdentifier()):(w=A.getContent().getIdentifier(),h=A.args[0].getContent().getIdentifier(),C=A.args[1].getContent().getIdentifier()),null!==l&&(!1===Rw[o][w].latexLeftParens&&(Q=!1),!1===Rw[l][h].latexParens&&(Q=!1)),null!==d&&(!1===Rw[o][w].latexRightParens&&(E=!1),!1===Rw[d][C].latexParens&&(E=!1));s=[Q,E];break;default:"OperatorNode:add"!==A.getIdentifier()&&"OperatorNode:multiply"!==A.getIdentifier()||(s=i.map((function(t){var i=Sw(t,e,n,A),r=bw(A,t,e),s=Hw(t,e);return null!==i&&(o===i&&a===s&&!r||i<o)})))}if(i.length>=2&&"OperatorNode:multiply"===A.getIdentifier()&&A.implicit&&"all"!==e&&"hide"===n)for(var M=1;M<s.length;++M)!t(i[M],e)||s[M-1]||"keep"===e&&v(i[M-1])||(s[M]=!0);return s}class i extends e{constructor(A,e,t,n,i){if(super(),"string"!=typeof A)throw new TypeError('string expected for parameter "op"');if("string"!=typeof e)throw new TypeError('string expected for parameter "fn"');if(!Array.isArray(t)||!t.every(J))throw new TypeError('Array containing Nodes expected for parameter "args"');this.implicit=!0===n,this.isPercentage=!0===i,this.op=A,this.fn=e,this.args=t||[]}get type(){return"OperatorNode"}get isOperatorNode(){return!0}_compile(A,e){if("string"!=typeof this.fn||!cn(A,this.fn))throw A[this.fn]?new Error('No access to function "'+this.fn+'"'):new Error("Function "+this.fn+' missing in provided namespace "math"');var t=on(A,this.fn),n=Ae(this.args,(function(t){return t._compile(A,e)}));if(1===n.length){var i=n[0];return function(A,e,n){return t(i(A,e,n))}}if(2===n.length){var r=n[0],s=n[1];return function(A,e,n){return t(r(A,e,n),s(A,e,n))}}return function(A,e,i){return t.apply(null,Ae(n,(function(t){return t(A,e,i)})))}}forEach(A){for(var e=0;e<this.args.length;e++)A(this.args[e],"args["+e+"]",this)}map(A){for(var e=[],t=0;t<this.args.length;t++)e[t]=this._ifNode(A(this.args[t],"args["+t+"]",this));return new i(this.op,this.fn,e,this.implicit,this.isPercentage)}clone(){return new i(this.op,this.fn,this.args.slice(0),this.implicit,this.isPercentage)}isUnary(){return 1===this.args.length}isBinary(){return 2===this.args.length}_toString(A){var e=A&&A.parenthesis?A.parenthesis:"keep",t=A&&A.implicit?A.implicit:"hide",i=this.args,r=n(this,e,t,i,!1);if(1===i.length){var s=Hw(this,e),o=i[0].toString(A);r[0]&&(o="("+o+")");var a=/[a-zA-Z]+/.test(this.op);return"right"===s?this.op+(a?" ":"")+o:"left"===s?o+(a?" ":"")+this.op:o+this.op}if(2===i.length){var B=i[0].toString(A),c=i[1].toString(A);return r[0]&&(B="("+B+")"),r[1]&&(c="("+c+")"),this.implicit&&"OperatorNode:multiply"===this.getIdentifier()&&"hide"===t?B+" "+c:B+" "+this.op+" "+c}if(i.length>2&&("OperatorNode:add"===this.getIdentifier()||"OperatorNode:multiply"===this.getIdentifier())){var g=i.map((function(e,t){return e=e.toString(A),r[t]&&(e="("+e+")"),e}));return this.implicit&&"OperatorNode:multiply"===this.getIdentifier()&&"hide"===t?g.join(" "):g.join(" "+this.op+" ")}return this.fn+"("+this.args.join(", ")+")"}toJSON(){return{mathjs:"OperatorNode",op:this.op,fn:this.fn,args:this.args,implicit:this.implicit,isPercentage:this.isPercentage}}static fromJSON(A){return new i(A.op,A.fn,A.args,A.implicit,A.isPercentage)}toHTML(A){var e=A&&A.parenthesis?A.parenthesis:"keep",t=A&&A.implicit?A.implicit:"hide",i=this.args,r=n(this,e,t,i,!1);if(1===i.length){var s=Hw(this,e),o=i[0].toHTML(A);return r[0]&&(o='<span class="math-parenthesis math-round-parenthesis">(</span>'+o+'<span class="math-parenthesis math-round-parenthesis">)</span>'),"right"===s?'<span class="math-operator math-unary-operator math-lefthand-unary-operator">'+kA(this.op)+"</span>"+o:o+'<span class="math-operator math-unary-operator math-righthand-unary-operator">'+kA(this.op)+"</span>"}if(2===i.length){var a=i[0].toHTML(A),B=i[1].toHTML(A);return r[0]&&(a='<span class="math-parenthesis math-round-parenthesis">(</span>'+a+'<span class="math-parenthesis math-round-parenthesis">)</span>'),r[1]&&(B='<span class="math-parenthesis math-round-parenthesis">(</span>'+B+'<span class="math-parenthesis math-round-parenthesis">)</span>'),this.implicit&&"OperatorNode:multiply"===this.getIdentifier()&&"hide"===t?a+'<span class="math-operator math-binary-operator math-implicit-binary-operator"></span>'+B:a+'<span class="math-operator math-binary-operator math-explicit-binary-operator">'+kA(this.op)+"</span>"+B}var c=i.map((function(e,t){return e=e.toHTML(A),r[t]&&(e='<span class="math-parenthesis math-round-parenthesis">(</span>'+e+'<span class="math-parenthesis math-round-parenthesis">)</span>'),e}));return i.length>2&&("OperatorNode:add"===this.getIdentifier()||"OperatorNode:multiply"===this.getIdentifier())?this.implicit&&"OperatorNode:multiply"===this.getIdentifier()&&"hide"===t?c.join('<span class="math-operator math-binary-operator math-implicit-binary-operator"></span>'):c.join('<span class="math-operator math-binary-operator math-explicit-binary-operator">'+kA(this.op)+"</span>"):'<span class="math-function">'+kA(this.fn)+'</span><span class="math-paranthesis math-round-parenthesis">(</span>'+c.join('<span class="math-separator">,</span>')+'<span class="math-paranthesis math-round-parenthesis">)</span>'}_toTex(A){var e=A&&A.parenthesis?A.parenthesis:"keep",t=A&&A.implicit?A.implicit:"hide",i=this.args,r=n(this,e,t,i,!0),s=vw[this.fn];if(s=void 0===s?this.op:s,1===i.length){var o=Hw(this,e),a=i[0].toTex(A);return r[0]&&(a="\\left(".concat(a,"\\right)")),"right"===o?s+a:a+s}if(2===i.length){var B=i[0],c=B.toTex(A);r[0]&&(c="\\left(".concat(c,"\\right)"));var g,Q=i[1].toTex(A);switch(r[1]&&(Q="\\left(".concat(Q,"\\right)")),g="keep"===e?B.getIdentifier():B.getContent().getIdentifier(),this.getIdentifier()){case"OperatorNode:divide":return s+"{"+c+"}{"+Q+"}";case"OperatorNode:pow":switch(c="{"+c+"}",Q="{"+Q+"}",g){case"ConditionalNode":case"OperatorNode:divide":c="\\left(".concat(c,"\\right)")}break;case"OperatorNode:multiply":if(this.implicit&&"hide"===t)return c+"~"+Q}return c+s+Q}if(i.length>2&&("OperatorNode:add"===this.getIdentifier()||"OperatorNode:multiply"===this.getIdentifier())){var E=i.map((function(e,t){return e=e.toTex(A),r[t]&&(e="\\left(".concat(e,"\\right)")),e}));return"OperatorNode:multiply"===this.getIdentifier()&&this.implicit&&"hide"===t?E.join("~"):E.join(s)}return"\\mathrm{"+this.fn+"}\\left("+i.map((function(e){return e.toTex(A)})).join(",")+"\\right)"}getIdentifier(){return this.type+":"+this.fn}}return KB()(i,"name","OperatorNode"),i},{isClass:!0,isNode:!0}),Kw=le("ParenthesisNode",["Node"],A=>{var{Node:e}=A;class t extends e{constructor(A){if(super(),!J(A))throw new TypeError('Node expected for parameter "content"');this.content=A}get type(){return"ParenthesisNode"}get isParenthesisNode(){return!0}_compile(A,e){return this.content._compile(A,e)}getContent(){return this.content.getContent()}forEach(A){A(this.content,"content",this)}map(A){var e=A(this.content,"content",this);return new t(e)}clone(){return new t(this.content)}_toString(A){return!A||A&&!A.parenthesis||A&&"keep"===A.parenthesis?"("+this.content.toString(A)+")":this.content.toString(A)}toJSON(){return{mathjs:"ParenthesisNode",content:this.content}}static fromJSON(A){return new t(A.content)}toHTML(A){return!A||A&&!A.parenthesis||A&&"keep"===A.parenthesis?'<span class="math-parenthesis math-round-parenthesis">(</span>'+this.content.toHTML(A)+'<span class="math-parenthesis math-round-parenthesis">)</span>':this.content.toHTML(A)}_toTex(A){return!A||A&&!A.parenthesis||A&&"keep"===A.parenthesis?"\\left(".concat(this.content.toTex(A),"\\right)"):this.content.toTex(A)}}return KB()(t,"name","ParenthesisNode"),t},{isClass:!0,isNode:!0}),Xw=le("RelationalNode",["Node"],A=>{var{Node:e}=A,t={equal:"==",unequal:"!=",smaller:"<",larger:">",smallerEq:"<=",largerEq:">="};class n extends e{constructor(A,e){if(super(),!Array.isArray(A))throw new TypeError("Parameter conditionals must be an array");if(!Array.isArray(e))throw new TypeError("Parameter params must be an array");if(A.length!==e.length-1)throw new TypeError("Parameter params must contain exactly one more element than parameter conditionals");this.conditionals=A,this.params=e}get type(){return"RelationalNode"}get isRelationalNode(){return!0}_compile(A,e){var t=this,n=this.params.map(t=>t._compile(A,e));return function(e,i,r){for(var s,o=n[0](e,i,r),a=0;a<t.conditionals.length;a++){if(s=o,o=n[a+1](e,i,r),!on(A,t.conditionals[a])(s,o))return!1}return!0}}forEach(A){this.params.forEach((e,t)=>A(e,"params["+t+"]",this),this)}map(A){return new n(this.conditionals.slice(),this.params.map((e,t)=>this._ifNode(A(e,"params["+t+"]",this)),this))}clone(){return new n(this.conditionals,this.params)}_toString(A){for(var e=A&&A.parenthesis?A.parenthesis:"keep",n=Sw(this,e,A&&A.implicit),i=this.params.map((function(t,i){var r=Sw(t,e,A&&A.implicit);return"all"===e||null!==r&&r<=n?"("+t.toString(A)+")":t.toString(A)})),r=i[0],s=0;s<this.conditionals.length;s++)r+=" "+t[this.conditionals[s]],r+=" "+i[s+1];return r}toJSON(){return{mathjs:"RelationalNode",conditionals:this.conditionals,params:this.params}}static fromJSON(A){return new n(A.conditionals,A.params)}toHTML(A){for(var e=A&&A.parenthesis?A.parenthesis:"keep",n=Sw(this,e,A&&A.implicit),i=this.params.map((function(t,i){var r=Sw(t,e,A&&A.implicit);return"all"===e||null!==r&&r<=n?'<span class="math-parenthesis math-round-parenthesis">(</span>'+t.toHTML(A)+'<span class="math-parenthesis math-round-parenthesis">)</span>':t.toHTML(A)})),r=i[0],s=0;s<this.conditionals.length;s++)r+='<span class="math-operator math-binary-operator math-explicit-binary-operator">'+kA(t[this.conditionals[s]])+"</span>"+i[s+1];return r}_toTex(A){for(var e=A&&A.parenthesis?A.parenthesis:"keep",t=Sw(this,e,A&&A.implicit),n=this.params.map((function(n,i){var r=Sw(n,e,A&&A.implicit);return"all"===e||null!==r&&r<=t?"\\left("+n.toTex(A)+"\right)":n.toTex(A)})),i=n[0],r=0;r<this.conditionals.length;r++)i+=vw[this.conditionals[r]]+n[r+1];return i}}return KB()(n,"name","RelationalNode"),n},{isClass:!0,isNode:!0}),Zw=le("ArrayNode",["Node"],A=>{var{Node:e}=A;class t extends e{constructor(A){if(super(),this.items=A||[],!Array.isArray(this.items)||!this.items.every(J))throw new TypeError("Array containing Nodes expected")}get type(){return"ArrayNode"}get isArrayNode(){return!0}_compile(A,e){var t=Ae(this.items,(function(t){return t._compile(A,e)}));if("Array"!==A.config.matrix){var n=A.matrix;return function(A,e,i){return n(Ae(t,(function(t){return t(A,e,i)})))}}return function(A,e,n){return Ae(t,(function(t){return t(A,e,n)}))}}forEach(A){for(var e=0;e<this.items.length;e++){A(this.items[e],"items["+e+"]",this)}}map(A){for(var e=[],n=0;n<this.items.length;n++)e[n]=this._ifNode(A(this.items[n],"items["+n+"]",this));return new t(e)}clone(){return new t(this.items.slice(0))}_toString(A){return"["+this.items.map((function(e){return e.toString(A)})).join(", ")+"]"}toJSON(){return{mathjs:"ArrayNode",items:this.items}}static fromJSON(A){return new t(A.items)}toHTML(A){return'<span class="math-parenthesis math-square-parenthesis">[</span>'+this.items.map((function(e){return e.toHTML(A)})).join('<span class="math-separator">,</span>')+'<span class="math-parenthesis math-square-parenthesis">]</span>'}_toTex(A){return function e(t,n){var i=t.some(y)&&!t.every(y),r=n||i,s=r?"&":"\\\\",o=t.map((function(t){return t.items?e(t.items,!n):t.toTex(A)})).join(s);return i||!r||r&&!n?"\\begin{bmatrix}"+o+"\\end{bmatrix}":o}(this.items,!1)}}return KB()(t,"name","ArrayNode"),t},{isClass:!0,isNode:!0}),_w=le("BlockNode",["ResultSet","Node"],A=>{var{ResultSet:e,Node:t}=A;class n extends t{constructor(A){if(super(),!Array.isArray(A))throw new Error("Array expected");this.blocks=A.map((function(A){var e=A&&A.node,t=!A||void 0===A.visible||A.visible;if(!J(e))throw new TypeError('Property "node" must be a Node');if("boolean"!=typeof t)throw new TypeError('Property "visible" must be a boolean');return{node:e,visible:t}}))}get type(){return"BlockNode"}get isBlockNode(){return!0}_compile(A,t){var n=Ae(this.blocks,(function(e){return{evaluate:e.node._compile(A,t),visible:e.visible}}));return function(A,t,i){var r=[];return ee(n,(function(e){var n=e.evaluate(A,t,i);e.visible&&r.push(n)})),new e(r)}}forEach(A){for(var e=0;e<this.blocks.length;e++)A(this.blocks[e].node,"blocks["+e+"].node",this)}map(A){for(var e=[],t=0;t<this.blocks.length;t++){var i=this.blocks[t],r=this._ifNode(A(i.node,"blocks["+t+"].node",this));e[t]={node:r,visible:i.visible}}return new n(e)}clone(){var A=this.blocks.map((function(A){return{node:A.node,visible:A.visible}}));return new n(A)}_toString(A){return this.blocks.map((function(e){return e.node.toString(A)+(e.visible?"":";")})).join("\n")}toJSON(){return{mathjs:"BlockNode",blocks:this.blocks}}static fromJSON(A){return new n(A.blocks)}toHTML(A){return this.blocks.map((function(e){return e.node.toHTML(A)+(e.visible?"":'<span class="math-separator">;</span>')})).join('<span class="math-separator"><br /></span>')}_toTex(A){return this.blocks.map((function(e){return e.node.toTex(A)+(e.visible?"":";")})).join("\\;\\;\n")}}return KB()(n,"name","BlockNode"),n},{isClass:!0,isNode:!0}),qw=le("ConditionalNode",["Node"],A=>{var{Node:e}=A;class t extends e{constructor(A,e,t){if(super(),!J(A))throw new TypeError("Parameter condition must be a Node");if(!J(e))throw new TypeError("Parameter trueExpr must be a Node");if(!J(t))throw new TypeError("Parameter falseExpr must be a Node");this.condition=A,this.trueExpr=e,this.falseExpr=t}get type(){return"ConditionalNode"}get isConditionalNode(){return!0}_compile(A,e){var t=this.condition._compile(A,e),n=this.trueExpr._compile(A,e),i=this.falseExpr._compile(A,e);return function(A,e,r){return function(A){if("number"==typeof A||"boolean"==typeof A||"string"==typeof A)return!!A;if(A){if(a(A))return!A.isZero();if(B(A))return!(!A.re&&!A.im);if(g(A))return!!A.value}if(null==A)return!1;throw new TypeError('Unsupported type of condition "'+V(A)+'"')}(t(A,e,r))?n(A,e,r):i(A,e,r)}}forEach(A){A(this.condition,"condition",this),A(this.trueExpr,"trueExpr",this),A(this.falseExpr,"falseExpr",this)}map(A){return new t(this._ifNode(A(this.condition,"condition",this)),this._ifNode(A(this.trueExpr,"trueExpr",this)),this._ifNode(A(this.falseExpr,"falseExpr",this)))}clone(){return new t(this.condition,this.trueExpr,this.falseExpr)}_toString(A){var e=A&&A.parenthesis?A.parenthesis:"keep",t=Sw(this,e,A&&A.implicit),n=this.condition.toString(A),i=Sw(this.condition,e,A&&A.implicit);("all"===e||"OperatorNode"===this.condition.type||null!==i&&i<=t)&&(n="("+n+")");var r=this.trueExpr.toString(A),s=Sw(this.trueExpr,e,A&&A.implicit);("all"===e||"OperatorNode"===this.trueExpr.type||null!==s&&s<=t)&&(r="("+r+")");var o=this.falseExpr.toString(A),a=Sw(this.falseExpr,e,A&&A.implicit);return("all"===e||"OperatorNode"===this.falseExpr.type||null!==a&&a<=t)&&(o="("+o+")"),n+" ? "+r+" : "+o}toJSON(){return{mathjs:"ConditionalNode",condition:this.condition,trueExpr:this.trueExpr,falseExpr:this.falseExpr}}static fromJSON(A){return new t(A.condition,A.trueExpr,A.falseExpr)}toHTML(A){var e=A&&A.parenthesis?A.parenthesis:"keep",t=Sw(this,e,A&&A.implicit),n=this.condition.toHTML(A),i=Sw(this.condition,e,A&&A.implicit);("all"===e||"OperatorNode"===this.condition.type||null!==i&&i<=t)&&(n='<span class="math-parenthesis math-round-parenthesis">(</span>'+n+'<span class="math-parenthesis math-round-parenthesis">)</span>');var r=this.trueExpr.toHTML(A),s=Sw(this.trueExpr,e,A&&A.implicit);("all"===e||"OperatorNode"===this.trueExpr.type||null!==s&&s<=t)&&(r='<span class="math-parenthesis math-round-parenthesis">(</span>'+r+'<span class="math-parenthesis math-round-parenthesis">)</span>');var o=this.falseExpr.toHTML(A),a=Sw(this.falseExpr,e,A&&A.implicit);return("all"===e||"OperatorNode"===this.falseExpr.type||null!==a&&a<=t)&&(o='<span class="math-parenthesis math-round-parenthesis">(</span>'+o+'<span class="math-parenthesis math-round-parenthesis">)</span>'),n+'<span class="math-operator math-conditional-operator">?</span>'+r+'<span class="math-operator math-conditional-operator">:</span>'+o}_toTex(A){return"\\begin{cases} {"+this.trueExpr.toTex(A)+"}, &\\quad{\\text{if }\\;"+this.condition.toTex(A)+"}\\\\{"+this.falseExpr.toTex(A)+"}, &\\quad{\\text{otherwise}}\\end{cases}"}}return KB()(t,"name","ConditionalNode"),t},{isClass:!0,isNode:!0}),$w=le("ConstantNode",["Node"],A=>{var{Node:e}=A;class t extends e{constructor(A){super(),this.value=A}get type(){return"ConstantNode"}get isConstantNode(){return!0}_compile(A,e){var t=this.value;return function(){return t}}forEach(A){}map(A){return this.clone()}clone(){return new t(this.value)}_toString(A){return SA(this.value,A)}toHTML(A){var e=this._toString(A);switch(V(this.value)){case"number":case"BigNumber":case"Fraction":return'<span class="math-number">'+e+"</span>";case"string":return'<span class="math-string">'+e+"</span>";case"boolean":return'<span class="math-boolean">'+e+"</span>";case"null":return'<span class="math-null-symbol">'+e+"</span>";case"undefined":return'<span class="math-undefined">'+e+"</span>";default:return'<span class="math-symbol">'+e+"</span>"}}toJSON(){return{mathjs:"ConstantNode",value:this.value}}static fromJSON(A){return new t(A.value)}_toTex(A){var e=this._toString(A);switch(V(this.value)){case"string":return"\\mathtt{"+Ow(e)+"}";case"number":case"BigNumber":if(!isFinite(this.value))return this.value.valueOf()<0?"-\\infty":"\\infty";var t=e.toLowerCase().indexOf("e");return-1!==t?e.substring(0,t)+"\\cdot10^{"+e.substring(t+1)+"}":e;case"Fraction":return this.value.toLatex();default:return e}}}return KB()(t,"name","ConstantNode"),t},{isClass:!0,isNode:!0}),Ah=le("RangeNode",["Node"],A=>{var{Node:e}=A;function t(A,e,t){var n=Sw(A,e,t),i={},r=Sw(A.start,e,t);if(i.start=null!==r&&r<=n||"all"===e,A.step){var s=Sw(A.step,e,t);i.step=null!==s&&s<=n||"all"===e}var o=Sw(A.end,e,t);return i.end=null!==o&&o<=n||"all"===e,i}class n extends e{constructor(A,e,t){if(super(),!J(A))throw new TypeError("Node expected");if(!J(e))throw new TypeError("Node expected");if(t&&!J(t))throw new TypeError("Node expected");if(arguments.length>3)throw new Error("Too many arguments");this.start=A,this.end=e,this.step=t||null}get type(){return"RangeNode"}get isRangeNode(){return!0}needsEnd(){return this.filter((function(A){return O(A)&&"end"===A.name})).length>0}_compile(A,e){var t=A.range,n=this.start._compile(A,e),i=this.end._compile(A,e);if(this.step){var r=this.step._compile(A,e);return function(A,e,s){return t(n(A,e,s),i(A,e,s),r(A,e,s))}}return function(A,e,r){return t(n(A,e,r),i(A,e,r))}}forEach(A){A(this.start,"start",this),A(this.end,"end",this),this.step&&A(this.step,"step",this)}map(A){return new n(this._ifNode(A(this.start,"start",this)),this._ifNode(A(this.end,"end",this)),this.step&&this._ifNode(A(this.step,"step",this)))}clone(){return new n(this.start,this.end,this.step&&this.step)}_toString(A){var e,n=t(this,A&&A.parenthesis?A.parenthesis:"keep",A&&A.implicit),i=this.start.toString(A);if(n.start&&(i="("+i+")"),e=i,this.step){var r=this.step.toString(A);n.step&&(r="("+r+")"),e+=":"+r}var s=this.end.toString(A);return n.end&&(s="("+s+")"),e+=":"+s}toJSON(){return{mathjs:"RangeNode",start:this.start,end:this.end,step:this.step}}static fromJSON(A){return new n(A.start,A.end,A.step)}toHTML(A){var e,n=t(this,A&&A.parenthesis?A.parenthesis:"keep",A&&A.implicit),i=this.start.toHTML(A);if(n.start&&(i='<span class="math-parenthesis math-round-parenthesis">(</span>'+i+'<span class="math-parenthesis math-round-parenthesis">)</span>'),e=i,this.step){var r=this.step.toHTML(A);n.step&&(r='<span class="math-parenthesis math-round-parenthesis">(</span>'+r+'<span class="math-parenthesis math-round-parenthesis">)</span>'),e+='<span class="math-operator math-range-operator">:</span>'+r}var s=this.end.toHTML(A);return n.end&&(s='<span class="math-parenthesis math-round-parenthesis">(</span>'+s+'<span class="math-parenthesis math-round-parenthesis">)</span>'),e+='<span class="math-operator math-range-operator">:</span>'+s}_toTex(A){var e=t(this,A&&A.parenthesis?A.parenthesis:"keep",A&&A.implicit),n=this.start.toTex(A);if(e.start&&(n="\\left(".concat(n,"\\right)")),this.step){var i=this.step.toTex(A);e.step&&(i="\\left(".concat(i,"\\right)")),n+=":"+i}var r=this.end.toTex(A);return e.end&&(r="\\left(".concat(r,"\\right)")),n+=":"+r}}return KB()(n,"name","RangeNode"),n},{isClass:!0,isNode:!0}),eh=le("reviver",["classes"],A=>{var{classes:e}=A;return function(A,t){var n=e[t&&t.mathjs];return n&&"function"==typeof n.fromJSON?n.fromJSON(t):t}}),th=le("Chain",["?on","math","typed"],A=>{var{on:e,math:t,typed:n}=A;function i(A){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");W(A)?this.value=A.value:this.value=A}function r(A,e){$(i.prototype,A,(function(){var A=e();if("function"==typeof A)return s(A)}))}function s(A){return function(){if(0===arguments.length)return new i(A(this.value));for(var e=[this.value],t=0;t<arguments.length;t++)e[t+1]=arguments[t];if(n.isTypedFunction(A)){var r=n.resolve(A,e);if(1===r.params.length)throw new Error("chain function "+A.name+" cannot match rest parameter between chain value and additional arguments.");return new i(r.implementation.apply(A,e))}return new i(A.apply(A,e))}}i.prototype.type="Chain",i.prototype.isChain=!0,i.prototype.done=function(){return this.value},i.prototype.valueOf=function(){return this.value},i.prototype.toString=function(){return SA(this.value)},i.prototype.toJSON=function(){return{mathjs:"Chain",value:this.value}},i.fromJSON=function(A){return new i(A.value)},i.createProxy=function(A,e){if("string"==typeof A)a=A,"function"==typeof(B=e)&&(i.prototype[a]=s(B));else{var t=function(e){AA(A,e)&&void 0===o[e]&&r(e,()=>A[e])};for(var n in A)t(n)}var a,B};var o={expression:!0,docs:!0,type:!0,classes:!0,json:!0,error:!0,isChain:!0};return i.createProxy(t),e&&e("import",(function(A,e,t){t||r(A,e)})),i},{isClass:!0}),nh=le("FunctionAssignmentNode",["typed","Node"],A=>{var{typed:e,Node:t}=A;function n(A,e,t){var n=Sw(A,e,t),i=Sw(A.expr,e,t);return"all"===e||null!==i&&i<=n}class i extends t{constructor(A,e,t){if(super(),"string"!=typeof A)throw new TypeError('String expected for parameter "name"');if(!Array.isArray(e))throw new TypeError('Array containing strings or objects expected for parameter "params"');if(!J(t))throw new TypeError('Node expected for parameter "expr"');if(yw.has(A))throw new Error('Illegal function name, "'+A+'" is a reserved keyword');var n=new Set;for(var i of e){var r="string"==typeof i?i:i.name;if(n.has(r))throw new Error('Duplicate parameter name "'.concat(r,'"'));n.add(r)}this.name=A,this.params=e.map((function(A){return A&&A.name||A})),this.types=e.map((function(A){return A&&A.type||"any"})),this.expr=t}get type(){return"FunctionAssignmentNode"}get isFunctionAssignmentNode(){return!0}_compile(A,t){var n=Object.create(t);ee(this.params,(function(A){n[A]=!0}));var i=this.expr._compile(A,n),r=this.name,s=this.params,o=ie(this.types,","),a=r+"("+ie(this.params,", ")+")";return function(A,t,n){var B={};B[o]=function(){for(var e=Object.create(t),r=0;r<s.length;r++)e[s[r]]=arguments[r];return i(A,e,n)};var c=e(r,B);return c.syntax=a,A.set(r,c),c}}forEach(A){A(this.expr,"expr",this)}map(A){var e=this._ifNode(A(this.expr,"expr",this));return new i(this.name,this.params.slice(0),e)}clone(){return new i(this.name,this.params.slice(0),this.expr)}_toString(A){var e=A&&A.parenthesis?A.parenthesis:"keep",t=this.expr.toString(A);return n(this,e,A&&A.implicit)&&(t="("+t+")"),this.name+"("+this.params.join(", ")+") = "+t}toJSON(){var A=this.types;return{mathjs:"FunctionAssignmentNode",name:this.name,params:this.params.map((function(e,t){return{name:e,type:A[t]}})),expr:this.expr}}static fromJSON(A){return new i(A.name,A.params,A.expr)}toHTML(A){for(var e=A&&A.parenthesis?A.parenthesis:"keep",t=[],i=0;i<this.params.length;i++)t.push('<span class="math-symbol math-parameter">'+kA(this.params[i])+"</span>");var r=this.expr.toHTML(A);return n(this,e,A&&A.implicit)&&(r='<span class="math-parenthesis math-round-parenthesis">(</span>'+r+'<span class="math-parenthesis math-round-parenthesis">)</span>'),'<span class="math-function">'+kA(this.name)+'</span><span class="math-parenthesis math-round-parenthesis">(</span>'+t.join('<span class="math-separator">,</span>')+'<span class="math-parenthesis math-round-parenthesis">)</span><span class="math-operator math-assignment-operator math-variable-assignment-operator math-binary-operator">=</span>'+r}_toTex(A){var e=A&&A.parenthesis?A.parenthesis:"keep",t=this.expr.toTex(A);return n(this,e,A&&A.implicit)&&(t="\\left(".concat(t,"\\right)")),"\\mathrm{"+this.name+"}\\left("+this.params.map(Ww).join(",")+"\\right):="+t}}return KB()(i,"name","FunctionAssignmentNode"),i},{isClass:!0,isNode:!0}),ih=le("chain",["typed","Chain"],A=>{var{typed:e,Chain:t}=A;return e("chain",{"":function(){return new t},any:function(A){return new t(A)}})}),rh=le("IndexNode",["Node","size"],A=>{var{Node:e,size:t}=A;class n extends e{constructor(A,e){if(super(),this.dimensions=A,this.dotNotation=e||!1,!Array.isArray(A)||!A.every(J))throw new TypeError('Array containing Nodes expected for parameter "dimensions"');if(this.dotNotation&&!this.isObjectProperty())throw new Error("dotNotation only applicable for object properties")}get type(){return"IndexNode"}get isIndexNode(){return!0}_compile(A,e){var n=Ae(this.dimensions,(function(n,i){if(n.filter(A=>A.isSymbolNode&&"end"===A.name).length>0){var r=Object.create(e);r.end=!0;var s=n._compile(A,r);return function(A,e,n){if(!l(n)&&!E(n)&&!Q(n))throw new TypeError('Cannot resolve "end": context must be a Matrix, Array, or string but is '+V(n));var r=t(n).valueOf(),o=Object.create(e);return o.end=r[i],s(A,o,n)}}return n._compile(A,e)})),i=on(A,"index");return function(A,e,t){var r=Ae(n,(function(n){return n(A,e,t)}));return i(...r)}}forEach(A){for(var e=0;e<this.dimensions.length;e++)A(this.dimensions[e],"dimensions["+e+"]",this)}map(A){for(var e=[],t=0;t<this.dimensions.length;t++)e[t]=this._ifNode(A(this.dimensions[t],"dimensions["+t+"]",this));return new n(e,this.dotNotation)}clone(){return new n(this.dimensions.slice(0),this.dotNotation)}isObjectProperty(){return 1===this.dimensions.length&&G(this.dimensions[0])&&"string"==typeof this.dimensions[0].value}getObjectProperty(){return this.isObjectProperty()?this.dimensions[0].value:null}_toString(A){return this.dotNotation?"."+this.getObjectProperty():"["+this.dimensions.join(", ")+"]"}toJSON(){return{mathjs:"IndexNode",dimensions:this.dimensions,dotNotation:this.dotNotation}}static fromJSON(A){return new n(A.dimensions,A.dotNotation)}toHTML(A){for(var e=[],t=0;t<this.dimensions.length;t++)e[t]=this.dimensions[t].toHTML();return this.dotNotation?'<span class="math-operator math-accessor-operator">.</span><span class="math-symbol math-property">'+kA(this.getObjectProperty())+"</span>":'<span class="math-parenthesis math-square-parenthesis">[</span>'+e.join('<span class="math-separator">,</span>')+'<span class="math-parenthesis math-square-parenthesis">]</span>'}_toTex(A){var e=this.dimensions.map((function(e){return e.toTex(A)}));return this.dotNotation?"."+this.getObjectProperty():"_{"+e.join(",")+"}"}}return KB()(n,"name","IndexNode"),n},{isClass:!0,isNode:!0});function sh(A){return A&&A.isIndexError?new zA(A.index+1,A.min+1,void 0!==A.max?A.max+1:void 0):A}function oh(A){var{subset:e}=A;return function(A,t){try{if(Array.isArray(A))return e(A,t);if(A&&"function"==typeof A.subset)return A.subset(t);if("string"==typeof A)return e(A,t);if("object"==typeof A){if(!t.isObjectProperty())throw new TypeError("Cannot apply a numeric index as object property");return on(A,t.getObjectProperty())}throw new TypeError("Cannot apply index: unsupported type of object")}catch(A){throw sh(A)}}}var ah=le("AccessorNode",["subset","Node"],A=>{var{subset:e,Node:t}=A,n=oh({subset:e});function i(A){return!(U(A)||y(A)||G(A)||b(A)||j(A)||v(A)||O(A))}class r extends t{constructor(A,e){if(super(),!J(A))throw new TypeError('Node expected for parameter "object"');if(!k(e))throw new TypeError('IndexNode expected for parameter "index"');this.object=A,this.index=e}get name(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():"":this.object.name||""}get type(){return"AccessorNode"}get isAccessorNode(){return!0}_compile(A,e){var t=this.object._compile(A,e),i=this.index._compile(A,e);if(this.index.isObjectProperty()){var r=this.index.getObjectProperty();return function(A,e,n){return on(t(A,e,n),r)}}return function(A,e,r){var s=t(A,e,r),o=i(A,e,s);return n(s,o)}}forEach(A){A(this.object,"object",this),A(this.index,"index",this)}map(A){return new r(this._ifNode(A(this.object,"object",this)),this._ifNode(A(this.index,"index",this)))}clone(){return new r(this.object,this.index)}_toString(A){var e=this.object.toString(A);return i(this.object)&&(e="("+e+")"),e+this.index.toString(A)}toHTML(A){var e=this.object.toHTML(A);return i(this.object)&&(e='<span class="math-parenthesis math-round-parenthesis">(</span>'+e+'<span class="math-parenthesis math-round-parenthesis">)</span>'),e+this.index.toHTML(A)}_toTex(A){var e=this.object.toTex(A);return i(this.object)&&(e="\\left(' + object + '\\right)"),e+this.index.toTex(A)}toJSON(){return{mathjs:"AccessorNode",object:this.object,index:this.index}}static fromJSON(A){return new r(A.object,A.index)}}return KB()(r,"name","AccessorNode"),r},{isClass:!0,isNode:!0});var Bh=le("AssignmentNode",["subset","?matrix","Node"],A=>{var{subset:e,matrix:t,Node:n}=A,i=oh({subset:e}),r=function(A){var{subset:e,matrix:t}=A;return function(A,n,i){try{if(Array.isArray(A))return t(A).subset(n,i).valueOf().forEach((e,t)=>{A[t]=e}),A;if(A&&"function"==typeof A.subset)return A.subset(n,i);if("string"==typeof A)return e(A,n,i);if("object"==typeof A){if(!n.isObjectProperty())throw TypeError("Cannot apply a numeric index as object property");return an(A,n.getObjectProperty(),i),A}throw new TypeError("Cannot apply index: unsupported type of object")}catch(A){throw sh(A)}}}({subset:e,matrix:t});function s(A,e,t){e||(e="keep");var n=Sw(A,e,t),i=Sw(A.value,e,t);return"all"===e||null!==i&&i<=n}class o extends n{constructor(A,e,t){if(super(),this.object=A,this.index=t?e:null,this.value=t||e,!O(A)&&!U(A))throw new TypeError('SymbolNode or AccessorNode expected as "object"');if(O(A)&&"end"===A.name)throw new Error('Cannot assign to symbol "end"');if(this.index&&!k(this.index))throw new TypeError('IndexNode expected as "index"');if(!J(this.value))throw new TypeError('Node expected as "value"')}get name(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():"":this.object.name||""}get type(){return"AssignmentNode"}get isAssignmentNode(){return!0}_compile(A,e){var t=this.object._compile(A,e),n=this.index?this.index._compile(A,e):null,s=this.value._compile(A,e),o=this.object.name;if(this.index){if(this.index.isObjectProperty()){var a=this.index.getObjectProperty();return function(A,e,n){var i=t(A,e,n),r=s(A,e,n);return an(i,a,r),r}}if(O(this.object))return function(A,e,i){var a=t(A,e,i),B=s(A,e,i),c=n(A,e,a);return A.set(o,r(a,c,B)),B};var B=this.object.object._compile(A,e);if(this.object.index.isObjectProperty()){var c=this.object.index.getObjectProperty();return function(A,e,t){var i=B(A,e,t),o=on(i,c),a=n(A,e,o),g=s(A,e,t);return an(i,c,r(o,a,g)),g}}var g=this.object.index._compile(A,e);return function(A,e,t){var o=B(A,e,t),a=g(A,e,o),c=i(o,a),Q=n(A,e,c),E=s(A,e,t);return r(o,a,r(c,Q,E)),E}}if(!O(this.object))throw new TypeError("SymbolNode expected as object");return function(A,e,t){var n=s(A,e,t);return A.set(o,n),n}}forEach(A){A(this.object,"object",this),this.index&&A(this.index,"index",this),A(this.value,"value",this)}map(A){var e=this._ifNode(A(this.object,"object",this)),t=this.index?this._ifNode(A(this.index,"index",this)):null,n=this._ifNode(A(this.value,"value",this));return new o(e,t,n)}clone(){return new o(this.object,this.index,this.value)}_toString(A){var e=this.object.toString(A),t=this.index?this.index.toString(A):"",n=this.value.toString(A);return s(this,A&&A.parenthesis,A&&A.implicit)&&(n="("+n+")"),e+t+" = "+n}toJSON(){return{mathjs:"AssignmentNode",object:this.object,index:this.index,value:this.value}}static fromJSON(A){return new o(A.object,A.index,A.value)}toHTML(A){var e=this.object.toHTML(A),t=this.index?this.index.toHTML(A):"",n=this.value.toHTML(A);return s(this,A&&A.parenthesis,A&&A.implicit)&&(n='<span class="math-paranthesis math-round-parenthesis">(</span>'+n+'<span class="math-paranthesis math-round-parenthesis">)</span>'),e+t+'<span class="math-operator math-assignment-operator math-variable-assignment-operator math-binary-operator">=</span>'+n}_toTex(A){var e=this.object.toTex(A),t=this.index?this.index.toTex(A):"",n=this.value.toTex(A);return s(this,A&&A.parenthesis,A&&A.implicit)&&(n="\\left(".concat(n,"\\right)")),e+t+":="+n}}return KB()(o,"name","AssignmentNode"),o},{isClass:!0,isNode:!0}),ch=le("SymbolNode",["math","?Unit","Node"],A=>{var{math:e,Unit:t,Node:n}=A;function i(A){return!!t&&t.isValuelessUnit(A)}class r extends n{constructor(A){if(super(),"string"!=typeof A)throw new TypeError('String expected for parameter "name"');this.name=A}get type(){return"SymbolNode"}get isSymbolNode(){return!0}_compile(A,e){var n=this.name;if(!0===e[n])return function(A,e,t){return on(e,n)};if(n in A)return function(e,t,i){return e.has(n)?e.get(n):on(A,n)};var s=i(n);return function(A,e,i){return A.has(n)?A.get(n):s?new t(null,n):r.onUndefinedSymbol(n)}}forEach(A){}map(A){return this.clone()}static onUndefinedSymbol(A){throw new Error("Undefined symbol "+A)}clone(){return new r(this.name)}_toString(A){return this.name}toHTML(A){var e=kA(this.name);return"true"===e||"false"===e?'<span class="math-symbol math-boolean">'+e+"</span>":"i"===e?'<span class="math-symbol math-imaginary-symbol">'+e+"</span>":"Infinity"===e?'<span class="math-symbol math-infinity-symbol">'+e+"</span>":"NaN"===e?'<span class="math-symbol math-nan-symbol">'+e+"</span>":"null"===e?'<span class="math-symbol math-null-symbol">'+e+"</span>":"undefined"===e?'<span class="math-symbol math-undefined-symbol">'+e+"</span>":'<span class="math-symbol">'+e+"</span>"}toJSON(){return{mathjs:"SymbolNode",name:this.name}}static fromJSON(A){return new r(A.name)}_toTex(A){var t=!1;void 0===e[this.name]&&i(this.name)&&(t=!0);var n=Ww(this.name,t);return"\\"===n[0]?n:" "+n}}return r},{isClass:!0,isNode:!0});function gh(A){for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return"function"==typeof A.createSubScope?Cn(A.createSubScope(),...t):Cn(un(),A,...t)}var Qh=le("FunctionNode",["math","Node","SymbolNode"],A=>{var e,{math:t,Node:n,SymbolNode:i}=A,r=A=>SA(A,{truncate:78});function s(A,e,t){for(var n,i="",r=/\$(?:\{([a-z_][a-z_0-9]*)(?:\[([0-9]+)\])?\}|\$)/gi,s=0;null!==(n=r.exec(A));)if(i+=A.substring(s,n.index),s=n.index,"$$"===n[0])i+="$",s++;else{s+=n[0].length;var o=e[n[1]];if(!o)throw new ReferenceError("Template: Property "+n[1]+" does not exist.");if(void 0===n[2])switch(typeof o){case"string":i+=o;break;case"object":if(J(o))i+=o.toTex(t);else{if(!Array.isArray(o))throw new TypeError("Template: "+n[1]+" has to be a Node, String or array of Nodes");i+=o.map((function(A,e){if(J(A))return A.toTex(t);throw new TypeError("Template: "+n[1]+"["+e+"] is not a Node.")})).join(",")}break;default:throw new TypeError("Template: "+n[1]+" has to be a Node, String or array of Nodes")}else{if(!J(o[n[2]]&&o[n[2]]))throw new TypeError("Template: "+n[1]+"["+n[2]+"] is not a Node.");i+=o[n[2]].toTex(t)}}return i+=A.slice(s)}class o extends n{constructor(A,e){if(super(),"string"==typeof A&&(A=new i(A)),!J(A))throw new TypeError('Node expected as parameter "fn"');if(!Array.isArray(e)||!e.every(J))throw new TypeError('Array containing Nodes expected for parameter "args"');this.fn=A,this.args=e||[]}get name(){return this.fn.name||""}get type(){return"FunctionNode"}get isFunctionNode(){return!0}_compile(A,e){var t=this.args.map(t=>t._compile(A,e));if(!O(this.fn)){if(U(this.fn)&&k(this.fn.index)&&this.fn.index.isObjectProperty()){var n=this.fn.object._compile(A,e),i=this.fn.index.getObjectProperty(),s=this.args;return function(e,r,o){var a=n(e,r,o),B=function(A,e){if(!cn(A,e))throw new Error('No access to method "'+e+'"');return A[e]}(a,i);if(null!=B&&B.rawArgs)return B(s,A,gh(e,r),e);var c=t.map(A=>A(e,r,o));return B.apply(a,c)}}var a=this.fn.toString(),B=this.fn._compile(A,e),c=this.args;return function(e,n,i){var s=B(e,n,i);if("function"!=typeof s)throw new TypeError("Expression '".concat(a,"' did not evaluate to a function; value is:")+"\n ".concat(r(s)));if(s.rawArgs)return s(c,A,gh(e,n),e);var o=t.map(A=>A(e,n,i));return s.apply(s,o)}}var g=this.fn.name;if(e[g]){var Q=this.args;return function(e,n,i){var s=on(n,g);if("function"!=typeof s)throw new TypeError("Argument '".concat(g,"' was not a function; received: ").concat(r(s)));if(s.rawArgs)return s(Q,A,gh(e,n),e);var o=t.map(A=>A(e,n,i));return s.apply(s,o)}}var E=g in A?on(A,g):void 0,l="function"==typeof E&&!0===E.rawArgs,u=e=>{var t;if(e.has(g))t=e.get(g);else{if(!(g in A))return o.onUndefinedFunction(g);t=on(A,g)}if("function"==typeof t)return t;throw new TypeError("'".concat(g,"' is not a function; its value is:\n ").concat(r(t)))};if(l){var w=this.args;return function(e,t,n){return u(e)(w,A,gh(e,t),e)}}switch(t.length){case 0:return function(A,e,t){return u(A)()};case 1:return function(A,e,n){return u(A)((0,t[0])(A,e,n))};case 2:return function(A,e,n){var i=u(A),r=t[0],s=t[1];return i(r(A,e,n),s(A,e,n))};default:return function(A,e,n){return u(A)(...t.map(t=>t(A,e,n)))}}}forEach(A){A(this.fn,"fn",this);for(var e=0;e<this.args.length;e++)A(this.args[e],"args["+e+"]",this)}map(A){for(var e=this._ifNode(A(this.fn,"fn",this)),t=[],n=0;n<this.args.length;n++)t[n]=this._ifNode(A(this.args[n],"args["+n+"]",this));return new o(e,t)}clone(){return new o(this.fn,this.args.slice(0))}toString(A){var e,t=this.fn.toString(A);return A&&"object"==typeof A.handler&&AA(A.handler,t)&&(e=A.handler[t](this,A)),void 0!==e?e:super.toString(A)}_toString(A){var e=this.args.map((function(e){return e.toString(A)}));return(H(this.fn)?"("+this.fn.toString(A)+")":this.fn.toString(A))+"("+e.join(", ")+")"}toJSON(){return{mathjs:"FunctionNode",fn:this.fn,args:this.args}}toHTML(A){var e=this.args.map((function(e){return e.toHTML(A)}));return'<span class="math-function">'+kA(this.fn)+'</span><span class="math-paranthesis math-round-parenthesis">(</span>'+e.join('<span class="math-separator">,</span>')+'<span class="math-paranthesis math-round-parenthesis">)</span>'}toTex(A){var e;return A&&"object"==typeof A.handler&&AA(A.handler,this.name)&&(e=A.handler[this.name](this,A)),void 0!==e?e:super.toTex(A)}_toTex(A){var e,n,i=this.args.map((function(e){return e.toTex(A)}));switch(Lw[this.name]&&(e=Lw[this.name]),!t[this.name]||"function"!=typeof t[this.name].toTex&&"object"!=typeof t[this.name].toTex&&"string"!=typeof t[this.name].toTex||(e=t[this.name].toTex),typeof e){case"function":n=e(this,A);break;case"string":n=s(e,this,A);break;case"object":switch(typeof e[i.length]){case"function":n=e[i.length](this,A);break;case"string":n=s(e[i.length],this,A)}}return void 0!==n?n:s("\\mathrm{${name}}\\left(${args}\\right)",this,A)}getIdentifier(){return this.type+":"+this.name}}return e=o,KB()(o,"name","FunctionNode"),KB()(o,"onUndefinedFunction",(function(A){throw new Error("Undefined function "+A)})),KB()(o,"fromJSON",(function(A){return new e(A.fn,A.args)})),o},{isClass:!0,isNode:!0}),Eh=le("parse",["typed","numeric","config","AccessorNode","ArrayNode","AssignmentNode","BlockNode","ConditionalNode","ConstantNode","FunctionAssignmentNode","FunctionNode","IndexNode","ObjectNode","OperatorNode","ParenthesisNode","RangeNode","RelationalNode","SymbolNode"],A=>{var{typed:e,numeric:t,config:n,AccessorNode:i,ArrayNode:s,AssignmentNode:o,BlockNode:a,ConditionalNode:B,ConstantNode:c,FunctionAssignmentNode:g,FunctionNode:Q,IndexNode:E,ObjectNode:l,OperatorNode:u,ParenthesisNode:w,RangeNode:h,RelationalNode:C,SymbolNode:d}=A,I=e("parse",{string:function(A){return V(A,{})},"Array | Matrix":function(A){return M(A,{})},"string, Object":function(A,e){return V(A,void 0!==e.nodes?e.nodes:{})},"Array | Matrix, Object":M});function M(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=void 0!==e.nodes?e.nodes:{};return fn(A,(function(A){if("string"!=typeof A)throw new TypeError("String expected");return V(A,t)}))}var p=0,m=1,F=2,D=3,Y=4,f={",":!0,"(":!0,")":!0,"[":!0,"]":!0,"{":!0,"}":!0,'"':!0,"'":!0,";":!0,"+":!0,"-":!0,"*":!0,".*":!0,"/":!0,"./":!0,"%":!0,"^":!0,".^":!0,"~":!0,"!":!0,"&":!0,"|":!0,"^|":!0,"=":!0,":":!0,"?":!0,"==":!0,"!=":!0,"<":!0,">":!0,"<=":!0,">=":!0,"<<":!0,">>":!0,">>>":!0},N={mod:!0,to:!0,in:!0,and:!0,xor:!0,or:!0,not:!0},y={true:!0,false:!1,null:null,undefined:void 0},x=["NaN","Infinity"],T={'"':'"',"'":"'","\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function R(A,e){return A.expression.substr(A.index,e)}function H(A){return R(A,1)}function k(A){A.index++}function J(A){return A.expression.charAt(A.index-1)}function j(A){return A.expression.charAt(A.index+1)}function v(A){for(A.tokenType=p,A.token="",A.comment="";;){if("#"===H(A))for(;"\n"!==H(A)&&""!==H(A);)A.comment+=H(A),k(A);if(!I.isWhitespace(H(A),A.nestingLevel))break;k(A)}if(""!==H(A)){if("\n"===H(A)&&!A.nestingLevel)return A.tokenType=m,A.token=H(A),void k(A);var e=H(A),t=R(A,2),n=R(A,3);if(3===n.length&&f[n])return A.tokenType=m,A.token=n,k(A),k(A),void k(A);if(2===t.length&&f[t])return A.tokenType=m,A.token=t,k(A),void k(A);if(f[e])return A.tokenType=m,A.token=e,void k(A);if(I.isDigitDot(e)){A.tokenType=F;var i=R(A,2);if("0b"===i||"0o"===i||"0x"===i){for(A.token+=H(A),k(A),A.token+=H(A),k(A);I.isHexDigit(H(A));)A.token+=H(A),k(A);if("."===H(A))for(A.token+=".",k(A);I.isHexDigit(H(A));)A.token+=H(A),k(A);else if("i"===H(A))for(A.token+="i",k(A);I.isDigit(H(A));)A.token+=H(A),k(A);return}if("."===H(A)){if(A.token+=H(A),k(A),!I.isDigit(H(A)))return void(A.tokenType=m)}else{for(;I.isDigit(H(A));)A.token+=H(A),k(A);I.isDecimalMark(H(A),j(A))&&(A.token+=H(A),k(A))}for(;I.isDigit(H(A));)A.token+=H(A),k(A);if("E"===H(A)||"e"===H(A))if(I.isDigit(j(A))||"-"===j(A)||"+"===j(A)){if(A.token+=H(A),k(A),"+"!==H(A)&&"-"!==H(A)||(A.token+=H(A),k(A)),!I.isDigit(H(A)))throw uA(A,'Digit expected, got "'+H(A)+'"');for(;I.isDigit(H(A));)A.token+=H(A),k(A);if(I.isDecimalMark(H(A),j(A)))throw uA(A,'Digit expected, got "'+H(A)+'"')}else if("."===j(A))throw k(A),uA(A,'Digit expected, got "'+H(A)+'"')}else{if(!I.isAlpha(H(A),J(A),j(A))){for(A.tokenType=Y;""!==H(A);)A.token+=H(A),k(A);throw uA(A,'Syntax error in part "'+A.token+'"')}for(;I.isAlpha(H(A),J(A),j(A))||I.isDigit(H(A));)A.token+=H(A),k(A);AA(N,A.token)?A.tokenType=m:A.tokenType=D}}else A.tokenType=m}function L(A){do{v(A)}while("\n"===A.token)}function P(A){A.nestingLevel++}function W(A){A.nestingLevel--}function V(A,e){var t={extraNodes:{},expression:"",comment:"",index:0,token:"",tokenType:p,nestingLevel:0,conditionalLevel:null};r()(t,{expression:A,extraNodes:e}),v(t);var n=function(A){var e,t,n=[];""!==A.token&&"\n"!==A.token&&";"!==A.token&&(e=K(A),A.comment&&(e.comment=A.comment));for(;"\n"===A.token||";"===A.token;)0===n.length&&e&&(t=";"!==A.token,n.push({node:e,visible:t})),v(A),"\n"!==A.token&&";"!==A.token&&""!==A.token&&(e=K(A),A.comment&&(e.comment=A.comment),t=";"!==A.token,n.push({node:e,visible:t}));return n.length>0?new a(n):(e||(e=new c(void 0),A.comment&&(e.comment=A.comment)),e)}(t);if(""!==t.token)throw t.tokenType===m?wA(t,"Unexpected operator "+t.token):uA(t,'Unexpected part "'+t.token+'"');return n}function K(A){var e,t,n,i,r=function(A){var e=function(A){var e=X(A);for(;"or"===A.token;)L(A),e=new u("or","or",[e,X(A)]);return e}(A);for(;"?"===A.token;){var t=A.conditionalLevel;A.conditionalLevel=A.nestingLevel,L(A);var n=e,i=K(A);if(":"!==A.token)throw uA(A,"False part of conditional expression expected");A.conditionalLevel=null,L(A);var r=K(A);e=new B(n,i,r),A.conditionalLevel=t}return e}(A);if("="===A.token){if(O(r))return e=r.name,L(A),n=K(A),new o(new d(e),n);if(U(r))return L(A),n=K(A),new o(r.object,r.index,n);if(b(r)&&O(r.fn)&&(i=!0,t=[],e=r.name,r.args.forEach((function(A,e){O(A)?t[e]=A.name:i=!1})),i))return L(A),n=K(A),new g(e,t,n);throw uA(A,"Invalid left hand side of assignment operator =")}return r}function X(A){for(var e=Z(A);"xor"===A.token;)L(A),e=new u("xor","xor",[e,Z(A)]);return e}function Z(A){for(var e=_(A);"and"===A.token;)L(A),e=new u("and","and",[e,_(A)]);return e}function _(A){for(var e=q(A);"|"===A.token;)L(A),e=new u("|","bitOr",[e,q(A)]);return e}function q(A){for(var e=$(A);"^|"===A.token;)L(A),e=new u("^|","bitXor",[e,$(A)]);return e}function $(A){for(var e=eA(A);"&"===A.token;)L(A),e=new u("&","bitAnd",[e,eA(A)]);return e}function eA(A){for(var e=[tA(A)],t=[],n={"==":"equal","!=":"unequal","<":"smaller",">":"larger","<=":"smallerEq",">=":"largerEq"};AA(n,A.token);){var i={name:A.token,fn:n[A.token]};t.push(i),L(A),e.push(tA(A))}return 1===e.length?e[0]:2===e.length?new u(t[0].name,t[0].fn,e):new C(t.map(A=>A.fn),e)}function tA(A){var e,t,n,i;e=nA(A);for(var r={"<<":"leftShift",">>":"rightArithShift",">>>":"rightLogShift"};AA(r,A.token);)n=r[t=A.token],L(A),i=[e,nA(A)],e=new u(t,n,i);return e}function nA(A){var e,t,n,i;e=iA(A);for(var r={to:"to",in:"to"};AA(r,A.token);)n=r[t=A.token],L(A),"in"===t&&""===A.token?e=new u("*","multiply",[e,new d("in")],!0):(i=[e,iA(A)],e=new u(t,n,i));return e}function iA(A){var e,t=[];if(e=":"===A.token?new c(1):rA(A),":"===A.token&&A.conditionalLevel!==A.nestingLevel){for(t.push(e);":"===A.token&&t.length<3;)L(A),")"===A.token||"]"===A.token||","===A.token||""===A.token?t.push(new d("end")):t.push(rA(A));e=3===t.length?new h(t[0],t[2],t[1]):new h(t[0],t[1])}return e}function rA(A){var e,t,n,i;e=sA(A);for(var r={"+":"add","-":"subtract"};AA(r,A.token);){n=r[t=A.token],L(A);var s=sA(A);i=s.isPercentage?[e,new u("*","multiply",[e,s])]:[e,s],e=new u(t,n,i)}return e}function sA(A){var e,t,n,i;t=e=oA(A);for(var r={"*":"multiply",".*":"dotMultiply","/":"divide","./":"dotDivide"};AA(r,A.token);)i=r[n=A.token],L(A),t=oA(A),e=new u(n,i,[e,t]);return e}function oA(A){var e,t;for(t=e=aA(A);A.tokenType===D||"in"===A.token&&G(e)||!(A.tokenType!==F||G(t)||z(t)&&"!"!==t.op)||"("===A.token;)t=aA(A),e=new u("*","multiply",[e,t],!0);return e}function aA(A){for(var e=BA(A),t=e,n=[];"/"===A.token&&S(t);){if(n.push(r()({},A)),L(A),A.tokenType!==F){r()(A,n.pop());break}if(n.push(r()({},A)),L(A),A.tokenType!==D&&"("!==A.token){n.pop(),r()(A,n.pop());break}r()(A,n.pop()),n.pop(),t=BA(A),e=new u("/","divide",[e,t])}return e}function BA(A){var e,t,n,i;e=cA(A);for(var r={"%":"mod",mod:"mod"};AA(r,A.token);)n=r[t=A.token],L(A),"%"===t&&A.tokenType===m&&"("!==A.token?e=new u("/","divide",[e,new c(100)],!1,!0):(i=[e,cA(A)],e=new u(t,n,i));return e}function cA(A){var e,i,r,o={"-":"unaryMinus","+":"unaryPlus","~":"bitNot",not:"not"};return AA(o,A.token)?(r=o[A.token],e=A.token,L(A),i=[cA(A)],new u(e,r,i)):function(A){var e,i,r,o;e=function(A){var e,i,r;e=function(A){var e=[];if(A.tokenType===D&&AA(A.extraNodes,A.token)){var i=A.extraNodes[A.token];if(v(A),"("===A.token){if(e=[],P(A),v(A),")"!==A.token)for(e.push(K(A));","===A.token;)v(A),e.push(K(A));if(")"!==A.token)throw uA(A,"Parenthesis ) expected");W(A),v(A)}return new i(e)}return function(A){var e,i;if(A.tokenType===D||A.tokenType===m&&A.token in N)return i=A.token,v(A),e=AA(y,i)?new c(y[i]):-1!==x.indexOf(i)?new c(t(i,"number")):new d(i),e=gA(A,e);return function(A){var e,i;if('"'===A.token||"'"===A.token)return i=QA(A,A.token),e=new c(i),e=gA(A,e);return function(A){var e,i,r,o;if("["===A.token){if(P(A),v(A),"]"!==A.token){var a=EA(A);if(";"===A.token){for(r=1,i=[a];";"===A.token;)v(A),i[r]=EA(A),r++;if("]"!==A.token)throw uA(A,"End of matrix ] expected");W(A),v(A),o=i[0].items.length;for(var B=1;B<r;B++)if(i[B].items.length!==o)throw wA(A,"Column dimensions mismatch ("+i[B].items.length+" !== "+o+")");e=new s(i)}else{if("]"!==A.token)throw uA(A,"End of matrix ] expected");W(A),v(A),e=a}}else W(A),v(A),e=new s([]);return gA(A,e)}return function(A){if("{"===A.token){var e;P(A);var i={};do{if(v(A),"}"!==A.token){if('"'===A.token||"'"===A.token)e=QA(A,A.token);else{if(!(A.tokenType===D||A.tokenType===m&&A.token in N))throw uA(A,"Symbol or string expected as object key");e=A.token,v(A)}if(":"!==A.token)throw uA(A,"Colon : expected after object key");v(A),i[e]=K(A)}}while(","===A.token);if("}"!==A.token)throw uA(A,"Comma , or bracket } expected after object value");W(A),v(A);var r=new l(i);return r=gA(A,r)}return function(A){var e;if(A.tokenType===F)return e=A.token,v(A),new c(t(e,n.number));return function(A){var e;if("("===A.token){if(P(A),v(A),e=K(A),")"!==A.token)throw uA(A,"Parenthesis ) expected");return W(A),v(A),e=new w(e),e=gA(A,e)}return function(A){throw""===A.token?uA(A,"Unexpected end of expression"):uA(A,"Value expected")}(A)}(A)}(A)}(A)}(A)}(A)}(A)}(A);var o={"!":"factorial","'":"ctranspose"};for(;AA(o,A.token);)i=A.token,r=o[i],v(A),e=new u(i,r,[e]),e=gA(A,e);return e}(A),("^"===A.token||".^"===A.token)&&(i=A.token,r="^"===i?"pow":"dotPow",L(A),o=[e,cA(A)],e=new u(i,r,o));return e}(A)}function gA(A,e,t){for(var n;!("("!==A.token&&"["!==A.token&&"."!==A.token||t&&-1===t.indexOf(A.token));)if(n=[],"("===A.token){if(!O(e)&&!U(e))return e;if(P(A),v(A),")"!==A.token)for(n.push(K(A));","===A.token;)v(A),n.push(K(A));if(")"!==A.token)throw uA(A,"Parenthesis ) expected");W(A),v(A),e=new Q(e,n)}else if("["===A.token){if(P(A),v(A),"]"!==A.token)for(n.push(K(A));","===A.token;)v(A),n.push(K(A));if("]"!==A.token)throw uA(A,"Parenthesis ] expected");W(A),v(A),e=new i(e,new E(n))}else{if(v(A),!(A.tokenType===D||A.tokenType===m&&A.token in N))throw uA(A,"Property name expected after dot");n.push(new c(A.token)),v(A);e=new i(e,new E(n,!0))}return e}function QA(A,e){for(var t="";""!==H(A)&&H(A)!==e;)if("\\"===H(A)){k(A);var n=H(A),i=T[n];if(void 0!==i)t+=i,A.index+=1;else{if("u"!==n)throw uA(A,"Bad escape character \\".concat(n));var r=A.expression.slice(A.index+1,A.index+5);if(!/^[0-9A-Fa-f]{4}$/.test(r))throw uA(A,"Invalid unicode character \\u".concat(r));t+=String.fromCharCode(parseInt(r,16)),A.index+=5}}else t+=H(A),k(A);if(v(A),A.token!==e)throw uA(A,"End of string ".concat(e," expected"));return v(A),t}function EA(A){for(var e=[K(A)],t=1;","===A.token;)v(A),e[t]=K(A),t++;return new s(e)}function lA(A){return A.index-A.token.length+1}function uA(A,e){var t=lA(A),n=new SyntaxError(e+" (char "+t+")");return n.char=t,n}function wA(A,e){var t=lA(A),n=new SyntaxError(e+" (char "+t+")");return n.char=t,n}return I.isAlpha=function(A,e,t){return I.isValidLatinOrGreek(A)||I.isValidMathSymbol(A,t)||I.isValidMathSymbol(e,A)},I.isValidLatinOrGreek=function(A){return/^[a-zA-Z_$\u00C0-\u02AF\u0370-\u03FF\u2100-\u214F]$/.test(A)},I.isValidMathSymbol=function(A,e){return/^[\uD835]$/.test(A)&&/^[\uDC00-\uDFFF]$/.test(e)&&/^[^\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]$/.test(e)},I.isWhitespace=function(A,e){return" "===A||"\t"===A||"\n"===A&&e>0},I.isDecimalMark=function(A,e){return"."===A&&"/"!==e&&"*"!==e&&"^"!==e},I.isDigitDot=function(A){return A>="0"&&A<="9"||"."===A},I.isDigit=function(A){return A>="0"&&A<="9"},I.isHexDigit=function(A){return A>="0"&&A<="9"||A>="a"&&A<="f"||A>="A"&&A<="F"},e.addConversion({from:"string",to:"Node",convert:I}),I}),lh=le("resolve",["typed","parse","ConstantNode","FunctionNode","OperatorNode","ParenthesisNode"],A=>{var{typed:e,parse:t,ConstantNode:n,FunctionNode:i,OperatorNode:r,ParenthesisNode:s}=A;function o(A,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set;if(!e)return A;if(O(A)){if(a.has(A.name)){var B=Array.from(a).join(", ");throw new ReferenceError("recursive loop of variable definitions among {".concat(B,"}"))}var c=e.get(A.name);if(J(c)){var g=new Set(a);return g.add(A.name),o(c,e,g)}return"number"==typeof c?t(String(c)):void 0!==c?new n(c):A}if(z(A)){var Q=A.args.map((function(A){return o(A,e,a)}));return new r(A.op,A.fn,Q,A.implicit)}if(v(A))return new s(o(A.content,e,a));if(b(A)){var E=A.args.map((function(A){return o(A,e,a)}));return new i(A.name,E)}return A.map(A=>o(A,e,a))}return e("resolve",{Node:o,"Node, Map | null | undefined":o,"Node, Object":(A,e)=>o(A,wn(e)),"Array | Matrix":e.referToSelf(A=>e=>e.map(e=>A(e))),"Array | Matrix, null | undefined":e.referToSelf(A=>e=>e.map(e=>A(e))),"Array, Object":e.referTo("Array,Map",A=>(e,t)=>A(e,wn(t))),"Matrix, Object":e.referTo("Matrix,Map",A=>(e,t)=>A(e,wn(t))),"Array | Matrix, Map":e.referToSelf(A=>(e,t)=>e.map(e=>A(e,t)))})});function uh(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,n)}return t}function wh(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?uh(Object(t),!0).forEach((function(e){KB()(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):uh(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}var hh=["FunctionNode","OperatorNode","SymbolNode"],Ch=le("simplifyUtil",hh,A=>{var{FunctionNode:e,OperatorNode:t,SymbolNode:n}=A,i=!0,r=!1,s={add:{trivial:i,total:i,commutative:i,associative:i},unaryPlus:{trivial:i,total:i,commutative:i,associative:i},subtract:{trivial:r,total:i,commutative:r,associative:r},multiply:{trivial:i,total:i,commutative:i,associative:i},divide:{trivial:r,total:i,commutative:r,associative:r},paren:{trivial:i,total:i,commutative:i,associative:r},defaultF:{trivial:r,total:i,commutative:r,associative:r}};function o(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s,n="defaultF";if("string"==typeof A?n=A:z(A)?n=A.fn.toString():b(A)?n=A.name:v(A)&&(n="paren"),AA(t,n)){var i=t[n];if(AA(i,e))return i[e];if(AA(s,n))return s[n][e]}if(AA(t,"defaultF")){var r=t.defaultF;return AA(r,e)?r[e]:s.defaultF[e]}if(AA(s,n)){var o=s[n];if(AA(o,e))return o[e]}return s.defaultF[e]}function a(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s;return o(A,"associative",e)}function B(A,e){var t,n=[];return a(A,e)?(t=A.op,function A(e){for(var i=0;i<e.args.length;i++){var r=e.args[i];z(r)&&t===r.op?A(r):n.push(r)}}(A),n):A.args}function c(A){return z(A)?function(e){try{return new t(A.op,A.fn,e,A.implicit)}catch(A){return console.error(A),[]}}:function(t){return new e(new n(A.name),t)}}return{createMakeNodeFunction:c,hasProperty:o,isCommutative:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s;return o(A,"commutative",e)},isAssociative:a,mergeContext:function(A,e){var t=wh({},A);for(var n in e)AA(A,n)?t[n]=wh(wh({},e[n]),A[n]):t[n]=e[n];return t},flatten:function A(e,t){if(!e.args||0===e.args.length)return e;e.args=B(e,t);for(var n=0;n<e.args.length;n++)A(e.args[n],t)},allChildren:B,unflattenr:function A(e,t){if(e.args&&0!==e.args.length){for(var n=c(e),i=e.args.length,r=0;r<i;r++)A(e.args[r],t);if(i>2&&a(e,t)){for(var s=e.args.pop();e.args.length>0;)s=n([e.args.pop(),s]);e.args=s.args}}},unflattenl:function A(e,t){if(e.args&&0!==e.args.length){for(var n=c(e),i=e.args.length,r=0;r<i;r++)A(e.args[r],t);if(i>2&&a(e,t)){for(var s=e.args.shift();e.args.length>0;)s=n([s,e.args.shift()]);e.args=s.args}}},defaultContext:s,realContext:{divide:{total:r},log:{total:r}},positiveContext:{subtract:{total:r},abs:{trivial:i},log:{total:i}}}}),dh=["typed","config","mathWithTransform","matrix","?fraction","?bignumber","AccessorNode","ArrayNode","ConstantNode","FunctionNode","IndexNode","ObjectNode","OperatorNode","SymbolNode"],Ih=le("simplifyConstant",dh,A=>{var{typed:e,config:t,mathWithTransform:n,matrix:i,fraction:r,bignumber:s,AccessorNode:o,ArrayNode:a,ConstantNode:B,FunctionNode:g,IndexNode:Q,ObjectNode:E,OperatorNode:u,SymbolNode:w}=A,{isCommutative:h,isAssociative:C,allChildren:d,createMakeNodeFunction:I}=Ch({FunctionNode:g,OperatorNode:u,SymbolNode:w}),M=e("simplifyConstant",{Node:A=>D(x(A,{})),"Node, Object":function(A,e){return D(x(A,e))}});function p(A){return c(A)?A.valueOf():A instanceof Array?A.map(p):l(A)?i(p(A.valueOf())):A}function m(A,e,t){try{return n[A].apply(null,e)}catch(i){return e=e.map(p),f(n[A].apply(null,e),t)}}var F=e({Fraction:function(A){var e,t=A.s*A.n;e=t<0?new u("-","unaryMinus",[new B(-t)]):new B(t);if(1===A.d)return e;return new u("/","divide",[e,new B(A.d)])},number:function(A){return A<0?N(new B(-A)):new B(A)},BigNumber:function(A){return A<0?N(new B(-A)):new B(A)},Complex:function(A){throw new Error("Cannot convert Complex number to Node")},string:function(A){return new B(A)},Matrix:function(A){return new a(A.valueOf().map(A=>F(A)))}});function D(A){return J(A)?A:F(A)}function Y(A,e){if(e&&!1!==e.exactFractions&&isFinite(A)&&r){var t=r(A),n=e&&"number"==typeof e.fractionsLimit?e.fractionsLimit:1/0;if(t.valueOf()===A&&t.n<n&&t.d<n)return t}return A}var f=e({"string, Object":function(A,e){return"BigNumber"===t.number?(void 0===s&&Js(),s(A)):"Fraction"===t.number?(void 0===r&&js(),r(A)):Y(parseFloat(A),e)},"Fraction, Object":function(A,e){return A},"BigNumber, Object":function(A,e){return A},"number, Object":function(A,e){return Y(A,e)},"Complex, Object":function(A,e){return 0!==A.im?A:Y(A.re,e)},"Matrix, Object":function(A,e){return i(Y(A.valueOf()))},"Array, Object":function(A,e){return A.map(Y)}});function N(A){return new u("-","unaryMinus",[A])}function U(A,e,t,n){var i=e.shift(),r=e.reduce((e,i)=>{if(!J(i)){var r=e.pop();if(J(r))return[r,i];try{return e.push(m(A,[r,i],n)),e}catch(A){e.push(r)}}e.push(D(e.pop()));var s=1===e.length?e[0]:t(e);return[t([s,D(i)])]},[i]);return 1===r.length?r[0]:t([r[0],F(r[1])])}function x(A,e){switch(A.type){case"SymbolNode":return A;case"ConstantNode":switch(typeof A.value){case"number":return f(A.value,e);case"string":return A.value;default:if(!isNaN(A.value))return f(A.value,e)}return A;case"FunctionNode":if(n[A.name]&&n[A.name].rawArgs)return A;if(-1===["add","multiply"].indexOf(A.name)){var t=A.args.map(A=>x(A,e));if(!t.some(J))try{return m(A.name,t,e)}catch(A){}if("size"===A.name&&1===t.length&&y(t[0])){for(var r=[],s=t[0];y(s);)r.push(s.items.length),s=s.items[0];return i(r)}return new g(A.name,t.map(D))}case"OperatorNode":var c,u,w=A.fn.toString(),p=I(A);if(z(A)&&A.isUnary())u=J((c=[x(A.args[0],e)])[0])?p(c):m(w,c,e);else if(C(A,e.context))if(c=(c=d(A,e.context)).map(A=>x(A,e)),h(w,e.context)){for(var F=[],Y=[],N=0;N<c.length;N++)J(c[N])?Y.push(c[N]):F.push(c[N]);F.length>1?(u=U(w,F,p,e),Y.unshift(u),u=U(w,Y,p,e)):u=U(w,c,p,e)}else u=U(w,c,p,e);else u=U(w,c=A.args.map(A=>x(A,e)),p,e);return u;case"ParenthesisNode":return x(A.content,e);case"AccessorNode":return function(A,e,t){if(!k(e))return new o(D(A),D(e));if(y(A)||l(A)){for(var n=Array.from(e.dimensions);n.length>0;)if(G(n[0])&&"string"!=typeof n[0].value){var r=f(n.shift().value,t);y(A)?A=A.items[r-1]:(A=A.valueOf()[r-1])instanceof Array&&(A=i(A))}else{if(!(n.length>1&&G(n[1])&&"string"!=typeof n[1].value))break;var s=f(n[1].value,t),c=[],g=y(A)?A.items:A.valueOf();for(var E of g)if(y(E))c.push(E.items[s-1]);else{if(!l(A))break;c.push(E[s-1])}if(c.length!==g.length)break;A=y(A)?new a(c):i(c),n.splice(1,1)}return n.length===e.dimensions.length?new o(D(A),e):n.length>0?(e=new Q(n),new o(D(A),e)):A}if(j(A)&&1===e.dimensions.length&&G(e.dimensions[0])){var u=e.dimensions[0].value;return u in A.properties?A.properties[u]:new B}return new o(D(A),e)}(x(A.object,e),x(A.index,e),e);case"ArrayNode":var T=A.items.map(A=>x(A,e));return T.some(J)?new a(T.map(D)):i(T);case"IndexNode":return new Q(A.dimensions.map(A=>M(A,e)));case"ObjectNode":var R={};for(var S in A.properties)R[S]=M(A.properties[S],e);return new E(R);case"AssignmentNode":case"BlockNode":case"FunctionAssignmentNode":case"RangeNode":case"ConditionalNode":default:throw new Error("Unimplemented node type in simplifyConstant: ".concat(A.type))}}return M}),Mh=["typed","parse"],ph=le("compile",Mh,A=>{var{typed:e,parse:t}=A;return e("compile",{string:function(A){return t(A).compile()},"Array | Matrix":function(A){return fn(A,(function(A){return t(A).compile()}))}})}),mh=["parse"],Fh=le("Help",mh,A=>{var{parse:e}=A;function t(A){if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");if(!A)throw new Error('Argument "doc" missing');this.doc=A}return t.prototype.type="Help",t.prototype.isHelp=!0,t.prototype.toString=function(){var A=this.doc||{},t="\n";if(A.name&&(t+="Name: "+A.name+"\n\n"),A.category&&(t+="Category: "+A.category+"\n\n"),A.description&&(t+="Description:\n "+A.description+"\n\n"),A.syntax&&(t+="Syntax:\n "+A.syntax.join("\n ")+"\n\n"),A.examples){t+="Examples:\n";for(var n={},i=0;i<A.examples.length;i++){var r=A.examples[i];t+=" "+r+"\n";var s=void 0;try{s=e(r).compile().evaluate(n)}catch(A){s=A}void 0===s||p(s)||(t+=" "+SA(s,{precision:14})+"\n")}t+="\n"}return A.mayThrow&&A.mayThrow.length&&(t+="Throws: "+A.mayThrow.join(", ")+"\n\n"),A.seealso&&A.seealso.length&&(t+="See also: "+A.seealso.join(", ")+"\n"),t},t.prototype.toJSON=function(){var A=K(this.doc);return A.mathjs="Help",A},t.fromJSON=function(A){var e={};return Object.keys(A).filter(A=>"mathjs"!==A).forEach(t=>{e[t]=A[t]}),new t(e)},t.prototype.valueOf=t.prototype.toString,t},{isClass:!0}),Dh=["parse","typed"],Yh=le("leafCount",Dh,A=>{var{parse:e,typed:t}=A;return t("leafCount",{Node:function(A){return function A(e){var t=0;return e.forEach(e=>{t+=A(e)}),t||1}(A)}})}),fh=["typed","parse","equal","isZero","add","subtract","multiply","divide","pow","AccessorNode","ArrayNode","ConstantNode","FunctionNode","IndexNode","ObjectNode","OperatorNode","ParenthesisNode","SymbolNode"],Nh=le("simplifyCore",fh,A=>{var{typed:e,parse:t,equal:n,isZero:i,add:r,subtract:s,multiply:o,divide:a,pow:B,AccessorNode:c,ArrayNode:g,ConstantNode:Q,FunctionNode:E,IndexNode:l,ObjectNode:u,OperatorNode:w,ParenthesisNode:h,SymbolNode:C}=A,d=new Q(0),I=new Q(1),M=new Q(!0),p=new Q(!1);function m(A){return z(A)&&["and","not","or"].includes(A.op)}var{hasProperty:F,isCommutative:D}=Ch({FunctionNode:E,OperatorNode:w,SymbolNode:C});function Y(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e?e.context:void 0;if(F(A,"trivial",t)){if(b(A)&&1===A.args.length)return Y(A.args[0],e);var r=!1,s=0;if(A.forEach(A=>{1===++s&&(r=Y(A,e))}),1===s)return r}var o=A;if(b(o)){var a=kw(o.name);if(!a)return new E(Y(o.fn),o.args.map(A=>Y(A,e)));if(o.args.length>2&&F(o,"associative",t))for(;o.args.length>2;){var B=o.args.pop(),Q=o.args.pop();o.args.push(new w(a,o.name,[B,Q]))}o=new w(a,o.name,o.args)}if(z(o)&&o.isUnary()){var h=Y(o.args[0],e);if("~"===o.op&&z(h)&&h.isUnary()&&"~"===h.op)return h.args[0];if("not"===o.op&&z(h)&&h.isUnary()&&"not"===h.op&&m(h.args[0]))return h.args[0];var C=!0;if("-"===o.op&&z(h)&&(h.isBinary()&&"subtract"===h.fn&&(o=new w("-","subtract",[h.args[1],h.args[0]]),C=!1),h.isUnary()&&"-"===h.op))return h.args[0];if(C)return new w(o.op,o.fn,[h])}if(z(o)&&o.isBinary()){var f=Y(o.args[0],e),N=Y(o.args[1],e);if("+"===o.op){if(G(f)&&i(f.value))return N;if(G(N)&&i(N.value))return f;z(N)&&N.isUnary()&&"-"===N.op&&(N=N.args[0],o=new w("-","subtract",[f,N]))}if("-"===o.op)return z(N)&&N.isUnary()&&"-"===N.op?Y(new w("+","add",[f,N.args[0]]),e):G(f)&&i(f.value)?Y(new w("-","unaryMinus",[N])):G(N)&&i(N.value)?f:new w(o.op,o.fn,[f,N]);if("*"===o.op){if(G(f)){if(i(f.value))return d;if(n(f.value,1))return N}if(G(N)){if(i(N.value))return d;if(n(N.value,1))return f;if(D(o,t))return new w(o.op,o.fn,[N,f],o.implicit)}return new w(o.op,o.fn,[f,N],o.implicit)}if("/"===o.op)return G(f)&&i(f.value)?d:G(N)&&n(N.value,1)?f:new w(o.op,o.fn,[f,N]);if("^"===o.op&&G(N)){if(i(N.value))return I;if(n(N.value,1))return f}if("and"===o.op){if(G(f)){if(!f.value)return p;if(m(N))return N}if(G(N)){if(!N.value)return p;if(m(f))return f}}if("or"===o.op){if(G(f)){if(f.value)return M;if(m(N))return N}if(G(N)){if(N.value)return M;if(m(f))return f}}return new w(o.op,o.fn,[f,N])}if(z(o))return new w(o.op,o.fn,o.args.map(A=>Y(A,e)));if(y(o))return new g(o.items.map(A=>Y(A,e)));if(U(o))return new c(Y(o.object,e),Y(o.index,e));if(k(o))return new l(o.dimensions.map(A=>Y(A,e)));if(j(o)){var x={};for(var T in o.properties)x[T]=Y(o.properties[T],e);return new u(x)}return o}return e("simplifyCore",{Node:Y,"Node,Object":Y})}),Uh=["typed","parse"],yh=le("evaluate",Uh,A=>{var{typed:e,parse:t}=A;return e("evaluate",{string:function(A){var e=un();return t(A).compile().evaluate(e)},"string, Map | Object":function(A,e){return t(A).compile().evaluate(e)},"Array | Matrix":function(A){var e=un();return fn(A,(function(A){return t(A).compile().evaluate(e)}))},"Array | Matrix, Map | Object":function(A,e){return fn(A,(function(A){return t(A).compile().evaluate(e)}))}})}),xh={name:"e",category:"Constants",syntax:["e"],description:"Euler's number, the base of the natural logarithm. Approximately equal to 2.71828",examples:["e","e ^ 2","exp(2)","log(e)"],seealso:["exp"]},Th={name:"pi",category:"Constants",syntax:["pi"],description:"The number pi is a mathematical constant that is the ratio of a circle's circumference to its diameter, and is approximately equal to 3.14159",examples:["pi","sin(pi/2)"],seealso:["tau"]},Rh={bignumber:{name:"bignumber",category:"Construction",syntax:["bignumber(x)"],description:"Create a big number from a number or string.",examples:["0.1 + 0.2","bignumber(0.1) + bignumber(0.2)",'bignumber("7.2")','bignumber("7.2e500")',"bignumber([0.1, 0.2, 0.3])"],seealso:["boolean","complex","fraction","index","matrix","string","unit"]},boolean:{name:"boolean",category:"Construction",syntax:["x","boolean(x)"],description:"Convert a string or number into a boolean.",examples:["boolean(0)","boolean(1)","boolean(3)",'boolean("true")','boolean("false")',"boolean([1, 0, 1, 1])"],seealso:["bignumber","complex","index","matrix","number","string","unit"]},complex:{name:"complex",category:"Construction",syntax:["complex()","complex(re, im)","complex(string)"],description:"Create a complex number.",examples:["complex()","complex(2, 3)",'complex("7 - 2i")'],seealso:["bignumber","boolean","index","matrix","number","string","unit"]},createUnit:{name:"createUnit",category:"Construction",syntax:["createUnit(definitions)","createUnit(name, definition)"],description:"Create a user-defined unit and register it with the Unit type.",examples:['createUnit("foo")','createUnit("knot", {definition: "0.514444444 m/s", aliases: ["knots", "kt", "kts"]})','createUnit("mph", "1 mile/hour")'],seealso:["unit","splitUnit"]},fraction:{name:"fraction",category:"Construction",syntax:["fraction(num)","fraction(matrix)","fraction(num,den)","fraction({n: num, d: den})"],description:"Create a fraction from a number or from integer numerator and denominator.",examples:["fraction(0.125)","fraction(1, 3) + fraction(2, 5)","fraction({n: 333, d: 53})","fraction([sqrt(9), sqrt(10), sqrt(11)])"],seealso:["bignumber","boolean","complex","index","matrix","string","unit"]},index:{name:"index",category:"Construction",syntax:["[start]","[start:end]","[start:step:end]","[start1, start 2, ...]","[start1:end1, start2:end2, ...]","[start1:step1:end1, start2:step2:end2, ...]"],description:"Create an index to get or replace a subset of a matrix",examples:["A = [1, 2, 3; 4, 5, 6]","A[1, :]","A[1, 2] = 50","A[1:2, 1:2] = 1","B = [1, 2, 3]","B[B>1 and B<3]"],seealso:["bignumber","boolean","complex","matrix,","number","range","string","unit"]},matrix:{name:"matrix",category:"Construction",syntax:["[]","[a1, b1, ...; a2, b2, ...]","matrix()",'matrix("dense")',"matrix([...])"],description:"Create a matrix.",examples:["[]","[1, 2, 3]","[1, 2, 3; 4, 5, 6]","matrix()","matrix([3, 4])",'matrix([3, 4; 5, 6], "sparse")','matrix([3, 4; 5, 6], "sparse", "number")'],seealso:["bignumber","boolean","complex","index","number","string","unit","sparse"]},number:{name:"number",category:"Construction",syntax:["x","number(x)","number(unit, valuelessUnit)"],description:"Create a number or convert a string or boolean into a number.",examples:["2","2e3","4.05","number(2)",'number("7.2")',"number(true)","number([true, false, true, true])",'number(unit("52cm"), "m")'],seealso:["bignumber","boolean","complex","fraction","index","matrix","string","unit"]},sparse:{name:"sparse",category:"Construction",syntax:["sparse()","sparse([a1, b1, ...; a1, b2, ...])",'sparse([a1, b1, ...; a1, b2, ...], "number")'],description:"Create a sparse matrix.",examples:["sparse()","sparse([3, 4; 5, 6])",'sparse([3, 0; 5, 0], "number")'],seealso:["bignumber","boolean","complex","index","number","string","unit","matrix"]},splitUnit:{name:"splitUnit",category:"Construction",syntax:["splitUnit(unit: Unit, parts: Unit[])"],description:"Split a unit in an array of units whose sum is equal to the original unit.",examples:['splitUnit(1 m, ["feet", "inch"])'],seealso:["unit","createUnit"]},string:{name:"string",category:"Construction",syntax:['"text"',"string(x)"],description:"Create a string or convert a value to a string",examples:['"Hello World!"',"string(4.2)","string(3 + 2i)"],seealso:["bignumber","boolean","complex","index","matrix","number","unit"]},unit:{name:"unit",category:"Construction",syntax:["value unit","unit(value, unit)","unit(string)"],description:"Create a unit.",examples:["5.5 mm","3 inch",'unit(7.1, "kilogram")','unit("23 deg")'],seealso:["bignumber","boolean","complex","index","matrix","number","string"]},e:xh,E:xh,false:{name:"false",category:"Constants",syntax:["false"],description:"Boolean value false",examples:["false"],seealso:["true"]},i:{name:"i",category:"Constants",syntax:["i"],description:"Imaginary unit, defined as i*i=-1. A complex number is described as a + b*i, where a is the real part, and b is the imaginary part.",examples:["i","i * i","sqrt(-1)"],seealso:[]},Infinity:{name:"Infinity",category:"Constants",syntax:["Infinity"],description:"Infinity, a number which is larger than the maximum number that can be handled by a floating point number.",examples:["Infinity","1 / 0"],seealso:[]},LN2:{name:"LN2",category:"Constants",syntax:["LN2"],description:"Returns the natural logarithm of 2, approximately equal to 0.693",examples:["LN2","log(2)"],seealso:[]},LN10:{name:"LN10",category:"Constants",syntax:["LN10"],description:"Returns the natural logarithm of 10, approximately equal to 2.302",examples:["LN10","log(10)"],seealso:[]},LOG2E:{name:"LOG2E",category:"Constants",syntax:["LOG2E"],description:"Returns the base-2 logarithm of E, approximately equal to 1.442",examples:["LOG2E","log(e, 2)"],seealso:[]},LOG10E:{name:"LOG10E",category:"Constants",syntax:["LOG10E"],description:"Returns the base-10 logarithm of E, approximately equal to 0.434",examples:["LOG10E","log(e, 10)"],seealso:[]},NaN:{name:"NaN",category:"Constants",syntax:["NaN"],description:"Not a number",examples:["NaN","0 / 0"],seealso:[]},null:{name:"null",category:"Constants",syntax:["null"],description:"Value null",examples:["null"],seealso:["true","false"]},pi:Th,PI:Th,phi:{name:"phi",category:"Constants",syntax:["phi"],description:"Phi is the golden ratio. Two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Phi is defined as `(1 + sqrt(5)) / 2` and is approximately 1.618034...",examples:["phi"],seealso:[]},SQRT1_2:{name:"SQRT1_2",category:"Constants",syntax:["SQRT1_2"],description:"Returns the square root of 1/2, approximately equal to 0.707",examples:["SQRT1_2","sqrt(1/2)"],seealso:[]},SQRT2:{name:"SQRT2",category:"Constants",syntax:["SQRT2"],description:"Returns the square root of 2, approximately equal to 1.414",examples:["SQRT2","sqrt(2)"],seealso:[]},tau:{name:"tau",category:"Constants",syntax:["tau"],description:"Tau is the ratio constant of a circle's circumference to radius, equal to 2 * pi, approximately 6.2832.",examples:["tau","2 * pi"],seealso:["pi"]},true:{name:"true",category:"Constants",syntax:["true"],description:"Boolean value true",examples:["true"],seealso:["false"]},version:{name:"version",category:"Constants",syntax:["version"],description:"A string with the version number of math.js",examples:["version"],seealso:[]},speedOfLight:{description:"Speed of light in vacuum",examples:["speedOfLight"]},gravitationConstant:{description:"Newtonian constant of gravitation",examples:["gravitationConstant"]},planckConstant:{description:"Planck constant",examples:["planckConstant"]},reducedPlanckConstant:{description:"Reduced Planck constant",examples:["reducedPlanckConstant"]},magneticConstant:{description:"Magnetic constant (vacuum permeability)",examples:["magneticConstant"]},electricConstant:{description:"Electric constant (vacuum permeability)",examples:["electricConstant"]},vacuumImpedance:{description:"Characteristic impedance of vacuum",examples:["vacuumImpedance"]},coulomb:{description:"Coulomb's constant",examples:["coulomb"]},elementaryCharge:{description:"Elementary charge",examples:["elementaryCharge"]},bohrMagneton:{description:"Borh magneton",examples:["bohrMagneton"]},conductanceQuantum:{description:"Conductance quantum",examples:["conductanceQuantum"]},inverseConductanceQuantum:{description:"Inverse conductance quantum",examples:["inverseConductanceQuantum"]},magneticFluxQuantum:{description:"Magnetic flux quantum",examples:["magneticFluxQuantum"]},nuclearMagneton:{description:"Nuclear magneton",examples:["nuclearMagneton"]},klitzing:{description:"Von Klitzing constant",examples:["klitzing"]},bohrRadius:{description:"Borh radius",examples:["bohrRadius"]},classicalElectronRadius:{description:"Classical electron radius",examples:["classicalElectronRadius"]},electronMass:{description:"Electron mass",examples:["electronMass"]},fermiCoupling:{description:"Fermi coupling constant",examples:["fermiCoupling"]},fineStructure:{description:"Fine-structure constant",examples:["fineStructure"]},hartreeEnergy:{description:"Hartree energy",examples:["hartreeEnergy"]},protonMass:{description:"Proton mass",examples:["protonMass"]},deuteronMass:{description:"Deuteron Mass",examples:["deuteronMass"]},neutronMass:{description:"Neutron mass",examples:["neutronMass"]},quantumOfCirculation:{description:"Quantum of circulation",examples:["quantumOfCirculation"]},rydberg:{description:"Rydberg constant",examples:["rydberg"]},thomsonCrossSection:{description:"Thomson cross section",examples:["thomsonCrossSection"]},weakMixingAngle:{description:"Weak mixing angle",examples:["weakMixingAngle"]},efimovFactor:{description:"Efimov factor",examples:["efimovFactor"]},atomicMass:{description:"Atomic mass constant",examples:["atomicMass"]},avogadro:{description:"Avogadro's number",examples:["avogadro"]},boltzmann:{description:"Boltzmann constant",examples:["boltzmann"]},faraday:{description:"Faraday constant",examples:["faraday"]},firstRadiation:{description:"First radiation constant",examples:["firstRadiation"]},loschmidt:{description:"Loschmidt constant at T=273.15 K and p=101.325 kPa",examples:["loschmidt"]},gasConstant:{description:"Gas constant",examples:["gasConstant"]},molarPlanckConstant:{description:"Molar Planck constant",examples:["molarPlanckConstant"]},molarVolume:{description:"Molar volume of an ideal gas at T=273.15 K and p=101.325 kPa",examples:["molarVolume"]},sackurTetrode:{description:"Sackur-Tetrode constant at T=1 K and p=101.325 kPa",examples:["sackurTetrode"]},secondRadiation:{description:"Second radiation constant",examples:["secondRadiation"]},stefanBoltzmann:{description:"Stefan-Boltzmann constant",examples:["stefanBoltzmann"]},wienDisplacement:{description:"Wien displacement law constant",examples:["wienDisplacement"]},molarMass:{description:"Molar mass constant",examples:["molarMass"]},molarMassC12:{description:"Molar mass constant of carbon-12",examples:["molarMassC12"]},gravity:{description:"Standard acceleration of gravity (standard acceleration of free-fall on Earth)",examples:["gravity"]},planckLength:{description:"Planck length",examples:["planckLength"]},planckMass:{description:"Planck mass",examples:["planckMass"]},planckTime:{description:"Planck time",examples:["planckTime"]},planckCharge:{description:"Planck charge",examples:["planckCharge"]},planckTemperature:{description:"Planck temperature",examples:["planckTemperature"]},derivative:{name:"derivative",category:"Algebra",syntax:["derivative(expr, variable)","derivative(expr, variable, {simplify: boolean})"],description:"Takes the derivative of an expression expressed in parser Nodes. The derivative will be taken over the supplied variable in the second parameter. If there are multiple variables in the expression, it will return a partial derivative.",examples:['derivative("2x^3", "x")','derivative("2x^3", "x", {simplify: false})','derivative("2x^2 + 3x + 4", "x")','derivative("sin(2x)", "x")','f = parse("x^2 + x")','x = parse("x")',"df = derivative(f, x)","df.evaluate({x: 3})"],seealso:["simplify","parse","evaluate"]},lsolve:{name:"lsolve",category:"Algebra",syntax:["x=lsolve(L, b)"],description:"Finds one solution of the linear system L * x = b where L is an [n x n] lower triangular matrix and b is a [n] column vector.",examples:["a = [-2, 3; 2, 1]","b = [11, 9]","x = lsolve(a, b)"],seealso:["lsolveAll","lup","lusolve","usolve","matrix","sparse"]},lsolveAll:{name:"lsolveAll",category:"Algebra",syntax:["x=lsolveAll(L, b)"],description:"Finds all solutions of the linear system L * x = b where L is an [n x n] lower triangular matrix and b is a [n] column vector.",examples:["a = [-2, 3; 2, 1]","b = [11, 9]","x = lsolve(a, b)"],seealso:["lsolve","lup","lusolve","usolve","matrix","sparse"]},lup:{name:"lup",category:"Algebra",syntax:["lup(m)"],description:"Calculate the Matrix LU decomposition with partial pivoting. Matrix A is decomposed in three matrices (L, U, P) where P * A = L * U",examples:["lup([[2, 1], [1, 4]])","lup(matrix([[2, 1], [1, 4]]))","lup(sparse([[2, 1], [1, 4]]))"],seealso:["lusolve","lsolve","usolve","matrix","sparse","slu","qr"]},lusolve:{name:"lusolve",category:"Algebra",syntax:["x=lusolve(A, b)","x=lusolve(lu, b)"],description:"Solves the linear system A * x = b where A is an [n x n] matrix and b is a [n] column vector.",examples:["a = [-2, 3; 2, 1]","b = [11, 9]","x = lusolve(a, b)"],seealso:["lup","slu","lsolve","usolve","matrix","sparse"]},leafCount:{name:"leafCount",category:"Algebra",syntax:["leafCount(expr)"],description:"Computes the number of leaves in the parse tree of the given expression",examples:['leafCount("e^(i*pi)-1")','leafCount(parse("{a: 22/7, b: 10^(1/2)}"))'],seealso:["simplify"]},polynomialRoot:{name:"polynomialRoot",category:"Algebra",syntax:["x=polynomialRoot(-6, 3)","x=polynomialRoot(4, -4, 1)","x=polynomialRoot(-8, 12, -6, 1)"],description:"Finds the roots of a univariate polynomial given by its coefficients starting from constant, linear, and so on, increasing in degree.",examples:["a = polynomialRoot(-6, 11, -6, 1)"],seealso:["cbrt","sqrt"]},resolve:{name:"resolve",category:"Algebra",syntax:["resolve(node, scope)"],description:"Recursively substitute variables in an expression tree.",examples:['resolve(parse("1 + x"), { x: 7 })','resolve(parse("size(text)"), { text: "Hello World" })','resolve(parse("x + y"), { x: parse("3z") })','resolve(parse("3x"), { x: parse("y+z"), z: parse("w^y") })'],seealso:["simplify","evaluate"],mayThrow:["ReferenceError"]},simplify:{name:"simplify",category:"Algebra",syntax:["simplify(expr)","simplify(expr, rules)"],description:"Simplify an expression tree.",examples:['simplify("3 + 2 / 4")','simplify("2x + x")','f = parse("x * (x + 2 + x)")',"simplified = simplify(f)","simplified.evaluate({x: 2})"],seealso:["simplifyCore","derivative","evaluate","parse","rationalize","resolve"]},simplifyConstant:{name:"simplifyConstant",category:"Algebra",syntax:["simplifyConstant(expr)","simplifyConstant(expr, options)"],description:"Replace constant subexpressions of node with their values.",examples:['simplifyConstant("(3-3)*x")','simplifyConstant(parse("z-cos(tau/8)"))'],seealso:["simplify","simplifyCore","evaluate"]},simplifyCore:{name:"simplifyCore",category:"Algebra",syntax:["simplifyCore(node)"],description:"Perform simple one-pass simplifications on an expression tree.",examples:['simplifyCore(parse("0*x"))','simplifyCore(parse("(x+0)*2"))'],seealso:["simplify","simplifyConstant","evaluate"]},symbolicEqual:{name:"symbolicEqual",category:"Algebra",syntax:["symbolicEqual(expr1, expr2)","symbolicEqual(expr1, expr2, options)"],description:"Returns true if the difference of the expressions simplifies to 0",examples:['symbolicEqual("x*y","y*x")','symbolicEqual("abs(x^2)", "x^2")','symbolicEqual("abs(x)", "x", {context: {abs: {trivial: true}}})'],seealso:["simplify","evaluate"]},rationalize:{name:"rationalize",category:"Algebra",syntax:["rationalize(expr)","rationalize(expr, scope)","rationalize(expr, scope, detailed)"],description:"Transform a rationalizable expression in a rational fraction. If rational fraction is one variable polynomial then converts the numerator and denominator in canonical form, with decreasing exponents, returning the coefficients of numerator.",examples:['rationalize("2x/y - y/(x+1)")','rationalize("2x/y - y/(x+1)", true)'],seealso:["simplify"]},slu:{name:"slu",category:"Algebra",syntax:["slu(A, order, threshold)"],description:"Calculate the Matrix LU decomposition with full pivoting. Matrix A is decomposed in two matrices (L, U) and two permutation vectors (pinv, q) where P * A * Q = L * U",examples:["slu(sparse([4.5, 0, 3.2, 0; 3.1, 2.9, 0, 0.9; 0, 1.7, 3, 0; 3.5, 0.4, 0, 1]), 1, 0.001)"],seealso:["lusolve","lsolve","usolve","matrix","sparse","lup","qr"]},usolve:{name:"usolve",category:"Algebra",syntax:["x=usolve(U, b)"],description:"Finds one solution of the linear system U * x = b where U is an [n x n] upper triangular matrix and b is a [n] column vector.",examples:["x=usolve(sparse([1, 1, 1, 1; 0, 1, 1, 1; 0, 0, 1, 1; 0, 0, 0, 1]), [1; 2; 3; 4])"],seealso:["usolveAll","lup","lusolve","lsolve","matrix","sparse"]},usolveAll:{name:"usolveAll",category:"Algebra",syntax:["x=usolve(U, b)"],description:"Finds all solutions of the linear system U * x = b where U is an [n x n] upper triangular matrix and b is a [n] column vector.",examples:["x=usolve(sparse([1, 1, 1, 1; 0, 1, 1, 1; 0, 0, 1, 1; 0, 0, 0, 1]), [1; 2; 3; 4])"],seealso:["usolve","lup","lusolve","lsolve","matrix","sparse"]},qr:{name:"qr",category:"Algebra",syntax:["qr(A)"],description:"Calculates the Matrix QR decomposition. Matrix `A` is decomposed in two matrices (`Q`, `R`) where `Q` is an orthogonal matrix and `R` is an upper triangular matrix.",examples:["qr([[1, -1, 4], [1, 4, -2], [1, 4, 2], [1, -1, 0]])"],seealso:["lup","slu","matrix"]},abs:{name:"abs",category:"Arithmetic",syntax:["abs(x)"],description:"Compute the absolute value.",examples:["abs(3.5)","abs(-4.2)"],seealso:["sign"]},add:{name:"add",category:"Operators",syntax:["x + y","add(x, y)"],description:"Add two values.",examples:["a = 2.1 + 3.6","a - 3.6","3 + 2i","3 cm + 2 inch",'"2.3" + "4"'],seealso:["subtract"]},cbrt:{name:"cbrt",category:"Arithmetic",syntax:["cbrt(x)","cbrt(x, allRoots)"],description:"Compute the cubic root value. If x = y * y * y, then y is the cubic root of x. When `x` is a number or complex number, an optional second argument `allRoots` can be provided to return all three cubic roots. If not provided, the principal root is returned",examples:["cbrt(64)","cube(4)","cbrt(-8)","cbrt(2 + 3i)","cbrt(8i)","cbrt(8i, true)","cbrt(27 m^3)"],seealso:["square","sqrt","cube","multiply"]},ceil:{name:"ceil",category:"Arithmetic",syntax:["ceil(x)"],description:"Round a value towards plus infinity. If x is complex, both real and imaginary part are rounded towards plus infinity.",examples:["ceil(3.2)","ceil(3.8)","ceil(-4.2)"],seealso:["floor","fix","round"]},cube:{name:"cube",category:"Arithmetic",syntax:["cube(x)"],description:"Compute the cube of a value. The cube of x is x * x * x.",examples:["cube(2)","2^3","2 * 2 * 2"],seealso:["multiply","square","pow"]},divide:{name:"divide",category:"Operators",syntax:["x / y","divide(x, y)"],description:"Divide two values.",examples:["a = 2 / 3","a * 3","4.5 / 2","3 + 4 / 2","(3 + 4) / 2","18 km / 4.5"],seealso:["multiply"]},dotDivide:{name:"dotDivide",category:"Operators",syntax:["x ./ y","dotDivide(x, y)"],description:"Divide two values element wise.",examples:["a = [1, 2, 3; 4, 5, 6]","b = [2, 1, 1; 3, 2, 5]","a ./ b"],seealso:["multiply","dotMultiply","divide"]},dotMultiply:{name:"dotMultiply",category:"Operators",syntax:["x .* y","dotMultiply(x, y)"],description:"Multiply two values element wise.",examples:["a = [1, 2, 3; 4, 5, 6]","b = [2, 1, 1; 3, 2, 5]","a .* b"],seealso:["multiply","divide","dotDivide"]},dotPow:{name:"dotPow",category:"Operators",syntax:["x .^ y","dotPow(x, y)"],description:"Calculates the power of x to y element wise.",examples:["a = [1, 2, 3; 4, 5, 6]","a .^ 2"],seealso:["pow"]},exp:{name:"exp",category:"Arithmetic",syntax:["exp(x)"],description:"Calculate the exponent of a value.",examples:["exp(1.3)","e ^ 1.3","log(exp(1.3))","x = 2.4","(exp(i*x) == cos(x) + i*sin(x)) # Euler's formula"],seealso:["expm","expm1","pow","log"]},expm:{name:"expm",category:"Arithmetic",syntax:["exp(x)"],description:"Compute the matrix exponential, expm(A) = e^A. The matrix must be square. Not to be confused with exp(a), which performs element-wise exponentiation.",examples:["expm([[0,2],[0,0]])"],seealso:["exp"]},expm1:{name:"expm1",category:"Arithmetic",syntax:["expm1(x)"],description:"Calculate the value of subtracting 1 from the exponential value.",examples:["expm1(2)","pow(e, 2) - 1","log(expm1(2) + 1)"],seealso:["exp","pow","log"]},fix:{name:"fix",category:"Arithmetic",syntax:["fix(x)"],description:"Round a value towards zero. If x is complex, both real and imaginary part are rounded towards zero.",examples:["fix(3.2)","fix(3.8)","fix(-4.2)","fix(-4.8)"],seealso:["ceil","floor","round"]},floor:{name:"floor",category:"Arithmetic",syntax:["floor(x)"],description:"Round a value towards minus infinity.If x is complex, both real and imaginary part are rounded towards minus infinity.",examples:["floor(3.2)","floor(3.8)","floor(-4.2)"],seealso:["ceil","fix","round"]},gcd:{name:"gcd",category:"Arithmetic",syntax:["gcd(a, b)","gcd(a, b, c, ...)"],description:"Compute the greatest common divisor.",examples:["gcd(8, 12)","gcd(-4, 6)","gcd(25, 15, -10)"],seealso:["lcm","xgcd"]},hypot:{name:"hypot",category:"Arithmetic",syntax:["hypot(a, b, c, ...)","hypot([a, b, c, ...])"],description:"Calculate the hypotenusa of a list with values. ",examples:["hypot(3, 4)","sqrt(3^2 + 4^2)","hypot(-2)","hypot([3, 4, 5])"],seealso:["abs","norm"]},lcm:{name:"lcm",category:"Arithmetic",syntax:["lcm(x, y)"],description:"Compute the least common multiple.",examples:["lcm(4, 6)","lcm(6, 21)","lcm(6, 21, 5)"],seealso:["gcd"]},log:{name:"log",category:"Arithmetic",syntax:["log(x)","log(x, base)"],description:"Compute the logarithm of a value. If no base is provided, the natural logarithm of x is calculated. If base if provided, the logarithm is calculated for the specified base. log(x, base) is defined as log(x) / log(base).",examples:["log(3.5)","a = log(2.4)","exp(a)","10 ^ 4","log(10000, 10)","log(10000) / log(10)","b = log(1024, 2)","2 ^ b"],seealso:["exp","log1p","log2","log10"]},log2:{name:"log2",category:"Arithmetic",syntax:["log2(x)"],description:"Calculate the 2-base of a value. This is the same as calculating `log(x, 2)`.",examples:["log2(0.03125)","log2(16)","log2(16) / log2(2)","pow(2, 4)"],seealso:["exp","log1p","log","log10"]},log1p:{name:"log1p",category:"Arithmetic",syntax:["log1p(x)","log1p(x, base)"],description:"Calculate the logarithm of a `value+1`",examples:["log1p(2.5)","exp(log1p(1.4))","pow(10, 4)","log1p(9999, 10)","log1p(9999) / log(10)"],seealso:["exp","log","log2","log10"]},log10:{name:"log10",category:"Arithmetic",syntax:["log10(x)"],description:"Compute the 10-base logarithm of a value.",examples:["log10(0.00001)","log10(10000)","10 ^ 4","log(10000) / log(10)","log(10000, 10)"],seealso:["exp","log"]},mod:{name:"mod",category:"Operators",syntax:["x % y","x mod y","mod(x, y)"],description:"Calculates the modulus, the remainder of an integer division.",examples:["7 % 3","11 % 2","10 mod 4","isOdd(x) = x % 2","isOdd(2)","isOdd(3)"],seealso:["divide"]},multiply:{name:"multiply",category:"Operators",syntax:["x * y","multiply(x, y)"],description:"multiply two values.",examples:["a = 2.1 * 3.4","a / 3.4","2 * 3 + 4","2 * (3 + 4)","3 * 2.1 km"],seealso:["divide"]},norm:{name:"norm",category:"Arithmetic",syntax:["norm(x)","norm(x, p)"],description:"Calculate the norm of a number, vector or matrix.",examples:["abs(-3.5)","norm(-3.5)","norm(3 - 4i)","norm([1, 2, -3], Infinity)","norm([1, 2, -3], -Infinity)","norm([3, 4], 2)","norm([[1, 2], [3, 4]], 1)",'norm([[1, 2], [3, 4]], "inf")','norm([[1, 2], [3, 4]], "fro")']},nthRoot:{name:"nthRoot",category:"Arithmetic",syntax:["nthRoot(a)","nthRoot(a, root)"],description:'Calculate the nth root of a value. The principal nth root of a positive real number A, is the positive real solution of the equation "x^root = A".',examples:["4 ^ 3","nthRoot(64, 3)","nthRoot(9, 2)","sqrt(9)"],seealso:["nthRoots","pow","sqrt"]},nthRoots:{name:"nthRoots",category:"Arithmetic",syntax:["nthRoots(A)","nthRoots(A, root)"],description:'Calculate the nth roots of a value. An nth root of a positive real number A, is a positive real solution of the equation "x^root = A". This function returns an array of complex values.',examples:["nthRoots(1)","nthRoots(1, 3)"],seealso:["sqrt","pow","nthRoot"]},pow:{name:"pow",category:"Operators",syntax:["x ^ y","pow(x, y)"],description:"Calculates the power of x to y, x^y.",examples:["2^3","2*2*2","1 + e ^ (pi * i)","pow([[1, 2], [4, 3]], 2)","pow([[1, 2], [4, 3]], -1)"],seealso:["multiply","nthRoot","nthRoots","sqrt"]},round:{name:"round",category:"Arithmetic",syntax:["round(x)","round(x, n)"],description:"round a value towards the nearest integer.If x is complex, both real and imaginary part are rounded towards the nearest integer. When n is specified, the value is rounded to n decimals.",examples:["round(3.2)","round(3.8)","round(-4.2)","round(-4.8)","round(pi, 3)","round(123.45678, 2)"],seealso:["ceil","floor","fix"]},sign:{name:"sign",category:"Arithmetic",syntax:["sign(x)"],description:"Compute the sign of a value. The sign of a value x is 1 when x>1, -1 when x<0, and 0 when x=0.",examples:["sign(3.5)","sign(-4.2)","sign(0)"],seealso:["abs"]},sqrt:{name:"sqrt",category:"Arithmetic",syntax:["sqrt(x)"],description:"Compute the square root value. If x = y * y, then y is the square root of x.",examples:["sqrt(25)","5 * 5","sqrt(-1)"],seealso:["square","sqrtm","multiply","nthRoot","nthRoots","pow"]},sqrtm:{name:"sqrtm",category:"Arithmetic",syntax:["sqrtm(x)"],description:"Calculate the principal square root of a square matrix. The principal square root matrix `X` of another matrix `A` is such that `X * X = A`.",examples:["sqrtm([[33, 24], [48, 57]])"],seealso:["sqrt","abs","square","multiply"]},square:{name:"square",category:"Arithmetic",syntax:["square(x)"],description:"Compute the square of a value. The square of x is x * x.",examples:["square(3)","sqrt(9)","3^2","3 * 3"],seealso:["multiply","pow","sqrt","cube"]},subtract:{name:"subtract",category:"Operators",syntax:["x - y","subtract(x, y)"],description:"subtract two values.",examples:["a = 5.3 - 2","a + 2","2/3 - 1/6","2 * 3 - 3","2.1 km - 500m"],seealso:["add"]},unaryMinus:{name:"unaryMinus",category:"Operators",syntax:["-x","unaryMinus(x)"],description:"Inverse the sign of a value. Converts booleans and strings to numbers.",examples:["-4.5","-(-5.6)",'-"22"'],seealso:["add","subtract","unaryPlus"]},unaryPlus:{name:"unaryPlus",category:"Operators",syntax:["+x","unaryPlus(x)"],description:"Converts booleans and strings to numbers.",examples:["+true",'+"2"'],seealso:["add","subtract","unaryMinus"]},xgcd:{name:"xgcd",category:"Arithmetic",syntax:["xgcd(a, b)"],description:"Calculate the extended greatest common divisor for two values. The result is an array [d, x, y] with 3 entries, where d is the greatest common divisor, and d = x * a + y * b.",examples:["xgcd(8, 12)","gcd(8, 12)","xgcd(36163, 21199)"],seealso:["gcd","lcm"]},invmod:{name:"invmod",category:"Arithmetic",syntax:["invmod(a, b)"],description:"Calculate the (modular) multiplicative inverse of a modulo b. Solution to the equation ax ≣ 1 (mod b)",examples:["invmod(8, 12)","invmod(7, 13)","invmod(15151, 15122)"],seealso:["gcd","xgcd"]},bitAnd:{name:"bitAnd",category:"Bitwise",syntax:["x & y","bitAnd(x, y)"],description:"Bitwise AND operation. Performs the logical AND operation on each pair of the corresponding bits of the two given values by multiplying them. If both bits in the compared position are 1, the bit in the resulting binary representation is 1, otherwise, the result is 0",examples:["5 & 3","bitAnd(53, 131)","[1, 12, 31] & 42"],seealso:["bitNot","bitOr","bitXor","leftShift","rightArithShift","rightLogShift"]},bitNot:{name:"bitNot",category:"Bitwise",syntax:["~x","bitNot(x)"],description:"Bitwise NOT operation. Performs a logical negation on each bit of the given value. Bits that are 0 become 1, and those that are 1 become 0.",examples:["~1","~2","bitNot([2, -3, 4])"],seealso:["bitAnd","bitOr","bitXor","leftShift","rightArithShift","rightLogShift"]},bitOr:{name:"bitOr",category:"Bitwise",syntax:["x | y","bitOr(x, y)"],description:"Bitwise OR operation. Performs the logical inclusive OR operation on each pair of corresponding bits of the two given values. The result in each position is 1 if the first bit is 1 or the second bit is 1 or both bits are 1, otherwise, the result is 0.",examples:["5 | 3","bitOr([1, 2, 3], 4)"],seealso:["bitAnd","bitNot","bitXor","leftShift","rightArithShift","rightLogShift"]},bitXor:{name:"bitXor",category:"Bitwise",syntax:["bitXor(x, y)"],description:"Bitwise XOR operation, exclusive OR. Performs the logical exclusive OR operation on each pair of corresponding bits of the two given values. The result in each position is 1 if only the first bit is 1 or only the second bit is 1, but will be 0 if both are 0 or both are 1.",examples:["bitOr(1, 2)","bitXor([2, 3, 4], 4)"],seealso:["bitAnd","bitNot","bitOr","leftShift","rightArithShift","rightLogShift"]},leftShift:{name:"leftShift",category:"Bitwise",syntax:["x << y","leftShift(x, y)"],description:"Bitwise left logical shift of a value x by y number of bits.",examples:["4 << 1","8 >> 1"],seealso:["bitAnd","bitNot","bitOr","bitXor","rightArithShift","rightLogShift"]},rightArithShift:{name:"rightArithShift",category:"Bitwise",syntax:["x >> y","rightArithShift(x, y)"],description:"Bitwise right arithmetic shift of a value x by y number of bits.",examples:["8 >> 1","4 << 1","-12 >> 2"],seealso:["bitAnd","bitNot","bitOr","bitXor","leftShift","rightLogShift"]},rightLogShift:{name:"rightLogShift",category:"Bitwise",syntax:["x >>> y","rightLogShift(x, y)"],description:"Bitwise right logical shift of a value x by y number of bits.",examples:["8 >>> 1","4 << 1","-12 >>> 2"],seealso:["bitAnd","bitNot","bitOr","bitXor","leftShift","rightArithShift"]},bellNumbers:{name:"bellNumbers",category:"Combinatorics",syntax:["bellNumbers(n)"],description:"The Bell Numbers count the number of partitions of a set. A partition is a pairwise disjoint subset of S whose union is S. `bellNumbers` only takes integer arguments. The following condition must be enforced: n >= 0.",examples:["bellNumbers(3)","bellNumbers(8)"],seealso:["stirlingS2"]},catalan:{name:"catalan",category:"Combinatorics",syntax:["catalan(n)"],description:"The Catalan Numbers enumerate combinatorial structures of many different types. catalan only takes integer arguments. The following condition must be enforced: n >= 0.",examples:["catalan(3)","catalan(8)"],seealso:["bellNumbers"]},composition:{name:"composition",category:"Combinatorics",syntax:["composition(n, k)"],description:"The composition counts of n into k parts. composition only takes integer arguments. The following condition must be enforced: k <= n.",examples:["composition(5, 3)"],seealso:["combinations"]},stirlingS2:{name:"stirlingS2",category:"Combinatorics",syntax:["stirlingS2(n, k)"],description:"he Stirling numbers of the second kind, counts the number of ways to partition a set of n labelled objects into k nonempty unlabelled subsets. `stirlingS2` only takes integer arguments. The following condition must be enforced: k <= n. If n = k or k = 1, then s(n,k) = 1.",examples:["stirlingS2(5, 3)"],seealso:["bellNumbers"]},config:{name:"config",category:"Core",syntax:["config()","config(options)"],description:"Get configuration or change configuration.",examples:["config()","1/3 + 1/4",'config({number: "Fraction"})',"1/3 + 1/4"],seealso:[]},import:{name:"import",category:"Core",syntax:["import(functions)","import(functions, options)"],description:"Import functions or constants from an object.",examples:["import({myFn: f(x)=x^2, myConstant: 32 })","myFn(2)","myConstant"],seealso:[]},typed:{name:"typed",category:"Core",syntax:["typed(signatures)","typed(name, signatures)"],description:"Create a typed function.",examples:['double = typed({ "number": f(x)=x+x, "string": f(x)=concat(x,x) })',"double(2)",'double("hello")'],seealso:[]},arg:{name:"arg",category:"Complex",syntax:["arg(x)"],description:"Compute the argument of a complex value. If x = a+bi, the argument is computed as atan2(b, a).",examples:["arg(2 + 2i)","atan2(3, 2)","arg(2 + 3i)"],seealso:["re","im","conj","abs"]},conj:{name:"conj",category:"Complex",syntax:["conj(x)"],description:"Compute the complex conjugate of a complex value. If x = a+bi, the complex conjugate is a-bi.",examples:["conj(2 + 3i)","conj(2 - 3i)","conj(-5.2i)"],seealso:["re","im","abs","arg"]},re:{name:"re",category:"Complex",syntax:["re(x)"],description:"Get the real part of a complex number.",examples:["re(2 + 3i)","im(2 + 3i)","re(-5.2i)","re(2.4)"],seealso:["im","conj","abs","arg"]},im:{name:"im",category:"Complex",syntax:["im(x)"],description:"Get the imaginary part of a complex number.",examples:["im(2 + 3i)","re(2 + 3i)","im(-5.2i)","im(2.4)"],seealso:["re","conj","abs","arg"]},evaluate:{name:"evaluate",category:"Expression",syntax:["evaluate(expression)","evaluate(expression, scope)","evaluate([expr1, expr2, expr3, ...])","evaluate([expr1, expr2, expr3, ...], scope)"],description:"Evaluate an expression or an array with expressions.",examples:['evaluate("2 + 3")','evaluate("sqrt(16)")','evaluate("2 inch to cm")','evaluate("sin(x * pi)", { "x": 1/2 })','evaluate(["width=2", "height=4","width*height"])'],seealso:[]},help:{name:"help",category:"Expression",syntax:["help(object)","help(string)"],description:"Display documentation on a function or data type.",examples:["help(sqrt)",'help("complex")'],seealso:[]},distance:{name:"distance",category:"Geometry",syntax:["distance([x1, y1], [x2, y2])","distance([[x1, y1], [x2, y2]])"],description:"Calculates the Euclidean distance between two points.",examples:["distance([0,0], [4,4])","distance([[0,0], [4,4]])"],seealso:[]},intersect:{name:"intersect",category:"Geometry",syntax:["intersect(expr1, expr2, expr3, expr4)","intersect(expr1, expr2, expr3)"],description:"Computes the intersection point of lines and/or planes.",examples:["intersect([0, 0], [10, 10], [10, 0], [0, 10])","intersect([1, 0, 1], [4, -2, 2], [1, 1, 1, 6])"],seealso:[]},and:{name:"and",category:"Logical",syntax:["x and y","and(x, y)"],description:"Logical and. Test whether two values are both defined with a nonzero/nonempty value.",examples:["true and false","true and true","2 and 4"],seealso:["not","or","xor"]},not:{name:"not",category:"Logical",syntax:["not x","not(x)"],description:"Logical not. Flips the boolean value of given argument.",examples:["not true","not false","not 2","not 0"],seealso:["and","or","xor"]},or:{name:"or",category:"Logical",syntax:["x or y","or(x, y)"],description:"Logical or. Test if at least one value is defined with a nonzero/nonempty value.",examples:["true or false","false or false","0 or 4"],seealso:["not","and","xor"]},xor:{name:"xor",category:"Logical",syntax:["x xor y","xor(x, y)"],description:"Logical exclusive or, xor. Test whether one and only one value is defined with a nonzero/nonempty value.",examples:["true xor false","false xor false","true xor true","0 xor 4"],seealso:["not","and","or"]},concat:{name:"concat",category:"Matrix",syntax:["concat(A, B, C, ...)","concat(A, B, C, ..., dim)"],description:"Concatenate matrices. By default, the matrices are concatenated by the last dimension. The dimension on which to concatenate can be provided as last argument.",examples:["A = [1, 2; 5, 6]","B = [3, 4; 7, 8]","concat(A, B)","concat(A, B, 1)","concat(A, B, 2)"],seealso:["det","diag","identity","inv","ones","range","size","squeeze","subset","trace","transpose","zeros"]},count:{name:"count",category:"Matrix",syntax:["count(x)"],description:"Count the number of elements of a matrix, array or string.",examples:["a = [1, 2; 3, 4; 5, 6]","count(a)","size(a)",'count("hello world")'],seealso:["size"]},cross:{name:"cross",category:"Matrix",syntax:["cross(A, B)"],description:"Calculate the cross product for two vectors in three dimensional space.",examples:["cross([1, 1, 0], [0, 1, 1])","cross([3, -3, 1], [4, 9, 2])","cross([2, 3, 4], [5, 6, 7])"],seealso:["multiply","dot"]},column:{name:"column",category:"Matrix",syntax:["column(x, index)"],description:"Return a column from a matrix or array.",examples:["A = [[1, 2], [3, 4]]","column(A, 1)","column(A, 2)"],seealso:["row","matrixFromColumns"]},ctranspose:{name:"ctranspose",category:"Matrix",syntax:["x'","ctranspose(x)"],description:"Complex Conjugate and Transpose a matrix",examples:["a = [1, 2, 3; 4, 5, 6]","a'","ctranspose(a)"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","subset","trace","zeros"]},det:{name:"det",category:"Matrix",syntax:["det(x)"],description:"Calculate the determinant of a matrix",examples:["det([1, 2; 3, 4])","det([-2, 2, 3; -1, 1, 3; 2, 0, -1])"],seealso:["concat","diag","identity","inv","ones","range","size","squeeze","subset","trace","transpose","zeros"]},diag:{name:"diag",category:"Matrix",syntax:["diag(x)","diag(x, k)"],description:"Create a diagonal matrix or retrieve the diagonal of a matrix. When x is a vector, a matrix with the vector values on the diagonal will be returned. When x is a matrix, a vector with the diagonal values of the matrix is returned. When k is provided, the k-th diagonal will be filled in or retrieved, if k is positive, the values are placed on the super diagonal. When k is negative, the values are placed on the sub diagonal.",examples:["diag(1:3)","diag(1:3, 1)","a = [1, 2, 3; 4, 5, 6; 7, 8, 9]","diag(a)"],seealso:["concat","det","identity","inv","ones","range","size","squeeze","subset","trace","transpose","zeros"]},diff:{name:"diff",category:"Matrix",syntax:["diff(arr)","diff(arr, dim)"],description:["Create a new matrix or array with the difference of the passed matrix or array.","Dim parameter is optional and used to indicant the dimension of the array/matrix to apply the difference","If no dimension parameter is passed it is assumed as dimension 0","Dimension is zero-based in javascript and one-based in the parser","Arrays must be 'rectangular' meaning arrays like [1, 2]","If something is passed as a matrix it will be returned as a matrix but other than that all matrices are converted to arrays"],examples:["A = [1, 2, 4, 7, 0]","diff(A)","diff(A, 1)","B = [[1, 2], [3, 4]]","diff(B)","diff(B, 1)","diff(B, 2)","diff(B, bignumber(2))","diff([[1, 2], matrix([3, 4])], 2)"],seealso:["subtract","partitionSelect"]},dot:{name:"dot",category:"Matrix",syntax:["dot(A, B)","A * B"],description:"Calculate the dot product of two vectors. The dot product of A = [a1, a2, a3, ..., an] and B = [b1, b2, b3, ..., bn] is defined as dot(A, B) = a1 * b1 + a2 * b2 + a3 * b3 + ... + an * bn",examples:["dot([2, 4, 1], [2, 2, 3])","[2, 4, 1] * [2, 2, 3]"],seealso:["multiply","cross"]},getMatrixDataType:{name:"getMatrixDataType",category:"Matrix",syntax:["getMatrixDataType(x)"],description:'Find the data type of all elements in a matrix or array, for example "number" if all items are a number and "Complex" if all values are complex numbers. If a matrix contains more than one data type, it will return "mixed".',examples:["getMatrixDataType([1, 2, 3])","getMatrixDataType([[5 cm], [2 inch]])",'getMatrixDataType([1, "text"])',"getMatrixDataType([1, bignumber(4)])"],seealso:["matrix","sparse","typeOf"]},identity:{name:"identity",category:"Matrix",syntax:["identity(n)","identity(m, n)","identity([m, n])"],description:"Returns the identity matrix with size m-by-n. The matrix has ones on the diagonal and zeros elsewhere.",examples:["identity(3)","identity(3, 5)","a = [1, 2, 3; 4, 5, 6]","identity(size(a))"],seealso:["concat","det","diag","inv","ones","range","size","squeeze","subset","trace","transpose","zeros"]},filter:{name:"filter",category:"Matrix",syntax:["filter(x, test)"],description:"Filter items in a matrix.",examples:["isPositive(x) = x > 0","filter([6, -2, -1, 4, 3], isPositive)","filter([6, -2, 0, 1, 0], x != 0)"],seealso:["sort","map","forEach"]},flatten:{name:"flatten",category:"Matrix",syntax:["flatten(x)"],description:"Flatten a multi dimensional matrix into a single dimensional matrix.",examples:["a = [1, 2, 3; 4, 5, 6]","size(a)","b = flatten(a)","size(b)"],seealso:["concat","resize","size","squeeze"]},forEach:{name:"forEach",category:"Matrix",syntax:["forEach(x, callback)"],description:"Iterates over all elements of a matrix/array, and executes the given callback function.",examples:["numberOfPets = {}","addPet(n) = numberOfPets[n] = (numberOfPets[n] ? numberOfPets[n]:0 ) + 1;",'forEach(["Dog","Cat","Cat"], addPet)',"numberOfPets"],seealso:["map","sort","filter"]},inv:{name:"inv",category:"Matrix",syntax:["inv(x)"],description:"Calculate the inverse of a matrix",examples:["inv([1, 2; 3, 4])","inv(4)","1 / 4"],seealso:["concat","det","diag","identity","ones","range","size","squeeze","subset","trace","transpose","zeros"]},pinv:{name:"pinv",category:"Matrix",syntax:["pinv(x)"],description:"Calculate the MoorePenrose inverse of a matrix",examples:["pinv([1, 2; 3, 4])","pinv([[1, 0], [0, 1], [0, 1]])","pinv(4)"],seealso:["inv"]},eigs:{name:"eigs",category:"Matrix",syntax:["eigs(x)"],description:"Calculate the eigenvalues and eigenvectors of a real symmetric matrix",examples:["eigs([[5, 2.3], [2.3, 1]])"],seealso:["inv"]},kron:{name:"kron",category:"Matrix",syntax:["kron(x, y)"],description:"Calculates the kronecker product of 2 matrices or vectors.",examples:["kron([[1, 0], [0, 1]], [[1, 2], [3, 4]])","kron([1,1], [2,3,4])"],seealso:["multiply","dot","cross"]},matrixFromFunction:{name:"matrixFromFunction",category:"Matrix",syntax:["matrixFromFunction(size, fn)","matrixFromFunction(size, fn, format)","matrixFromFunction(size, fn, format, datatype)","matrixFromFunction(size, format, fn)","matrixFromFunction(size, format, datatype, fn)"],description:"Create a matrix by evaluating a generating function at each index.",examples:["f(I) = I[1] - I[2]","matrixFromFunction([3,3], f)","g(I) = I[1] - I[2] == 1 ? 4 : 0",'matrixFromFunction([100, 100], "sparse", g)',"matrixFromFunction([5], random)"],seealso:["matrix","matrixFromRows","matrixFromColumns","zeros"]},matrixFromRows:{name:"matrixFromRows",category:"Matrix",syntax:["matrixFromRows(...arr)","matrixFromRows(row1, row2)","matrixFromRows(row1, row2, row3)"],description:"Create a dense matrix from vectors as individual rows.",examples:["matrixFromRows([1, 2, 3], [[4],[5],[6]])"],seealso:["matrix","matrixFromColumns","matrixFromFunction","zeros"]},matrixFromColumns:{name:"matrixFromColumns",category:"Matrix",syntax:["matrixFromColumns(...arr)","matrixFromColumns(row1, row2)","matrixFromColumns(row1, row2, row3)"],description:"Create a dense matrix from vectors as individual columns.",examples:["matrixFromColumns([1, 2, 3], [[4],[5],[6]])"],seealso:["matrix","matrixFromRows","matrixFromFunction","zeros"]},map:{name:"map",category:"Matrix",syntax:["map(x, callback)"],description:"Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.",examples:["map([1, 2, 3], square)"],seealso:["filter","forEach"]},ones:{name:"ones",category:"Matrix",syntax:["ones(m)","ones(m, n)","ones(m, n, p, ...)","ones([m])","ones([m, n])","ones([m, n, p, ...])"],description:"Create a matrix containing ones.",examples:["ones(3)","ones(3, 5)","ones([2,3]) * 4.5","a = [1, 2, 3; 4, 5, 6]","ones(size(a))"],seealso:["concat","det","diag","identity","inv","range","size","squeeze","subset","trace","transpose","zeros"]},partitionSelect:{name:"partitionSelect",category:"Matrix",syntax:["partitionSelect(x, k)","partitionSelect(x, k, compare)"],description:"Partition-based selection of an array or 1D matrix. Will find the kth smallest value, and mutates the input array. Uses Quickselect.",examples:["partitionSelect([5, 10, 1], 2)",'partitionSelect(["C", "B", "A", "D"], 1, compareText)',"arr = [5, 2, 1]","partitionSelect(arr, 0) # returns 1, arr is now: [1, 2, 5]","arr","partitionSelect(arr, 1, 'desc') # returns 2, arr is now: [5, 2, 1]","arr"],seealso:["sort"]},range:{name:"range",category:"Type",syntax:["start:end","start:step:end","range(start, end)","range(start, end, step)","range(string)"],description:"Create a range. Lower bound of the range is included, upper bound is excluded.",examples:["1:5","3:-1:-3","range(3, 7)","range(0, 12, 2)",'range("4:10")',"range(1m, 1m, 3m)","a = [1, 2, 3, 4; 5, 6, 7, 8]","a[1:2, 1:2]"],seealso:["concat","det","diag","identity","inv","ones","size","squeeze","subset","trace","transpose","zeros"]},resize:{name:"resize",category:"Matrix",syntax:["resize(x, size)","resize(x, size, defaultValue)"],description:"Resize a matrix.",examples:["resize([1,2,3,4,5], [3])","resize([1,2,3], [5])","resize([1,2,3], [5], -1)","resize(2, [2, 3])",'resize("hello", [8], "!")'],seealso:["size","subset","squeeze","reshape"]},reshape:{name:"reshape",category:"Matrix",syntax:["reshape(x, sizes)"],description:"Reshape a multi dimensional array to fit the specified dimensions.",examples:["reshape([1, 2, 3, 4, 5, 6], [2, 3])","reshape([[1, 2], [3, 4]], [1, 4])","reshape([[1, 2], [3, 4]], [4])","reshape([1, 2, 3, 4], [-1, 2])"],seealso:["size","squeeze","resize"]},rotate:{name:"rotate",category:"Matrix",syntax:["rotate(w, theta)","rotate(w, theta, v)"],description:"Returns a 2-D rotation matrix (2x2) for a given angle (in radians). Returns a 2-D rotation matrix (3x3) of a given angle (in radians) around given axis.",examples:["rotate([1, 0], pi / 2)",'rotate(matrix([1, 0]), unit("35deg"))','rotate([1, 0, 0], unit("90deg"), [0, 0, 1])','rotate(matrix([1, 0, 0]), unit("90deg"), matrix([0, 0, 1]))'],seealso:["matrix","rotationMatrix"]},rotationMatrix:{name:"rotationMatrix",category:"Matrix",syntax:["rotationMatrix(theta)","rotationMatrix(theta, v)","rotationMatrix(theta, v, format)"],description:"Returns a 2-D rotation matrix (2x2) for a given angle (in radians). Returns a 2-D rotation matrix (3x3) of a given angle (in radians) around given axis.",examples:["rotationMatrix(pi / 2)",'rotationMatrix(unit("45deg"), [0, 0, 1])','rotationMatrix(1, matrix([0, 0, 1]), "sparse")'],seealso:["cos","sin"]},row:{name:"row",category:"Matrix",syntax:["row(x, index)"],description:"Return a row from a matrix or array.",examples:["A = [[1, 2], [3, 4]]","row(A, 1)","row(A, 2)"],seealso:["column","matrixFromRows"]},size:{name:"size",category:"Matrix",syntax:["size(x)"],description:"Calculate the size of a matrix.",examples:["size(2.3)",'size("hello world")',"a = [1, 2; 3, 4; 5, 6]","size(a)","size(1:6)"],seealso:["concat","count","det","diag","identity","inv","ones","range","squeeze","subset","trace","transpose","zeros"]},sort:{name:"sort",category:"Matrix",syntax:["sort(x)","sort(x, compare)"],description:'Sort the items in a matrix. Compare can be a string "asc", "desc", "natural", or a custom sort function.',examples:["sort([5, 10, 1])",'sort(["C", "B", "A", "D"], "natural")',"sortByLength(a, b) = size(a)[1] - size(b)[1]",'sort(["Langdon", "Tom", "Sara"], sortByLength)','sort(["10", "1", "2"], "natural")'],seealso:["map","filter","forEach"]},squeeze:{name:"squeeze",category:"Matrix",syntax:["squeeze(x)"],description:"Remove inner and outer singleton dimensions from a matrix.",examples:["a = zeros(3,2,1)","size(squeeze(a))","b = zeros(1,1,3)","size(squeeze(b))"],seealso:["concat","det","diag","identity","inv","ones","range","size","subset","trace","transpose","zeros"]},subset:{name:"subset",category:"Matrix",syntax:["value(index)","value(index) = replacement","subset(value, [index])","subset(value, [index], replacement)"],description:"Get or set a subset of the entries of a matrix or characters of a string. Indexes are one-based. There should be one index specification for each dimension of the target. Each specification can be a single index, a list of indices, or a range in colon notation `l:u`. In a range, both the lower bound l and upper bound u are included; and if a bound is omitted it defaults to the most extreme valid value. The cartesian product of the indices specified in each dimension determines the target of the operation.",examples:["d = [1, 2; 3, 4]","e = []","e[1, 1:2] = [5, 6]","e[2, :] = [7, 8]","f = d * e","f[2, 1]","f[:, 1]","f[[1,2], [1,3]] = [9, 10; 11, 12]","f"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","trace","transpose","zeros"]},trace:{name:"trace",category:"Matrix",syntax:["trace(A)"],description:"Calculate the trace of a matrix: the sum of the elements on the main diagonal of a square matrix.",examples:["A = [1, 2, 3; -1, 2, 3; 2, 0, 3]","trace(A)"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","subset","transpose","zeros"]},transpose:{name:"transpose",category:"Matrix",syntax:["x'","transpose(x)"],description:"Transpose a matrix",examples:["a = [1, 2, 3; 4, 5, 6]","a'","transpose(a)"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","subset","trace","zeros"]},zeros:{name:"zeros",category:"Matrix",syntax:["zeros(m)","zeros(m, n)","zeros(m, n, p, ...)","zeros([m])","zeros([m, n])","zeros([m, n, p, ...])"],description:"Create a matrix containing zeros.",examples:["zeros(3)","zeros(3, 5)","a = [1, 2, 3; 4, 5, 6]","zeros(size(a))"],seealso:["concat","det","diag","identity","inv","ones","range","size","squeeze","subset","trace","transpose"]},fft:{name:"fft",category:"Matrix",syntax:["fft(x)"],description:"Calculate N-dimensional fourier transform",examples:["fft([[1, 0], [1, 0]])"],seealso:["ifft"]},ifft:{name:"ifft",category:"Matrix",syntax:["ifft(x)"],description:"Calculate N-dimensional inverse fourier transform",examples:["ifft([[2, 2], [0, 0]])"],seealso:["fft"]},sylvester:{name:"sylvester",category:"Algebra",syntax:["sylvester(A,B,C)"],description:"Solves the real-valued Sylvester equation AX+XB=C for X",examples:["sylvester([[-1, -2], [1, 1]], [[-2, 1], [-1, 2]], [[-3, 2], [3, 0]])","A = [[-1, -2], [1, 1]]; B = [[2, -1], [1, -2]]; C = [[-3, 2], [3, 0]]","sylvester(A, B, C)"],seealso:["schur","lyap"]},schur:{name:"schur",category:"Algebra",syntax:["schur(A)"],description:"Performs a real Schur decomposition of the real matrix A = UTU'",examples:["schur([[1, 0], [-4, 3]])","A = [[1, 0], [-4, 3]]","schur(A)"],seealso:["lyap","sylvester"]},lyap:{name:"lyap",category:"Algebra",syntax:["lyap(A,Q)"],description:"Solves the Continuous-time Lyapunov equation AP+PA'+Q=0 for P",examples:["lyap([[-2, 0], [1, -4]], [[3, 1], [1, 3]])","A = [[-2, 0], [1, -4]]","Q = [[3, 1], [1, 3]]","lyap(A,Q)"],seealso:["schur","sylvester"]},solveODE:{name:"solveODE",category:"Numeric",syntax:["solveODE(func, tspan, y0)","solveODE(func, tspan, y0, options)"],description:"Numerical Integration of Ordinary Differential Equations.",examples:["f(t,y) = y","tspan = [0, 4]","solveODE(f, tspan, 1)","solveODE(f, tspan, [1, 2])",'solveODE(f, tspan, 1, { method:"RK23", maxStep:0.1 })'],seealso:["derivative","simplifyCore"]},combinations:{name:"combinations",category:"Probability",syntax:["combinations(n, k)"],description:"Compute the number of combinations of n items taken k at a time",examples:["combinations(7, 5)"],seealso:["combinationsWithRep","permutations","factorial"]},combinationsWithRep:{name:"combinationsWithRep",category:"Probability",syntax:["combinationsWithRep(n, k)"],description:"Compute the number of combinations of n items taken k at a time with replacements.",examples:["combinationsWithRep(7, 5)"],seealso:["combinations","permutations","factorial"]},factorial:{name:"factorial",category:"Probability",syntax:["n!","factorial(n)"],description:"Compute the factorial of a value",examples:["5!","5 * 4 * 3 * 2 * 1","3!"],seealso:["combinations","combinationsWithRep","permutations","gamma"]},gamma:{name:"gamma",category:"Probability",syntax:["gamma(n)"],description:"Compute the gamma function. For small values, the Lanczos approximation is used, and for large values the extended Stirling approximation.",examples:["gamma(4)","3!","gamma(1/2)","sqrt(pi)"],seealso:["factorial"]},kldivergence:{name:"kldivergence",category:"Probability",syntax:["kldivergence(x, y)"],description:"Calculate the Kullback-Leibler (KL) divergence between two distributions.",examples:["kldivergence([0.7,0.5,0.4], [0.2,0.9,0.5])"],seealso:[]},lgamma:{name:"lgamma",category:"Probability",syntax:["lgamma(n)"],description:"Logarithm of the gamma function for real, positive numbers and complex numbers, using Lanczos approximation for numbers and Stirling series for complex numbers.",examples:["lgamma(4)","lgamma(1/2)","lgamma(i)","lgamma(complex(1.1, 2))"],seealso:["gamma"]},multinomial:{name:"multinomial",category:"Probability",syntax:["multinomial(A)"],description:"Multinomial Coefficients compute the number of ways of picking a1, a2, ..., ai unordered outcomes from `n` possibilities. multinomial takes one array of integers as an argument. The following condition must be enforced: every ai > 0.",examples:["multinomial([1, 2, 1])"],seealso:["combinations","factorial"]},permutations:{name:"permutations",category:"Probability",syntax:["permutations(n)","permutations(n, k)"],description:"Compute the number of permutations of n items taken k at a time",examples:["permutations(5)","permutations(5, 3)"],seealso:["combinations","combinationsWithRep","factorial"]},pickRandom:{name:"pickRandom",category:"Probability",syntax:["pickRandom(array)","pickRandom(array, number)","pickRandom(array, weights)","pickRandom(array, number, weights)","pickRandom(array, weights, number)"],description:"Pick a random entry from a given array.",examples:["pickRandom(0:10)","pickRandom([1, 3, 1, 6])","pickRandom([1, 3, 1, 6], 2)","pickRandom([1, 3, 1, 6], [2, 3, 2, 1])","pickRandom([1, 3, 1, 6], 2, [2, 3, 2, 1])","pickRandom([1, 3, 1, 6], [2, 3, 2, 1], 2)"],seealso:["random","randomInt"]},random:{name:"random",category:"Probability",syntax:["random()","random(max)","random(min, max)","random(size)","random(size, max)","random(size, min, max)"],description:"Return a random number.",examples:["random()","random(10, 20)","random([2, 3])"],seealso:["pickRandom","randomInt"]},randomInt:{name:"randomInt",category:"Probability",syntax:["randomInt(max)","randomInt(min, max)","randomInt(size)","randomInt(size, max)","randomInt(size, min, max)"],description:"Return a random integer number",examples:["randomInt(10, 20)","randomInt([2, 3], 10)"],seealso:["pickRandom","random"]},compare:{name:"compare",category:"Relational",syntax:["compare(x, y)"],description:"Compare two values. Returns 1 when x > y, -1 when x < y, and 0 when x == y.",examples:["compare(2, 3)","compare(3, 2)","compare(2, 2)","compare(5cm, 40mm)","compare(2, [1, 2, 3])"],seealso:["equal","unequal","smaller","smallerEq","largerEq","compareNatural","compareText"]},compareNatural:{name:"compareNatural",category:"Relational",syntax:["compareNatural(x, y)"],description:"Compare two values of any type in a deterministic, natural way. Returns 1 when x > y, -1 when x < y, and 0 when x == y.",examples:["compareNatural(2, 3)","compareNatural(3, 2)","compareNatural(2, 2)","compareNatural(5cm, 40mm)",'compareNatural("2", "10")',"compareNatural(2 + 3i, 2 + 4i)","compareNatural([1, 2, 4], [1, 2, 3])","compareNatural([1, 5], [1, 2, 3])","compareNatural([1, 2], [1, 2])","compareNatural({a: 2}, {a: 4})"],seealso:["equal","unequal","smaller","smallerEq","largerEq","compare","compareText"]},compareText:{name:"compareText",category:"Relational",syntax:["compareText(x, y)"],description:"Compare two strings lexically. Comparison is case sensitive. Returns 1 when x > y, -1 when x < y, and 0 when x == y.",examples:['compareText("B", "A")','compareText("A", "B")','compareText("A", "A")','compareText("2", "10")','compare("2", "10")',"compare(2, 10)",'compareNatural("2", "10")','compareText("B", ["A", "B", "C"])'],seealso:["compare","compareNatural"]},deepEqual:{name:"deepEqual",category:"Relational",syntax:["deepEqual(x, y)"],description:"Check equality of two matrices element wise. Returns true if the size of both matrices is equal and when and each of the elements are equal.",examples:["deepEqual([1,3,4], [1,3,4])","deepEqual([1,3,4], [1,3])"],seealso:["equal","unequal","smaller","larger","smallerEq","largerEq","compare"]},equal:{name:"equal",category:"Relational",syntax:["x == y","equal(x, y)"],description:"Check equality of two values. Returns true if the values are equal, and false if not.",examples:["2+2 == 3","2+2 == 4","a = 3.2","b = 6-2.8","a == b","50cm == 0.5m"],seealso:["unequal","smaller","larger","smallerEq","largerEq","compare","deepEqual","equalText"]},equalText:{name:"equalText",category:"Relational",syntax:["equalText(x, y)"],description:"Check equality of two strings. Comparison is case sensitive. Returns true if the values are equal, and false if not.",examples:['equalText("Hello", "Hello")','equalText("a", "A")','equal("2e3", "2000")','equalText("2e3", "2000")','equalText("B", ["A", "B", "C"])'],seealso:["compare","compareNatural","compareText","equal"]},larger:{name:"larger",category:"Relational",syntax:["x > y","larger(x, y)"],description:"Check if value x is larger than y. Returns true if x is larger than y, and false if not.",examples:["2 > 3","5 > 2*2","a = 3.3","b = 6-2.8","(a > b)","(b < a)","5 cm > 2 inch"],seealso:["equal","unequal","smaller","smallerEq","largerEq","compare"]},largerEq:{name:"largerEq",category:"Relational",syntax:["x >= y","largerEq(x, y)"],description:"Check if value x is larger or equal to y. Returns true if x is larger or equal to y, and false if not.",examples:["2 >= 1+1","2 > 1+1","a = 3.2","b = 6-2.8","(a >= b)"],seealso:["equal","unequal","smallerEq","smaller","compare"]},smaller:{name:"smaller",category:"Relational",syntax:["x < y","smaller(x, y)"],description:"Check if value x is smaller than value y. Returns true if x is smaller than y, and false if not.",examples:["2 < 3","5 < 2*2","a = 3.3","b = 6-2.8","(a < b)","5 cm < 2 inch"],seealso:["equal","unequal","larger","smallerEq","largerEq","compare"]},smallerEq:{name:"smallerEq",category:"Relational",syntax:["x <= y","smallerEq(x, y)"],description:"Check if value x is smaller or equal to value y. Returns true if x is smaller than y, and false if not.",examples:["2 <= 1+1","2 < 1+1","a = 3.2","b = 6-2.8","(a <= b)"],seealso:["equal","unequal","larger","smaller","largerEq","compare"]},unequal:{name:"unequal",category:"Relational",syntax:["x != y","unequal(x, y)"],description:"Check unequality of two values. Returns true if the values are unequal, and false if they are equal.",examples:["2+2 != 3","2+2 != 4","a = 3.2","b = 6-2.8","a != b","50cm != 0.5m","5 cm != 2 inch"],seealso:["equal","smaller","larger","smallerEq","largerEq","compare","deepEqual"]},setCartesian:{name:"setCartesian",category:"Set",syntax:["setCartesian(set1, set2)"],description:"Create the cartesian product of two (multi)sets. Multi-dimension arrays will be converted to single-dimension arrays and the values will be sorted in ascending order before the operation.",examples:["setCartesian([1, 2], [3, 4])"],seealso:["setUnion","setIntersect","setDifference","setPowerset"]},setDifference:{name:"setDifference",category:"Set",syntax:["setDifference(set1, set2)"],description:"Create the difference of two (multi)sets: every element of set1, that is not the element of set2. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setDifference([1, 2, 3, 4], [3, 4, 5, 6])","setDifference([[1, 2], [3, 4]], [[3, 4], [5, 6]])"],seealso:["setUnion","setIntersect","setSymDifference"]},setDistinct:{name:"setDistinct",category:"Set",syntax:["setDistinct(set)"],description:"Collect the distinct elements of a multiset. A multi-dimension array will be converted to a single-dimension array before the operation.",examples:["setDistinct([1, 1, 1, 2, 2, 3])"],seealso:["setMultiplicity"]},setIntersect:{name:"setIntersect",category:"Set",syntax:["setIntersect(set1, set2)"],description:"Create the intersection of two (multi)sets. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setIntersect([1, 2, 3, 4], [3, 4, 5, 6])","setIntersect([[1, 2], [3, 4]], [[3, 4], [5, 6]])"],seealso:["setUnion","setDifference"]},setIsSubset:{name:"setIsSubset",category:"Set",syntax:["setIsSubset(set1, set2)"],description:"Check whether a (multi)set is a subset of another (multi)set: every element of set1 is the element of set2. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setIsSubset([1, 2], [3, 4, 5, 6])","setIsSubset([3, 4], [3, 4, 5, 6])"],seealso:["setUnion","setIntersect","setDifference"]},setMultiplicity:{name:"setMultiplicity",category:"Set",syntax:["setMultiplicity(element, set)"],description:"Count the multiplicity of an element in a multiset. A multi-dimension array will be converted to a single-dimension array before the operation.",examples:["setMultiplicity(1, [1, 2, 2, 4])","setMultiplicity(2, [1, 2, 2, 4])"],seealso:["setDistinct","setSize"]},setPowerset:{name:"setPowerset",category:"Set",syntax:["setPowerset(set)"],description:"Create the powerset of a (multi)set: the powerset contains very possible subsets of a (multi)set. A multi-dimension array will be converted to a single-dimension array before the operation.",examples:["setPowerset([1, 2, 3])"],seealso:["setCartesian"]},setSize:{name:"setSize",category:"Set",syntax:["setSize(set)","setSize(set, unique)"],description:'Count the number of elements of a (multi)set. When the second parameter "unique" is true, count only the unique values. A multi-dimension array will be converted to a single-dimension array before the operation.',examples:["setSize([1, 2, 2, 4])","setSize([1, 2, 2, 4], true)"],seealso:["setUnion","setIntersect","setDifference"]},setSymDifference:{name:"setSymDifference",category:"Set",syntax:["setSymDifference(set1, set2)"],description:"Create the symmetric difference of two (multi)sets. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setSymDifference([1, 2, 3, 4], [3, 4, 5, 6])","setSymDifference([[1, 2], [3, 4]], [[3, 4], [5, 6]])"],seealso:["setUnion","setIntersect","setDifference"]},setUnion:{name:"setUnion",category:"Set",syntax:["setUnion(set1, set2)"],description:"Create the union of two (multi)sets. Multi-dimension arrays will be converted to single-dimension arrays before the operation.",examples:["setUnion([1, 2, 3, 4], [3, 4, 5, 6])","setUnion([[1, 2], [3, 4]], [[3, 4], [5, 6]])"],seealso:["setIntersect","setDifference"]},zpk2tf:{name:"zpk2tf",category:"Signal",syntax:["zpk2tf(z, p, k)"],description:"Compute the transfer function of a zero-pole-gain model.",examples:["zpk2tf([1, 2], [-1, -2], 1)","zpk2tf([1, 2], [-1, -2])","zpk2tf([1 - 3i, 2 + 2i], [-1, -2])"],seealso:[]},freqz:{name:"freqz",category:"Signal",syntax:["freqz(b, a)","freqz(b, a, w)"],description:"Calculates the frequency response of a filter given its numerator and denominator coefficients.",examples:["freqz([1, 2], [1, 2, 3])","freqz([1, 2], [1, 2, 3], [0, 1])","freqz([1, 2], [1, 2, 3], 512)"],seealso:[]},erf:{name:"erf",category:"Special",syntax:["erf(x)"],description:"Compute the erf function of a value using a rational Chebyshev approximations for different intervals of x",examples:["erf(0.2)","erf(-0.5)","erf(4)"],seealso:[]},zeta:{name:"zeta",category:"Special",syntax:["zeta(s)"],description:"Compute the Riemann Zeta Function using an infinite series and Riemanns Functional Equation for the entire complex plane",examples:["zeta(0.2)","zeta(-0.5)","zeta(4)"],seealso:[]},cumsum:{name:"cumsum",category:"Statistics",syntax:["cumsum(a, b, c, ...)","cumsum(A)"],description:"Compute the cumulative sum of all values.",examples:["cumsum(2, 3, 4, 1)","cumsum([2, 3, 4, 1])","cumsum([1, 2; 3, 4])","cumsum([1, 2; 3, 4], 1)","cumsum([1, 2; 3, 4], 2)"],seealso:["max","mean","median","min","prod","std","sum","variance"]},mad:{name:"mad",category:"Statistics",syntax:["mad(a, b, c, ...)","mad(A)"],description:"Compute the median absolute deviation of a matrix or a list with values. The median absolute deviation is defined as the median of the absolute deviations from the median.",examples:["mad(10, 20, 30)","mad([1, 2, 3])"],seealso:["mean","median","std","abs"]},max:{name:"max",category:"Statistics",syntax:["max(a, b, c, ...)","max(A)","max(A, dimension)"],description:"Compute the maximum value of a list of values.",examples:["max(2, 3, 4, 1)","max([2, 3, 4, 1])","max([2, 5; 4, 3])","max([2, 5; 4, 3], 1)","max([2, 5; 4, 3], 2)","max(2.7, 7.1, -4.5, 2.0, 4.1)","min(2.7, 7.1, -4.5, 2.0, 4.1)"],seealso:["mean","median","min","prod","std","sum","variance"]},mean:{name:"mean",category:"Statistics",syntax:["mean(a, b, c, ...)","mean(A)","mean(A, dimension)"],description:"Compute the arithmetic mean of a list of values.",examples:["mean(2, 3, 4, 1)","mean([2, 3, 4, 1])","mean([2, 5; 4, 3])","mean([2, 5; 4, 3], 1)","mean([2, 5; 4, 3], 2)","mean([1.0, 2.7, 3.2, 4.0])"],seealso:["max","median","min","prod","std","sum","variance"]},median:{name:"median",category:"Statistics",syntax:["median(a, b, c, ...)","median(A)"],description:"Compute the median of all values. The values are sorted and the middle value is returned. In case of an even number of values, the average of the two middle values is returned.",examples:["median(5, 2, 7)","median([3, -1, 5, 7])"],seealso:["max","mean","min","prod","std","sum","variance","quantileSeq"]},min:{name:"min",category:"Statistics",syntax:["min(a, b, c, ...)","min(A)","min(A, dimension)"],description:"Compute the minimum value of a list of values.",examples:["min(2, 3, 4, 1)","min([2, 3, 4, 1])","min([2, 5; 4, 3])","min([2, 5; 4, 3], 1)","min([2, 5; 4, 3], 2)","min(2.7, 7.1, -4.5, 2.0, 4.1)","max(2.7, 7.1, -4.5, 2.0, 4.1)"],seealso:["max","mean","median","prod","std","sum","variance"]},mode:{name:"mode",category:"Statistics",syntax:["mode(a, b, c, ...)","mode(A)","mode(A, a, b, B, c, ...)"],description:"Computes the mode of all values as an array. In case mode being more than one, multiple values are returned in an array.",examples:["mode(2, 1, 4, 3, 1)","mode([1, 2.7, 3.2, 4, 2.7])","mode(1, 4, 6, 1, 6)"],seealso:["max","mean","min","median","prod","std","sum","variance"]},prod:{name:"prod",category:"Statistics",syntax:["prod(a, b, c, ...)","prod(A)"],description:"Compute the product of all values.",examples:["prod(2, 3, 4)","prod([2, 3, 4])","prod([2, 5; 4, 3])"],seealso:["max","mean","min","median","min","std","sum","variance"]},quantileSeq:{name:"quantileSeq",category:"Statistics",syntax:["quantileSeq(A, prob[, sorted])","quantileSeq(A, [prob1, prob2, ...][, sorted])","quantileSeq(A, N[, sorted])"],description:"Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of probablity are: Number, BigNumber. \n\nIn case of a (multi dimensional) array or matrix, the prob order quantile of all elements will be calculated.",examples:["quantileSeq([3, -1, 5, 7], 0.5)","quantileSeq([3, -1, 5, 7], [1/3, 2/3])","quantileSeq([3, -1, 5, 7], 2)","quantileSeq([-1, 3, 5, 7], 0.5, true)"],seealso:["mean","median","min","max","prod","std","sum","variance"]},std:{name:"std",category:"Statistics",syntax:["std(a, b, c, ...)","std(A)","std(A, dimension)","std(A, normalization)","std(A, dimension, normalization)"],description:'Compute the standard deviation of all values, defined as std(A) = sqrt(variance(A)). Optional parameter normalization can be "unbiased" (default), "uncorrected", or "biased".',examples:["std(2, 4, 6)","std([2, 4, 6, 8])",'std([2, 4, 6, 8], "uncorrected")','std([2, 4, 6, 8], "biased")',"std([1, 2, 3; 4, 5, 6])"],seealso:["max","mean","min","median","prod","sum","variance"]},sum:{name:"sum",category:"Statistics",syntax:["sum(a, b, c, ...)","sum(A)","sum(A, dimension)"],description:"Compute the sum of all values.",examples:["sum(2, 3, 4, 1)","sum([2, 3, 4, 1])","sum([2, 5; 4, 3])"],seealso:["max","mean","median","min","prod","std","sum","variance"]},variance:{name:"variance",category:"Statistics",syntax:["variance(a, b, c, ...)","variance(A)","variance(A, dimension)","variance(A, normalization)","variance(A, dimension, normalization)"],description:'Compute the variance of all values. Optional parameter normalization can be "unbiased" (default), "uncorrected", or "biased".',examples:["variance(2, 4, 6)","variance([2, 4, 6, 8])",'variance([2, 4, 6, 8], "uncorrected")','variance([2, 4, 6, 8], "biased")',"variance([1, 2, 3; 4, 5, 6])"],seealso:["max","mean","min","median","min","prod","std","sum"]},corr:{name:"corr",category:"Statistics",syntax:["corr(A,B)"],description:"Compute the correlation coefficient of a two list with values, For matrices, the matrix correlation coefficient is calculated.",examples:["corr([2, 4, 6, 8],[1, 2, 3, 6])","corr(matrix([[1, 2.2, 3, 4.8, 5], [1, 2, 3, 4, 5]]), matrix([[4, 5.3, 6.6, 7, 8], [1, 2, 3, 4, 5]]))"],seealso:["max","mean","min","median","min","prod","std","sum"]},acos:{name:"acos",category:"Trigonometry",syntax:["acos(x)"],description:"Compute the inverse cosine of a value in radians.",examples:["acos(0.5)","acos(cos(2.3))"],seealso:["cos","atan","asin"]},acosh:{name:"acosh",category:"Trigonometry",syntax:["acosh(x)"],description:"Calculate the hyperbolic arccos of a value, defined as `acosh(x) = ln(sqrt(x^2 - 1) + x)`.",examples:["acosh(1.5)"],seealso:["cosh","asinh","atanh"]},acot:{name:"acot",category:"Trigonometry",syntax:["acot(x)"],description:"Calculate the inverse cotangent of a value.",examples:["acot(0.5)","acot(cot(0.5))","acot(2)"],seealso:["cot","atan"]},acoth:{name:"acoth",category:"Trigonometry",syntax:["acoth(x)"],description:"Calculate the hyperbolic arccotangent of a value, defined as `acoth(x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.",examples:["acoth(2)","acoth(0.5)"],seealso:["acsch","asech"]},acsc:{name:"acsc",category:"Trigonometry",syntax:["acsc(x)"],description:"Calculate the inverse cotangent of a value.",examples:["acsc(2)","acsc(csc(0.5))","acsc(0.5)"],seealso:["csc","asin","asec"]},acsch:{name:"acsch",category:"Trigonometry",syntax:["acsch(x)"],description:"Calculate the hyperbolic arccosecant of a value, defined as `acsch(x) = ln(1/x + sqrt(1/x^2 + 1))`.",examples:["acsch(0.5)"],seealso:["asech","acoth"]},asec:{name:"asec",category:"Trigonometry",syntax:["asec(x)"],description:"Calculate the inverse secant of a value.",examples:["asec(0.5)","asec(sec(0.5))","asec(2)"],seealso:["acos","acot","acsc"]},asech:{name:"asech",category:"Trigonometry",syntax:["asech(x)"],description:"Calculate the inverse secant of a value.",examples:["asech(0.5)"],seealso:["acsch","acoth"]},asin:{name:"asin",category:"Trigonometry",syntax:["asin(x)"],description:"Compute the inverse sine of a value in radians.",examples:["asin(0.5)","asin(sin(0.5))"],seealso:["sin","acos","atan"]},asinh:{name:"asinh",category:"Trigonometry",syntax:["asinh(x)"],description:"Calculate the hyperbolic arcsine of a value, defined as `asinh(x) = ln(x + sqrt(x^2 + 1))`.",examples:["asinh(0.5)"],seealso:["acosh","atanh"]},atan:{name:"atan",category:"Trigonometry",syntax:["atan(x)"],description:"Compute the inverse tangent of a value in radians.",examples:["atan(0.5)","atan(tan(0.5))"],seealso:["tan","acos","asin"]},atanh:{name:"atanh",category:"Trigonometry",syntax:["atanh(x)"],description:"Calculate the hyperbolic arctangent of a value, defined as `atanh(x) = ln((1 + x)/(1 - x)) / 2`.",examples:["atanh(0.5)"],seealso:["acosh","asinh"]},atan2:{name:"atan2",category:"Trigonometry",syntax:["atan2(y, x)"],description:"Computes the principal value of the arc tangent of y/x in radians.",examples:["atan2(2, 2) / pi","angle = 60 deg in rad","x = cos(angle)","y = sin(angle)","atan2(y, x)"],seealso:["sin","cos","tan"]},cos:{name:"cos",category:"Trigonometry",syntax:["cos(x)"],description:"Compute the cosine of x in radians.",examples:["cos(2)","cos(pi / 4) ^ 2","cos(180 deg)","cos(60 deg)","sin(0.2)^2 + cos(0.2)^2"],seealso:["acos","sin","tan"]},cosh:{name:"cosh",category:"Trigonometry",syntax:["cosh(x)"],description:"Compute the hyperbolic cosine of x in radians.",examples:["cosh(0.5)"],seealso:["sinh","tanh","coth"]},cot:{name:"cot",category:"Trigonometry",syntax:["cot(x)"],description:"Compute the cotangent of x in radians. Defined as 1/tan(x)",examples:["cot(2)","1 / tan(2)"],seealso:["sec","csc","tan"]},coth:{name:"coth",category:"Trigonometry",syntax:["coth(x)"],description:"Compute the hyperbolic cotangent of x in radians.",examples:["coth(2)","1 / tanh(2)"],seealso:["sech","csch","tanh"]},csc:{name:"csc",category:"Trigonometry",syntax:["csc(x)"],description:"Compute the cosecant of x in radians. Defined as 1/sin(x)",examples:["csc(2)","1 / sin(2)"],seealso:["sec","cot","sin"]},csch:{name:"csch",category:"Trigonometry",syntax:["csch(x)"],description:"Compute the hyperbolic cosecant of x in radians. Defined as 1/sinh(x)",examples:["csch(2)","1 / sinh(2)"],seealso:["sech","coth","sinh"]},sec:{name:"sec",category:"Trigonometry",syntax:["sec(x)"],description:"Compute the secant of x in radians. Defined as 1/cos(x)",examples:["sec(2)","1 / cos(2)"],seealso:["cot","csc","cos"]},sech:{name:"sech",category:"Trigonometry",syntax:["sech(x)"],description:"Compute the hyperbolic secant of x in radians. Defined as 1/cosh(x)",examples:["sech(2)","1 / cosh(2)"],seealso:["coth","csch","cosh"]},sin:{name:"sin",category:"Trigonometry",syntax:["sin(x)"],description:"Compute the sine of x in radians.",examples:["sin(2)","sin(pi / 4) ^ 2","sin(90 deg)","sin(30 deg)","sin(0.2)^2 + cos(0.2)^2"],seealso:["asin","cos","tan"]},sinh:{name:"sinh",category:"Trigonometry",syntax:["sinh(x)"],description:"Compute the hyperbolic sine of x in radians.",examples:["sinh(0.5)"],seealso:["cosh","tanh"]},tan:{name:"tan",category:"Trigonometry",syntax:["tan(x)"],description:"Compute the tangent of x in radians.",examples:["tan(0.5)","sin(0.5) / cos(0.5)","tan(pi / 4)","tan(45 deg)"],seealso:["atan","sin","cos"]},tanh:{name:"tanh",category:"Trigonometry",syntax:["tanh(x)"],description:"Compute the hyperbolic tangent of x in radians.",examples:["tanh(0.5)","sinh(0.5) / cosh(0.5)"],seealso:["sinh","cosh"]},to:{name:"to",category:"Units",syntax:["x to unit","to(x, unit)"],description:"Change the unit of a value.",examples:["5 inch to cm","3.2kg to g","16 bytes in bits"],seealso:[]},clone:{name:"clone",category:"Utils",syntax:["clone(x)"],description:"Clone a variable. Creates a copy of primitive variables,and a deep copy of matrices",examples:["clone(3.5)","clone(2 - 4i)","clone(45 deg)","clone([1, 2; 3, 4])",'clone("hello world")'],seealso:[]},format:{name:"format",category:"Utils",syntax:["format(value)","format(value, precision)"],description:"Format a value of any type as string.",examples:["format(2.3)","format(3 - 4i)","format([])","format(pi, 3)"],seealso:["print"]},bin:{name:"bin",category:"Utils",syntax:["bin(value)"],description:"Format a number as binary",examples:["bin(2)"],seealso:["oct","hex"]},oct:{name:"oct",category:"Utils",syntax:["oct(value)"],description:"Format a number as octal",examples:["oct(56)"],seealso:["bin","hex"]},hex:{name:"hex",category:"Utils",syntax:["hex(value)"],description:"Format a number as hexadecimal",examples:["hex(240)"],seealso:["bin","oct"]},isNaN:{name:"isNaN",category:"Utils",syntax:["isNaN(x)"],description:"Test whether a value is NaN (not a number)",examples:["isNaN(2)","isNaN(0 / 0)","isNaN(NaN)","isNaN(Infinity)"],seealso:["isNegative","isNumeric","isPositive","isZero"]},isInteger:{name:"isInteger",category:"Utils",syntax:["isInteger(x)"],description:"Test whether a value is an integer number.",examples:["isInteger(2)","isInteger(3.5)","isInteger([3, 0.5, -2])"],seealso:["isNegative","isNumeric","isPositive","isZero"]},isNegative:{name:"isNegative",category:"Utils",syntax:["isNegative(x)"],description:"Test whether a value is negative: smaller than zero.",examples:["isNegative(2)","isNegative(0)","isNegative(-4)","isNegative([3, 0.5, -2])"],seealso:["isInteger","isNumeric","isPositive","isZero"]},isNumeric:{name:"isNumeric",category:"Utils",syntax:["isNumeric(x)"],description:"Test whether a value is a numeric value. Returns true when the input is a number, BigNumber, Fraction, or boolean.",examples:["isNumeric(2)",'isNumeric("2")','hasNumericValue("2")',"isNumeric(0)","isNumeric(bignumber(500))","isNumeric(fraction(0.125))","isNumeric(2 + 3i)",'isNumeric([2.3, "foo", false])'],seealso:["isInteger","isZero","isNegative","isPositive","isNaN","hasNumericValue"]},hasNumericValue:{name:"hasNumericValue",category:"Utils",syntax:["hasNumericValue(x)"],description:"Test whether a value is an numeric value. In case of a string, true is returned if the string contains a numeric value.",examples:["hasNumericValue(2)",'hasNumericValue("2")','isNumeric("2")',"hasNumericValue(0)","hasNumericValue(bignumber(500))","hasNumericValue(fraction(0.125))","hasNumericValue(2 + 3i)",'hasNumericValue([2.3, "foo", false])'],seealso:["isInteger","isZero","isNegative","isPositive","isNaN","isNumeric"]},isPositive:{name:"isPositive",category:"Utils",syntax:["isPositive(x)"],description:"Test whether a value is positive: larger than zero.",examples:["isPositive(2)","isPositive(0)","isPositive(-4)","isPositive([3, 0.5, -2])"],seealso:["isInteger","isNumeric","isNegative","isZero"]},isPrime:{name:"isPrime",category:"Utils",syntax:["isPrime(x)"],description:"Test whether a value is prime: has no divisors other than itself and one.",examples:["isPrime(3)","isPrime(-2)","isPrime([2, 17, 100])"],seealso:["isInteger","isNumeric","isNegative","isZero"]},isZero:{name:"isZero",category:"Utils",syntax:["isZero(x)"],description:"Test whether a value is zero.",examples:["isZero(2)","isZero(0)","isZero(-4)","isZero([3, 0, -2, 0])"],seealso:["isInteger","isNumeric","isNegative","isPositive"]},print:{name:"print",category:"Utils",syntax:["print(template, values)","print(template, values, precision)"],description:"Interpolate values into a string template.",examples:['print("Lucy is $age years old", {age: 5})','print("The value of pi is $pi", {pi: pi}, 3)','print("Hello, $user.name!", {user: {name: "John"}})','print("Values: $1, $2, $3", [6, 9, 4])'],seealso:["format"]},typeOf:{name:"typeOf",category:"Utils",syntax:["typeOf(x)"],description:"Get the type of a variable.",examples:["typeOf(3.5)","typeOf(2 - 4i)","typeOf(45 deg)",'typeOf("hello world")'],seealso:["getMatrixDataType"]},numeric:{name:"numeric",category:"Utils",syntax:["numeric(x)"],description:"Convert a numeric input to a specific numeric type: number, BigNumber, or Fraction.",examples:['numeric("4")','numeric("4", "number")','numeric("4", "BigNumber")','numeric("4", "Fraction")','numeric(4, "Fraction")','numeric(fraction(2, 5), "number")'],seealso:["number","fraction","bignumber","string","format"]}},Gh=le("help",["typed","mathWithTransform","Help"],A=>{var{typed:e,mathWithTransform:t,Help:n}=A;return e("help",{any:function(A){var e,i=A;if("string"!=typeof A)for(e in t)if(AA(t,e)&&A===t[e]){i=e;break}var r=on(Rh,i);if(!r){var s="function"==typeof i?i.name:i;throw new Error('No documentation found on "'+s+'"')}return new n(r)}})}),Sh=le("Parser",["evaluate"],A=>{var{evaluate:e}=A;function t(){if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");Object.defineProperty(this,"scope",{value:un(),writable:!1})}return t.prototype.type="Parser",t.prototype.isParser=!0,t.prototype.evaluate=function(A){return e(A,this.scope)},t.prototype.get=function(A){if(this.scope.has(A))return this.scope.get(A)},t.prototype.getAll=function(){return function(A){if(A instanceof ln)return A.wrappedObject;var e={};for(var t of A.keys()){an(e,t,A.get(t))}return e}(this.scope)},t.prototype.getAllAsMap=function(){return this.scope},t.prototype.set=function(A,e){return this.scope.set(A,e),e},t.prototype.remove=function(A){this.scope.delete(A)},t.prototype.clear=function(){this.scope.clear()},t},{isClass:!0});function Hh(A){return G(A)||z(A)&&A.isUnary()&&G(A.args[0])}function bh(A){return!!G(A)||(!(!b(A)&&!z(A)||!A.args.every(bh))||!(!v(A)||!bh(A.content)))}var kh=le("simplify",["config","typed","parse","add","subtract","multiply","divide","pow","isZero","equal","resolve","simplifyConstant","simplifyCore","?fraction","?bignumber","mathWithTransform","matrix","AccessorNode","ArrayNode","ConstantNode","FunctionNode","IndexNode","ObjectNode","OperatorNode","ParenthesisNode","SymbolNode"],A=>{var{config:e,typed:t,parse:n,add:i,subtract:r,multiply:s,divide:o,pow:a,isZero:B,equal:c,resolve:g,simplifyConstant:Q,simplifyCore:E,fraction:l,bignumber:u,mathWithTransform:w,matrix:h,AccessorNode:C,ArrayNode:d,ConstantNode:I,FunctionNode:M,IndexNode:p,ObjectNode:m,OperatorNode:F,ParenthesisNode:D,SymbolNode:Y}=A,{hasProperty:f,isCommutative:N,isAssociative:U,mergeContext:y,flatten:x,unflattenr:T,unflattenl:R,createMakeNodeFunction:S,defaultContext:H,realContext:b,positiveContext:k}=Ch({FunctionNode:M,OperatorNode:F,SymbolNode:Y});t.addConversion({from:"Object",to:"Map",convert:wn});var J=t("simplify",{Node:K,"Node, Map":(A,e)=>K(A,!1,e),"Node, Map, Object":(A,e,t)=>K(A,!1,e,t),"Node, Array":K,"Node, Array, Map":K,"Node, Array, Map, Object":K});function j(A){return A.transform((function(A,e,t){return v(A)?j(A.content):A}))}t.removeConversion({from:"Object",to:"Map",convert:wn}),J.defaultContext=H,J.realContext=b,J.positiveContext=k;var z={true:!0,false:!0,e:!0,i:!0,Infinity:!0,LN2:!0,LN10:!0,LOG2E:!0,LOG10E:!0,NaN:!0,phi:!0,pi:!0,SQRT1_2:!0,SQRT2:!0,tau:!0};function L(A,e){var t={};if(A.s){var i=A.s.split("->");if(2!==i.length)throw SyntaxError("Could not parse rule: "+A.s);t.l=i[0],t.r=i[1]}else t.l=A.l,t.r=A.r;for(var r of(t.l=j(n(t.l)),t.r=j(n(t.r)),["imposeContext","repeat","assuming"]))r in A&&(t[r]=A[r]);if(A.evaluate&&(t.evaluate=n(A.evaluate)),U(t.l,e)){var s,o=!N(t.l,e);o&&(s=V());var a=S(t.l),B=V();t.expanded={},t.expanded.l=a([t.l,B]),x(t.expanded.l,e),T(t.expanded.l,e),t.expanded.r=a([t.r,B]),o&&(t.expandedNC1={},t.expandedNC1.l=a([s,t.l]),t.expandedNC1.r=a([s,t.r]),t.expandedNC2={},t.expandedNC2.l=a([s,t.expanded.l]),t.expandedNC2.r=a([s,t.expanded.r]))}return t}function P(A,e){for(var t=[],n=0;n<A.length;n++){var i=A[n],r=void 0,s=typeof i;switch(s){case"string":i={s:i};case"object":r=L(i,e);break;case"function":r=i;break;default:throw TypeError("Unsupported type of rule: "+s)}t.push(r)}return t}J.rules=[E,{l:"log(e)",r:"1"},{s:"n-n1 -> n+-n1",assuming:{subtract:{total:!0}}},{s:"n-n -> 0",assuming:{subtract:{total:!1}}},{s:"-(cl*v) -> v * (-cl)",assuming:{multiply:{commutative:!0},subtract:{total:!0}}},{s:"-(cl*v) -> (-cl) * v",assuming:{multiply:{commutative:!1},subtract:{total:!0}}},{s:"-(v*cl) -> v * (-cl)",assuming:{multiply:{commutative:!1},subtract:{total:!0}}},{l:"-(n1/n2)",r:"-n1/n2"},{l:"-v",r:"v * (-1)"},{l:"(n1 + n2)*(-1)",r:"n1*(-1) + n2*(-1)",repeat:!0},{l:"n/n1^n2",r:"n*n1^-n2"},{l:"n/n1",r:"n*n1^-1"},{s:"(n1*n2)^n3 -> n1^n3 * n2^n3",assuming:{multiply:{commutative:!0}}},{s:"(n1*n2)^(-1) -> n2^(-1) * n1^(-1)",assuming:{multiply:{commutative:!1}}},{s:"(n ^ n1) ^ n2 -> n ^ (n1 * n2)",assuming:{divide:{total:!0}}},{l:" vd * ( vd * n1 + n2)",r:"vd^2 * n1 + vd * n2"},{s:" vd * (vd^n4 * n1 + n2) -> vd^(1+n4) * n1 + vd * n2",assuming:{divide:{total:!0}}},{s:"vd^n3 * ( vd * n1 + n2) -> vd^(n3+1) * n1 + vd^n3 * n2",assuming:{divide:{total:!0}}},{s:"vd^n3 * (vd^n4 * n1 + n2) -> vd^(n3+n4) * n1 + vd^n3 * n2",assuming:{divide:{total:!0}}},{l:"n*n",r:"n^2"},{s:"n * n^n1 -> n^(n1+1)",assuming:{divide:{total:!0}}},{s:"n^n1 * n^n2 -> n^(n1+n2)",assuming:{divide:{total:!0}}},Q,{s:"n+n -> 2*n",assuming:{add:{total:!0}}},{l:"n+-n",r:"0"},{l:"vd*n + vd",r:"vd*(n+1)"},{l:"n3*n1 + n3*n2",r:"n3*(n1+n2)"},{l:"n3^(-n4)*n1 + n3 * n2",r:"n3^(-n4)*(n1 + n3^(n4+1) *n2)"},{l:"n3^(-n4)*n1 + n3^n5 * n2",r:"n3^(-n4)*(n1 + n3^(n4+n5)*n2)"},{s:"n*vd + vd -> (n+1)*vd",assuming:{multiply:{commutative:!1}}},{s:"vd + n*vd -> (1+n)*vd",assuming:{multiply:{commutative:!1}}},{s:"n1*n3 + n2*n3 -> (n1+n2)*n3",assuming:{multiply:{commutative:!1}}},{s:"n^n1 * n -> n^(n1+1)",assuming:{divide:{total:!0},multiply:{commutative:!1}}},{s:"n1*n3^(-n4) + n2 * n3 -> (n1 + n2*n3^(n4 + 1))*n3^(-n4)",assuming:{multiply:{commutative:!1}}},{s:"n1*n3^(-n4) + n2 * n3^n5 -> (n1 + n2*n3^(n4 + n5))*n3^(-n4)",assuming:{multiply:{commutative:!1}}},{l:"n*cd + cd",r:"(n+1)*cd"},{s:"cd*n + cd -> cd*(n+1)",assuming:{multiply:{commutative:!1}}},{s:"cd + cd*n -> cd*(1+n)",assuming:{multiply:{commutative:!1}}},Q,{s:"(-n)*n1 -> -(n*n1)",assuming:{subtract:{total:!0}}},{s:"n1*(-n) -> -(n1*n)",assuming:{subtract:{total:!0},multiply:{commutative:!1}}},{s:"ce+ve -> ve+ce",assuming:{add:{commutative:!0}},imposeContext:{add:{commutative:!1}}},{s:"vd*cd -> cd*vd",assuming:{multiply:{commutative:!0}},imposeContext:{multiply:{commutative:!1}}},{l:"n+-n1",r:"n-n1"},{l:"n+-(n1)",r:"n-(n1)"},{s:"n*(n1^-1) -> n/n1",assuming:{multiply:{commutative:!0}}},{s:"n*n1^-n2 -> n/n1^n2",assuming:{multiply:{commutative:!0}}},{s:"n^-1 -> 1/n",assuming:{multiply:{commutative:!0}}},{l:"n^1",r:"n"},{s:"n*(n1/n2) -> (n*n1)/n2",assuming:{multiply:{associative:!0}}},{s:"n-(n1+n2) -> n-n1-n2",assuming:{addition:{associative:!0,commutative:!0}}},{l:"1*n",r:"n",imposeContext:{multiply:{commutative:!0}}},{s:"n1/(n2/n3) -> (n1*n3)/n2",assuming:{multiply:{associative:!0}}},{l:"n1/(-n2)",r:"-n1/n2"}];var W=0;function V(){return new Y("_p"+W++)}function K(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:un(),n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=n.consoleDebug;e=P(e||J.rules,n.context);for(var r=g(A,t),s={},o=(r=j(r)).toString({parenthesis:"all"});!s[o];){s[o]=!0,W=0;var a=o;i&&console.log("Working on: ",o);for(var B=0;B<e.length;B++){var c="";if("function"==typeof e[B]?(r=e[B](r,n),i&&(c=e[B].name)):(x(r,n.context),r=Z(r,e[B],n.context),i&&(c="".concat(e[B].l.toString()," -> ").concat(e[B].r.toString()))),i){var Q=r.toString({parenthesis:"all"});Q!==a&&(console.log("Applying",c,"produced",Q),a=Q)}R(r,n.context)}o=r.toString({parenthesis:"all"})}return r}function X(A,e,t){var n=A;if(A)for(var i=0;i<A.length;++i){var r=Z(A[i],e,t);r!==A[i]&&(n===A&&(n=A.slice()),n[i]=r)}return n}function Z(A,e,t){if(e.assuming)for(var n in e.assuming)for(var i in e.assuming[n])if(f(n,i,t)!==e.assuming[n][i])return A;var r=y(e.imposeContext,t),s=A;if(s instanceof F||s instanceof M){var o=X(s.args,e,t);o!==s.args&&((s=s.clone()).args=o)}else if(s instanceof D){if(s.content){var a=Z(s.content,e,t);a!==s.content&&(s=new D(a))}}else if(s instanceof d){var B=X(s.items,e,t);B!==s.items&&(s=new d(B))}else if(s instanceof C){var c=s.object;s.object&&(c=Z(s.object,e,t));var g=s.index;s.index&&(g=Z(s.index,e,t)),c===s.object&&g===s.index||(s=new C(c,g))}else if(s instanceof p){var Q=X(s.dimensions,e,t);Q!==s.dimensions&&(s=new p(Q))}else if(s instanceof m){var E=!1,l={};for(var u in s.properties)l[u]=Z(s.properties[u],e,t),l[u]!==s.properties[u]&&(E=!0);E&&(s=new m(l))}var w=e.r,h=$(e.l,s,r)[0];if(!h&&e.expanded&&(w=e.expanded.r,h=$(e.expanded.l,s,r)[0]),!h&&e.expandedNC1&&(w=e.expandedNC1.r,(h=$(e.expandedNC1.l,s,r)[0])||(w=e.expandedNC2.r,h=$(e.expandedNC2.l,s,r)[0])),h){var I=s.implicit;s=w.clone(),I&&"implicit"in w&&(s.implicit=!0),s=s.transform((function(A){return A.isSymbolNode&&AA(h.placeholders,A.name)?h.placeholders[A.name].clone():A}))}return e.repeat&&s!==A&&(s=Z(s,e,t)),s}function _(A,e){var t={placeholders:{}};if(!A.placeholders&&!e.placeholders)return t;if(!A.placeholders)return e;if(!e.placeholders)return A;for(var n in A.placeholders)if(AA(A.placeholders,n)&&(t.placeholders[n]=A.placeholders[n],AA(e.placeholders,n)&&!eA(A.placeholders[n],e.placeholders[n])))return null;for(var i in e.placeholders)AA(e.placeholders,i)&&(t.placeholders[i]=e.placeholders[i]);return t}function q(A,e){var t,n=[];if(0===A.length||0===e.length)return n;for(var i=0;i<A.length;i++)for(var r=0;r<e.length;r++)(t=_(A[i],e[r]))&&n.push(t);return n}function $(A,e,t,n){var i=[{placeholders:{}}];if(A instanceof F&&e instanceof F||A instanceof M&&e instanceof M){if(A instanceof F){if(A.op!==e.op||A.fn!==e.fn)return[]}else if(A instanceof M&&A.name!==e.name)return[];if(!(1===e.args.length&&1===A.args.length||!U(e,t)&&e.args.length===A.args.length||n)){if(e.args.length>=2&&2===A.args.length){for(var r=function(A,e){var t,n,i=[],r=S(A);if(N(A,e))for(var s=0;s<A.args.length;s++)(n=A.args.slice(0)).splice(s,1),t=1===n.length?n[0]:r(n),i.push(r([A.args[s],t]));else for(var o=1;o<A.args.length;o++){var a=A.args[0];o>1&&(a=r(A.args.slice(0,o))),t=1===(n=A.args.slice(o)).length?n[0]:r(n),i.push(r([a,t]))}return i}(e,t),s=[],o=0;o<r.length;o++){var a=$(A,r[o],t,!0);s=s.concat(a)}return s}if(A.args.length>2)throw Error("Unexpected non-binary associative function: "+A.toString());return[]}for(var B=[],g=0;g<A.args.length;g++){var Q=$(A.args[g],e.args[g],t);if(0===Q.length)break;B.push(Q)}if(B.length!==A.args.length){if(!N(e,t)||1===A.args.length)return[];if(A.args.length>2)throw new Error("permuting >2 commutative non-associative rule arguments not yet implemented");var E=$(A.args[0],e.args[1],t);if(0===E.length)return[];var l=$(A.args[1],e.args[0],t);if(0===l.length)return[];B=[E,l]}i=function(A){if(0===A.length)return A;for(var e=A.reduce(q),t=[],n={},i=0;i<e.length;i++){var r=JSON.stringify(e[i]);n[r]||(n[r]=!0,t.push(e[i]))}return t}(B)}else if(A instanceof Y){if(0===A.name.length)throw new Error("Symbol in rule has 0 length...!?");if(z[A.name]){if(A.name!==e.name)return[]}else switch(A.name[1]>="a"&&A.name[1]<="z"?A.name.substring(0,2):A.name[0]){case"n":case"_p":i[0].placeholders[A.name]=e;break;case"c":case"cl":if(!G(e))return[];i[0].placeholders[A.name]=e;break;case"v":if(G(e))return[];i[0].placeholders[A.name]=e;break;case"vl":if(!O(e))return[];i[0].placeholders[A.name]=e;break;case"cd":if(!Hh(e))return[];i[0].placeholders[A.name]=e;break;case"vd":if(Hh(e))return[];i[0].placeholders[A.name]=e;break;case"ce":if(!bh(e))return[];i[0].placeholders[A.name]=e;break;case"ve":if(bh(e))return[];i[0].placeholders[A.name]=e;break;default:throw new Error("Invalid symbol in rule: "+A.name)}}else{if(!(A instanceof I))return[];if(!c(A.value,e.value))return[]}return i}function eA(A,e){if(A instanceof I&&e instanceof I){if(!c(A.value,e.value))return!1}else if(A instanceof Y&&e instanceof Y){if(A.name!==e.name)return!1}else{if(!(A instanceof F&&e instanceof F||A instanceof M&&e instanceof M))return!1;if(A instanceof F){if(A.op!==e.op||A.fn!==e.fn)return!1}else if(A instanceof M&&A.name!==e.name)return!1;if(A.args.length!==e.args.length)return!1;for(var t=0;t<A.args.length;t++)if(!eA(A.args[t],e.args[t]))return!1}return!0}return J}),Jh=le("symbolicEqual",["parse","simplify","typed","OperatorNode"],A=>{var{parse:e,simplify:t,typed:n,OperatorNode:i}=A;function r(A,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new i("-","subtract",[A,e]),s=t(r,{},n);return G(s)&&!s.value}return n("symbolicEqual",{"Node, Node":r,"Node, Node, Object":r})}),jh=le("parser",["typed","Parser"],A=>{var{typed:e,Parser:t}=A;return e("parser",{"":function(){return new t}})}),zh=le("rationalize",["config","typed","equal","isZero","add","subtract","multiply","divide","pow","parse","simplifyConstant","simplifyCore","simplify","?bignumber","?fraction","mathWithTransform","matrix","AccessorNode","ArrayNode","ConstantNode","FunctionNode","IndexNode","ObjectNode","OperatorNode","SymbolNode","ParenthesisNode"],A=>{var{config:e,typed:t,equal:n,isZero:i,add:r,subtract:s,multiply:o,divide:a,pow:B,parse:c,simplifyConstant:g,simplifyCore:Q,simplify:E,fraction:l,bignumber:u,mathWithTransform:w,matrix:h,AccessorNode:C,ArrayNode:d,ConstantNode:I,FunctionNode:M,IndexNode:p,ObjectNode:m,OperatorNode:F,SymbolNode:D,ParenthesisNode:Y}=A;function f(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=U(),i=N(A,e,!0,n.firstRules),r=i.variables.length,s={exactFractions:!1},o={exactFractions:!0};if(A=i.expression,r>=1){var a,B;A=y(A);var c,g=!0,Q=!1;for(A=E(A,n.firstRules,{},s);B=g?n.distrDivRules:n.sucDivRules,g=!g,(c=(A=E(A,B,{},o)).toString())!==a;)Q=!0,a=c;Q&&(A=E(A,n.firstRulesAgain,{},s)),A=E(A,n.finalRules,{},s)}var l=[],u={};return"OperatorNode"===A.type&&A.isBinary()&&"/"===A.op?(1===r&&(A.args[0]=x(A.args[0],l),A.args[1]=x(A.args[1])),t&&(u.numerator=A.args[0],u.denominator=A.args[1])):(1===r&&(A=x(A,l)),t&&(u.numerator=A,u.denominator=null)),t?(u.coefficients=l,u.variables=i.variables,u.expression=A,u):A}return t("rationalize",{Node:f,"Node, boolean":(A,e)=>f(A,{},e),"Node, Object":f,"Node, Object, boolean":f});function N(A,e,t,n){var i=[],r=E(A,n,e,{exactFractions:!1}),s="+-*"+((t=!!t)?"/":"");!function A(e){var t=e.type;if("FunctionNode"===t)throw new Error("There is an unsolved function call");if("OperatorNode"===t)if("^"===e.op){if("ConstantNode"!==e.args[1].type||!BA(parseFloat(e.args[1].value)))throw new Error("There is a non-integer exponent");A(e.args[0])}else{if(-1===s.indexOf(e.op))throw new Error("Operator "+e.op+" invalid in polynomial expression");for(var n=0;n<e.args.length;n++)A(e.args[n])}else if("SymbolNode"===t){var r=e.name;-1===i.indexOf(r)&&i.push(r)}else if("ParenthesisNode"===t)A(e.content);else if("ConstantNode"!==t)throw new Error("type "+t+" is not allowed in polynomial expression")}(r);var o={};return o.expression=r,o.variables=i,o}function U(){var A=[Q,{l:"n+n",r:"2*n"},{l:"n+-n",r:"0"},g,{l:"n*(n1^-1)",r:"n/n1"},{l:"n*n1^-n2",r:"n/n1^n2"},{l:"n1^-1",r:"1/n1"},{l:"n*(n1/n2)",r:"(n*n1)/n2"},{l:"1*n",r:"n"}],e=[{l:"(-n1)/(-n2)",r:"n1/n2"},{l:"(-n1)*(-n2)",r:"n1*n2"},{l:"n1--n2",r:"n1+n2"},{l:"n1-n2",r:"n1+(-n2)"},{l:"(n1+n2)*n3",r:"(n1*n3 + n2*n3)"},{l:"n1*(n2+n3)",r:"(n1*n2+n1*n3)"},{l:"c1*n + c2*n",r:"(c1+c2)*n"},{l:"c1*n + n",r:"(c1+1)*n"},{l:"c1*n - c2*n",r:"(c1-c2)*n"},{l:"c1*n - n",r:"(c1-1)*n"},{l:"v/c",r:"(1/c)*v"},{l:"v/-c",r:"-(1/c)*v"},{l:"-v*-c",r:"c*v"},{l:"-v*c",r:"-c*v"},{l:"v*-c",r:"-c*v"},{l:"v*c",r:"c*v"},{l:"-(-n1*n2)",r:"(n1*n2)"},{l:"-(n1*n2)",r:"(-n1*n2)"},{l:"-(-n1+n2)",r:"(n1-n2)"},{l:"-(n1+n2)",r:"(-n1-n2)"},{l:"(n1^n2)^n3",r:"(n1^(n2*n3))"},{l:"-(-n1/n2)",r:"(n1/n2)"},{l:"-(n1/n2)",r:"(-n1/n2)"}],t=[{l:"(n1/(n2/n3))",r:"((n1*n3)/n2)"},{l:"(n1/n2/n3)",r:"(n1/(n2*n3))"}],n={};return n.firstRules=A.concat(e,t),n.distrDivRules=[{l:"(n1/n2 + n3/n4)",r:"((n1*n4 + n3*n2)/(n2*n4))"},{l:"(n1/n2 + n3)",r:"((n1 + n3*n2)/n2)"},{l:"(n1 + n2/n3)",r:"((n1*n3 + n2)/n3)"}],n.sucDivRules=t,n.firstRulesAgain=A.concat(e),n.finalRules=[Q,{l:"n*-n",r:"-n^2"},{l:"n*n",r:"n^2"},g,{l:"n*-n^n1",r:"-n^(n1+1)"},{l:"n*n^n1",r:"n^(n1+1)"},{l:"n^n1*-n^n2",r:"-n^(n1+n2)"},{l:"n^n1*n^n2",r:"n^(n1+n2)"},{l:"n^n1*-n",r:"-n^(n1+1)"},{l:"n^n1*n",r:"n^(n1+1)"},{l:"n^n1/-n",r:"-n^(n1-1)"},{l:"n^n1/n",r:"n^(n1-1)"},{l:"n/-n^n1",r:"-n^(1-n1)"},{l:"n/n^n1",r:"n^(1-n1)"},{l:"n^n1/-n^n2",r:"n^(n1-n2)"},{l:"n^n1/n^n2",r:"n^(n1-n2)"},{l:"n1+(-n2*n3)",r:"n1-n2*n3"},{l:"v*(-c)",r:"-c*v"},{l:"n1+-n2",r:"n1-n2"},{l:"v*c",r:"c*v"},{l:"(n1^n2)^n3",r:"(n1^(n2*n3))"}],n}function y(A,e,t){var n=A.type,i=arguments.length>1;if("OperatorNode"===n&&A.isBinary()){var r,s=!1;if("^"===A.op&&("ParenthesisNode"!==A.args[0].type&&"OperatorNode"!==A.args[0].type||"ConstantNode"!==A.args[1].type||(s=(r=parseFloat(A.args[1].value))>=2&&BA(r))),s){if(r>2){var o=A.args[0],a=new F("^","pow",[A.args[0].cloneDeep(),new I(r-1)]);A=new F("*","multiply",[o,a])}else A=new F("*","multiply",[A.args[0],A.args[0].cloneDeep()]);i&&("content"===t?e.content=A:e.args[t]=A)}}if("ParenthesisNode"===n)y(A.content,A,"content");else if("ConstantNode"!==n&&"SymbolNode"!==n)for(var B=0;B<A.args.length;B++)y(A.args[B],A,B);if(!i)return A}function x(A,e){void 0===e&&(e=[]),e[0]=0;var t={cte:1,oper:"+",fire:""},n=0,i="";!function A(t,r,s){var o=t.type;if("FunctionNode"===o)throw new Error("There is an unsolved function call");if("OperatorNode"===o){if(-1==="+-*^".indexOf(t.op))throw new Error("Operator "+t.op+" invalid");if(null!==r){if(("unaryMinus"===t.fn||"pow"===t.fn)&&"add"!==r.fn&&"subtract"!==r.fn&&"multiply"!==r.fn)throw new Error("Invalid "+t.op+" placing");if(("subtract"===t.fn||"add"===t.fn||"multiply"===t.fn)&&"add"!==r.fn&&"subtract"!==r.fn)throw new Error("Invalid "+t.op+" placing");if(("subtract"===t.fn||"add"===t.fn||"unaryMinus"===t.fn)&&0!==s.noFil)throw new Error("Invalid "+t.op+" placing")}"^"!==t.op&&"*"!==t.op||(s.fire=t.op);for(var a=0;a<t.args.length;a++)"unaryMinus"===t.fn&&(s.oper="-"),"+"!==t.op&&"subtract"!==t.fn||(s.fire="",s.cte=1,s.oper=0===a?"+":t.op),s.noFil=a,A(t.args[a],t,s)}else if("SymbolNode"===o){if(t.name!==i&&""!==i)throw new Error("There is more than one variable");if(i=t.name,null===r)return void(e[1]=1);if("^"===r.op&&0!==s.noFil)throw new Error("In power the variable should be the first parameter");if("*"===r.op&&1!==s.noFil)throw new Error("In multiply the variable should be the second parameter");""!==s.fire&&"*"!==s.fire||(n<1&&(e[1]=0),e[1]+=s.cte*("+"===s.oper?1:-1),n=Math.max(1,n))}else{if("ConstantNode"!==o)throw new Error("Type "+o+" is not allowed");var B=parseFloat(t.value);if(null===r)return void(e[0]=B);if("^"===r.op){if(1!==s.noFil)throw new Error("Constant cannot be powered");if(!BA(B)||B<=0)throw new Error("Non-integer exponent is not allowed");for(var c=n+1;c<B;c++)e[c]=0;return B>n&&(e[B]=0),e[B]+=s.cte*("+"===s.oper?1:-1),void(n=Math.max(B,n))}s.cte=B,""===s.fire&&(e[0]+=s.cte*("+"===s.oper?1:-1))}}(A,null,t);for(var r,s=!0,o=n=e.length-1;o>=0;o--)if(0!==e[o]){var a=new I(s?e[o]:Math.abs(e[o])),B=e[o]<0?"-":"+";if(o>0){var c=new D(i);if(o>1){var g=new I(o);c=new F("^","pow",[c,g])}a=-1===e[o]&&s?new F("-","unaryMinus",[c]):1===Math.abs(e[o])?c:new F("*","multiply",[a,c])}r=s?a:"+"===B?new F("+","add",[r,a]):new F("-","subtract",[r,a]),s=!1}return s?new I(0):r}}),vh=le("derivative",["typed","config","parse","simplify","equal","isZero","numeric","ConstantNode","FunctionNode","OperatorNode","ParenthesisNode","SymbolNode"],A=>{var{typed:e,config:t,parse:n,simplify:i,equal:r,isZero:s,numeric:o,ConstantNode:a,FunctionNode:B,OperatorNode:c,ParenthesisNode:g,SymbolNode:Q}=A;function E(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{simplify:!0},n={};w(n,A,e.name);var r=h(A,n);return t.simplify?i(r):r}e.addConversion({from:"identifier",to:"SymbolNode",convert:n});var l=e("derivative",{"Node, SymbolNode":E,"Node, SymbolNode, Object":E});e.removeConversion({from:"identifier",to:"SymbolNode",convert:n}),l._simplify=!0,l.toTex=function(A){return u.apply(null,A.args)};var u=e("_derivTex",{"Node, SymbolNode":function(A,e){return G(A)&&"string"===V(A.value)?u(n(A.value).toString(),e.toString(),1):u(A.toTex(),e.toString(),1)},"Node, ConstantNode":function(A,e){if("string"===V(e.value))return u(A,n(e.value));throw new Error("The second parameter to 'derivative' is a non-string constant")},"Node, SymbolNode, ConstantNode":function(A,e,t){return u(A.toString(),e.name,t.value)},"string, string, number":function(A,e,t){return(1===t?"{d\\over d"+e+"}":"{d^{"+t+"}\\over d"+e+"^{"+t+"}}")+"\\left[".concat(A,"\\right]")}}),w=e("constTag",{"Object, ConstantNode, string":function(A,e){return A[e]=!0,!0},"Object, SymbolNode, string":function(A,e,t){return e.name!==t&&(A[e]=!0,!0)},"Object, ParenthesisNode, string":function(A,e,t){return w(A,e.content,t)},"Object, FunctionAssignmentNode, string":function(A,e,t){return-1===e.params.indexOf(t)?(A[e]=!0,!0):w(A,e.expr,t)},"Object, FunctionNode | OperatorNode, string":function(A,e,t){if(e.args.length>0){for(var n=w(A,e.args[0],t),i=1;i<e.args.length;++i)n=w(A,e.args[i],t)&&n;if(n)return A[e]=!0,!0}return!1}}),h=e("_derivative",{"ConstantNode, Object":function(A){return C(0)},"SymbolNode, Object":function(A,e){return void 0!==e[A]?C(0):C(1)},"ParenthesisNode, Object":function(A,e){return new g(h(A.content,e))},"FunctionAssignmentNode, Object":function(A,e){return void 0!==e[A]?C(0):h(A.expr,e)},"FunctionNode, Object":function(A,e){if(1!==A.args.length&&function(A){if(("log"===A.name||"nthRoot"===A.name||"pow"===A.name)&&2===A.args.length)return;for(var e=0;e<A.args.length;++e)A.args[e]=C(0);throw A.compile().evaluate(),new Error('Function "'+A.name+'" is not supported by derivative, or a wrong number of arguments is passed')}(A),void 0!==e[A])return C(0);var t,n,i,r,s=A.args[0],o=!1,a=!1;switch(A.name){case"cbrt":o=!0,n=new c("*","multiply",[C(3),new c("^","pow",[s,new c("/","divide",[C(2),C(3)])])]);break;case"sqrt":case"nthRoot":if(1===A.args.length)o=!0,n=new c("*","multiply",[C(2),new B("sqrt",[s])]);else if(2===A.args.length)return e[t=new c("/","divide",[C(1),A.args[1]])]=e[A.args[1]],h(new c("^","pow",[s,t]),e);break;case"log10":t=C(10);case"log":if(t||1!==A.args.length){if(1===A.args.length&&t||2===A.args.length&&void 0!==e[A.args[1]])n=new c("*","multiply",[s.clone(),new B("log",[t||A.args[1]])]),o=!0;else if(2===A.args.length)return h(new c("/","divide",[new B("log",[s]),new B("log",[A.args[1]])]),e)}else n=s.clone(),o=!0;break;case"pow":return e[t]=e[A.args[1]],h(new c("^","pow",[s,A.args[1]]),e);case"exp":n=new B("exp",[s.clone()]);break;case"sin":n=new B("cos",[s.clone()]);break;case"cos":n=new c("-","unaryMinus",[new B("sin",[s.clone()])]);break;case"tan":n=new c("^","pow",[new B("sec",[s.clone()]),C(2)]);break;case"sec":n=new c("*","multiply",[A,new B("tan",[s.clone()])]);break;case"csc":a=!0,n=new c("*","multiply",[A,new B("cot",[s.clone()])]);break;case"cot":a=!0,n=new c("^","pow",[new B("csc",[s.clone()]),C(2)]);break;case"asin":o=!0,n=new B("sqrt",[new c("-","subtract",[C(1),new c("^","pow",[s.clone(),C(2)])])]);break;case"acos":o=!0,a=!0,n=new B("sqrt",[new c("-","subtract",[C(1),new c("^","pow",[s.clone(),C(2)])])]);break;case"atan":o=!0,n=new c("+","add",[new c("^","pow",[s.clone(),C(2)]),C(1)]);break;case"asec":o=!0,n=new c("*","multiply",[new B("abs",[s.clone()]),new B("sqrt",[new c("-","subtract",[new c("^","pow",[s.clone(),C(2)]),C(1)])])]);break;case"acsc":o=!0,a=!0,n=new c("*","multiply",[new B("abs",[s.clone()]),new B("sqrt",[new c("-","subtract",[new c("^","pow",[s.clone(),C(2)]),C(1)])])]);break;case"acot":o=!0,a=!0,n=new c("+","add",[new c("^","pow",[s.clone(),C(2)]),C(1)]);break;case"sinh":n=new B("cosh",[s.clone()]);break;case"cosh":n=new B("sinh",[s.clone()]);break;case"tanh":n=new c("^","pow",[new B("sech",[s.clone()]),C(2)]);break;case"sech":a=!0,n=new c("*","multiply",[A,new B("tanh",[s.clone()])]);break;case"csch":a=!0,n=new c("*","multiply",[A,new B("coth",[s.clone()])]);break;case"coth":a=!0,n=new c("^","pow",[new B("csch",[s.clone()]),C(2)]);break;case"asinh":o=!0,n=new B("sqrt",[new c("+","add",[new c("^","pow",[s.clone(),C(2)]),C(1)])]);break;case"acosh":o=!0,n=new B("sqrt",[new c("-","subtract",[new c("^","pow",[s.clone(),C(2)]),C(1)])]);break;case"atanh":o=!0,n=new c("-","subtract",[C(1),new c("^","pow",[s.clone(),C(2)])]);break;case"asech":o=!0,a=!0,n=new c("*","multiply",[s.clone(),new B("sqrt",[new c("-","subtract",[C(1),new c("^","pow",[s.clone(),C(2)])])])]);break;case"acsch":o=!0,a=!0,n=new c("*","multiply",[new B("abs",[s.clone()]),new B("sqrt",[new c("+","add",[new c("^","pow",[s.clone(),C(2)]),C(1)])])]);break;case"acoth":o=!0,a=!0,n=new c("-","subtract",[C(1),new c("^","pow",[s.clone(),C(2)])]);break;case"abs":n=new c("/","divide",[new B(new Q("abs"),[s.clone()]),s.clone()]);break;case"gamma":default:throw new Error('Function "'+A.name+'" is not supported by derivative, or a wrong number of arguments is passed')}o?(i="/",r="divide"):(i="*",r="multiply");var g=h(s,e);return a&&(g=new c("-","unaryMinus",[g])),new c(i,r,[g,n])},"OperatorNode, Object":function(A,e){if(void 0!==e[A])return C(0);if("+"===A.op)return new c(A.op,A.fn,A.args.map((function(A){return h(A,e)})));if("-"===A.op){if(A.isUnary())return new c(A.op,A.fn,[h(A.args[0],e)]);if(A.isBinary())return new c(A.op,A.fn,[h(A.args[0],e),h(A.args[1],e)])}if("*"===A.op){var t=A.args.filter((function(A){return void 0!==e[A]}));if(t.length>0){var n=A.args.filter((function(A){return void 0===e[A]})),i=1===n.length?n[0]:new c("*","multiply",n),o=t.concat(h(i,e));return new c("*","multiply",o)}return new c("+","add",A.args.map((function(t){return new c("*","multiply",A.args.map((function(A){return A===t?h(A,e):A.clone()})))})))}if("/"===A.op&&A.isBinary()){var a=A.args[0],g=A.args[1];return void 0!==e[g]?new c("/","divide",[h(a,e),g]):void 0!==e[a]?new c("*","multiply",[new c("-","unaryMinus",[a]),new c("/","divide",[h(g,e),new c("^","pow",[g.clone(),C(2)])])]):new c("/","divide",[new c("-","subtract",[new c("*","multiply",[h(a,e),g.clone()]),new c("*","multiply",[a.clone(),h(g,e)])]),new c("^","pow",[g.clone(),C(2)])])}if("^"===A.op&&A.isBinary()){var Q=A.args[0],E=A.args[1];if(void 0!==e[Q])return G(Q)&&(s(Q.value)||r(Q.value,1))?C(0):new c("*","multiply",[A,new c("*","multiply",[new B("log",[Q.clone()]),h(E.clone(),e)])]);if(void 0!==e[E]){if(G(E)){if(s(E.value))return C(0);if(r(E.value,1))return h(Q,e)}var l=new c("^","pow",[Q.clone(),new c("-","subtract",[E,C(1)])]);return new c("*","multiply",[E.clone(),new c("*","multiply",[h(Q,e),l])])}return new c("*","multiply",[new c("^","pow",[Q.clone(),E.clone()]),new c("+","add",[new c("*","multiply",[h(Q,e),new c("/","divide",[E.clone(),Q.clone()])]),new c("*","multiply",[h(E,e),new B("log",[Q.clone()])])])])}throw new Error('Operator "'+A.op+'" is not supported by derivative, or a wrong number of arguments is passed')}});function C(A,e){return new a(o(A,e||t.number))}return l});function Lh(A,e,t){var n=A.filter((function(A){return O(A)&&!(A.name in e)&&!t.has(A.name)}))[0];if(!n)throw new Error('No undefined variable found in inline expression "'+A+'"');var i=n.name,r=gh(t),s=A.compile();return function(A){return r.set(i,A),s.evaluate(r)}}var Ph=le("filter",["typed"],A=>{var{typed:e}=A;function t(A,e,t){var i,r;return A[0]&&(i=A[0].compile().evaluate(t)),A[1]&&(r=O(A[1])||H(A[1])?A[1].compile().evaluate(t):Lh(A[1],e,t)),n(i,r)}t.rawArgs=!0;var n=e("filter",{"Array, function":Oh,"Matrix, function":function(A,e){return A.create(Oh(A.toArray(),e))},"Array, RegExp":ne,"Matrix, RegExp":function(A,e){return A.create(ne(A.toArray(),e))}});return t},{isTransformFunction:!0});function Oh(A,e){return te(A,(function(A,t,n){return gr(e,A,[t+1],n,"filter")}))}var Wh=le("forEach",["typed"],A=>{var{typed:e}=A;function t(A,e,t){var i,r;return A[0]&&(i=A[0].compile().evaluate(t)),A[1]&&(r=O(A[1])||H(A[1])?A[1].compile().evaluate(t):Lh(A[1],e,t)),n(i,r)}t.rawArgs=!0;var n=e("forEach",{"Array | Matrix, function":function(A,e){!function t(n,i){if(!Array.isArray(n))return gr(e,n,i,A,"forEach");ee(n,(function(A,e){t(A,i.concat(e+1))}))}(A.valueOf(),[])}});return t},{isTransformFunction:!0}),Vh=le("map",["typed"],A=>{var{typed:e}=A;function t(A,e,t){var i,r;return A[0]&&(i=A[0].compile().evaluate(t)),A[1]&&(r=O(A[1])||H(A[1])?A[1].compile().evaluate(t):Lh(A[1],e,t)),n(i,r)}t.rawArgs=!0;var n=e("map",{"Array, function":function(A,e){return Kh(A,e,A)},"Matrix, function":function(A,e){return A.create(Kh(A.valueOf(),e,A))}});return t},{isTransformFunction:!0});function Kh(A,e,t){return function A(n,i){return Array.isArray(n)?Ae(n,(function(e,t){return A(e,i.concat(t+1))})):gr(e,n,i,t,"map")}(A,[])}var Xh=le("apply",["typed","isInteger"],A=>{var{typed:e,isInteger:t}=A,n=us({typed:e,isInteger:t});return e("apply",{"...any":function(A){var e=A[1];o(e)?A[1]=e-1:a(e)&&(A[1]=e.minus(1));try{return n.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),Zh=le("concat",["typed","matrix","isInteger"],A=>{var{typed:e,matrix:t,isInteger:n}=A,i=$s({typed:e,matrix:t,isInteger:n});return e("concat",{"...any":function(A){var e=A.length-1,t=A[e];o(t)?A[e]=t-1:a(t)&&(A[e]=t.minus(1));try{return i.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0});function _h(A){if(2===A.length&&u(A[0])){var e=(A=A.slice())[1];o(e)?A[1]=e-1:a(e)&&(A[1]=e.minus(1))}return A}var qh=le("max",["typed","config","numeric","larger"],A=>{var{typed:e,config:t,numeric:n,larger:i}=A,r=FB({typed:e,config:t,numeric:n,larger:i});return e("max",{"...any":function(A){A=_h(A);try{return r.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),$h=le("print",["typed","matrix","zeros","add"],A=>{var{typed:e,matrix:t,zeros:n,add:i}=A,r=qr({typed:e,matrix:t,zeros:n,add:i});return e("print",{"string, Object | Array":function(A,e){return r(s(A),e)},"string, Object | Array, number | Object":function(A,e,t){return r(s(A),e,t)}});function s(A){return A.replace(_r,A=>"$"+A.slice(1).split(".").map((function(A){return!isNaN(A)&&A.length>0?parseInt(A)-1:A})).join("."))}},{isTransformFunction:!0}),AC=le("diff",["typed","matrix","subtract","number","bignumber"],A=>{var{typed:e,matrix:t,subtract:n,number:i,bignumber:r}=A,s=aa({typed:e,matrix:t,subtract:n,number:i,bignumber:r});return e("diff",{"...any":function(A){A=_h(A);try{return s.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),eC=le("min",["typed","config","numeric","smaller"],A=>{var{typed:e,config:t,numeric:n,smaller:i}=A,r=ya({typed:e,config:t,numeric:n,smaller:i});return e("min",{"...any":function(A){A=_h(A);try{return r.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),tC=le("subset",["typed","matrix","zeros","add"],A=>{var{typed:e,matrix:t,zeros:n,add:i}=A,r=Xa({typed:e,matrix:t,zeros:n,add:i});return e("subset",{"...any":function(A){try{return r.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),nC=le("cumsum",["typed","add","unaryPlus"],A=>{var{typed:e,add:t,unaryPlus:n}=A,i=sa({typed:e,add:t,unaryPlus:n});return e("cumsum",{"...any":function(A){if(2===A.length&&u(A[0])){var e=A[1];o(e)?A[1]=e-1:a(e)&&(A[1]=e.minus(1))}try{return i.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),iC=le("index",["Index","getMatrixDataType"],A=>{var{Index:e,getMatrixDataType:t}=A;return function(){for(var A=[],n=0,i=arguments.length;n<i;n++){var r=arguments[n];if(C(r))r.start--,r.end-=r.step>0?0:2;else if(r&&!0===r.isSet)r=r.map((function(A){return A-1}));else if(E(r)||l(r))"boolean"!==t(r)&&(r=r.map((function(A){return A-1})));else if(o(r))r--;else if(a(r))r=r.toNumber()-1;else if("string"!=typeof r)throw new TypeError("Dimension must be an Array, Matrix, number, string, or Range");A[n]=r}var s=new e;return e.apply(s,A),s}},{isTransformFunction:!0}),rC=le("sum",["typed","config","add","numeric"],A=>{var{typed:e,config:t,add:n,numeric:i}=A,r=AB({typed:e,config:t,add:n,numeric:i});return e("sum",{"...any":function(A){A=_h(A);try{return r.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),sC=le("range",["typed","config","?matrix","?bignumber","smaller","smallerEq","larger","largerEq","add","isPositive"],A=>{var{typed:e,config:t,matrix:n,bignumber:i,smaller:r,smallerEq:s,larger:o,largerEq:a,add:B,isPositive:c}=A,g=RB({typed:e,config:t,matrix:n,bignumber:i,smaller:r,smallerEq:s,larger:o,largerEq:a,add:B,isPositive:c});return e("range",{"...any":function(A){return"boolean"!=typeof A[A.length-1]&&A.push(!0),g.apply(null,A)}})},{isTransformFunction:!0}),oC=le("row",["typed","Index","matrix","range"],A=>{var{typed:e,Index:t,matrix:n,range:i}=A,r=GB({typed:e,Index:t,matrix:n,range:i});return e("row",{"...any":function(A){var e=A.length-1,t=A[e];o(t)&&(A[e]=t-1);try{return r.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),aC=le("column",["typed","Index","matrix","range"],A=>{var{typed:e,Index:t,matrix:n,range:i}=A,r=JB({typed:e,Index:t,matrix:n,range:i});return e("column",{"...any":function(A){var e=A.length-1,t=A[e];o(t)&&(A[e]=t-1);try{return r.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),BC=le("mean",["typed","add","divide"],A=>{var{typed:e,add:t,divide:n}=A,i=pc({typed:e,add:t,divide:n});return e("mean",{"...any":function(A){A=_h(A);try{return i.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),cC=le("quantileSeq",["typed","bignumber","add","subtract","divide","multiply","partitionSelect","compare","isInteger","smaller","smallerEq","larger"],A=>{var{typed:e,bignumber:t,add:n,subtract:i,divide:r,multiply:s,partitionSelect:o,compare:a,isInteger:B,smaller:c,smallerEq:g,larger:Q}=A,E=Fc({typed:e,bignumber:t,add:n,subtract:i,divide:r,multiply:s,partitionSelect:o,compare:a,isInteger:B,smaller:c,smallerEq:g,larger:Q});return e("quantileSeq",{"Array | Matrix, number | BigNumber":E,"Array | Matrix, number | BigNumber, number":(A,e,t)=>E(A,e,l(t)),"Array | Matrix, number | BigNumber, boolean":E,"Array | Matrix, number | BigNumber, boolean, number":(A,e,t,n)=>E(A,e,t,l(n)),"Array | Matrix, Array | Matrix":E,"Array | Matrix, Array | Matrix, number":(A,e,t)=>E(A,e,l(t)),"Array | Matrix, Array | Matrix, boolean":E,"Array | Matrix, Array | Matrix, boolean, number":(A,e,t,n)=>E(A,e,t,l(n))});function l(A){return _h([[],A])[1]}},{isTransformFunction:!0}),gC=le("variance",["typed","add","subtract","multiply","divide","apply","isNaN"],A=>{var{typed:e,add:t,subtract:n,multiply:i,divide:r,apply:s,isNaN:o}=A,a=Yc({typed:e,add:t,subtract:n,multiply:i,divide:r,apply:s,isNaN:o});return e("variance",{"...any":function(A){A=_h(A);try{return a.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),QC=le("std",["typed","map","sqrt","variance"],A=>{var{typed:e,map:t,sqrt:n,variance:i}=A,r=Hc({typed:e,map:t,sqrt:n,variance:i});return e("std",{"...any":function(A){A=_h(A);try{return r.apply(null,A)}catch(A){throw sh(A)}}})},{isTransformFunction:!0}),EC={},lC={},uC={},wC=xw({mathWithTransform:lC}),hC=Tw({Node:wC}),CC=Vw({Node:wC}),dC=Kw({Node:wC}),IC=Xw({Node:wC}),MC=Zw({Node:wC}),pC=_w({Node:wC,ResultSet:lg}),mC=qw({Node:wC}),FC=$w({Node:wC}),DC=Ah({Node:wC}),YC=eh({classes:uC}),fC=th({math:EC,typed:Yg}),NC=nh({Node:wC,typed:Yg}),UC=ih({Chain:fC,typed:Yg}),yC=rh({Node:wC,size:sE}),xC=ah({Node:wC,subset:wl}),TC=Bh({matrix:AE,Node:wC,subset:wl}),RC=ch({Unit:nu,Node:wC,math:EC}),GC=Qh({Node:wC,SymbolNode:RC,math:EC}),SC=Eh({AccessorNode:xC,ArrayNode:MC,AssignmentNode:TC,BlockNode:pC,ConditionalNode:mC,ConstantNode:FC,FunctionAssignmentNode:NC,FunctionNode:GC,IndexNode:yC,ObjectNode:hC,OperatorNode:CC,ParenthesisNode:dC,RangeNode:DC,RelationalNode:IC,SymbolNode:RC,config:sA,numeric:nE,typed:Yg}),HC=lh({ConstantNode:FC,FunctionNode:GC,OperatorNode:CC,ParenthesisNode:dC,parse:SC,typed:Yg}),bC=Ih({bignumber:Jg,fraction:qQ,AccessorNode:xC,ArrayNode:MC,ConstantNode:FC,FunctionNode:GC,IndexNode:yC,ObjectNode:hC,OperatorNode:CC,SymbolNode:RC,config:sA,mathWithTransform:lC,matrix:AE,typed:Yg}),kC=ph({parse:SC,typed:Yg}),JC=Fh({parse:SC}),jC=Yh({parse:SC,typed:Yg}),zC=Nh({AccessorNode:xC,ArrayNode:MC,ConstantNode:FC,FunctionNode:GC,IndexNode:yC,ObjectNode:hC,OperatorNode:CC,ParenthesisNode:dC,SymbolNode:RC,add:jE,divide:Lu,equal:dE,isZero:BQ,multiply:cl,parse:SC,pow:$l,subtract:SE,typed:Yg}),vC=yh({parse:SC,typed:Yg}),LC=Gh({Help:JC,mathWithTransform:lC,typed:Yg}),PC=Sh({evaluate:vC}),OC=kh({bignumber:Jg,fraction:qQ,AccessorNode:xC,ArrayNode:MC,ConstantNode:FC,FunctionNode:GC,IndexNode:yC,ObjectNode:hC,OperatorNode:CC,ParenthesisNode:dC,SymbolNode:RC,add:jE,config:sA,divide:Lu,equal:dE,isZero:BQ,mathWithTransform:lC,matrix:AE,multiply:cl,parse:SC,pow:$l,resolve:HC,simplifyConstant:bC,simplifyCore:zC,subtract:SE,typed:Yg}),WC=Jh({OperatorNode:CC,parse:SC,simplify:OC,typed:Yg}),VC=jh({Parser:PC,typed:Yg}),KC=zh({bignumber:Jg,fraction:qQ,AccessorNode:xC,ArrayNode:MC,ConstantNode:FC,FunctionNode:GC,IndexNode:yC,ObjectNode:hC,OperatorNode:CC,ParenthesisNode:dC,SymbolNode:RC,add:jE,config:sA,divide:Lu,equal:dE,isZero:BQ,mathWithTransform:lC,matrix:AE,multiply:cl,parse:SC,pow:$l,simplify:OC,simplifyConstant:bC,simplifyCore:zC,subtract:SE,typed:Yg}),XC=vh({ConstantNode:FC,FunctionNode:GC,OperatorNode:CC,ParenthesisNode:dC,SymbolNode:RC,config:sA,equal:dE,isZero:BQ,numeric:nE,parse:SC,simplify:OC,typed:Yg});r()(EC,{e:eg,false:tg,fineStructure:ng,i:rg,Infinity:sg,LN10:og,LOG10E:ag,NaN:cg,null:gg,phi:Qg,SQRT1_2:ug,sackurTetrode:wg,tau:hg,true:Cg,E:eg,version:dg,efimovFactor:Mg,LN2:pg,pi:mg,replacer:Fg,reviver:YC,SQRT2:Dg,typed:Yg,unaryPlus:fg,PI:mg,weakMixingAngle:Ng,abs:Ug,acos:yg,acot:xg,acsc:Tg,addScalar:Rg,arg:Gg,asech:Sg,asinh:Hg,atan:bg,atanh:kg,bignumber:Jg,bitNot:jg,boolean:zg,clone:vg,combinations:Lg,complex:Pg,conj:Og,cos:Wg,cot:Vg,csc:Kg,cube:Xg,equalScalar:Zg,erf:_g,exp:qg,expm1:$g,filter:AQ,forEach:eQ,format:tQ,getMatrixDataType:nQ,hex:iQ,im:rQ,isInteger:sQ,isNegative:oQ,isPositive:aQ,isZero:BQ,LOG2E:cQ,lgamma:gQ,log10:QQ,log2:EQ,map:lQ,multiplyScalar:uQ,not:wQ,number:hQ,oct:CQ,pickRandom:dQ,print:IQ,random:MQ,re:pQ,sec:mQ,sign:FQ,sin:DQ,splitUnit:fQ,square:NQ,string:UQ,subtractScalar:yQ,tan:xQ,typeOf:TQ,acosh:RQ,acsch:GQ,apply:SQ,asec:HQ,bin:bQ,chain:UC,combinationsWithRep:kQ,cosh:JQ,csch:jQ,isNaN:zQ,isPrime:vQ,randomInt:LQ,sech:PQ,sinh:OQ,sparse:WQ,sqrt:VQ,tanh:KQ,unaryMinus:XQ,acoth:ZQ,coth:_Q,fraction:qQ,isNumeric:$Q,matrix:AE,matrixFromFunction:eE,mode:tE,numeric:nE,prod:iE,reshape:rE,size:sE,squeeze:oE,transpose:aE,xgcd:BE,zeros:cE,asin:gE,cbrt:QE,concat:EE,count:lE,ctranspose:uE,diag:wE,divideScalar:hE,dotDivide:CE,equal:dE,flatten:IE,hasNumericValue:ME,identity:pE,kron:mE,largerEq:FE,leftShift:DE,lsolve:YE,matrixFromColumns:fE,nthRoot:NE,ones:UE,qr:yE,resize:xE,rightArithShift:TE,round:RE,smaller:GE,subtract:SE,to:HE,unequal:bE,usolve:kE,xor:JE,add:jE,atan2:zE,bitAnd:vE,bitXor:LE,catalan:PE,compare:OE,compareText:WE,cumsum:VE,deepEqual:KE,diff:XE,distance:ZE,dot:_E,equalText:qE,floor:$E,gcd:Al,hypot:el,larger:il,log:rl,lsolveAll:sl,matrixFromRows:ol,min:al,mod:Bl,multiply:cl,nthRoots:gl,or:Ql,partitionSelect:El,rightLogShift:ll,slu:ul,subset:wl,sum:hl,trace:Cl,usolveAll:dl,zpk2tf:Il,bitOr:Ml,ceil:pl,compareNatural:ml,composition:Fl,cross:Dl,det:Yl,dotMultiply:fl,fix:Ul,index:yl,intersect:xl,invmod:Tl,lcm:Rl,log1p:Gl,max:Sl,setCartesian:Hl,setDistinct:bl,setIsSubset:kl,setPowerset:Jl,smallerEq:jl,sort:zl,and:vl,range:Ll,row:Pl,setDifference:Ol,setMultiplicity:Wl,setSymDifference:Vl,column:Xl,inv:Zl,lup:_l,pinv:ql,pow:$l,setIntersect:Au,setUnion:eu,sqrtm:tu,vacuumImpedance:iu,wienDisplacement:ru,atomicMass:su,bohrMagneton:ou,boltzmann:au,conductanceQuantum:Bu,coulomb:cu,deuteronMass:gu,dotPow:Qu,electricConstant:Eu,elementaryCharge:lu,expm:uu,faraday:wu,fft:hu,gamma:Cu,gravitationConstant:du,hartreeEnergy:Iu,ifft:Mu,klitzing:pu,loschmidt:mu,magneticConstant:Fu,molarMass:Du,molarPlanckConstant:Yu,neutronMass:fu,nuclearMagneton:Nu,planckCharge:Uu,planckLength:yu,planckTemperature:xu,protonMass:Tu,quantumOfCirculation:Ru,reducedPlanckConstant:Gu,rydberg:Su,secondRadiation:Hu,speedOfLight:bu,stefanBoltzmann:ku,thomsonCrossSection:Ju,avogadro:ju,bohrRadius:zu,createUnit:vu,divide:Lu,electronMass:Pu,factorial:Ou,firstRadiation:Wu,gravity:Vu,inverseConductanceQuantum:Ku,lusolve:Xu,magneticFluxQuantum:Zu,molarMassC12:_u,multinomial:qu,parse:SC,permutations:$u,planckMass:Aw,polynomialRoot:ew,resolve:HC,setSize:tw,simplifyConstant:bC,solveODE:nw,stirlingS2:iw,unit:rw,bellNumbers:sw,compile:kC,eigs:ow,fermiCoupling:aw,gasConstant:Bw,leafCount:jC,mean:cw,molarVolume:gw,planckConstant:Qw,quantileSeq:Ew,simplifyCore:zC,variance:lw,classicalElectronRadius:uw,evaluate:vC,help:LC,median:ww,simplify:OC,symbolicEqual:WC,corr:hw,freqz:Cw,mad:dw,parser:VC,rationalize:KC,std:Iw,zeta:Mw,derivative:XC,norm:pw,rotationMatrix:mw,kldivergence:Fw,planckTime:Dw,schur:Yw,rotate:fw,sylvester:Nw,lyap:Uw,config:sA}),r()(lC,EC,{filter:Ph({typed:Yg}),forEach:Wh({typed:Yg}),map:Vh({typed:Yg}),apply:Xh({isInteger:sQ,typed:Yg}),concat:Zh({isInteger:sQ,matrix:AE,typed:Yg}),max:qh({config:sA,larger:il,numeric:nE,typed:Yg}),print:$h({add:jE,matrix:AE,typed:Yg,zeros:cE}),diff:AC({bignumber:Jg,matrix:AE,number:hQ,subtract:SE,typed:Yg}),min:eC({config:sA,numeric:nE,smaller:GE,typed:Yg}),subset:tC({add:jE,matrix:AE,typed:Yg,zeros:cE}),cumsum:nC({add:jE,typed:Yg,unaryPlus:fg}),index:iC({Index:nl,getMatrixDataType:nQ}),sum:rC({add:jE,config:sA,numeric:nE,typed:Yg}),range:sC({bignumber:Jg,matrix:AE,add:jE,config:sA,isPositive:aQ,larger:il,largerEq:FE,smaller:GE,smallerEq:jl,typed:Yg}),row:oC({Index:nl,matrix:AE,range:Ll,typed:Yg}),column:aC({Index:nl,matrix:AE,range:Ll,typed:Yg}),mean:BC({add:jE,divide:Lu,typed:Yg}),quantileSeq:cC({add:jE,bignumber:Jg,compare:OE,divide:Lu,isInteger:sQ,larger:il,multiply:cl,partitionSelect:El,smaller:GE,smallerEq:jl,subtract:SE,typed:Yg}),variance:gC({add:jE,apply:SQ,divide:Lu,isNaN:zQ,multiply:cl,subtract:SE,typed:Yg}),std:QC({map:lQ,sqrt:VQ,typed:Yg,variance:lw})}),r()(uC,{BigNumber:$c,Complex:Ag,Fraction:ig,Matrix:Bg,Node:wC,ObjectNode:hC,OperatorNode:CC,ParenthesisNode:dC,Range:Eg,RelationalNode:IC,ResultSet:lg,ArrayNode:MC,BlockNode:pC,ConditionalNode:mC,ConstantNode:FC,DenseMatrix:Ig,RangeNode:DC,Chain:fC,FunctionAssignmentNode:NC,SparseMatrix:YQ,IndexNode:yC,ImmutableDenseMatrix:tl,Index:nl,AccessorNode:xC,AssignmentNode:TC,FibonacciHeap:Nl,Spa:Kl,Unit:nu,SymbolNode:RC,FunctionNode:GC,Help:JC,Parser:PC}),fC.createProxy(EC);var ZC={createBigNumberClass:he},_C={createComplexClass:Ie},qC={createMatrixClass:$t},$C={MatrixDependencies:qC,createDenseMatrixClass:tn},Ad={createFractionClass:qt},ed={BigNumberDependencies:ZC,ComplexDependencies:_C,DenseMatrixDependencies:$C,FractionDependencies:Ad,createTyped:In},td={typedDependencies:ed,createAbs:_n},nd={createNode:xw},id={typedDependencies:ed,createEqualScalar:tr},rd={MatrixDependencies:qC,equalScalarDependencies:id,typedDependencies:ed,createSparseMatrixClass:ss},sd={typedDependencies:ed,createAddScalar:hi},od={typedDependencies:ed,createIsInteger:Ir},ad={DenseMatrixDependencies:$C,MatrixDependencies:qC,SparseMatrixDependencies:rd,typedDependencies:ed,createMatrix:Hs},Bd={isIntegerDependencies:od,matrixDependencies:ad,typedDependencies:ed,createConcat:$s},cd={DenseMatrixDependencies:$C,SparseMatrixDependencies:rd,addScalarDependencies:sd,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createAdd:Zo},gd={BigNumberDependencies:ZC,matrixDependencies:ad,typedDependencies:ed,createZeros:Zs},Qd={addDependencies:cd,matrixDependencies:ad,typedDependencies:ed,zerosDependencies:gd,createSubset:Xa},Ed={NodeDependencies:nd,subsetDependencies:Qd,createAccessorNode:ah},ld={ComplexDependencies:_C,typedDependencies:ed,createAcos:qn},ud={ComplexDependencies:_C,typedDependencies:ed,createAcosh:Es},wd={BigNumberDependencies:ZC,typedDependencies:ed,createAcot:ui},hd={BigNumberDependencies:ZC,ComplexDependencies:_C,typedDependencies:ed,createAcoth:Ts},Cd={BigNumberDependencies:ZC,ComplexDependencies:_C,typedDependencies:ed,createAcsc:wi},dd={BigNumberDependencies:ZC,typedDependencies:ed,createAcsch:ls},Id={typedDependencies:ed,createNot:Lr},Md={concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,notDependencies:Id,typedDependencies:ed,zerosDependencies:gd,createAnd:TB},pd={isIntegerDependencies:od,typedDependencies:ed,createApply:us},md={isIntegerDependencies:od,typedDependencies:ed,createApplyTransform:Xh},Fd={typedDependencies:ed,createArg:Ci},Dd={NodeDependencies:nd,createArrayNode:Zw},Yd={BigNumberDependencies:ZC,ComplexDependencies:_C,typedDependencies:ed,createAsec:hs},fd={BigNumberDependencies:ZC,ComplexDependencies:_C,typedDependencies:ed,createAsech:di},Nd={ComplexDependencies:_C,typedDependencies:ed,createAsin:_s},Ud={typedDependencies:ed,createAsinh:Ii},yd={matrixDependencies:ad,NodeDependencies:nd,subsetDependencies:Qd,createAssignmentNode:Bh},xd={typedDependencies:ed,createAtan:Mi},Td={BigNumberDependencies:ZC,DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createAtan2:qo},Rd={ComplexDependencies:_C,typedDependencies:ed,createAtanh:pi},Gd={BigNumberDependencies:ZC,typedDependencies:ed,createBignumber:mi},Sd={FractionDependencies:Ad,typedDependencies:ed,createFraction:Gs},Hd={typedDependencies:ed,createNumber:Pr},bd={bignumberDependencies:Gd,fractionDependencies:Sd,numberDependencies:Hd,createNumeric:vs},kd={numericDependencies:bd,typedDependencies:ed,createDivideScalar:no},Jd={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createEqual:lo},jd={BigNumberDependencies:ZC,DenseMatrixDependencies:$C,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,zerosDependencies:gd,createRound:Jo},zd={DenseMatrixDependencies:$C,equalScalarDependencies:id,matrixDependencies:ad,roundDependencies:jd,typedDependencies:ed,zerosDependencies:gd,createCeil:oB},vd={DenseMatrixDependencies:$C,equalScalarDependencies:id,matrixDependencies:ad,roundDependencies:jd,typedDependencies:ed,zerosDependencies:gd,createFloor:la},Ld={ComplexDependencies:_C,DenseMatrixDependencies:$C,ceilDependencies:zd,equalScalarDependencies:id,floorDependencies:vd,matrixDependencies:ad,typedDependencies:ed,zerosDependencies:gd,createFix:CB},Pd={typedDependencies:ed,createFormat:wr},Od={typedDependencies:ed,createIsNumeric:Ss},Wd={typedDependencies:ed,createMultiplyScalar:kr},Vd={BigNumberDependencies:ZC,DenseMatrixDependencies:$C,SparseMatrixDependencies:rd,matrixDependencies:ad,typedDependencies:ed,createIdentity:Co},Kd={typedDependencies:ed,createIsZero:fr},Xd={typedDependencies:ed,createConj:Ki},Zd={matrixDependencies:ad,typedDependencies:ed,createSize:Ws},_d={addScalarDependencies:sd,conjDependencies:Xd,multiplyScalarDependencies:Wd,sizeDependencies:Zd,typedDependencies:ed,createDot:ca},qd={addScalarDependencies:sd,dotDependencies:_d,equalScalarDependencies:id,matrixDependencies:ad,multiplyScalarDependencies:Wd,typedDependencies:ed,createMultiply:xa},$d={typedDependencies:ed,createSubtractScalar:cs},AI={typedDependencies:ed,createUnaryMinus:xs},eI={divideScalarDependencies:kd,isZeroDependencies:Kd,matrixDependencies:ad,multiplyDependencies:qd,subtractScalarDependencies:$d,typedDependencies:ed,unaryMinusDependencies:AI,createDet:EB},tI={absDependencies:td,addScalarDependencies:sd,detDependencies:eI,divideScalarDependencies:kd,identityDependencies:Vd,matrixDependencies:ad,multiplyDependencies:qd,typedDependencies:ed,unaryMinusDependencies:AI,createInv:jB},nI={ComplexDependencies:_C,fractionDependencies:Sd,identityDependencies:Vd,invDependencies:tI,matrixDependencies:ad,multiplyDependencies:qd,numberDependencies:Hd,typedDependencies:ed,createPow:LB},iI={BigNumberDependencies:ZC,ComplexDependencies:_C,FractionDependencies:Ad,absDependencies:td,addScalarDependencies:sd,divideScalarDependencies:kd,equalDependencies:Jd,fixDependencies:Ld,formatDependencies:Pd,isNumericDependencies:Od,multiplyScalarDependencies:Wd,numberDependencies:Hd,powDependencies:nI,roundDependencies:jd,subtractScalarDependencies:$d,createUnitClass:_B},rI={BigNumberDependencies:ZC,UnitDependencies:iI,createAtomicMass:ft},sI={BigNumberDependencies:ZC,UnitDependencies:iI,createAvogadro:Nt},oI={typedDependencies:ed,createIsNegative:Dr},aI={typedDependencies:ed,createCombinations:Oi},BI={BigNumberDependencies:ZC,ComplexDependencies:_C,multiplyScalarDependencies:Wd,powDependencies:nI,typedDependencies:ed,createGamma:ec},cI={gammaDependencies:BI,typedDependencies:ed,createFactorial:rc},gI={DenseMatrixDependencies:$C,concatDependencies:Bd,matrixDependencies:ad,typedDependencies:ed,createLarger:Da},QI={bignumberDependencies:Gd,addScalarDependencies:sd,combinationsDependencies:aI,divideScalarDependencies:kd,factorialDependencies:cI,isIntegerDependencies:od,isNegativeDependencies:oI,largerDependencies:gI,multiplyScalarDependencies:Wd,numberDependencies:Hd,powDependencies:nI,subtractScalarDependencies:$d,typedDependencies:ed,createStirlingS2:uc},EI={addScalarDependencies:sd,isIntegerDependencies:od,isNegativeDependencies:oI,stirlingS2Dependencies:QI,typedDependencies:ed,createBellNumbers:hc},lI={formatDependencies:Pd,typedDependencies:ed,createBin:Cs},uI={concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createBitAnd:$o},wI={typedDependencies:ed,createBitNot:ji},hI={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createBitOr:iB},CI={DenseMatrixDependencies:$C,concatDependencies:Bd,matrixDependencies:ad,typedDependencies:ed,createBitXor:Aa},dI={createResultSet:en},II={NodeDependencies:nd,ResultSetDependencies:dI,createBlockNode:_w},MI={BigNumberDependencies:ZC,UnitDependencies:iI,createBohrMagneton:ot},pI={BigNumberDependencies:ZC,UnitDependencies:iI,createBohrRadius:Et},mI={BigNumberDependencies:ZC,UnitDependencies:iI,createBoltzmann:Ut},FI={typedDependencies:ed,createBoolean:zi},DI={addScalarDependencies:sd,combinationsDependencies:aI,divideScalarDependencies:kd,isIntegerDependencies:od,isNegativeDependencies:oI,multiplyScalarDependencies:Wd,typedDependencies:ed,createCatalan:ea},YI={BigNumberDependencies:ZC,ComplexDependencies:_C,FractionDependencies:Ad,isNegativeDependencies:oI,matrixDependencies:ad,typedDependencies:ed,unaryMinusDependencies:AI,createCbrt:qs},fI={typedDependencies:ed,createChainClass:th},NI={ChainDependencies:fI,typedDependencies:ed,createChain:ih},UI={BigNumberDependencies:ZC,UnitDependencies:iI,createClassicalElectronRadius:lt},yI={typedDependencies:ed,createClone:vi},xI={DenseMatrixDependencies:$C,concatDependencies:Bd,matrixDependencies:ad,typedDependencies:ed,createSmaller:jo},TI={DenseMatrixDependencies:$C,smallerDependencies:xI,createImmutableDenseMatrixClass:pa},RI={typedDependencies:ed,createGetMatrixDataType:hr},GI={ImmutableDenseMatrixDependencies:TI,getMatrixDataTypeDependencies:RI,createIndexClass:ma},SI={typedDependencies:ed,createIsPositive:Yr},HI={DenseMatrixDependencies:$C,concatDependencies:Bd,matrixDependencies:ad,typedDependencies:ed,createLargerEq:Mo},bI={DenseMatrixDependencies:$C,concatDependencies:Bd,matrixDependencies:ad,typedDependencies:ed,createSmallerEq:UB},kI={bignumberDependencies:Gd,matrixDependencies:ad,addDependencies:cd,isPositiveDependencies:SI,largerDependencies:gI,largerEqDependencies:HI,smallerDependencies:xI,smallerEqDependencies:bI,typedDependencies:ed,createRange:RB},JI={IndexDependencies:GI,matrixDependencies:ad,rangeDependencies:kI,typedDependencies:ed,createColumn:JB},jI={IndexDependencies:GI,matrixDependencies:ad,rangeDependencies:kI,typedDependencies:ed,createColumnTransform:aC},zI={typedDependencies:ed,createCombinationsWithRep:ds},vI={BigNumberDependencies:ZC,DenseMatrixDependencies:$C,FractionDependencies:Ad,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createCompare:ta},LI={compareDependencies:vI,typedDependencies:ed,createCompareNatural:cB},PI={concatDependencies:Bd,matrixDependencies:ad,typedDependencies:ed,createCompareText:ra},OI={NodeDependencies:nd,createConditionalNode:qw},WI={NodeDependencies:nd,createConstantNode:$w},VI={NodeDependencies:nd,typedDependencies:ed,createFunctionAssignmentNode:nh},KI={UnitDependencies:iI,NodeDependencies:nd,createSymbolNode:ch},XI={NodeDependencies:nd,SymbolNodeDependencies:KI,createFunctionNode:Qh},ZI={NodeDependencies:nd,sizeDependencies:Zd,createIndexNode:rh},_I={NodeDependencies:nd,createObjectNode:Tw},qI={NodeDependencies:nd,createOperatorNode:Vw},$I={NodeDependencies:nd,createParenthesisNode:Kw},AM={NodeDependencies:nd,createRangeNode:Ah},eM={NodeDependencies:nd,createRelationalNode:Xw},tM={AccessorNodeDependencies:Ed,ArrayNodeDependencies:Dd,AssignmentNodeDependencies:yd,BlockNodeDependencies:II,ConditionalNodeDependencies:OI,ConstantNodeDependencies:WI,FunctionAssignmentNodeDependencies:VI,FunctionNodeDependencies:XI,IndexNodeDependencies:ZI,ObjectNodeDependencies:_I,OperatorNodeDependencies:qI,ParenthesisNodeDependencies:$I,RangeNodeDependencies:AM,RelationalNodeDependencies:eM,SymbolNodeDependencies:KI,numericDependencies:bd,typedDependencies:ed,createParse:Eh},nM={parseDependencies:tM,typedDependencies:ed,createCompile:ph},iM={ComplexDependencies:_C,typedDependencies:ed,createComplex:Vi},rM={addScalarDependencies:sd,combinationsDependencies:aI,isIntegerDependencies:od,isNegativeDependencies:oI,isPositiveDependencies:SI,largerDependencies:gI,typedDependencies:ed,createComposition:gB},sM={isIntegerDependencies:od,matrixDependencies:ad,typedDependencies:ed,createConcatTransform:Zh},oM={BigNumberDependencies:ZC,UnitDependencies:iI,createConductanceQuantum:at},aM={divideScalarDependencies:kd,equalScalarDependencies:id,invDependencies:tI,matrixDependencies:ad,multiplyDependencies:qd,typedDependencies:ed,createDivide:ic},BM={addDependencies:cd,divideDependencies:aM,typedDependencies:ed,createMean:pc},cM={ComplexDependencies:_C,typedDependencies:ed,createSqrt:Us},gM={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,subtractScalarDependencies:$d,typedDependencies:ed,unaryMinusDependencies:AI,createSubtract:Lo},QM={addDependencies:cd,numericDependencies:bd,typedDependencies:ed,createSum:AB},EM={addDependencies:cd,divideDependencies:aM,matrixDependencies:ad,meanDependencies:BM,multiplyDependencies:qd,powDependencies:nI,sqrtDependencies:cM,subtractDependencies:gM,sumDependencies:QM,typedDependencies:ed,createCorr:yc},lM={typedDependencies:ed,createCos:Zi},uM={typedDependencies:ed,createCosh:Ms},wM={BigNumberDependencies:ZC,typedDependencies:ed,createCot:_i},hM={BigNumberDependencies:ZC,typedDependencies:ed,createCoth:Rs},CM={BigNumberDependencies:ZC,UnitDependencies:iI,createCoulomb:rt},dM={multiplyScalarDependencies:Wd,numericDependencies:bd,typedDependencies:ed,createProd:Ps},IM={prodDependencies:dM,sizeDependencies:Zd,typedDependencies:ed,createCount:Ao},MM={UnitDependencies:iI,typedDependencies:ed,createCreateUnit:nc},pM={matrixDependencies:ad,multiplyDependencies:qd,subtractDependencies:gM,typedDependencies:ed,createCross:QB},mM={BigNumberDependencies:ZC,typedDependencies:ed,createCsc:qi},FM={BigNumberDependencies:ZC,typedDependencies:ed,createCsch:ps},DM={matrixDependencies:ad,typedDependencies:ed,createTranspose:Ks},YM={conjDependencies:Xd,transposeDependencies:DM,typedDependencies:ed,createCtranspose:eo},fM={typedDependencies:ed,createCube:$i},NM={BigNumberDependencies:ZC,typedDependencies:ed,createUnaryPlus:Zn},UM={addDependencies:cd,typedDependencies:ed,unaryPlusDependencies:NM,createCumSum:sa},yM={addDependencies:cd,typedDependencies:ed,unaryPlusDependencies:NM,createCumSumTransform:nC},xM={equalDependencies:Jd,typedDependencies:ed,createDeepEqual:oa},TM={ConstantNodeDependencies:WI,FunctionNodeDependencies:XI,OperatorNodeDependencies:qI,ParenthesisNodeDependencies:$I,parseDependencies:tM,typedDependencies:ed,createResolve:lh},RM={bignumberDependencies:Gd,fractionDependencies:Sd,AccessorNodeDependencies:Ed,ArrayNodeDependencies:Dd,ConstantNodeDependencies:WI,FunctionNodeDependencies:XI,IndexNodeDependencies:ZI,ObjectNodeDependencies:_I,OperatorNodeDependencies:qI,SymbolNodeDependencies:KI,matrixDependencies:ad,typedDependencies:ed,createSimplifyConstant:Ih},GM={AccessorNodeDependencies:Ed,ArrayNodeDependencies:Dd,ConstantNodeDependencies:WI,FunctionNodeDependencies:XI,IndexNodeDependencies:ZI,ObjectNodeDependencies:_I,OperatorNodeDependencies:qI,ParenthesisNodeDependencies:$I,SymbolNodeDependencies:KI,addDependencies:cd,divideDependencies:aM,equalDependencies:Jd,isZeroDependencies:Kd,multiplyDependencies:qd,parseDependencies:tM,powDependencies:nI,subtractDependencies:gM,typedDependencies:ed,createSimplifyCore:Nh},SM={bignumberDependencies:Gd,fractionDependencies:Sd,AccessorNodeDependencies:Ed,ArrayNodeDependencies:Dd,ConstantNodeDependencies:WI,FunctionNodeDependencies:XI,IndexNodeDependencies:ZI,ObjectNodeDependencies:_I,OperatorNodeDependencies:qI,ParenthesisNodeDependencies:$I,SymbolNodeDependencies:KI,addDependencies:cd,divideDependencies:aM,equalDependencies:Jd,isZeroDependencies:Kd,matrixDependencies:ad,multiplyDependencies:qd,parseDependencies:tM,powDependencies:nI,resolveDependencies:TM,simplifyConstantDependencies:RM,simplifyCoreDependencies:GM,subtractDependencies:gM,typedDependencies:ed,createSimplify:kh},HM={ConstantNodeDependencies:WI,FunctionNodeDependencies:XI,OperatorNodeDependencies:qI,ParenthesisNodeDependencies:$I,SymbolNodeDependencies:KI,equalDependencies:Jd,isZeroDependencies:Kd,numericDependencies:bd,parseDependencies:tM,simplifyDependencies:SM,typedDependencies:ed,createDerivative:vh},bM={BigNumberDependencies:ZC,UnitDependencies:iI,createDeuteronMass:It},kM={DenseMatrixDependencies:$C,SparseMatrixDependencies:rd,matrixDependencies:ad,typedDependencies:ed,createDiag:to},JM={matrixDependencies:ad,numberDependencies:Hd,subtractDependencies:gM,typedDependencies:ed,createDiff:aa},jM={bignumberDependencies:Gd,matrixDependencies:ad,numberDependencies:Hd,subtractDependencies:gM,typedDependencies:ed,createDiffTransform:AC},zM={absDependencies:td,addScalarDependencies:sd,deepEqualDependencies:xM,divideScalarDependencies:kd,multiplyScalarDependencies:Wd,sqrtDependencies:cM,subtractScalarDependencies:$d,typedDependencies:ed,createDistance:Ba},vM={DenseMatrixDependencies:$C,concatDependencies:Bd,divideScalarDependencies:kd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createDotDivide:Eo},LM={concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,multiplyScalarDependencies:Wd,typedDependencies:ed,createDotMultiply:lB},PM={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,powDependencies:nI,typedDependencies:ed,createDotPow:qB},OM={BigNumberDependencies:ZC,createE:Je},WM={BigNumberDependencies:ZC,createEfimovFactor:Yt},VM={matrixDependencies:ad,typedDependencies:ed,createFlatten:wo},KM={typedDependencies:ed,createIm:dr},XM={flattenDependencies:VM,matrixDependencies:ad,sizeDependencies:Zd,typedDependencies:ed,createMatrixFromColumns:yo},ZM={BigNumberDependencies:ZC,FractionDependencies:Ad,complexDependencies:iM,typedDependencies:ed,createSign:is},_M={addScalarDependencies:sd,complexDependencies:iM,conjDependencies:Xd,divideScalarDependencies:kd,equalDependencies:Jd,identityDependencies:Vd,isZeroDependencies:Kd,matrixDependencies:ad,multiplyScalarDependencies:Wd,signDependencies:ZM,sqrtDependencies:cM,subtractScalarDependencies:$d,typedDependencies:ed,unaryMinusDependencies:AI,zerosDependencies:gd,createQr:Go},qM={typedDependencies:ed,createRe:ts},$M={typedDependencies:ed,createSin:rs},Ap={DenseMatrixDependencies:$C,divideScalarDependencies:kd,equalScalarDependencies:id,matrixDependencies:ad,multiplyScalarDependencies:Wd,subtractScalarDependencies:$d,typedDependencies:ed,createUsolve:Vo},ep={DenseMatrixDependencies:$C,divideScalarDependencies:kd,equalScalarDependencies:id,matrixDependencies:ad,multiplyScalarDependencies:Wd,subtractScalarDependencies:$d,typedDependencies:ed,createUsolveAll:tB},tp={absDependencies:td,addDependencies:cd,addScalarDependencies:sd,atanDependencies:xd,bignumberDependencies:Gd,columnDependencies:JI,complexDependencies:iM,cosDependencies:lM,diagDependencies:kM,divideScalarDependencies:kd,dotDependencies:_d,equalDependencies:Jd,flattenDependencies:VM,imDependencies:KM,invDependencies:tI,largerDependencies:gI,matrixDependencies:ad,matrixFromColumnsDependencies:XM,multiplyDependencies:qd,multiplyScalarDependencies:Wd,numberDependencies:Hd,qrDependencies:_M,reDependencies:qM,sinDependencies:$M,smallerDependencies:xI,sqrtDependencies:cM,subtractDependencies:gM,typedDependencies:ed,usolveDependencies:Ap,usolveAllDependencies:ep,createEigs:Ic},np={BigNumberDependencies:ZC,UnitDependencies:iI,createElectricConstant:nt},ip={BigNumberDependencies:ZC,UnitDependencies:iI,createElectronMass:ut},rp={BigNumberDependencies:ZC,UnitDependencies:iI,createElementaryCharge:st},sp={compareTextDependencies:PI,isZeroDependencies:Kd,typedDependencies:ed,createEqualText:ga},op={typedDependencies:ed,createErf:nr},ap={parseDependencies:tM,typedDependencies:ed,createEvaluate:yh},Bp={typedDependencies:ed,createExp:Br},cp={absDependencies:td,addDependencies:cd,identityDependencies:Vd,invDependencies:tI,multiplyDependencies:qd,typedDependencies:ed,createExpm:$B},gp={ComplexDependencies:_C,typedDependencies:ed,createExpm1:cr},Qp={createFalse:Re},Ep={BigNumberDependencies:ZC,UnitDependencies:iI,createFaraday:yt},lp={BigNumberDependencies:ZC,UnitDependencies:iI,createFermiCoupling:wt},up={ComplexDependencies:_C,createI:Ve},wp={ComplexDependencies:_C,typedDependencies:ed,createLog2:Sr},hp={BigNumberDependencies:ZC,createTau:ke},Cp={addScalarDependencies:sd,ceilDependencies:zd,conjDependencies:Xd,divideScalarDependencies:kd,dotDivideDependencies:vM,expDependencies:Bp,iDependencies:up,log2Dependencies:wp,matrixDependencies:ad,multiplyScalarDependencies:Wd,powDependencies:nI,tauDependencies:hp,typedDependencies:ed,createFft:Ac},dp={largerDependencies:gI,smallerDependencies:xI,createFibonacciHeapClass:uB},Ip={typedDependencies:ed,createFilter:Qr},Mp={typedDependencies:ed,createFilterTransform:Ph},pp={BigNumberDependencies:ZC,createFineStructure:ht},mp={BigNumberDependencies:ZC,UnitDependencies:iI,createFirstRadiation:xt},Fp={typedDependencies:ed,createForEach:lr},Dp={typedDependencies:ed,createForEachTransform:Wh},Yp={ComplexDependencies:_C,addDependencies:cd,divideDependencies:aM,matrixDependencies:ad,multiplyDependencies:qd,typedDependencies:ed,createFreqz:Tc},fp={BigNumberDependencies:ZC,UnitDependencies:iI,createGasConstant:Rt},Np={BigNumberDependencies:ZC,DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,roundDependencies:jd,typedDependencies:ed,zerosDependencies:gd,createGcd:Ia},Up={BigNumberDependencies:ZC,UnitDependencies:iI,createGravitationConstant:$e},yp={BigNumberDependencies:ZC,UnitDependencies:iI,createGravity:vt},xp={BigNumberDependencies:ZC,UnitDependencies:iI,createHartreeEnergy:Ct},Tp={isNumericDependencies:Od,typedDependencies:ed,createHasNumericValue:ho},Rp={parseDependencies:tM,createHelpClass:Fh},Gp={HelpDependencies:Rp,typedDependencies:ed,createHelp:Gh},Sp={formatDependencies:Pd,typedDependencies:ed,createHex:Cr},Hp={absDependencies:td,addScalarDependencies:sd,divideScalarDependencies:kd,isPositiveDependencies:SI,multiplyScalarDependencies:Wd,smallerDependencies:xI,sqrtDependencies:cM,typedDependencies:ed,createHypot:Ma},bp={conjDependencies:Xd,dotDivideDependencies:vM,fftDependencies:Cp,typedDependencies:ed,createIfft:tc},kp={IndexDependencies:GI,typedDependencies:ed,createIndex:dB},Jp={IndexDependencies:GI,getMatrixDataTypeDependencies:RI,createIndexTransform:iC},jp={BigNumberDependencies:ZC,createInfinity:Se},zp={absDependencies:td,addDependencies:cd,addScalarDependencies:sd,divideScalarDependencies:kd,equalScalarDependencies:id,flattenDependencies:VM,isNumericDependencies:Od,isZeroDependencies:Kd,matrixDependencies:ad,multiplyDependencies:qd,multiplyScalarDependencies:Wd,smallerDependencies:xI,subtractDependencies:gM,typedDependencies:ed,createIntersect:IB},vp={BigNumberDependencies:ZC,UnitDependencies:iI,createInverseConductanceQuantum:Bt},Lp={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,roundDependencies:jd,typedDependencies:ed,zerosDependencies:gd,createMod:ua},Pp={BigNumberDependencies:ZC,matrixDependencies:ad,typedDependencies:ed,createXgcd:Xs},Op={BigNumberDependencies:ZC,addDependencies:cd,equalDependencies:Jd,isIntegerDependencies:od,modDependencies:Lp,smallerDependencies:xI,typedDependencies:ed,xgcdDependencies:Pp,createInvmod:MB},Wp={typedDependencies:ed,createIsNaN:ms},Vp={typedDependencies:ed,createIsPrime:Fs},Kp={ComplexDependencies:_C,divideScalarDependencies:kd,typedDependencies:ed,createLog:fa},Xp={typedDependencies:ed,createMap:Hr},Zp={divideDependencies:aM,dotDivideDependencies:vM,isNumericDependencies:Od,logDependencies:Kp,mapDependencies:Xp,matrixDependencies:ad,multiplyDependencies:qd,sumDependencies:QM,typedDependencies:ed,createKldivergence:Pc},_p={BigNumberDependencies:ZC,UnitDependencies:iI,createKlitzing:Qt},qp={matrixDependencies:ad,multiplyScalarDependencies:Wd,typedDependencies:ed,createKron:Io},$p={BigNumberDependencies:ZC,createLN10:ve},Am={BigNumberDependencies:ZC,createLN2:ze},em={BigNumberDependencies:ZC,createLOG10E:Pe},tm={BigNumberDependencies:ZC,createLOG2E:Le},nm={concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createLcm:pB},im={parseDependencies:tM,typedDependencies:ed,createLeafCount:Yh},rm={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,zerosDependencies:gd,createLeftShift:fo},sm={ComplexDependencies:_C,typedDependencies:ed,createLgamma:Rr},om={ComplexDependencies:_C,typedDependencies:ed,createLog10:Gr},am={ComplexDependencies:_C,divideScalarDependencies:kd,logDependencies:Kp,typedDependencies:ed,createLog1p:mB},Bm={BigNumberDependencies:ZC,UnitDependencies:iI,createLoschmidt:Tt},cm={DenseMatrixDependencies:$C,divideScalarDependencies:kd,equalScalarDependencies:id,matrixDependencies:ad,multiplyScalarDependencies:Wd,subtractScalarDependencies:$d,typedDependencies:ed,createLsolve:Uo},gm={DenseMatrixDependencies:$C,divideScalarDependencies:kd,equalScalarDependencies:id,matrixDependencies:ad,multiplyScalarDependencies:Wd,subtractScalarDependencies:$d,typedDependencies:ed,createLsolveAll:Na},Qm={FibonacciHeapDependencies:dp,addScalarDependencies:sd,equalScalarDependencies:id,createSpaClass:kB},Em={DenseMatrixDependencies:$C,SpaDependencies:Qm,SparseMatrixDependencies:rd,absDependencies:td,addScalarDependencies:sd,divideScalarDependencies:kd,equalScalarDependencies:id,largerDependencies:gI,matrixDependencies:ad,multiplyScalarDependencies:Wd,subtractScalarDependencies:$d,typedDependencies:ed,unaryMinusDependencies:AI,createLup:zB},lm={SparseMatrixDependencies:rd,absDependencies:td,addDependencies:cd,divideScalarDependencies:kd,largerDependencies:gI,largerEqDependencies:HI,multiplyDependencies:qd,subtractDependencies:gM,transposeDependencies:DM,typedDependencies:ed,createSlu:Ka},um={DenseMatrixDependencies:$C,lsolveDependencies:cm,lupDependencies:Em,matrixDependencies:ad,sluDependencies:lm,typedDependencies:ed,usolveDependencies:Ap,createLusolve:oc},wm={absDependencies:td,addDependencies:cd,conjDependencies:Xd,ctransposeDependencies:YM,eigsDependencies:tp,equalScalarDependencies:id,largerDependencies:gI,matrixDependencies:ad,multiplyDependencies:qd,powDependencies:nI,smallerDependencies:xI,sqrtDependencies:cM,typedDependencies:ed,createNorm:jc},hm={identityDependencies:Vd,matrixDependencies:ad,multiplyDependencies:qd,normDependencies:wm,qrDependencies:_M,subtractDependencies:gM,typedDependencies:ed,createSchur:Wc},Cm={absDependencies:td,addDependencies:cd,concatDependencies:Bd,identityDependencies:Vd,indexDependencies:kp,lusolveDependencies:um,matrixDependencies:ad,matrixFromColumnsDependencies:XM,multiplyDependencies:qd,rangeDependencies:kI,schurDependencies:hm,subsetDependencies:Qd,subtractDependencies:gM,transposeDependencies:DM,typedDependencies:ed,createSylvester:Zc},dm={matrixDependencies:ad,multiplyDependencies:qd,sylvesterDependencies:Cm,transposeDependencies:DM,typedDependencies:ed,createLyap:qc},Im={compareDependencies:vI,isNaNDependencies:Wp,isNumericDependencies:Od,typedDependencies:ed,createPartitionSelect:Ga},Mm={addDependencies:cd,compareDependencies:vI,divideDependencies:aM,partitionSelectDependencies:Im,typedDependencies:ed,createMedian:Nc},pm={absDependencies:td,mapDependencies:Xp,medianDependencies:Mm,subtractDependencies:gM,typedDependencies:ed,createMad:Gc},mm={BigNumberDependencies:ZC,UnitDependencies:iI,createMagneticConstant:tt},Fm={BigNumberDependencies:ZC,UnitDependencies:iI,createMagneticFluxQuantum:ct},Dm={typedDependencies:ed,createMapTransform:Vh},Ym={isZeroDependencies:Kd,matrixDependencies:ad,typedDependencies:ed,createMatrixFromFunction:bs},fm={flattenDependencies:VM,matrixDependencies:ad,sizeDependencies:Zd,typedDependencies:ed,createMatrixFromRows:Ua},Nm={largerDependencies:gI,numericDependencies:bd,typedDependencies:ed,createMax:FB},Um={largerDependencies:gI,numericDependencies:bd,typedDependencies:ed,createMaxTransform:qh},ym={addDependencies:cd,divideDependencies:aM,typedDependencies:ed,createMeanTransform:BC},xm={numericDependencies:bd,smallerDependencies:xI,typedDependencies:ed,createMin:ya},Tm={numericDependencies:bd,smallerDependencies:xI,typedDependencies:ed,createMinTransform:eC},Rm={isNaNDependencies:Wp,isNumericDependencies:Od,typedDependencies:ed,createMode:ks},Gm={BigNumberDependencies:ZC,UnitDependencies:iI,createMolarMass:jt},Sm={BigNumberDependencies:ZC,UnitDependencies:iI,createMolarMassC12:zt},Hm={BigNumberDependencies:ZC,UnitDependencies:iI,createMolarPlanckConstant:Gt},bm={BigNumberDependencies:ZC,UnitDependencies:iI,createMolarVolume:St},km={addDependencies:cd,divideDependencies:aM,factorialDependencies:cI,isIntegerDependencies:od,isPositiveDependencies:SI,multiplyDependencies:qd,typedDependencies:ed,createMultinomial:ac},Jm={BigNumberDependencies:ZC,createNaN:He},jm={BigNumberDependencies:ZC,UnitDependencies:iI,createNeutronMass:Mt},zm={BigNumberDependencies:ZC,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createNthRoot:To},vm={ComplexDependencies:_C,divideScalarDependencies:kd,typedDependencies:ed,createNthRoots:Ta},Lm={BigNumberDependencies:ZC,UnitDependencies:iI,createNuclearMagneton:gt},Pm={createNull:Ge},Om={formatDependencies:Pd,typedDependencies:ed,createOct:Or},Wm={BigNumberDependencies:ZC,matrixDependencies:ad,typedDependencies:ed,createOnes:Ro},Vm={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createOr:Ra},Km={evaluateDependencies:ap,createParserClass:Sh},Xm={ParserDependencies:Km,typedDependencies:ed,createParser:jh},Zm={factorialDependencies:cI,typedDependencies:ed,createPermutations:Bc},_m={BigNumberDependencies:ZC,createPhi:je},qm={BigNumberDependencies:ZC,createPi:be},$m={typedDependencies:ed,createPickRandom:Zr},AF={ComplexDependencies:_C,addDependencies:cd,ctransposeDependencies:YM,deepEqualDependencies:xM,divideScalarDependencies:kd,dotDependencies:_d,dotDivideDependencies:vM,equalDependencies:Jd,invDependencies:tI,matrixDependencies:ad,multiplyDependencies:qd,typedDependencies:ed,createPinv:vB},eF={BigNumberDependencies:ZC,UnitDependencies:iI,createPlanckCharge:Wt},tF={BigNumberDependencies:ZC,UnitDependencies:iI,createPlanckConstant:At},nF={BigNumberDependencies:ZC,UnitDependencies:iI,createPlanckLength:Lt},iF={BigNumberDependencies:ZC,UnitDependencies:iI,createPlanckMass:Pt},rF={BigNumberDependencies:ZC,UnitDependencies:iI,createPlanckTemperature:Vt},sF={BigNumberDependencies:ZC,UnitDependencies:iI,createPlanckTime:Ot},oF={typedDependencies:ed,createTypeOf:Qs},aF={addDependencies:cd,cbrtDependencies:YI,divideDependencies:aM,equalScalarDependencies:id,imDependencies:KM,isZeroDependencies:Kd,multiplyDependencies:qd,reDependencies:qM,sqrtDependencies:cM,subtractDependencies:gM,typeOfDependencies:oF,typedDependencies:ed,unaryMinusDependencies:AI,createPolynomialRoot:gc},BF={typedDependencies:ed,createPrint:qr},cF={addDependencies:cd,matrixDependencies:ad,typedDependencies:ed,zerosDependencies:gd,createPrintTransform:$h},gF={BigNumberDependencies:ZC,UnitDependencies:iI,createProtonMass:dt},QF={bignumberDependencies:Gd,addDependencies:cd,compareDependencies:vI,divideDependencies:aM,isIntegerDependencies:od,largerDependencies:gI,multiplyDependencies:qd,partitionSelectDependencies:Im,smallerDependencies:xI,smallerEqDependencies:bI,subtractDependencies:gM,typedDependencies:ed,createQuantileSeq:Fc},EF={addDependencies:cd,bignumberDependencies:Gd,compareDependencies:vI,divideDependencies:aM,isIntegerDependencies:od,largerDependencies:gI,multiplyDependencies:qd,partitionSelectDependencies:Im,smallerDependencies:xI,smallerEqDependencies:bI,subtractDependencies:gM,typedDependencies:ed,createQuantileSeqTransform:cC},lF={BigNumberDependencies:ZC,UnitDependencies:iI,createQuantumOfCirculation:pt},uF={typedDependencies:ed,createRandom:es},wF={typedDependencies:ed,createRandomInt:Ds},hF={createRangeClass:An},CF={bignumberDependencies:Gd,matrixDependencies:ad,addDependencies:cd,isPositiveDependencies:SI,largerDependencies:gI,largerEqDependencies:HI,smallerDependencies:xI,smallerEqDependencies:bI,typedDependencies:ed,createRangeTransform:sC},dF={bignumberDependencies:Gd,fractionDependencies:Sd,AccessorNodeDependencies:Ed,ArrayNodeDependencies:Dd,ConstantNodeDependencies:WI,FunctionNodeDependencies:XI,IndexNodeDependencies:ZI,ObjectNodeDependencies:_I,OperatorNodeDependencies:qI,ParenthesisNodeDependencies:$I,SymbolNodeDependencies:KI,addDependencies:cd,divideDependencies:aM,equalDependencies:Jd,isZeroDependencies:Kd,matrixDependencies:ad,multiplyDependencies:qd,parseDependencies:tM,powDependencies:nI,simplifyDependencies:SM,simplifyConstantDependencies:RM,simplifyCoreDependencies:GM,subtractDependencies:gM,typedDependencies:ed,createRationalize:zh},IF={BigNumberDependencies:ZC,UnitDependencies:iI,createReducedPlanckConstant:et},MF={createReplacer:nn},pF={isIntegerDependencies:od,matrixDependencies:ad,typedDependencies:ed,createReshape:Os},mF={matrixDependencies:ad,createResize:Ho},FF={createReviver:eh},DF={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,zerosDependencies:gd,createRightArithShift:bo},YF={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,zerosDependencies:gd,createRightLogShift:Sa},fF={BigNumberDependencies:ZC,DenseMatrixDependencies:$C,SparseMatrixDependencies:rd,addScalarDependencies:sd,cosDependencies:lM,matrixDependencies:ad,multiplyScalarDependencies:Wd,normDependencies:wm,sinDependencies:$M,typedDependencies:ed,unaryMinusDependencies:AI,createRotationMatrix:vc},NF={multiplyDependencies:qd,rotationMatrixDependencies:fF,typedDependencies:ed,createRotate:Kc},UF={IndexDependencies:GI,matrixDependencies:ad,rangeDependencies:kI,typedDependencies:ed,createRow:GB},yF={IndexDependencies:GI,matrixDependencies:ad,rangeDependencies:kI,typedDependencies:ed,createRowTransform:oC},xF={BigNumberDependencies:ZC,UnitDependencies:iI,createRydberg:mt},TF={BigNumberDependencies:ZC,createSQRT1_2:Oe},RF={BigNumberDependencies:ZC,createSQRT2:We},GF={BigNumberDependencies:ZC,createSackurTetrode:Ht},SF={BigNumberDependencies:ZC,typedDependencies:ed,createSec:ns},HF={BigNumberDependencies:ZC,typedDependencies:ed,createSech:Ys},bF={BigNumberDependencies:ZC,UnitDependencies:iI,createSecondRadiation:bt},kF={DenseMatrixDependencies:$C,IndexDependencies:GI,compareNaturalDependencies:LI,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetCartesian:DB},JF={DenseMatrixDependencies:$C,IndexDependencies:GI,compareNaturalDependencies:LI,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetDifference:SB},jF={DenseMatrixDependencies:$C,IndexDependencies:GI,compareNaturalDependencies:LI,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetDistinct:YB},zF={DenseMatrixDependencies:$C,IndexDependencies:GI,compareNaturalDependencies:LI,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetIntersect:PB},vF={IndexDependencies:GI,compareNaturalDependencies:LI,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetIsSubset:fB},LF={IndexDependencies:GI,compareNaturalDependencies:LI,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetMultiplicity:HB},PF={IndexDependencies:GI,compareNaturalDependencies:LI,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetPowerset:NB},OF={compareNaturalDependencies:LI,typedDependencies:ed,createSetSize:Qc},WF={IndexDependencies:GI,concatDependencies:Bd,setDifferenceDependencies:JF,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetSymDifference:bB},VF={IndexDependencies:GI,concatDependencies:Bd,setIntersectDependencies:zF,setSymDifferenceDependencies:WF,sizeDependencies:Zd,subsetDependencies:Qd,typedDependencies:ed,createSetUnion:OB},KF={typedDependencies:ed,createSinh:fs},XF={absDependencies:td,addDependencies:cd,bignumberDependencies:Gd,divideDependencies:aM,isNegativeDependencies:oI,isPositiveDependencies:SI,largerDependencies:gI,mapDependencies:Xp,matrixDependencies:ad,maxDependencies:Nm,multiplyDependencies:qd,smallerDependencies:xI,subtractDependencies:gM,typedDependencies:ed,unaryMinusDependencies:AI,createSolveODE:lc},ZF={compareDependencies:vI,compareNaturalDependencies:LI,matrixDependencies:ad,typedDependencies:ed,createSort:xB},_F={SparseMatrixDependencies:rd,typedDependencies:ed,createSparse:Ns},qF={BigNumberDependencies:ZC,UnitDependencies:iI,createSpeedOfLight:qe},$F={typedDependencies:ed,createSplitUnit:os},AD={absDependencies:td,addDependencies:cd,identityDependencies:Vd,invDependencies:tI,mapDependencies:Xp,maxDependencies:Nm,multiplyDependencies:qd,sizeDependencies:Zd,sqrtDependencies:cM,subtractDependencies:gM,typedDependencies:ed,createSqrtm:WB},eD={typedDependencies:ed,createSquare:as},tD={matrixDependencies:ad,typedDependencies:ed,createSqueeze:Vs},nD={addDependencies:cd,applyDependencies:pd,divideDependencies:aM,isNaNDependencies:Wp,multiplyDependencies:qd,subtractDependencies:gM,typedDependencies:ed,createVariance:Yc},iD={mapDependencies:Xp,sqrtDependencies:cM,typedDependencies:ed,varianceDependencies:nD,createStd:Hc},rD={mapDependencies:Xp,sqrtDependencies:cM,typedDependencies:ed,varianceDependencies:nD,createStdTransform:QC},sD={BigNumberDependencies:ZC,UnitDependencies:iI,createStefanBoltzmann:kt},oD={typedDependencies:ed,createString:Bs},aD={addDependencies:cd,matrixDependencies:ad,typedDependencies:ed,zerosDependencies:gd,createSubsetTransform:tC},BD={addDependencies:cd,numericDependencies:bd,typedDependencies:ed,createSumTransform:rC},cD={OperatorNodeDependencies:qI,parseDependencies:tM,simplifyDependencies:SM,typedDependencies:ed,createSymbolicEqual:Jh},gD={typedDependencies:ed,createTan:gs},QD={typedDependencies:ed,createTanh:ys},ED={BigNumberDependencies:ZC,UnitDependencies:iI,createThomsonCrossSection:Ft},lD={concatDependencies:Bd,matrixDependencies:ad,typedDependencies:ed,createTo:Po},uD={addDependencies:cd,matrixDependencies:ad,typedDependencies:ed,createTrace:eB},wD={createTrue:Te},hD={DenseMatrixDependencies:$C,concatDependencies:Bd,equalScalarDependencies:id,matrixDependencies:ad,typedDependencies:ed,createUnequal:Oo},CD={UnitDependencies:iI,typedDependencies:ed,createUnitFunction:wc},dD={eDependencies:OM,createUppercaseE:Xe},ID={piDependencies:qm,createUppercasePi:Ke},MD={BigNumberDependencies:ZC,UnitDependencies:iI,createVacuumImpedance:it},pD={addDependencies:cd,applyDependencies:pd,divideDependencies:aM,isNaNDependencies:Wp,multiplyDependencies:qd,subtractDependencies:gM,typedDependencies:ed,createVarianceTransform:gC},mD={createVersion:Ze},FD={BigNumberDependencies:ZC,createWeakMixingAngle:Dt},DD={BigNumberDependencies:ZC,UnitDependencies:iI,createWienDisplacement:Jt},YD={DenseMatrixDependencies:$C,concatDependencies:Bd,matrixDependencies:ad,typedDependencies:ed,createXor:Ko},fD={BigNumberDependencies:ZC,ComplexDependencies:_C,addDependencies:cd,divideDependencies:aM,equalDependencies:Jd,factorialDependencies:cI,gammaDependencies:BI,isNegativeDependencies:oI,multiplyDependencies:qd,piDependencies:qm,powDependencies:nI,sinDependencies:$M,smallerEqDependencies:bI,subtractDependencies:gM,typedDependencies:ed,createZeta:kc},ND={ComplexDependencies:_C,addDependencies:cd,multiplyDependencies:qd,numberDependencies:Hd,typedDependencies:ed,createZpk2tf:nB},UD=n,yD=t(153),xD=t.n(yD);function TD(A,e,t,n){function i(e,i,s){var o;if(s.wrap&&"function"==typeof i&&(i=function(A){var e=function(){for(var e=[],n=0,i=arguments.length;n<i;n++){var r=arguments[n];e[n]=r&&r.valueOf()}return A.apply(t,e)};A.transform&&(e.transform=A.transform);return e}(i)),"function"==typeof(o=i)&&"string"==typeof o.signature&&(i=A(e,{[i.signature]:i})),A.isTypedFunction(t[e])&&A.isTypedFunction(i))return i=s.override?A(e,i.signatures):A(t[e],i),t[e]=i,delete n[e],r(e,i),void t.emit("import",e,(function(){return i}));if(void 0===t[e]||s.override)return t[e]=i,delete n[e],r(e,i),void t.emit("import",e,(function(){return i}));if(!s.silent)throw new Error('Cannot import "'+e+'": already exists')}function r(A,e){e&&"function"==typeof e.transform?(t.expression.transform[A]=e.transform,E(A)&&(t.expression.mathWithTransform[A]=e.transform)):(delete t.expression.transform[A],E(A)&&(t.expression.mathWithTransform[A]=e))}function s(A){delete t.expression.transform[A],E(A)?t.expression.mathWithTransform[A]=t[A]:delete t.expression.mathWithTransform[A]}function o(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.fn;if(ae(r,"."))throw new Error("Factory name should not contain a nested path. Name: "+JSON.stringify(r));var o=w(e)?t.expression.transform:t,a=r in t.expression.transform,B=AA(o,r)?o[r]:void 0,c=function(){var n={};e.dependencies.map(we).forEach(A=>{if(ae(A,"."))throw new Error("Factory dependency should not contain a nested path. Name: "+JSON.stringify(A));"math"===A?n.math=t:"mathWithTransform"===A?n.mathWithTransform=t.expression.mathWithTransform:"classes"===A?n.classes=t:n[A]=t[A]});var s=e(n);if(s&&"function"==typeof s.transform)throw new Error('Transforms cannot be attached to factory functions. Please create a separate function for it with exports.path="expression.transform"');if(void 0===B||i.override)return s;if(A.isTypedFunction(B)&&A.isTypedFunction(s))return A(B,s);if(i.silent)return B;throw new Error('Cannot import "'+r+'": already exists')};e.meta&&!1===e.meta.lazy?(o[r]=c(),B&&a?s(r):(w(e)||u(e))&&$(t.expression.mathWithTransform,r,()=>o[r])):($(o,r,c),B&&a?s(r):(w(e)||u(e))&&$(t.expression.mathWithTransform,r,()=>o[r])),n[r]=e,t.emit("import",r,c)}function Q(A){return"function"==typeof A||"number"==typeof A||"string"==typeof A||"boolean"==typeof A||null===A||g(A)||B(A)||a(A)||c(A)||l(A)||Array.isArray(A)}function E(A){return!AA(h,A)}function u(A){return!(-1!==A.fn.indexOf(".")||AA(h,A.fn)||A.meta&&A.meta.isClass)}function w(A){return void 0!==A&&void 0!==A.meta&&!0===A.meta.isTransformFunction||!1}var h={expression:!0,type:!0,docs:!0,error:!0,json:!0,chain:!0};return function(A,e){var t=arguments.length;if(1!==t&&2!==t)throw new So("import",t,1,2);function n(A,t,i){if(Array.isArray(t))t.forEach(e=>n(A,e));else if("object"==typeof t)for(var r in t)AA(t,r)&&n(A,t[r],r);else if(ue(t)||void 0!==i){var s=ue(t)?w(t)?t.fn+".transform":t.fn:i;if(AA(A,s)&&A[s]!==t&&!e.silent)throw new Error('Cannot import "'+s+'" twice');A[s]=t}else if(!e.silent)throw new TypeError("Factory, Object, or Array expected")}e||(e={});var r={};for(var s in n(r,A),r)if(AA(r,s)){var a=r[s];if(ue(a))o(a,e);else if(Q(a))i(s,a,e);else if(!e.silent)throw new TypeError("Factory, Object, or Array expected")}}}function RD(A,e){var t=r()({},s,e);if("function"!=typeof Object.create)throw new Error("ES5 not supported by this JavaScript engine. Please load the es5-shim and es5-sham library for compatibility.");var n,i,S=(n={isNumber:o,isComplex:B,isBigNumber:a,isFraction:c,isUnit:g,isString:Q,isArray:E,isMatrix:l,isCollection:u,isDenseMatrix:w,isSparseMatrix:h,isRange:C,isIndex:d,isBoolean:I,isResultSet:M,isHelp:p,isFunction:m,isDate:F,isRegExp:D,isObject:Y,isNull:f,isUndefined:N,isAccessorNode:U,isArrayNode:y,isAssignmentNode:x,isBlockNode:T,isConditionalNode:R,isConstantNode:G,isFunctionAssignmentNode:H,isFunctionNode:b,isIndexNode:k,isNode:J,isObjectNode:j,isOperatorNode:z,isParenthesisNode:v,isRangeNode:L,isRelationalNode:P,isSymbolNode:O,isChain:W},i=new xD.a,n.on=i.on.bind(i),n.off=i.off.bind(i),n.once=i.once.bind(i),n.emit=i.emit.bind(i),n);S.config=iA(t,S.emit),S.expression={transform:{},mathWithTransform:{config:S.config}};var V={};function K(){for(var A=arguments.length,e=new Array(A),t=0;t<A;t++)e[t]=arguments[t];return S.typed.apply(S.typed,e)}K.isTypedFunction=sn.a.isTypedFunction;var X=TD(K,0,S,V);return S.import=X,S.on("config",()=>{eA(V).forEach(A=>{A&&A.meta&&A.meta.recreateOnConfigChange&&X(A,{override:!0})})}),S.create=RD.bind(null,A),S.factory=le,S.import(eA(q(A))),S.ArgumentsError=So,S.DimensionError=jA,S.IndexError=zA,S}},function(A,e,t){"use strict";t.r(e),t.d(e,"SB1File",(function(){return ne})),t.d(e,"AssertionError",(function(){return n})),t.d(e,"ValidationError",(function(){return i}));class n extends Error{}class i extends n{}const r=function(A,e){if(!A)throw new n(e)};r.validate=function(A,e){if(!A)throw new i(e)};class s{constructor(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.buffer=A,this.position=e,this.uint8a=new Uint8Array(this.buffer)}read(A){const e=A.read(this.uint8a,this.position);return 0===A.size?this.position+=A.sizeOf(this.uint8a,this.position):this.position+=A.size,e}readStruct(A){const e=new A(this.uint8a,this.position);return this.position+=A.size,e}resize(A){if(this.buffer.byteLength<A){const e=this.uint8a,t=Math.pow(2,Math.ceil(Math.log(A)/Math.log(2)));this.buffer=new ArrayBuffer(t),this.uint8a=new Uint8Array(this.buffer),this.uint8a.set(e)}}write(A,e){return 0===A.size?this.resize(this.position+A.writeSizeOf(e)):this.resize(this.position+A.size),A.write(this.uint8a,this.position,e),0===A.size?this.position+=A.writeSizeOf(this.uint8a,this.position):this.position+=A.size,e}writeStruct(A,e){this.resize(this.position+A.size);const t=Object.assign(new A(this.uint8a,this.position),e);return this.position+=A.size,t}writeBytes(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A.length;r(A instanceof Uint8Array,"writeBytes must be passed an Uint8Array"),this.resize(this.position+(t-e));for(let n=e;n<t;n++)this.uint8a[this.position+n-e]=A[n];return this.position+=t-e,A}}class o{constructor(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0;this.iter=A,this.maxPosition=e}[Symbol.iterator](){return this}next(){return this.iter.stream.position>=this.maxPosition?{value:null,done:!0}:this.iter.next()}}const a=()=>{throw new Error("Not implemented")},B=(()=>{const A=new Uint16Array(1),e=new Uint8Array(A.buffer);return A[0]=43707,187===e[0]})();class c{constructor(A){let{size:e=0,sizeOf:t=(()=>e),writeSizeOf:n=a,toBytes:i=new Uint8Array(1),read:r,write:s=a}=A;this.size=e,this.sizeOf=t,this.writeSizeOf=n,this.toBytes=i,this.bytes=new Uint8Array(i.buffer),this.read=r,this.write=s}asPropertyObject(A){const e=this;return{get(){return e.read(this.uint8a,A+this.offset)},set(t){return e.write(this.uint8a,A+this.offset,t)},enumerable:!0}}read(){return null}}const g=new c({size:1,read:(A,e)=>A[e],write:(A,e,t)=>(A[e]=t,t)}),Q={size:2,read(A,e){return this.bytes[1]=A[e+0],this.bytes[0]=A[e+1],this.toBytes[0]},write(A,e,t){return this.toBytes[0]=t,A[e+0]=this.bytes[1],A[e+1]=this.bytes[0],t}},E={size:2,read(A,e){return this.bytes[0]=A[e+0],this.bytes[1]=A[e+1],this.toBytes[0]},write(A,e,t){return this.toBytes[0]=t,A[e+0]=this.bytes[0],A[e+1]=this.bytes[1],t}};let l;l=B?Q:E;new c(Object.assign({},l,{toBytes:new Uint16Array(1)}));const u=new c(Object.assign({},l,{toBytes:new Int16Array(1)})),w={size:4,read(A,e){return this.bytes[3]=A[e+0],this.bytes[2]=A[e+1],this.bytes[1]=A[e+2],this.bytes[0]=A[e+3],this.toBytes[0]},write(A,e,t){return this.toBytes[0]=t,A[e+0]=this.bytes[3],A[e+1]=this.bytes[2],A[e+2]=this.bytes[1],A[e+3]=this.bytes[0],t}},h={size:4,read(A,e){return this.bytes[0]=A[e+0],this.bytes[1]=A[e+1],this.bytes[2]=A[e+2],this.bytes[3]=A[e+3],this.toBytes[0]},write(A,e,t){return this.toBytes[0]=t,A[e+0]=this.bytes[0],A[e+1]=this.bytes[1],A[e+2]=this.bytes[2],A[e+3]=this.bytes[3],t}};let C;C=B?w:h;const d=new c(Object.assign({},C,{toBytes:new Int32Array(1)})),I=new c(Object.assign({},C,{toBytes:new Uint32Array(1)}));let M;M=B?E:Q;const p=new c(Object.assign({},M,{toBytes:new Uint16Array(1)}));let m;m=B?h:w;const F=new c(Object.assign({},m,{toBytes:new Uint32Array(1)}));let D;D=B?{size:8,read(A,e){return this.bytes[7]=A[e+0],this.bytes[6]=A[e+1],this.bytes[5]=A[e+2],this.bytes[4]=A[e+3],this.bytes[3]=A[e+4],this.bytes[2]=A[e+5],this.bytes[1]=A[e+6],this.bytes[0]=A[e+7],this.toBytes[0]}}:{size:8,read(A,e){return this.bytes[7]=A[e+0],this.bytes[6]=A[e+1],this.bytes[5]=A[e+2],this.bytes[4]=A[e+3],this.bytes[3]=A[e+4],this.bytes[2]=A[e+5],this.bytes[1]=A[e+6],this.bytes[0]=A[e+7],this.toBytes[0]}};const Y=new c(Object.assign({},D,{toBytes:new Float64Array(1)}));class f extends c{constructor(A){super({size:A,read(e,t){let n="";for(let i=0;i<A;i++){const A=e[t+i];r(A<=127,"Non-ascii character in FixedAsciiString"),n+=String.fromCharCode(A)}return n},write(e,t,n){for(let i=0;i<A;i++){const A=n.charCodeAt(i);r(A<=127,"Non-ascii character in FixedAsciiString"),e[t+i]=A}return n}})}}var N=t(41);let U;U=new c(B?{size:3,read:(A,e)=>A[e+0]<<16|A[e+1]<<8|A[e+2]}:{size:3,read:(A,e)=>A[e+2]<<16|A[e+1]<<8|A[e+0]});const y=new c({sizeOf(A,e){const t=u.read(A,e);return u.size+t},read(A,e){let t=0,n=0;const i=u.read(A,e);for(let r=0;r<i;r++)t+=n*g.read(A,e++),n*=256;return t}}),x=new c({sizeOf(A,e){const t=I.read(A,e);return I.size+t},read(A,e){const t=I.read(A,e);r(t<10485760,"asciiString too big"),e+=4;let n="";for(let i=0;i<t;i++)n+=String.fromCharCode(A[e++]);return n}}),T=new c({sizeOf:(A,e)=>I.size+I.read(A,e),read(A,e){const t=I.read(A,e);return r(t<10485760,"bytes too big"),e+=I.size,r(t<10485760,"uint8a array too big"),new Uint8Array(A.buffer,e,t)}}),R=new c({sizeOf:(A,e)=>I.size+2*I.read(A,e),read(A,e){const t=I.read(A,e);r(t<10485760,"sound too big"),e+=I.size;const n=2*t;return r(n<10485760,"uint8a array too big"),new Uint8Array(A.buffer,e,n)}}),G=new c({sizeOf:(A,e)=>I.size+I.read(A,e)*I.size,read(A,e){const t=I.read(A,e);r(t<10485760,"bitmap too big"),e+=I.size,r(t<10485760,"uint8a array too big");const n=new Uint32Array(t);for(let i=0;i<t;i++)n[i]=I.read(A,e),e+=I.size;return n}});let S;S="undefined"==typeof TextDecoder?new N.TextDecoder:new TextDecoder;const H=new c({sizeOf:(A,e)=>I.size+I.read(A,e),read(A,e){const t=I.read(A,e);return r(t<10485760,"utf8 too big"),e+=I.size,r(t<10485760,"uint8a array too big"),S.decode(new Uint8Array(A.buffer,e,t))}}),b=new c({size:4,read(A,e){const t=I.read(A,e);return(255<<24|(t>>22&255)<<16|(t>>12&255)<<8|t>>2&255)>>>0}}),k=new c({size:5,read(A,e){const t=I.read(A,e);return(g.read(A,e)<<24|(t>>22&255)<<16|(t>>12&255)<<8|t>>2&255)>>>0}}),J={NULL:1,TRUE:2,FALSE:3,SMALL_INT:4,SMALL_INT_16:5,LARGE_INT_POSITIVE:6,LARGE_INT_NEGATIVE:7,FLOATING:8,STRING:9,SYMBOL:10,BYTES:11,SOUND:12,BITMAP:13,UTF8:14,ARRAY:20,ORDERED_COLLECTION:21,SET:22,IDENTITY_SET:23,DICTIONARY:24,IDENTITY_DICTIONARY:25,COLOR:30,TRANSLUCENT_COLOR:31,POINT:32,RECTANGLE:33,FORM:34,SQUEAK:35,OBJECT_REF:99,MORPH:100,ALIGNMENT:104,STATIC_STRING:105,UPDATING_STRING:106,SAMPLED_SOUND:109,IMAGE_MORPH:110,SPRITE:124,STAGE:125,WATCHER:155,IMAGE_MEDIA:162,SOUND_MEDIA:164,MULTILINE_STRING:171,WATCHER_READOUT_FRAME:173,WATCHER_SLIDER:174,LIST_WATCHER:175},j=Object.entries(J).reduce((A,e)=>{let[t,n]=e;return A[n]=t,A},{});class z{constructor(A,e){this.classId=A,this.position=e}}const v=A=>"object"==typeof A&&A?A.valueOf():A;class L extends z{constructor(A,e,t){super(A,e),this.value=t}valueOf(){return this.value}toJSON(){return this.classId===J.TRANSLUCENT_COLOR||this.classId===J.COLOR?16777215&this.value:this.value}toString(){return this.value}}class P extends z{constructor(A,e,t){super(A,e),this.size=t}}class O extends z{constructor(A,e,t){super(A,e),this.index=t}valueOf(){return"Ref(".concat(this.index,")")}}class W extends P{constructor(A,e,t,n){super(A,e,n),this.version=t}}class V{constructor(A){let{type:e=L,read:t,value:n=(t?A=>A.read(t):null)}=A;this.type=e,this.value=n}next(A,e,t){return{value:new this.type(e,t,this.value(A)),done:!1}}}const K={[J.NULL]:{value:()=>null},[J.TRUE]:{value:()=>!0},[J.FALSE]:{value:()=>!1},[J.SMALL_INT]:{read:d},[J.SMALL_INT_16]:{read:u},[J.LARGE_INT_POSITIVE]:{read:y},[J.LARGE_INT_NEGATIVE]:{read:y},[J.FLOATING]:{read:Y},[J.STRING]:{read:x},[J.SYMBOL]:{read:x},[J.BYTES]:{read:T},[J.SOUND]:{read:R},[J.BITMAP]:{read:G},[J.UTF8]:{read:H},[J.ARRAY]:{type:P,read:d},[J.ORDERED_COLLECTION]:{type:P,read:d},[J.SET]:{type:P,read:d},[J.IDENTITY_SET]:{type:P,read:d},[J.DICTIONARY]:{type:P,value:A=>2*A.read(d)},[J.IDENTITY_DICTIONARY]:{type:P,value:A=>2*A.read(d)},[J.COLOR]:{read:b},[J.TRANSLUCENT_COLOR]:{read:k},[J.POINT]:{type:P,value:()=>2},[J.RECTANGLE]:{type:P,value:()=>4},[J.FORM]:{type:P,value:()=>5},[J.SQUEAK]:{type:P,value:()=>6},[J.OBJECT_REF]:{type:O,read:U}},X=Array.from({length:256},(A,e)=>K[e]?new V(K[e]):null),Z=new V({type:class extends P{constructor(A,e){super(A,e,0)}},value:()=>null});class _{constructor(A,e){this.buffer=A,this.stream=new s(A,e)}[Symbol.iterator](){return this}next(){if(this.stream.position>=this.stream.uint8a.length)return{value:null,done:!0};const A=this.stream.position,e=this.stream.read(g),t=X[e];if(null!==t)return t.next(this.stream,e,A);if(e<J.OBJECT_REF)return Z.next(this.stream,e,A);const n=this.stream.read(g),i=this.stream.read(g);return{value:new W(e,A,n,i),done:!1}}}class q{constructor(A){let{classId:e,version:t,fields:n}=A;this.classId=e,this.version=t,this.fields=n}get FIELDS(){return[]}get RAW_FIELDS(){return this.fields}string(A){return String(this.fields[A])}number(A){return+this.fields[A]}boolean(A){return!!this.fields[A]}toString(){return this.constructor===q?"".concat(this.constructor.name," ").concat(this.classId," ").concat(j[this.classId]):this.constructor.name}static define(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:q;class t extends e{get FIELDS(){return A}static get FIELDS(){return A}}return Object.keys(A).forEach(e=>{const n=A[e];Object.defineProperty(t.prototype,e.toLowerCase().replace(/_(\w)/g,A=>{let[,e]=A;return e.toUpperCase()}),{get(){return this.fields[n]}})}),t}}class ${constructor(){let A;this.bit=new Uint32Array(1),this.crc=0,this.c=0,this.table=[];for(let e=0;e<256;e++){A=e;for(let e=0;e<8;e++)A=1&A?3988292384^A>>>1:A>>>1;this.table[e]=A>>>0}}update(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A.length,n=~this.crc>>>0;for(let i=0;i<t;i++)n=n>>>8^this.table[255&(n^A[e+i])];return this.crc=~n>>>0,this}get digest(){return this.crc}}const AA=[0,4278190080,4294967295,4286611584,4294901760,4278255360,4278190335,4278255615,4294967040,4294902015,4280295456,4282400832,4284506208,4288651167,4290756543,4292861919,4278716424,4279242768,4279769112,4280821800,4281348144,4281874488,4282927176,4283453520,4283979864,4285032552,4285558896,4286085240,4287072135,4287598479,4288124823,4289177511,4289703855,4290230199,4291282887,4291809231,4292335575,4293388263,4293914607,4294440951,4278190080,4278203136,4278216192,4278229248,4278242304,4278255360,4278190131,4278203187,4278216243,4278229299,4278242355,4278255411,4278190182,4278203238,4278216294,4278229350,4278242406,4278255462,4278190233,4278203289,4278216345,4278229401,4278242457,4278255513,4278190284,4278203340,4278216396,4278229452,4278242508,4278255564,4278190335,4278203391,4278216447,4278229503,4278242559,4278255615,4281532416,4281545472,4281558528,4281571584,4281584640,4281597696,4281532467,4281545523,4281558579,4281571635,4281584691,4281597747,4281532518,4281545574,4281558630,4281571686,4281584742,4281597798,4281532569,4281545625,4281558681,4281571737,4281584793,4281597849,4281532620,4281545676,4281558732,4281571788,4281584844,4281597900,4281532671,4281545727,4281558783,4281571839,4281584895,4281597951,4284874752,4284887808,4284900864,4284913920,4284926976,4284940032,4284874803,4284887859,4284900915,4284913971,4284927027,4284940083,4284874854,4284887910,4284900966,4284914022,4284927078,4284940134,4284874905,4284887961,4284901017,4284914073,4284927129,4284940185,4284874956,4284888012,4284901068,4284914124,4284927180,4284940236,4284875007,4284888063,4284901119,4284914175,4284927231,4284940287,4288217088,4288230144,4288243200,4288256256,4288269312,4288282368,4288217139,4288230195,4288243251,4288256307,4288269363,4288282419,4288217190,4288230246,4288243302,4288256358,4288269414,4288282470,4288217241,4288230297,4288243353,4288256409,4288269465,4288282521,4288217292,4288230348,4288243404,4288256460,4288269516,4288282572,4288217343,4288230399,4288243455,4288256511,4288269567,4288282623,4291559424,4291572480,4291585536,4291598592,4291611648,4291624704,4291559475,4291572531,4291585587,4291598643,4291611699,4291624755,4291559526,4291572582,4291585638,4291598694,4291611750,4291624806,4291559577,4291572633,4291585689,4291598745,4291611801,4291624857,4291559628,4291572684,4291585740,4291598796,4291611852,4291624908,4291559679,4291572735,4291585791,4291598847,4291611903,4291624959,4294901760,4294914816,4294927872,4294940928,4294953984,4294967040,4294901811,4294914867,4294927923,4294940979,4294954035,4294967091,4294901862,4294914918,4294927974,4294941030,4294954086,4294967142,4294901913,4294914969,4294928025,4294941081,4294954137,4294967193,4294901964,4294915020,4294928076,4294941132,4294954188,4294967244,4294902015,4294915071,4294928127,4294941183,4294954239,4294967295],eA=[4294967295,4278190080],tA=new c({sizeOf(A,e){const t=A[e];return t<=223?1:t<=254?2:5},read(A,e){const t=A[e];return t<=223?t:t<=254?256*(t-224)+A[e+1]:I.read(A,e+1)}});class nA{decode(A,e,t,n,i){const r=this.decodePixels(n,32===t);if(t<=8)return i||(i=1===t?eA:AA),this.unpackPixels(r,A,e,t,i);if(16===t)return this.raster16To32(r,A,e);if(32===t)return r;throw new Error("Unhandled Squeak Image depth.")}decodePixels(A,e){let t;if(Array.isArray(A)||A instanceof Uint32Array){if(t=new Uint32Array(A),e)for(let A=0;A<t.length;A++)0!==t[A]&&(t[A]=4278190080|t[A]);return t}const n=new s(A.buffer,A.byteOffset),i=n.read(tA);t=new Uint32Array(i);let r=0;for(;r<i;){const A=n.read(tA),i=A>>2;let s;switch(3&A){case 0:r+=i;break;case 1:s=n.read(g),s|=s<<24|s<<16|s<<8,e&&0!==s&&(s|=4278190080);for(let A=0;A<i;A++)t[r++]=s;break;case 2:s=n.read(I),e&&0!==s&&(s|=4278190080);for(let A=0;A<i;A++)t[r++]=s;break;case 3:for(let A=0;A<i;A++)s=n.read(I),e&&0!==s&&(s|=4278190080),t[r++]=s}}return t}unpackPixels(A,e,t,n,i){const r=new Uint32Array(e*t),s=(1<<n)-1,o=32/n;let a=0,B=0;for(let c=0;c<t;c++){let t,c=-1;for(let g=0;g<e;g++)c<0&&(c=n*(o-1),t=A[B++]),r[a++]=i[t>>c&s],c-=n}return r}raster16To32(A,e,t){const n=new Uint32Array(2*A.length);let i,r,s,o=0,a=0;for(let B=0;B<t;B++){i=-1;for(let t=0;t<e;t++){if(i<0&&(i=16,r=A[o++]),s=r>>i&65535,0!==s){s=4278190080|(s>>7&248)<<16|(s>>2&248)<<8|s<<3&248}n[a++]=s,i-=16}}return n}buildCustomColormap(A,e,t){const n=new Uint32Array(1<<A);for(let A=0;A<e.length;A++)n[A]=t[e[A].index-1];return n}}const iA=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,118,130,143,157,173,190,209,230,253,279,307,337,371,408,449,494,544,598,658,724,796,876,963,1060,1166,1282,1411,1552,1707,1878,2066,2272,2499,2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,7132,7845,8630,9493,10442,11487,12635,13899,15289,16818,18500,20350,22385,24623,27086,29794,32767],rA={2:[-1,2,-1,2],3:[-1,-1,2,4,-1,-1,2,4],4:[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],5:[-1,-1,-1,-1,-1,-1,-1,-1,1,2,4,6,8,10,13,16,-1,-1,-1,-1,-1,-1,-1,-1,1,2,4,6,8,10,13,16]};class sA{constructor(A){this.bitsPerSample=A,this.indexTable=rA[A],this.signMask=1<<A-1,this.valueMask=this.signMask-1,this.valueHighBit=this.signMask>>1,this.bitPosition=0,this.currentByte=0,this.stream=null,this.end=0}decode(A){this.bitPosition=0,this.currentByte=0,this.stream=new s(A.buffer,A.byteOffset),this.end=A.byteOffset+A.length;const e=Math.floor(8*A.length/this.bitsPerSample),t=new Int16Array(e);let n=0,i=0;for(let A=0;A<e;A++){const e=this.nextCode();r(e>=0,"Ran out of bits in Squeak Sound");let s=iA[i],o=0;for(let A=this.valueHighBit;A>0;A>>=1)0!=(e&A)&&(o+=s),s>>=1;o+=s,n+=0==(e&this.signMask)?o:-o,i+=this.indexTable[e],i<0&&(i=0),i>88&&(i=88),n>32767&&(n=32767),n<-32768&&(n=-32768),t[A]=n}return t}nextCode(){let A=this.bitsPerSample,e=A-this.bitPosition,t=e<0?this.currentByte>>-e:this.currentByte<<e;for(;e>0;){if(A-=this.bitPosition,!(this.end-this.stream.position>0))return this.currentByte=0,this.bitPosition=0,-1;this.currentByte=this.stream.read(g),this.bitPosition=8,e=A-this.bitPosition,t+=e<0?this.currentByte>>-e:this.currentByte<<e}return this.bitPosition-=A,this.currentByte=this.currentByte&255>>8-this.bitPosition,t}static samples(A,e){return 8*e.length/A}}class oA{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Uint8Array(this.size),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.uint8a=A,this.offset=e}equals(A){for(const e in A)if(this[e]!==A[e])return!1;return!0}view(){const A=this.constructor.name,e={toString:()=>A};for(const A in this.shape)e[A]=this[A];return e}static initConstructor(A){return A.size=A.prototype.size,A}static extend(A){const e=class extends oA{get shape(){return A}};let t=0;return Object.keys(A).forEach(n=>{if(Object.defineProperty(e.prototype,n,A[n].asPropertyObject(t)),0===A[n].size)throw new Error("Packet cannot be defined with variable sized members.");t+=A[n].size}),e.prototype.size=t,e.size=t,e}}class aA extends(oA.extend({riff:new f(4),length:F,wave:new f(4)})){}oA.initConstructor(aA);class BA extends(oA.extend({chunkType:new f(4),length:F})){}oA.initConstructor(BA);class cA extends(oA.extend({format:p,channels:p,sampleRate:F,bytesPerSec:F,blockAlignment:p,bitsPerSample:p})){}oA.initConstructor(cA);class gA{encode(A){let{channels:e=1,sampleRate:t=22050}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),i=aA.size+BA.size+cA.size+BA.size+n.length,r=new s(new ArrayBuffer(i));return r.writeStruct(aA,{riff:"RIFF",length:i-8,wave:"WAVE"}),r.writeStruct(BA,{chunkType:"fmt ",length:cA.size}),r.writeStruct(cA,{format:1,channels:e,sampleRate:t,bytesPerSec:2*t*e,blockAlignment:2*e,bitsPerSample:16}),r.writeStruct(BA,{chunkType:"data",length:i-r.position-BA.size}),r.writeBytes(n),r.uint8a}static encode(A,e){return(new gA).encode(A,e)}static samples(A){const e=new BA(A,aA.size).length;return new BA(A,aA.size+BA.size+e).length/2}}var QA=t(42),EA=t.n(QA);class lA extends(q.define({X:0,Y:1})){}class uA extends(q.define({X:0,Y:1,X2:2,Y2:3})){get width(){return this.x2-this.x}get height(){return this.y2-this.y}}class wA extends(q.define({WIDTH:0,HEIGHT:1,DEPTH:2,BYTES:4,COLORMAP:5})){get decoded(){return this._decoded||(this._decoded=(A=>{for(let e=0;e<A.length;e+=4){const t=A[e+2],n=A[e+0];A[e+2]=n,A[e+0]=t}return A})(new Uint8Array((new nA).decode(this.width.value,this.height.value,this.depth.value,this.bytes.value,this.colormap&&this.colormap.map(A=>A.valueOf())).buffer))),this._decoded}get extension(){return"uncompressed"}}class hA extends(q.define({STAGE_CONTENTS:2,OBJ_NAME:6,VARS:7,BLOCKS_BIN:8,IS_CLONE:9,MEDIA:10,CURRENT_COSTUME:11,ZOOM:12,H_PAN:13,V_PAN:14,OBSOLETE_SAVED_STATE:15,SPRITE_ORDER_IN_LIBRARY:16,VOLUME:17,TEMPO_BPM:18,SCENE_STATES:19,LISTS:20})){get spriteOrderInLibrary(){return this.fields[this.FIELDS.SPRITE_ORDER_IN_LIBRARY]||null}get tempoBPM(){return this.fields[this.FIELDS.TEMPO_BPM]||0}get lists(){return this.fields[this.FIELDS.LISTS]||[]}}class CA extends(q.define({BOX:0,PARENT:1,COLOR:3,VISIBLE:4,OBJ_NAME:6,VARS:7,BLOCKS_BIN:8,IS_CLONE:9,MEDIA:10,CURRENT_COSTUME:11,VISIBILITY:12,SCALE_POINT:13,ROTATION_DEGREES:14,ROTATION_STYLE:15,VOLUME:16,TEMPO_BPM:17,DRAGGABLE:18,SCENE_STATES:19,LISTS:20})){get scratchX(){return this.box.x+this.currentCostume.rotationCenter.x-240}get scratchY(){return 180-(this.box.y+this.currentCostume.rotationCenter.y)}get visible(){return 0==(1&this.fields[this.FIELDS.VISIBLE])}get tempoBPM(){return this.fields[this.FIELDS.TEMPO_BPM]||0}get lists(){return this.fields[this.FIELDS.LISTS]||[]}}q.define({RECTANGLE:0,FONT:8,COLOR:9,LINES:11});class dA extends(q.define({COSTUME_NAME:0,BITMAP:1,ROTATION_CENTER:2,TEXT_DETAILS:3,BASE_LAYER_DATA:4,OLD_COMPOSITE:5})){get image(){return this.oldComposite instanceof wA?this.oldComposite:this.baseLayerData.value?null:this.bitmap}get width(){return null===this.image?-1:this.image.width}get height(){return null===this.image?-1:this.image.height}get rawBytes(){return null===this.image?this.baseLayerData.value.slice():this.image.bytes.value}get decoded(){return null===this.image?this.baseLayerData.value.slice():this.image.decoded}get crc(){if(!this._crc){const A=(new $).update(new Uint8Array(new Uint32Array([this.bitmap.width]).buffer)).update(new Uint8Array(new Uint32Array([this.bitmap.height]).buffer)).update(new Uint8Array(new Uint32Array([this.bitmap.depth]).buffer)).update(this.rawBytes);this._crc=A.digest}return this._crc}get extension(){return this.oldComposite instanceof wA?"uncompressed":this.baseLayerData.value?"jpg":"uncompressed"}toString(){return'ImageMediaData "'.concat(this.costumeName,'"')}}class IA extends(q.define({DATA:3,RATE:4})){}class MA extends(q.define({NAME:0,UNCOMPRESSED:1,RATE:4,BITS_PER_SAMPLE:5,DATA:6})){get rate(){return 0!==this.uncompressed.data.value.length?this.uncompressed.rate:this.fields[this.FIELDS.RATE]}get rawBytes(){return this.data&&this.data.value?this.data.value:this.uncompressed.data.value}get decoded(){return this._decoded||(this.data&&this.data.value?this._decoded=new sA(this.bitsPerSample.value).decode(this.data.value):this._decoded=new Int16Array((A=>{const e=new Uint8Array(A);for(let t=0;t<e.length;t+=2)e[t]=A[t+1],e[t+1]=A[t];return e})(this.uncompressed.data.value.slice()).buffer)),this._decoded}get crc(){return this._crc||(this._crc=(new $).update(new Uint32Array([this.rate])).update(this.rawBytes).digest),this._crc}get sampleCount(){return this.data&&this.data.value?sA.samples(this.bitsPerSample.value,this.data.value):this.uncompressed.data.value.length/2}get extension(){return"pcm"}get wavEncodedData(){return this._wavEncodedData||(this._wavEncodedData=new Uint8Array(gA.encode(this.decoded,{sampleRate:this.rate&&this.rate.value}))),this._wavEncodedData}get md5(){return this._md5||(this._md5=EA()(this.wavEncodedData)),this._md5}toString(){return'SoundMediaData "'.concat(this.name,'"')}}class pA extends(q.define({BOX:0,HIDDEN_WHEN_NULL:1,LIST_NAME:8,CONTENTS:9,TARGET:10})){get x(){return null===v(this.hiddenWhenNull)?5:this.box.x+1}get y(){return null===v(this.hiddenWhenNull)?5:this.box.y+1}get width(){return this.box.width-2}get height(){return this.box.height-2}}class mA extends(q.define({BOX:0,PARENT:1,FRAMES:2,COLOR:3,DIRECTION:8,ALIGNMENT:9})){}class FA extends(q.define({BOX:0,PARENT:1,COLOR:3})){}class DA extends(q.define({BOX:0,COLOR:3,VALUE:8})){}class YA extends(q.define({BOX:0,READOUT_FRAME:1,COLOR:3,FONT:6,VALUE:8,TARGET:10,CMD:11,PARAM:13})){}class fA extends(q.define({BOX:0})){}const NA=1,UA=2,yA=3;class xA extends(q.define({BOX:0,TARGET:1,SHAPE:2,READOUT:14,READOUT_FRAME:15,SLIDER:16,ALIGNMENT:17,SLIDER_MIN:20,SLIDER_MAX:21})){get x(){return this.box.x}get y(){return this.box.y}get mode(){return null===v(this.slider)?this.readoutFrame.box.height<=14?NA:UA:yA}get isDiscrete(){return Math.floor(this.sliderMin)===this.sliderMin&&Math.floor(this.sliderMax)===this.sliderMax&&Math.floor(this.readout.value)===this.readout.value}}const TA={[J.POINT]:lA,[J.RECTANGLE]:uA,[J.FORM]:wA,[J.SQUEAK]:wA,[J.SAMPLED_SOUND]:IA,[J.SPRITE]:CA,[J.STAGE]:hA,[J.IMAGE_MEDIA]:dA,[J.SOUND_MEDIA]:MA,[J.ALIGNMENT]:mA,[J.MORPH]:FA,[J.WATCHER_READOUT_FRAME]:fA,[J.STATIC_STRING]:DA,[J.UPDATING_STRING]:YA,[J.WATCHER]:xA,[J.LIST_WATCHER]:pA},RA=Array.from({length:256},(A,e)=>TA[e]||null);class GA{constructor(A){this.valueIterator=A}[Symbol.iterator](){return this}next(){const A=this.valueIterator.next();if(A.done)return A;const e=A.value,{classId:t}=e;let n=e;if(e instanceof P){n=[];for(let A=0;A<e.size;A++)n.push(this.next().value)}if(null!==RA[t]||e instanceof W){n=new(RA[e.classId]||q)({classId:e.classId,version:e.version,fields:n})}return{value:n,done:!1}}}class SA{constructor(A){this.table=Array.from(A),this.fixed=this.fix(this.table)}fix(){const A=[];for(let e=0;e<this.table.length;e++)this.fixItem(this.table[e]),A.push(this.table[e]);return A}fixItem(A){if(void 0!==A.fields&&(A=A.fields),Array.isArray(A))for(let e=0;e<A.length;e++)A[e]=this.deref(A[e])}deref(A){return A instanceof O?this.table[A.index-1]:A}}class HA extends(oA.extend({support8Bit:g,png:new f(3),dosLineEnding:new f(2),dosEndOfFile:new f(1),unixLineEnding:new f(1)})){static validate(){r(this.equals({support8Bit:137,png:"PNG",dosLineEnding:"\r\n",dosEndOfFile:"",unixLineEnding:"\n"}),"PNGSignature does not match the expected values")}}oA.initConstructor(HA);class bA extends(oA.extend({length:I,chunkType:new f(4)})){}oA.initConstructor(bA);class kA extends(oA.extend({checksum:I})){}oA.initConstructor(kA);class JA extends(oA.extend({width:I,height:I,bitDepth:g,colorType:g,compressionMethod:g,filterMethod:g,interlaceMethod:g})){}oA.initConstructor(JA);class jA extends(oA.extend({method:g})){}oA.initConstructor(jA);class zA{constructor(){this.adler=1}update(A,e,t){let n=65535&this.adler,i=this.adler>>>16;for(let r=0;r<t;r++)n=(n+A[e+r])%65521,i=(i+n)%65521;return this.adler=i<<16|n,this}get digest(){return this.adler}}class vA extends(oA.extend({cmf:g,flag:g})){}oA.initConstructor(vA);class LA extends(oA.extend({lastPacket:g,length:p,lengthCheck:p})){}oA.initConstructor(LA);class PA extends(oA.extend({checksum:F})){}oA.initConstructor(PA);class OA{constructor(A){this.stream=A}get uint8a(){return this.stream.uint8a}set uint8a(A){return this.stream.uint8a=A,this.stream.uint8a}get position(){return this.stream.position}set position(A){return this.stream.position=A,this.stream.position}writeStruct(A,e){return this.stream.writeStruct(A,e)}writeBytes(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A.length;return this.stream.writeBytes(A,e,t)}}class WA extends OA{constructor(A){super(A),this.stream.writeStruct(vA,{cmf:8,flag:29}),this.adler=new zA,this.chunk=this.stream.writeStruct(LA,{lastPacket:0,length:0,lengthCheck:65535})}get _deflateIndex(){return this.chunk.length}set _deflateIndex(A){return this.chunk.length=A,this.chunk.lengthCheck=65535^A,this.chunk.length}writeStruct(A,e){this.writeBytes(Object.assign(new A,e).uint8a)}writeBytes(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A.length,n=e;for(;t-n>0;){65535===this._deflateIndex&&(this.chunk=this.stream.writeStruct(LA,{lastPacket:0,length:0,lengthCheck:65535}));const e=Math.min(t-n,65535-this._deflateIndex);this.stream.writeBytes(A,n,n+e),this._deflateIndex+=e,n+=e}this.adler.update(A,e,t-e)}finish(){this.chunk.lastPacket=1,this.stream.writeStruct(PA,{checksum:this.adler.digest})}static estimateSize(A){const e=Math.ceil(A/65535);return vA.size+e*LA.size+PA.size+A}}class VA extends OA{constructor(A){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"IHDR";super(A),this.start=this.stream.writeStruct(bA,{length:0,chunkType:e}),this.crc=new $}finish(){const A=this.start.offset+this.start.size,e=this.position-A;this.start.length=e,this.crc.update(this.stream.uint8a,A-I.size,e+I.size),this.stream.writeStruct(kA,{checksum:this.crc.digest})}static size(A){return bA.size+A+kA.size}}class KA{encode(A,e,t){const n=4*A+jA.size,i=n*e,r=HA.size+VA.size(JA.size)+VA.size(WA.estimateSize(i))+VA.size(0),o=new s(new ArrayBuffer(r));o.writeStruct(HA,{support8Bit:137,png:"PNG",dosLineEnding:"\r\n",dosEndOfFile:"",unixLineEnding:"\n"});const a=new VA(o,"IHDR");a.writeStruct(JA,{width:A,height:e,bitDepth:8,colorType:6,compressionMethod:0,filterMethod:0,interlaceMethod:0}),a.finish();const B=new VA(o,"IDAT"),c=new WA(B);let g=0;for(;g<t.length;){c.writeStruct(jA,{method:0});const A=Math.min(t.length-g,n-jA.size);c.writeBytes(t,g,g+A),g+=A}c.finish(),B.finish();return new VA(o,"IEND").finish(),o.buffer}static encode(A,e,t){return(new KA).encode(A,e,t)}}class XA{constructor(A){this.file=A}async(A){return r("uint8array"===A,"SB1FakeZipFile only supports uint8array"),Promise.resolve(this.file.bytes)}}class ZA{constructor(A){this.files=A}file(A){if(A in this.files)return new XA(this.files[A])}}const _A=A=>"uncompressed"===A.extension?new Uint8Array(KA.encode(A.width,A.height,A.decoded)):A.decoded,qA=A=>{const e=String(A[A.length-1]),t=A.length-1;return"mouse"===e?A[t]="_mouse_":"edge"===e?A[t]="_edge_":A[A.length-1]instanceof hA&&(A[t]="_stage_"),A},$A={getParam:A=>{let[e,t,n,i]=A;return[e,t,n,i||"r"]},changeVariable:A=>[A[2],A[1],A[3]],EventHatMorph:A=>"Scratch-StartClicked"===String(A[1])?["whenGreenFlag"]:["whenIReceive",A[1]],MouseClickEventHatMorph:()=>["whenClicked"],KeyEventHatMorph:A=>["whenKeyPressed",A[1]],stopScripts:A=>"other scripts"===String(A[1])?[A[0],"other scripts in sprite"]:A,abs:A=>["computeFunction:of:","abs",A[1]],sqrt:A=>["computeFunction:of:","sqrt",A[1]],"\\\\":A=>["%",...A.slice(1)],doReturn:()=>["stopScripts","this script"],stopAll:()=>["stopScripts","all"],"showBackground:":A=>["startScene",A[1]],nextBackground:()=>["nextScene"],doForeverIf:A=>["doForever",[["doIf",A[1],A[2]]]],"getAttribute:of:":qA,"gotoSpriteOrMouse:":qA,"distanceTo:":qA,"pointTowards:":qA,"touching:":qA},Ae=A=>{const{info:e,stageData:t,images:n,sounds:i}=A,r=A=>{const e=[];for(let t=0;t<A.length;t+=2)e.push([A[t],A[t+1]]);return e},s=A=>{let[e,t]=A;return{name:e,value:t,isPersistent:!1}},o=A=>{let[,{listName:e,contents:t,x:n,y:i,width:r,height:s,hiddenWhenNull:o}]=A;return{listName:e,contents:t,isPersistent:!1,x:n,y:i,width:r,height:s,visible:null!==(a=o,"object"==typeof a&&a?a.valueOf():a)};var a},a=A=>{const e=i.findIndex(e=>e.crc===A.crc);return{soundName:A.name,soundID:e,md5:"".concat(A.md5,".wav"),sampleCount:A.sampleCount,rate:A.rate,format:""}},B=A=>{const e=n.findIndex(e=>e.crc===A.crc);return{costumeName:A.costumeName,baseLayerID:e,baseLayerMD5:"".concat(EA()(A.rawBytes),".").concat((t=A,"uncompressed"===t.extension?"png":"jpg")),bitmapResolution:1,rotationCenterX:A.rotationCenter.x,rotationCenterY:A.rotationCenter.y};var t},c=A=>{let e=A.map(Q);const t=$A[e[0]];return t&&(e=t(e)),e},g=A=>A.map(c),Q=A=>A instanceof CA?A.objName:Array.isArray(A)?0===A.length||Array.isArray(A[0])?g(A):c(A):A,E=A=>[A[0].x,A[0].y,g(A[1])],l=A=>A instanceof CA?(A=>{const e=A.media.filter(A=>A instanceof dA),n=A.media.filter(A=>A instanceof MA);return{objName:A.objName,variables:r(A.vars).map(s),lists:r(A.lists).map(o),scripts:A.blocksBin.map(E),costumes:e.map(B),currentCostumeIndex:e.findIndex(e=>e.crc===A.currentCostume.crc),sounds:n.map(a),scratchX:A.scratchX,scratchY:A.scratchY,scale:A.scalePoint.x,direction:Math.round(1e6*A.rotationDegrees)/1e6-270,rotationStyle:A.rotationStyle,isDraggable:A.draggable,indexInLibrary:t.spriteOrderInLibrary.indexOf(A),visible:A.visible,spriteInfo:{}}})(A):null;return JSON.parse(JSON.stringify(Object.assign((A=>{const e=A.media.filter(A=>A instanceof dA),t=A.media.filter(A=>A instanceof MA);return{objName:A.objName,variables:r(A.vars).map(s),lists:r(A.lists).map(o),scripts:A.blocksBin.map(E),costumes:e.map(B),currentCostumeIndex:e.findIndex(e=>e.crc===A.currentCostume.crc),sounds:t.map(a),penLayerMD5:"5c81a336fab8be57adc039a8a2b33ca9.png",penLayerID:0,tempoBPM:A.tempoBPM,videoAlpha:.5,children:A.stageContents.map(l).filter(Boolean).reverse()}})(t),{info:(A=>{const e={};for(let t=0;t<A.length;t+=2)"thumbnail"!==String(A[t])&&(e[String(A[t])]=String(A[t+1]));return e})(e)})))};class ee extends(oA.extend({version:new f(10),infoByteLength:I})){validate(){r.validate(this.equals({version:"ScratchV01"})||this.equals({version:"ScratchV02"}),"Invalid Scratch file signature.")}}oA.initConstructor(ee);class te extends(oA.extend({ObjS:new f(4),ObjSValue:g,Stch:new f(4),StchValue:g,numObjects:I})){validate(){r.validate(this.equals({ObjS:"ObjS",ObjSValue:1,Stch:"Stch",StchValue:1}),"Invalid Scratch file info packet header.")}}oA.initConstructor(te);class ne{constructor(A){this.buffer=A,this.stream=new s(A),this.signature=this.stream.readStruct(ee),this.signature.validate(),this.infoHeader=this.stream.readStruct(te),this.infoHeader.validate(),this.stream.position+=this.signature.infoByteLength-te.size,this.dataHeader=this.stream.readStruct(te),this.dataHeader.validate()}get json(){return Ae({info:this.info(),stageData:this.data(),images:this.images(),sounds:this.sounds()})}get zip(){return(A=>{let{images:e,sounds:t}=A;const n={};let i=0;for(const A of e)n["".concat(i++,".").concat((r=A,"uncompressed"===r.extension?"png":"jpg"))]={bytes:_A(A)};var r,s;i=0;for(const A of t)n["".concat(i++,".wav")]={bytes:(s=A,s.wavEncodedData)};return new ZA(n)})({images:this.images(),sounds:this.sounds()})}view(){return{signature:this.signature,infoHeader:this.infoHeader,dataHeader:this.dataHeader,toString:()=>"SB1File"}}infoRaw(){return new o(new _(this.buffer,this.infoHeader.offset+te.size),this.signature.infoByteLength+ee.size)}infoTable(){return new GA(this.infoRaw())}info(){return this._info||(this._info=new SA(this.infoTable()).table[0]),this._info}dataRaw(){return new o(new _(this.buffer,this.dataHeader.offset+te.size),this.stream.uint8a.length)}dataTable(){return new GA(this.dataRaw())}dataFixed(){return this._data||(this._data=new SA(this.dataTable()).table),this._data}data(){return this.dataFixed()[0]}images(){const A=new Set;return this.dataFixed().filter(e=>e instanceof dA&&(!A.has(e.crc)&&(A.add(e.crc),!0)))}sounds(){const A=new Set;return this.dataFixed().filter(e=>e instanceof MA&&(!A.has(e.crc)&&(A.add(e.crc),!0)))}}},function(A,e,t){"use strict";t.r(e);var n={};t.r(n),t.d(n,"Scaffolding",(function(){return z})),t.d(n,"Cloud",(function(){return M})),t.d(n,"VM",(function(){return r.a})),t.d(n,"Renderer",(function(){return o.a})),t.d(n,"Storage",(function(){return g})),t.d(n,"AudioEngine",(function(){return E.a})),t.d(n,"JSZip",(function(){return w.a}));var i=t(94),r=t.n(i),s=t(95),o=t.n(s),a=t(154),B=t.n(a);class c extends B.a{constructor(){super(),this._totalAssets=0,this._loadedAssets=0}_updateProgress(){this.onprogress&&this.onprogress(this._totalAssets,this._loadedAssets)}load(A,e,t){return A===this.AssetType.ImageBitmap||A===this.AssetType.ImageVector||A===this.AssetType.Sound||A===this.AssetType.Font?(this._totalAssets++,this._updateProgress(),super.load(A,e,t).then(A=>(this._loadedAssets++,this._updateProgress(),A))):super.load(A,e,t)}}var g=c,Q=t(96),E=t.n(Q),l=t(67),u=t(43),w=t.n(u);const h=[],C=A=>{let e;var t;return 0===h.length?(t={audio:!1,video:A},e=navigator.mediaDevices?navigator.mediaDevices.getUserMedia(t):Promise.reject(new Error("video is not supported in this context (insecure domain?)")),h.push(e)):h.length>0&&(e=h[0],h.push(!0)),e};class d{constructor(){this.mirror=!0,this._frameCacheTimeout=16,this._video=null,this._track=null,this._workspace=[]}static get FORMAT_IMAGE_DATA(){return"image-data"}static get FORMAT_CANVAS(){return"canvas"}static get DIMENSIONS(){return[480,360]}static get ORDER(){return 1}get video(){return this._video}enableVideo(){return this.enabled=!0,this._setupVideo()}disableVideo(){this.enabled=!1,this._singleSetup&&this._singleSetup.then(this._teardown.bind(this)).catch(A=>this.onError(A))}_teardown(){if(!1===this.enabled){const A=(h.pop(),!(h.length>0));this._singleSetup=null,this._video=null,this._track&&A&&this._track.stop(),this._track=null}}getFrame(A){let{dimensions:e=d.DIMENSIONS,mirror:t=this.mirror,format:n=d.FORMAT_IMAGE_DATA,cacheTimeout:i=this._frameCacheTimeout}=A;if(!this.videoReady)return null;const[r,s]=e,o=this._getWorkspace({dimensions:e,mirror:Boolean(t)}),{videoWidth:a,videoHeight:B}=this._video,{canvas:c,context:g,lastUpdate:Q,cacheData:E}=o,l=Date.now();Q+i<l&&(t&&(g.scale(-1,1),g.translate(-1*r,0)),g.drawImage(this._video,0,0,a,B,0,0,r,s),g.setTransform(1,0,0,1,0,0),o.lastUpdate=l),E[n]||(E[n]={lastUpdate:0});const u=E[n];return u.lastUpdate+i<l&&(n===d.FORMAT_IMAGE_DATA?u.lastData=g.getImageData(0,0,r,s):n===d.FORMAT_CANVAS?(u.lastUpdate=1/0,u.lastData=c):(console.error("video io error - unimplemented format ".concat(n)),u.lastUpdate=1/0,u.lastData=null),u.lastUpdate=Math.max(o.lastUpdate,u.lastUpdate)),u.lastData}onError(A){console.error("Unhandled video io device error",A)}_setupVideo(){return this._singleSetup||(this._singleSetup=C({width:{min:480,ideal:640},height:{min:360,ideal:480}}).then(A=>{this._video=document.createElement("video");try{this._video.srcObject=A}catch(e){this._video.src=window.URL.createObjectURL(A)}return this._video.play(),this._track=A.getTracks()[0],this}).catch(A=>{this._singleSetup=null,this.onError(A)})),this._singleSetup}get videoReady(){if(!this.enabled)return!1;if(!this._video)return!1;if(!this._track)return!1;const{videoWidth:A,videoHeight:e}=this._video;return"number"==typeof A&&"number"==typeof e&&(0!==A&&0!==e)}_getWorkspace(A){let{dimensions:e,mirror:t}=A,n=this._workspace.find(A=>A.dimensions.join("-")===e.join("-")&&A.mirror===t);return n||(n={dimensions:e,mirror:t,canvas:document.createElement("canvas"),lastUpdate:0,cacheData:{}},n.canvas.width=e[0],n.canvas.height=e[1],n.context=n.canvas.getContext("2d"),this._workspace.push(n)),n}}var I=d;var M={CloudManager:class{constructor(A){this.parent=A,this.providers=[],this.overrides=new Map}hasCloudData(){return this.parent.vm.runtime.hasCloudData()}projectReady(){if(this.hasCloudData())for(const A of this.providers)A.enable()}setVariable(A,e,t){this.overrides.has(e)&&this.overrides.get(e)!==A||this.parent.vm.postIOData("cloud",{varUpdate:{name:e,value:t}})}getUsername(){return this.parent._username}addProvider(A){A.manager=this,this.hasCloudData()&&A.enable(),this.providers.push(A)}requestCloseConnection(){}createVariable(A,e){}renameVariable(A,e){}deleteVariable(A){}addProviderOverride(A,e){if(e&&!this.providers.includes(e))throw new Error("Manager is not aware of this provider");this.overrides.set(A,e)}updateVariable(A,e){if(this.overrides.has(A)){const t=this.overrides.get(A);t&&t.handleUpdateVariable(A,e)}else for(const t of this.providers)t.handleUpdateVariable(A,e)}},WebSocketProvider:class{constructor(A,e){this.cloudHosts=Array.isArray(A)?A:[A],this.projectId=e,this.attemptedConnections=0,this.bufferedMessages=[],this.scheduledBufferedSend=null,this.reconnectTimeout=null,this.openConnection=this.openConnection.bind(this),this._scheduledSendBufferedMessages=this._scheduledSendBufferedMessages.bind(this)}enable(){this.openConnection()}setProjectId(A){this.projectId=A,this.closeAndReconnect()}openConnection(){this.currentCloudHost=this.cloudHosts[this.attemptedConnections%this.cloudHosts.length],this.attemptedConnections++,console.log("Connecting to ".concat(this.currentCloudHost," with ID ").concat(this.projectId,", username ").concat(this.manager.getUsername()));try{this.ws=new WebSocket(this.currentCloudHost)}catch(A){throw console.error(A),new Error("Cloud host ".concat(this.currentCloudHost," is invalid: ").concat(A))}this.ws.onerror=this.onerror.bind(this),this.ws.onmessage=this.onmessage.bind(this),this.ws.onopen=this.onopen.bind(this),this.ws.onclose=this.onclose.bind(this)}onerror(A){console.error("WebSocket error",A)}onmessage(A){for(const e of A.data.split("\n"))if(e){const A=JSON.parse(e);"set"===A.method&&this.manager.setVariable(this,A.name,A.value)}}onopen(){this.attemptedConnections=0,this.writeToServer({method:"handshake"}),this.sendBufferedMessages(),console.log("WebSocket connected")}onclose(A){if(A&&4002===A.code)return void console.log("Username is invalid; not reconnecting.");if(A&&4004===A.code)return void console.log("Project is blocked; not reconnecting.");const e=Math.random()*(Math.pow(2,Math.min(this.attemptedConnections+1,5))-1)*1e3;console.log("Connection lost; reconnecting in ".concat(Math.round(e),"ms")),this.reconnectTimeout=setTimeout(this.openConnection,e)}closeAndReconnect(){console.log("Closing connection and reconnecting."),this.ws&&(this.ws.onclose=null,this.ws.onerror=null,this.ws.close()),clearTimeout(this.reconnectTimeout);this.reconnectTimeout=setTimeout(this.openConnection,1e3/30)}canWriteToServer(){return this.ws&&this.ws.readyState===WebSocket.OPEN}scheduleBufferedSend(){this.scheduledBufferedSend||(this.scheduledBufferedSend=!0,Promise.resolve().then(this._scheduledSendBufferedMessages))}_scheduledSendBufferedMessages(){this.scheduledBufferedSend=!1,this.canWriteToServer()&&this.sendBufferedMessages()}sendBufferedMessages(){for(const A of this.bufferedMessages)this.writeToServer(A);this.bufferedMessages.length=0}bufferedWriteToServer(A){this.bufferedMessages.push(A),this.scheduleBufferedSend()}writeToServer(A){A.project_id=this.projectId,A.user=this.manager.getUsername(),this.ws.send(JSON.stringify(A))}handleUpdateVariable(A,e){for(const t of this.bufferedMessages)if(t.name===A)return void(t.value=e);this.bufferedWriteToServer({method:"set",name:A,value:e})}},LocalStorageProvider:class{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"p4:cloudvariables";this.key=A,this.variables={},this.handleStorageEvent=this.handleStorageEvent.bind(this)}readFromLocalStorage(){let A;try{if(A=JSON.parse(localStorage.getItem(this.key)),!A||"object"!=typeof A)return}catch(A){return}this.variables=A;for(const A of Object.keys(this.variables))this.manager.setVariable(this,A,this.variables[A])}storeToLocalStorage(){try{localStorage.setItem(this.key,JSON.stringify(this.variables))}catch(A){}}handleStorageEvent(A){A.key===this.key&&A.storageArea===localStorage&&this.readFromLocalStorage()}enable(){this.readFromLocalStorage(),window.addEventListener("storage",this.handleStorageEvent)}handleUpdateVariable(A,e){this.variables[A]=e,this.storeToLocalStorage()}}},p=t(155),m=t.n(p),F=t(98),D={insert:A=>{var e=document.head||document.body||document.documentElement;e.insertBefore(A,e.firstChild)},singleton:!1},Y=(m()(F.a,D),F.a.locals||{});const f=A=>new Promise((e,t)=>{const n=new FileReader;n.onload=()=>e(n.result),n.onerror=()=>t(new Error("Cannot read as text: ".concat(n.error))),n.readAsText(A)});var N=class{constructor(A,e){this.el=A,this.callback=e,this.el.addEventListener("dragover",this.ondragover.bind(this)),this.el.addEventListener("dragleave",this.ondragleave.bind(this)),this.el.addEventListener("drop",this.ondrop.bind(this))}ondragover(A){A.dataTransfer.types.includes("Files")&&(A.preventDefault(),A.dataTransfer.dropEffect="copy",this.el.classList.add(Y.dropping))}ondragleave(A){A.preventDefault(),this.el.classList.remove(Y.dropping)}ondrop(A){A.preventDefault(),this.el.classList.remove(Y.dropping),A.dataTransfer.types.includes("Files")&&A.dataTransfer.files.length>0&&Promise.all(Array.from(A.dataTransfer.files).map(f)).then(A=>{this.callback(A)})}};var U=class{constructor(A,e){this.parent=A,this.text=e,this.root=document.createElement("div"),this.root.className=Y.questionRoot,this.inner=document.createElement("div"),this.inner.className=Y.questionInner,e&&(this.textElement=document.createElement("div"),this.textElement.textContent=e,this.textElement.className=Y.questionText),this.inputContainer=document.createElement("div"),this.inputContainer.className=Y.questionInputOuter,this.input=document.createElement("input"),this.input.className=Y.questionInput,this.input.addEventListener("keypress",this.onkeypress.bind(this)),this.dropper=new N(this.input,this.dropperCallback.bind(this)),this.submitButton=document.createElement("button"),this.submitButton.className=Y.questionSubmitButton,this.submitButton.addEventListener("click",this.onsubmitpressclick.bind(this)),this.inputContainer.appendChild(this.input),this.inputContainer.appendChild(this.submitButton),this.textElement&&this.inner.appendChild(this.textElement),this.inner.appendChild(this.inputContainer),this.root.appendChild(this.inner),this.parent._addLayer(this.root),this.input.focus(),this.answerCallback=new Promise(A=>{this.callback=A})}answer(){return this.answerCallback}submit(){this.callback(this.input.value),this.destroy()}onkeypress(A){"Enter"===A.key&&this.submit()}dropperCallback(A){const e=A.join("").replace(/\r?\n/g," ");this.input.value=e}onsubmitpressclick(){this.submit()}destroy(){this.root.remove(),this.parent.question=null}};var y=class{constructor(A){this.parent=A,this.root=document.createElement("div"),this.root.className=Y.contextMenu,this._onmousedown=this._onmousedown.bind(this),this._onresize=this._onresize.bind(this),this._onblur=this._onblur.bind(this)}_onmousedown(A){this.root.contains(A.target)||this.destroy()}_onresize(){this.destroy()}_onblur(){this.destroy()}add(A){const e=document.createElement("button");e.className=Y.contextMenuItem,e.textContent=A.text,e.addEventListener("click",()=>{this.destroy(),A.callback()}),e.addEventListener("contextmenu",A=>{A.preventDefault()}),this.root.appendChild(e)}show(A){document.addEventListener("mousedown",this._onmousedown),window.addEventListener("resize",this._onresize),window.addEventListener("blur",this._onblur),this.parent._addLayer(this.root);const e=this.parent.layersRect,t=this.root.getBoundingClientRect();let n=A.clientX-e.left,i=A.clientY-e.top;n+t.width>e.width&&(n-=t.width),i+t.height>e.height&&(i-=t.height),this.root.style.transform="translate(".concat(n,"px, ").concat(i,"px)"),getComputedStyle(this.root).opacity,this.root.style.opacity="1"}destroy(){document.removeEventListener("mousedown",this._onmousedown),window.removeEventListener("resize",this._onresize),window.removeEventListener("blur",this._onblur),this.root.style.opacity="0",this.root.style.pointerEvents="none",setTimeout(()=>{this.root.remove()},200)}};var x=(A,e)=>{if("undefined"!=typeof ExternalDownloadHelper)return void ExternalDownloadHelper.download(A,e);const t=document.createElement("a");if(document.body.appendChild(t),navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(e,A);else if("download"in HTMLAnchorElement.prototype){const n=window.URL.createObjectURL(e);t.href=n,t.download=A,t.type=e.type,t.click(),window.setTimeout(()=>{document.body.removeChild(t),window.URL.revokeObjectURL(n)},1e3)}else{let A=window.open("","_blank");const t=new FileReader;t.onloadend=function(){A.location.href=t.result,A=null},t.readAsDataURL(e)}};class T{constructor(A,e){this.parent=A,this.id=e.get("id"),this.spriteName=e.get("spriteName"),this.targetId=e.get("targetId"),this.opcode=e.get("opcode"),this.params=e.get("params"),this.root=document.createElement("div"),this.root.className=Y.monitorRoot,this.root.dataset.id=this.id,this.root.dataset.opcode=this.opcode,this.parent._monitorOverlay.appendChild(this.root)}getLabel(){let A;if("data_variable"===this.opcode)A=this.params.VARIABLE;else if("data_listcontents"===this.opcode)A=this.params.LIST;else if("motion_xposition"===this.opcode)A=this.parent.getMessage("var-x");else if("motion_yposition"===this.opcode)A=this.parent.getMessage("var-y");else if("motion_direction"===this.opcode)A=this.parent.getMessage("var-direction");else if("sensing_username"===this.opcode)A=this.parent.getMessage("var-username");else if("looks_costumenumbername"===this.opcode)A="number"===this.params.NUMBER_NAME?this.parent.getMessage("var-costume-number"):this.parent.getMessage("var-costume-name");else if("looks_backdropnumbername"===this.opcode)A="number"===this.params.NUMBER_NAME?this.parent.getMessage("var-backdrop-number"):this.parent.getMessage("var-backdrop-name");else if("looks_size"===this.opcode)A=this.parent.getMessage("var-size");else if("control_get_counter"===this.opcode)A=this.parent.getMessage("var-get_counter");else if("sensing_answer"===this.opcode)A=this.parent.getMessage("var-answer");else if("sensing_mousedown"===this.opcode)A=this.parent.getMessage("var-mousedown");else if("sensing_mousex"===this.opcode)A=this.parent.getMessage("var-mousex");else if("sensing_mousey"===this.opcode)A=this.parent.getMessage("var-mousey");else if("sensing_loudness"===this.opcode)A=this.parent.getMessage("var-loudness");else if("sensing_timer"===this.opcode)A=this.parent.getMessage("var-timer");else if("sensing_dayssince2000"===this.opcode)A=this.parent.getMessage("var-dayssince2000");else if("sound_volume"===this.opcode)A=this.parent.getMessage("var-volume");else if("sensing_current"===this.opcode){const e=this.params.CURRENTMENU.toLowerCase();"year"===e?A=this.parent.getMessage("var-year"):"month"===e?A=this.parent.getMessage("var-month"):"date"===e?A=this.parent.getMessage("var-date"):"dayofweek"===e?A=this.parent.getMessage("var-day-of-week"):"hour"===e?A=this.parent.getMessage("var-hour"):"minute"===e?A=this.parent.getMessage("var-minute"):"second"===e&&(A=this.parent.getMessage("var-second"))}else{const e=this.parent.vm.runtime.getLabelForOpcode(this.opcode);A=e?e.label:this.opcode}return this.spriteName?"".concat(this.spriteName,": ").concat(A):A}getTarget(){return this.targetId?this.parent.vm.runtime.getTargetById(this.targetId):this.parent.vm.runtime.getTargetForStage()}getVmVariable(){return this.getTarget().variables[this.id]}update(A){this.x=A.get("x"),this.y=A.get("y"),this.visible=A.get("visible"),this.root.style.transform="translate(".concat(Math.round(this.x),"px, ").concat(Math.round(this.y),"px)"),this.root.style.display=this.visible?"":"none"}}class R extends T{constructor(A,e){super(A,e),this.mode=e.get("mode"),"large"===this.mode?(this.valueElement=document.createElement("div"),this.valueElement.className=Y.monitorLargeValue+" "+Y.monitorValueColor,this.root.appendChild(this.valueElement)):(this.inner=document.createElement("div"),this.inner.className=Y.monitorInner,this.valueRow=document.createElement("div"),this.valueRow.className=Y.monitorRow,this.label=document.createElement("div"),this.label.className=Y.monitorLabel,this.label.textContent=this.getLabel(),this.valueElement=document.createElement("div"),this.valueElement.className=Y.monitorValue+" "+Y.monitorValueColor,this.valueRow.appendChild(this.label),this.valueRow.appendChild(this.valueElement),this.inner.appendChild(this.valueRow),"slider"===this.mode&&(this.sliderRow=document.createElement("div"),this.sliderRow.className=Y.monitorRow,this.slider=document.createElement("input"),this.slider.className=Y.monitorSlider,this.slider.type="range",this.slider.min=e.get("sliderMin"),this.slider.max=e.get("sliderMax"),this.slider.step=e.get("isDiscrete")?1:.01,this.slider.addEventListener("input",this.onsliderchange.bind(this)),this.sliderRow.appendChild(this.slider),this.inner.appendChild(this.sliderRow)),this.root.appendChild(this.inner)),this.parent._monitorOverlay.appendChild(this.root),this._value=""}setVariableValue(A){const e=this.getVmVariable();if(e.value=A,e.isCloud){this.parent.vm.runtime.ioDevices.cloud.requestUpdateVariable(e.name,e.value)}this._value=A,this.valueElement.textContent=A}onsliderchange(A){this.setVariableValue(+A.target.value)}update(A){if(super.update(A),!this.visible)return;let e=A.get("value");"number"==typeof e&&(e=Number(e.toFixed(6))),this._value!==e&&(this._value=e,this.valueElement.textContent=e,this.slider&&(this.slider.value=e))}}class G{constructor(A){this.monitor=A,this.index=-1,this.value="",this.locked=!1,this.root=document.createElement("label"),this.root.className=Y.monitorRowRoot,this.indexEl=document.createElement("div"),this.indexEl.className=Y.monitorRowIndex,this.valueOuter=document.createElement("div"),this.valueOuter.className=Y.monitorRowValueOuter,this.editable=this.monitor.editable,this.editable?(this.valueInner=document.createElement("input"),this.valueInner.tabIndex=-1,this.valueInner.className=Y.monitorRowValueInner,this.valueInner.readOnly=!0,this.valueInner.addEventListener("click",this._onclickinput.bind(this)),this.valueInner.addEventListener("blur",this._onblurinput.bind(this)),this.valueInner.addEventListener("keypress",this._onkeypressinput.bind(this)),this.valueInner.addEventListener("keydown",this._onkeypressdown.bind(this)),this.valueInner.addEventListener("contextmenu",this._oncontextmenu.bind(this)),this.valueInner.addEventListener("input",this._oninput.bind(this)),this.valueOuter.appendChild(this.valueInner),this.deleteButton=document.createElement("button"),this.deleteButton.className=Y.monitorRowDelete,this.deleteButton.textContent="×",this.deleteButton.addEventListener("mousedown",this._onclickdelete.bind(this)),this.valueOuter.appendChild(this.deleteButton)):(this.valueInner=document.createElement("div"),this.valueInner.className=Y.monitorRowValueInner,this.valueOuter.appendChild(this.valueInner),this.valueInner.addEventListener("contextmenu",this._oncontextmenuuneditable.bind(this))),this.root.appendChild(this.indexEl),this.root.appendChild(this.valueOuter)}_onclickinput(){this.valueInner.focus(),this.locked||(this.valueInner.select(),this.valueInner.readOnly=!1,this.locked=!0,this.root.classList.add(Y.monitorRowValueEditing),this.addNewValue=!1,this.deleteValue=!1,this.valueWasChanged=!1)}_onblurinput(){if(this.locked)if(this.unfocus(),this.deleteValue){const A=[...this.monitor.value];A.splice(this.index,1),this.monitor.setValue(A),this.monitor.tryToFocusRow(Math.min(A.length-1,this.index))}else if(this.valueWasChanged||this.addNewValue){const A=[...this.monitor.value];A[this.index]=this.valueInner.value,this.addNewValue&&A.splice(this.index+1,0,""),this.monitor.setValue(A),this.addNewValue&&this.monitor.tryToFocusRow(this.index+1)}}_oninput(){this.valueWasChanged=!0}_onkeypressinput(A){"Enter"===A.key&&(this.addNewValue=!0,this.valueInner.blur())}_onkeypressdown(A){if("Escape"===A.key)this.valueInner.blur();else if("ArrowUp"===A.key||"ArrowDown"===A.key||"Tab"===A.key){A.preventDefault();let e=this.index;"ArrowUp"===A.key||"Tab"===A.key&&A.shiftKey?(e--,e<0&&(e=this.monitor.value.length-1)):(e++,e>=this.monitor.value.length&&(e=0)),this.monitor.tryToFocusRow(e)}}_onclickdelete(A){A.preventDefault(),this.deleteValue=!0,this.valueInner.blur()}_oncontextmenu(A){this.locked?A.stopPropagation():A.preventDefault()}_oncontextmenuuneditable(A){const e=getSelection();this.valueInner.contains(e.anchorNode)&&!e.isCollapsed&&A.stopPropagation()}setIndex(A){this.index!==A&&(this.index=A,this.root.dataset.index=A,this.root.style.transform="translateY(".concat(24*A,"px)"),this.indexEl.textContent=A+1)}setValue(A){this.value===A||this.locked||(this.value=A,this.editable?this.valueInner.value=A:this.valueInner.textContent=A)}focus(){this.valueInner.click(),document.activeElement!==this.valueInner&&setTimeout(()=>this.valueInner.click())}unfocus(){this.locked&&(this.locked=!1,this.valueInner.readOnly=!0,this.root.classList.remove(Y.monitorRowValueEditing))}}class S extends T{constructor(A,e){super(A,e),this.editable=A.editableLists,this.rows=new Map,this.cachedRows=[],this.scrollTop=0,this.oldLength=-1,this.label=document.createElement("div"),this.label.className=Y.monitorListLabel,this.label.textContent=this.getLabel(),this.footer=document.createElement("div"),this.footer.className=Y.monitorListFooter,this.footerText=document.createElement("div"),this.footerText.className=Y.monitorListFooterText,this.rowsOuter=document.createElement("div"),this.rowsOuter.className=Y.monitorRowsOuter,this.rowsInner=document.createElement("div"),this.rowsInner.className=Y.monitorRowsInner,this.rowsInner.addEventListener("scroll",this._onscroll.bind(this),{passive:!0}),this.endPoint=document.createElement("div"),this.endPoint.className=Y.monitorRowsEndpoint,this.emptyLabel=document.createElement("div"),this.emptyLabel.textContent=A.getMessage("list-empty"),this.emptyLabel.className=Y.monitorEmpty,this.editable&&(this.addButton=document.createElement("button"),this.addButton.className=Y.monitorListAdd,this.addButton.textContent="+",this.addButton.addEventListener("click",this._onclickaddbutton.bind(this)),this.footer.appendChild(this.addButton)),this.rowsInner.appendChild(this.endPoint),this.rowsInner.appendChild(this.emptyLabel),this.rowsOuter.appendChild(this.rowsInner),this.footer.appendChild(this.footerText),this.root.appendChild(this.label),this.root.appendChild(this.rowsOuter),this.root.appendChild(this.footer),this.dropper=new N(this.rowsOuter,this.dropperCallback.bind(this)),this.handleImport=this.handleImport.bind(this),this.handleExport=this.handleExport.bind(this),this.root.addEventListener("contextmenu",this._oncontextmenu.bind(this))}_onclickaddbutton(A){this.setValue([...this.value,""]),this.tryToFocusRow(this.value.length-1)}unfocusAllRows(){for(const A of this.rows.values())A.unfocus()}tryToFocusRow(A){if(A>=0&&A<this.value.length){this.unfocusAllRows();let e=this.rows.get(A);e||(e=this.createRow(A)),e.focus()}}_onscroll(A){this.scrollTop=A.target.scrollTop,this.updateValue(this.value)}_oncontextmenu(A){A.preventDefault();const e=new y(this.parent);e.add({text:this.parent.getMessage("list-import"),callback:this.handleImport}),e.add({text:this.parent.getMessage("list-export"),callback:this.handleExport}),e.show(A)}handleImport(){const A=document.createElement("input");A.type="file",A.accept=".txt,.csv,.tsv",A.style.display="none",document.body.appendChild(A),A.addEventListener("change",A=>{const e=A.target.files;if(0===e.length)return;const t=e[0];f(t).then(A=>this.import(A))}),A.click()}import(A){const e=A.split(/\r?\n/);this.setValue(e)}handleExport(){const A=this.getValue().join("\n"),e=new Blob([A],{type:"text/plain"});x("".concat(this.getLabel(),".txt"),e)}dropperCallback(A){this.import(A.join("\n"))}getValue(){return this.getVmVariable().value}setValue(A){this.getVmVariable().value=A,this.updateValue(A)}update(A){super.update(A),this.visible&&(this.width=A.get("width")||100,this.height=A.get("height")||200,this.root.style.width="".concat(this.width,"px"),this.root.style.height="".concat(this.height,"px"),this.updateValue(A.get("value")))}createRow(A){const e=this.cachedRows.pop()||new G(this);e.setIndex(A),e.setValue(this.value[A]),this.rows.set(A,e);let t=!1;for(const n of this.rowsInner.children){const i=n.dataset.index;if(!i)continue;if(+i>A){this.rowsInner.insertBefore(e.root,n),t=!0;break}}return t||this.rowsInner.appendChild(e.root),e}updateValue(A){this.value=A,A.length!==this.oldLength&&(this.oldLength=A.length,this.footerText.textContent=this.parent.getMessage("list-length").replace("{n}",A.length),this.endPoint.style.transform="translateY(".concat(24*A.length,"px)"),this.emptyLabel.style.display=A.length?"none":"");let e=Math.floor(this.scrollTop/24)-5;e<0&&(e=0);let t=Math.ceil((this.scrollTop+this.height)/24)+3;t>A.length-1&&(t=A.length-1);for(const n of this.rows.keys())if(n<e||n>t){const e=this.rows.get(n);(!e.locked||n>=A.length)&&(e.unfocus(),e.root.remove(),this.rows.delete(n),this.cachedRows.length<10&&this.cachedRows.push(e))}for(let n=e;n<=t;n++){const e=this.rows.get(n);e?e.setValue(A[n]):this.createRow(n)}}}var H=class{constructor(){this.hasItem=!1,this.root=document.createElement("div"),this.root.className=Y.controlsBar,this.start=document.createElement("div"),this.end=document.createElement("div"),this.root.appendChild(this.start),this.root.appendChild(this.end)}addToStart(A){this.hasItem=!0,this.start.appendChild(A)}addToEnd(A){this.hasItem=!0,this.end.appendChild(A)}computeHeight(){return this.hasItem?this.root.getBoundingClientRect().height:0}};const b=A=>"number"==typeof A||"string"==typeof A||"boolean"==typeof A;var k=t(159);const J=A=>A.touches&&A.touches[0]?{x:A.touches[0].clientX,y:A.touches[0].clientY}:A.changedTouches&&A.changedTouches[0]?{x:A.changedTouches[0].clientX,y:A.changedTouches[0].clientY}:{x:A.clientX,y:A.clientY},j=A=>"function"==typeof A?A:()=>A;class z extends class{constructor(){this._events={}}addEventListener(A,e){this._events[A]||(this._events[A]=[]),this._events[A].push(e)}removeEventListener(A,e){const t=this._events[A];t&&(this._events[A]=t.filter(A=>A!==e))}dispatchEvent(A){const e=this._events[A.type];if(e)for(const t of e)t(A)}}{constructor(){super(),this.width=480,this.height=360,this.resizeMode="preserve-ratio",this.editableLists=!1,this.shouldConnectPeripherals=!0,this.usePackagedRuntime=!1,this.messages=k,this._monitors=new Map,this._mousedownPosition=null,this._draggingId=null,this._draggingStartMousePosition=null,this._draggingStartSpritePosition=null,this._offsetFromTop=0,this._offsetFromBottom=0,this._offsetFromLeft=0,this._offsetFromRight=0,this._root=document.createElement("div"),this._root.className=Y.root,this._layers=document.createElement("div"),this._layers.className=Y.layers,this._root.appendChild(this._layers),this._canvas=document.createElement("canvas"),this._canvas.className=Y.canvas,this._addLayer(this._canvas),this._overlays=document.createElement("div"),this._overlays.className=Y.scaledOverlaysInner,this._overlaysOuter=document.createElement("div"),this._overlaysOuter.className=Y.scaledOverlaysOuter,this._overlaysOuter.appendChild(this._overlays),this._addLayer(this._overlaysOuter),this._monitorOverlay=document.createElement("div"),this._monitorOverlay.className=Y.monitorOverlay,this._overlays.appendChild(this._monitorOverlay),this._topControls=new H,this._layers.appendChild(this._topControls.root),document.addEventListener("mousemove",this._onmousemove.bind(this)),this._canvas.addEventListener("mousedown",this._onmousedown.bind(this)),document.addEventListener("mouseup",this._onmouseup.bind(this)),this._canvas.addEventListener("touchstart",this._ontouchstart.bind(this)),document.addEventListener("touchmove",this._ontouchmove.bind(this)),document.addEventListener("touchend",this._ontouchend.bind(this)),this._canvas.addEventListener("contextmenu",this._oncontextmenu.bind(this)),this._canvas.addEventListener("wheel",this._onwheel.bind(this)),document.addEventListener("keydown",this._onkeydown.bind(this)),document.addEventListener("keyup",this._onkeyup.bind(this)),window.addEventListener("resize",this._onresize.bind(this))}_addLayer(A){this._layers.appendChild(A)}_scratchCoordinates(A,e){return{x:this.width/this.layersRect.width*(A-this.layersRect.width/2),y:-this.height/this.layersRect.height*(e-this.layersRect.height/2)}}_onmousemove(A){const{x:e,y:t}=J(A),n={x:e-this.layersRect.left,y:t-this.layersRect.top,canvasWidth:this.layersRect.width,canvasHeight:this.layersRect.height};if(this._mousedownPosition&&!this._draggingId){Math.sqrt(Math.pow(n.x-this._mousedownPosition.x,2)+Math.pow(n.y-this._mousedownPosition.y,2))>3&&(this._startDragging(n.x,n.y),this._cancelDragTimeout())}else if(this._draggingId){const A=this._scratchCoordinates(n.x,n.y);this.vm.postSpriteInfo({x:A.x-this._draggingStartMousePosition.x+this._draggingStartSpritePosition.x,y:A.y-this._draggingStartMousePosition.y+this._draggingStartSpritePosition.y,force:!0})}this.vm.postIOData("mouse",n)}_startDragging(A,e){if(this._draggingId)return;const t=this.renderer.pick(A,e);if(null===t)return;const n=this.vm.getTargetIdForDrawableId(t);if(null===n)return;const i=this.vm.runtime.getTargetById(n);i.draggable&&(i.goToFront(),this._draggingId=n,this._draggingStartMousePosition=this._scratchCoordinates(A,e),this._draggingStartSpritePosition={x:i.x,y:i.y},this.vm.startDrag(n))}_cancelDragTimeout(){clearTimeout(this._dragTimeout),this._dragTimeout=null}_onmousedown(A){const{x:e,y:t}=J(A),n={x:e-this.layersRect.left,y:t-this.layersRect.top,button:A.button,canvasWidth:this.layersRect.width,canvasHeight:this.layersRect.height,isDown:!0},i="undefined"!=typeof TouchEvent&&A instanceof TouchEvent;(0===A.button||i)&&(this._dragTimeout=setTimeout(this._startDragging.bind(this,n.x,n.y),400)),i&&(A.preventDefault(),document.activeElement&&document.activeElement.blur&&document.activeElement.blur()),this._mousedownPosition={x:n.x,y:n.y},this.vm.postIOData("mouse",n)}_onmouseup(A){this._cancelDragTimeout();const{x:e,y:t}=J(A),n={x:e-this.layersRect.left,y:t-this.layersRect.top,button:A.button,canvasWidth:this.layersRect.width,canvasHeight:this.layersRect.height,isDown:!1,wasDragged:null!==this._draggingId};this._mousedownPosition=null,this.vm.postIOData("mouse",n),this._draggingId&&(this.vm.stopDrag(this._draggingId),this._draggingStartMousePosition=null,this._draggingStartSpritePosition=null,this._draggingId=null)}_ontouchstart(A){this._onmousedown(A)}_ontouchmove(A){this._onmousemove(A)}_ontouchend(A){this._onmouseup(A)}_oncontextmenu(A){A.preventDefault()}_onwheel(A){const e={deltaX:A.deltaX,deltaY:A.deltaY};this.vm.postIOData("mouseWheel",e)}_onkeydown(A){if(A.target!==document&&A.target!==document.body)return;const e={key:A.key,keyCode:A.keyCode,isDown:!0};this.vm.postIOData("keyboard",e),(32===A.keyCode||A.keyCode>=37&&A.keyCode<=40||8===A.keyCode||222===A.keyCode||191===A.keyCode)&&A.preventDefault()}_onkeyup(A){const e={key:A.key,keyCode:A.keyCode,isDown:!1};this.vm.postIOData("keyboard",e),A.target!==document&&A.target!==document.body&&A.preventDefault()}_onresize(){this.relayout()}relayout(){const A=Math.max(1,this._root.offsetWidth),e=Math.max(1,this._root.offsetHeight),t=this._offsetFromTop+this._topControls.computeHeight(),n=this._offsetFromBottom,i=this._offsetFromLeft,r=this._offsetFromRight,s=Math.max(1,A-i-r),o=Math.max(1,e-t-n);"dynamic-resize"===this.resizeMode&&(this.vm.setStageSize?(this.width=s,this.height=o,this.vm.setStageSize(this.width,this.height)):console.warn("dynamic-resize not supported: vm does not implement setStageSize"));let a=s,B=o;"stretch"!==this.resizeMode&&(a=B/this.height*this.width,a>s&&(B=s/this.width*this.height,a=s));const c=e-B,g=A-a,Q=(g-i-r)/2+i-g/2,E=(c-t-n)/2+t-c/2;this._layers.style.transform="translate(".concat(Q,"px, ").concat(E,"px)"),this._layers.style.width="".concat(a,"px"),this._layers.style.height="".concat(B,"px"),this._overlays.style.transform="scale(".concat(a/this.width,", ").concat(B/this.height,")"),this.renderer.resize(a,B),this.layersRect=this._layers.getBoundingClientRect()}appendTo(A){A.appendChild(this._root),this.relayout()}setup(){this.vm=new r.a,this.vm.setCompatibilityMode(!0),this.vm.setLocale(navigator.language),this.vm.on("MONITORS_UPDATE",this._onmonitorsupdate.bind(this)),this.vm.runtime.on("QUESTION",this._onquestion.bind(this)),this.vm.on("PROJECT_RUN_START",()=>this.dispatchEvent(new Event("PROJECT_RUN_START"))),this.vm.on("PROJECT_RUN_STOP",()=>this.dispatchEvent(new Event("PROJECT_RUN_STOP"))),this.usePackagedRuntime&&this.vm.convertToPackagedRuntime&&this.vm.convertToPackagedRuntime(),this.vm.setStageSize&&this.vm.setStageSize(this.width,this.height),this.vm.runtime.cloudOptions&&(this.vm.runtime.cloudOptions.limit=1/0),this.vm.on("STAGE_SIZE_CHANGED",(A,e)=>{this.width===A&&this.height===e||(this.width=A,this.height=e,this.relayout())}),this.cloudManager=new M.CloudManager(this),this.renderer=new o.a(this._canvas,-this.width/2,this.width/2,-this.height/2,this.height/2),this.vm.attachRenderer(this.renderer),this.renderer.overlayContainer&&this._layers.insertBefore(this.renderer.overlayContainer,this._overlaysOuter),this.storage=new g,this.vm.attachStorage(this.storage),"undefined"!=typeof AudioContext||"undefined"!=typeof webkitAudioContext?(this.audioEngine=new E.a,this.vm.attachAudioEngine(this.audioEngine)):console.warn("AudioContext not supported. Sound will not work."),this.bitmapAdapter=new l.BitmapAdapter,this.vm.attachV2BitmapAdapter(this.bitmapAdapter),this.videoProvider=new I,this.vm.setVideoProvider(this.videoProvider)}async _connectPeripherals(){const A=A=>new Promise(e=>{const t=e=>{const t=Object.keys(e).map(A=>e[A]);if(t.length>0){const e=t[0];console.log("Connecting to peripheral",e),this.vm.connectPeripheral(A,e.peripheralId)}else console.error("No peripherals found for",A);i()},n=()=>{console.error("Peripheral scan timed out for",A),i()},i=()=>{this.vm.removeListener("PERIPHERAL_LIST_UPDATE",t),this.vm.removeListener("PERIPHERAL_SCAN_TIMEOUT",n),e()};this.vm.on("PERIPHERAL_LIST_UPDATE",t),this.vm.on("PERIPHERAL_SCAN_TIMEOUT",n),this.vm.scanForPeripheral(A)});for(const e of Object.keys(this.vm.runtime.peripheralExtensions))await A(e)}_onmonitorsupdate(A){for(const e of A.valueSeq()){const A=e.get("id");if(!this._monitors.has(A)){if(!e.get("visible"))continue;"list"===e.get("mode")?this._monitors.set(A,new S(this,e)):this._monitors.set(A,new R(this,e))}this._monitors.get(A).update(e)}}ask(A){return this._question=new U(this,A),this._question.answer()}_onquestion(A){this._question&&this._question.destroy(),null!==A&&this.ask(A).then(A=>{this.vm.runtime.emit("ANSWER",A)})}loadProject(A){return this.vm.loadProject(A).then(()=>{this.vm.setCloudProvider(this.cloudManager),this.cloudManager.projectReady(),this.renderer.draw(),setTimeout(()=>{this.renderer.draw()}),this.shouldConnectPeripherals&&this._connectPeripherals()})}setUsername(A){this._username=A,this.vm.postIOData("userData",{username:A})}addCloudProvider(A){this.cloudManager.addProvider(A)}addCloudProviderOverride(A,e){this.cloudManager.addProviderOverride(A,e)}addControlButton(A){let{element:e,where:t}=A;if("top-left"===t)this._topControls.addToStart(e);else{if("top-right"!==t)throw new Error("Unknown 'where': ".concat(t));this._topControls.addToEnd(e)}this.relayout()}getMessage(A){return this.messages[A]||A}setAccentColor(A){this._root.style.setProperty("--sc-accent-color",A),this._root.style.setProperty("--sc-accent-color-transparent","".concat(A,"59"))}start(){this.vm.start(),this.vm.greenFlag()}greenFlag(){this.start()}stopAll(){this.vm.stopAll()}_lookupVariable(A,e){const t=this.vm.runtime.getTargetForStage().lookupVariableByNameAndType(A,e);if(!t)throw new Error("Global ".concat(e||"variable"," does not exist: ").concat(A));return t}setExtensionSecurityManager(A){const e=this.vm.extensionManager.securityManager;if(e)for(const[t,n]of Object.entries(A))e[t]=j(n);else console.warn("setExtensionSecurityManager not supported: there is no security manager")}getVariable(A){return this._lookupVariable(A,"").value}setVariable(A,e){if(!b(e))throw new Error("Invalid variable value");this._lookupVariable(A,"").value=e}getList(A){return this._lookupVariable(A,"list").value}setList(A,e){if(!(A=>{if(!Array.isArray(A))return!1;for(let e=0;e<A.length;e++)if(!b(A[e]))return!1;return!0})(e))throw new Error("Invalid list value");this._lookupVariable(A,"list").value=e}}if(window.Scaffolding)throw new Error("Scaffolding already exists on this page");window.Scaffolding=n},function(A,e,t){"use strict";t.r(e),t.d(e,"FBXLoader",(function(){return L}));var n=t(0),i=function(A){return URL.createObjectURL(new Blob([A],{type:"text/javascript"}))};
/*!
fflate - fast JavaScript compression/decompression
<https://101arrowz.github.io/fflate>
Licensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE
version 0.6.9
*/try{URL.revokeObjectURL(i(""))}catch(A){i=function(A){return"data:application/javascript;charset=UTF-8,"+encodeURI(A)},function(A){return new Worker(A,{type:"module"})}}var r=Uint8Array,s=Uint16Array,o=Uint32Array,a=new r([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),B=new r([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),c=new r([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=function(A,e){for(var t=new s(31),n=0;n<31;++n)t[n]=e+=1<<A[n-1];var i=new o(t[30]);for(n=1;n<30;++n)for(var r=t[n];r<t[n+1];++r)i[r]=r-t[n]<<5|n;return[t,i]},Q=g(a,2),E=Q[0],l=Q[1];E[28]=258,l[258]=28;for(var u=g(B,0),w=u[0],h=(u[1],new s(32768)),C=0;C<32768;++C){var d=(43690&C)>>>1|(21845&C)<<1;d=(61680&(d=(52428&d)>>>2|(13107&d)<<2))>>>4|(3855&d)<<4,h[C]=((65280&d)>>>8|(255&d)<<8)>>>1}var I=function(A,e,t){for(var n=A.length,i=0,r=new s(e);i<n;++i)++r[A[i]-1];var o,a=new s(e);for(i=0;i<e;++i)a[i]=a[i-1]+r[i-1]<<1;if(t){o=new s(1<<e);var B=15-e;for(i=0;i<n;++i)if(A[i])for(var c=i<<4|A[i],g=e-A[i],Q=a[A[i]-1]++<<g,E=Q|(1<<g)-1;Q<=E;++Q)o[h[Q]>>>B]=c}else for(o=new s(n),i=0;i<n;++i)A[i]&&(o[i]=h[a[A[i]-1]++]>>>15-A[i]);return o},M=new r(288);for(C=0;C<144;++C)M[C]=8;for(C=144;C<256;++C)M[C]=9;for(C=256;C<280;++C)M[C]=7;for(C=280;C<288;++C)M[C]=8;var p=new r(32);for(C=0;C<32;++C)p[C]=5;var m=I(M,9,1),F=I(p,5,1),D=function(A){for(var e=A[0],t=1;t<A.length;++t)A[t]>e&&(e=A[t]);return e},Y=function(A,e,t){var n=e/8|0;return(A[n]|A[n+1]<<8)>>(7&e)&t},f=function(A,e){var t=e/8|0;return(A[t]|A[t+1]<<8|A[t+2]<<16)>>(7&e)},N=function(A){return(A/8|0)+(7&A&&1)},U=function(A,e,t){(null==e||e<0)&&(e=0),(null==t||t>A.length)&&(t=A.length);var n=new(A instanceof s?s:A instanceof o?o:r)(t-e);return n.set(A.subarray(e,t)),n},y=function(A,e,t){var n=A.length;if(!n||t&&!t.l&&n<5)return e||new r(0);var i=!e||t,s=!t||t.i;t||(t={}),e||(e=new r(3*n));var o=function(A){var t=e.length;if(A>t){var n=new r(Math.max(2*t,A));n.set(e),e=n}},g=t.f||0,Q=t.p||0,l=t.b||0,u=t.l,h=t.d,C=t.m,d=t.n,M=8*n;do{if(!u){t.f=g=Y(A,Q,1);var p=Y(A,Q+1,3);if(Q+=3,!p){var y=A[(z=N(Q)+4)-4]|A[z-3]<<8,x=z+y;if(x>n){if(s)throw"unexpected EOF";break}i&&o(l+y),e.set(A.subarray(z,x),l),t.b=l+=y,t.p=Q=8*x;continue}if(1==p)u=m,h=F,C=9,d=5;else{if(2!=p)throw"invalid block type";var T=Y(A,Q,31)+257,R=Y(A,Q+10,15)+4,G=T+Y(A,Q+5,31)+1;Q+=14;for(var S=new r(G),H=new r(19),b=0;b<R;++b)H[c[b]]=Y(A,Q+3*b,7);Q+=3*R;var k=D(H),J=(1<<k)-1,j=I(H,k,1);for(b=0;b<G;){var z,v=j[Y(A,Q,J)];if(Q+=15&v,(z=v>>>4)<16)S[b++]=z;else{var L=0,P=0;for(16==z?(P=3+Y(A,Q,3),Q+=2,L=S[b-1]):17==z?(P=3+Y(A,Q,7),Q+=3):18==z&&(P=11+Y(A,Q,127),Q+=7);P--;)S[b++]=L}}var O=S.subarray(0,T),W=S.subarray(T);C=D(O),d=D(W),u=I(O,C,1),h=I(W,d,1)}if(Q>M){if(s)throw"unexpected EOF";break}}i&&o(l+131072);for(var V=(1<<C)-1,K=(1<<d)-1,X=Q;;X=Q){var Z=(L=u[f(A,Q)&V])>>>4;if((Q+=15&L)>M){if(s)throw"unexpected EOF";break}if(!L)throw"invalid length/literal";if(Z<256)e[l++]=Z;else{if(256==Z){X=Q,u=null;break}var _=Z-254;if(Z>264){var q=a[b=Z-257];_=Y(A,Q,(1<<q)-1)+E[b],Q+=q}var $=h[f(A,Q)&K],AA=$>>>4;if(!$)throw"invalid distance";Q+=15&$;W=w[AA];if(AA>3){q=B[AA];W+=f(A,Q)&(1<<q)-1,Q+=q}if(Q>M){if(s)throw"unexpected EOF";break}i&&o(l+131072);for(var eA=l+_;l<eA;l+=4)e[l]=e[l-W],e[l+1]=e[l+1-W],e[l+2]=e[l+2-W],e[l+3]=e[l+3-W];l=eA}}t.l=u,t.p=X,t.b=l,u&&(g=1,t.m=C,t.d=h,t.n=d)}while(!g);return l==e.length?e:U(e,0,l)},x=new r(0),T=function(A){if(8!=(15&A[0])||A[0]>>>4>7||(A[0]<<8|A[1])%31)throw"invalid zlib data";if(32&A[1])throw"invalid zlib data: preset dictionaries not supported"};function R(A,e){return y((T(A),A.subarray(2,-4)),e)}var G="undefined"!=typeof TextDecoder&&new TextDecoder;try{G.decode(x,{stream:!0}),1}catch(A){}function S(A,e,t){const n=t.length-A-1;if(e>=t[n])return n-1;if(e<=t[A])return A;let i=A,r=n,s=Math.floor((i+r)/2);for(;e<t[s]||e>=t[s+1];)e<t[s]?r=s:i=s,s=Math.floor((i+r)/2);return s}function H(A,e,t,n){const i=[],r=[],s=[];i[0]=1;for(let o=1;o<=t;++o){r[o]=e-n[A+1-o],s[o]=n[A+o]-e;let t=0;for(let A=0;A<o;++A){const e=s[A+1],n=r[o-A],a=i[A]/(e+n);i[A]=t+e*a,t=n*a}i[o]=t}return i}function b(A,e){let t=1;for(let e=2;e<=A;++e)t*=e;let n=1;for(let A=2;A<=e;++A)n*=A;for(let t=2;t<=A-e;++t)n*=t;return t/n}function k(A,e,t,i,r){return function(A){const e=A.length,t=[],i=[];for(let r=0;r<e;++r){const e=A[r];t[r]=new n.Vector3(e.x,e.y,e.z),i[r]=e.w}const r=[];for(let A=0;A<e;++A){const e=t[A].clone();for(let t=1;t<=A;++t)e.sub(r[A-t].clone().multiplyScalar(b(A,t)*i[t]));r[A]=e.divideScalar(i[0])}return r}(function(A,e,t,i,r){const s=r<A?r:A,o=[],a=S(A,i,e),B=function(A,e,t,n,i){const r=[];for(let A=0;A<=t;++A)r[A]=0;const s=[];for(let A=0;A<=n;++A)s[A]=r.slice(0);const o=[];for(let A=0;A<=t;++A)o[A]=r.slice(0);o[0][0]=1;const a=r.slice(0),B=r.slice(0);for(let n=1;n<=t;++n){a[n]=e-i[A+1-n],B[n]=i[A+n]-e;let t=0;for(let A=0;A<n;++A){const e=B[A+1],i=a[n-A];o[n][A]=e+i;const r=o[A][n-1]/o[n][A];o[A][n]=t+e*r,t=i*r}o[n][n]=t}for(let A=0;A<=t;++A)s[0][A]=o[A][t];for(let A=0;A<=t;++A){let e=0,i=1;const a=[];for(let A=0;A<=t;++A)a[A]=r.slice(0);a[0][0]=1;for(let r=1;r<=n;++r){let n=0;const B=A-r,c=t-r;A>=r&&(a[i][0]=a[e][0]/o[c+1][B],n=a[i][0]*o[B][c]);const g=A-1<=c?r-1:t-A;for(let A=B>=-1?1:-B;A<=g;++A)a[i][A]=(a[e][A]-a[e][A-1])/o[c+1][B+A],n+=a[i][A]*o[B+A][c];A<=c&&(a[i][r]=-a[e][r-1]/o[c+1][A],n+=a[i][r]*o[A][c]),s[r][A]=n;const Q=e;e=i,i=Q}}let c=t;for(let A=1;A<=n;++A){for(let e=0;e<=t;++e)s[A][e]*=c;c*=t-A}return s}(a,i,A,s,e),c=[];for(let A=0;A<t.length;++A){const e=t[A].clone(),n=e.w;e.x*=n,e.y*=n,e.z*=n,c[A]=e}for(let e=0;e<=s;++e){const t=c[a-A].clone().multiplyScalar(B[e][0]);for(let n=1;n<=A;++n)t.add(c[a-A+n].clone().multiplyScalar(B[e][n]));o[e]=t}for(let A=s+1;A<=r+1;++A)o[A]=new n.Vector4(0,0,0);return o}(A,e,t,i,r))}class J extends n.Curve{constructor(A,e,t,i,r){super(),this.degree=A,this.knots=e,this.controlPoints=[],this.startKnot=i||0,this.endKnot=r||this.knots.length-1;for(let A=0;A<t.length;++A){const e=t[A];this.controlPoints[A]=new n.Vector4(e.x,e.y,e.z,e.w)}}getPoint(A,e=new n.Vector3){const t=e,i=this.knots[this.startKnot]+A*(this.knots[this.endKnot]-this.knots[this.startKnot]),r=function(A,e,t,i){const r=S(A,i,e),s=H(r,i,A,e),o=new n.Vector4(0,0,0,0);for(let e=0;e<=A;++e){const n=t[r-A+e],i=s[e],a=n.w*i;o.x+=n.x*a,o.y+=n.y*a,o.z+=n.z*a,o.w+=n.w*i}return o}(this.degree,this.knots,this.controlPoints,i);return 1!==r.w&&r.divideScalar(r.w),t.set(r.x,r.y,r.z)}getTangent(A,e=new n.Vector3){const t=e,i=this.knots[0]+A*(this.knots[this.knots.length-1]-this.knots[0]),r=k(this.degree,this.knots,this.controlPoints,i,1);return t.copy(r[1]).normalize(),t}}let j,z,v;class L extends n.Loader{constructor(A){super(A)}load(A,e,t,i){const r=this,s=""===r.path?n.LoaderUtils.extractUrlBase(A):r.path,o=new n.FileLoader(this.manager);o.setPath(r.path),o.setResponseType("arraybuffer"),o.setRequestHeader(r.requestHeader),o.setWithCredentials(r.withCredentials),o.load(A,(function(t){try{e(r.parse(t,s))}catch(e){i?i(e):console.error(e),r.manager.itemError(A)}}),t,i)}parse(A,e){if(function(A){const e="Kaydara FBX Binary \0";return A.byteLength>=e.length&&e===sA(A,0,e.length)}(A))j=(new K).parse(A);else{const e=sA(A);if(!function(A){const e=["K","a","y","d","a","r","a","\\","F","B","X","\\","B","i","n","a","r","y","\\","\\"];let t=0;function n(e){const n=A[e-1];return A=A.slice(t+e),t++,n}for(let A=0;A<e.length;++A){if(n(1)===e[A])return!1}return!0}(e))throw new Error("THREE.FBXLoader: Unknown format.");if(_(e)<7e3)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+_(e));j=(new V).parse(e)}const t=new n.TextureLoader(this.manager).setPath(this.resourcePath||e).setCrossOrigin(this.crossOrigin);return new P(t,this.manager).parse(j)}}class P{constructor(A,e){this.textureLoader=A,this.manager=e}parse(){z=this.parseConnections();const A=this.parseImages(),e=this.parseTextures(A),t=this.parseMaterials(e),n=this.parseDeformers(),i=(new O).parse(n);return this.parseScene(n,i,t),v}parseConnections(){const A=new Map;if("Connections"in j){j.Connections.connections.forEach((function(e){const t=e[0],n=e[1],i=e[2];A.has(t)||A.set(t,{parents:[],children:[]});const r={ID:n,relationship:i};A.get(t).parents.push(r),A.has(n)||A.set(n,{parents:[],children:[]});const s={ID:t,relationship:i};A.get(n).children.push(s)}))}return A}parseImages(){const A={},e={};if("Video"in j.Objects){const t=j.Objects.Video;for(const n in t){const i=t[n];if(A[parseInt(n)]=i.RelativeFilename||i.Filename,"Content"in i){const A=i.Content instanceof ArrayBuffer&&i.Content.byteLength>0,r="string"==typeof i.Content&&""!==i.Content;if(A||r){const A=this.parseImage(t[n]);e[i.RelativeFilename||i.Filename]=A}}}}for(const t in A){const n=A[t];void 0!==e[n]?A[t]=e[n]:A[t]=A[t].split("\\").pop()}return A}parseImage(A){const e=A.Content,t=A.RelativeFilename||A.Filename,n=t.slice(t.lastIndexOf(".")+1).toLowerCase();let i;switch(n){case"bmp":i="image/bmp";break;case"jpg":case"jpeg":i="image/jpeg";break;case"png":i="image/png";break;case"tif":i="image/tiff";break;case"tga":null===this.manager.getHandler(".tga")&&console.warn("FBXLoader: TGA loader not found, skipping ",t),i="image/tga";break;default:return void console.warn('FBXLoader: Image type "'+n+'" is not supported.')}if("string"==typeof e)return"data:"+i+";base64,"+e;{const A=new Uint8Array(e);return window.URL.createObjectURL(new Blob([A],{type:i}))}}parseTextures(A){const e=new Map;if("Texture"in j.Objects){const t=j.Objects.Texture;for(const n in t){const i=this.parseTexture(t[n],A);e.set(parseInt(n),i)}}return e}parseTexture(A,e){const t=this.loadTexture(A,e);t.ID=A.id,t.name=A.attrName;const i=A.WrapModeU,r=A.WrapModeV,s=void 0!==i?i.value:0,o=void 0!==r?r.value:0;if(t.wrapS=0===s?n.RepeatWrapping:n.ClampToEdgeWrapping,t.wrapT=0===o?n.RepeatWrapping:n.ClampToEdgeWrapping,"Scaling"in A){const e=A.Scaling.value;t.repeat.x=e[0],t.repeat.y=e[1]}if("Translation"in A){const e=A.Translation.value;t.offset.x=e[0],t.offset.y=e[1]}return t}loadTexture(A,e){let t;const i=this.textureLoader.path,r=z.get(A.id).children;let s;void 0!==r&&r.length>0&&void 0!==e[r[0].ID]&&(t=e[r[0].ID],0!==t.indexOf("blob:")&&0!==t.indexOf("data:")||this.textureLoader.setPath(void 0));const o=A.FileName.slice(-3).toLowerCase();if("tga"===o){const e=this.manager.getHandler(".tga");null===e?(console.warn("FBXLoader: TGA loader not found, creating placeholder texture for",A.RelativeFilename),s=new n.Texture):(e.setPath(this.textureLoader.path),s=e.load(t))}else"psd"===o?(console.warn("FBXLoader: PSD textures are not supported, creating placeholder texture for",A.RelativeFilename),s=new n.Texture):s=this.textureLoader.load(t);return this.textureLoader.setPath(i),s}parseMaterials(A){const e=new Map;if("Material"in j.Objects){const t=j.Objects.Material;for(const n in t){const i=this.parseMaterial(t[n],A);null!==i&&e.set(parseInt(n),i)}}return e}parseMaterial(A,e){const t=A.id,i=A.attrName;let r=A.ShadingModel;if("object"==typeof r&&(r=r.value),!z.has(t))return null;const s=this.parseParameters(A,e,t);let o;switch(r.toLowerCase()){case"phong":o=new n.MeshPhongMaterial;break;case"lambert":o=new n.MeshLambertMaterial;break;default:console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.',r),o=new n.MeshPhongMaterial}return o.setValues(s),o.name=i,o}parseParameters(A,e,t){const i={};A.BumpFactor&&(i.bumpScale=A.BumpFactor.value),A.Diffuse?i.color=(new n.Color).fromArray(A.Diffuse.value).convertSRGBToLinear():!A.DiffuseColor||"Color"!==A.DiffuseColor.type&&"ColorRGB"!==A.DiffuseColor.type||(i.color=(new n.Color).fromArray(A.DiffuseColor.value).convertSRGBToLinear()),A.DisplacementFactor&&(i.displacementScale=A.DisplacementFactor.value),A.Emissive?i.emissive=(new n.Color).fromArray(A.Emissive.value).convertSRGBToLinear():!A.EmissiveColor||"Color"!==A.EmissiveColor.type&&"ColorRGB"!==A.EmissiveColor.type||(i.emissive=(new n.Color).fromArray(A.EmissiveColor.value).convertSRGBToLinear()),A.EmissiveFactor&&(i.emissiveIntensity=parseFloat(A.EmissiveFactor.value)),A.Opacity&&(i.opacity=parseFloat(A.Opacity.value)),i.opacity<1&&(i.transparent=!0),A.ReflectionFactor&&(i.reflectivity=A.ReflectionFactor.value),A.Shininess&&(i.shininess=A.Shininess.value),A.Specular?i.specular=(new n.Color).fromArray(A.Specular.value).convertSRGBToLinear():A.SpecularColor&&"Color"===A.SpecularColor.type&&(i.specular=(new n.Color).fromArray(A.SpecularColor.value).convertSRGBToLinear());const r=this;return z.get(t).children.forEach((function(A){const t=A.relationship;switch(t){case"Bump":i.bumpMap=r.getTexture(e,A.ID);break;case"Maya|TEX_ao_map":i.aoMap=r.getTexture(e,A.ID);break;case"DiffuseColor":case"Maya|TEX_color_map":i.map=r.getTexture(e,A.ID),void 0!==i.map&&(i.map.colorSpace=n.SRGBColorSpace);break;case"DisplacementColor":i.displacementMap=r.getTexture(e,A.ID);break;case"EmissiveColor":i.emissiveMap=r.getTexture(e,A.ID),void 0!==i.emissiveMap&&(i.emissiveMap.colorSpace=n.SRGBColorSpace);break;case"NormalMap":case"Maya|TEX_normal_map":i.normalMap=r.getTexture(e,A.ID);break;case"ReflectionColor":i.envMap=r.getTexture(e,A.ID),void 0!==i.envMap&&(i.envMap.mapping=n.EquirectangularReflectionMapping,i.envMap.colorSpace=n.SRGBColorSpace);break;case"SpecularColor":i.specularMap=r.getTexture(e,A.ID),void 0!==i.specularMap&&(i.specularMap.colorSpace=n.SRGBColorSpace);break;case"TransparentColor":case"TransparencyFactor":i.alphaMap=r.getTexture(e,A.ID),i.transparent=!0;break;case"AmbientColor":case"ShininessExponent":case"SpecularFactor":case"VectorDisplacementColor":default:console.warn("THREE.FBXLoader: %s map is not supported in three.js, skipping texture.",t)}})),i}getTexture(A,e){return"LayeredTexture"in j.Objects&&e in j.Objects.LayeredTexture&&(console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."),e=z.get(e).children[0].ID),A.get(e)}parseDeformers(){const A={},e={};if("Deformer"in j.Objects){const t=j.Objects.Deformer;for(const n in t){const i=t[n],r=z.get(parseInt(n));if("Skin"===i.attrType){const e=this.parseSkeleton(r,t);e.ID=n,r.parents.length>1&&console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."),e.geometryID=r.parents[0].ID,A[n]=e}else if("BlendShape"===i.attrType){const A={id:n};A.rawTargets=this.parseMorphTargets(r,t),A.id=n,r.parents.length>1&&console.warn("THREE.FBXLoader: morph target attached to more than one geometry is not supported."),e[n]=A}}}return{skeletons:A,morphTargets:e}}parseSkeleton(A,e){const t=[];return A.children.forEach((function(A){const i=e[A.ID];if("Cluster"!==i.attrType)return;const r={ID:A.ID,indices:[],weights:[],transformLink:(new n.Matrix4).fromArray(i.TransformLink.a)};"Indexes"in i&&(r.indices=i.Indexes.a,r.weights=i.Weights.a),t.push(r)})),{rawBones:t,bones:[]}}parseMorphTargets(A,e){const t=[];for(let n=0;n<A.children.length;n++){const i=A.children[n],r=e[i.ID],s={name:r.attrName,initialWeight:r.DeformPercent,id:r.id,fullWeights:r.FullWeights.a};if("BlendShapeChannel"!==r.attrType)return;s.geoID=z.get(parseInt(i.ID)).children.filter((function(A){return void 0===A.relationship}))[0].ID,t.push(s)}return t}parseScene(A,e,t){v=new n.Group;const i=this.parseModels(A.skeletons,e,t),r=j.Objects.Model,s=this;i.forEach((function(A){const e=r[A.ID];s.setLookAtProperties(A,e);z.get(A.ID).parents.forEach((function(e){const t=i.get(e.ID);void 0!==t&&t.add(A)})),null===A.parent&&v.add(A)})),this.bindSkeleton(A.skeletons,e,i),this.createAmbientLight(),v.traverse((function(A){if(A.userData.transformData){A.parent&&(A.userData.transformData.parentMatrix=A.parent.matrix,A.userData.transformData.parentMatrixWorld=A.parent.matrixWorld);const e=nA(A.userData.transformData);A.applyMatrix4(e),A.updateWorldMatrix()}}));const o=(new W).parse();1===v.children.length&&v.children[0].isGroup&&(v.children[0].animations=o,v=v.children[0]),v.animations=o}parseModels(A,e,t){const i=new Map,r=j.Objects.Model;for(const s in r){const o=parseInt(s),a=r[s],B=z.get(o);let c=this.buildSkeleton(B,A,o,a.attrName);if(!c){switch(a.attrType){case"Camera":c=this.createCamera(B);break;case"Light":c=this.createLight(B);break;case"Mesh":c=this.createMesh(B,e,t);break;case"NurbsCurve":c=this.createCurve(B,e);break;case"LimbNode":case"Root":c=new n.Bone;break;case"Null":default:c=new n.Group}c.name=a.attrName?n.PropertyBinding.sanitizeNodeName(a.attrName):"",c.ID=o}this.getTransformData(c,a),i.set(o,c)}return i}buildSkeleton(A,e,t,i){let r=null;return A.parents.forEach((function(A){for(const s in e){const o=e[s];o.rawBones.forEach((function(e,s){if(e.ID===A.ID){const A=r;r=new n.Bone,r.matrixWorld.copy(e.transformLink),r.name=i?n.PropertyBinding.sanitizeNodeName(i):"",r.ID=t,o.bones[s]=r,null!==A&&r.add(A)}}))}})),r}createCamera(A){let e,t;if(A.children.forEach((function(A){const e=j.Objects.NodeAttribute[A.ID];void 0!==e&&(t=e)})),void 0===t)e=new n.Object3D;else{let A=0;void 0!==t.CameraProjectionType&&1===t.CameraProjectionType.value&&(A=1);let i=1;void 0!==t.NearPlane&&(i=t.NearPlane.value/1e3);let r=1e3;void 0!==t.FarPlane&&(r=t.FarPlane.value/1e3);let s=window.innerWidth,o=window.innerHeight;void 0!==t.AspectWidth&&void 0!==t.AspectHeight&&(s=t.AspectWidth.value,o=t.AspectHeight.value);const a=s/o;let B=45;void 0!==t.FieldOfView&&(B=t.FieldOfView.value);const c=t.FocalLength?t.FocalLength.value:null;switch(A){case 0:e=new n.PerspectiveCamera(B,a,i,r),null!==c&&e.setFocalLength(c);break;case 1:e=new n.OrthographicCamera(-s/2,s/2,o/2,-o/2,i,r);break;default:console.warn("THREE.FBXLoader: Unknown camera type "+A+"."),e=new n.Object3D}}return e}createLight(A){let e,t;if(A.children.forEach((function(A){const e=j.Objects.NodeAttribute[A.ID];void 0!==e&&(t=e)})),void 0===t)e=new n.Object3D;else{let A;A=void 0===t.LightType?0:t.LightType.value;let i=16777215;void 0!==t.Color&&(i=(new n.Color).fromArray(t.Color.value).convertSRGBToLinear());let r=void 0===t.Intensity?1:t.Intensity.value/100;void 0!==t.CastLightOnObject&&0===t.CastLightOnObject.value&&(r=0);let s=0;void 0!==t.FarAttenuationEnd&&(s=void 0!==t.EnableFarAttenuation&&0===t.EnableFarAttenuation.value?0:t.FarAttenuationEnd.value);const o=1;switch(A){case 0:e=new n.PointLight(i,r,s,o);break;case 1:e=new n.DirectionalLight(i,r);break;case 2:let A=Math.PI/3;void 0!==t.InnerAngle&&(A=n.MathUtils.degToRad(t.InnerAngle.value));let a=0;void 0!==t.OuterAngle&&(a=n.MathUtils.degToRad(t.OuterAngle.value),a=Math.max(a,1)),e=new n.SpotLight(i,r,s,A,a,o);break;default:console.warn("THREE.FBXLoader: Unknown light type "+t.LightType.value+", defaulting to a PointLight."),e=new n.PointLight(i,r)}void 0!==t.CastShadows&&1===t.CastShadows.value&&(e.castShadow=!0)}return e}createMesh(A,e,t){let i,r=null,s=null;const o=[];return A.children.forEach((function(A){e.has(A.ID)&&(r=e.get(A.ID)),t.has(A.ID)&&o.push(t.get(A.ID))})),o.length>1?s=o:o.length>0?s=o[0]:(s=new n.MeshPhongMaterial({color:13421772}),o.push(s)),"color"in r.attributes&&o.forEach((function(A){A.vertexColors=!0})),r.FBX_Deformer?(i=new n.SkinnedMesh(r,s),i.normalizeSkinWeights()):i=new n.Mesh(r,s),i}createCurve(A,e){const t=A.children.reduce((function(A,t){return e.has(t.ID)&&(A=e.get(t.ID)),A}),null),i=new n.LineBasicMaterial({color:3342591,linewidth:1});return new n.Line(t,i)}getTransformData(A,e){const t={};"InheritType"in e&&(t.inheritType=parseInt(e.InheritType.value)),t.eulerOrder="RotationOrder"in e?iA(e.RotationOrder.value):"ZYX","Lcl_Translation"in e&&(t.translation=e.Lcl_Translation.value),"PreRotation"in e&&(t.preRotation=e.PreRotation.value),"Lcl_Rotation"in e&&(t.rotation=e.Lcl_Rotation.value),"PostRotation"in e&&(t.postRotation=e.PostRotation.value),"Lcl_Scaling"in e&&(t.scale=e.Lcl_Scaling.value),"ScalingOffset"in e&&(t.scalingOffset=e.ScalingOffset.value),"ScalingPivot"in e&&(t.scalingPivot=e.ScalingPivot.value),"RotationOffset"in e&&(t.rotationOffset=e.RotationOffset.value),"RotationPivot"in e&&(t.rotationPivot=e.RotationPivot.value),A.userData.transformData=t}setLookAtProperties(A,e){if("LookAtProperty"in e){z.get(A.ID).children.forEach((function(e){if("LookAtProperty"===e.relationship){const t=j.Objects.Model[e.ID];if("Lcl_Translation"in t){const e=t.Lcl_Translation.value;void 0!==A.target?(A.target.position.fromArray(e),v.add(A.target)):A.lookAt((new n.Vector3).fromArray(e))}}}))}}bindSkeleton(A,e,t){const i=this.parsePoseNodes();for(const r in A){const s=A[r];z.get(parseInt(s.ID)).parents.forEach((function(A){if(e.has(A.ID)){const e=A.ID;z.get(e).parents.forEach((function(A){if(t.has(A.ID)){t.get(A.ID).bind(new n.Skeleton(s.bones),i[A.ID])}}))}}))}}parsePoseNodes(){const A={};if("Pose"in j.Objects){const e=j.Objects.Pose;for(const t in e)if("BindPose"===e[t].attrType&&e[t].NbPoseNodes>0){const i=e[t].PoseNode;Array.isArray(i)?i.forEach((function(e){A[e.Node]=(new n.Matrix4).fromArray(e.Matrix.a)})):A[i.Node]=(new n.Matrix4).fromArray(i.Matrix.a)}}return A}createAmbientLight(){if("GlobalSettings"in j&&"AmbientColor"in j.GlobalSettings){const A=j.GlobalSettings.AmbientColor.value,e=A[0],t=A[1],i=A[2];if(0!==e||0!==t||0!==i){const A=new n.Color(e,t,i).convertSRGBToLinear();v.add(new n.AmbientLight(A,1))}}}}class O{constructor(){this.negativeMaterialIndices=!1}parse(A){const e=new Map;if("Geometry"in j.Objects){const t=j.Objects.Geometry;for(const n in t){const i=z.get(parseInt(n)),r=this.parseGeometry(i,t[n],A);e.set(parseInt(n),r)}}return!0===this.negativeMaterialIndices&&console.warn("THREE.FBXLoader: The FBX file contains invalid (negative) material indices. The asset might not render as expected."),e}parseGeometry(A,e,t){switch(e.attrType){case"Mesh":return this.parseMeshGeometry(A,e,t);case"NurbsCurve":return this.parseNurbsGeometry(e)}}parseMeshGeometry(A,e,t){const n=t.skeletons,i=[],r=A.parents.map((function(A){return j.Objects.Model[A.ID]}));if(0===r.length)return;const s=A.children.reduce((function(A,e){return void 0!==n[e.ID]&&(A=n[e.ID]),A}),null);A.children.forEach((function(A){void 0!==t.morphTargets[A.ID]&&i.push(t.morphTargets[A.ID])}));const o=r[0],a={};"RotationOrder"in o&&(a.eulerOrder=iA(o.RotationOrder.value)),"InheritType"in o&&(a.inheritType=parseInt(o.InheritType.value)),"GeometricTranslation"in o&&(a.translation=o.GeometricTranslation.value),"GeometricRotation"in o&&(a.rotation=o.GeometricRotation.value),"GeometricScaling"in o&&(a.scale=o.GeometricScaling.value);const B=nA(a);return this.genGeometry(e,s,i,B)}genGeometry(A,e,t,i){const r=new n.BufferGeometry;A.attrName&&(r.name=A.attrName);const s=this.parseGeoNode(A,e),o=this.genBuffers(s),a=new n.Float32BufferAttribute(o.vertex,3);if(a.applyMatrix4(i),r.setAttribute("position",a),o.colors.length>0&&r.setAttribute("color",new n.Float32BufferAttribute(o.colors,3)),e&&(r.setAttribute("skinIndex",new n.Uint16BufferAttribute(o.weightsIndices,4)),r.setAttribute("skinWeight",new n.Float32BufferAttribute(o.vertexWeights,4)),r.FBX_Deformer=e),o.normal.length>0){const A=(new n.Matrix3).getNormalMatrix(i),e=new n.Float32BufferAttribute(o.normal,3);e.applyNormalMatrix(A),r.setAttribute("normal",e)}if(o.uvs.forEach((function(A,e){const t=0===e?"uv":"uv"+e;r.setAttribute(t,new n.Float32BufferAttribute(o.uvs[e],2))})),s.material&&"AllSame"!==s.material.mappingType){let A=o.materialIndex[0],e=0;if(o.materialIndex.forEach((function(t,n){t!==A&&(r.addGroup(e,n-e,A),A=t,e=n)})),r.groups.length>0){const e=r.groups[r.groups.length-1],t=e.start+e.count;t!==o.materialIndex.length&&r.addGroup(t,o.materialIndex.length-t,A)}0===r.groups.length&&r.addGroup(0,o.materialIndex.length,o.materialIndex[0])}return this.addMorphTargets(r,A,t,i),r}parseGeoNode(A,e){const t={};if(t.vertexPositions=void 0!==A.Vertices?A.Vertices.a:[],t.vertexIndices=void 0!==A.PolygonVertexIndex?A.PolygonVertexIndex.a:[],A.LayerElementColor&&(t.color=this.parseVertexColors(A.LayerElementColor[0])),A.LayerElementMaterial&&(t.material=this.parseMaterialIndices(A.LayerElementMaterial[0])),A.LayerElementNormal&&(t.normal=this.parseNormals(A.LayerElementNormal[0])),A.LayerElementUV){t.uv=[];let e=0;for(;A.LayerElementUV[e];)A.LayerElementUV[e].UV&&t.uv.push(this.parseUVs(A.LayerElementUV[e])),e++}return t.weightTable={},null!==e&&(t.skeleton=e,e.rawBones.forEach((function(A,e){A.indices.forEach((function(n,i){void 0===t.weightTable[n]&&(t.weightTable[n]=[]),t.weightTable[n].push({id:e,weight:A.weights[i]})}))}))),t}genBuffers(A){const e={vertex:[],normal:[],colors:[],uvs:[],materialIndex:[],vertexWeights:[],weightsIndices:[]};let t=0,n=0,i=!1,r=[],s=[],o=[],a=[],B=[],c=[];const g=this;return A.vertexIndices.forEach((function(Q,E){let l,u=!1;Q<0&&(Q^=-1,u=!0);let w=[],h=[];if(r.push(3*Q,3*Q+1,3*Q+2),A.color){const e=AA(E,t,Q,A.color);o.push(e[0],e[1],e[2])}if(A.skeleton){if(void 0!==A.weightTable[Q]&&A.weightTable[Q].forEach((function(A){h.push(A.weight),w.push(A.id)})),h.length>4){i||(console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."),i=!0);const A=[0,0,0,0],e=[0,0,0,0];h.forEach((function(t,n){let i=t,r=w[n];e.forEach((function(e,t,n){if(i>e){n[t]=i,i=e;const s=A[t];A[t]=r,r=s}}))})),w=A,h=e}for(;h.length<4;)h.push(0),w.push(0);for(let A=0;A<4;++A)B.push(h[A]),c.push(w[A])}if(A.normal){const e=AA(E,t,Q,A.normal);s.push(e[0],e[1],e[2])}A.material&&"AllSame"!==A.material.mappingType&&(l=AA(E,t,Q,A.material)[0],l<0&&(g.negativeMaterialIndices=!0,l=0)),A.uv&&A.uv.forEach((function(A,e){const n=AA(E,t,Q,A);void 0===a[e]&&(a[e]=[]),a[e].push(n[0]),a[e].push(n[1])})),n++,u&&(n>4&&console.warn("THREE.FBXLoader: Polygons with more than four sides are not supported. Make sure to triangulate the geometry during export."),g.genFace(e,A,r,l,s,o,a,B,c,n),t++,n=0,r=[],s=[],o=[],a=[],B=[],c=[])})),e}genFace(A,e,t,n,i,r,s,o,a,B){for(let c=2;c<B;c++)A.vertex.push(e.vertexPositions[t[0]]),A.vertex.push(e.vertexPositions[t[1]]),A.vertex.push(e.vertexPositions[t[2]]),A.vertex.push(e.vertexPositions[t[3*(c-1)]]),A.vertex.push(e.vertexPositions[t[3*(c-1)+1]]),A.vertex.push(e.vertexPositions[t[3*(c-1)+2]]),A.vertex.push(e.vertexPositions[t[3*c]]),A.vertex.push(e.vertexPositions[t[3*c+1]]),A.vertex.push(e.vertexPositions[t[3*c+2]]),e.skeleton&&(A.vertexWeights.push(o[0]),A.vertexWeights.push(o[1]),A.vertexWeights.push(o[2]),A.vertexWeights.push(o[3]),A.vertexWeights.push(o[4*(c-1)]),A.vertexWeights.push(o[4*(c-1)+1]),A.vertexWeights.push(o[4*(c-1)+2]),A.vertexWeights.push(o[4*(c-1)+3]),A.vertexWeights.push(o[4*c]),A.vertexWeights.push(o[4*c+1]),A.vertexWeights.push(o[4*c+2]),A.vertexWeights.push(o[4*c+3]),A.weightsIndices.push(a[0]),A.weightsIndices.push(a[1]),A.weightsIndices.push(a[2]),A.weightsIndices.push(a[3]),A.weightsIndices.push(a[4*(c-1)]),A.weightsIndices.push(a[4*(c-1)+1]),A.weightsIndices.push(a[4*(c-1)+2]),A.weightsIndices.push(a[4*(c-1)+3]),A.weightsIndices.push(a[4*c]),A.weightsIndices.push(a[4*c+1]),A.weightsIndices.push(a[4*c+2]),A.weightsIndices.push(a[4*c+3])),e.color&&(A.colors.push(r[0]),A.colors.push(r[1]),A.colors.push(r[2]),A.colors.push(r[3*(c-1)]),A.colors.push(r[3*(c-1)+1]),A.colors.push(r[3*(c-1)+2]),A.colors.push(r[3*c]),A.colors.push(r[3*c+1]),A.colors.push(r[3*c+2])),e.material&&"AllSame"!==e.material.mappingType&&(A.materialIndex.push(n),A.materialIndex.push(n),A.materialIndex.push(n)),e.normal&&(A.normal.push(i[0]),A.normal.push(i[1]),A.normal.push(i[2]),A.normal.push(i[3*(c-1)]),A.normal.push(i[3*(c-1)+1]),A.normal.push(i[3*(c-1)+2]),A.normal.push(i[3*c]),A.normal.push(i[3*c+1]),A.normal.push(i[3*c+2])),e.uv&&e.uv.forEach((function(e,t){void 0===A.uvs[t]&&(A.uvs[t]=[]),A.uvs[t].push(s[t][0]),A.uvs[t].push(s[t][1]),A.uvs[t].push(s[t][2*(c-1)]),A.uvs[t].push(s[t][2*(c-1)+1]),A.uvs[t].push(s[t][2*c]),A.uvs[t].push(s[t][2*c+1])}))}addMorphTargets(A,e,t,n){if(0===t.length)return;A.morphTargetsRelative=!0,A.morphAttributes.position=[];const i=this;t.forEach((function(t){t.rawTargets.forEach((function(t){const r=j.Objects.Geometry[t.geoID];void 0!==r&&i.genMorphGeometry(A,e,r,n,t.name)}))}))}genMorphGeometry(A,e,t,i,r){const s=void 0!==e.PolygonVertexIndex?e.PolygonVertexIndex.a:[],o=void 0!==t.Vertices?t.Vertices.a:[],a=void 0!==t.Indexes?t.Indexes.a:[],B=3*A.attributes.position.count,c=new Float32Array(B);for(let A=0;A<a.length;A++){const e=3*a[A];c[e]=o[3*A],c[e+1]=o[3*A+1],c[e+2]=o[3*A+2]}const g={vertexIndices:s,vertexPositions:c},Q=this.genBuffers(g),E=new n.Float32BufferAttribute(Q.vertex,3);E.name=r||t.attrName,E.applyMatrix4(i),A.morphAttributes.position.push(E)}parseNormals(A){const e=A.MappingInformationType,t=A.ReferenceInformationType,n=A.Normals.a;let i=[];return"IndexToDirect"===t&&("NormalIndex"in A?i=A.NormalIndex.a:"NormalsIndex"in A&&(i=A.NormalsIndex.a)),{dataSize:3,buffer:n,indices:i,mappingType:e,referenceType:t}}parseUVs(A){const e=A.MappingInformationType,t=A.ReferenceInformationType,n=A.UV.a;let i=[];return"IndexToDirect"===t&&(i=A.UVIndex.a),{dataSize:2,buffer:n,indices:i,mappingType:e,referenceType:t}}parseVertexColors(A){const e=A.MappingInformationType,t=A.ReferenceInformationType,i=A.Colors.a;let r=[];"IndexToDirect"===t&&(r=A.ColorIndex.a);for(let A=0,e=new n.Color;A<i.length;A+=4)e.fromArray(i,A).convertSRGBToLinear().toArray(i,A);return{dataSize:4,buffer:i,indices:r,mappingType:e,referenceType:t}}parseMaterialIndices(A){const e=A.MappingInformationType,t=A.ReferenceInformationType;if("NoMappingInformation"===e)return{dataSize:1,buffer:[0],indices:[0],mappingType:"AllSame",referenceType:t};const n=A.Materials.a,i=[];for(let A=0;A<n.length;++A)i.push(A);return{dataSize:1,buffer:n,indices:i,mappingType:e,referenceType:t}}parseNurbsGeometry(A){const e=parseInt(A.Order);if(isNaN(e))return console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s",A.Order,A.id),new n.BufferGeometry;const t=e-1,i=A.KnotVector.a,r=[],s=A.Points.a;for(let A=0,e=s.length;A<e;A+=4)r.push((new n.Vector4).fromArray(s,A));let o,a;if("Closed"===A.Form)r.push(r[0]);else if("Periodic"===A.Form){o=t,a=i.length-1-o;for(let A=0;A<t;++A)r.push(r[A])}const B=new J(t,i,r,o,a).getPoints(12*r.length);return(new n.BufferGeometry).setFromPoints(B)}}class W{parse(){const A=[],e=this.parseClips();if(void 0!==e)for(const t in e){const n=e[t],i=this.addClip(n);A.push(i)}return A}parseClips(){if(void 0===j.Objects.AnimationCurve)return;const A=this.parseAnimationCurveNodes();this.parseAnimationCurves(A);const e=this.parseAnimationLayers(A);return this.parseAnimStacks(e)}parseAnimationCurveNodes(){const A=j.Objects.AnimationCurveNode,e=new Map;for(const t in A){const n=A[t];if(null!==n.attrName.match(/S|R|T|DeformPercent/)){const A={id:n.id,attr:n.attrName,curves:{}};e.set(A.id,A)}}return e}parseAnimationCurves(A){const e=j.Objects.AnimationCurve;for(const t in e){const n={id:e[t].id,times:e[t].KeyTime.a.map(q),values:e[t].KeyValueFloat.a},i=z.get(n.id);if(void 0!==i){const e=i.parents[0].ID,t=i.parents[0].relationship;t.match(/X/)?A.get(e).curves.x=n:t.match(/Y/)?A.get(e).curves.y=n:t.match(/Z/)?A.get(e).curves.z=n:t.match(/DeformPercent/)&&A.has(e)&&(A.get(e).curves.morph=n)}}}parseAnimationLayers(A){const e=j.Objects.AnimationLayer,t=new Map;for(const i in e){const e=[],r=z.get(parseInt(i));if(void 0!==r){r.children.forEach((function(t,i){if(A.has(t.ID)){const r=A.get(t.ID);if(void 0!==r.curves.x||void 0!==r.curves.y||void 0!==r.curves.z){if(void 0===e[i]){const A=z.get(t.ID).parents.filter((function(A){return void 0!==A.relationship}))[0].ID;if(void 0!==A){const r=j.Objects.Model[A.toString()];if(void 0===r)return void console.warn("THREE.FBXLoader: Encountered a unused curve.",t);const s={modelName:r.attrName?n.PropertyBinding.sanitizeNodeName(r.attrName):"",ID:r.id,initialPosition:[0,0,0],initialRotation:[0,0,0],initialScale:[1,1,1]};v.traverse((function(A){A.ID===r.id&&(s.transform=A.matrix,A.userData.transformData&&(s.eulerOrder=A.userData.transformData.eulerOrder))})),s.transform||(s.transform=new n.Matrix4),"PreRotation"in r&&(s.preRotation=r.PreRotation.value),"PostRotation"in r&&(s.postRotation=r.PostRotation.value),e[i]=s}}e[i]&&(e[i][r.attr]=r)}else if(void 0!==r.curves.morph){if(void 0===e[i]){const A=z.get(t.ID).parents.filter((function(A){return void 0!==A.relationship}))[0].ID,r=z.get(A).parents[0].ID,s=z.get(r).parents[0].ID,o=z.get(s).parents[0].ID,a=j.Objects.Model[o],B={modelName:a.attrName?n.PropertyBinding.sanitizeNodeName(a.attrName):"",morphName:j.Objects.Deformer[A].attrName};e[i]=B}e[i][r.attr]=r}}})),t.set(parseInt(i),e)}}return t}parseAnimStacks(A){const e=j.Objects.AnimationStack,t={};for(const n in e){const i=z.get(parseInt(n)).children;i.length>1&&console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.");const r=A.get(i[0].ID);t[n]={name:e[n].attrName,layer:r}}return t}addClip(A){let e=[];const t=this;return A.layer.forEach((function(A){e=e.concat(t.generateTracks(A))})),new n.AnimationClip(A.name,-1,e)}generateTracks(A){const e=[];let t=new n.Vector3,i=new n.Quaternion,r=new n.Vector3;if(A.transform&&A.transform.decompose(t,i,r),t=t.toArray(),i=(new n.Euler).setFromQuaternion(i,A.eulerOrder).toArray(),r=r.toArray(),void 0!==A.T&&Object.keys(A.T.curves).length>0){const n=this.generateVectorTrack(A.modelName,A.T.curves,t,"position");void 0!==n&&e.push(n)}if(void 0!==A.R&&Object.keys(A.R.curves).length>0){const t=this.generateRotationTrack(A.modelName,A.R.curves,i,A.preRotation,A.postRotation,A.eulerOrder);void 0!==t&&e.push(t)}if(void 0!==A.S&&Object.keys(A.S.curves).length>0){const t=this.generateVectorTrack(A.modelName,A.S.curves,r,"scale");void 0!==t&&e.push(t)}if(void 0!==A.DeformPercent){const t=this.generateMorphTrack(A);void 0!==t&&e.push(t)}return e}generateVectorTrack(A,e,t,i){const r=this.getTimesForAllAxes(e),s=this.getKeyframeTrackValues(r,e,t);return new n.VectorKeyframeTrack(A+"."+i,r,s)}generateRotationTrack(A,e,t,i,r,s){void 0!==e.x&&(this.interpolateRotations(e.x),e.x.values=e.x.values.map(n.MathUtils.degToRad)),void 0!==e.y&&(this.interpolateRotations(e.y),e.y.values=e.y.values.map(n.MathUtils.degToRad)),void 0!==e.z&&(this.interpolateRotations(e.z),e.z.values=e.z.values.map(n.MathUtils.degToRad));const o=this.getTimesForAllAxes(e),a=this.getKeyframeTrackValues(o,e,t);void 0!==i&&((i=i.map(n.MathUtils.degToRad)).push(s),i=(new n.Euler).fromArray(i),i=(new n.Quaternion).setFromEuler(i)),void 0!==r&&((r=r.map(n.MathUtils.degToRad)).push(s),r=(new n.Euler).fromArray(r),r=(new n.Quaternion).setFromEuler(r).invert());const B=new n.Quaternion,c=new n.Euler,g=[];for(let A=0;A<a.length;A+=3)c.set(a[A],a[A+1],a[A+2],s),B.setFromEuler(c),void 0!==i&&B.premultiply(i),void 0!==r&&B.multiply(r),B.toArray(g,A/3*4);return new n.QuaternionKeyframeTrack(A+".quaternion",o,g)}generateMorphTrack(A){const e=A.DeformPercent.curves.morph,t=e.values.map((function(A){return A/100})),i=v.getObjectByName(A.modelName).morphTargetDictionary[A.morphName];return new n.NumberKeyframeTrack(A.modelName+".morphTargetInfluences["+i+"]",e.times,t)}getTimesForAllAxes(A){let e=[];if(void 0!==A.x&&(e=e.concat(A.x.times)),void 0!==A.y&&(e=e.concat(A.y.times)),void 0!==A.z&&(e=e.concat(A.z.times)),e=e.sort((function(A,e){return A-e})),e.length>1){let A=1,t=e[0];for(let n=1;n<e.length;n++){const i=e[n];i!==t&&(e[A]=i,t=i,A++)}e=e.slice(0,A)}return e}getKeyframeTrackValues(A,e,t){const n=t,i=[];let r=-1,s=-1,o=-1;return A.forEach((function(A){if(e.x&&(r=e.x.times.indexOf(A)),e.y&&(s=e.y.times.indexOf(A)),e.z&&(o=e.z.times.indexOf(A)),-1!==r){const A=e.x.values[r];i.push(A),n[0]=A}else i.push(n[0]);if(-1!==s){const A=e.y.values[s];i.push(A),n[1]=A}else i.push(n[1]);if(-1!==o){const A=e.z.values[o];i.push(A),n[2]=A}else i.push(n[2])})),i}interpolateRotations(A){for(let e=1;e<A.values.length;e++){const t=A.values[e-1],n=A.values[e]-t,i=Math.abs(n);if(i>=180){const r=i/180,s=n/r;let o=t+s;const a=A.times[e-1],B=(A.times[e]-a)/r;let c=a+B;const g=[],Q=[];for(;c<A.times[e];)g.push(c),c+=B,Q.push(o),o+=s;A.times=oA(A.times,e,g),A.values=oA(A.values,e,Q)}}}}class V{getPrevNode(){return this.nodeStack[this.currentIndent-2]}getCurrentNode(){return this.nodeStack[this.currentIndent-1]}getCurrentProp(){return this.currentProp}pushStack(A){this.nodeStack.push(A),this.currentIndent+=1}popStack(){this.nodeStack.pop(),this.currentIndent-=1}setCurrentProp(A,e){this.currentProp=A,this.currentPropName=e}parse(A){this.currentIndent=0,this.allNodes=new Z,this.nodeStack=[],this.currentProp=[],this.currentPropName="";const e=this,t=A.split(/[\r\n]+/);return t.forEach((function(A,n){const i=A.match(/^[\s\t]*;/),r=A.match(/^[\s\t]*$/);if(i||r)return;const s=A.match("^\\t{"+e.currentIndent+"}(\\w+):(.*){",""),o=A.match("^\\t{"+e.currentIndent+"}(\\w+):[\\s\\t\\r\\n](.*)"),a=A.match("^\\t{"+(e.currentIndent-1)+"}}");s?e.parseNodeBegin(A,s):o?e.parseNodeProperty(A,o,t[++n]):a?e.popStack():A.match(/^[^\s\t}]/)&&e.parseNodePropertyContinued(A)})),this.allNodes}parseNodeBegin(A,e){const t=e[1].trim().replace(/^"/,"").replace(/"$/,""),n=e[2].split(",").map((function(A){return A.trim().replace(/^"/,"").replace(/"$/,"")})),i={name:t},r=this.parseNodeAttr(n),s=this.getCurrentNode();0===this.currentIndent?this.allNodes.add(t,i):t in s?("PoseNode"===t?s.PoseNode.push(i):void 0!==s[t].id&&(s[t]={},s[t][s[t].id]=s[t]),""!==r.id&&(s[t][r.id]=i)):"number"==typeof r.id?(s[t]={},s[t][r.id]=i):"Properties70"!==t&&(s[t]="PoseNode"===t?[i]:i),"number"==typeof r.id&&(i.id=r.id),""!==r.name&&(i.attrName=r.name),""!==r.type&&(i.attrType=r.type),this.pushStack(i)}parseNodeAttr(A){let e=A[0];""!==A[0]&&(e=parseInt(A[0]),isNaN(e)&&(e=A[0]));let t="",n="";return A.length>1&&(t=A[1].replace(/^(\w+)::/,""),n=A[2]),{id:e,name:t,type:n}}parseNodeProperty(A,e,t){let n=e[1].replace(/^"/,"").replace(/"$/,"").trim(),i=e[2].replace(/^"/,"").replace(/"$/,"").trim();"Content"===n&&","===i&&(i=t.replace(/"/g,"").replace(/,$/,"").trim());const r=this.getCurrentNode();if("Properties70"!==r.name){if("C"===n){const A=i.split(",").slice(1),e=parseInt(A[0]),t=parseInt(A[1]);let s=i.split(",").slice(3);s=s.map((function(A){return A.trim().replace(/^"/,"")})),n="connections",i=[e,t],function(A,e){for(let t=0,n=A.length,i=e.length;t<i;t++,n++)A[n]=e[t]}(i,s),void 0===r[n]&&(r[n]=[])}"Node"===n&&(r.id=i),n in r&&Array.isArray(r[n])?r[n].push(i):"a"!==n?r[n]=i:r.a=i,this.setCurrentProp(r,n),"a"===n&&","!==i.slice(-1)&&(r.a=rA(i))}else this.parseNodeSpecialProperty(A,n,i)}parseNodePropertyContinued(A){const e=this.getCurrentNode();e.a+=A,","!==A.slice(-1)&&(e.a=rA(e.a))}parseNodeSpecialProperty(A,e,t){const n=t.split('",').map((function(A){return A.trim().replace(/^\"/,"").replace(/\s/,"_")})),i=n[0],r=n[1],s=n[2],o=n[3];let a=n[4];switch(r){case"int":case"enum":case"bool":case"ULongLong":case"double":case"Number":case"FieldOfView":a=parseFloat(a);break;case"Color":case"ColorRGB":case"Vector3D":case"Lcl_Translation":case"Lcl_Rotation":case"Lcl_Scaling":a=rA(a)}this.getPrevNode()[i]={type:r,type2:s,flag:o,value:a},this.setCurrentProp(this.getPrevNode(),i)}}class K{parse(A){const e=new X(A);e.skip(23);const t=e.getUint32();if(t<6400)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+t);const n=new Z;for(;!this.endOfContent(e);){const A=this.parseNode(e,t);null!==A&&n.add(A.name,A)}return n}endOfContent(A){return A.size()%16==0?(A.getOffset()+160+16&-16)>=A.size():A.getOffset()+160+16>=A.size()}parseNode(A,e){const t={},n=e>=7500?A.getUint64():A.getUint32(),i=e>=7500?A.getUint64():A.getUint32();e>=7500?A.getUint64():A.getUint32();const r=A.getUint8(),s=A.getString(r);if(0===n)return null;const o=[];for(let e=0;e<i;e++)o.push(this.parseProperty(A));const a=o.length>0?o[0]:"",B=o.length>1?o[1]:"",c=o.length>2?o[2]:"";for(t.singleProperty=1===i&&A.getOffset()===n;n>A.getOffset();){const n=this.parseNode(A,e);null!==n&&this.parseSubNode(s,t,n)}return t.propertyList=o,"number"==typeof a&&(t.id=a),""!==B&&(t.attrName=B),""!==c&&(t.attrType=c),""!==s&&(t.name=s),t}parseSubNode(A,e,t){if(!0===t.singleProperty){const A=t.propertyList[0];Array.isArray(A)?(e[t.name]=t,t.a=A):e[t.name]=A}else if("Connections"===A&&"C"===t.name){const A=[];t.propertyList.forEach((function(e,t){0!==t&&A.push(e)})),void 0===e.connections&&(e.connections=[]),e.connections.push(A)}else if("Properties70"===t.name){Object.keys(t).forEach((function(A){e[A]=t[A]}))}else if("Properties70"===A&&"P"===t.name){let A=t.propertyList[0],n=t.propertyList[1];const i=t.propertyList[2],r=t.propertyList[3];let s;0===A.indexOf("Lcl ")&&(A=A.replace("Lcl ","Lcl_")),0===n.indexOf("Lcl ")&&(n=n.replace("Lcl ","Lcl_")),s="Color"===n||"ColorRGB"===n||"Vector"===n||"Vector3D"===n||0===n.indexOf("Lcl_")?[t.propertyList[4],t.propertyList[5],t.propertyList[6]]:t.propertyList[4],e[A]={type:n,type2:i,flag:r,value:s}}else void 0===e[t.name]?"number"==typeof t.id?(e[t.name]={},e[t.name][t.id]=t):e[t.name]=t:"PoseNode"===t.name?(Array.isArray(e[t.name])||(e[t.name]=[e[t.name]]),e[t.name].push(t)):void 0===e[t.name][t.id]&&(e[t.name][t.id]=t)}parseProperty(A){const e=A.getString(1);let t;switch(e){case"C":return A.getBoolean();case"D":return A.getFloat64();case"F":return A.getFloat32();case"I":return A.getInt32();case"L":return A.getInt64();case"R":return t=A.getUint32(),A.getArrayBuffer(t);case"S":return t=A.getUint32(),A.getString(t);case"Y":return A.getInt16();case"b":case"c":case"d":case"f":case"i":case"l":const n=A.getUint32(),i=A.getUint32(),r=A.getUint32();if(0===i)switch(e){case"b":case"c":return A.getBooleanArray(n);case"d":return A.getFloat64Array(n);case"f":return A.getFloat32Array(n);case"i":return A.getInt32Array(n);case"l":return A.getInt64Array(n)}const s=R(new Uint8Array(A.getArrayBuffer(r))),o=new X(s.buffer);switch(e){case"b":case"c":return o.getBooleanArray(n);case"d":return o.getFloat64Array(n);case"f":return o.getFloat32Array(n);case"i":return o.getInt32Array(n);case"l":return o.getInt64Array(n)}break;default:throw new Error("THREE.FBXLoader: Unknown property type "+e)}}}class X{constructor(A,e){this.dv=new DataView(A),this.offset=0,this.littleEndian=void 0===e||e,this._textDecoder=new TextDecoder}getOffset(){return this.offset}size(){return this.dv.buffer.byteLength}skip(A){this.offset+=A}getBoolean(){return 1==(1&this.getUint8())}getBooleanArray(A){const e=[];for(let t=0;t<A;t++)e.push(this.getBoolean());return e}getUint8(){const A=this.dv.getUint8(this.offset);return this.offset+=1,A}getInt16(){const A=this.dv.getInt16(this.offset,this.littleEndian);return this.offset+=2,A}getInt32(){const A=this.dv.getInt32(this.offset,this.littleEndian);return this.offset+=4,A}getInt32Array(A){const e=[];for(let t=0;t<A;t++)e.push(this.getInt32());return e}getUint32(){const A=this.dv.getUint32(this.offset,this.littleEndian);return this.offset+=4,A}getInt64(){let A,e;return this.littleEndian?(A=this.getUint32(),e=this.getUint32()):(e=this.getUint32(),A=this.getUint32()),2147483648&e?(e=4294967295&~e,A=4294967295&~A,4294967295===A&&(e=e+1&4294967295),A=A+1&4294967295,-(4294967296*e+A)):4294967296*e+A}getInt64Array(A){const e=[];for(let t=0;t<A;t++)e.push(this.getInt64());return e}getUint64(){let A,e;return this.littleEndian?(A=this.getUint32(),e=this.getUint32()):(e=this.getUint32(),A=this.getUint32()),4294967296*e+A}getFloat32(){const A=this.dv.getFloat32(this.offset,this.littleEndian);return this.offset+=4,A}getFloat32Array(A){const e=[];for(let t=0;t<A;t++)e.push(this.getFloat32());return e}getFloat64(){const A=this.dv.getFloat64(this.offset,this.littleEndian);return this.offset+=8,A}getFloat64Array(A){const e=[];for(let t=0;t<A;t++)e.push(this.getFloat64());return e}getArrayBuffer(A){const e=this.dv.buffer.slice(this.offset,this.offset+A);return this.offset+=A,e}getString(A){const e=this.offset;let t=new Uint8Array(this.dv.buffer,e,A);this.skip(A);const n=t.indexOf(0);return n>=0&&(t=new Uint8Array(this.dv.buffer,e,n)),this._textDecoder.decode(t)}}class Z{add(A,e){this[A]=e}}function _(A){const e=A.match(/FBXVersion: (\d+)/);if(e){return parseInt(e[1])}throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.")}function q(A){return A/46186158e3}const $=[];function AA(A,e,t,n){let i;switch(n.mappingType){case"ByPolygonVertex":i=A;break;case"ByPolygon":i=e;break;case"ByVertice":i=t;break;case"AllSame":i=n.indices[0];break;default:console.warn("THREE.FBXLoader: unknown attribute mapping type "+n.mappingType)}"IndexToDirect"===n.referenceType&&(i=n.indices[i]);const r=i*n.dataSize,s=r+n.dataSize;return function(A,e,t,n){for(let i=t,r=0;i<n;i++,r++)A[r]=e[i];return A}($,n.buffer,r,s)}const eA=new n.Euler,tA=new n.Vector3;function nA(A){const e=new n.Matrix4,t=new n.Matrix4,i=new n.Matrix4,r=new n.Matrix4,s=new n.Matrix4,o=new n.Matrix4,a=new n.Matrix4,B=new n.Matrix4,c=new n.Matrix4,g=new n.Matrix4,Q=new n.Matrix4,E=new n.Matrix4,l=A.inheritType?A.inheritType:0;if(A.translation&&e.setPosition(tA.fromArray(A.translation)),A.preRotation){const e=A.preRotation.map(n.MathUtils.degToRad);e.push(A.eulerOrder||n.Euler.DEFAULT_ORDER),t.makeRotationFromEuler(eA.fromArray(e))}if(A.rotation){const e=A.rotation.map(n.MathUtils.degToRad);e.push(A.eulerOrder||n.Euler.DEFAULT_ORDER),i.makeRotationFromEuler(eA.fromArray(e))}if(A.postRotation){const e=A.postRotation.map(n.MathUtils.degToRad);e.push(A.eulerOrder||n.Euler.DEFAULT_ORDER),r.makeRotationFromEuler(eA.fromArray(e)),r.invert()}A.scale&&s.scale(tA.fromArray(A.scale)),A.scalingOffset&&a.setPosition(tA.fromArray(A.scalingOffset)),A.scalingPivot&&o.setPosition(tA.fromArray(A.scalingPivot)),A.rotationOffset&&B.setPosition(tA.fromArray(A.rotationOffset)),A.rotationPivot&&c.setPosition(tA.fromArray(A.rotationPivot)),A.parentMatrixWorld&&(Q.copy(A.parentMatrix),g.copy(A.parentMatrixWorld));const u=t.clone().multiply(i).multiply(r),w=new n.Matrix4;w.extractRotation(g);const h=new n.Matrix4;h.copyPosition(g);const C=h.clone().invert().multiply(g),d=w.clone().invert().multiply(C),I=s,M=new n.Matrix4;if(0===l)M.copy(w).multiply(u).multiply(d).multiply(I);else if(1===l)M.copy(w).multiply(d).multiply(u).multiply(I);else{const A=(new n.Matrix4).scale((new n.Vector3).setFromMatrixScale(Q)).clone().invert(),e=d.clone().multiply(A);M.copy(w).multiply(u).multiply(e).multiply(I)}const p=c.clone().invert(),m=o.clone().invert();let F=e.clone().multiply(B).multiply(c).multiply(t).multiply(i).multiply(r).multiply(p).multiply(a).multiply(o).multiply(s).multiply(m);const D=(new n.Matrix4).copyPosition(F),Y=g.clone().multiply(D);return E.copyPosition(Y),F=E.clone().multiply(M),F.premultiply(g.invert()),F}function iA(A){const e=["ZYX","YZX","XZY","ZXY","YXZ","XYZ"];return 6===(A=A||0)?(console.warn("THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."),e[0]):e[A]}function rA(A){return A.split(",").map((function(A){return parseFloat(A)}))}function sA(A,e,t){return void 0===e&&(e=0),void 0===t&&(t=A.byteLength),(new TextDecoder).decode(new Uint8Array(A,e,t))}function oA(A,e,t){return A.slice(0,e).concat(t).concat(A.slice(e))}},function(A,e,t){"use strict";t.r(e),t.d(e,"ConvexGeometry",(function(){return l}));var n=t(0);const i=new n.Vector3,r=new n.Line3,s=new n.Plane,o=new n.Vector3,a=new n.Triangle;class B{constructor(){this.tolerance=-1,this.faces=[],this.newFaces=[],this.assigned=new E,this.unassigned=new E,this.vertices=[]}setFromPoints(A){if(A.length>=4){this.makeEmpty();for(let e=0,t=A.length;e<t;e++)this.vertices.push(new Q(A[e]));this.compute()}return this}setFromObject(A){const e=[];return A.updateMatrixWorld(!0),A.traverse((function(A){const t=A.geometry;if(void 0!==t){const i=t.attributes.position;if(void 0!==i)for(let t=0,r=i.count;t<r;t++){const r=new n.Vector3;r.fromBufferAttribute(i,t).applyMatrix4(A.matrixWorld),e.push(r)}}})),this.setFromPoints(e)}containsPoint(A){const e=this.faces;for(let t=0,n=e.length;t<n;t++){if(e[t].distanceToPoint(A)>this.tolerance)return!1}return!0}intersectRay(A,e){const t=this.faces;let n=-1/0,i=1/0;for(let e=0,r=t.length;e<r;e++){const r=t[e],s=r.distanceToPoint(A.origin),o=r.normal.dot(A.direction);if(s>0&&o>=0)return null;const a=0!==o?-s/o:0;if(!(a<=0)&&(o>0?i=Math.min(a,i):n=Math.max(a,n),n>i))return null}return n!==-1/0?A.at(n,e):A.at(i,e),e}intersectsRay(A){return null!==this.intersectRay(A,i)}makeEmpty(){return this.faces=[],this.vertices=[],this}addVertexToFace(A,e){return A.face=e,null===e.outside?this.assigned.append(A):this.assigned.insertBefore(e.outside,A),e.outside=A,this}removeVertexFromFace(A,e){return A===e.outside&&(null!==A.next&&A.next.face===e?e.outside=A.next:e.outside=null),this.assigned.remove(A),this}removeAllVerticesFromFace(A){if(null!==A.outside){const e=A.outside;let t=A.outside;for(;null!==t.next&&t.next.face===A;)t=t.next;return this.assigned.removeSubList(e,t),e.prev=t.next=null,A.outside=null,e}}deleteFaceVertices(A,e){const t=this.removeAllVerticesFromFace(A);if(void 0!==t)if(void 0===e)this.unassigned.appendChain(t);else{let A=t;do{const t=A.next;e.distanceToPoint(A.point)>this.tolerance?this.addVertexToFace(A,e):this.unassigned.append(A),A=t}while(null!==A)}return this}resolveUnassignedPoints(A){if(!1===this.unassigned.isEmpty()){let e=this.unassigned.first();do{const t=e.next;let n=this.tolerance,i=null;for(let t=0;t<A.length;t++){const r=A[t];if(0===r.mark){const A=r.distanceToPoint(e.point);if(A>n&&(n=A,i=r),n>1e3*this.tolerance)break}}null!==i&&this.addVertexToFace(e,i),e=t}while(null!==e)}return this}computeExtremes(){const A=new n.Vector3,e=new n.Vector3,t=[],i=[];for(let A=0;A<3;A++)t[A]=i[A]=this.vertices[0];A.copy(this.vertices[0].point),e.copy(this.vertices[0].point);for(let n=0,r=this.vertices.length;n<r;n++){const r=this.vertices[n],s=r.point;for(let e=0;e<3;e++)s.getComponent(e)<A.getComponent(e)&&(A.setComponent(e,s.getComponent(e)),t[e]=r);for(let A=0;A<3;A++)s.getComponent(A)>e.getComponent(A)&&(e.setComponent(A,s.getComponent(A)),i[A]=r)}return this.tolerance=3*Number.EPSILON*(Math.max(Math.abs(A.x),Math.abs(e.x))+Math.max(Math.abs(A.y),Math.abs(e.y))+Math.max(Math.abs(A.z),Math.abs(e.z))),{min:t,max:i}}computeInitialHull(){const A=this.vertices,e=this.computeExtremes(),t=e.min,n=e.max;let i=0,a=0;for(let A=0;A<3;A++){const e=n[A].point.getComponent(A)-t[A].point.getComponent(A);e>i&&(i=e,a=A)}const B=t[a],g=n[a];let Q,E;i=0,r.set(B.point,g.point);for(let e=0,t=this.vertices.length;e<t;e++){const t=A[e];if(t!==B&&t!==g){r.closestPointToPoint(t.point,!0,o);const A=o.distanceToSquared(t.point);A>i&&(i=A,Q=t)}}i=-1,s.setFromCoplanarPoints(B.point,g.point,Q.point);for(let e=0,t=this.vertices.length;e<t;e++){const t=A[e];if(t!==B&&t!==g&&t!==Q){const A=Math.abs(s.distanceToPoint(t.point));A>i&&(i=A,E=t)}}const l=[];if(s.distanceToPoint(E.point)<0){l.push(c.create(B,g,Q),c.create(E,g,B),c.create(E,Q,g),c.create(E,B,Q));for(let A=0;A<3;A++){const e=(A+1)%3;l[A+1].getEdge(2).setTwin(l[0].getEdge(e)),l[A+1].getEdge(1).setTwin(l[e+1].getEdge(0))}}else{l.push(c.create(B,Q,g),c.create(E,B,g),c.create(E,g,Q),c.create(E,Q,B));for(let A=0;A<3;A++){const e=(A+1)%3;l[A+1].getEdge(2).setTwin(l[0].getEdge((3-A)%3)),l[A+1].getEdge(0).setTwin(l[e+1].getEdge(1))}}for(let A=0;A<4;A++)this.faces.push(l[A]);for(let e=0,t=A.length;e<t;e++){const t=A[e];if(t!==B&&t!==g&&t!==Q&&t!==E){i=this.tolerance;let A=null;for(let e=0;e<4;e++){const n=this.faces[e].distanceToPoint(t.point);n>i&&(i=n,A=this.faces[e])}null!==A&&this.addVertexToFace(t,A)}}return this}reindexFaces(){const A=[];for(let e=0;e<this.faces.length;e++){const t=this.faces[e];0===t.mark&&A.push(t)}return this.faces=A,this}nextVertexToAdd(){if(!1===this.assigned.isEmpty()){let A,e=0;const t=this.assigned.first().face;let n=t.outside;do{const i=t.distanceToPoint(n.point);i>e&&(e=i,A=n),n=n.next}while(null!==n&&n.face===t);return A}}computeHorizon(A,e,t,n){let i;this.deleteFaceVertices(t),t.mark=1,i=null===e?e=t.getEdge(0):e.next;do{const e=i.twin,t=e.face;0===t.mark&&(t.distanceToPoint(A)>this.tolerance?this.computeHorizon(A,e,t,n):n.push(i)),i=i.next}while(i!==e);return this}addAdjoiningFace(A,e){const t=c.create(A,e.tail(),e.head());return this.faces.push(t),t.getEdge(-1).setTwin(e.twin),t.getEdge(0)}addNewFaces(A,e){this.newFaces=[];let t=null,n=null;for(let i=0;i<e.length;i++){const r=e[i],s=this.addAdjoiningFace(A,r);null===t?t=s:s.next.setTwin(n),this.newFaces.push(s.face),n=s}return t.next.setTwin(n),this}addVertexToHull(A){const e=[];return this.unassigned.clear(),this.removeVertexFromFace(A,A.face),this.computeHorizon(A.point,null,A.face,e),this.addNewFaces(A,e),this.resolveUnassignedPoints(this.newFaces),this}cleanup(){return this.assigned.clear(),this.unassigned.clear(),this.newFaces=[],this}compute(){let A;for(this.computeInitialHull();void 0!==(A=this.nextVertexToAdd());)this.addVertexToHull(A);return this.reindexFaces(),this.cleanup(),this}}class c{constructor(){this.normal=new n.Vector3,this.midpoint=new n.Vector3,this.area=0,this.constant=0,this.outside=null,this.mark=0,this.edge=null}static create(A,e,t){const n=new c,i=new g(A,n),r=new g(e,n),s=new g(t,n);return i.next=s.prev=r,r.next=i.prev=s,s.next=r.prev=i,n.edge=i,n.compute()}getEdge(A){let e=this.edge;for(;A>0;)e=e.next,A--;for(;A<0;)e=e.prev,A++;return e}compute(){const A=this.edge.tail(),e=this.edge.head(),t=this.edge.next.head();return a.set(A.point,e.point,t.point),a.getNormal(this.normal),a.getMidpoint(this.midpoint),this.area=a.getArea(),this.constant=this.normal.dot(this.midpoint),this}distanceToPoint(A){return this.normal.dot(A)-this.constant}}class g{constructor(A,e){this.vertex=A,this.prev=null,this.next=null,this.twin=null,this.face=e}head(){return this.vertex}tail(){return this.prev?this.prev.vertex:null}length(){const A=this.head(),e=this.tail();return null!==e?e.point.distanceTo(A.point):-1}lengthSquared(){const A=this.head(),e=this.tail();return null!==e?e.point.distanceToSquared(A.point):-1}setTwin(A){return this.twin=A,A.twin=this,this}}class Q{constructor(A){this.point=A,this.prev=null,this.next=null,this.face=null}}class E{constructor(){this.head=null,this.tail=null}first(){return this.head}last(){return this.tail}clear(){return this.head=this.tail=null,this}insertBefore(A,e){return e.prev=A.prev,e.next=A,null===e.prev?this.head=e:e.prev.next=e,A.prev=e,this}insertAfter(A,e){return e.prev=A,e.next=A.next,null===e.next?this.tail=e:e.next.prev=e,A.next=e,this}append(A){return null===this.head?this.head=A:this.tail.next=A,A.prev=this.tail,A.next=null,this.tail=A,this}appendChain(A){for(null===this.head?this.head=A:this.tail.next=A,A.prev=this.tail;null!==A.next;)A=A.next;return this.tail=A,this}remove(A){return null===A.prev?this.head=A.next:A.prev.next=A.next,null===A.next?this.tail=A.prev:A.next.prev=A.prev,this}removeSubList(A,e){return null===A.prev?this.head=e.next:A.prev.next=e.next,null===e.next?this.tail=A.prev:e.next.prev=A.prev,this}isEmpty(){return null===this.head}}class l extends n.BufferGeometry{constructor(A=[]){super();const e=[],t=[],i=(new B).setFromPoints(A).faces;for(let A=0;A<i.length;A++){const n=i[A];let r=n.edge;do{const A=r.head().point;e.push(A.x,A.y,A.z),t.push(n.normal.x,n.normal.y,n.normal.z),r=r.next}while(r!==n.edge)}this.setAttribute("position",new n.Float32BufferAttribute(e,3)),this.setAttribute("normal",new n.Float32BufferAttribute(t,3))}}}]);
// 9266d7734f8ac451139d55dd8ef405737e3ad802862b52f688f1dcb71beecf3c =^..^=</script>
<script>
const appElement = document.getElementById('app');
const launchScreen = document.getElementById('launch');
const loadingScreen = document.getElementById('loading');
const loadingInner = document.getElementById('loading-inner');
const errorScreen = document.getElementById('error');
const errorScreenMessage = document.getElementById('error-message');
const errorScreenStack = document.getElementById('error-stack');
const handleError = (error) => {
console.error(error);
if (!errorScreen.hidden) return;
errorScreen.hidden = false;
errorScreenMessage.textContent = '' + error;
let debug = error && error.stack || 'no stack';
debug += '\nUser agent: ' + navigator.userAgent;
errorScreenStack.textContent = debug;
};
const setProgress = (progress) => {
if (loadingInner) loadingInner.style.width = progress * 100 + '%';
};
const interpolate = (a, b, t) => a + t * (b - a);
try {
setProgress(0.1);
const scaffolding = new Scaffolding.Scaffolding();
scaffolding.width = 400;
scaffolding.height = 400;
scaffolding.resizeMode = "preserve-ratio";
scaffolding.editableLists = false;
scaffolding.usePackagedRuntime = true;
scaffolding.setup();
scaffolding.appendTo(appElement);
const vm = scaffolding.vm;
window.scaffolding = scaffolding;
window.vm = scaffolding.vm;
window.Scratch = {
vm,
renderer: vm.renderer,
audioEngine: vm.runtime.audioEngine,
bitmapAdapter: vm.runtime.v2BitmapAdapter,
videoProvider: vm.runtime.ioDevices.video.provider
};
scaffolding.setUsername("player####".replace(/#/g, () => Math.floor(Math.random() * 10)));
scaffolding.setAccentColor("#000000");
try {
scaffolding.addCloudProvider(new Scaffolding.Cloud.LocalStorageProvider("cloudvariables:p4-@TerminalScratch - Kopie-Kopie.pmp"));
} catch (error) {
console.error(error);
}
vm.setTurboMode(false);
if (vm.setInterpolation) vm.setInterpolation(false);
if (vm.setFramerate) vm.setFramerate(30);
if (vm.renderer.setUseHighQualityRender) vm.renderer.setUseHighQualityRender(true);
if (vm.setRuntimeOptions) vm.setRuntimeOptions({
fencing: true,
miscLimits: true,
maxClones: 300,
});
if (vm.setCompilerOptions) vm.setCompilerOptions({
enabled: true,
warpTimer: false
});
if (vm.renderer.setMaxTextureDimension) vm.renderer.setMaxTextureDimension(2048);
if (typeof ScaffoldingAddons !== 'undefined') {
ScaffoldingAddons.run(scaffolding, {"gamepad":false,"pointerlock":false,"specialCloudBehaviors":false,"unsafeCloudBehaviors":false,"pause":false});
}
scaffolding.setExtensionSecurityManager({
getSandboxMode: () => 'unsandboxed',
canLoadExtensionFromProject: () => true
});
for (const extension of ["data:text/javascript;base64,Ly8gTmFtZTogVGVybWluYWwKLy8gSUQ6IEJyMHRUZXJtaW5hbAovLyBEZXNjcmlwdGlvbjogTWFrZSBkZWJ1Z2dpbmcgZWFzaWVyLiBPcGVuIGEgVGVybWluYWwgYW5kIGNyZWF0ZSBjb21tYW5kcwovLyBCeTogQnIwdGNyYWZ0IDx3d3cuQnIwdGNyYWZ0LmRlPgoKKGZ1bmN0aW9uIChTY3JhdGNoKSB7CiAgInVzZSBzdHJpY3QiCgogIGNvbnN0IG1lbnVJY29uVVJJID0gImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGRwWkhSb1BTSXhNekl1TWpreU1EY2lJR2hsYVdkb2REMGlNVE15TGpRd09UUXpJaUIyYVdWM1FtOTRQU0l3TERBc01UTXlMakk1TWpBM0xERXpNaTQwTURrME15SStQR2NnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb0xURTNNeTQ0TlRNNU5pd3RNVEV6TGpjNU5USTVLU0krUEdjZ1pHRjBZUzF3WVhCbGNpMWtZWFJoUFNKN0puRjFiM1E3YVhOUVlXbHVkR2x1WjB4aGVXVnlKbkYxYjNRN09uUnlkV1Y5SWlCbWFXeHNMWEoxYkdVOUltNXZibnBsY204aUlITjBjbTlyWlQwaWJtOXVaU0lnYzNSeWIydGxMV3hwYm1WallYQTlJbUoxZEhRaUlITjBjbTlyWlMxc2FXNWxhbTlwYmowaWJXbDBaWElpSUhOMGNtOXJaUzF0YVhSbGNteHBiV2wwUFNJeE1DSWdjM1J5YjJ0bExXUmhjMmhoY25KaGVUMGlJaUJ6ZEhKdmEyVXRaR0Z6YUc5bVpuTmxkRDBpTUNJZ2MzUjViR1U5SW0xcGVDMWliR1Z1WkMxdGIyUmxPaUJ1YjNKdFlXd2lQanh3WVhSb0lHUTlJazB6TURZdU1UUTJNRFFzTVRnd1l6QXNNell1TlRZek56Y2dMVEk1TGpZeE5EVXhMRFkyTGpJd05EY3hJQzAyTmk0eE5EWXdOQ3cyTmk0eU1EUTNNV010TXpZdU5UTXhNellzTUNBdE5qWXVNVFEyTURRc0xUSTVMalkwTURrMElDMDJOaTR4TkRZd05Dd3ROall1TWpBME56RmpNQ3d0TXpZdU5UWXpOemNnTWprdU5qRTBOamdzTFRZMkxqSXdORGN4SURZMkxqRTBOakEwTEMwMk5pNHlNRFEzTVdNek5pNDFNekV6Tml3d0lEWTJMakUwTmpBMExESTVMalkwTURrMElEWTJMakUwTmpBMExEWTJMakl3TkRjeGVpSWdabWxzYkQwaUl6azBPVFE1TkNJZ2MzUnliMnRsTFhkcFpIUm9QU0l3SWk4K1BIQmhkR2dnWkQwaVRURTRPUzR6TURneE5pd3lNVFF1T1RBd05EWjJMVEUzTGpNeU56QXliREUzTGpNd01qQTVMQzB4Tnk0eE5qQXpiQzB4Tnk0ek1ESXdPU3d0TVRndU5ETTJOekoyTFRFMkxqZzNOalUyYkRNMUxqUTFOVEEzTERNMExqWXlPVEk0ZWlJZ1ptbHNiRDBpSXpFMk5UUXhZaUlnYzNSeWIydGxMWGRwWkhSb1BTSXdJaTgrUEhCaGRHZ2daRDBpVFRJeU1TNDNNVGMzTERJeE5DNHdOakUzWXkwd0xqVXpOVGtzTUNBdE1DNDVOekF5TkN3dE1DNDBNelF6TkNBdE1DNDVOekF5TkN3dE1DNDVOekF5TkhZdE1UTXVORGs1TlRoak1Dd3RNQzQxTXpVNUlEQXVORE0wTXpRc0xUQXVPVGN3TWpRZ01DNDVOekF5TkN3dE1DNDVOekF5TkdnMk9DNHdNRE01WXpBdU5UTTFPU3d3SURBdU9UY3dNalFzTUM0ME16UXpOQ0F3TGprM01ESTBMREF1T1Rjd01qUjJNVE11TkRrNU5UaGpNQ3d3TGpVek5Ua2dMVEF1TkRNME16UXNNQzQ1TnpBeU5DQXRNQzQ1TnpBeU5Dd3dMamszTURJMGVpSWdabWxzYkQwaUl6RTJOVFF4WWlJZ2MzUnliMnRsTFhkcFpIUm9QU0l3SWk4K1BIUmxlSFFnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01qSXpMakUxTXpRNUxESXhNQzQzTmpjeU5Ta2djMk5oYkdVb01DNHpPRE0xT0N3d0xqTTRNelU0S1NJZ1ptOXVkQzF6YVhwbFBTSTBNQ0lnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJZ1ptbHNiRDBpSXpJeE4yUXlPQ0lnWm1sc2JDMXlkV3hsUFNKdWIyNTZaWEp2SWlCemRISnZhMlU5SW01dmJtVWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdjM1J5YjJ0bExXeHBibVZqWVhBOUltSjFkSFFpSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpYldsMFpYSWlJSE4wY205clpTMXRhWFJsY214cGJXbDBQU0l4TUNJZ2MzUnliMnRsTFdSaGMyaGhjbkpoZVQwaUlpQnpkSEp2YTJVdFpHRnphRzltWm5ObGREMGlNQ0lnWm05dWRDMW1ZVzFwYkhrOUlsTmhibk1nVTJWeWFXWWlJR1p2Ym5RdGQyVnBaMmgwUFNKdWIzSnRZV3dpSUhSbGVIUXRZVzVqYUc5eVBTSnpkR0Z5ZENJZ2MzUjViR1U5SW0xcGVDMWliR1Z1WkMxdGIyUmxPaUJ1YjNKdFlXd2lQangwYzNCaGJpQjRQU0l3SWlCa2VUMGlNQ0krUW5Jd2RHTnlZV1owUEM5MGMzQmhiajQ4TDNSbGVIUStQQzluUGp3dlp6NDhMM04yWno0OElTMHRjbTkwWVhScGIyNURaVzUwWlhJNk5qWXVNVFEyTURNMk5qWTJOalkyT1RZNk5qWXVNakEwTnpFek1UWTRNRGd4TWpRdExUND0iOwogIGNvbnN0IHVybCA9ICJodHRwczovL2V4YW1wbGUuY29tIjsKICBjb25zdCBOb3JtYWxNb2RlID0gZmFsc2U7CiAgdmFyIEFwcElEID0gIiI7CiAgdmFyIERlZmF1bHRDb2xvdXIgPSAiIzAwMDAwMCI7CiAgdmFyIERlZmF1bHRXYXJuID0gIiNlMmRhMDAiOwogIHZhciBEZWZhdWx0RXJyb3IgPSAiI2UwMDAwMCI7CiAgdmFyIEVycm9yID0gImZhbHNlIjsKCiAgaWYgKCFTY3JhdGNoLmV4dGVuc2lvbnMudW5zYW5kYm94ZWQpIHsKICAgIHRocm93IG5ldyBFcnJvcignVGhlIHRlcm1pbmFsIGV4dGVuc2lvbiBydW5zIGJldHRlciB3aGVuIHVuc2FuZGJveGVkJyk7CiAgfQogIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ0FQUElEJywgJycpOwoKY2xhc3MgVGVybWluYWwgCnsKICBnZXRJbmZvKCkgCiAgewogICAgcmV0dXJuIHsKICAgICAgaWQ6ICdCcjB0VGVybWluYWwnLAogICAgICBuYW1lOiAnVGVybWluYWwnLAogICAgICBtZW51SWNvblVSSTogbWVudUljb25VUkksCiAgICAgIGJsb2NrSWNvblVSSTogbWVudUljb25VUkksCiAgICAgIGNvbG9yMTogJyNiM2IzYjMnLAogICAgICBjb2xvcjI6ICcjODY4Njg2JywKICAgICAgY29sb3IzOiAnIzVhNWE1YScsCiAgICAgIGJsb2NrczogCiAgICAgIFsKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICdTZXRBcHBJRCcsCiAgICAgICAgICBibG9ja1R5cGU6IFNjcmF0Y2guQmxvY2tUeXBlLkNPTU1BTkQsCiAgICAgICAgICB0ZXh0OiAnc2V0IEFwcElEIHRvIFtJRF0nLAogICAgICAgICAgYXJndW1lbnRzOiAKICAgICAgICAgIHsKICAgICAgICAgICAgSUQ6IAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdHlwZTogU2NyYXRjaC5Bcmd1bWVudFR5cGUuU1RSSU5HLAogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICd0ZXJtaW5hbCcsCiAgICAgICAgICBibG9ja1R5cGU6IFNjcmF0Y2guQmxvY2tUeXBlLkNPTU1BTkQsCiAgICAgICAgICB0ZXh0OiAnW1NIT1ddIHRlcm1pbmFsJywKICAgICAgICAgIGFyZ3VtZW50czogCiAgICAgICAgICB7CiAgICAgICAgICAgIFNIT1c6IAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdHlwZTogU2NyYXRjaC5Bcmd1bWVudFR5cGUuU1RSSU5HLAogICAgICAgICAgICAgIG1lbnU6ICdTSE9XJwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICdsb2cnLAogICAgICAgICAgYmxvY2tUeXBlOiBTY3JhdGNoLkJsb2NrVHlwZS5DT01NQU5ELAogICAgICAgICAgdGV4dDogJ2xvZyBbTE9HXScsCiAgICAgICAgICBhcmd1bWVudHM6IAogICAgICAgICAgewogICAgICAgICAgICBMT0c6IAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdHlwZTogU2NyYXRjaC5Bcmd1bWVudFR5cGUuU1RSSU5HLAogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICd3YXJuJywKICAgICAgICAgIGJsb2NrVHlwZTogU2NyYXRjaC5CbG9ja1R5cGUuQ09NTUFORCwKICAgICAgICAgIHRleHQ6ICd3YXJuIFtXQVJOXScsCiAgICAgICAgICBhcmd1bWVudHM6IAogICAgICAgICAgewogICAgICAgICAgICBXQVJOOiAKICAgICAgICAgICAgewogICAgICAgICAgICAgIHR5cGU6IFNjcmF0Y2guQXJndW1lbnRUeXBlLlNUUklORywKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgb3Bjb2RlOiAnZXJyb3InLAogICAgICAgICAgYmxvY2tUeXBlOiBTY3JhdGNoLkJsb2NrVHlwZS5DT01NQU5ELAogICAgICAgICAgdGV4dDogJ2Vycm9yIFtFUlJPUl0nLAogICAgICAgICAgYXJndW1lbnRzOiAKICAgICAgICAgIHsKICAgICAgICAgICAgRVJST1I6IAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdHlwZTogU2NyYXRjaC5Bcmd1bWVudFR5cGUuU1RSSU5HLAogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICdXcml0aW5nQ29sb3VyJywKICAgICAgICAgIGJsb2NrVHlwZTogU2NyYXRjaC5CbG9ja1R5cGUuQ09NTUFORCwKICAgICAgICAgIHRleHQ6ICdzZXQgZGVmYXVsdCBmb250IGNvbG9yIG9uIFtDT0xPVVJdJywKICAgICAgICAgIGFyZ3VtZW50czogCiAgICAgICAgICB7CiAgICAgICAgICAgIENPTE9VUjogCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB0eXBlOiBTY3JhdGNoLkFyZ3VtZW50VHlwZS5DT0xPUiwKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgb3Bjb2RlOiAnQ29sb3VyTG9nJywKICAgICAgICAgIGJsb2NrVHlwZTogU2NyYXRjaC5CbG9ja1R5cGUuQ09NTUFORCwKICAgICAgICAgIHRleHQ6ICdMb2cgW0xPR10gd2l0aCBjb2xvdXIgW0NPTE9VUl0nLAogICAgICAgICAgYXJndW1lbnRzOiAKICAgICAgICAgIHsKICAgICAgICAgICAgTE9HOiAKICAgICAgICAgICAgewogICAgICAgICAgICAgIHR5cGU6IFNjcmF0Y2guQXJndW1lbnRUeXBlLlNUUklORywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgQ09MT1VSOiAKICAgICAgICAgICAgewogICAgICAgICAgICAgIHR5cGU6IFNjcmF0Y2guQXJndW1lbnRUeXBlLkNPTE9SLAogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICdjbGVhcicsCiAgICAgICAgICBibG9ja1R5cGU6IFNjcmF0Y2guQmxvY2tUeXBlLkNPTU1BTkQsCiAgICAgICAgICB0ZXh0OiAnY2xlYXInLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgb3Bjb2RlOiAnV2hlbkNvbW1hbmQnLAogICAgICAgICAgYmxvY2tUeXBlOiBTY3JhdGNoLkJsb2NrVHlwZS5IQVQsCiAgICAgICAgICB0ZXh0OiAnd2hlbiBbQ09NTUFORF0gd2FzIGVudGVyZWQgYXMgYSBjb21tYW5kJywKICAgICAgICAgIGlzRWRnZUFjdGl2YXRlZDogdHJ1ZSwKICAgICAgICAgIGFyZ3VtZW50czogCiAgICAgICAgICB7CiAgICAgICAgICAgIENPTU1BTkQ6IAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdHlwZTogU2NyYXRjaC5Bcmd1bWVudFR5cGUuU1RSSU5HLAogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICdDb21tYW5kJywKICAgICAgICAgIGJsb2NrVHlwZTogU2NyYXRjaC5CbG9ja1R5cGUuUkVQT1JURVIsCiAgICAgICAgICB0ZXh0OiAnY29tbWFuZCcsCiAgICAgICAgICBpc0VkZ2VBY3RpdmF0ZWQ6IHRydWUKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIG9wY29kZTogJ0xvZycsCiAgICAgICAgICBibG9ja1R5cGU6IFNjcmF0Y2guQmxvY2tUeXBlLlJFUE9SVEVSLAogICAgICAgICAgdGV4dDogJ0xvZycsCiAgICAgICAgICBpc0VkZ2VBY3RpdmF0ZWQ6IHRydWUsCiAgICAgICAgICBoaWRlRnJvbVBhbGV0dGU6IE5vcm1hbE1vZGUsCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICdTZXRDb21tYW5kJywKICAgICAgICAgIGJsb2NrVHlwZTogU2NyYXRjaC5CbG9ja1R5cGUuQ09NTUFORCwKICAgICAgICAgIHRleHQ6ICdzZXQgQ29tbWFuZCBvbiBbVEVYVF0nLAogICAgICAgICAgaXNFZGdlQWN0aXZhdGVkOiB0cnVlLAogICAgICAgICAgaGlkZUZyb21QYWxldHRlOiBOb3JtYWxNb2RlLAogICAgICAgICAgYXJndW1lbnRzOgogICAgICAgICAgewogICAgICAgICAgICBURVhUOgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdHlwZTogU2NyYXRjaC5Bcmd1bWVudFR5cGUuU1RSSU5HLAogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBvcGNvZGU6ICdjbGVhckxvZycsCiAgICAgICAgICBibG9ja1R5cGU6IFNjcmF0Y2guQmxvY2tUeXBlLkNPTU1BTkQsCiAgICAgICAgICB0ZXh0OiAnY2xlYXIgTG9nJywKICAgICAgICAgIGlzRWRnZUFjdGl2YXRlZDogdHJ1ZSwKICAgICAgICAgIGhpZGVGcm9tUGFsZXR0ZTogTm9ybWFsTW9kZSwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIG9wY29kZTogJ2NsZWFyTG9nJywKICAgICAgICAgIGJsb2NrVHlwZTogU2NyYXRjaC5CbG9ja1R5cGUuQ09NTUFORCwKICAgICAgICAgIHRleHQ6ICdjbGVhciBMb2cnLAogICAgICAgICAgaXNFZGdlQWN0aXZhdGVkOiB0cnVlLAogICAgICAgICAgaGlkZUZyb21QYWxldHRlOiBOb3JtYWxNb2RlLAogICAgICAgIH0KCiAgICAgIF0sCiAgICAgIG1lbnVzOiAKICAgICAgewogICAgICAgIFNIT1c6IAogICAgICAgIHsKICAgICAgICAgIGFjY2VwdFJlcG9ydGVyczogdHJ1ZSwKICAgICAgICAgIGl0ZW1zOiAKICAgICAgICAgIFsKICAgICAgICAgICAgewogICAgICAgICAgICAgIHRleHQ6J3Nob3cnLAogICAgICAgICAgICAgIHZhbHVlOidzaG93JwogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgdGV4dDogJ2hpZGUnLCAKICAgICAgICAgICAgICB2YWx1ZTogJ2hpZGUnCiAgICAgICAgICAgIH0KICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH07CiAgfQoKCiAgU2V0QXBwSUQgKGFyZ3MpCiAgewogICAgQXBwSUQgPSBhcmdzLklEOwogIH0KCiAgdGVybWluYWwgKGFyZ3MpCiAgewogICAgCiAgICBpZiAoYXJncy5TSE9XID09ICJoaWRlIikKICAgIHsKICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oIlRlcm1pbmFsX1ByaXZhdGUiICsgQXBwSUQsICJjbG9zZSIpCiAgICB9IAogICAgZWxzZQogICAgewogICAgICBpZiAoYXJncy5TSE9XID09ICJzaG93IikKICAgICAgewogICAgICAgIFNjcmF0Y2gub3BlbldpbmRvdyh1cmwsIndpZHRoPTQwMCxoZWlnaHQ9NDAwIik7CiAgICAgIH0gCiAgICB9CiAgICByZXR1cm47CiAgfQoKICBsb2cgKGFyZ3MpCiAgewogICAgCiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiVGVybWluYWxfTG9nIiArIEFwcElELCAieyIgKyBEZWZhdWx0Q29sb3VyICsgIn0iICsgYXJncy5MT0cpOwogICAgcmV0dXJuOwogIH0KCiAgd2FybiAoYXJncykKICB7CiAgIAogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ1Rlcm1pbmFsX0xvZycgKyBBcHBJRCwgInsiICsgRGVmYXVsdFdhcm4gKyAifeKAvCIgKyBhcmdzLldBUk4pOwogICAgcmV0dXJuOwogIH0KCiAgZXJyb3IgKGFyZ3MpCiAgewogICAgCiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnVGVybWluYWxfTG9nJyArIEFwcElELCAieyIgKyBEZWZhdWx0RXJyb3IgKyAifeKaoCIgKyBhcmdzLkVSUk9SKTsKICAgIHJldHVybjsKICB9CgogIFdyaXRpbmdDb2xvdXIgKGFyZ3MpCiAgewogICAgCiAgICBEZWZhdWx0Q29sb3VyID0gYXJncy5DT0xPVVI7CiAgICByZXR1cm47CiAgfQoKICBDb2xvdXJMb2cgKGFyZ3MpCiAgewogIAogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ1Rlcm1pbmFsX0xvZycgKyBBcHBJRCwgInsiICsgYXJncy5DT0xPVVIgKyAifSIgKyBhcmdzLkxPRyk7CiAgICByZXR1cm47CiAgfQoKICBjbGVhciAoYXJncykKICB7CiAgICAKICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdUZXJtaW5hbF9wcml2YXRlJyArIEFwcElELCAiY2xlYXIiKTsKICAgIHJldHVybjsKICB9CgogIFdoZW5Db21tYW5kIChhcmdzKQogIHsKICAgIAogICAgcmV0dXJuIGFyZ3MuQ09NTUFORCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdUZXJtaW5hbF9Db21tYW5kJyArIEFwcElEKTsKICB9CgogIENvbW1hbmQgKGFyZ3MpCiAgewogICAgCiAgICAKICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnVGVybWluYWxfQ29tbWFuZCcgKyBBcHBJRCk7CiAgfQoKICBMb2cgKGFyZ3MpCiAgewogICAgCiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ1Rlcm1pbmFsX0xvZycgKyBBcHBJRCk7CiAgfQoKICBTZXRDb21tYW5kIChhcmdzKQogIHsKICAgIAogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ1Rlcm1pbmFsX0NvbW1hbmQnICsgQXBwSUQsIGFyZ3MuVEVYVCk7CiAgICByZXR1cm4gOwogIH0KCiAgY2xlYXJMb2cgKGFyZ3MpCiAgewogICAKICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdUZXJtaW5hbF9Mb2cnICsgQXBwSUQsICIiKTsKICAgIHJldHVybiA7CiAgfQogIAp9CiAKClNjcmF0Y2guZXh0ZW5zaW9ucy5yZWdpc3RlcihuZXcgVGVybWluYWwoKSk7Cn0pKFNjcmF0Y2gpOw==","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Search%20Params%0A%2F%2F%20ID%3A%20zxmushroom63searchparams%0A%2F%2F%20Description%3A%20Interact%20with%20URL%20search%20parameters%3A%20the%20part%20of%20the%20URL%20after%20a%20question%20mark.%0A%2F%2F%20By%3A%20ZXMushroom63%0A%0A(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%20%20if%20(!Scratch.extensions.unsandboxed)%20%7B%0A%20%20%20%20throw%20new%20Error(%22SearchParams%20must%20be%20run%20unsandboxed.%22)%3B%0A%20%20%7D%0A%0A%20%20class%20SearchApi%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22zxmushroom63searchparams%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20%22Search%20Params%22%2C%0A%20%20%20%20%20%20%20%20color1%3A%20%22%23b4b4b4%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%239c9c9c%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%23646464%22%2C%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22searchparam%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22value%20of%20search%20parameter%20%5BID%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ID%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22x%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22occurencesofsearchparam%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22occurences%20of%20search%20parameter%20%5BID%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ID%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22x%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22indexedsearchparam%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22index%20%5BI%5D%20of%20search%20parameters%20%5BID%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ID%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22x%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20I%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setsearchparam%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20search%20parameter%20%5BID%5D%20to%20%5BVAL%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ID%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22x%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20VAL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2215%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22deletesearchparam%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22delete%20search%20parameter%20%5BID%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ID%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22x%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22appendsearchparam%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22append%20search%20parameter%20%5BID%5D%20with%20value%20%5BVAL%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ID%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22x%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20VAL%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2215%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22hassearchparam%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22has%20search%20parameter%20%5BID%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ID%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22x%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22searchparamslength%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22length%20of%20search%20parameters%22%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22searchparamatindex%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22search%20parameter%20%5BPARAM%5D%20at%20index%20%5BI%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20PARAM%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22PARAM%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20I%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20PARAM%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22value%22%2C%20%22name%22%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20searchparam(%7B%20ID%20%7D)%20%7B%0A%20%20%20%20%20%20return%20new%20URLSearchParams(location.search).get(ID.toString())%20%7C%7C%20%22%22%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20occurencesofsearchparam(%7B%20ID%20%7D)%20%7B%0A%20%20%20%20%20%20return%20(%0A%20%20%20%20%20%20%20%20new%20URLSearchParams(location.search).getAll(ID.toString()).length%20%7C%7C%200%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20indexedsearchparam(%7B%20ID%2C%20I%20%7D)%20%7B%0A%20%20%20%20%20%20return%20(%0A%20%20%20%20%20%20%20%20new%20URLSearchParams(location.search).getAll(ID.toString())%5B%0A%20%20%20%20%20%20%20%20%20%20parseInt(I)%20-%201%0A%20%20%20%20%20%20%20%20%5D%20%7C%7C%20%22%22%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setsearchparam(%7B%20ID%2C%20VAL%20%7D)%20%7B%0A%20%20%20%20%20%20var%20s%20%3D%20new%20URLSearchParams(location.search)%3B%0A%20%20%20%20%20%20s.set(ID.toString()%2C%20VAL.toString())%3B%0A%20%20%20%20%20%20history.replaceState(%22%22%2C%20%22%22%2C%20%22%3F%22%20%2B%20s.toString())%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20searchparamslength()%20%7B%0A%20%20%20%20%20%20var%20s%20%3D%20new%20URLSearchParams(location.search)%3B%0A%20%20%20%20%20%20%2F%2F%20%40ts-ignore%0A%20%20%20%20%20%20return%20typeof%20s.size%20!%3D%3D%20%22object%22%20%3F%20s.size%20%3A%200%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20deletesearchparam(%7B%20ID%20%7D)%20%7B%0A%20%20%20%20%20%20var%20s%20%3D%20new%20URLSearchParams(location.search)%3B%0A%20%20%20%20%20%20s.delete(ID.toString())%3B%0A%20%20%20%20%20%20history.replaceState(%22%22%2C%20%22%22%2C%20%22%3F%22%20%2B%20s.toString())%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20appendsearchparam(%7B%20ID%2C%20VAL%20%7D)%20%7B%0A%20%20%20%20%20%20var%20s%20%3D%20new%20URLSearchParams(location.search)%3B%0A%20%20%20%20%20%20s.append(ID.toString()%2C%20VAL.toString())%3B%0A%20%20%20%20%20%20history.replaceState(%22%22%2C%20%22%22%2C%20%22%3F%22%20%2B%20s.toString())%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20hassearchparam(%7B%20ID%20%7D)%20%7B%0A%20%20%20%20%20%20var%20s%20%3D%20new%20URLSearchParams(location.search)%3B%0A%20%20%20%20%20%20return%20s.has(ID.toString())%20%7C%7C%20false%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20searchparamatindex(%7B%20PARAM%2C%20I%20%7D)%20%7B%0A%20%20%20%20%20%20var%20index%20%3D%20parseInt(I)%20-%201%20%7C%7C%200%3B%0A%20%20%20%20%20%20index%20%3D%20Math.max(0%2C%20index)%3B%0A%20%20%20%20%20%20var%20s%20%3D%20new%20URLSearchParams(location.search)%3B%0A%20%20%20%20%20%20var%20values%20%3D%20PARAM.toString()%20%3D%3D%3D%20%22value%22%20%3F%20s.values()%20%3A%20s.keys()%3B%0A%20%20%20%20%20%20var%20i%20%3D%200%3B%0A%20%20%20%20%20%20for%20(const%20value%20of%20values)%20%7B%0A%20%20%20%20%20%20%20%20if%20(i%20%3D%3D%3D%20index)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20value%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20i%2B%2B%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20Scratch.extensions.register(new%20SearchApi())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Hyper%20Sense%0D%0A%2F%2F%20ID%3A%20HyperSenseSP%0D%0A%2F%2F%20Description%3A%20Cool%20New%20Sensing%20Blocks%0D%0A%0D%0A%2F%2F%20Version%201.8.2%0D%0A%0D%0A(function%20(Scratch)%20%7B%0D%0A%20%20%22use%20strict%22%3B%0D%0A%0D%0A%20%20if%20(!Scratch.extensions.unsandboxed)%20%7B%0D%0A%20%20%20%20throw%20new%20Error(%22Hyper%20Sense%20must%20run%20unsandboxed%22)%3B%0D%0A%20%20%7D%0D%0A%0D%0A%20%20const%20menuIconURI%20%3D%0D%0A%22data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMzguMjE0IiBoZWlnaHQ9IjEzOC4yMTQiIHZpZXdCb3g9IjAsMCwxMzguMjE0LDEzOC4yMTQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNzAuODkzLC0xMTAuODkzKSI%2BPGcgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aXNQYWludGluZ0xheWVyJnF1b3Q7OnRydWV9IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IiIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48cGF0aCBkPSJNMTcwLjg5MywxODBjMCwtMzguMTY2NzQgMzAuOTQwMjYsLTY5LjEwNyA2OS4xMDcsLTY5LjEwN2MzOC4xNjY3NCwwIDY5LjEwNywzMC45NDAyNiA2OS4xMDcsNjkuMTA3YzAsMzguMTY2NzQgLTMwLjk0MDI2LDY5LjEwNyAtNjkuMTA3LDY5LjEwN2MtMzguMTY2NzQsMCAtNjkuMTA3LC0zMC45NDAyNiAtNjkuMTA3LC02OS4xMDd6IiBmaWxsPSIjNWNiMWQ2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMCIvPjxwYXRoIGQ9Ik0yNzMuNTY4MTMsMjE2LjIzNjU5Yy0wLjY4MjI5LDAgLTEuMzY0NTcsLTAuMjYwNzQgLTEuODg2MDYsLTAuNzgwMDZsLTY2LjU3ODkzLC02Ni41ODExYy0xLjA0MDgxLC0xLjA0MDgxIC0xLjA0MDgxLC0yLjczMTI5IDAsLTMuNzcyMWMxLjA0MDgxLC0xLjA0MDgxIDIuNzMxMjksLTEuMDQwODEgMy43NzIxLDBsNjYuNTc4OTMsNjYuNTc4OTNjMS4wNDA4MSwxLjA0MDgxIDEuMDQwODEsMi43MzEyOSAwLDMuNzcyMWMtMC41MjE0OSwwLjUxOTMyIC0xLjIwMzc4LDAuNzgyMjMgLTEuODg2MDYsMC43ODIyM3oiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIi8%2BPHBhdGggZD0iTTIzMy4xMDcxMSwxNTguNDM2MDZjMCw4LjEwMjY0IC02LjU2ODU5LDE0LjY3MTIzIC0xNC42NzEyMywxNC42NzEyM2MtOC4xMDI2NCwwIC0xNC42NzEyMywtNi41Njg1OSAtMTQuNjcxMjMsLTE0LjY3MTIzYzAsLTguMTAyNjQgNi41Njg1OSwtMTQuNjcxMjMgMTQuNjcxMjMsLTE0LjY3MTIzYzguMTAyNjQsMCAxNC42NzEyMyw2LjU2ODU5IDE0LjY3MTIzLDE0LjY3MTIzeiIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNMjMxLjA3MzQ3LDE4OC43MjQyNmMtNy44ODU4MywtMS44NjIwOSAtMTIuNzY5MDIsLTkuNzY0MzUgLTEwLjkwNjkyLC0xNy42NTAxN2MxLjg2MjA5LC03Ljg4NTgzIDkuNzY0MzUsLTEyLjc2OTAyIDE3LjY1MDE3LC0xMC45MDY5MmM3Ljg4NTgzLDEuODYyMDkgMTIuNzY5MDIsOS43NjQzNSAxMC45MDY5MiwxNy42NTAxN2MtMS44NjIwOSw3Ljg4NTgzIC05Ljc2NDM1LDEyLjc2OTAyIC0xNy42NTAxNywxMC45MDY5MnoiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIi8%2BPHBhdGggZD0iTTI2NS4xMjAwMSwxOTAuNDQ2NzljMCw4LjEwMjY0IC02LjU3MDc2LDE0LjY3MzM5IC0xNC42NzMzOSwxNC42NzMzOWMtOC4xMDI2NCwwIC0xNC42NzEyMywtNi41NzA3NiAtMTQuNjcxMjMsLTE0LjY3MzM5YzAsLTguMTAyNjQgNi41Njg1OSwtMTQuNjcxMjMgMTQuNjcxMjMsLTE0LjY3MTIzYzguMTAyNjQsMCAxNC42NzMzOSw2LjU3MDc2IDE0LjY3MzM5LDE0LjY3MTIzeiIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNMjczLjU2ODEzLDIxNi4yMzY1OWMtMC42ODIyOSwwIC0xLjM2NDU3LC0wLjI2MDc0IC0xLjg4NjA2LC0wLjc4MDA2bC0xNi4zMzk5OCwtMTYuMzM5OThjLTEuMDQyOTgsLTEuMDQwODEgLTEuMDQyOTgsLTIuNzMxMjkgMCwtMy43NzIxYzEuMDQyOTgsLTEuMDQwODEgMi43MjkxMiwtMS4wNDA4MSAzLjc3MjEsMGwxNi4zMzk5OCwxNi4zMzk5OGMxLjA0MDgxLDEuMDQwODEgMS4wNDA4MSwyLjczMTI5IDAsMy43NzIxYy0wLjUyMTQ5LDAuNTE3MTQgLTEuMjAzNzgsMC43ODAwNiAtMS44ODYwNiwwLjc4MDA2eiIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiLz48ZyBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNMTgyLjY2ODI2LDE4MGwxMi44MDY5MSwtMTIuODA2OTF2MjUuNjEzODF6Ii8%2BPHBhdGggZD0iTTI1Mi44MDY5LDEzNS40NzUxNmgtMjUuNjEzODFsMTIuODA2OSwtMTIuODA2OXoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9Ii8%2BPHBhdGggZD0iTTI5Ny4zMzE3NSwxODBsLTEyLjgwNjksMTIuODA2OXYtMjUuNjEzODF6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIvPjxwYXRoIGQ9Ik0yMjcuMTkzMSwyMjQuNTI0ODRoMjUuNjEzODFsLTEyLjgwNjksMTIuODA2OXoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9Ii8%2BPC9nPjwvZz48L2c%2BPC9zdmc%2B%22%3B%0D%0A%0D%0A%20%20const%20loudnessArrayLength%20%3D%2020%3B%0D%0A%20%20let%20currentlyPressedKey%20%3D%20null%3B%0D%0A%20%20let%20keyPressTime%20%3D%200%3B%0D%0A%20%20const%20keyHitPass%20%3D%20%7B%7D%3B%0D%0A%0D%0A%20%20const%20renderer%20%3D%20Scratch.renderer%3B%0D%0A%20%20const%20vm%20%3D%20Scratch.vm%3B%0D%0A%20%20const%20runtime%20%3D%20vm.runtime%3B%0D%0A%20%20var%20timer%20%3D%200%3B%0D%0A%20%20%0D%0A%20%20class%20HyperSenseSP%20%7B%0D%0A%20%20%20%20constructor()%20%7B%0D%0A%20%20%20%20%20%20runtime.shouldExecuteStopClicked%20%3D%20true%3B%0D%0A%20%20%20%20%20%20runtime.on(%22BEFORE_EXECUTE%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20timer%2B%2B%3B%0D%0A%20%20%20%20%20%20%20%20runtime.shouldExecuteStopClicked%20%3D%20false%3B%0D%0A%20%20%20%20%20%20%20%20runtime.startHats(%22HyperSenseSP_whenKeyPressed%22)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20runtime.on(%22PROJECT_START%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20timer%20%3D%200%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20runtime.on(%22PROJECT_STOP_ALL%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20timer%20%3D%200%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20runtime.on(%22AFTER_EXECUTE%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20runtime.shouldExecuteStopClicked%20%3D%20true%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20runtime.on(%22ANSWER%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.wait%20%3D%20%5Bfalse%2C%20%22sprite%22%5D%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20const%20originalGreenFlag%20%3D%20vm.greenFlag%3B%0D%0A%20%20%20%20%20%20vm.greenFlag%20%3D%20function%20()%20%7B%0D%0A%20%20%20%20%20%20%20%20runtime.shouldExecuteStopClicked%20%3D%20false%3B%0D%0A%20%20%20%20%20%20%20%20originalGreenFlag.call(this)%3B%0D%0A%20%20%20%20%20%20%7D%3B%0D%0A%0D%0A%20%20%20%20%20%20this.scrollDistance%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.oldScroll%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.loudnessArray%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20document.addEventListener(%22wheel%22%2C%20this.handleScroll)%3B%0D%0A%20%20%20%20%20%20this.isMicrophoneEnabled%20%3D%20false%3B%0D%0A%20%20%20%20%20%20this.pressedKey%20%3D%20null%3B%0D%0A%20%20%20%20%20%20this.wait%20%3D%20%5Bfalse%2C%20%22sprite%22%5D%3B%0D%0A%0D%0A%20%20%20%20%20%20document.addEventListener(%22keydown%22%2C%20(event)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20keyPressTime%20%3D%20keyPressTime%20%2B%200.1%3B%0D%0A%20%20%20%20%20%20%20%20this.pressedKey%20%3D%20event.key.toUpperCase()%3B%0D%0A%20%20%20%20%20%20%20%20currentlyPressedKey%20%3D%20event.key.toUpperCase()%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%0D%0A%20%20%20%20%20%20document.addEventListener(%22keyup%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20keyHitPass%5BcurrentlyPressedKey%5D%20%3D%200%3B%0D%0A%20%20%20%20%20%20%20%20this.pressedKey%20%3D%20null%3B%0D%0A%20%20%20%20%20%20%20%20currentlyPressedKey%20%3D%20null%3B%0D%0A%20%20%20%20%20%20%20%20keyPressTime%20%3D%200%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%0D%0A%20%20%20%20%20%20document.addEventListener(%22mousemove%22%2C%20(event)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20window.mouseX%20%3D%20event.clientX%3B%0D%0A%20%20%20%20%20%20%20%20window.mouseY%20%3D%20event.clientY%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20getInfo()%20%7B%0D%0A%20%20%20%20%20%20return%20%7B%0D%0A%20%20%20%20%20%20%20%20id%3A%20%22HyperSenseSP%22%2C%0D%0A%20%20%20%20%20%20%20%20name%3A%20%22Hyper%20Sense%22%2C%0D%0A%20%20%20%20%20%20%20%20color1%3A%20%22%235cb1d6%22%2C%0D%0A%20%20%20%20%20%20%20%20color2%3A%20%22%232e8eb8%22%2C%0D%0A%20%20%20%20%20%20%20%20menuIconURI%2C%0D%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Scrolling%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22monitorScrollWheel%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22scroll%20wheel%20distance%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22monitorScrollWheelLimited%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22scroll%20wheel%20distance%20limited%20from%20%5BMIN%5D%20to%20%5BMAX%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20MIN%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20MAX%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setScrollDistance%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20scroll%20wheel%20distance%20to%20%5BDISTANCE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DISTANCE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeScrollDistance%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22change%20scroll%20wheel%20distance%20by%20%5BDISTANCE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DISTANCE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22scrollWheelHat%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.HAT%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22when%20scrolled%20%5BEVENT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EVENT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22SCROLL_EVENTS%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22up%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22scrollWheelBool%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22is%20scrolling%20%5BEVENT%5D%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EVENT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22SCROLL_EVENTS%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22up%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Mouse%20Detection%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22mouseClick%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22is%20mouse%20%5BBUTTON%5D%20down%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20BUTTON%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22mouseButtons%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22realX%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22real%20mouse%20x%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22realY%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22real%20mouse%20y%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Key%20Detection%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22whenKeyHit%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.HAT%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22when%20%5BKEY%5D%20key%20hit%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20KEY%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22keys%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Space%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isKeyHit%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22is%20key%20%5BKEY%5D%20hit%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20KEY%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22keys%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Space%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%2F%2Fyes%2C%20these%20blocks%20do%20technically%20exist%2C%20but%20they%20dont%20have%20special%20keys%20like%20Tab%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22whenKeyPressed%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.HAT%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22when%20%5BKEY%5D%20pressed%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20isEdgeActivated%3A%20false%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20KEY%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22keys%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Tab%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isKeyPressed%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22key%20%5BKEY%5D%20pressed%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20KEY%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22keys%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Tab%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22currentKey%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22current%20key%20pressed%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22timeKeyPressed%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22seconds%20key%20%5BKEY%5D%20pressed%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20KEY%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22keys%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22A%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Touching%20Expanded%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22spriteTouchingSprite%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22is%20%5BSPRITE1%5D%20touching%20%5BSPRITE2%5D%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPRITE1%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22TARGETS%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPRITE2%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22TARGETS3%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22spriteCurrentTouching%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22sprites%20touching%20%5BSPRITE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPRITE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22TARGETS2%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getNeighbors%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22get%20neighbors%20of%20%5BSPRITE%5D%20with%20diameter%20%5BDIAMETER%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPRITE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22TARGETS4%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DIAMETER%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22colorTouchingSprite%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22color%20touching%20%5BSPRITE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPRITE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22TARGETS2%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22colorAtPosition%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22color%20at%20x%20%5Bx%5D%20y%20%5By%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20x%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20y%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Strings%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22boolean%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22is%20%5BSTRING%5D%20real%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20STRING%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getAllString%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22get%20%5BTEXT%5D%20in%20string%20%5BSTRING%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20STRING%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22rotating%20a%206%20makes%20a%209!%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20TEXT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22string_types%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22numbers%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Miscellaneous%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22advancedAsk%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22ask%20%5BQUESTION%5D%20as%20%5BTHING%5D%20and%20%5BWAIT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20THING%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22Asking%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22stage%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20QUESTION%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22what%20is%20your%20name%3F%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20WAIT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22shouldWait%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22wait%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setAtt%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20ask%20monitor%20x%3A%20%5Bx%5D%20y%3A%20%5By%5D%20width%3A%20%5Bwidth%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20x%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20y%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20480%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getSpriteName%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22my%20sprite%20name%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22allLayers%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22max%20sprite%20layers%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22spriteDragMode%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20drag%20mode%20of%20%5BSPRITE%5D%20to%20%5BDRAG%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SPRITE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22TARGETS4%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DRAG%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22DRAG_MODES%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22draggable%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22toggleMicrophone%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22toggle%20microphone%20to%20%5BSTATE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20STATE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22microphoneStates%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22enabled%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22averageMicrophoneLoudness%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22average%20microphone%20loudness%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%5D%2C%0D%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20microphoneStates%3A%20%5B%22enabled%22%2C%20%22disabled%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20TARGETS%3A%20%7B%20acceptReporters%3A%20true%2C%20items%3A%20this._getTargets(true%2C%20false)%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20TARGETS2%3A%20%7B%20acceptReporters%3A%20true%2C%20items%3A%20this._getTargets(true%2C%20true)%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20TARGETS3%3A%20%7B%20acceptReporters%3A%20true%2C%20items%3A%20this._getTargets(false%2C%20true)%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20TARGETS4%3A%20%7B%20acceptReporters%3A%20true%2C%20items%3A%20this._getTargets(false%2C%20false)%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20Asking%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20false%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22stage%22%2C%20%22sprite%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20shouldWait%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20false%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22wait%22%2C%20%22continue%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20keys%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Any%22%2C%20%22A%22%2C%20%22B%22%2C%20%22C%22%2C%20%22D%22%2C%20%22E%22%2C%20%22F%22%2C%20%22G%22%2C%20%22H%22%2C%20%22I%22%2C%20%22J%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22K%22%2C%20%22L%22%2C%20%22M%22%2C%20%22N%22%2C%20%22O%22%2C%20%22P%22%2C%20%22Q%22%2C%20%22R%22%2C%20%22S%22%2C%20%22T%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22U%22%2C%20%22V%22%2C%20%22W%22%2C%20%22X%22%2C%20%22Y%22%2C%20%22Z%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%220%22%2C%20%221%22%2C%20%222%22%2C%20%223%22%2C%20%224%22%2C%20%225%22%2C%20%226%22%2C%20%227%22%2C%20%228%22%2C%20%229%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Arrow%20Up%22%2C%20%22Arrow%20Down%22%2C%20%22Arrow%20Left%22%2C%20%22Arrow%20Right%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Space%22%2C%20%22Enter%22%2C%20%22Shift%22%2C%20%22Control%22%2C%20%22Alt%22%2C%20%22Escape%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Backspace%22%2C%20%22Tab%22%2C%20%22Caps%20Lock%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Insert%22%2C%20%22Page%20Up%22%2C%20%22Page%20Down%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20SCROLL_EVENTS%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20false%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22up%22%2C%20%22down%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20DRAG_MODES%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22draggable%22%2C%20%22not%20draggable%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20string_types%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22numbers%22%2C%20%22letters%22%2C%20%22special%20characters%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20mouseButtons%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22left%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%200%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22scroll%20wheel%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%201%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22right%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%202%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22back%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%203%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22foward%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%204%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%7D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20allLayers()%20%7B%0D%0A%20%20%20%20%20%20return%20renderer._drawList.length%20-%201%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20monitorScrollWheel()%20%7B%0D%0A%20%20%20%20%20%20return%20this.scrollDistance%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20monitorScrollWheelLimited(args)%20%7B%0D%0A%20%20%20%20%20%20const%20min%20%3D%20Scratch.Cast.toNumber(args.MIN)%3B%0D%0A%20%20%20%20%20%20const%20max%20%3D%20Scratch.Cast.toNumber(args.MAX)%3B%0D%0A%20%20%20%20%20%20return%20Math.max(Math.min(this.scrollDistance%2C%20max)%2C%20min)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setScrollDistance(args)%20%7B%0D%0A%20%20%20%20%20%20this.scrollDistance%20%3D%20Scratch.Cast.toNumber(args.DISTANCE)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20changeScrollDistance(args)%20%7B%0D%0A%20%20%20%20%20%20this.scrollDistance%20%3D%20this.scrollDistance%20%2B%20Scratch.Cast.toNumber(args.DISTANCE)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20handleScroll%20%3D%20(event)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20this.scrollDistance%20%2B%3D%20event.deltaY%3B%0D%0A%20%20%20%20%7D%3B%0D%0A%0D%0A%20%20%20%20getSpriteName(_%2C%20util)%20%7B%0D%0A%20%20%20%20%20%20return%20util.target.getName()%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20initMicrophone()%20%7B%0D%0A%20%20%20%20%20%20if%20(this.isMicrophoneEnabled)%20%7B%0D%0A%20%20%20%20%20%20%20%20navigator.mediaDevices.getUserMedia(%7B%20audio%3A%20true%20%7D)%0D%0A%20%20%20%20%20%20%20%20%20%20.then(this.handleMicrophoneSuccess)%0D%0A%20%20%20%20%20%20%20%20%20%20.catch(this.handleMicrophoneError)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20handleMicrophoneSuccess%20%3D%20(stream)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20this.audioContext%20%3D%20new%20(window.AudioContext%20%7C%7C%20window.webkitAudioContext)()%3B%0D%0A%20%20%20%20%20%20const%20microphone%20%3D%20this.audioContext.createMediaStreamSource(stream)%3B%0D%0A%20%20%20%20%20%20const%20analyser%20%3D%20this.audioContext.createAnalyser()%3B%0D%0A%20%20%20%20%20%20analyser.fftSize%20%3D%20256%3B%0D%0A%0D%0A%20%20%20%20%20%20microphone.connect(analyser)%3B%0D%0A%20%20%20%20%20%20this.updateMicrophoneLoudness(analyser)%3B%0D%0A%20%20%20%20%7D%3B%0D%0A%0D%0A%20%20%20%20handleMicrophoneError%20%3D%20(error)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20console.error(%22Error%20accessing%20microphone%3A%22%2C%20error)%3B%0D%0A%20%20%20%20%7D%3B%0D%0A%0D%0A%20%20%20%20updateMicrophoneLoudness(analyser)%20%7B%0D%0A%20%20%20%20%20%20const%20dataArray%20%3D%20new%20Uint8Array(analyser.frequencyBinCount)%3B%0D%0A%0D%0A%20%20%20%20%20%20setInterval(()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20analyser.getByteFrequencyData(dataArray)%3B%0D%0A%20%20%20%20%20%20%20%20const%20loudness%20%3D%20this.calculateLoudness(dataArray)%3B%0D%0A%20%20%20%20%20%20%20%20this.loudnessArray.push(loudness)%3B%0D%0A%20%20%20%20%20%20%20%20if%20(this.loudnessArray.length%20%3E%3D%20loudnessArrayLength)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20this.loudnessArray.shift()%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%7D%2C%20100)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20calculateLoudness(dataArray)%20%7B%0D%0A%20%20%20%20%20%20let%20sum%20%3D%200%3B%0D%0A%20%20%20%20%20%20for%20(let%20i%20%3D%200%3B%20i%20%3C%20dataArray.length%3B%20i%2B%2B)%20%7B%0D%0A%20%20%20%20%20%20%20%20sum%20%2B%3D%20dataArray%5Bi%5D%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20sum%20%2F%20dataArray.length%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20averageMicrophoneLoudness()%20%7B%0D%0A%20%20%20%20%20%20let%20loudness%20%3D%20this.calculateAverageLoudness(this.loudnessArray)%3B%0D%0A%20%20%20%20%20%20if%20(isNaN(loudness))%20%7B%0D%0A%20%20%20%20%20%20%20%20loudness%20%3D%20%22Microphone%20is%20Disabled!%22%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20loudness%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20calculateAverageLoudness(loudnessArray)%20%7B%0D%0A%20%20%20%20%20%20return%20loudnessArray.reduce((acc%2C%20loudness)%20%3D%3E%20acc%20%2B%20loudness%2C%200)%20%2F%20loudnessArray.length%20%2B1%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20toggleMicrophone(args)%20%7B%0D%0A%20%20%20%20%20%20if%20(args.STATE%20%3D%3D%3D%20%22enabled%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.isMicrophoneEnabled%20%3D%20true%3B%0D%0A%20%20%20%20%20%20%20%20this.initMicrophone()%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20this.isMicrophoneEnabled%20%3D%20false%3B%0D%0A%20%20%20%20%20%20%20%20this.disableMicrophone()%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20disableMicrophone()%20%7B%0D%0A%20%20%20%20%20%20if%20(this.audioContext)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.audioContext.close().then(()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20this.audioContext%20%3D%20null%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.loudnessArray%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20%20%20%7D).catch(error%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20console.error(%22Error%20while%20closing%20audio%20context%3A%22%2C%20error)%3B%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20handleKeyPress(key%2C%20loop)%20%7B%0D%0A%20%20%20%20%20%20if%20(key%20%3D%3D%3D%20%22Any%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20if%20(currentlyPressedKey%20%3D%3D%3D%20null)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20return%20false%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20key%20%3D%20currentlyPressedKey%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20if%20(isNaN(parseFloat(key)))%20%7B%0D%0A%20%20%20%20%20%20%20%20key%20%3D%20key.toUpperCase()%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20const%20pressedKey%20%3D%20this.pressedKey%20%7C%7C%20null%3B%0D%0A%0D%0A%20%20%20%20%20%20if%20(%0D%0A%20%20%20%20%20%20%20%20((key%20%3D%3D%3D%20%22SPACE%22%20%26%26%20pressedKey%20%3D%3D%3D%20%22%20%22)%20%7C%7C%0D%0A%20%20%20%20%20%20%20%20(key%20%3D%3D%3D%20pressedKey)%20%7C%7C%0D%0A%20%20%20%20%20%20%20%20(key.startsWith(%22DIGIT%22)%20%26%26%20key.slice(5)%20%3D%3D%3D%20pressedKey))%0D%0A%20%20%20%20%20%20)%20%7B%0D%0A%20%20%20%20%20%20%20%20key%20%3D%20(key%20%3D%3D%3D%20%22SPACE%22)%20%3F%20%22%20%22%20%3A%20key%3B%0D%0A%20%20%20%20%20%20%20%20if%20(isNaN(keyHitPass%5Bkey%5D))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20keyHitPass%5Bkey%5D%20%3D%200%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20keyHitPass%5Bkey%5D%20%3D%20keyHitPass%5Bkey%5D%20%2B%201%3B%0D%0A%20%20%20%20%20%20%20%20return%20(loop)%20%3F%20true%20%3A%20(keyHitPass%5Bkey%5D%20%3C%202)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20false%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20isKeyHit(args)%20%7B%0D%0A%20%20%20%20%20%20const%20key%20%3D%20Scratch.Cast.toString(args.KEY).replace(%22%20%22%2C%20%22%22)%3B%0D%0A%20%20%20%20%20%20const%20loop%20%3D%20false%3B%0D%0A%20%20%20%20%20%20return%20this.handleKeyPress%20(key%2C%20loop)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20whenKeyHit(args)%20%7B%0D%0A%20%20%20%20%20%20const%20key%20%3D%20Scratch.Cast.toString(args.KEY).replace(%22%20%22%2C%20%22%22)%3B%0D%0A%20%20%20%20%20%20const%20loop%20%3D%20false%3B%0D%0A%20%20%20%20%20%20return%20this.handleKeyPress%20(key%2C%20loop)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20whenKeyPressed(args)%20%7B%0D%0A%20%20%20%20%20%20const%20key%20%3D%20Scratch.Cast.toString(args.KEY).replace(%22%20%22%2C%20%22%22)%3B%0D%0A%20%20%20%20%20%20const%20loop%20%3D%20true%3B%0D%0A%20%20%20%20%20%20return%20this.handleKeyPress%20(key%2C%20loop)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20isKeyPressed(args)%20%7B%0D%0A%20%20%20%20%20%20const%20key%20%3D%20Scratch.Cast.toString(args.KEY).replace(%22%20%22%2C%20%22%22)%3B%0D%0A%20%20%20%20%20%20const%20loop%20%3D%20true%3B%0D%0A%20%20%20%20%20%20return%20this.handleKeyPress%20(key%2C%20loop)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20currentKey()%20%7B%0D%0A%20%20%20%20%20%20if%20(currentlyPressedKey%20%3D%3D%3D%20null)%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20%22No%20Keys%20Pressed%22%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(currentlyPressedKey.includes(%22ARROW%22)%20%7C%7C%20currentlyPressedKey%20%3D%3D%3D%20%22CAPSLOCK%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20(currentlyPressedKey%20%3D%3D%3D%20%22CAPSLOCK%22)%20%3F%20%22Caps%20Lock%22%20%3A%20%22Arrow%20%22%20%2B%20currentlyPressedKey.charAt(5).toUpperCase()%20%2B%20currentlyPressedKey.slice(6).toLowerCase()%3B%20%2F%2Fmakes%20it%20%22Arrow%20Left%22%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20currentlyPressedKey.charAt(0).toUpperCase()%20%2B%20currentlyPressedKey.slice(1).toLowerCase()%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20timeKeyPressed(args)%20%7B%0D%0A%20%20%20%20%20%20let%20key%20%3D%20Scratch.Cast.toString(args.KEY).replace(%22%20%22%2C%20%22%22)%3B%0D%0A%20%20%20%20%20%20if%20(isNaN(parseFloat(key)))%20%7B%0D%0A%20%20%20%20%20%20%20%20key%20%3D%20key.toUpperCase()%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20if%20(key%20%3D%3D%3D%20%22SPACE%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20key%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20if%20(key%20%3D%3D%3D%20this.pressedKey%20%7C%7C%20args.KEY%20%3D%3D%3D%20%22Any%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20keyPressTime%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20return%200%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20spriteTouchingSprite(args%2C%20util)%20%7B%0D%0A%20%20%20%20%20%20const%20sprite1%20%3D%20args.SPRITE1%3B%0D%0A%20%20%20%20%20%20const%20sprite2%20%3D%20args.SPRITE2%3B%0D%0A%20%20%20%20%20%20const%20target%20%3D%20sprite2%20%3D%3D%3D%20%22_myself_%22%20%3F%20util.target%20%3A%20runtime.getSpriteTargetByName(sprite2)%3B%0D%0A%20%20%20%20%20%20if%20(!target)%20return%20false%3B%0D%0A%20%20%20%20%20%20return%20target.isTouchingObject(sprite1)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20spriteCurrentTouching(args%2C%20util)%20%7B%0D%0A%20%20%20%20%20%20const%20list%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20const%20spriteNames%20%3D%20this._getTargets()%3B%0D%0A%20%20%20%20%20%20if%20(args.SPRITE%20%3D%3D%3D%20%22_myself_%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20this.spriteCurrentTouchingMyself(util)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20const%20thisSprite%20%3D%20args.SPRITE%20%3D%3D%3D%20%22_mouse_%22%20%3F%20%22_mouse_%22%20%3A%20args.SPRITE%3B%0D%0A%20%20%20%20%20%20if%20(!thisSprite)%20return%20%22%5B%5D%22%3B%0D%0A%20%20%20%20%20%20for%20(let%20i%20%3D%200%3B%20i%20%3C%20spriteNames.length%3B%20i%2B%2B)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20target%20%3D%20runtime.getSpriteTargetByName(spriteNames%5Bi%5D.value)%3B%0D%0A%20%20%20%20%20%20%20%20let%20caseTouch%20%3D%20target.isTouchingObject(thisSprite)%3B%0D%0A%20%20%20%20%20%20%20%20if%20(caseTouch)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(spriteNames%5Bi%5D.value%20!%3D%3D%20thisSprite)%20list.push(spriteNames%5Bi%5D.value)%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20JSON.stringify(list)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20spriteCurrentTouchingMyself(util)%20%7B%0D%0A%20%20%20%20%20%20const%20list%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20const%20spriteNames%20%3D%20this._getTargets()%3B%0D%0A%20%20%20%20%20%20for%20(let%20i%20%3D%200%3B%20i%20%3C%20spriteNames.length%3B%20i%2B%2B)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20sprite1%20%3D%20spriteNames%5Bi%5D.value%3B%0D%0A%20%20%20%20%20%20%20%20const%20target%20%3D%20util.target%3B%0D%0A%20%20%20%20%20%20%20%20let%20caseTouch%3B%0D%0A%20%20%20%20%20%20%20%20caseTouch%20%3D%20target.isTouchingObject(sprite1)%3B%0D%0A%20%20%20%20%20%20%20%20if%20(caseTouch)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20list.push(spriteNames%5Bi%5D.value)%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20JSON.stringify(list)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20getNeighbors(args)%20%7B%0D%0A%20%20%20%20%20%20const%20list%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20const%20spriteNames%20%3D%20this._getTargets()%3B%0D%0A%20%20%20%20%20%20const%20target%20%3D%20runtime.getSpriteTargetByName(args.SPRITE)%3B%0D%0A%20%20%20%20%20%20if%20(!target)%20return%20%22%5B%5D%22%3B%0D%0A%20%20%20%20%20%20const%20old%20%3D%20%5Btarget.size%2C%20target.direction%5D%3B%0D%0A%20%20%20%20%20%20target.setDirection(-179)%2C%20target.setSize(Math.abs(Scratch.Cast.toNumber(args.DIAMETER)))%3B%0D%0A%20%20%20%20%20%20for%20(let%20l%20%3D%200%3B%20l%20%3C%2090%3B%20l%2B%2B)%20%7B%0D%0A%20%20%20%20%20%20%20%20for%20(let%20i%20%3D%200%3B%20i%20%3C%20spriteNames.length%3B%20i%2B%2B)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20sprite1%20%3D%20spriteNames%5Bi%5D.value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20let%20caseTouch%20%3D%20target.isTouchingObject(sprite1)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(caseTouch%20%26%26%20!list.includes(sprite1))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(target.sprite.name%20!%3D%3D%20sprite1)%20list.push(spriteNames%5Bi%5D.value)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20target.setDirection(target.direction%20%2B%202)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20const%20formattedList%20%3D%20JSON.stringify(list)%3B%0D%0A%20%20%20%20%20%20target.setSize(old%5B0%5D)%2C%20target.setDirection(old%5B1%5D)%3B%0D%0A%20%20%20%20%20%20return%20formattedList%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20colorAtPosition(args)%20%7B%0D%0A%20%20%20%20%20%20return%20this.colorTouching(Scratch.Cast.toNumber(args.x)%2C%20Scratch.Cast.toNumber(args.y))%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%20%20%0D%0A%20%20%20%20colorTouchingSprite(args%2C%20util)%20%7B%0D%0A%20%20%20%20%20%20let%20hex%3B%0D%0A%20%20%20%20%20%20if%20(args.SPRITE%20%3D%3D%3D%20%22_mouse_%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20hex%20%3D%20this.colorTouching(util.ioQuery(%22mouse%22%2C%20%22getScratchX%22)%2C%20util.ioQuery(%22mouse%22%2C%20%22getScratchY%22))%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20target%20%3D%20args.SPRITE%20%3D%3D%3D%20%22_myself_%22%20%3F%20util.target%20%3A%20runtime.getSpriteTargetByName(args.SPRITE)%3B%0D%0A%20%20%20%20%20%20%20%20const%20wasVisible%20%3D%20target.visible%3B%0D%0A%20%20%20%20%20%20%20%20target.setVisible(false)%3B%0D%0A%20%20%20%20%20%20%20%20hex%20%3D%20this.colorTouching(target.x%2C%20target.y)%3B%0D%0A%20%20%20%20%20%20%20%20target.setVisible(wasVisible)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20hex%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20colorTouching(x%2C%20y)%20%7B%0D%0A%20%20%20%20%20%20const%20clientX%20%3D%20Math.round((((runtime.stageWidth%20%2F%202)%20%2B%20x)%20%2F%20runtime.stageWidth)%20*%20renderer._gl.canvas.clientWidth)%3B%0D%0A%20%20%20%20%20%20const%20clientY%20%3D%20Math.round((((runtime.stageHeight%20%2F%202)%20-%20y)%20%2F%20runtime.stageHeight)%20*%20renderer._gl.canvas.clientHeight)%3B%0D%0A%20%20%20%20%20%20const%20colorInfo%20%3D%20renderer.extractColor(clientX%2C%20clientY%2C%2020)%3B%0D%0A%20%20%20%20%20%20const%20r%20%3D%20colorInfo.color.r.toString(16).padStart(2%2C%20%220%22)%3B%0D%0A%20%20%20%20%20%20const%20g%20%3D%20colorInfo.color.g.toString(16).padStart(2%2C%20%220%22)%3B%0D%0A%20%20%20%20%20%20const%20b%20%3D%20colorInfo.color.b.toString(16).padStart(2%2C%20%220%22)%3B%0D%0A%20%20%20%20%20%20return%20%60%23%24%7Br%7D%24%7Bg%7D%24%7Bb%7D%60%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20scrollWheelHat(args)%20%7B%0D%0A%20%20%20%20%20%20let%20status%3B%0D%0A%20%20%20%20%20%20if%20(args.EVENT%20%3D%3D%3D%20%22down%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20status%20%3D%20this.scrollDistance%20%3E%20this.oldScroll%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20status%20%3D%20this.scrollDistance%20%3C%20this.oldScroll%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20if%20(status)%20this.oldScroll%20%3D%20this.scrollDistance%3B%0D%0A%20%20%20%20%20%20return%20(status)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20scrollWheelBool(args)%20%7B%0D%0A%20%20%20%20%20%20let%20status%3B%0D%0A%20%20%20%20%20%20if%20(args.EVENT%20%3D%3D%3D%20%22down%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20status%20%3D%20this.scrollDistance%20%3E%20this.oldScroll%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20status%20%3D%20this.scrollDistance%20%3C%20this.oldScroll%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20if%20(status)%20this.oldScroll%20%3D%20this.scrollDistance%3B%0D%0A%20%20%20%20%20%20return%20(!!status)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20spriteDragMode(args)%20%7B%0D%0A%20%20%20%20%20%20const%20target%20%3D%20runtime.getSpriteTargetByName(args.SPRITE)%3B%0D%0A%20%20%20%20%20%20target.setDraggable(args.DRAG%20%3D%3D%3D%20%22draggable%22)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20boolean(args)%20%7B%0D%0A%20%20%20%20%20%20const%20string%20%3D%20Scratch.Cast.toString(args.STRING)%3B%0D%0A%20%20%20%20%20%20return%20(!!string%20%26%26%20args.STRING%20!%3D%3D%20undefined)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setAtt(args)%20%7B%0D%0A%20%20%20%20%20%20let%20box%20%3D%20document.querySelectorAll(%60%5Bclass%5E%3D%22question%22%5D%60)%5B0%5D%3B%0D%0A%20%20%20%20%20%20if%20(!box)%20return%3B%0D%0A%20%20%20%20%20%20const%20canvas%20%3D%20getComputedStyle(document.querySelector(%22canvas%22))%3B%0D%0A%20%20%20%20%20%20if%20(args.width)%20%7B%0D%0A%20%20%20%20%20%20%20%20box.style.width%20%3D%20%60%24%7Bargs.width%20*%20(parseInt(canvas.width)%20%2F%20480)%7Dpx%60%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20if%20(args.x%20!%3D%3D%20%22%22%20%26%26%20args.y%20!%3D%3D%20%22%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20x%20%3D%20args.x%20%2B%20(parseInt(canvas.width)%20%2F%202)%20-%20(args.width%20*%20(parseInt(canvas.width)%20%2F%20480)%20%2F%202)%3B%0D%0A%20%20%20%20%20%20%20%20const%20y%20%3D%20args.y%20%2B%20(parseInt(canvas.height)%20%2F%202)%20-%20(this.wait%5B1%5D%20%3D%3D%3D%20%22stage%22%20%3F%2053%20%3A%2039)%3B%0D%0A%20%20%20%20%20%20%20%20box.style.transform%20%3D%20%60translate(%24%7Bx%7Dpx%2C%20%24%7By%20*%20-1%7Dpx)%60%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20advancedAsk(args%2C%20util)%20%7B%0D%0A%20%20%20%20%20%20const%20wasVisible%20%3D%20util.target.visible%3B%0D%0A%20%20%20%20%20%20if%20(!util.target.isStage%20%26%26%20args.THING%20%3D%3D%3D%20%22stage%22)%20%7Butil.target.setVisible(false)%7D%0D%0A%20%20%20%20%20%20this.wait%20%3D%20%5Btrue%2C%20args.THING%5D%3B%0D%0A%20%20%20%20%20%20runtime.ext_scratch3_sensing.askAndWait(args%2C%20util)%3B%0D%0A%20%20%20%20%20%20if%20(!util.target.isStage%20%26%26%20wasVisible)%20%7Butil.target.setVisible(true)%7D%0D%0A%20%20%20%20%20%20if%20(args.WAIT%20%3D%3D%3D%20%22wait%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20new%20Promise(resolve%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20checkWait%20%3D%20()%20%3D%3E%20this.wait%5B0%5D%20%3F%20setTimeout(checkWait%2C%20100)%20%3A%20resolve()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20checkWait()%3B%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20mouseClick(args%2C%20util)%20%7Breturn%20util.ioQuery(%22mouse%22%2C%20%22getButtonIsDown%22%2C%20%5BScratch.Cast.toNumber(args.BUTTON)%5D)%7D%0D%0A%20%20%20%20realX()%20%7Breturn%20window.mouseX%7D%0D%0A%20%20%20%20realY()%20%7Breturn%20window.mouseY%7D%0D%0A%0D%0A%20%20%20%20getAllString(args)%20%7B%0D%0A%20%20%20%20%20%20let%20regex%3B%0D%0A%20%20%20%20%20%20if%20(args.TEXT%20%3D%3D%3D%20%22letters%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20regex%20%3D%20%2F%5B%5EA-Za-z%5D%2Fg%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(args.TEXT%20%3D%3D%3D%20%22numbers%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20regex%20%3D%20%2F%5B%5E0-9%5D%2Fg%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20regex%20%3D%20%2F%5BA-Za-z0-9%5D%2Fg%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20args.STRING.replace(regex%2C%20%22%22)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20_getTargets(mouse%2C%20myself)%20%7B%0D%0A%20%20%20%20%20%20const%20spriteNames%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20if%20(mouse)%20%7B%0D%0A%20%20%20%20%20%20%20%20spriteNames.push(%7B%0D%0A%20%20%20%20%20%20%20%20%20%20text%3A%20%22mouse-pointer%22%2C%20value%3A%20%22_mouse_%22%2C%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20if%20(myself)%20%7B%0D%0A%20%20%20%20%20%20%20%20spriteNames.push(%7B%0D%0A%20%20%20%20%20%20%20%20%20%20text%3A%20%22myself%22%2C%20value%3A%20%22_myself_%22%2C%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20const%20targets%20%3D%20Scratch.vm.runtime.targets%3B%0D%0A%20%20%20%20%20%20for%20(let%20index%20%3D%201%3B%20index%20%3C%20targets.length%3B%20index%2B%2B)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20target%20%3D%20targets%5Bindex%5D%3B%0D%0A%20%20%20%20%20%20%20%20if%20(target.isOriginal)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20targetName%20%3D%20target.getName()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20spriteNames.push(%7B%20text%3A%20targetName%2C%20value%3A%20targetName%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20if%20(spriteNames.length%20%3E%200)%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20spriteNames%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20%5B%22%22%5D%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%0D%0A%20%20Scratch.extensions.register(new%20HyperSenseSP())%3B%0D%0A%7D)(Scratch)%3B%0D%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Better%20Input%0D%0A%2F%2F%20ID%3A%20BetterInputSP%0D%0A%2F%2F%20Description%3A%20Expansion%20of%20the%20%22ask%20and%20wait%22%20Blocks%0D%0A%2F%2F%20By%3A%20SharkPool%20%3Chttps%3A%2F%2Fgithub.com%2FSharkPool-SP%3E%0D%0A%0D%0A%2F%2F%20Version%20V.3.0.0%20(Infinite%20Buttons%20%2B%20More%20Live%20Updated%20Elements%20%2B%20Image%20setting%20for%20Buttons)%0D%0A%0D%0A(function%20(Scratch)%20%7B%0D%0A%20%20%22use%20strict%22%3B%0D%0A%0D%0A%20%20if%20(!Scratch.extensions.unsandboxed)%20%7B%0D%0A%20%20%20%20throw%20new%20Error(%22Better%20Input%20must%20run%20unsandboxed%22)%3B%0D%0A%20%20%7D%0D%0A%0D%0A%20%20const%20menuIconURI%20%3D%0D%0A%22data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMzQuMTc2MjgiIGhlaWdodD0iMTM0LjE3NjI4IiB2aWV3Qm94PSIwLDAsMTM0LjE3NjI4LDEzNC4xNzYyOCI%2BPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE3Mi45MTE4NiwtMTEyLjkxMTg2KSI%2BPGcgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aXNQYWludGluZ0xheWVyJnF1b3Q7OnRydWV9IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IiIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbm9ybWFsIj48cGF0aCBkPSJNMTcyLjkxMTg2LDE4MGMwLC0zNy4wNTE3NiAzMC4wMzYzOCwtNjcuMDg4MTQgNjcuMDg4MTQsLTY3LjA4ODE0YzM3LjA1MTc2LDAgNjcuMDg4MTQsMzAuMDM2MzggNjcuMDg4MTQsNjcuMDg4MTRjMCwzNy4wNTE3NiAtMzAuMDM2MzgsNjcuMDg4MTQgLTY3LjA4ODE0LDY3LjA4ODE0Yy0zNy4wNTE3NiwwIC02Ny4wODgxNCwtMzAuMDM2MzggLTY3LjA4ODE0LC02Ny4wODgxNHoiIGZpbGw9IiM5NDAwZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIwIi8%2BPHBhdGggZD0iTTI0OS42Nzg4MiwxNDEuMDQ1NzZsMTAuODMzOSwwLjAzOTgzYzEwLjUxNTI2LDAuMDc5NjYgMTAuODMzOSwwLjExOTQ5IDExLjUxMTAyLDAuNTk3NDVjMi40Mjk2NiwxLjg3MjA0IDIuMzg5ODMsNC45Mzg5OSAtMC4xNTkzMyw2LjY1MTY5Yy0wLjc1Njc4LDAuNTE3OCAtMS4xMTUyNSwwLjU1NzYzIC00LjM0MTUyLDAuNTU3NjNoLTMuNTA1MDl2MzEuMTA3NjN2MzEuMDY3NzloMy40NjUyNmMzLjk0MzIyLDAgNC44OTkxNiwwLjMxODY1IDUuODE1MjYsMS45NTE3YzEuMDM1NiwxLjgzMjIgMC41MTc4LDMuOTQzMjMgLTEuMjc0NTgsNS4yNTc2M2MtMC42NzcxMiwwLjUxNzggLTAuOTk1NzYsMC41MTc4IC0xMS41MTEwMiwwLjU5NzQ1bC0xMC44MzM5LDAuMDc5NjZsLTEuMTE1MjUsLTAuNTU3NjNjLTEuMTU1MDksLTAuNjM3MjkgLTIuMTkwNjgsLTIuMTUwODUgLTIuMTkwNjgsLTMuMzg1NmMwLC0wLjg3NjI3IDAuOTk1NzcsLTIuNjY4NjQgMS43OTIzNywtMy4yNjYxYzAuNTk3NDYsLTAuNDc3OTcgMS4xMTUyNSwtMC41MTc4IDQuMzQxNTIsLTAuNTk3NDVsMy42NjQ0LC0wLjA3OTY3di0zMS4wNjc3OXYtMzEuMDY3NzlsLTMuNjY0NCwtMC4wNzk2N2MtMy4yMjYyNywtMC4wNzk2NiAtMy43NDQwNiwtMC4xMTk0OSAtNC4zNDE1MiwtMC41OTc0NWMtMC43OTY2MSwtMC41NTc2MyAtMS43OTIzNywtMi4zNSAtMS43OTIzNywtMy4yNjYxYzAsLTEuMjM0NzUgMC45OTU3NiwtMi43ODgxNCAyLjE5MDY4LC0zLjM4NTZ6IiBmaWxsPSJub25lIiBzdHJva2U9IiM2OTAwYjQiIHN0cm9rZS13aWR0aD0iMTAiLz48cGF0aCBkPSJNMjI0LjY2NTI2LDE1OC40NTE3aDI4LjA0MDY3djIxLjU0ODMxdjIxLjUwODQ4bC0yOC40Mzg5OCwtMC4wMzk4M2MtMjguMiwtMC4wNzk2NiAtMjguNDM4OTksLTAuMDc5NjcgLTI5LjMxNTI2LC0wLjU5NzQ2Yy0wLjQ3Nzk3LC0wLjI3ODgyIC0xLjExNTI1LC0wLjkxNjEgLTEuMzk0MDcsLTEuNDczNzNsLTAuNTU3NjMsLTAuOTU1OTN2LTE4LjQ0MTUzYzAsLTE3LjcyNDU4IDAuMDM5ODMsLTE4LjQ0MTUzIDAuNDc3OTcsLTE5LjM1NzYzYzAuNTk3NDYsLTEuMDc1NDIgMC45NTU5MywtMS40MzM5IDIuMTUwODUsLTEuODcyMDNjMC43NTY3OCwtMC4yMzg5OSA2LjE3MzczLC0wLjMxODY1IDI5LjAzNjQ0LC0wLjMxODY1ek0yMTQuNjI3OTcsMTY4LjQ0OTE2Yy0wLjYzNzI5LDAuMzk4MyAtMS4zMTQ0MSwxLjc5MjM3IC01LjAxODY0LDkuOTk3NDZjLTQuNjIwMzQsMTAuMjM2NDQgLTQuODU5MzIsMTAuOTEzNTYgLTMuODIzNzIsMTIuMDI4ODJjMS4xNTUwOSwxLjIzNDc1IDIuOTQ3NDUsMS4yNzQ1NyAzLjk4MzA1LDAuMDM5ODNjMC4zMTg2NSwtMC4zOTgzIDAuNzk2NiwtMS4yNzQ1NyAxLjAzNTU5LC0xLjk1MTdsMC40MzgxNCwtMS4yMzQ3NWg0Ljc3OTY2aDQuNzc5NjZsMC41NTc2MywxLjQzMzljMC43MTY5NSwxLjk1MTcgMS40NzM3MywyLjYyODgyIDIuOTA3NjMsMi42Mjg4MmMwLjkxNjEsMCAxLjE5NDkxLC0wLjExOTQ5IDEuNzkyMzcsLTAuNzk2NjFjMC41MTc4LC0wLjU1NzYzIDAuNzE2OTUsLTEuMDM1NTkgMC43MTY5NSwtMS42NzI4OGMwLC0wLjYzNzI5IC0xLjE1NTA4LC0zLjU4NDc0IC0zLjc4MzksLTkuNDM5ODNjLTQuOTc4ODEsLTExLjE5MjM3IC00LjczOTg0LC0xMC43MTQ0MSAtNS41MzY0NSwtMTEuMTEyNzFjLTAuOTE2MSwtMC41MTc4IC0xLjkxMTg3LC0wLjQ3Nzk2IC0yLjgyNzk3LDAuMDc5NjZ6IiBmaWxsPSJub25lIiBzdHJva2U9IiM2OTAwYjQiIHN0cm9rZS13aWR0aD0iMTAiLz48cGF0aCBkPSJNMjE2LjEwMTcsMTc2LjA5NjYxYzAuMTU5MzIsMC4xNTkzMiAyLjU4ODk4LDYuMTMzOSAyLjU4ODk4LDYuMzMzMDVjMCwwLjE1OTMyIC0xLjE5NDkxLDAuMjM4OTggLTIuNzA4NDcsMC4yMzg5OGMtMi4wNzExOCwwIC0yLjY2ODY0LC0wLjA3OTY2IC0yLjU4ODk4LC0wLjMxODY1YzAuMDc5NjYsLTAuMTU5MzIgMC42NzcxMiwtMS42MzMwNSAxLjM5NDA3LC0zLjMwNTkzYzAuNzE2OTUsLTEuNjMzMDUgMS4zMTQ0LC0yLjk4NzI5IDEuMzE0NCwtMi45NDc0NnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY5MDBiNCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0yNjcuNjQyMzgsMTgwdi0yMS41ODgxM2w4LjI4NDc0LDAuMDc5NjZjNy44MDY3OCwwLjA3OTY2IDguMzI0NTgsMC4xMTk1IDkuMTIxMTksMC41OTc0NmMwLjQ3Nzk2LDAuMjc4ODIgMS4xMTUyNSwwLjkxNjEgMS4zOTQwNywxLjQ3MzczbDAuNTU3NjIsMC45NTU5M3YxOC40ODEzNnYxOC40NDE1M2wtMC41NTc2MiwwLjk1NTkzYy0wLjI3ODgyLDAuNTU3NjMgLTAuOTE2MTEsMS4xOTQ5MSAtMS4zOTQwNywxLjQ3MzczYy0wLjgzNjQ0LDAuNTE3OCAtMS4zMTQ0MSwwLjUxNzggLTkuMTIxMTksMC41OTc0NmwtOC4yODQ3NCwwLjA3OTY2di0yMS41NDgzeiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjkwMGI0IiBzdHJva2Utd2lkdGg9IjEwIi8%2BPHBhdGggZD0iTTI0OS42Nzg4MiwxNDEuMDQ1NzZsMTAuODMzOSwwLjAzOTgzYzEwLjUxNTI2LDAuMDc5NjYgMTAuODMzOSwwLjExOTQ5IDExLjUxMTAyLDAuNTk3NDVjMi40Mjk2NiwxLjg3MjA0IDIuMzg5ODMsNC45Mzg5OSAtMC4xNTkzMyw2LjY1MTY5Yy0wLjc1Njc4LDAuNTE3OCAtMS4xMTUyNSwwLjU1NzYzIC00LjM0MTUyLDAuNTU3NjNoLTMuNTA1MDl2MzEuMTA3NjN2MzEuMDY3NzloMy40NjUyNmMzLjk0MzIyLDAgNC44OTkxNiwwLjMxODY1IDUuODE1MjYsMS45NTE3YzEuMDM1NiwxLjgzMjIgMC41MTc4LDMuOTQzMjMgLTEuMjc0NTgsNS4yNTc2M2MtMC42NzcxMiwwLjUxNzggLTAuOTk1NzYsMC41MTc4IC0xMS41MTEwMiwwLjU5NzQ1bC0xMC44MzM5LDAuMDc5NjZsLTEuMTE1MjUsLTAuNTU3NjNjLTEuMTU1MDksLTAuNjM3MjkgLTIuMTkwNjgsLTIuMTUwODUgLTIuMTkwNjgsLTMuMzg1NmMwLC0wLjg3NjI3IDAuOTk1NzcsLTIuNjY4NjQgMS43OTIzNywtMy4yNjYxYzAuNTk3NDYsLTAuNDc3OTcgMS4xMTUyNSwtMC41MTc4IDQuMzQxNTIsLTAuNTk3NDVsMy42NjQ0LC0wLjA3OTY3di0zMS4wNjc3OXYtMzEuMDY3NzlsLTMuNjY0NCwtMC4wNzk2N2MtMy4yMjYyNywtMC4wNzk2NiAtMy43NDQwNiwtMC4xMTk0OSAtNC4zNDE1MiwtMC41OTc0NWMtMC43OTY2MSwtMC41NTc2MyAtMS43OTIzNywtMi4zNSAtMS43OTIzNywtMy4yNjYxYzAsLTEuMjM0NzUgMC45OTU3NiwtMi43ODgxNCAyLjE5MDY4LC0zLjM4NTZ6IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIvPjxwYXRoIGQ9Ik0yNTEuMzcyNiwxNTguNDUxN3Y0My4wNTY3OGMwLDAgLTU1LjU0NDYzLC0wLjExOTUgLTU2LjQyMDksLTAuNjM3MjljLTAuNDc3OTcsLTAuMjc4ODIgLTEuMTE1MjUsLTAuOTE2MSAtMS4zOTQwNywtMS40NzM3M2wtMC41NTc2MywtMC45NTU5M3YtMTguNDQxNTNjMCwtMTcuNzI0NTggMC4wMzk4MywtMTguNDQxNTMgMC40Nzc5NywtMTkuMzU3NjNjMC41OTc0NiwtMS4wNzU0MiAwLjk1NTkzLC0xLjQzMzkgMi4xNTA4NSwtMS44NzIwM2MwLjc1Njc4LC0wLjIzODk5IDU1Ljc0Mzc4LC0wLjMxODY1IDU1Ljc0Mzc4LC0wLjMxODY1ek0yMTQuNjI3OTcsMTY4LjQ0OTE2Yy0wLjYzNzI5LDAuMzk4MyAtMS4zMTQ0MSwxLjc5MjM3IC01LjAxODY0LDkuOTk3NDZjLTQuNjIwMzQsMTAuMjM2NDQgLTQuODU5MzIsMTAuOTEzNTYgLTMuODIzNzIsMTIuMDI4ODJjMS4xNTUwOSwxLjIzNDc1IDIuOTQ3NDUsMS4yNzQ1NyAzLjk4MzA1LDAuMDM5ODNjMC4zMTg2NSwtMC4zOTgzIDAuNzk2NiwtMS4yNzQ1NyAxLjAzNTU5LC0xLjk1MTdsMC40MzgxNCwtMS4yMzQ3NWg0Ljc3OTY2aDQuNzc5NjZsMC41NTc2MywxLjQzMzljMC43MTY5NSwxLjk1MTcgMS40NzM3MywyLjYyODgyIDIuOTA3NjMsMi42Mjg4MmMwLjkxNjEsMCAxLjE5NDkxLC0wLjExOTQ5IDEuNzkyMzcsLTAuNzk2NjFjMC41MTc4LC0wLjU1NzYzIDAuNzE2OTUsLTEuMDM1NTkgMC43MTY5NSwtMS42NzI4OGMwLC0wLjYzNzI5IC0xLjE1NTA4LC0zLjU4NDc0IC0zLjc4MzksLTkuNDM5ODNjLTQuOTc4ODEsLTExLjE5MjM3IC00LjczOTg0LC0xMC43MTQ0MSAtNS41MzY0NSwtMTEuMTEyNzFjLTAuOTE2MSwtMC41MTc4IC0xLjkxMTg3LC0wLjQ3Nzk2IC0yLjgyNzk3LDAuMDc5NjZ6IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIvPjxwYXRoIGQ9Ik0yMTYuMTAxNywxNzYuMDk2NjFjMC4xNTkzMiwwLjE1OTMyIDIuNTg4OTgsNi4xMzM5IDIuNTg4OTgsNi4zMzMwNWMwLDAuMTU5MzIgLTEuMTk0OTEsMC4yMzg5OCAtMi43MDg0NywwLjIzODk4Yy0yLjA3MTE4LDAgLTIuNjY4NjQsLTAuMDc5NjYgLTIuNTg4OTgsLTAuMzE4NjVjMC4wNzk2NiwtMC4xNTkzMiAwLjY3NzEyLC0xLjYzMzA1IDEuMzk0MDcsLTMuMzA1OTNjMC43MTY5NSwtMS42MzMwNSAxLjMxNDQsLTIuOTg3MjkgMS4zMTQ0LC0yLjk0NzQ2eiIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNMjY4Ljk3NTcxLDE1OC40MTE4N2MwLDAgMTUuMjc1OTksMC4xOTkxNSAxNi4wNzI2LDAuNjc3MTJjMC40Nzc5NiwwLjI3ODgyIDEuMTE1MjUsMC45MTYxIDEuMzk0MDcsMS40NzM3M2wwLjU1NzYyLDAuOTU1OTN2MTguNDgxMzZ2MTguNDQxNTNsLTAuNTU3NjIsMC45NTU5M2MtMC4yNzg4MiwwLjU1NzYzIC0wLjkxNjExLDEuMTk0OTEgLTEuMzk0MDcsMS40NzM3M2MtMC44MzY0NCwwLjUxNzggLTE2LjA3MjYsMC42NzcxMiAtMTYuMDcyNiwwLjY3NzEyeiIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiLz48L2c%2BPC9nPjwvc3ZnPg%3D%3D%22%3B%0D%0A%0D%0A%20%20const%20blockIconURI%20%3D%0D%0A%22data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI3OS4zNjMxMyIgaGVpZ2h0PSI4Ny45MjE0OSIgdmlld0JveD0iMCwwLDc5LjM2MzEzLDg3LjkyMTQ5Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAwLjMxODQzLC0xMzYuMDQxNDMpIj48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpc1BhaW50aW5nTGF5ZXImcXVvdDs6dHJ1ZX0iIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0yMzIuNjcxMTksMTgwLjAwMDAzdjIxLjU0ODNsLTExLjcwNjUyLC0wLjA3OTY2Yy0xMS4wMzExNiwtMC4wNzk2NiAtMTEuNzA2NTQsLTAuMDc5NjYgLTEyLjg4ODQ1LC0wLjU5NzQ2Yy0wLjY3NTM3LC0wLjI3ODgyIC0xLjU3NTg3LC0wLjkxNjEgLTEuOTY5ODUsLTEuNDczNzNsLTAuNzg3OTMsLTAuOTU1OTN2LTE4LjQ0MTUzdi0xOC40ODEzNmwwLjc4NzkzLC0wLjk1NTkzYzAuMzkzOTgsLTAuNTU3NjMgMS4yOTQ0OCwtMS4xOTQ5MSAxLjk2OTg1LC0xLjQ3MzczYzEuMTI1NjMsLTAuNDc3OTYgMS44NTcyOSwtMC41MTc4IDEyLjg4ODQ1LC0wLjU5NzQ2bDExLjcwNjUyLC0wLjA3OTY2djIxLjU4ODEzeiIgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aW5kZXgmcXVvdDs6bnVsbH0iIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY5MDBiNCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0yMzAuNzg3MTYsMjAxLjU0ODMzYzAsMCAtMjEuNTI5MDQsLTAuMTU5MzIgLTIyLjcxMDk0LC0wLjY3NzEyYy0wLjY3NTM3LC0wLjI3ODgyIC0xLjU3NTg3LC0wLjkxNjEgLTEuOTY5ODUsLTEuNDczNzNsLTAuNzg3OTMsLTAuOTU1OTN2LTE4LjQ0MTUzdi0xOC40ODEzNmwwLjc4NzkzLC0wLjk1NTkzYzAuMzkzOTgsLTAuNTU3NjMgMS4yOTQ0OCwtMS4xOTQ5MSAxLjk2OTg1LC0xLjQ3MzczYzEuMTI1NjMsLTAuNDc3OTcgMjIuNzEwOTQsLTAuNjc3MTIgMjIuNzEwOTQsLTAuNjc3MTJ6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNMjQ3LjMyODgxLDE4MC4wMDAwMXYtMjEuNTg4MTNsMTEuNzA2NTIsMC4wNzk2NmMxMS4wMzExNiwwLjA3OTY2IDExLjc2MjgyLDAuMTE5NSAxMi44ODg0NSwwLjU5NzQ2YzAuNjc1MzcsMC4yNzg4MiAxLjU3NTg3LDAuOTE2MSAxLjk2OTg1LDEuNDczNzNsMC43ODc5MywwLjk1NTkzdjE4LjQ4MTM2djE4LjQ0MTUzbC0wLjc4NzkzLDAuOTU1OTNjLTAuMzkzOTgsMC41NTc2MyAtMS4yOTQ0OCwxLjE5NDkxIC0xLjk2OTg1LDEuNDczNzNjLTEuMTgxOTEsMC41MTc4IC0xLjg1NzI5LDAuNTE3OCAtMTIuODg4NDUsMC41OTc0NmwtMTEuNzA2NTIsMC4wNzk2NnYtMjEuNTQ4M3oiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY5MDBiNCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0yNDkuMjEyODQsMTU4LjQxMTg4YzAsMCAyMS41ODUzMiwwLjE5OTE1IDIyLjcxMDk0LDAuNjc3MTJjMC42NzUzNywwLjI3ODgyIDEuNTc1ODcsMC45MTYxIDEuOTY5ODUsMS40NzM3M2wwLjc4NzkzLDAuOTU1OTN2MTguNDgxMzZ2MTguNDQxNTNsLTAuNzg3OTMsMC45NTU5M2MtMC4zOTM5OCwwLjU1NzYzIC0xLjI5NDQ4LDEuMTk0OTEgLTEuOTY5ODUsMS40NzM3M2MtMS4xODE5MSwwLjUxNzggLTIyLjcxMDk0LDAuNjc3MTIgLTIyLjcxMDk0LDAuNjc3MTJ6IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIvPjxwYXRoIGQ9Ik0yMjkuNTk1NTYsMTQxLjA0NTc3bDEwLjgzMzksMC4wMzk4M2MxMC41MTUyNiwwLjA3OTY2IDEwLjgzMzksMC4xMTk0OSAxMS41MTEwMiwwLjU5NzQ1YzIuNDI5NjYsMS44NzIwNCAyLjM4OTgzLDQuOTM4OTkgLTAuMTU5MzMsNi42NTE2OWMtMC43NTY3OCwwLjUxNzggLTEuMTE1MjUsMC41NTc2MyAtNC4zNDE1MiwwLjU1NzYzaC0zLjUwNTA5djMxLjEwNzYzdjMxLjA2Nzc5aDMuNDY1MjZjMy45NDMyMiwwIDQuODk5MTYsMC4zMTg2NSA1LjgxNTI2LDEuOTUxN2MxLjAzNTYsMS44MzIyIDAuNTE3OCwzLjk0MzIzIC0xLjI3NDU4LDUuMjU3NjNjLTAuNjc3MTIsMC41MTc4IC0wLjk5NTc2LDAuNTE3OCAtMTEuNTExMDIsMC41OTc0NWwtMTAuODMzOSwwLjA3OTY2bC0xLjExNTI1LC0wLjU1NzYzYy0xLjE1NTA5LC0wLjYzNzI5IC0yLjE5MDY4LC0yLjE1MDg1IC0yLjE5MDY4LC0zLjM4NTZjMCwtMC44NzYyNyAwLjk5NTc3LC0yLjY2ODY0IDEuNzkyMzcsLTMuMjY2MWMwLjU5NzQ2LC0wLjQ3Nzk3IDEuMTE1MjUsLTAuNTE3OCA0LjM0MTUyLC0wLjU5NzQ1bDMuNjY0NCwtMC4wNzk2N3YtMzEuMDY3Nzl2LTMxLjA2Nzc5bC0zLjY2NDQsLTAuMDc5NjdjLTMuMjI2MjcsLTAuMDc5NjYgLTMuNzQ0MDYsLTAuMTE5NDkgLTQuMzQxNTIsLTAuNTk3NDVjLTAuNzk2NjEsLTAuNTU3NjMgLTEuNzkyMzcsLTIuMzUgLTEuNzkyMzcsLTMuMjY2MWMwLC0xLjIzNDc1IDAuOTk1NzYsLTIuNzg4MTQgMi4xOTA2OCwtMy4zODU2eiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjkwMGI0IiBzdHJva2Utd2lkdGg9IjEwIi8%2BPHBhdGggZD0iTTIyOS41OTU1NiwxNDEuMDQ1NzdsMTAuODMzOSwwLjAzOTgzYzEwLjUxNTI2LDAuMDc5NjYgMTAuODMzOSwwLjExOTQ5IDExLjUxMTAyLDAuNTk3NDVjMi40Mjk2NiwxLjg3MjA0IDIuMzg5ODMsNC45Mzg5OSAtMC4xNTkzMyw2LjY1MTY5Yy0wLjc1Njc4LDAuNTE3OCAtMS4xMTUyNSwwLjU1NzYzIC00LjM0MTUyLDAuNTU3NjNoLTMuNTA1MDl2MzEuMTA3NjN2MzEuMDY3NzloMy40NjUyNmMzLjk0MzIyLDAgNC44OTkxNiwwLjMxODY1IDUuODE1MjYsMS45NTE3YzEuMDM1NiwxLjgzMjIgMC41MTc4LDMuOTQzMjMgLTEuMjc0NTgsNS4yNTc2M2MtMC42NzcxMiwwLjUxNzggLTAuOTk1NzYsMC41MTc4IC0xMS41MTEwMiwwLjU5NzQ1bC0xMC44MzM5LDAuMDc5NjZsLTEuMTE1MjUsLTAuNTU3NjNjLTEuMTU1MDksLTAuNjM3MjkgLTIuMTkwNjgsLTIuMTUwODUgLTIuMTkwNjgsLTMuMzg1NmMwLC0wLjg3NjI3IDAuOTk1NzcsLTIuNjY4NjQgMS43OTIzNywtMy4yNjYxYzAuNTk3NDYsLTAuNDc3OTcgMS4xMTUyNSwtMC41MTc4IDQuMzQxNTIsLTAuNTk3NDVsMy42NjQ0LC0wLjA3OTY3di0zMS4wNjc3OXYtMzEuMDY3NzlsLTMuNjY0NCwtMC4wNzk2N2MtMy4yMjYyNywtMC4wNzk2NiAtMy43NDQwNiwtMC4xMTk0OSAtNC4zNDE1MiwtMC41OTc0NWMtMC43OTY2MSwtMC41NTc2MyAtMS43OTIzNywtMi4zNSAtMS43OTIzNywtMy4yNjYxYzAsLTEuMjM0NzUgMC45OTU3NiwtMi43ODgxNCAyLjE5MDY4LC0zLjM4NTZ6IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIvPjwvZz48L2c%2BPC9zdmc%2B%22%3B%0D%0A%0D%0A%20%20const%20formatIcon%20%3D%0D%0A%22data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxNTAuOTAzNTUiIGhlaWdodD0iOTUuNSIgdmlld0JveD0iMCwwLDE1MC45MDM1NSw5NS41Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTY0LjU0ODIyLC0xMzIuMjUpIj48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpc1BhaW50aW5nTGF5ZXImcXVvdDs6dHJ1ZX0iIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0yMzkuNzQxOTcsMjAxLjgxODIzYzAsMCAtNDAuMjY2OTcsLTAuMTU5MzIgLTQxLjU1OTI5LC0wLjY3NzEyYy0wLjczODQ2LC0wLjI3ODgyIC0xLjcyMzA5LC0wLjkxNjEgLTIuMTUzODcsLTEuNDczNzNsLTAuODYxNTQsLTAuOTU1OTN2LTE4LjQ0MTUzdi0xOC40ODEzNmwwLjg2MTU0LC0wLjk1NTkzYzAuNDMwNzksLTAuNTU3NjMgMS40MTU0MSwtMS4xOTQ5MSAyLjE1Mzg3LC0xLjQ3MzczYzEuMjMwNzksLTAuNDc3OTYgNDEuNTU5MjksLTAuNjc3MTIgNDEuNTU5MjksLTAuNjc3MTJ6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjkwMGI0IiBzdHJva2Utd2lkdGg9IjEwIi8%2BPHBhdGggZD0iTTIzNC4wOTEzNiwxNTguNjgxNzhjMCwwIDQyLjY2MTg0LDAuMTk5MTYgNDMuODkyNjIsMC42NzcxMmMwLjczODQ2LDAuMjc4ODIgMS43MjMwOSwwLjkxNjEgMi4xNTM4NywxLjQ3MzczbDAuODYxNTQsMC45NTU5M3YxOC40ODEzNnYxOC40NDE1M2wtMC44NjE1NCwwLjk1NTkzYy0wLjQzMDc5LDAuNTU3NjMgLTEuNDE1NDEsMS4xOTQ5MSAtMi4xNTM4NywxLjQ3MzczYy0xLjI5MjMyLDAuNTE3OCAtNDMuODkyNjIsMC42NzcxMiAtNDMuODkyNjIsMC42NzcxMnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY5MDBiNCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0yMzYuMTUxNCwxNTguNjgxNzhjMCwwIDQwLjYwMTgxLDAuMTk5MTUgNDEuODMyNTksMC42NzcxMmMwLjczODQ2LDAuMjc4ODIgMS43MjMwOSwwLjkxNjEgMi4xNTM4NywxLjQ3MzczbDAuODYxNTQsMC45NTU5M3YxOC40ODEzNnYxOC40NDE1M2wtMC44NjE1NCwwLjk1NTkzYy0wLjQzMDc5LDAuNTU3NjMgLTEuNDE1NDEsMS4xOTQ5MSAtMi4xNTM4NywxLjQ3MzczYy0xLjI5MjMyLDAuNTE3OCAtNDEuODMyNTksMC42NzcxMiAtNDEuODMyNTksMC42NzcxMnoiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIi8%2BPHBhdGggZD0iTTIzNy42ODE5MywyMDEuODE4MjNjMCwwIC0zOC4yMDY5NCwtMC4xNTkzMiAtMzkuNDk5MjYsLTAuNjc3MTJjLTAuNzM4NDYsLTAuMjc4ODIgLTEuNzIzMDksLTAuOTE2MSAtMi4xNTM4NywtMS40NzM3M2wtMC44NjE1NCwtMC45NTU5M3YtMTguNDQxNTN2LTE4LjQ4MTM2bDAuODYxNTQsLTAuOTU1OTNjMC40MzA3OSwtMC41NTc2MyAxLjQxNTQxLC0xLjE5NDkxIDIuMTUzODcsLTEuNDczNzNjMS4yMzA3OCwtMC40Nzc5NyAzOS40OTkyNiwtMC42NzcxMiAzOS40OTkyNiwtMC42NzcxMnoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIvPjxwYXRoIGQ9Ik0xNjkuNTQ4MjIsMTU0LjQwNzUydi0xNy4xNTc1MmgxNy4xNTc1MnoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY5MDBiNCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0zMTAuNDUxNzgsMjA1LjU5MjQ4djE3LjE1NzUyaC0xNy4xNTc1MnoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSJub25lIiBzdHJva2U9IiM2OTAwYjQiIHN0cm9rZS13aWR0aD0iMTAiLz48cGF0aCBkPSJNMTY5LjU0ODIzLDE1NC40MDc1MnYtMTcuMTU3NTJoMTcuMTU3NTJ6IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMCIvPjxwYXRoIGQ9Ik0zMTAuNDUxNzgsMjA1LjU5MjQ4djE3LjE1NzUyaC0xNy4xNTc1MnoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMCIvPjxwYXRoIGQ9Ik0xODYuNzA1NzYsMjIyLjc1aC0xNy4xNTc1MnYtMTcuMTU3NTJ6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjkwMGI0IiBzdHJva2Utd2lkdGg9IjEwIi8%2BPHBhdGggZD0iTTI5My4yOTQyNSwxMzcuMjVoMTcuMTU3NTJ2MTcuMTU3NTJ6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjkwMGI0IiBzdHJva2Utd2lkdGg9IjEwIi8%2BPHBhdGggZD0iTTE4Ni43MDU3NiwyMjIuNzVoLTE3LjE1NzUydi0xNy4xNTc1MnoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMCIvPjxwYXRoIGQ9Ik0yOTMuMjk0MjUsMTM3LjI1aDE3LjE1NzUydjE3LjE1NzUyeiIgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aW5kZXgmcXVvdDs6bnVsbH0iIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIwIi8%2BPHBhdGggZD0iTTIzNi4yNjY0NCwxNjUuNjY5ODVjMS4xODI3MiwtMC43MTk5MSAyLjQ4NDMxLC0wLjc3MTMzIDMuNjY3MDMsLTAuMTAyODNjMS4wMjg0NSwwLjUxNDIyIDAuNzc2MzksLTAuMDQwOTQgNy4yMDQyMSwxNC40MDg4YzMuMzkzOSw3LjU1OTEzIDQuODY5NjUsMTEuNDA4NTMgNC44Njk2NSwxMi4yMzEyOWMwLDAuODIyNzYgLTAuMjYyMzgsMS40NDUyOSAtMC45MzA4OCwyLjE2NTIxYy0wLjc3MTM0LDAuODc0MTkgLTEuMTM3ODQsMS4wMzM3NCAtMi4zMjA1NSwxLjAzMzc0Yy0xLjg1MTIxLDAgLTIuODk4MjIsLTAuOTgyNTUgLTMuODIzODIsLTMuNTAyMjdsLTAuNjUyODgsLTEuNzQwOWwtNi4yMDUwNSwwLjAwOTg1bC02LjIwNSwtMC4wMDk5bC0wLjQ5ODQ5LDEuNDgzODZjLTAuMzA4NTQsMC44NzQyIC0wLjk5MDc4LDIuMTE2OTMgLTEuNDAyMTcsMi42MzExNWMtMS4zMzcsMS41OTQwOSAtMy42NjMxMywxLjUzMzU5IC01LjE1NDM5LC0wLjA2MDUxYy0xLjMzNywtMS40Mzk4NCAtMS4wNDcyOSwtMi4zNzMyOCA0LjkxNzczLC0xNS41ODg4OGM0Ljc4MjI5LC0xMC41OTMwNiA1LjcxMTg0LC0xMi40NDQ0MSA2LjUzNDYsLTEyLjk1ODYzeiIgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7bm9Ib3ZlciZxdW90OzpmYWxzZSwmcXVvdDtvcmlnSXRlbSZxdW90OzpbJnF1b3Q7UGF0aCZxdW90Oyx7JnF1b3Q7YXBwbHlNYXRyaXgmcXVvdDs6dHJ1ZSwmcXVvdDtzZWdtZW50cyZxdW90OzpbW1szMzcuMjU1OTQsMTk4LjIzMTY1XSxbMCwwXSxbLTEuMjc0NTgsMC43OTY2XV0sW1szMjcuMjE4NjYsMjE4LjIyNjU3XSxbNy40MDg0NiwtMTYuNDEwMThdLFstOS4yNDA2OCwyMC40NzI4OF1dLFtbMzE5LjU3MTIyLDI0Mi4yODQyMV0sWy0yLjA3MTIsLTIuMjMwNTJdLFsyLjMxMDE4LDIuNDY5NV1dLFtbMzI3LjUzNzMyLDI0Mi4zNjM4N10sWy0yLjA3MTIsMi40Njk0OF0sWzAuNjM3MywtMC43OTY2XV0sW1szMjkuNjA4NSwyMzguNDYwNDddLFstMC40Nzc5OCwxLjM1NDI2XSxbMCwwXV0sWzMzMC40ODQ3OCwyMzUuOTkwOTddLFszNDAuMDQ0MSwyMzUuOTkwOTddLFszNDkuNjAzNDIsMjM1Ljk5MDk3XSxbWzM1MC43MTg2OCwyMzguODU4NzddLFswLDBdLFsxLjQzMzksMy45MDM0XV0sW1szNTYuNTMzOTQsMjQ0LjExNjQxXSxbLTIuODY3OCwwXSxbMS44MzIyLDBdXSxbWzM2MC4xMTg2OCwyNDIuNTIzMTldLFstMS4xOTQ5MiwxLjM1NDI0XSxbMS4wMzU2LC0xLjExNTI2XV0sW1szNjEuNTUyNTgsMjM5LjE3NzQzXSxbMCwxLjI3NDU4XSxbMCwtMS4yNzQ1OF1dLFtbMzUzLjk4NDc4LDIyMC4yOTc3N10sWzUuMjU3NjQsMTEuNzEwMThdLFstOS45NTc2MiwtMjIuMzg0NzRdXSxbWzM0Mi45MTE4OCwxOTguMDcyMzVdLFsxLjU5MzIyLDAuNzk2Nl0sWy0xLjgzMjIsLTEuMDM1Nl1dLFtbMzM3LjI1NTk0LDE5OC4yMzE2N10sWzEuODMyMiwtMS4xMTUyNF0sWzAsMF1dXSwmcXVvdDtjbG9zZWQmcXVvdDs6dHJ1ZSwmcXVvdDtmaWxsQ29sb3ImcXVvdDs6WzAsMCwwLDFdfV19IiBmaWxsPSIjNjkwMGI0IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMC41Ii8%2BPHBhdGggZD0iTTIzOC4xNzcwNCwxNzUuNjA3MDJjMC4yMDU2OSwwLjIwNTY5IDMuMzQyNDYsNy45MTkwOCAzLjM0MjQ2LDguMTc2MTljMCwwLjIwNTY5IC0xLjU0MjY3LDAuMzA4NTMgLTMuNDk2NzMsMC4zMDg1M2MtMi42NzM5NywwIC0zLjQ0NTMxLC0wLjEwMjg0IC0zLjM0MjQ2LC0wLjQxMTM5YzAuMTAyODQsLTAuMjA1NjkgMC44NzQxOSwtMi4xMDgzMiAxLjc5OTc5LC00LjI2ODA3YzAuOTI1NjEsLTIuMTA4MzIgMS42OTY5NCwtMy44NTY3IDEuNjk2OTQsLTMuODA1Mjd6IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIvPjwvZz48L2c%2BPC9zdmc%2B%22%3B%0D%0A%0D%0A%20%20const%20colorIcon%20%3D%0D%0A%22data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI3NS41MzUxNyIgaGVpZ2h0PSI3MS40OTc0NiIgdmlld0JveD0iMCwwLDc1LjUzNTE3LDcxLjQ5NzQ2Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAyLjIzMjQxLC0xNDQuMjUxMjcpIj48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpc1BhaW50aW5nTGF5ZXImcXVvdDs6dHJ1ZX0iIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0yMjMuNTM4NTYsMTY1LjcxMjcxYzAsLTkuMDkxNDEgNy4zNzAwNCwtMTYuNDYxNDQgMTYuNDYxNDQsLTE2LjQ2MTQ0YzkuMDkxNDEsMCAxNi40NjE0NCw3LjM3MDA0IDE2LjQ2MTQ0LDE2LjQ2MTQ0YzAsOS4wOTE0MSAtNy4zNzAwMywxNi40NjE0NCAtMTYuNDYxNDQsMTYuNDYxNDRjLTkuMDkxNDEsMCAtMTYuNDYxNDQsLTcuMzcwMDMgLTE2LjQ2MTQ0LC0xNi40NjE0NHoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY5MDBiNCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0yMDcuMjMyNDIsMTk0LjI4NzI5YzAsLTkuMDkxNDEgNy4zNzAwNCwtMTYuNDYxNDQgMTYuNDYxNDQsLTE2LjQ2MTQ0YzkuMDkxNDEsMCAxNi40NjE0NCw3LjM3MDA0IDE2LjQ2MTQ0LDE2LjQ2MTQ0YzAsOS4wOTE0MSAtNy4zNzAwNCwxNi40NjE0NCAtMTYuNDYxNDQsMTYuNDYxNDRjLTkuMDkxNDEsMCAtMTYuNDYxNDQsLTcuMzcwMDMgLTE2LjQ2MTQ0LC0xNi40NjE0NHoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY5MDBiNCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0yMzkuODQ0NzEsMTk0LjI4NzI5YzAsLTkuMDkxNDEgNy4zNzAwNCwtMTYuNDYxNDQgMTYuNDYxNDQsLTE2LjQ2MTQ0YzkuMDkxNDEsMCAxNi40NjE0NCw3LjM3MDA0IDE2LjQ2MTQ0LDE2LjQ2MTQ0YzAsOS4wOTE0MSAtNy4zNzAwMywxNi40NjE0NCAtMTYuNDYxNDQsMTYuNDYxNDRjLTkuMDkxNDEsMCAtMTYuNDYxNDQsLTcuMzcwMDMgLTE2LjQ2MTQ0LC0xNi40NjE0NHoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzY5MDBiNCIgc3Ryb2tlLXdpZHRoPSIxMCIvPjxwYXRoIGQ9Ik0yMjMuNTM4NTYsMTY1LjcxMjcxYzAsLTkuMDkxNDEgNy4zNzAwMywtMTYuNDYxNDQgMTYuNDYxNDQsLTE2LjQ2MTQ0YzkuMDkxNCwwIDE2LjQ2MTQ0LDcuMzcwMDQgMTYuNDYxNDQsMTYuNDYxNDRjMCw5LjA5MTQxIC03LjM3MDAzLDE2LjQ2MTQ0IC0xNi40NjE0NCwxNi40NjE0NGMtOS4wOTE0LDAgLTE2LjQ2MTQ0LC03LjM3MDAzIC0xNi40NjE0NCwtMTYuNDYxNDR6IiBmaWxsPSIjMDBmZjAxIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0ibm9uZSIvPjxwYXRoIGQ9Ik0yMDcuMjMyNDEsMTk0LjI4NzI5YzAsLTkuMDkxNCA3LjM3MDA0LC0xNi40NjE0NCAxNi40NjE0NCwtMTYuNDYxNDRjOS4wOTE0LDAgMTYuNDYxNDQsNy4zNzAwNCAxNi40NjE0NCwxNi40NjE0NGMwLDkuMDkxNCAtNy4zNzAwNCwxNi40NjE0NCAtMTYuNDYxNDQsMTYuNDYxNDRjLTkuMDkxNCwwIC0xNi40NjE0NCwtNy4zNzAwNCAtMTYuNDYxNDQsLTE2LjQ2MTQ0eiIgZmlsbD0iI2ZmMDAwMCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9Im5vbmUiLz48cGF0aCBkPSJNMjM5Ljg0NDcxLDE5NC4yODcyOWMwLC05LjA5MTQxIDcuMzcwMDMsLTE2LjQ2MTQ0IDE2LjQ2MTQ0LC0xNi40NjE0NGM5LjA5MTQsMCAxNi40NjE0NCw3LjM3MDA0IDE2LjQ2MTQ0LDE2LjQ2MTQ0YzAsOS4wOTE0MSAtNy4zNzAwMywxNi40NjE0NCAtMTYuNDYxNDQsMTYuNDYxNDRjLTkuMDkxNCwwIC0xNi40NjE0NCwtNy4zNzAwNCAtMTYuNDYxNDQsLTE2LjQ2MTQ0eiIgZmlsbD0iIzAwNzFmZiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9Im5vbmUiLz48L2c%2BPC9nPjwvc3ZnPg%3D%3D%22%3B%0D%0A%0D%0A%20%20const%20effectIcon%20%3D%0D%0A%22data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1Ny40NDI0MSIgaGVpZ2h0PSI3MC40NSIgdmlld0JveD0iMCwwLDU3LjQ0MjQxLDcwLjQ1Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjEwLjI2NjQ1LC0xNDQuODU2NTUpIj48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpc1BhaW50aW5nTGF5ZXImcXVvdDs6dHJ1ZX0iIGZpbGw9IiNmZmZmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0yMTUuMjY2NDUsMTkzLjkwNDFjLTMuOTg4MTUsLTguMTE3MSAtMy45OTYxMSwtMTguMjQzMDUgMC4xNTIyMSwtMjYuNDExMDNjNC42ODc3OSwtOS41NzQzMSAxMi41NzY5MSwtMTMuODE3OTcgMTUuNzQ3NTYsLTE1LjE5Nzc1YzEuOTA1OCwtMC44ODUwOCAzLjkxMzg4LC0xLjU3NDk3IDYuMDc1MzcsLTIuMDgzMTNsMi4xMjA1OSwtMC40NTc2OGMxLjU1ODA1LC0wLjMxOTcgMy4xMDkyOCwwLjY0NjE0IDMuNDQ2OCwyLjE4NzQ1YzAuMzQwOTMsMS41NDQ2OCAtMC42NTExOCwzLjA2NTggLTIuMjE2MDUsMy40MDIzM2wtMi4wNjI2MywwLjQ0NDIyYy0xLjcxNDg4LDAuNDAzODQgLTMuMzU4MTYsMC45NjkyMSAtNC45NjA1MywxLjcxNjMxYy0yLjA4MzA4LDAuOTAxOSAtOC45NzMyOCw0LjM5MTczIC0xMi45NDg1MiwxMi41MTU2Yy0zLjAxNzIzLDUuOTMzMDUgLTMuOTE3MjksMTUuMzY2MDIgMC44MzE4NywyMy4xNDk5OGM0LjMwMjU0LDcuNDk3OTIgMTMuMTEyMTcsMTIuMDk0OTMgMjEuNDY4MzcsMTEuMzIwOTFjNy45MDI3NiwtMC41Njg3NCAxNS4xNTQzNCwtNS44Mjg3MiAxNy42OTc2OCwtMTIuNzk0OTJjMi41ODA4NCwtNi41NTIyNiAwLjg2NTk2LC0xMy4yNjk0MyAtMS45NjcxNywtMTcuMDUyMDRjLTMuNDEyNzEsLTQuNjYwOTYgLTcuNjYwNywtNi4wOTQ1OCAtOS4zMjc4NSwtNi40OTUwNWMtMC4yNDg4OCwtMC4wNzQwNCAtNi4wODU2LC0xLjgyNzM2IC0xMS4yNDA0NiwwLjc1MzgzYy0yLjIxOTQ1LDEuMDYzNDQgLTUuMDkwMDksMy40NTYxOCAtNi42Mjc2OCw3LjA1MDMzYy0xLjY2MDMzLDMuNzExOTQgLTEuMjMwNzYsOC40ODM5NSAxLjAxOTM4LDExLjY1NDA4YzIuMjYzNzgsMy4zOTg5NyA2LjUzMjIyLDUuMzIzOTIgMTAuMjA0MDQsNC42NzEwNWMzLjY1NDc3LC0wLjU3NTQ3IDYuMTI2NTEsLTMuMjk0NjQgNi43MTI5MSwtNS42ODQwMWMwLjY4ODY4LC0yLjU2NzczIC0wLjM2ODIsLTQuNzM4MzYgLTEuMTkzMjYsLTUuNTE5MTFjLTEuNDAxMjIsLTEuMzgzMTQgLTIuNjExNTIsLTEuNDA2NyAtMi42NjI2NiwtMS40MTAwN2MtMC41NzI3NiwtMC4wMTY4MyAtMC44NTU3MywwLjAyNjkyIC0xLjAyNjIsMC4wNTM4NGMtMC42NTQ1OSwwLjIzODk0IC0xLjU4MTkyLDAuNzYzOTMgLTEuODU0NjYsMS4zMTU4NGMtMC4wNDc3MywwLjA5MDg2IC0wLjE3MDQ3LDAuMzM5OSAwLjA2NDc4LDAuOTYyNDhjMC41NjI1MywxLjQ3NzM3IC0wLjE5Nzc0LDMuMTI5NzQgLTEuNjk0NDIsMy42ODUwMmMtMS40ODk4NiwwLjU1ODY0IC0zLjE2NzI0LC0wLjE5MTgyIC0zLjczMzE4LC0xLjY3MjU2Yy0wLjkzMDc0LC0yLjQ0OTk1IC0wLjQxNTkzLC00LjM2ODE4IDAuMTgwNjksLTUuNTQ2MDNjMS41NTgwNSwtMy4wNjU4IDUuMTc1MzIsLTQuMTc2MzUgNS41ODQ0MywtNC4yOTQxNGMwLjE4NzUxLC0wLjA1NzIxIDAuMzg1MjUsLTAuMDkwODYgMC41Nzk1OCwtMC4xMDc2OWMwLjM5ODg5LC0wLjA2MDU4IDEuMTAxMiwtMC4xNTQ4IDIuMDUyNCwtMC4xMTc3OWMyLjE3ODU0LDAuMDI2OTIgNC42NjA1MSwxLjE2NDQgNi41NjI5LDMuMDQ1NjFjMi4yNDY3MywyLjEyMDE1IDQuMDA1OTMsNi4zODA2MyAyLjc1ODEyLDExLjAxMTNjLTEuMjE3MTIsNC45NTcxIC01Ljg5NDY4LDkuMDU2MDYgLTExLjM1Mjk3LDkuOTE0MjFjLTUuODcwODIsMS4wNDY2MSAtMTIuNDgxNDUsLTEuODQ3NTYgLTE1Ljk3MjU3LC03LjA5NDA4Yy0zLjM2NDk4LC00LjcyODI2IC00LjAwOTM0LC0xMS42NDczNSAtMS41NDc4MiwtMTcuMTM2MTdjMi43MDAxNywtNi4zMjAwNiA3Ljg1ODQ0LC05LjE4MDU3IDkuMzcyMTcsLTkuOTA3NDhjNy4yNzg4NiwtMy42MzQ1NCAxNS4wNTg4OCwtMS4yMzUwNyAxNS4zODYxNywtMS4xMzQxMWMyLjA5MzMxLDAuNDk0NyA3LjkxMjk5LDIuNDQzMjIgMTIuNDM3MTMsOC42MjUyOWMzLjQ3NzQ5LDQuNjUwODYgNi4yOTY5OCwxMy4zMzY3MyAyLjcxMzgsMjIuNDI5ODFjLTMuMjcyOTMsOC45NjE4MyAtMTIuNTkwNTUsMTUuNzY5ODUgLTIyLjYzNzc2LDE2LjQ5MzM5Yy0wLjc4NzU1LDAuMDc0MDQgLTEuNTg1MzIsMC4xMTQ0MiAtMi4zNzk2OSwwLjExNDQyYy05Ljc1MDYsMCAtMTkuNjI3MzQsLTUuNjIwMDcgLTI0LjU4MTA2LC0xNC4yNDg3M2MwLDAgLTAuODIwNDksLTEuNDE4MzQgLTEuMTgxODEsLTIuMTUzNzN6IiBzdHJva2U9IiM2OTAwYjQiIHN0cm9rZS13aWR0aD0iMTAiLz48cGF0aCBkPSJNMjE2LjQ0ODI3LDE5Ni4wNTc4NGMtNS4xMzQ0MSwtOC40MjAwMSAtNS41NTM3NSwtMTkuNjU2NzkgLTEuMDI5NjEsLTI4LjU2NDc3YzQuNjg3NzksLTkuNTc0MzEgMTIuNTc2OTEsLTEzLjgxNzk3IDE1Ljc0NzU2LC0xNS4xOTc3NWMxLjkwNTgsLTAuODg1MDggMy45MTM4OCwtMS41NzQ5NyA2LjA3NTM3LC0yLjA4MzEzbDIuMTIwNTksLTAuNDU3NjhjMS41NTgwNSwtMC4zMTk3IDMuMTA5MjgsMC42NDYxNCAzLjQ0NjgsMi4xODc0NWMwLjM0MDkzLDEuNTQ0NjggLTAuNjUxMTgsMy4wNjU4IC0yLjIxNjA1LDMuNDAyMzNsLTIuMDYyNjMsMC40NDQyMmMtMS43MTQ4OCwwLjQwMzg0IC0zLjM1ODE2LDAuOTY5MjEgLTQuOTYwNTMsMS43MTYzMWMtMi4wODMwOCwwLjkwMTkgLTguOTczMjgsNC4zOTE3MyAtMTIuOTQ4NTIsMTIuNTE1NmMtMy4wMTcyMyw1LjkzMzA1IC0zLjkxNzI5LDE1LjM2NjAyIDAuODMxODcsMjMuMTQ5OThjNC4zMDI1NCw3LjQ5NzkyIDEzLjExMjE3LDEyLjA5NDkzIDIxLjQ2ODM3LDExLjMyMDkxYzcuOTAyNzYsLTAuNTY4NzQgMTUuMTU0MzQsLTUuODI4NzIgMTcuNjk3NjgsLTEyLjc5NDkyYzIuNTgwODQsLTYuNTUyMjYgMC44NjU5NiwtMTMuMjY5NDMgLTEuOTY3MTcsLTE3LjA1MjA0Yy0zLjQxMjcxLC00LjY2MDk2IC03LjY2MDcsLTYuMDk0NTggLTkuMzI3ODUsLTYuNDk1MDVjLTAuMjQ4ODgsLTAuMDc0MDQgLTYuMDg1NiwtMS44MjczNiAtMTEuMjQwNDYsMC43NTM4M2MtMi4yMTk0NSwxLjA2MzQ0IC01LjA5MDA5LDMuNDU2MTggLTYuNjI3NjgsNy4wNTAzM2MtMS42NjAzMywzLjcxMTk0IC0xLjIzMDc2LDguNDgzOTUgMS4wMTkzOCwxMS42NTQwOGMyLjI2Mzc4LDMuMzk4OTcgNi41MzIyMiw1LjMyMzkyIDEwLjIwNDA0LDQuNjcxMDVjMy42NTQ3NywtMC41NzU0NyA2LjEyNjUxLC0zLjI5NDY0IDYuNzEyOTEsLTUuNjg0MDFjMC42ODg2OCwtMi41Njc3MyAtMC4zNjgyLC00LjczODM2IC0xLjE5MzI2LC01LjUxOTExYy0xLjQwMTIyLC0xLjM4MzE0IC0yLjYxMTUyLC0xLjQwNjcgLTIuNjYyNjYsLTEuNDEwMDdjLTAuNTcyNzYsLTAuMDE2ODMgLTAuODU1NzMsMC4wMjY5MiAtMS4wMjYyLDAuMDUzODRjLTAuNjU0NTksMC4yMzg5NCAtMS41ODE5MiwwLjc2MzkzIC0xLjg1NDY2LDEuMzE1ODRjLTAuMDQ3NzMsMC4wOTA4NiAtMC4xNzA0NywwLjMzOTkgMC4wNjQ3OCwwLjk2MjQ4YzAuNTYyNTMsMS40NzczNyAtMC4xOTc3NCwzLjEyOTc0IC0xLjY5NDQyLDMuNjg1MDJjLTEuNDg5ODYsMC41NTg2NCAtMy4xNjcyNCwtMC4xOTE4MiAtMy43MzMxOCwtMS42NzI1NmMtMC45MzA3NCwtMi40NDk5NSAtMC40MTU5MywtNC4zNjgxOCAwLjE4MDY5LC01LjU0NjAzYzEuNTU4MDUsLTMuMDY1OCA1LjE3NTMyLC00LjE3NjM1IDUuNTg0NDMsLTQuMjk0MTRjMC4xODc1MSwtMC4wNTcyMSAwLjM4NTI1LC0wLjA5MDg2IDAuNTc5NTgsLTAuMTA3NjljMC4zOTg4OSwtMC4wNjA1OCAxLjEwMTIsLTAuMTU0OCAyLjA1MjQsLTAuMTE3NzljMi4xNzg1NCwwLjAyNjkyIDQuNjYwNTEsMS4xNjQ0IDYuNTYyOSwzLjA0NTYxYzIuMjQ2NzMsMi4xMjAxNSA0LjAwNTkzLDYuMzgwNjMgMi43NTgxMiwxMS4wMTEzYy0xLjIxNzEyLDQuOTU3MSAtNS44OTQ2OCw5LjA1NjA2IC0xMS4zNTI5Nyw5LjkxNDIxYy01Ljg3MDgyLDEuMDQ2NjEgLTEyLjQ4MTQ1LC0xLjg0NzU2IC0xNS45NzI1NywtNy4wOTQwOGMtMy4zNjQ5OCwtNC43MjgyNiAtNC4wMDkzNCwtMTEuNjQ3MzUgLTEuNTQ3ODIsLTE3LjEzNjE3YzIuNzAwMTcsLTYuMzIwMDYgNy44NTg0NCwtOS4xODA1NyA5LjM3MjE3LC05LjkwNzQ4YzcuMjc4ODYsLTMuNjM0NTQgMTUuMDU4ODgsLTEuMjM1MDcgMTUuMzg2MTcsLTEuMTM0MTFjMi4wOTMzMSwwLjQ5NDcgNy45MTI5OSwyLjQ0MzIyIDEyLjQzNzEzLDguNjI1MjljMy40Nzc0OSw0LjY1MDg2IDYuMjk2OTgsMTMuMzM2NzMgMi43MTM4LDIyLjQyOTgxYy0zLjI3MjkzLDguOTYxODMgLTEyLjU5MDU1LDE1Ljc2OTg1IC0yMi42Mzc3NiwxNi40OTMzOWMtMC43ODc1NSwwLjA3NDA0IC0xLjU4NTMyLDAuMTE0NDIgLTIuMzc5NjksMC4xMTQ0MmMtOS43NTA2LDAgLTE5LjYyNzM0LC01LjYyMDA3IC0yNC41ODEwNiwtMTQuMjQ4NzN6IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIvPjwvZz48L2c%2BPC9zdmc%2B%22%3B%0D%0A%0D%0A%20%20let%20newColorType%20%3D%20%22%22%3B%0D%0A%20%20let%20overlayImageContainer%20%3D%20%22%22%3B%0D%0A%20%20const%20fontMenu%20%3D%20%5B%0D%0A%20%20%20%20%22Scratch%22%2C%0D%0A%20%20%20%20%22Sans%20Serif%22%2C%0D%0A%20%20%20%20%22Serif%22%2C%0D%0A%20%20%20%20%22Handwriting%22%2C%0D%0A%20%20%20%20%22Marker%22%2C%0D%0A%20%20%20%20%22Curly%22%2C%0D%0A%20%20%20%20%22Pixel%22%0D%0A%20%20%5D%3B%20%20%0D%0A%0D%0A%20%20class%20BetterInputSP%20%7B%0D%0A%20%20%20%20constructor()%20%7B%0D%0A%20%20%20%20%20%20this.activeOverlays%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20this.activeUI%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20this.askBoxPromises%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20this.isWaitingForInput%20%3D%20false%3B%0D%0A%20%20%20%20%20%20this.isDropdownOpen%20%3D%20false%3B%0D%0A%20%20%20%20%20%20this.userInput%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20this.textBoxX%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.textBoxY%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.askBoxInfo%20%3D%20%5B0%2C%201%5D%3B%0D%0A%20%20%20%20%20%20this.forceInput%20%3D%20%22Disabled%22%3B%0D%0A%20%20%20%20%20%20this.overlayInput%20%3D%20null%3B%0D%0A%0D%0A%20%20%20%20%20%20this.optionList%20%3D%20%5B%22Option%201%22%2C%20%22Option%202%22%2C%20%22Option%203%22%5D%3B%0D%0A%20%20%20%20%20%20this.sliderInfo%20%3D%20%5B0%2C%20100%2C%2050%5D%3B%0D%0A%20%20%20%20%20%20this.Timeout%20%3D%200%3B%0D%0A%0D%0A%20%20%20%20%20%20this.shadowEnabled%20%3D%20true%3B%0D%0A%20%20%20%20%20%20this.isInputEnabled%20%3D%20%22Enabled%22%3B%0D%0A%20%20%20%20%20%20this.DropdownText%20%3D%20%22Dropdown%22%3B%0D%0A%20%20%20%20%20%20this.fontSize%20%3D%20%2214px%22%3B%0D%0A%20%20%20%20%20%20this.textAlign%20%3D%20%22left%22%3B%0D%0A%20%20%20%20%20%20this.fontFamily%20%3D%20%22Sans%20Serif%22%3B%0D%0A%20%20%20%20%20%20this.overlayBorderRadius%20%3D%20%5B5%2C%204%2C%205%5D%3B%0D%0A%20%20%20%20%20%20this.buttonJSON%20%3D%20%7B%0D%0A%20%20%20%20%20%20%20%20%22Submit%22%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20borderRadius%3A%205%2C%0D%0A%20%20%20%20%20%20%20%20%20%20color%3A%20%22%230074D9%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20textColor%3A%20%22%23ffffff%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20name%3A%20%22Submit%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20image%3A%20%22%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20imgScale%3A%20100%2C%0D%0A%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%22Cancel%22%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20borderRadius%3A%205%2C%0D%0A%20%20%20%20%20%20%20%20%20%20color%3A%20%22%23d9534f%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20textColor%3A%20%22%23ffffff%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20name%3A%20%22Cancel%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20image%3A%20%22%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20imgScale%3A%20100%2C%0D%0A%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%7D%3B%0D%0A%0D%0A%20%20%20%20%20%20this.questionColor%20%3D%20%22%23000000%22%3B%0D%0A%20%20%20%20%20%20this.inputColor%20%3D%20%22%23000000%22%3B%0D%0A%20%20%20%20%20%20this.textBoxColor%20%3D%20%5B%22%23ffffff%22%5D%3B%0D%0A%20%20%20%20%20%20this.inputFieldColor%20%3D%20%5B%22%23ffffff%22%2C%20%22%23000000%22%5D%3B%0D%0A%20%20%20%20%20%20this.dropdownButtonColor%20%3D%20%5B%22%235f5f5f%22%2C%20%22%23ffffff%22%5D%3B%0D%0A%20%20%20%20%20%20this.overlayImage%20%3D%20%5B%22%20%22%2C%20%22%20%22%2C%20%22%20%22%5D%3B%0D%0A%0D%0A%20%20%20%20%20%20this.Blur%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Brightness%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Opacity%20%3D%20100%3B%0D%0A%20%20%20%20%20%20this.Invert%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Saturation%20%3D%20100%3B%0D%0A%20%20%20%20%20%20this.Hue%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Sepia%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Contrast%20%3D%20100%3B%0D%0A%20%20%20%20%20%20this.Scale%20%3D%20100%3B%0D%0A%20%20%20%20%20%20this.SkewX%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.SkewY%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Rotation%20%3D%2090%3B%0D%0A%20%20%20%20%20%20this.imgScale%20%3D%20%5B100%2C%20100%2C%20100%5D%3B%0D%0A%20%20%20%20%20%20this.shadowS%20%3D%20%5B0%2C%200%2C%205%2C%200.3%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20getInfo()%20%7B%0D%0A%20%20%20%20%20%20return%20%7B%0D%0A%20%20%20%20%20%20%20%20id%3A%20%22BetterInputSP%22%2C%0D%0A%20%20%20%20%20%20%20%20name%3A%20%22Better%20Input%22%2C%0D%0A%20%20%20%20%20%20%20%20color1%3A%20%22%239400ff%22%2C%0D%0A%20%20%20%20%20%20%20%20color2%3A%20%22%237600cc%22%2C%0D%0A%20%20%20%20%20%20%20%20color3%3A%20%22%238500e6%22%2C%0D%0A%20%20%20%20%20%20%20%20menuIconURI%2C%0D%0A%20%20%20%20%20%20%20%20blockIconURI%2C%0D%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Text%20Blocks%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22askAndWait%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22ask%20%5Bquestion%5D%20and%20wait%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20question%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22What%20is%20your%20name%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22askAndWaitForInput%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22ask%20%5Bquestion%5D%20and%20wait%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20question%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22What%20is%20your%20name%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getUserInput%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22user%20input%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22removeAskBoxes%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22remove%20all%20ask%20boxes%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Formatting%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setFontSize%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20font%20size%20to%20%5BSIZE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SIZE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%2014%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setTextAlignment%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20alignment%20to%20%5BALIGNMENT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ALIGNMENT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22alignmentMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22left%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setFontFamily%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20font%20to%20%5BFONT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20FONT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22fontMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Sans%20Serif%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setInputType%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20Input%20Box%20to%20be%20%5BACTION%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ACTION%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22inputActionMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Text%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setDropdown%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20dropdown%20options%20to%20array%3A%20%5BDROPDOWN%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DROPDOWN%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%5B%5C%22Option%201%5C%22%2C%20%5C%22Option%202%5C%22%2C%20%5C%22Option%203%5C%22%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setSlider%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20slider%20to%20min%3A%20%5BMIN%5D%20max%3A%20%5BMAX%5D%20default%3A%20%5BDEFAULT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20MIN%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20MAX%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DEFAULT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%2050%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setButton%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22%5BBUTTON%5D%20button%20named%20%5BNAME%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20BUTTON%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22buttonType%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22add%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NAME%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Submit%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setButtonText%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20%5BBUTTON_MENU%5D%20button%20name%20to%20%5BTEXT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20BUTTON_MENU%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22buttonMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Dropdown%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20TEXT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22my%20dropdown%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Positioning%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setPrePosition%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22preset%20textbox%20position%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setPosition%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20textbox%20position%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changePosition%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22change%20textbox%20position%20by%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getXpos%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22x%20position%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getYpos%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22y%20position%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setDirection%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20direction%20to%20%5BROTATE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ROTATE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.ANGLE%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%2090%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeDirection%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22change%20direction%20by%20%5BROTATE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ROTATE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.ANGLE%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%2015%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22reportDirection%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22direction%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20formatIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Visual%20Settings%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setColorSettings%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20%5BCOLOR_TYPE%5D%20color%20to%20%5BCOLOR%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20colorIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR_TYPE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22colorSettingsMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Textbox%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.COLOR%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%23000000%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setGradient%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20%5BCOLOR_TYPE%5D%20color%20to%20gradient%20with%20colors%20%5BCOLOR1%5D%20and%20%5BCOLOR2%5D%20with%20direction%20%5BDIR%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20colorIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR_TYPE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22elementMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Textbox%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR1%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.COLOR%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%23ffffff%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR2%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.COLOR%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%23ff0000%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20DIR%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.ANGLE%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%2090%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setCircleGradient%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20%5BCOLOR_TYPE%5D%20color%20to%20radial%20gradient%20with%20colors%20%5BCOLOR1%5D%20and%20%5BCOLOR2%5D%20with%20position%20x%20%5BX%5D%20y%20%5BY%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20colorIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR_TYPE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22elementMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Textbox%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR1%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.COLOR%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%23ffffff%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20COLOR2%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.COLOR%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%23ff0000%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%200%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22enableShadow%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20box%20shadow%20to%20be%20%5BACTION%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20colorIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ACTION%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22buttonActionMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Enabled%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setShadow%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20box%20shadow%20%5BSHADOW%5D%20to%20%5BAMT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20colorIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SHADOW%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22shadowStuff%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Size%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20AMT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%205%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setBorderRadius%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20%5BELEMENT%5D%20border%20radius%20to%20%5BVALUE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20colorIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ELEMENT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22elementMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Textbox%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20VALUE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%205%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setImage%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20%5BELEMENT%5D%20image%20to%20%5BIMAGE%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20colorIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ELEMENT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22elementMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Textbox%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20IMAGE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22input-url-or-uri-here%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22scaleImage%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22scale%20%5BELEMENT%5D%20image%20to%20%5BSCALE%5D%25%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20colorIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ELEMENT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22elementMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Textbox%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20SCALE%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20100%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Effects%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22resetEffect%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22reset%20effects%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20effectIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setEffect%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20effect%20%5BEFFECT%5D%20to%20%5BAMT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20effectIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EFFECT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22effectMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Blur%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20AMT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%205%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeEffect%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22change%20effect%20%5BEFFECT%5D%20by%20%5BAMT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20effectIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EFFECT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22effectMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Blur%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20AMT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%205%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22showEffect%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22effect%20%5BEFFECT%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20effectIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20EFFECT%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22effectMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Blur%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setTimeout%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22when%20submitted%20delete%20textbox%20after%20%5BTIME%5D%20secs%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20effectIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20TIME%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%205%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22reportTimeout%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22current%20textbox%20timeout%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockIconURI%3A%20effectIcon%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22Operations%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isWaitingInput%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22is%20waiting%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isDropdown%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22is%20dropdown%20open%3F%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setSubmitEvent%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20force%20input%20to%20%5BENTER%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20ENTER%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22enterMenu%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22Disabled%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setMaxBoxCount%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22set%20max%20box%20count%20to%3A%20%5BMAX%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20MAX%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%201%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getBoxInfo%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22box%20%5BINFO%5D%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20INFO%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22boxInfo%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22count%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%5D%2C%0D%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20alignmentMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22left%22%2C%20%22right%22%2C%20%22center%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20boxInfo%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22count%22%2C%20%22limit%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20buttonType%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22add%22%2C%20%22remove%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20fontMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%22allFonts%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20buttonActionMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22Enabled%22%2C%20%22Disabled%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20inputActionMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Text%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22None%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Dropdown%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Multi-Select%20Dropdown%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Horizontal%20Slider%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Vertical%20Slider%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20effectMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Blur%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Brightness%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Opacity%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Invert%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Saturation%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Hue%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Sepia%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Contrast%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Scale%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22SkewX%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22SkewY%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20shadowStuff%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22Size%22%2C%20%22X%22%2C%20%22Y%22%2C%20%22Opacity%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20buttonMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20this.allButtons(%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Dropdown%22%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%20false)%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20elementMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20this.allButtons(%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Textbox%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Input%20Box%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Dropdown%20Button%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%20false)%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20colorSettingsMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20this.allButtons(%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Textbox%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Question%20Text%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Input%20Text%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Input%20Box%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Input%20Outline%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Dropdown%20Button%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Dropdown%20Text%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%20true)%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20enterMenu%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%22Disabled%22%2C%20%22Enter%20Key%22%2C%20%22Shift%20%2B%20Enter%20Key%22%5D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%7D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20allFonts()%20%7B%0D%0A%20%20%20%20%20%20const%20customFonts%20%3D%20Scratch.vm.runtime.fontManager%0D%0A%20%20%20%20%20%20%20%20%3F%20Scratch.vm.runtime.fontManager.getFonts().map((i)%20%3D%3E%20(%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20i.name%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20i.family%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D))%0D%0A%20%20%20%20%20%20%20%20%3A%20%5B%5D%3B%0D%0A%20%20%20%20%20%20return%20%5B%0D%0A%20%20%20%20%20%20%20%20...fontMenu%2C%0D%0A%20%20%20%20%20%20%20%20...customFonts%2C%0D%0A%20%20%20%20%20%20%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20allButtons(array%2C%20enableText)%20%7B%0D%0A%20%20%20%20%20%20const%20customButtons%20%3D%20Object.keys(this.buttonJSON)%3B%0D%0A%20%20%20%20%20%20if%20(enableText)%20%7B%0D%0A%20%20%20%20%20%20%20%20customButtons.forEach((button)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20customButtons.push(button%20%2B%20%22%20Text%22)%3B%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20return%20%5B%0D%0A%20%20%20%20%20%20%20%20...array%2C%0D%0A%20%20%20%20%20%20%20%20...customButtons%2C%0D%0A%20%20%20%20%20%20%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20updateOverlayPos(overlay)%20%7B%0D%0A%20%20%20%20%20%20if%20(this.Rotation%20%3E%20359)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.Rotation%20%3D%200%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(this.Rotation%20%3C%201)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.Rotation%20%3D%20360%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%20%20if%20(this.textBoxX%20!%3D%3D%20null%20%26%26%20this.textBoxY%20!%3D%3D%20null)%20%7B%0D%0A%20%20%20%20%20%20%20%20overlay.style.left%20%3D%20%60%24%7B50%20%2B%20this.textBoxX%7D%25%60%3B%0D%0A%20%20%20%20%20%20%20%20overlay.style.top%20%3D%20%60%24%7B50%20%2B%20this.textBoxY%7D%25%60%3B%0D%0A%20%20%20%20%20%20%20%20overlay.style.transform%20%3D%20%60%0D%0A%20%20%20%20%20%20%20%20%20%20translate(-50%25%2C%20-50%25)%0D%0A%20%20%20%20%20%20%20%20%20%20SkewX(%24%7Bthis.SkewX%7Ddeg)%0D%0A%20%20%20%20%20%20%20%20%20%20SkewY(%24%7Bthis.SkewY%7Ddeg)%0D%0A%20%20%20%20%20%20%20%20%20%20rotate(%24%7Bthis.Rotation%20-%2090%7Ddeg)%0D%0A%20%20%20%20%20%20%20%20%20%20scale(%24%7Bthis.Scale%20%2F%20100%7D)%0D%0A%20%20%20%20%20%20%20%20%60%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20overlay.style.left%20%3D%20%2250%25%22%3B%0D%0A%20%20%20%20%20%20%20%20overlay.style.top%20%3D%20%2250%25%22%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20updateOverlay(overlay)%20%7B%0D%0A%20%20%20%20%20%20const%20newOpacity%20%3D%20%20this.Opacity%20%2F%20100%3B%0D%0A%20%20%20%20%20%20const%20newBrightness%20%3D%20this.Brightness%20%2B%20100%3B%0D%0A%20%20%20%20%20%20overlay.style.backgroundImage%20%3D%20%22%22%3B%0D%0A%20%20%20%20%20%20overlay.style%5Bthis.textBoxColor%5B0%5D.includes(%22gradient%22)%20%3F%20%22backgroundImage%22%20%3A%20%22backgroundColor%22%5D%20%3D%20this.textBoxColor%5B0%5D%3B%0D%0A%20%20%20%20%20%20overlay.style.boxShadow%20%3D%20this.shadowEnabled%20%3F%20%60%24%7Bthis.shadowS%5B0%5D%7Dpx%20%24%7Bthis.shadowS%5B1%5D%7Dpx%20%24%7Bthis.shadowS%5B2%5D%7Dpx%20rgba(0%2C%200%2C%200%2C%20%24%7Bthis.shadowS%5B3%5D%7D)%60%20%3A%20%22none%22%3B%0D%0A%0D%0A%20%20%20%20%20%20overlay.style.transform%20%3D%20%60%0D%0A%20%20%20%20%20%20%20%20translate(-50%25%2C%20-50%25)%0D%0A%20%20%20%20%20%20%20%20SkewX(%24%7Bthis.SkewX%7Ddeg)%0D%0A%20%20%20%20%20%20%20%20SkewY(%24%7Bthis.SkewY%7Ddeg)%0D%0A%20%20%20%20%20%20%20%20rotate(%24%7Bthis.Rotation%20-%2090%7Ddeg)%0D%0A%20%20%20%20%20%20%20%20scale(%24%7Bthis.Scale%20%2F%20100%7D)%0D%0A%20%20%20%20%20%20%60%3B%0D%0A%20%20%20%20%20%20overlay.style.filter%20%3D%20%60%0D%0A%20%20%20%20%20%20%20%20blur(%24%7Bthis.Blur%7Dpx)%0D%0A%20%20%20%20%20%20%20%20brightness(%24%7BnewBrightness%7D%25)%0D%0A%20%20%20%20%20%20%20%20invert(%24%7Bthis.Invert%7D%25)%0D%0A%20%20%20%20%20%20%20%20saturate(%24%7Bthis.Saturation%7D%25)%0D%0A%20%20%20%20%20%20%20%20hue-rotate(%24%7Bthis.Hue%7Ddeg)%0D%0A%20%20%20%20%20%20%20%20sepia(%24%7Bthis.Sepia%7D%25)%0D%0A%20%20%20%20%20%20%20%20contrast(%24%7Bthis.Contrast%7D%25)%0D%0A%20%20%20%20%20%20%60%3B%0D%0A%20%20%20%20%20%20overlay.style.opacity%20%3D%20newOpacity%3B%0D%0A%20%20%20%20%20%20overlay.style.fontFamily%20%3D%20this.fontFamily%3B%0D%0A%20%20%20%20%20%20overlay.style.textAlign%20%3D%20this.textAlign%3B%0D%0A%20%20%20%20%20%20overlay.style.borderRadius%20%3D%20this.overlayBorderRadius%5B0%5D%20%2B%20%22px%22%3B%0D%0A%20%20%20%20%20%20overlayImageContainer.style.borderRadius%20%3D%20this.overlayBorderRadius%5B0%5D%20%2B%20%22px%22%3B%0D%0A%20%20%20%20%20%20overlayImageContainer.style.background%20%3D%20%22%22%3B%0D%0A%20%20%20%20%20%20this.setImageStyles(overlayImageContainer%2C%20this.overlayImage%5B0%5D%2C%20this.imgScale%5B0%5D)%3B%0D%0A%20%20%20%20%20%20this.updateButtonImages(overlay)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20updateButtonImages(overlay)%20%7B%0D%0A%20%20%20%20%20%20let%20text%20%3D%20overlay.querySelector(%22.question%22)%3B%0D%0A%20%20%20%20%20%20if%20(text)%20%7B%0D%0A%20%20%20%20%20%20%20%20text.style.color%20%3D%20this.questionColor%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%20%20const%20inputField%20%3D%20overlay.querySelector(%22input%22)%3B%0D%0A%20%20%20%20%20%20if%20(inputField)%20%7B%0D%0A%20%20%20%20%20%20%20%20inputField.style.background%20%3D%20%22%22%3B%0D%0A%20%20%20%20%20%20%20%20inputField.style%5Bthis.inputFieldColor%5B0%5D.includes(%22gradient%22)%20%3F%20%22backgroundImage%22%20%3A%20%22backgroundColor%22%5D%20%3D%20this.inputFieldColor%5B0%5D%3B%0D%0A%20%20%20%20%20%20%20%20inputField.style.color%20%3D%20this.inputColor%3B%0D%0A%20%20%20%20%20%20%20%20inputField.style.border%20%3D%20%601px%20solid%20%24%7Bthis.inputFieldColor%5B1%5D%7D%60%3B%0D%0A%20%20%20%20%20%20%20%20inputField.style.borderRadius%20%3D%20this.overlayBorderRadius%5B1%5D%20%2B%20%22px%22%3B%0D%0A%20%20%20%20%20%20%20%20this.setImageStyles(inputField%2C%20this.overlayImage%5B1%5D%2C%20this.imgScale%5B1%5D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%20%20const%20dropdownButton%20%3D%20overlay.querySelector(%22button.dropbtn%22)%3B%0D%0A%20%20%20%20%20%20if%20(dropdownButton)%20%7B%0D%0A%20%20%20%20%20%20%20%20dropdownButton.style.backgroundImage%20%3D%20%22%22%3B%0D%0A%20%20%20%20%20%20%20%20dropdownButton.style.color%20%3D%20this.dropdownButtonColor%5B1%5D%3B%0D%0A%20%20%20%20%20%20%20%20dropdownButton.style.borderRadius%20%3D%20this.overlayBorderRadius%5B2%5D%20%2B%20%22px%22%3B%0D%0A%20%20%20%20%20%20%20%20dropdownButton.style%5Bthis.dropdownButtonColor%5B0%5D.includes(%22gradient%22)%20%3F%20%22backgroundImage%22%20%3A%20%22backgroundColor%22%5D%20%3D%20this.dropdownButtonColor%5B0%5D%3B%0D%0A%20%20%20%20%20%20%20%20this.setImageStyles(dropdownButton%2C%20this.overlayImage%5B2%5D%2C%20this.imgScale%5B2%5D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%20%20const%20buttonContainer%20%3D%20overlay.querySelector(%22.button-container%22)%3B%0D%0A%20%20%20%20%20%20if%20(buttonContainer)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20buttons%20%3D%20buttonContainer.querySelectorAll(%22button%22)%3B%0D%0A%20%20%20%20%20%20%20%20buttons.forEach((button%2C%20index)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20buttonName%20%3D%20Object.keys(this.buttonJSON)%5Bindex%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20buttonInfo%20%3D%20this.buttonJSON%5BbuttonName%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(buttonInfo)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20button.style.color%20%3D%20buttonInfo.textColor%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20button.style.borderRadius%20%3D%20buttonInfo.borderRadius%20%2B%20%22px%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20button.style.background%20%3D%20%22%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20button.style%5BbuttonInfo.color.includes(%22gradient%22)%20%3F%20%22backgroundImage%22%20%3A%20%22background%22%5D%20%3D%20buttonInfo.color%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this.setImageStyles(button%2C%20buttonInfo.image%2C%20buttonInfo.imgScale)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setImageStyles(element%2C%20url%2C%20scale)%20%7B%0D%0A%20%20%20%20%20%20if%20(Scratch.Cast.toString(url).length%20%3E%205)%20%7B%0D%0A%20%20%20%20%20%20%20%20Scratch.canFetch(encodeURI(url)).then((canFetch)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(canFetch)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20element.style.background%20%3D%20%60url(%24%7BencodeURI(url)%7D)%60%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20element.style.backgroundSize%20%3D%20scale%20%2B%20%22%25%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20console.log(%22Cannot%20fetch%20content%20from%20the%20URL.%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20showEffect(args)%20%7B%0D%0A%20%20%20%20%20%20const%20effect%20%3D%20args.EFFECT%3B%0D%0A%20%20%20%20%20%20return%20this%5Beffect%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setEffect(args)%20%7B%0D%0A%20%20%20%20%20%20const%20effect%20%3D%20args.EFFECT%3B%0D%0A%20%20%20%20%20%20this%5Beffect%5D%20%3D%20args.AMT%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20changeEffect(args)%20%7B%0D%0A%20%20%20%20%20%20const%20effect%20%3D%20args.EFFECT%3B%0D%0A%20%20%20%20%20%20this%5Beffect%5D%20%3D%20this%5Beffect%5D%20%2B%20args.AMT%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20resetEffect()%20%7B%0D%0A%20%20%20%20%20%20this.Blur%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Brightness%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Opacity%20%3D%20100%3B%0D%0A%20%20%20%20%20%20this.Invert%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Saturation%20%3D%20100%3B%0D%0A%20%20%20%20%20%20this.Hue%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Sepia%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.Contrast%20%3D%20100%3B%0D%0A%20%20%20%20%20%20this.Scale%20%3D%20100%3B%0D%0A%20%20%20%20%20%20this.SkewX%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.SkewY%20%3D%200%3B%0D%0A%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setColorSettings(args)%20%7B%0D%0A%20%20%20%20%20%20const%20colorType%20%3D%20args.COLOR_TYPE%3B%0D%0A%20%20%20%20%20%20const%20colorValue%20%3D%20args.COLOR%3B%0D%0A%20%20%20%20%20%20switch%20(colorType)%20%7B%0D%0A%20%20%20%20%20%20%20%20case%20%22Question%20Text%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.questionColor%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Input%20Text%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.inputColor%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Textbox%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.textBoxColor%5B0%5D%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayImage%5B0%5D%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Input%20Box%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.inputFieldColor%5B0%5D%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayImage%5B1%5D%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Input%20Outline%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.inputFieldColor%5B1%5D%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Dropdown%20Button%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.dropdownButtonColor%5B0%5D%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayImage%5B2%5D%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Dropdown%20Text%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.dropdownButtonColor%5B1%5D%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20default%3A%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(this.buttonJSON%5BcolorType%5D%20%7C%7C%20this.buttonJSON%5BcolorType.replace(%22%20Text%22%2C%20%22%22)%5D)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20buttonInfo%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(colorType.includes(%22%20Text%22))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonInfo%20%3D%20this.buttonJSON%5BcolorType.replace(%22%20Text%22%2C%20%22%22)%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonInfo.textColor%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonInfo%20%3D%20this.buttonJSON%5BcolorType%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonInfo.color%20%3D%20colorValue%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonInfo.image%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20findGradientType(menu)%20%7B%0D%0A%20%20%20%20%20%20const%20colorType%20%3D%20menu%3B%0D%0A%20%20%20%20%20%20switch%20(colorType)%20%7B%0D%0A%20%20%20%20%20%20%20%20case%20%22Textbox%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20newColorType%20%3D%20%22textBoxColor%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayImage%5B0%5D%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20return%20newColorType%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Input%20Box%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20newColorType%20%3D%20%22inputFieldColor%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayImage%5B1%5D%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20return%20newColorType%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Dropdown%20Button%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20newColorType%20%3D%20%22dropdownButtonColor%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayImage%5B2%5D%20%3D%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20return%20newColorType%3B%0D%0A%20%20%20%20%20%20%20%20default%3A%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(this.buttonJSON%5BcolorType%5D)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20newColorType%20%3D%20%5B%22button%22%2C%20colorType%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20return%20newColorType%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setGradient(args)%20%7B%0D%0A%20%20%20%20%20%20const%20newColorType%20%3D%20this.findGradientType(args.COLOR_TYPE)%3B%0D%0A%20%20%20%20%20%20const%20gradientColor%20%3D%20%60linear-gradient(%24%7Bargs.DIR%20-%2090%7Ddeg%2C%20%24%7Bargs.COLOR2%7D%2C%20%24%7Bargs.COLOR1%7D)%60%3B%0D%0A%20%20%20%20%20%20if%20(newColorType%5B0%5D%20!%3D%3D%20%22button%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this%5BnewColorType%5D%5B0%5D%20%3D%20gradientColor%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20buttonInfo%20%3D%20this.buttonJSON%5BnewColorType%5B1%5D%5D%3B%0D%0A%20%20%20%20%20%20%20%20buttonInfo.color%20%3D%20gradientColor%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setCircleGradient(args)%20%7B%0D%0A%20%20%20%20%20%20const%20newColorType%20%3D%20this.findGradientType(args.COLOR_TYPE)%3B%0D%0A%20%20%20%20%20%20const%20newPos%20%3D%20%5Bargs.X%20%2B%2050%2C%20args.Y%20%2B%2050%5D%3B%0D%0A%20%20%20%20%20%20const%20gradientColor%20%3D%20%60radial-gradient(circle%20at%20%24%7BnewPos%5B0%5D%7D%25%20%24%7BnewPos%5B1%5D%7D%25%2C%20%24%7Bargs.COLOR2%7D%2C%20%24%7Bargs.COLOR1%7D)%60%3B%0D%0A%20%20%20%20%20%20if%20(newColorType%5B0%5D%20!%3D%3D%20%22button%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this%5BnewColorType%5D%5B0%5D%20%3D%20gradientColor%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20buttonInfo%20%3D%20this.buttonJSON%5BnewColorType%5B1%5D%5D%3B%0D%0A%20%20%20%20%20%20%20%20buttonInfo.color%20%3D%20gradientColor%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setBorderRadius(args)%20%7B%0D%0A%20%20%20%20%20%20const%20element%20%3D%20args.ELEMENT%3B%0D%0A%20%20%20%20%20%20let%20value%20%3D%20args.VALUE%3B%0D%0A%20%20%20%20%20%20if%20(value%20%3C%200)%20%7B%0D%0A%20%20%20%20%20%20%20%20value%20%3D%200%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20switch%20(element)%20%7B%0D%0A%20%20%20%20%20%20%20%20case%20%22Textbox%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayBorderRadius%5B0%5D%20%3D%20value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Input%20Box%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayBorderRadius%5B1%5D%20%3D%20value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Dropdown%20Button%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.overlayBorderRadius%5B2%5D%20%3D%20value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20default%3A%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(this.buttonJSON%5Belement%5D)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20buttonInfo%20%3D%20this.buttonJSON%5Belement%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20buttonInfo.borderRadius%20%3D%20value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setShadow(args)%20%7B%0D%0A%20%20%20%20%20%20const%20shadow%20%3D%20args.SHADOW%3B%0D%0A%20%20%20%20%20%20switch%20(shadow)%20%7B%0D%0A%20%20%20%20%20%20%20%20case%20%22Size%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.shadowS%5B2%5D%20%3D%20args.AMT%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22X%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.shadowS%5B0%5D%20%3D%20args.AMT%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Y%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.shadowS%5B1%5D%20%3D%20args.AMT%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%20%20case%20%22Opacity%22%3A%0D%0A%20%20%20%20%20%20%20%20%20%20this.shadowS%5B3%5D%20%3D%20args.AMT%20%2F%20100%3B%0D%0A%20%20%20%20%20%20%20%20%20%20break%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setImage(args)%20%7B%0D%0A%20%20%20%20%20%20if%20(args.ELEMENT%20%3D%3D%3D%20%22Textbox%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.overlayImage%5B0%5D%20%3D%20args.IMAGE%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(args.ELEMENT%20%3D%3D%3D%20%22Input%20Box%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.overlayImage%5B1%5D%20%3D%20args.IMAGE%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(args.ELEMENT%20%3D%3D%3D%20%22Dropdown%20Button%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.overlayImage%5B2%5D%20%3D%20args.IMAGE%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(this.buttonJSON%5Bargs.ELEMENT%5D)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20buttonInfo%20%3D%20this.buttonJSON%5Bargs.ELEMENT%5D%3B%0D%0A%20%20%20%20%20%20%20%20buttonInfo.image%20%3D%20args.IMAGE%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20scaleImage(args)%20%7B%0D%0A%20%20%20%20%20%20if%20(args.ELEMENT%20%3D%3D%3D%20%22Textbox%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.imgScale%5B0%5D%20%3D%20args.SCALE%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(args.ELEMENT%20%3D%3D%3D%20%22Input%20Box%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.imgScale%5B1%5D%20%3D%20args.SCALE%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(args.ELEMENT%20%3D%3D%3D%20%22Dropdown%20Button%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.imgScale%5B2%5D%20%3D%20args.SCALE%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(this.buttonJSON%5Bargs.ELEMENT%5D)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20buttonInfo%20%3D%20this.buttonJSON%5Bargs.ELEMENT%5D%3B%0D%0A%20%20%20%20%20%20%20%20buttonInfo.imgScale%20%3D%20args.SCALE%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setDirection(args)%20%7B%0D%0A%20%20%20%20%20%20const%20ROTATE%20%3D%20args.ROTATE%3B%0D%0A%20%20%20%20%20%20this.Rotation%20%3D%20Scratch.Cast.toNumber(ROTATE)%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20changeDirection(args)%20%7B%0D%0A%20%20%20%20%20%20const%20ROTATE%20%3D%20args.ROTATE%3B%0D%0A%20%20%20%20%20%20this.Rotation%20%3D%20this.Rotation%20%2B%20Scratch.Cast.toNumber(ROTATE)%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20reportDirection()%20%7B%0D%0A%20%20%20%20%20%20return%20this.Rotation%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setPrePosition(args)%20%7B%0D%0A%20%20%20%20%20%20this.textBoxX%20%3D%20Scratch.Cast.toNumber(args.X)%20%2F%20(screen.width%20%2F%20400)%3B%0D%0A%20%20%20%20%20%20this.textBoxY%20%3D%20Scratch.Cast.toNumber(args.Y)%20%2F%20(screen.height%20%2F%20-300)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setPosition(args)%20%7B%0D%0A%20%20%20%20%20%20this.textBoxX%20%3D%20Scratch.Cast.toNumber(args.X)%20%2F%20(screen.width%20%2F%20400)%3B%0D%0A%20%20%20%20%20%20this.textBoxY%20%3D%20Scratch.Cast.toNumber(args.Y)%20%2F%20(screen.height%20%2F%20-300)%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlayPos(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20changePosition(args)%20%7B%0D%0A%20%20%20%20%20%20this.textBoxX%20%3D%20this.textBoxX%20%2B%20Scratch.Cast.toNumber(args.X)%20%2F%20(screen.width%20%2F%20400)%3B%0D%0A%20%20%20%20%20%20this.textBoxY%20%3D%20this.textBoxY%20%2B%20Scratch.Cast.toNumber(args.Y)%20%2F%20(screen.height%20%2F%20-300)%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlayPos(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20getXpos()%20%7B%0D%0A%20%20%20%20%20%20return%20this.textBoxX%20*%20(screen.width%20%2F%20400)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20getYpos()%20%7B%0D%0A%20%20%20%20%20%20return%20this.textBoxY%20*%20(screen.height%20%2F%20-300)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setFontSize(args)%20%7B%0D%0A%20%20%20%20%20%20this.fontSize%20%3D%20args.SIZE%20%2B%20%22px%22%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setTextAlignment(args)%20%7B%0D%0A%20%20%20%20%20%20this.textAlign%20%3D%20args.ALIGNMENT%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setFontFamily(args)%20%7B%0D%0A%20%20%20%20%20%20this.fontFamily%20%3D%20args.FONT%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setSlider(args)%20%7B%0D%0A%20%20%20%20%20%20this.sliderInfo%20%3D%20%5Bargs.MIN%2C%20args.MAX%2C%20args.DEFAULT%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setInputType(args)%20%7B%0D%0A%20%20%20%20%20%20if%20(args.ACTION%20%3D%3D%3D%20%22Text%22%20%7C%7C%20args.ACTION%20%3D%3D%3D%20%20%22None%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.isInputEnabled%20%3D%20args.ACTION%20%3D%3D%3D%20%22Text%22%20%3F%20%22Enabled%22%20%3A%20%22Disabled%22%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20this.isInputEnabled%20%3D%20args.ACTION%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20enableShadow(args)%20%7B%0D%0A%20%20%20%20%20%20this.shadowEnabled%20%3D%20args.ACTION%20%3D%3D%3D%20%22Enabled%22%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setButtonText(args)%20%7B%0D%0A%20%20%20%20%20%20const%20buttonMenu%20%3D%20args.BUTTON_MENU%3B%0D%0A%20%20%20%20%20%20const%20text%20%3D%20args.TEXT%3B%0D%0A%20%20%20%20%20%20if%20(buttonMenu%20%3D%3D%3D%20%22Dropdown%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.DropdownText%20%3D%20text%3B%0D%0A%20%20%20%20%20%20%7D%20else%20if%20(this.buttonJSON%5BbuttonMenu%5D)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20buttonInfo%20%3D%20this.buttonJSON%5BbuttonMenu%5D%3B%0D%0A%20%20%20%20%20%20%20%20buttonInfo.name%20%3D%20text%3B%0D%0A%20%20%20%20%20%20%20%20Scratch.vm.extensionManager.refreshBlocks()%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setDropdown(args)%20%7B%0D%0A%20%20%20%20%20%20try%20%7B%0D%0A%20%20%20%20%20%20%20%20this.optionList%20%3D%20JSON.parse(args.DROPDOWN)%3B%0D%0A%20%20%20%20%20%20%7D%20catch%20(error)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.optionList%20%3D%20%5B%22Undefined%20Array%20Error%22%5D%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20removeAskBoxes()%20%7B%0D%0A%20%20%20%20%20%20const%20overlaysToRemove%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20this.activeOverlays.forEach((overlay)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20if%20(overlay%20%26%26%20overlay.parentNode)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.parentNode.removeChild(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlaysToRemove.push(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20if%20(this.askBoxPromises)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20index%20%3D%20this.activeOverlays.indexOf(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(index%20!%3D%3D%20-1)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this.askBoxPromises%5Bindex%5D.resolve(%22removed%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20this.askBoxPromises%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20this.activeOverlays%20%3D%20this.activeOverlays.filter(%0D%0A%20%20%20%20%20%20%20%20(overlay)%20%3D%3E%20!overlaysToRemove.includes(overlay)%0D%0A%20%20%20%20%20%20)%3B%0D%0A%20%20%20%20%20%20this.activeUI%20%3D%20%5B%5D%3B%0D%0A%20%20%20%20%20%20this.askBoxInfo%5B0%5D%20%3D%200%3B%0D%0A%20%20%20%20%20%20this.userInput%20%3D%20%22%22%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20askAndWaitForInput(args)%20%7B%0D%0A%20%20%20%20%20%20if%20(this.askBoxInfo%5B0%5D%20%3C%20this.askBoxInfo%5B1%5D%20)%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20this.askAndWait(args).then(()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20return%20this.getUserInput()%3B%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20askAndWait(args)%20%7B%0D%0A%20%20%20%20%20%20if%20(this.askBoxInfo%5B0%5D%20%3C%20this.askBoxInfo%5B1%5D)%20%7B%0D%0A%20%20%20%20%20%20%20%20const%20question%20%3D%20args.question%3B%0D%0A%20%20%20%20%20%20%20%20this.isWaitingForInput%20%3D%20true%3B%0D%0A%20%20%20%20%20%20%20%20this.userInput%20%3D%20null%3B%0D%0A%20%20%20%20%20%20%20%20this.askBoxInfo%5B0%5D%2B%2B%3B%0D%0A%20%20%20%20%20%20%20%20let%20selectedOptions%20%3D%20%5B%5D%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20return%20new%20Promise((resolve)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20askBoxPromise%20%3D%20%7B%20resolve%20%7D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.askBoxPromises.push(askBoxPromise)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20overlay%20%3D%20document.createElement(%22div%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.classList.add(%22ask-box%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.style.position%20%3D%20%22fixed%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.style.zIndex%20%3D%20%229999%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.style.padding%20%3D%20%2215px%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.style.fontSize%20%3D%20this.fontSize%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.style.left%20%3D%20%60%24%7B50%20%2B%20this.textBoxX%7D%25%60%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.style.top%20%3D%20%60%24%7B50%20%2B%20this.textBoxY%7D%25%60%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20overlayImageContainer%20%3D%20document.createElement(%22div%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlayImageContainer.style.width%20%3D%20'100%25'%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlayImageContainer.style.height%20%3D%20'100%25'%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlayImageContainer.style.position%20%3D%20%22absolute%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlayImageContainer.style.top%20%3D%200%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlayImageContainer.style.left%20%3D%200%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlayImageContainer.style.zIndex%20%3D%20%22-1%22%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(this.forceInput%20!%3D%3D%20%22Disabled%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20overlayInput%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(this.forceInput%20%3D%3D%3D%20%22Enter%20Key%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlayInput%20%3D%20%22Enter%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20(this.forceInput%20%3D%3D%3D%20%22Shift%20%2B%20Enter%20Key%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlayInput%20%3D%20%22ShiftEnter%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlayInput%20%3D%20this.forceInput%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20handleKeydown%20%3D%20(event)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(overlayInput%20%3D%3D%3D%20%22ShiftEnter%22%20%26%26%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.shiftKey%20%26%26%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.key%20%3D%3D%3D%20%22Enter%22)%20%7C%7C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.key%20%3D%3D%3D%20overlayInput%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.userInput%20%3D%20inputField.value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.closeOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20resolve()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20observer%20%3D%20new%20MutationObserver((mutationsList)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20(const%20mutation%20of%20mutationsList)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mutation.type%20%3D%3D%3D%20%22childList%22%20%26%26%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20!document.contains(overlay)%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.removeEventListener(%22keydown%22%2C%20handleKeydown)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20observer.disconnect()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20observer.observe(document.body%2C%20%7B%20childList%3A%20true%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener(%22keydown%22%2C%20handleKeydown)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20questionText%20%3D%20document.createElement(%22div%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20questionText.classList.add(%22question%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20questionText.style.fontSize%20%3D%20this.fontSize%3B%0D%0A%20%20%20%20%20%20%20%20%20%20questionText.style.marginBottom%20%3D%20%2210px%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20questionText.textContent%20%3D%20question%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20inputField%20%3D%20document.createElement(%22input%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20inputField.style.display%20%3D%20this.isInputEnabled%20%3F%20%22block%22%20%3A%20%22none%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20inputField.style.width%20%3D%20%2294%25%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20inputField.style.padding%20%3D%20%225px%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20inputField.style.fontSize%20%3D%20this.fontSize%3B%0D%0A%20%20%20%20%20%20%20%20%20%20inputField.style.margin%20%3D%20%220%20auto%22%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20buttonContainer%20%3D%20document.createElement(%22div%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20buttonContainer.classList.add(%22button-container%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20for%20(const%20buttonName%20in%20this.buttonJSON)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20buttonInfo%20%3D%20this.buttonJSON%5BbuttonName%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(buttonInfo.name.includes(%22%3Cnewline%3E%22))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20lineBreak%20%3D%20document.createElement(%22br%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonContainer.appendChild(lineBreak)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20button%20%3D%20document.createElement(%22button%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.style.marginTop%20%3D%20%2210px%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.style.marginRight%20%3D%20%225px%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.style.padding%20%3D%20%225px%2010px%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.style.border%20%3D%20%22none%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.style.cursor%20%3D%20%22pointer%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.textContent%20%3D%20buttonInfo.name%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.style.display%20%3D%20%22inline-block%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.addEventListener(%22click%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(this.isInputEnabled%20%3D%3D%3D%20%22Disabled%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.userInput%20%3D%20buttonInfo.name%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.userInput%20%3D%20inputField.value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.closeOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20resolve()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20buttonContainer.appendChild(button)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20dropdown%20%3D%20document.createElement(%22div%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdown.className%20%3D%20%22dropdown%22%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20dropdownButton%20%3D%20document.createElement(%22button%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdownButton.className%20%3D%20%22dropbtn%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdownButton.textContent%20%3D%20this.DropdownText%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdownButton.style.padding%20%3D%20%225px%2010px%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdownButton.style.border%20%3D%20%22none%22%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20dropdownContent%20%3D%20document.createElement(%22div%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdownContent.id%20%3D%20%22myDropdown%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdownContent.className%20%3D%20%22dropdown-content%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdownContent.style.display%20%3D%20%22none%22%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20optionLabels%20%3D%20this.optionList%3B%0D%0A%20%20%20%20%20%20%20%20%20%20optionLabels.forEach((label%2C%20index)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20optionLabel%20%3D%20document.createElement(%22label%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionLabel.style.color%20%3D%20this.questionColor%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionLabel.textContent%20%3D%20label%20%2B%20%22%20%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20optionRadio%20%3D%20document.createElement(%22input%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionRadio.type%20%3D%20this.isInputEnabled%20%3D%3D%3D%20%22Dropdown%22%20%3F%20%22radio%22%20%3A%20%22checkbox%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionRadio.name%20%3D%20%22dropdownOptions%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionRadio.value%20%3D%20index%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionRadio.classList.add(%22dropdown-radio%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionRadio.addEventListener(%22click%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(this.isInputEnabled%20%3D%3D%3D%20%22Multi-Select%20Dropdown%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(selectedOptions.includes(label))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20selectedOptions%20%3D%20selectedOptions.filter(item%20%3D%3E%20item%20!%3D%3D%20label)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20selectedOptions.push(label)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(selectedOptions.length%20%3E%200)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20inputField.value%20%3D%20%22%5B%5C%22%22%20%2B%20selectedOptions.join(%22%5C%22%2C%20%5C%22%22)%20%2B%20%22%5C%22%5D%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20inputField.value%20%3D%20%22%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20inputField.value%20%3D%20label%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionLabel.appendChild(optionRadio)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20optionLabel.appendChild(document.createElement(%22br%22))%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20dropdownContent.appendChild(optionLabel)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20document.body.appendChild(dropdown)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20dropdownButton.addEventListener(%22click%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20dropdownContent.style.display%20%3D%20this.isDropdownOpen%20%3F%20%22none%22%20%3A%20%22block%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20this.isDropdownOpen%20%3D%20!this.isDropdownOpen%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20sliderContainer%20%3D%20document.createElement(%22div%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20sliderContainer.classList.add(%22slider-container%22)%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20slider%20%3D%20document.createElement(%22input%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(this.isInputEnabled.includes(%22Vertical%22))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20slider.style.transform%20%3D%20%22rotate(270deg)%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20slider.type%20%3D%20%22range%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20slider.min%20%3D%20this.sliderInfo%5B0%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20slider.max%20%3D%20this.sliderInfo%5B1%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20slider.value%20%3D%20this.sliderInfo%5B2%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(this.isInputEnabled.includes(%22Vertical%22))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(let%20i%20%3D%200%3B%20i%20%3C%203%3B%20i%2B%2B)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20sliderContainer.appendChild(document.createElement(%22br%22))%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20sliderContainer.appendChild(slider)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(let%20i%20%3D%200%3B%20i%20%3C%204%3B%20i%2B%2B)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20sliderContainer.appendChild(document.createElement(%22br%22))%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20sliderContainer.appendChild(slider)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20const%20valueDisplay%20%3D%20document.createElement(%22span%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20valueDisplay.classList.add(%22slider-value%22)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20sliderContainer.appendChild(valueDisplay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20valueDisplay.style.color%20%3D%20this.questionColor%3B%0D%0A%20%20%20%20%20%20%20%20%20%20valueDisplay.textContent%20%3D%20slider.value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20slider.addEventListener(%22input%22%2C%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20valueDisplay.textContent%20%3D%20slider.value%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20inputField.value%20%3D%20valueDisplay.textContent%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.appendChild(questionText)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20if%20(this.isInputEnabled%20!%3D%3D%20%22Disabled%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(this.isInputEnabled%20%3D%3D%3D%20%22Enabled%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.appendChild(inputField)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20(this.isInputEnabled.includes(%22Dropdown%22))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.appendChild(dropdownButton)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.appendChild(dropdownContent)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.appendChild(document.createElement(%22br%22))%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.appendChild(sliderContainer)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.appendChild(valueDisplay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.appendChild(document.createElement(%22br%22))%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.appendChild(buttonContainer)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20overlay.appendChild(overlayImageContainer)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20document.body.appendChild(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20inputField.focus()%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20resizeHandler%20%3D%20()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(this.textBoxX%20!%3D%3D%20null%20%26%26%20this.textBoxY%20!%3D%3D%20null)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.style.left%20%3D%20%60%24%7B50%20%2B%20this.textBoxX%7D%25%60%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.style.top%20%3D%20%60%24%7B50%20%2B%20this.textBoxY%7D%25%60%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.style.left%20%3D%20%2250%25%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20overlay.style.top%20%3D%20%2250%25%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20this.activeOverlays.push(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.activeUI.push(%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20overlay%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20button%3A%20buttonContainer%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20dropdown%3A%20dropdownButton%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20input%3A%20inputField%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20document.addEventListener(%22fullscreenchange%22%2C%20resizeHandler)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20document.addEventListener(%22webkitfullscreenchange%22%2C%20resizeHandler)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20document.addEventListener(%22mozfullscreenchange%22%2C%20resizeHandler)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20document.addEventListener(%22MSFullscreenChange%22%2C%20resizeHandler)%3B%0D%0A%0D%0A%20%20%20%20%20%20%20%20%20%20const%20overlayParent%20%3D%20overlay.parentNode%3B%0D%0A%20%20%20%20%20%20%20%20%20%20const%20observer%20%3D%20new%20MutationObserver((mutationsList)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20(const%20mutation%20of%20mutationsList)%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(mutation.type%20%3D%3D%3D%20%22childList%22%20%26%26%20mutation.removedNodes.contains(overlay))%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.removeEventListener(%22fullscreenchange%22%2C%20resizeHandler)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.removeEventListener(%22webkitfullscreenchange%22%2C%20resizeHandler)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.removeEventListener(%22mozfullscreenchange%22%2C%20resizeHandler)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.removeEventListener(%22MSFullscreenChange%22%2C%20resizeHandler)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20observer.disconnect()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20observer.observe(overlayParent%2C%20%7B%20childList%3A%20true%20%7D)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20document.body.appendChild(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%20%20inputField.focus()%3B%0D%0A%20%20%20%20%20%20%20%20%20%20this.updateOverlay(overlay)%3B%0D%0A%20%20%20%20%20%20%20%20%7D)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20closeOverlay(overlay)%20%7B%0D%0A%20%20%20%20%20%20if%20(this.askBoxInfo%5B0%5D%20%3C%202)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.isWaitingForInput%20%3D%20false%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20this.isDropdownOpen%20%3D%20false%3B%0D%0A%20%20%20%20%20%20this.askBoxInfo%5B0%5D--%3B%0D%0A%20%20%20%20%20%20const%20index%20%3D%20this.activeOverlays.indexOf(overlay)%3B%0D%0A%20%20%20%20%20%20if%20(index%20!%3D%3D%20-1)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.activeOverlays.splice(index%2C%201)%3B%0D%0A%20%20%20%20%20%20%20%20this.askBoxPromises.splice(index%2C%201)%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20delete%20this.activeUI%5Boverlay%5D%3B%0D%0A%20%20%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20document.body.removeChild(overlay)%3B%0D%0A%20%20%20%20%20%20%7D%2C%20this.Timeout%20*%201000)%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setButton(args)%20%7B%0D%0A%20%20%20%20%20%20if%20(args.BUTTON%20%3D%3D%3D%20%22add%22)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.buttonJSON%5Bargs.NAME%5D%20%3D%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20borderRadius%3A%205%2C%0D%0A%20%20%20%20%20%20%20%20%20%20color%3A%20%22%230074D9%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20textColor%3A%20%22%23ffffff%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20name%3A%20args.NAME%2C%0D%0A%20%20%20%20%20%20%20%20%20%20image%3A%20%22%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20imgScale%3A%20100%2C%0D%0A%20%20%20%20%20%20%20%20%7D%3B%0D%0A%20%20%20%20%20%20%7D%20else%20%7B%0D%0A%20%20%20%20%20%20%20%20delete%20this.buttonJSON%5Bargs.NAME%5D%3B%0D%0A%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20Scratch.vm.extensionManager.refreshBlocks()%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20isWaitingInput()%20%7B%0D%0A%20%20%20%20%20%20return%20this.isWaitingForInput%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20isDropdown()%20%7B%0D%0A%20%20%20%20%20%20return%20this.isDropdownOpen%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setMaxBoxCount(args)%20%7B%0D%0A%20%20%20%20%20%20this.askBoxInfo%5B1%5D%20%3D%20args.MAX%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setTimeout(args)%20%7B%0D%0A%20%20%20%20%20%20this.Timeout%20%3D%20args.TIME%3B%0D%0A%20%20%20%20%20%20this.Condition%20%3D%20args.CONDITION%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20reportTimeout()%20%7B%0D%0A%20%20%20%20%20%20return%20this.Timeout%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20getUserInput()%20%7B%0D%0A%20%20%20%20%20%20return%20this.userInput%20%3D%3D%3D%20null%20%3F%20%22%22%20%3A%20this.userInput%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20getBoxInfo(args)%20%7B%0D%0A%20%20%20%20%20%20return%20this.askBoxInfo%5Bargs.INFO%20%3D%3D%3D%20%22count%22%20%3F%200%20%3A%201%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%0D%0A%20%20%20%20setSubmitEvent(args)%20%7B%0D%0A%20%20%20%20%20%20this.forceInput%20%3D%20args.ENTER%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%0D%0A%20%20Scratch.extensions.register(new%20BetterInputSP())%3B%0D%0A%7D)(Scratch)%3B%0D%0A%20%7D)(Scratch)%3B"]) {
vm.extensionManager.loadExtensionURL(extension);
}
vm.runtime.on('PROJECT_RUN_STOP', () => {
if (!vm.isPaused || !vm.isPaused()) {
window.close();
}
});
vm.runtime.isProjectPermissionManagerDisabled = true;
} catch (e) {
handleError(e);
}
</script>
<script type="p4-project">ddchg,wC_B+4****2****v{ps]ts.;M`wJAX8rA+*b*DlNwLKzIUF*2O]`T-gbNLIpaT1o7z:4Mr1[[Aw5H}4JvMdOXJYJ5@fzv]?iVd{?=f{feHRvx`Z2ZUYW6OT)[bb(@0/~9bV@WD7}GuU[Y^_dkM8k+jxM-ASCM92_C1?nAR?f|gL[thKy3o\YxG:_R)vUF2D0K+@lM_yZo@zrF\.ftr{7?wOj\X~;*jX0I_jssm1BGtinO=F2[bYO-cF|UTc=DCA@Ywo:L+/S[q)K7|Z5TnrdUBCT\sX=.G\,)4FHd3V1xMF7WL^+t2jdu6cW.r`-om*|uU}j=}3C0-c[j[EB;kdD?qMqrTTubJUfIr_~U+i-4=ySpkjKC9;RM*NXf4V49wg:69rDM9[j6}{Kh|cgz9]wi?\(eI9cIeL8D`@wm3/A4kS{ag:N`ltySy_e)2J.gnEd.[;wgoIO,G;4e2MyrKc4Ucsg75[UP?DV~R*SS/Tgy,w=6}[VR2.n9L=jTjYo|;c9/HY1XcdYaO+R2tCx5*ZMMhXR]vo=h(pG\(HHzz~h7}/qk:076Kl3Wux2OP5Dhq6R)JsZdOEg@_*_K[Ncw|*t/HJ?{EsFH0VbJKAuEqLA[[W=eU2g[RC;{Q(F.5jY6}15Xmvk\1;O~s9K~-x]L?_+Q?;GYA|Sv@eyDSXtTNEfTP]`{6u-T8(T](GT;3}-ObG70bWy_uoxk.3qD;Q*Lx@ad4A.soj@+CipJ/43IkM9*`EJ**+nkj+(,eHmC/:]DAeM.iVeM\)m-nQvH4\;i+?,OtGH-{M?.JG?C(khJ(`j[TqRQqg-E42*\uf/)(_Gn/9V6Ye[pkFL}z6xVz=DzvHmA]Bk,\xS)7`uV||lQOi\d3I\~2|TI9+g\iIrwM*AOnEtoMZt)PpUc-fD._w:svGOj8NV1]8YV6}_3-~.XqKJN}xA,k3Ww{5d0jdN-0=6er@Q}c`z4w]^5GJR\HpC{M)Y\)O(S{b71Aaa?(nY+50AShS`j9VcL+2+[tc?Clk*/?S=6-mjzQhXgU)ri|[4I2,p(nzd|8jjo1,Mob4roh:)37+-XAHdVLBg1H)\y8DVe+VX3\zGir0nSqFC+.FnowU[[-3G1LTy`OuCbiG:V9B`JJiuapW;5VwO1)`gICK;1q1WmgFUt@=frXV~abN]huL6yuEAb2SHUpv`K[x|qVb[XeOQBg1|(R_D?n:lF[Y-Kv9K]z0a1BS1*@LTAP\c+Jrh@kPJpE+l+4VG(r,|NCJCCO;,e7k}B;)ClWDhW8v`D,F6Tu{iQu3^1,K3BSg4QDRRt\MahNK3Lb+di,F?HMV7|g)I3x@}by5idQl]mLi7\b=?O7~Q(FB7jD0;|jTmG|M+[9moH7;k7~q~f]EVKNWzRKB-sP}/MhO(v@ST(Zqs=62C:HhnSaxW^rc^v{V-jW=?N8f\N+RcN[1T;=k3._H2|6X:E=09k{e1J=\lMHln4lnXidPb:E/QTJ+vjd_z|MGm}v6Y^yxoc6Ylte*t:||KoyHJM^j{|0{)0zY0,eS5=eZ}_*y22Uz]@=.0.I0OCJh|ZS|I65^{pJPyQ^Al0J{jUt7b3bB=RzC^Jw7Xoaz6)M|LZXoy2q0:5Nc^6D@06X{/4:?z7Nfgmu3]NVg[cMssCdF._M0p}SEih*fMd-Z`V5t=/,mJsx^qHokDRQ7SuXi.dxK9iVtVwcQ0kUmucE`W-QY})IhWoTcoZ;~sDc7gf79wFKzu0OYky:t@foED1z{\a;^r_xdq;[]ecU2gud-A8_VJgK[z:(2l)},J8DVH:t2j.jX]HLQnt+(KUEuO1mS:iOa5_(2J|~TT?~r;1:qMxK{`/\9T2kPW8F2?8Q5J~25Vk87ZdmJ11Mj*UNUjwruM|^OhHFkC*r019,DtC;zM[Do,(ss5\72FetU1FtdwhX:R:-9aB*:fX2VM*^,u?NNBQHrJZ+Vmi7JQ+:u}3)/k0D~M=8-d~KBFJ@G5a(umAq_0-hClC8fYu3,P{;+,b:K7y3oN?Z-yUB7\Z[.Z:\bd471s,KSKU00/;jSs=Bn1kM=5Dhr6*}a^8*]f|aP7+=Z.fGXan~W7XhCuYp..rzye^lRoWSm)YsUJkYJ1J7u|{vY(z*;B60vO}v;tEGaJtq~z*2-/(NP:8P7J3mcG.U4N6^-\^v1F=JT-;4C~kpl.CKfl|T3v:9(L:}uMYf:?`JZRF1U6u0iu+[d+51XJq4ehwu`/yzRC@Nx0)XGDSGS{1;^xEa*Y6FMFjvg,ZzMzJKVIZ1u.F;r/y`/Q4bc.c4S^96h2LiR5[qbxU{1|NpJD7PVv.g`]eHcSA-n=~Gb*,|5-3H+WGI5NWcQ]k42{iN)PXC]H+/Q@?A;ls`A.n`}..b2+glyssOxqh3V)S+bJp2c6jFJ17Ysb[YefB(uJMrO7VjFaJ\Rp-F`qIz].CO,h]t5;e}k)tAE(3q]M*MrL/v({MEw9yWWy-40\M:=[.-Ia:sIG|tFmV\QE]vWf8h2g9xbT1~`t;+n/4@}6LV@u4)|41FHan@90e|}4_70.CgVWG@sw6Xh066\_(^{k60yXa(uOX+fkQKc^_8v+Q75yH3wZFPJ{UOL_kv6[}AQRAIuaOuMyk4SQe]OaU[F=aFFp8NgKy;mTmm{v|2X]3A8AXO_/8dA^0`F=pR3p.Zlk|r?x-PXS~\}htL./f^`o^ktqj1;3)xrf.FQhaU3tqM0hl]f55rkSXdi0r+qS@6r(iETHH/_Q[iIAN-{VNfM(1HG5.WneWL1P0,?5vgdA;]DJlWs[_\2w=Lluz)My9kOm_5CZoKcQ49gbbmDsvvKI3Q1;:(z9^8Yp}Q;+7*4CX(:o^*MF09HqENnH7=MnH7hUfoYMplD`]|NaMBP9X65*:[yE^K=ZJjrQ+X07Eps{kKHP^WGSZwggzBxTPHam~2xNhn4[1+p^6sUKBb*0+beH|9ZXf~4I?X)^\6Xwpu)W,KV(eGhVuKi8ud`Va.wpCF?M=WcfBDy37*i\E(S*lUHF,N.GP)\;T6m,asgC58+9EoMnz|/t~@bqO,oH+)WThvQMu={7o[+pF=\hC3FQP/fVUsclu{:0bK[Y,pyGv7?;)4O][N5q)4_C^nc]LG.LjsdoE^;2a)tQ}T)V4,`}i0Q@tZET(6xRyxBHWNJux8PAoHFRT?e?5BQ*bdBvbyz,Md*t,,[id0*2VLiKQsIg.{iF*wtD}+ADr1jEv0vv+*Bravq777]MEOum9RROOJxf2Al}{=Z46}\/x.hS]n857rPjCMIHjkH|s[5V;rL-BTSY?KcGcFkaM1i7F[W=|CMawOk6TJ{O7zx+Dq3l_=MA_(DIML\RU3St/7|0/2@YX8C*`?zwE~WD0g*@cGOmBUt/*StN(\zwQ8(@oemnR*G4s/ID1UcTmVkk-35vC(di_JfQL_V/RQ}y^KBE]{r\3jjY/_JYc*:S`oo,s?VOJyDNWvWUb60o@r{@z@ei^I2H)Am_MEpmUz`,D/Mr/~fY1rY+@m,qNYz6^Ya):I[sX/bzuWwEZ=vfb*)qihMh\4Y0CWXr10f3dAQkh=.d/YcjMR^2n(5Ik?*z5(3|Ga;k=32@0?|Y]uTeOSKj9./E|zW)X(kgfWI13(x6,)dFp-5e?5=+\2f[7g.cXSOYpwoFc},c,EF6E)@A5C+-[0)@b/T4IYvMX_I5/;J*dZBz0h(|_]RA5_Ord?`wxjOrmo(nAtyt5vK*l,`eg5@TK\q0i58)IpC0N7N.G*EX?=esuFY?c\Cd[sfwc^obB.Kx_7A1e2\3uouo@n@iWO2c;UxG*O6.L.aF[tV*hP)06?EYYE0DoFD`HUy=GOG[WO|2AOX]+HQo7_rc2NmuLdimMwO4uVLSrhgH7T`hDeOkOt\jJYydcRJrj?9u;cLRhwCxhURtd`L7PzN6W9KYm5zplXEOF.FCfnhSCK8*Z1gv+)=+|KrIN4FVXyWnGQn)vz7\j@UY(gGnDk|nYDcdY8FRb;wQs3aJ~bZe(U\julpD;e~yGLpb9O]t*U*Zqb[k62.sZ]l2V(Yt*|xQZ+iDH*}lbxKEv_LIS,,[)11Z`ci2+7-\@4N^uRi`EMsGme7a,V5tXg1):WubcV18p+oPuzN0IurOEDAAU;l3yO~hr@NPAfTmF:U8v+q5pdhu:L7rq=}j+/wt:Hdr,Gqs@L5`2(\i/N^?BKTX-,*kXEfcMY`RK^.9y4Yj0FY;(uKJW+0_6YH8vAz[-;@9,\D9.5hF|}DZmD[Zh?j*rmqd`zLQjAOeLb`471x3hQR-5f_pE{QMu@hin(0*N_;2\*6jZet7r1n22):N,cCQG7`u~7XOeG2S6{?3aT*V-ec)0eq\)[v|?4({}4/8*Pp^,Rpvwd+KB5gX7)2)mQ\5izYf93I-YZrZnXGP.w=Ye~AhZkEWP/]g~f)ple6kme5c?k1|P{aSx+_Ibr^M2Pe[am1)Od?ex|)1X/N5?jpAJ5M,nI4.F[xF3TLgLN3HralY}W@Lnab{8/_mp6Rd;?DsmY8fd.Z~xf**qjY-4`z2z=R\.tk}d_OQ]qaMGdI\?0):VQ;9z34W:l7C_wR@o+?oZ.xDzB*q9+.5\q2p*[oMFYQ;^@IMOlt-w*z(m;`3hY[]8~GBXdkak|`|`:@i@~*8B_Iol|1d\TnZ]:krqX9V_4,cw|gYpW8W+0B,Yxdmi8-rdg83aKjb_W79vP3FH/VvLnA6.1d=Hk9bKanqn(4yo(;0jhIvWy,s_h4M|kO6+_1fY3VmXp(fu~EC?OKEE5]`o=--Nn`d|cd3RNv2152960yD7emitHbML7[]1qAB?^ZR~lA.0~ly*FUl1o0yVVvjEH}K8wrapGm9e9s7/r-3X3nwSMbvUC7(OK):vBIThfD\yrHR-0Utk+kWj1a9qkV-PXZRNSD?0m4tqy1(9NbuY6a`nbj.H?Ji+vACNU/RscRhM9_C9IAnoh5U13[v\13+diVwKw;B:/oB=YL=dxCFOVfI.q?BxDDa9{rUh_/+v9Es:Ttfgo4+y)smJ;,MO[U{65Tj{)U2Ci1s7yFLCb6Y:k=bOj`Fxec6GH8l.dx:bp5+6ho)qt`Z:[hpH=0H,g{{=oRM2LMcr/O6@qlX4t{6e4s9-`.;)1hmN+b5~bcCP{a+1T)7z2r@g}}tE{K.h2.u@RxLs*.daY6Ycy5cCak=mW6Hi{i\`hv*Cf{X@1;UA5elD*+ovC]E.}BuAcsRMdL4C*SM=iHq,c,UD/K3wyyn+O.o}}J\[\6g/jiMvSi*I23wjW~UAkp/s;b(EPU6)]1B9F;9UyE?r:DhGfcJwUQF?y_c^xSwsT7C}wV~IAKO7cO4En0rBpef?E)w-:J^:Aer.4.v1vQsCa}z2p+?.+vFtzToT[QpfR`hRD1Mdc0|zRlevmn;6L~65W?{CZ_^_6Ji/qC*e{A_\G:K]/`vF^MB5}|]n-PTa7dSWTYJT\:tYe`2:+_`_hq0+U[fS_L(9uWmbc_:9~Ym]AA=t|5dZ5\MJBKcjGgU`BCzu\:Ng5D@g)+(L8(/1}81CRHsrnl7yX01Ov8_l4cxWFgd.//MyEDvq/4Z@RSi:1hv\CWF+Fu7*:|5L^0GNoHIFVle0WZ+rcC-~jG2D|*(-Xts}+SGV30YTtPB7hsdm:ahC2zau5O.OM_?uBW3A/uNJxO3oVRq=))XR767Wgx9Vwe~RL]+=vL]ox`j98NORoNW_UhB8fHUr{t(DaS[n@n2WIs.um/z~Pi(Xw(5/:vUjQ[wA{C{ofp?jhzUgk;]GVlTqGiT=kKehPp\R{\yO@ZppYs[B=DRW|uH.whvH.zC4s[R;?M@sQxy28ir]AKIT9?O4_K\W`)~YBo60fuiX,ZB|KWrO(RyK]f_,Im3(r(?c)3h[7|py?,jY2{em.uQ7LG.hpso-Nv]K*T]-GSM(;LWwM40GHqO0Rxn|\)Ht8+^igUraf1]}I2,3)Qi5_U3dM8hxVo7=sI1JSf;UM^;tmRi5tn;3uda^[FeBq8SM_3moX|C9ZIXY,cbzck/.:hK9IBl.24oX~74CxGdN(@V9)+1?p^v\On,C`SeIKf+0G?0W=BlE:U{v.qCWh1W?^CDpvY:9r1emJuKOrEl0\v0=FVFrxta]z+KJo4iz-P*l2O^xM@q7ct6H7(66971~@Jfi7]mbMGQr.GfZ*sl`:RGv/V_8f.5ri=urvnI9f2P|1Ky(;3n92@f^_YryL)~m(@BSntdN7/GMDx\ovN(C6sUbPtu0X-R]9|krPyNg0zINzc{[dUn(rhW~qNF)gS?)JYdC:/oSZKkN]3Ax*DRtB1~)-jZ=;;D5Rq[CK7h:ilA@UU|}`Y44X?W^~pY9QJLbmEs)jf:G.7,Ht4ODouu@0NizthpdkFj3N|+F1=ip3NfH13ihSeeVQi()K@(RjOYtD(B/p73le?vhvWX{YY0-M)h=)``.;1Rb5[H7wZ5;kXRc\[_Dy}/PB=X4o}UXmpCdqa8p*HiZnvU:6})QC60r^/=Mx0C;Sy9B6l]QzN;aYzp4v}zxJ_M,ofBEO*4nlrl`)GlBdQralJOxo4}Ph^9(/3nG(rI9|6?3CD0WGNZKqLebS{~4u-e3LLJ54r*wfDOKq~DDyd~_r.-0O?;sbavP|uoXM(0ic@^Qk3zpJsJCsR-ARFX@ff(2Go5hGJk-[vzm@I;?(e|D+4+XXO+yZQo`kF},w6Si]5{Krya-OSHK][3|pyNU5gw3SQ[qIuaMTHQ+4ASxx\n,b~;o0{}z*z(wmTH5,{P]I_{`JXY)JiY_+0=PsW\@mc*S.W_C8K(4Lra+PQk@sX9HZxw_n.GXVV|tmr{=T:9MUbyr\3nP)~j`jVh0p;tRGF977IMrN7,.|U]DX9w@7axscx*4O~W~z(Xau9|h_cQ0)WXr-S=tF\.q8E9*S-[;f.jID:[NdQD?8.SU?zgqnajPp.-qfwi\\ufoyuiMRk30\hZE8SR6\cl(1dB[s8drZP5,hdUn[\epT989[a\i6T:JHg-_lHweb1}?lXRWQO;QLZ5K)g=V{7vw/OmE75kvh3V@2Ge9[HqTp^mQL6xdsd,DUa8cOQYH{VP]uewXw69CK?vctsO/l)5//@4Ou{{Xc{.Wsn[K*m3|O3*W7Nc7eYtMNSLfsUB\pa]n0di5Cf69VPklU-:a7Avju=d{nEiA3gEQOW)?[2zCW:?prUfvPERw{2aVZ}Yn8RsP2xykAq:.i;/R`3WNiB_7yMG=cDw@q[b|7w[M=+pwne+*p~2*MXg8+uVKF(pHYB\s;h9i2xQlP3Q[Oca0Qep}^94e7D@[{_hvvV+C7]t?1v5f-}|9_Zy1N-6soclNqmfpDDMM1F\P}uQr`pv,[H*0\lZx?/35_0hX9o4rnBAmL=IiB^)O.t)f@,S(iBKNRB3+4)WAzlx}PIQX1N8CuI{aeM{[|P1p[{vV9Cto4syRHr(2o:51J-s8_`)Xm[OZ6r+021:j?u9hf6P^U{6zPkRA?xi5~+zT\P_Y_*jhlGD115xdMB{1Md/r5{@YlZiL5r*/A8[aS@KG4Uk1Fw5,aT]a~m)QDp`I`yIvj9E:x3hbEV,Z^8NU}un:yRj\tC9qtGn~RY.*b9ZFxiX2]3Au7jQ=T=`z?i+IT-_R88LYvWfl5JaHOeoV2@RS-1LTxhcZd1;A}1B0F?zK_ax:2lI{DC7fEsJ+3Xt/aB3u4RF`i1m+K{QL24vMb)WA.EX5YBl1`Oigw/]lw8gv8dYP:]4j0w2cx0tVI_7K4eG]m0g^`?3-0iJO6-CqU+-w1uk^W|kuJP7fdt:`fS7H-u3C;AGgRcX;=_:8tK1n{;@S|GG^l4g:Kcv:0uU9xZ1(9@1s@Ct(qDNesQP\8A6?0/c/bGSM4?yt[JY2dj:z2FdYuYi4]N:hqz=J?:[mswsktWyfAr,90Qd5O-f7UClI(l2K:_pXvkjAd\SA*,TN=`-+ub?q,G(pyzqdetMypgs|zd]HFHuMl24bH+(t=WOhRIuXog5?qxe26KaZ[Cm9xmgc{{F*|ZRj4|SLyGF_VpZ-6gKlcDM9D|V]p[@t`JQ80P@|l-:\v`TlgB[jm*AH2:5/9Gl,p1o(NT09td-/6mdDWoutYk.AK{D8:^[_E1e;*P](`UI,URo9,`xQ70eUf82Ptn}9R{H/`4OW{^4S^4tH7s[}sYSJ+).o6y3VGG2NjsHU2-b[CX\+/3n}WZy71Y(;l60+xYcgXm{R0w6y[jp,8T[k?JMnvZq:WvviuE(~umo~37c1GUd`7^7Kb):GJ5r?;Y};S,u~8schU]nhj2s-9Kf_@IMBKOVPKE^Oj@K0No7l\UyhwZ*3v3R[-:J4g-~[TFt(9X?[w).ncm/esFRsI65w\-PV`i,dP\4RZI,nGKp`[i2Yd2Oqy.JNNP{?mx5f.m}@{XfNk~uA{t|?I/Bk^sp+AT~4F|[4@AVI63mPY`t@a..H(BsO-:m8z:JkgcCc,oP},,`t7PHLo@_s[?c0KG966XIgB?}pU,6([5E\njHvFVH2wy0-af3KQ957fv9OSevjtFTH^HE3k2VrZiy]A`L{JZKZ`1nD)c{7fHjXj?^Oc[P|[E8/IJ\.X8S;,hg=(^_)3L-:U:R(pd`]TXt8PZuwvVd{Q)BpeLJ+l(NASBA1NI8=)I3^:RU=ls)vCIZ~;UapVpzM2cgtrWJF]hkA)\e?j-Ha^u5`,{0O2MD{`qChm50)vmBGCju9YSBYWSB,a3MT])OfdjWchEU{hJBuq4Z]o5D@z9u]y9Gy6{ikh``:(AL|\sV=q*AT@qi)+p(of5UeGn[|,Tnm8tdz@09lT-@1lY=_aJiL:Yyp5xjpH3wZpqjP7VCz2j]7P=3Qt\?v`7~1YpmNCKGGZ^,WncUER0j+ETg[4;Y[7Ec5IpRLIM0/Yl.sYL8IEx.2GjGL=*Dtc4_?FB5}APyty75^@W`hxZ~B0Z_@EicmmaQ~s;=2?^w{RO.gQA}oYs0`Fb*EU88=;CV)vhRHw4]fML,`|DBrql6onIldaJtk@,2(uiOr^vu3:,m]PZ?nV)Y_B2H1lu1SfNb?v_FLUu6uVrU3N{Z@P6gm{LEkR([kNv5LkkKnCa7uSghBK^BWU8Uu^yxm6va@(pFK/|LYA/_L7PE|?9tdj2s|HZ@^.2a]ofC0LTlS:NnL.EF3lR1Rtn5xj`*BzQ}Ekx}WVJ92z_3t/ijP)c3E1@c*ca++^Dz3:]}zIgMeiOG~H.rCm)yJ7VfhWTK;ndYeH;Dte^n/g+IKIlg+]+;[B(+:Mkyg3kHhnE:pTKJY^.uP-G)EfNH{?aAa+|8ww=z9`|@kNVZ^/{|B]?9QIOuxRQ?|,I8Nkl.Su-3AN5?bk`c9CN-Gt7I7Z-QQHDo_+;H4/@7Ke]pMMXSS1jFHy7ITK796gJqUkxcVFI-N/)(y3)BJjbqy)8Fe~8~;6=uLF~wEDzpRfHo}x{(.QBWf6_KlBd{]P])?lr|f@g8YABL=b(y]UW=(,hpNu|npV{badZlq@=BmgIDsdd_ZDMZNDOg;i]P=+MglSkjhDW}f.`Gx8gpUaBJb)a_n[1puR3ymmsb3@v2k4RoW?t(;yUMT0dybkos.=0ddl_~1+YU\7qc]C_:H\Cdntu,YvB1Bez`hq4l.KNZH`v*GT[d;:-`zhaDP.;KUTim7EIjN,xN*FePsu4K6ONq=F==qzJA_Ux~V^;:+c[ly;[bIPg/65:J?:a8yuA98OBPiYbtc\4dh.@mxnCTIh?2R7,KMb{qbH_@kcjNUyoCNifnx{ZjlB?FCB.-hm@X9joqeTC1)Za6hOYvC+ybW@o~~^EjJvR@),wqx7}_+aunvn@zep@+(Gs,lQf{87T4pcQly4~WW?E8*gDKpz3ysQFcBY3=g.~Ztl`ARdBZNh\j])m/G2nW-eCbqEPT63nJ1HIcJM@}iNAGDV7ssRrb9na.Z{LwT;U~:p;8tnTOTV+X9yAEMCE5IVf=V]^{p]U[+TrO,W/Kop?.Vy2CUA9W^?_~L-3u0U;ZuH*bBXgbKOtL85\l6d8m^+E(*wl*KI=l2VY1]HneK7Gzij75~3vm{=[Ns*yJtWi7I_x8WApZa5d-]zwzvGQ*np^TGF3GZtM=@l8_m+I}0R5jnLw~FV7O_H{_:=6MbFJ+tbz]VTMUM`AYka\6,bO)U\+d3r?lvzBQE^+LujJS|+zPOu5]Ih^ik2E\|0erRQQz5=FzdXD^9q0G5I*[qL1cJZCy{x^KFJ.|`KCil^uKhAKY2\bk5far=Q|K-s?P@b.L}A;i?TSg)eFrMmjJf)qJKP53mpENmF?m/\=DgwokL-6D5}3QrM:jGS6zhjd/tYd|6Y-MA]06jZu|+@@=eZCrFT?Oy-d`v}B;UWxuu_NtC=H(]6{p^Cx?p)ansG/1J4Kk]Fr`Fg;7ogf5]/ME}I2Fiul=qH]en2[\Ui?u.3Z5AC{,Hpp(a1kH3rc)E]WJTfHsEjdub,kg`;6we^]IboE1qmqv^`wNx8cZCJ4^C2nmvIbzm[9yYEkQrf9GRjNa9q;B6hhU@2fS,zC=Liy4H{Yj[H;)L{QPzOVFrpNx}qNyp9*@HU(6x`i}ThO8qolcxxqK29v3:e8toCPE@)Mt*Wc}FP@-2th|,An-|`t5uH[P{[;KXjt7501(4iz9yhJ[?c`e\{[9j.T--gAIKvKR[`_D{B`4*-1o7HS\fkZnrdqU-was4c`0zF.aVxz6jD9{2FaXq4g6@Yk[6]+eldvD296.blN47FmIoD.Fq^X,}LGrM4{vpt=|D6^2dsE6h1`9Jr/X~0L(yuSzSz_Z?oD60QYVML9QtlnfBdnIm*g][n)0B|YNr.obSLF,l3zy^Q,J~9DIHyy4OqFa(ZpMj+{E2qX-BJ]MRa~F[MYZ7a,{Wgg{X)B_L(jOIudna_Pme1TAZpi,hER@art7wRB,*_25kL1.BM:.Vk+b2N|dpjBljK4rU@`p\g-H^5P;hH2/K:QXDsoy}+;zdi7bm*fbqY8^S6PYUPrxm2C,|az?eM56*f+Mr:9fD1(OTGC}BUqI_hK8yFIgB^9ukRzijGiCmuHdxF8]mnjr6_f\e.~{n+2hl-Z};fr(Z9OG5~+Td7,O5IlCI}KC9G(rEjVF*9xb@Gb[I^ulvBrLeu1.;Pm,M8VG_snxMTqF^Q-:lk9(jpX4WX_hG|T^NC_|lV`W4^@2KV[N~nRD\4G{qd::TVq4[:f_b-Zm,2V;kvG6N}gm4;Ck}sD-7u5z4Opj982qFjjDcd3\rK{^H=-Z-f8O0^_L:]Z+jU-4:17Qugdr,SQ{0o,\-|zbIcTzD1?qG7/=UHPVEuiY;JS+z.@MggCjLX86e,eN7,uno_a?,0b+Sr`z:jWjh^NFipA}5(~p{)mT^FW/`K5[@pIulTwB^9{XR/rHd[7}mRKgwUP][Rj2cmAbXDIA:J?UtsesIVV`;(du0Xy4s3[)8,WvliUlMH?^.HGbD]hQ;)pE~pr`9.){P3[U*U4r8([-rSV64)GspOn0/5bDQ/[ONd[ev:1-vB;I^n*MX}up=g:4l|:960.Zwa?3{=4]ItQ/zGOFJ=Ymg`;O?End`P_2.y`/AD0`*M:K~YVS63\ZW90pPENIC;:qFg|B_r,:;+ns6BSe|aYlPleef+,;GQO6(TRzd7cbL6CUx6QJMT`TBcVOm.Fe+r2)*i;Kf=vNL]_WFSH(8tw5Hv2TMq-o9_H|v+wGABJ8jPEHk~dyXRPUPBMxmy,FX05S:2_Ch?LK4Dh]P.l/.tP|\R^_o;L|({]eD{5],37@pFwfTq[0O9D3Xr?tDeo6vW@H{C?CM|@p\bvdlV.(L}j99{rE~paaHeA6Wfz_;-fhVU:xWE39G=}B|VC]hZ8b(;Qefi9zg@8TO8cz0U5vOLw/+iNL,eldSkdIqh*Qzdl:+B_IJ\,n91A@_qui3jyef`g:Y+DqCnBOUjpCYrqaZ=oTn0(X0]Y_Y^?eIx5Xa@;UAV(kvS6+0/i7L4rSV646TD@M/lJSpkQ~pWc@65@cWtvlbN35@JcT:\0A:k/t=lqf\@4no:~,55?4f,KcJ[71gO4ndDnwmo,4gs14h@qg4m,9Ye]~HE|xQNMMbOs0g4D2Hs2EmVD]dS\p7=}n),RgGXh|\TRQEcIolEf*+~F0b}bMIsiZ|`NyMpwX/x:t2C|gpBrnrO@F@FRo+T@158wYBsGaHK5MK7l^;68,ANwbCC9}6zgj[AUkv9rw5n|@Ret]fFky@:w_b|~rW;{^wL5kf,27kKK5~b{4RIfHzVeu?;^UaWrl9?_U=BR/SsnwiBM@CAS(lV]*S\f|1-dS-35/8^S69LROrX._`i2OM,Zmi/9Skvtzt|Aj(N9v~pXeaVX_gl)Y2AOm})[Iy(2r+~L=b5]17njx4O~YrTLr:vWQVga*K5{*0=8{t6-utN-?smu9FPd35r:~,-l^|CX_KuVG8Cb=7^+3*)l/-@iZ1w16CCaYeP-`kZ@6Y:?ezL5}cfI==c50JQKV3[].5vg9bcuIjX{{q`Ni-ag_8f93bUdYN)d`Sx,J0P]);TGPjTT~aRg{qydf`pV5`s/g=*W-0]}}4E\|fWz]8uBfm^\vb[MV^^ZlX4sXg99HfRe.KcOv\Fk,DPrEPJ2FM.yg=]{=QX2zwp5[i8aS6}F1Nrk/iwlp[NC[AQUpUcwY{(t+*(P=^=@Vzd+3(X(\aLhp/g3~v(?JeNmF:}0iaw8?f2Hio(GL{||im4pd.b_5~Qw,eB*k\wLIExvONMGXpQ9x;PU{Yu,N,{3sLDo)^.H?F4QhG3\YDmHCTER)g~tT00j8akuOPj|I;^PYd=l*k8G[QjQcu;h7f`:)}|JKf`:gTL5qE{ZfF3rLobzFufzY9erG=_y.158BG\tN}m5dgJoj*sUqRD|*gjWIzVPE}lqu?LQBhUREuudIq|7ZG~;^1c).sZ/Ru9sLT+SV2~\`LW[Gk[*wBZVM-Tkc\G-C?jSLL@hS+FX**]`L=Or:kRFq:)GMsoF]Ar:omB;}4xMor*bjZE\_G|L.FdHKllDwEZB_Dr^A}[bcw7KjUhbq1(x+ajOb-BR^x_S?;(XIeK=hI23?IBcaEb?(NRjr*ns:,C?W^vIMJ|r~PPwOdjwk}hR?*?+=Kg6_Hg4@qu.G]gu]_2y)@eev^9e={aCZLl{LkzF-xgQMLDuOwPfynrdd{8.B^ImyEsjbn00/f;z/Nmm?P=?R=TD+SsoAeaH*d+Fu2dvQkB8L60KI.Ap*y_])*zNrN/S8KGw_o~@Gw7L*}3S0kpg-bZzarH^PYd=l-jrA1HQ9HuGr@bH1NUj[hvz/)38aS65)JIr6`0rNNgZk]9B(y^BTW3IvM1yT}l{~K{k1jj2;Bu7/*0o5B{q`_/0gH1SltW]f`x~mN`r3uw[De,Q)GqMK~b+Vomz`ZH(Uh`qnurp6k4lkJS[^;ZM]epq7NiD8SaT5PojBbtET{7;ZH,9^;3fIxojAbASwX`X[n)0Z^d9NQ*vA:gIsW(aEsVOnlPYMjK4[-|Zx~mR/5Lvt=D(Hq-)qoo7kfWCmGoGkk}D{cL5qEgHs^t3Ix)i|8+:BgE9.76zau\*4les4|FldhX0Ow|M+e(A]8z@UE6;CeYw{6BByyP@eyo2yT{Y-L}=@DS2qXA*.D+B5m*c-4Fqtw,|dld*vvDxN(RA()rpLf-HSaK-*PI3f{8.B/4(\O:9,D\2M6]Bk9GUiba~tp\BNLx^=t4(^}[sr+gYNCr(9g3lzRqo4zW[j.|_5Bb2GyWfp[@dy.b{,+9f`6*Z97PK58-T/cXtERhdo3L|;.FPycGPlg3?8V*LGRI=@MMX9lvN`7OtOKjW]h~F,V(hY|S0I{zBCX1df]w{dONG3C+EuC;.9I8bsi847.[KFoxr5W^vZym7D`)dSsSC{d]9bfvwov,v7C8B(N(bMeXWrT,AUXzjs?\R9F9P4+W19e+o,pruCH^7/;61\L8=oYinDWM8i^rIb86k@nVF?F4Qhkm0OlSrc(e]t|OKbO]O7|?)fkI1p)0-7Dn-p._RvFxa6;uO2gjv\/KaTwP91M6(g_r50{miR1_wYix~/^PXIPA{IHHL(T*J~r46q.vgDvVQlM*H,P?..elZq-/R*jBQ{KZ(~]QI;vwR\yJ?/K35Uayzupuak|I;^PYd=lz8nrE`jd;-2jLKjz)m5H+cMZBl0p)0RFd9N4=on.[6xcQnBo.=xibEyk_~cF_C[E\jV[@M{P6gS7q7WdD8C=po:DFoz):_Wy*]hOb))N=SYk]wYqI\dr?.UcppKHTw+wZp]enZZZTagudJAXe)V3jdRTwbsv7wZp^[SCo}-4f_]9itvmg(KsNs|+BNGipAgJknnB7tk3l[w`HgxH]{^tONKYw3;-Vx-iNcbM4f+9sCCylLwq/uV\Qac2^W4j18OPbu.a4gOL370k`3H4t?J)Kd(sd4=aJmPdcYdLheerXXzK@kxh1zz9v@L=rK@^S^ffi|I;^PYd=l+?Gd6Ks^jR:9B8VSNlbJ[JWhf+8aS60D^]1^e\,EyxO(/RlGiz\jr{o5G1*JzSckeh?[`T=JniC_1LV?Ob4OCi[}MU-Rn6(z96qEAsdaX|h.|q-GVgR-KY-zh^StX7ByyPV.8Wp|rANf}K1=gjCEd?@UIDK;9OH-4Fqtw,|dld^4u_xeXHTl:p,[Aft;}3|z+e85f2}BVwcSI9)*-lm1fQJbjV2HhKO;ch?[`T`Gj*F8hmfS:C(^7TxM_`a2=]`L(t5dkp)4?n1R8F/}e.G1_f^DrOcJs7h7x5Nu1TMKW0)A,MYYT;z+,A43y4v^7-d,NGipArk9~p^rpaCdN-r79[pU-um(y{vrPJMJxG2Zby|*UbWj/;ZNlW^oJoqi18|t\R}~hNVKt`;V-}.dwjO/=1.]~Ov,Ba4LkN@j|Z^*f,y/e4J^4~N+^~rid`zSnmGK6]g@H4fSV]`TbiDqe\F~7fa6\bc)QXYvgZVOMow9KG={rbc7[i^l^u*n?SCnt6;K[=AN,j2JQIV*-QE+ek\(OMLUJFx[1fHvW/(u[lIpTI(k@j{[/X1:kEmPnWn,o=gqYKTtZ.oSZD/.\3\kiI@jpY:4d@;pPxhN5_X:0Tt|2\,95)JIrrSayOFH.Y=?:a~r*?Y,s7o=+)a0nrdAlg`;XSG,Ky9MzoF]k6`E+p;@AcFQ4~WI_mz+lglSEp15M^2*8@,,*P}}NCttAVdj1[T[p{8}LJ?KQWO:y`*,tw1gK.xx;vu96qEtH]R)yt(Rd/sNf)BChnh_[8J8HG~D^PYd=l9c\.5YJM\bfIt=Hah(~(ex^*ne)G.7=h{3(}TZiAQg2uiq2wh=XwtRF[.n(N*o@cawb[ae+H(l0r][\1T9nkGbfX-x^wOdj1[T[pt4n|Rwj.N6@AU)-,+fMc}x_])*zNrNDejo2[Iu`UtB0;(mY`^jgA-qd8[;[Vlnq1(g:YXWaHoTvaH,4:r`JLwEkF]hzn)\er^YrL:`|Nl=2~/K@35Vqsdj(N*o@caiN\EZ-xrFE:Pszf2?[Hub-rTcW)efVhbq1(.2Flo`c.V,4IIyU*_IjgcIIsdHfxG\wc*KiRuz+qx/09Ekds[_CH)2Hv[6|I1~|rf(h@u-KV80?Tc.L0z@0OcXWzeF,7l]fue:4lx=BgG`sK\n54cP7wVSq[e8^S6zbIIrV;dqpHT@/`8dzf\Kza^(5o:hFU6BU83p}[BLLZf2CdF-QwWME5e`n34yWa_Dc_D:s27LyRrzV,`*Fs|B:MZEf:s]0IVS;3ZBsdcV;+PfprWAZlH~6TJ4bbIs2^DQetbXtEk6C*^jYkK^xA?-nBB`*_nflrURHiK4|Zx~m)zi|o1.r(a)_)J.*;UN9[cWhOb5]17^bp4OcY^un=J{5;imLc7PKL5Wcd)uq|Z^*f^j8N7UmkpFtdmb*~iw_O9If[a],;BocrOX`y*CFd6+RkrS_`X=[IQ_O:^\R-4Fqtw,|dld,k`{e~GFV)KZ]58I+a7u]SFEHt:3QhV+Ptj4KuKx}dlxM_milL`3_ujBcl7Co8S;,zsrQIzu;m@JPEo=pJRO]j:`mi|Z^*fz);.(xNm}+5L`=0Tt:D6=_^lpypky7|*Z^UflDwl_5)dHCTa|hK0wHs6]|spOL\0aC1Ayc[rniD/_2Q4v/|uT^.x064-dcYDLheeubNMY\jHp?MA+OQS~:Qp7d(4e0o{~K^x@SZJhEzdfVkxI6p{}w)D^:Gv0XJ0~r46qKA]8FF3KA,SRm=fL^T4C:|EBto)9/H?F4QhTDSjvIBA}TVkxbZa;z+Q)lI6]:]mYp8/4QdPyd;(vV]SRz0S7Io~E-Le(f,57XgEr0?D;Z4d7V65=1aFs)Z=^Uve81^Cy/w[aHJTAi/CXrD=/y=Yn/v@Aw^lBuvi]Tv--Zf5AbDGfm=/v]k*Zy=Z2vEGvd4s0vj{]VlLUc;zqlMQrpd9pf5w]cuPa_A[~K8OZqk^;d7QHI`jlt`V\6Dxk6^0{6joygGuPj2J)=KnbwUBblWT-Dza/bxFCdcNrpg^oEi5At4I@^VlR02nZ3=[33v[W]^P7cjVWi+8UJTlKG5-QCuuG`LCV)kBH*,V/UH*74?CAr8aZoq~PwuGE)*?@1Y5?wx)iimtJrq_HiKoER`?r\=4X)VqA-SJf`BmX|U~*ev4-7z8:=h-DmaoxyFb+\j6|^^/N6(ZF(3PHhlQ`F8_jB(h(GOO9lE.q_Cq9U+tsrFXm-bd:|MkLM*(k{Bb`kc:iT=L`j6a@M^|OpP_7=C_xyZnz;gOXLw+FIZhck0cJd:7jcIt^Sk4\rR-OkexB}s\U,RIgp4OkJU7{s3d2hS*ngfnzSz~Ne3-0vq}3zRO6]cU7[)bkN|xW*Jp*czk:q2Ko(U_eHI,hwp5Yr-l-GCBGSTN9yiQoG(fJ~25lz*8W[I:yl.wmCId=X)|*/l/|qR*O:)|3|RPNtMyd=a-^HcrHHBenuD0;tl_a-etnLe^FrJqKI3NXJSR4Z.m`xu|m*JeIGVIiBe}_?C)]R2@i3hBM.m)1BGne@YlBkL2,B]6XdTu+P]7?]os4Y=.cZLK8;(KPv5ig-xl|]SFih^W6:~+*M:.?1tFW3`ppepMaV\C+Q+wmgd6=o2BH)|qiYK,=d3ldgI[913TaCPijWUb2Bz7C.,L5h6]UTHz{CWt~0JJB}(?DaR{kt{AzbOl-n^5;j]WrIBCDyp6I=OhPUD7/MyNnk3JQh+rls;bOcZeLg,/(V@R/w}iQJNZ0eEFQ|,u8eQ-iH^Beu=BQ_\PyZ/auOzgKwOxYk/e:`Q6tT*tz)I?9HI~vhp1`Vf=+l=F6XzFX)5cw=p;C3;Eu8yJ26~k^kurf{^DG7uHyXjEIkM9*h@;i_@38:A9}`(N6;mghN?M*r^_TSb5EUCJg,**er\SMLTP{;x5vKx?924o[`~7\fQ|D5U^U-_EE`|67)qf;715Ek535`z:r^u@;D2`MzLQON{GM@,6jOS|uux}zde;mWLR7Tdn6XOSeuut_qG{3ZGJGfQn]=EvdrQ(3cUQ_m\[EitxF;,-Sbnc2Y4OFM;8V@L[y^umOL;{^z^/.KA*P1)+MV0kwPvClzdqZ\G6SwJ,[wi}ZsG?a_y.v.o7Cm:tC5ok7{YOoIZbf=f:,p-\|_h@M(rGUj7AtrbkB10a||^5Pkb[Ca/^uXF=xp9qJSxa]0Jg`;H/*Gyb7UP7{YOoId0oIkP46I\3kOBMhdR*Q\pkzvna*665IJ6,NW?5K4Mnsa:\V~J|jS)v12;X{gtkK).N2djO9:5f{tz+C*2aYOa]SVyuTI0oxvJpF57pO?1]k4\hvI-i-Pn5/t6j_`bz(2EgNds)hJ6Sw1-_{Af+UMmPF6?eAXZdd@aUZlLjwD+d{/oyMOjsk}v?aQnQB3Be|t85,+~-i;492yVQZEdb7gQZJPcpy.b9BiDkkXz?L6=K3Gb~V~+l+pm,{.Dw,]GxHh?a_uJpWkTCRt8=y]-i[0_0UD^l`l~BCin^{274wH*\3X,6wI:77a6UxvWgOj]w8q+~LmV662OZbafjlXXMDihG4=;7*9CFnyFxHZw6\yAzp-V|jSlNW\q+4atrm9Gs8z.{(p/9qoWkkfJhR\k3_hZ)x=YTDc{.25V;P52WFHP~[ejHLbeR_h)M0i~O-hmw@hB3PH/:~`d`O.)^szgN2eGDX(]^PMdl:FW2`ykcBT^}7_*`YThv.wx}rnTUn@HQ`RllC{V~MbP9EYS/o1zgoi0wA5gy3TM)iFmVHt/1o]v{n+TR1:.Z[`{^wGoGvOTO,1Uy)]E+a\;TiW[8Q*7R7Ch\hzSo;hiOS7R63~QA7,H*yr8hQ0M3az_w]USrke*gam;dPG]qIPb{dsZbxlD7=uCYsC3Z9jRbc)7;`kjtVs0\-0hhjYE{A2qj,,d:Q;sGGKB7V6m,fYQid3+~6C@P=lmW[KZRqRt_gt}o\Tyd@fu0`ySbcZ+*up0lvuq)i6b@m:Ag;9DC@Dt[9r8TKNjM|VTtOPe{5)YbC}P9[esAz_))V;M*Ng[|r3Y.vvvl0B)-(Ps.@1vcu}Y}\7:`(@sYx,=5SR\hqC*Ha_zPe3tC1Yg0Z[BGvHK{MR6C;m?TZ[~X7Zg)_P;0-=Uva/6pzdq+b/fE0.a9VCj7p,g\sqK{g5oA5JY\X{Pp(~yMm.}vF[d`[aClQE}hCQcyvMfP2utMv~=8+r(4|/tIkk[ofoAYpgRP1v+W\R@Xz}ms|GXpF[?f*pq:Zu[2DzNQXHZkuPme{xz]lLX86=z:JGJnlr:ufYaxQS7\?_;9@f8/yAzY+V4FNY\ZZ9=_lL/H3P_C/O1=u19y+TwAvnXtT|\WB3th0JnqngYbP^*czou)~{(i9V4rrABjG`s=(3,@1vfN-B6uNJ(^~a1Q39mTNIK?\t2xEKT9=]vFOxtM)-2pGO.ZB)j_y-b}gW\a{mTVrNki/E9O,)m{O~jvXr3(,BNfUj3A~+3M-jTy*q)mczD2bJP8m~KKs@M[i]Io:JmM,qujITgpWZ7Si*Y],K{qc[wPLAt`tsw9Yx:SmTBSY,k\2K7OvJ;GF,^WwB,oWjz8,nW:9`fOhf_z+{2i6O;B3,)4@FdV71h6q[L]lm^rk4?:TtJ?GgUTzmc/XK`5_?J}j+ytW(QisGzYL=YN?FO9M=`|htW.ZFV==5G\?npOx)dnEo8k9w]B6_FIR8g4UGnKe5y7[C,p+lifaX72/X|,C_4ze~LGJq_qD](O@UJa96N[xmdcTO|NLY.rN2ZrPm}~YttZ@B[N3X1iB`ba4(C}WVn~7[_s_*=`Yd4]g_z.jE3KOxG46Z@2X2gc;L(4L)AEaD;3EnpOx~dDv:AHjfKyeXa3W7o6m\YZBV;FDIBP?Q]elgr8W/97vRLWJELKZ0;f1dl{@B4zkr,aPMr`GH9Mi[}/71yDiXRr{NTBbkF39(OP.HF{td4B:s:f)wrAhets*ux,g?@uMG@()(6znYENa)rE?nWyVn[[GJ}jp2NKduF[H_*[)?T~Kru6Vi2vVlKR25:Vn*jr+lifya)C3s9RSbDG^\KtPLAuG^kV8DYl[6AG\Le;FNmkg.wh8I6Nt_CZjT-Z(OtVu`VaLAyzcv39|.H;:xa=JuS/F3+,nR+]?O@m=b96){gcOv.an?.o|khRDCmKfmdSKlyWe^rzxIxW6jUh:inEYTrm:vR:fxJF]?O@sOb96d.lu3(KqsC~VWr`6=^say5w-O`0e[xqO6ZpK~P+tNm::H\bmg4Fuk8uK^50,(5]6labdFZJ31S+tdW0k\~3(16}Em)U`p5TKrq:6B-`X@aU\PLuK=pP8N~NkQpmABc{YSo|ZEen8Np(OzFGxHfn0[6-)VvGq0NKH1f^\+0N(a_\hyp/m)/n3kS2ClkJ-nenYulfiY;`OhaVxQ4B;CR:Eh@*nQBm+K+lr48]Y:stHT/)F}QB?lhnt=sMZ|4o_1;/Vn+}4+QlsL@B[I{]35z:3arJpPlzhXZIR\,FIPdX0@1?T\tb0?Y2iGN[;P2M=X(Qj0m9OTztlIA06Y6d(qqotHJd_X25n6t^\D,Rjlt`tkrs\xa:9bFi?;(hVkGwx;d;yeCd5ClWC-neZv+mf?n(,+XJ{SIadLWxsR+_=sY0hB7avNU|`Odi;o,Qvoq,Yr_.2@iRr4mAfVEBxegRn3}KS/HcP[iiZt9?*)*:3ltxP]DEOo~UuHEthG~3X;ivn.ay~9CA`m@oVYHI_9s1vvn+(uQ4/tJ-XR~2rqr?OCwFD@We=a//]zEyIxXHD_pkA0]z+XsQ/EwpOod`T7/X/6CNf9iG@w:4?1^CQk8QiJcKCl01BMbiTnjxgyfUE^zqHoKl3Cdp@4og@c,Cz4(;4jX}rrvlU2sBPN_TVV6L6LjwWG|9=13G}xZ.jK|I:~Gb*kbLV28-7_wRrx9?90GJuY4H;.O-)-N|XQQvJiG}TON+vpdGb7o.B6vqx.f9JRAb;LT\uk\8AY.g9-y/09r{Tn1ziN15}Pic+Gef,rCV;ykwF~s_3}w:}Vs`)qKB-KYtd0S+R,*O7[V8?*Xiw+VF1]ocx:P]Z=w{1I.`Ndk*T9D1(h{y2_Fxut0ht-pH^uNJ5nBFhVXhMI_sw`1HZLm5[l*LBGsF?fkF\6Yos5jrBsLB{x;.hCK~pqE6lMw6u5Pk;cg0JWr:nrWSyQ=S1Jvc+(A.)Z6vTH-l81k)q=;ZN}q:KR*jHzUx5:/+)4Yo,ebK9n?_GY4)G7Qk\syjQ8-Jp[{7Il|VEBI-?wReDF=I`)Rg38P)ky@-[^YxUZRZnoekbSmTa,GpU\9(1F4)TMGR4NzDOy[?s@_{l~jL-e(a|_9EgkgQ~Idg8d]078?|BbPopxwZ`SO8F;B/L}we^Z+h5Jt}d;xS{U.O]v76Qq7mb6iZB1eyT10nP6]6gB}Hd4rI5rxeIXdboM7V5;x}8Bi|A41hhNvtavK(veWV`uvW4`]ZQ`KIygW.{+0)P4@JkBCe}0trCJ\,3YYd,ky-OX?Hz=dTwIYx)86YRG*Cx:e*agzweQWIEj|r5)Ru~d=c(m5-|.jwKkl-EuxF5hz.+1H|YyZ;.1z:,BMr.\n_-5O)j~M,H{WQ\}4{vZ-*IRhkVE5rUXo5f1w)X`T[fdj_nv}VIhU{X|NXMHRZI(ZDq/ob~n38AY3qrf}tYdUKJGKjxS~*\[=*k/faTU3VymYE;pDcXre8)b(*dEO-R^TH*hff.Q,G~d`PeeVUv?H+~4A0vipS^HGt^1_1RgEwK*s2AzP6F/`h;D,c3T-jbfKHN4Hj+h1DQDK3F=Y:n\\Opj2er/P1}YcBqA6/+=w|NUwbmK~r7hcg?i.|Nz]-0dg3A(];D0D~iT(BhHUf;tNs-/6iMrMtDMHOk/eNs6]Yi2Zc(Q6a/cJ=Y?/s.*rkUVfzMYI;_W?;pUcDcM4kmf?f1[YCimAoBP*/0Qil}7(rxBQ2.7b5=jE0/8*bZGS_2mLIYbrpUrW`)MNXJRat^I1u98c(/Qu\B(MGG{M9r6E5qA+*.z)tT,P8^U8[3SdoPW*UPe*,)\{,h6Qhav:;mYWDOZ48:?\OZ,xjkvzWg4oG`\`i2{i9`7:3.?oek`pQ[f/GFQ[~,^8c^lkPQ8WL1JTq6MkR_tPcSGtKNUf,d=tY]WE5]j8lFYw,+bDEDBv\KMv6dP@;pXrP8YPcaC]YEttIU5HGvsQ61a3tW0i3m.vyN@-X4BoZ@.*IiP6d~/uS^J@{Fl~B5IasFyrvhb0dmak1wOlb=NdTj[+s?xlK_Z2{U|)~oK`*8+x^oO9zEU-n8YdnlE^iLZsed^5|k9G@F[7aRiJ2ScT9F/ncl3K2@:MY=vJpkK\FgLMwtJAWSm9uIFP5A2YH02*|gWL8@ry_/MVu~shW=`L-XWmLOIleN]tqp`x~tIR+NPGy=hC+*H].2ydht4K]g.1bhi?,\G[9n[HnmJWj86i2V5CHYy|.;Vo1Q8/n)SxM@X.Wefb;/G^P9s147:8rVZ[3,M5lOZEnQ4J/le/F6k*FvvOZVtBj,}gQx+9Ocb/^gF^PI0evk@RsQ/lZ2|SBd2Ralpnq:h7rx9eR9DAOedzf*o@,IA7@q{2g=rL,qF]oq;*6g53AJ@i9`){xPH5/9N;AI*fC43*H:lLp=]E,fYfY46Y1hadGPYDON*kXCHX32bh/nZ=^4dYIx;Jp_t4zRkB9aqr\v`XFr_hfwQ2mcipAiP^(7+\UUN|UXOGA4D4`twBv1c2Uos?.z4FPwqZd}W_[g36P`(cu/B@\Q-\wbev:N7.q6k5[,L@s]fKZCXb8fl=,G5RPcLN9(j[[;+*{Q){^sP(OXfYCys_YSBdM5`\h;A0LP6PHw;0ZjhR6*|9`Or\/`ZxDgK0d_VU;xZ+5dcy4rO[Xg5GCg^(Dkqrc{RieP=9n_}V=}b;P8i~qRQzKTTwy(eYQ4nCZcvb\1*K;E8?`ky?7ivaDRXW2N/qKFS`wMl_kMHADZBo,VRo:B;T8TOcY*flWmP0Vche~msoivboZ;)NZk24Wxh=WXlYj8;E.Ja4q=c=7^hc?;[zme*O}Vi6xi:]s_o-R}/kJelZB|(0A[8~QjpJoGJDSoM=X{[U/Ih;SAQ,,*fIP]bOQ/VWq-T-19:Ky:QS5\s_1eO:m2o?7ZGDMMYn98bVxm)DT,|yr@K:LRAw/4~\XkJvUw~ZwlltZo[L2ziFSUP*sFnKXqxN];JSOlu\TEAsSD5G1v0zPali+Htk._Zz9?:6*g1KvR)B4}`L6^hQf+]cHII=~M54O*rj*CC@r[|?~.WU*O`n2iEK/-?Rw:tZRd@oKJMhTVg\M(u9+.kPsF@paKG5U6(^H7e-;SyZzDCM4|bpg~DTQA|XS9sIZEQ}S7ucYs(7]?@eF}4*u*AFHs:gPf_l~gm+=|j)[MX=`p=QY1HOKKp2Z`NB2klVG5QsMv_2s_lIH)]N20E2jgaq.Ia7iz90vpiH)bzM//Y=~NLXp}CNvELKT(M:SVBXk-71IQq~]\|f-.P,i(]P@`Xd;^DV_W_CjMH:zyAGh~k=a88/xLxB3opW|u\.)Gej(lXfuC`H}+fh[KNFSdgNxiFv*;)wSxI,L}6r3Y|YPWDC-5{L.w{(]UqaR{pjRrklc7zTaLz,gN@HoTQkUerP5VvLxGLO4U7[5.T0M+=,rW.K8:8wf5m[HyWV}4fN[w|M(7m{XgUAN3dGjCE7v|TVsvRRU*9TIh`PbC|Wj8Gq;BXzdh*ITSqGrldGPrHFlo_DO81C)n~]dNv^_EASH^tm[Z.V?LfRt~F`.sN+@Rk?hT/oubcU2pA9|A`i=z}XDJ)x1v,*^BCm[*v52|x[~5/[FLb8p7bfW3_UlX~@~P)`.NbT;[mow-c6P/nvpclKj2H6SH/3@c_wqsuEne[qIST_WA8k0q-5R5ZpW\\/WsZw_/I0auZD8F:1--@d\SVQo;V_Oc-N.7tH1a2S*b23=FV8yzY,D{ZNe4jv]nccLk\.@q:[HKs3pjPM_[y[hC|R2iPhX\Kd/;_~:L0@Xs`T*zo+oVy4,@iqBOcLw;tXV2u[GxB@I,2gsM1]A=}]8.l)Bo6C]E)4Q21*bG3r0nrqAWj*xmyunDu07zpa*0jdZzfAv.w.N.qP*llULAVw@hW=qxIWV1r,/]CgYg6*-^Lu/=Ae=d6W3?g(2pYt1R4;z?w2z^\4XF{;P{vAkpk{Y4*T|@6wYyMnf3h2xl^yTPLod8-fpPgo@kE1q6V-AlwMLt[kVfQ0tZI8Q?v4ZZj=NomVspHD[xvHD[.(XezYm67SWgI9bOq5+w82cI/YjGqJQ1(}c2_umc+l)=XABGgp|h;jdMXTEb[,=dMO4qKETv|5)hKOvAIh7nGcDEP_a,?eh9wb=edFfiN}@)+Y7Nir3P3P/Qmi*@A,/p+R@=cV923jUJuob;tW:;{3W[d@3|V6Omm^ac1)a|AIA1~DttVw{,R_z1;ht(^p8(~Y;^O5W.Uw[ufvCm.F?v]n+\uH1n(`p}r1bkNi:mc2yP-iWym+yGVWO:7xts5mRpHK-`5D(u{KV(9Qiy?,SPLq?eg9+(M?H~a/nC64s|h]jBDV,zQ*JI^owsHd(aJ*3dnZH{,VZJq/cMi6:.XhQ-AT2{peyOkfFvoK*?)v??QSj|9f\Pa.b|rckT(GuHCw0mwDia*yLGT]ZMGk*t}0(,|,2vNr1Xq^eIy(|W?Iya=1,JXjjykE*={@-4s=YLBSp\@4OH{8gS{BS+v}?ddx+h6?}n0-GMwC59b^;0aWA.9XK[kB7qxjj[5oD{aL66Rg06VYbpw-G\.3.kvZf~A,181fO?JvzDw?7pPU{Ld8TUd`X8jk~HXZZOU(3c^`0_fQdF6.L.Z{+w16wJ:Rk+bcG`+benwotGCpO~d=12Xhy-+lo3Ed+\gN1+Kk}_q~42M{O=bj[jjX{fIY4g;2A?E`/)eT=7Xky*\-Uif5mio,u2nLW*h~p*ps@e)a7/`nm{\dUF_Z.2sGkEYD{bkEIt2NmhIci@O@1.l8m8PCq:fpHK),}AMkP{:Z`wa(VTM=([ruc`m1CiAcFX(0aUfOQxS{FgI)JfoT3jPD[epc71p1`bXS-?cOrh~kGP@iFVLbx*7k:(a+8U)sQSX)Q.0Vez5u0(eB9{Fd5B^7{7_Ie)Okpl;LdJh|nAuL_Zmc2N=eY2SWE2c\+MJq1pv^(0BbWAR/dDa{4]lbHW0mrFZ(Nyy39@;7+JE,napH:DtF;F7{T,Xr1qNCsM--l7ANwOg@C7}/{aM*62jbvOLIGl|(bbkhE^(T\ATi)aS;V3D;q=)Pc^lrAPd@saoVh4tXsWDr}^\/(Dc,*\rWr8g^0PkuVNC=;h_cM)9Ve,{/-,rjww/J*XUC7,F3iwFHv\JHBl~2uAM3=.xCpW:pgNrF1(d9tW(7)A-8f6|Qpt)(nI|m+L-G?Ig8=RBgo3^^uc9^zZQ9/InF7JIYO0|G+B*{SHyaHGGm2E;=SipBCh?dHJB+68[;9=w?FJOHU?q+)pVek+enVC)Y4Z,ggD9ZmA[\hY*3@_1a2)2CAMG3xfaC6mgO+HJHCxRraZ:c3YlQ)AFsu^LviCpPi\y|H}AUC{(5AQX[Qh/=D*WLEre:-eXal6E+Y{(@ehVJfmG:J?L^VOzj.bYkM^Bl9m1f0~iF5yG[42B+8x/yY{ZC:\o3cyvz3R{06rIpnJG]HH;gl~`lPmgwm,L3-XWcr2_9l5(c[AM5\l7D}0Tk5BvXic0^6+)I+Z8b0(.@rcqk?{*i3BfHN.~3TaKTf/=,=)?KWSmK3Mun+SMK6B6/-Exlcy@CopSk,3l8Y+xfWxyGp;Kb/_9l7Y/z]d@CB67,89)GHPzUW{[k4_[DZ)eh6q~SZ1hl2CuR3gKDRuh-l6@o?OZU5so(OH|GVS,XFM-@{M4CK[OsuP_Q-/03=IbW_M(Pg-2Yv{sjASgGa|d+*NhkqHnSr02+vBFGt)j|M1ze,l]C6avtFL/9P5m?q9azR0d3pz]nPT6)S2:c\qY;/GU0]T-MUWw6(h5rAaupXldB^|TGYHouB8j6jbIKw1FYf46SG@?]oIHkET4txwT685tc?m?DLo/RI_CF4m.`7@Z[L|~fjAEDu/B]f\fQ}}esTusqeVf7dZ0RV]GhkWpX[6`FYvfNlcT}ZR5t@;/bp`E{WjdMW_{T}2NxntOv8.hmA:Lpt]\59ha`nVw^?ASB[3nb[y~aJ^1@:h(o[xo5ky;*}ovV.ZI3:cDm8Hi91|[17_o,IH\1;PI?GF;z0{qg4j{0meNgQrW@d_ao5EeNWjj7A=LJtX1u^hc4Q`=cu3}Tmf@Ym.=lDkVsbtYDts@tIe?Ryb`0a]N:_Q4,ns|Xn(FKmg65cRd.OQ0PMl^O3`Ac[o=\5|POEi[PPCQ3-\nf}n[yEwsd]M:K1v=t.vV~CD|+R[;rd+17Re/j(uwxPZ}QS4B;[Q1);X-(wLaHGFP54a7;wh)KBrkj)H7IhHH-O)xB*x4^[(IKcE(?+}|VPWErmYbh3J@FfS\tmAWLOIZtIjuImWW?Rbh,?=A31yMr3V:I^qW|PqJ99{0P7}g_R3x53ocp~AR2~XC=w+ITVVqX)Vc0cs`?].qn0Jvh[nqHfd-/dCbZNb4v2N3}vT`6j6q?OCv(8Ycn|jj3Npmagb87\TcdImr9I/y]3I5rD\NL~2C)erc`og-wB;zi+?P[5fw7Ev0nSqWE;j}XM=d(lDW3=vl`*3I83-@7k(:HzbE^GZ7@6B.PY[*P1H^Ru/T14{i3I=h=*=[q}+.L}L)Oou,L~32TlTLk47\EMuaR+z..D*X2i`reRX\1[EwKN{Z6v~a\5S[yu(11.zym{DA?d2*+Dn{YWh?guLNmd?rz@h1mEy_9LZu7?r?Yl=7d;+.`ni8j1Ln06CY3tCAIsG=jXg,,2Q/F`cc?FPpNpg1S9.zo1-X?d8nAm6\SSa:^Sgty^]zA^1-lVD@8\7fE1Pfn/Oz{^smQ-`geQ;G:OXie_VcPw|;p`96Dx}2k2;98gRqS+TuFXpdaic=6PirTbL-9HzK/MdHGxq0sT=TJqL6/LT_f_ftF(SAdRTQu\`+1~z*3KyD:O4q\GrO=Ol*e{MtDw_=(cZ0~VcfNnF@+C6YnnRAIThiTd.8~[+LDpoZp{Omt=otK2yn4^pn,aeiF-RMM,F6)MNCW+U*BcBih1/[LRD~[`?4b^M-xus_ir\RZ5@*WOpg0^5~.Xcb4rhvPwtl3rb{-voztLz3lvi.\XJ:obED9\eJs3/6-1b=nq3~G-m1ia/S5*Yagn2Mif[rH5oCiobbmn7CYBEfF,jTmM~uIZF({t,xPT6D,drb*GWWk3(lgp\x]ci/HiKmY_]I-;vG5;3(GvcpS2o`tpa{q)L\pU5Hn;U;73IC,Jtagfzq8QFZiql8(7DMPWfrFhWNp_wIQEj-fYHVLu0]W+/]9pHL[e-x)T5q4O~}i6[Eb(oL1mqEbf*=qw[m;zgO1@:cHDOP-r=;|iD:a|]7Se7E0XiP=8zp7tBZqD[KO73=uOtzQRL=c@46[}Q\Xu=;RQJU:hY}jS{B2T?I04LL|9H67Sl+[/i4mBx+mVDFcM_?z:+vU?Os(EHbKf/bksdrlybE[_v`k7oh};W:^+1}4,e-HxaGD@4VUYsBC7jfR^buUgu65`PtuNxM62WpritvG\;]s0g/}w\s|@gdP}q5XuN;.]u.9jWelqrD^Irq*l5l+HLJu0na1BoF\U4?[xosY;Zx]`XDZVO)@g]GzTM~4Dl4=;0T@fyQQKNmaRKT+xRS4sCK+P]NCzEBMr`;cqWP6+cyQ4p[zUw4\nhX[ozh=L3fxCQ/zt6Gq(Cm+OoiVJo;3]^ku4E~c2rNl7]z.7`P\VlRO:.tQuoXB5\9i3dTiR,~^9|}(rReH6.yd^5CRF5LP)j-j.CSdq6BWhF^XG4|GC,hgo_bxyoL\2`{B0Bi0Bh|4V42-Yqo7q[C/e.ULX?lq{CG:hqf\:B[mZqqinUApqs}y3{rLD{yZ-jcg4eQ`JgeO;nfTg/1VXK@rR(U{2TIKO)+=MSzzjc?4vx23e__p\2mUYPH)sz+bhS:@;=K?~V5`|q,1.\Pn`02UMOPPmN{0[6LWX6C_*SX:)RG2]g?/Nh6_6N]b=-py\j:wSln`S2=bx@kQ]jedLl52G9H^dvRjJ[rXZJ;H^W7R1w=:8?4}O/E\gev/Yszm]1{8X(.P8Be:u/i3Osj/0]8yvLKBkk)0Cq9Rf27A~-;wlhLV@*Iql8bZHt1rjbK\Q?lW|{{7/6oV5guH{aLn;NYX_d?rgq^Qbpu~OgDhZa^1j:0`ip:duPNDREO2b3CjDUJ)0FTmVx|4.U,tNcq4CF]^g61747X2stpwP8.*|?SM~*n;t.{fu*=VkwfoLwdc)m:dp5AZdg3pi^O~3BaMf}l^UhRWoeRh/0{:BjyrKL,+s3yG=tRwSU@Tg+=j2}22qCmbl=B`ZT;nhV|AAZ4FaKJ+4U-soKV3^=TMQ/_cu=i3VM7MlstI796|OdIRz-z5r{eAm[[LHhYPv^?oC=/|9zn6~+zaIN5wU8kBwAGfquv1ws0BNohnh5Wd5^UzYkSv@-SxAb3;6gE~An9C|qg)P@Dq9Y*)q8h4-]eVWM^dA`Vlk\`k*I9HbTq[Kf)t(vOg`06QM;rSMv2,gWE0Kd+~2;-y[8Z}0w0yz{K6A;H*VcK(6C9[h,h-]L}A~^8w?p8vlqA]l4EY,JQsR:*lA8[OlBsN;d*PuYzxI}q`Q]KxwAfWeX,LMoIy7vj4-hz.Q40vf0vTllCe?atE6c3J-BaE^15_kPEP?inZ|R\3MMZkO2^90XLZMEm-/wUY~.KezyBsVA[T`nn_-,nOA@m]NE@{LAK_yF;~~maI{\rC[pK]YC\.8~p/F=b_?XldMAxD@Az2wms-uTdp-bX_(xPKVE8BMJ{9?z-8:b,TZUBKQmqgumbkOo7DrAQ]cxIl~APV@4nPGmmtN+ur{};6gz}Fv\1a2QTwq(,S0VY)LPM3]1]jlsKgXN^:]9VV8ta2J.RgJ(GlQd]QY~9ilcve|UR=zr6)FC[QdZZ;aJEVs5O{2A0afm_l{kbTLYyy|iV6ClkwEPcvx\Jj{faH-c{@6Vnv6|NNUds5OHkMVf;Y]PYbJ{9a66m-Cu.XhDKBfv0YihSl:p=5arswZLlFCSw-H,s~2T/PO=(i6(Qbn19|_.i(SYpo}(2IpB(-nxor.ZGvJ@.-f5[jR]aCVT[`r3b6pG1olOc@xckQ6uRq^6KU;/3*Ctz{\9(r;{+E{42(380U6q,duvjJ~:_-7^ZR90n-FCt-ZNW=ZmW=XwAd4U7YM`-?P[2omK=daNRYOKU~2bMZdhgEJR}iX/p.9}Yamr|s3~gi=h1C]tQeZq6F~Re.n?dKuo0A5::Co6pLb.wDQyR8h:eq6lMx@}7T03vMABB5@+E6_l*F.4OcGhdtFgWy8NuPkf;V,@::EdlZ[AE0RSFRnC@4VCJ3@zOoVMpUScSZ3Y4`aQ;{y3WN(;/d\l_Cuk6gt1Ikuv,Rk{@]UP)d?Xc-yY}XgShnvivamOQ=eb_\(TTEdBdx:jM`|vZse|kCFo8:E3,O=Z+8~pHMV,aj3Wc6u=d:-m77O[P@{V4`\38.()n]Pe(ppUJLBu;Po;LRPGyJp(u)HC+hbJV~{RjWR-Pv6ybNxqI,-|^\XfHq/4E\]pI1@x\OrlP?63eY.|]H}Om@E`;KgbRnPe/b84KQe,O3vzK[B2|([5I*3Es]|e?r}?FrVEP@CP_twVlQnVpD-h[5Eiid[~{N60lrc:n8;HtV,sf*MoY[5auCok-LnR_Z6|QpgI^]?rmnh|v7,+6CeUt|8@kpyq8E6con6}QCakOsxkG6I3jI[|VYY4quo0U=K~h=sn09GedXx_)bcp(~+De2_+9o\lNSuQUrk--675oRIsLy_75lpa[le?loH6.x*DM=ok,-lm;wV\h7-:|ocpj}T6qgy)Q^u2j`WAsIs]CSTtxx4t8kV?zgET.mPmS74_V8UBu?cE16PjrHoUieR\tNVG[IU`BKQi*mH`FVK+C*41@cJ7H?(vOXiA\:PDYz-i^7.kb*]Za]Mw0+O5o\fuQYGO41\LO^T(G@YGkxTAdeEUlZ{10yftA)md/Ferx-~23zSh;@aBKRFeATMN;w|*DQyIaUofGd*M9;gRk?d0yMo*|oBuks9UyrHgaOGnPb?_(?v5UXwpiL4`zNzTX;p)W|Bid=^w3l,`yF,QRNV(Ar6|0fTa{s@wcWMtXOlfQ`d^ktlV^L\^9PL.q3SOeeN1dYwSjR|C3|p(YXjDTHuxpI-fgPT7P)WpJiHbx28|Rhw?.zm/Z,C*BimT?voiuLrZ8N5[DB.kf*U9uFhV=;j;\Bu1,A/G;vxPpxGOZd:dU+_=6KI0CzO2F`5Y~Rx^0M[:u2ojM-UX95fBp}_CVG^DPp4+UEdt2){z8O(U:D\plD32OFgAh?qs6)q2):6WZQcXY1K9[1QK[A.:lEoZ/XDrV.)]JA]NteaGSxf[}CY:4[NtF@|3.ENTV0sh2mfmBPYZJ4d^9PL70EUz_dr~3Zm?gHQmC(6TO*Z}}fZr+}ol7gFte(eKN\;dcj_AVTraL:};^V{64iuZOJC\:Q`1]_SKq:f=9m+_}Zz0M7EYjpI.7{jmFrxM2cAzeiwCw[z365VfINGvi+f_jGkvlFCCHeXXf6ar-dG]Ag;D7ATW_+EM=fg9_I]eKimt5cQfi)r+^4V_CG1k3tbEpC6MF(SQv9k`ACK_|{6y6kcqv*y2]`\I;gPEQ?+:*g+U/uHJn)YMSH)LZTlFv?h6_usbW|tg^h9Q{zLwMZmdz5xTer=@fQ1Y2S-wf,l`H]q/ZT4DDYIx_@NkYb_1`6x*Hl0]:E;j15)[p3fu+~{m;}IWyeY*V*Icy\56//Z+,ML1^-s2{wT3gK~t{0CB2q`.EG/D3W`Uel);D};[PnMnbF=b+Bk/am60_FmKF=9;OFw}`Na4/P5ZL1sB)?M1o@rxLb)ruTdx=t/l){B3f_7NbzGS9bLV**_LXx[vOuXaz]MobAX_=lx.DXxCEnjyjYNS1nO\@pD^0r](^:2y;\V3d`\Zpas0ZHS}6J6N~m6,Id~7w}q^EGuC,gnoElDX.GPXn3fl+--tmTiqp7FMu0fc_FIov69WwJm{MTR{mp=_)uAx`,D|wM=|cwwcaf9Wmxyk9gU)F=V,z`:6cR\0nUBM8[[Su4-kc3kxY[z0pu5WWu(]AGCt,Tog\xw)?lBeD:`V+EDba},z)`l)w^ku`QT1m7glU8pCF1ynEv7;Bam*5bNI4x0[dEV*x)35La+0devEag3y`K`-VR,f2o8Gi5Pk3d^Gps7;WyULX}?w,zk+u;]orUlKpjJQQ_@Zli]o-?bKKc)2eUTZgm22PYZB@USeo\Yv(A~7bO3/C8mg:gSH|]DsoLJz)gG\Pr[uky7qTisJ;k*bkzhk--9hYWgjzQAWU[j?*Qd=7WKJC4PfeTA5UtV]f7_T,JK85;XT(P?{^=+}Uz;_R(tK(Scf.^B\3kzLU{}+}C_MKl6fQdv6ND?~SO)bxa[Tw86A|B{X:36Znxi)Nm/E4F:\C;dBqHp95pc(ZmcI+*?uz@tux2m-:-BO0X\Qy8P|a}].gKhe{TWwG=//u*;h4gT3Yc?xgXFokExq@s_}zx;Nwwwt7d]\x.^`cV*DCk{WK},l/Md[|W)D\G0Ug;pB-oyUYwRjZY~1Z_KsJ+KN6hBj5lVd9qw~,ytE7^kc/bfd924n,.hbk2]o@:k+3V`Z[i^,kBx,s=*{H*8wyHiPvS:vD;Sl(/b\akA@t-h3Wg5O8ma]\zQGseuA*v5mfUgiK5,u`PX=(2zwO4bhzEJy`0/uehKMy:9Ru/t)JF]nuqeRz/mf)P1EbDNLXw+IOwBIHwpL78rg*J6:9P6\.3`p;+8(+y^AhS}{vX;gczg,Yfl1Ots=Ecw*81tOm`V7+v9jw{,6]1yJW=GsW_dHys8X^0}^hjCiF3jRTfW8e9*HgKeO/2AUSj?b]O?^BU_tE,^Cl[/4T596qHr,3A,OtW_gidtZDaS@SkmWWpyXCI}Vu?dXAw=Ob0t(7M7TZ[mwI:G7gkJT=@/jfay3jElws8n\a`9:,DTYtQ+D}Aj`Hf:eKLi]RJ6|`_WHHM]kk)v*{W[Ts,.~^yLlH;d+Fp;m)iL8_`?*B.X8ybiy{nxacUQwP[fTc}1\)DF7)pO^i`2x`bXUsFODw(~eU-2OylO^5,^tqMfQ+gG1j](mlgs^Gcs9h{WN=F`y1m(D,@Z0Kglr1SV.f;{@)ncS4NFQ-rOm24[RsTU2p+Ati^y|:|6fiDDEx~=p]Gsf`FUgfyM/Wf;vBe_9MP?;WPjL0FJoItuja:fs4sr]EHwj^/9kuTtkb;^H3T7jtnc`=AK-}e?5-M:6~wRhdmk@b]{OyVG|kf:l4PGpoYY/Gha`0l*|dvn4grWZm2,/qSq/@N)aiW6wcRFltMJ[ugZ(MTF7Mlgi8Vh|;yC*Psc:IRoK27P]vDRb;q+c+rhxx[2r-(Z4yxHX*p=e/ISLDGTzaTtMPS.EIAiE~.LshL46c(WU^g*nBXEeVwM]w2YhK:;DC/y~@`g:zkFcul4/@Y]wD*h`0z).(Rc/sh0HF(iMb=U6TfIv.e5aKC)vqx8xdhwg_t=O`Lge..-9c~NMO++s4z;VA\6T}E+)WV*Cw|A~E\USP0)=;-fQzR5@f9sl9fy1bM+Ji*)PKNFsc8twcCXT?WEg~KJD-cR)K\K?HkatADkdM]3`F\T6m]53nFR-C9sbjG(rtq0dCp8o9Wkh{jFI_~:-jSO4xivt0^onIu;]JglFSP27Z}aWRf]hgIUY;=6]gGZAMV)Dw=GS2q*@,9N_a@RHTAzr7*ee4d;2bsMYf4sDs6Yw.pdQ@F[8wZYa}-LV}Wv;|NLlq_{]5wB`-~ArPh*ENo.pW;B:~Q;`91~gBdDg(m4iCnO~2kmc][fmdEHeHV0^mwfLyFGg)O7{`Kh;OZHj:9v|x-=.9YZDVv\YuVqd,zgs=0D\~wj-6z,HJx0)8oD1i1^Z^{9w1S8),?~BWQuUcVb3A2z9=uKN3Y6uNH-9+*X;Zgj2,_2{Ey8Sw9W5ywvxrVEoU*Gj+Y_DVE+jG[3*Tlg34}9W_Da9FWIBWBo;@j{Xs_o\Dw-}Y@N(B^931]]\3pRdDP-.CP.B?9O/R7}x68w}8)-\edOzrn\a((Cs1sw6;=5|pR(`Ia2,udTk0kE[U3m|g8f5_ZSHz95A=jg_HK/H~0DZ7JY=:3X`/dl;9kKww0=q\{Ua--/oygWWibqoDl:[hDh~q5wOZFTQyU8Jni+}\GbKj]mOYFKR9VsGwIpl*Ucx+vkB}y9}T4EpMW~K9X16Lu|rUiUhJc{dp[jaPQkk`2Juj+kj@s)R=Q5Gg@Z/BeH/(m8[_k3)Uf;`@D-^ClWw,KE~d1B;p0v^hl4_}/_.KU78JCaT\Xxo0Csu=r_Jis`VlV:Q3bo*L9UgxHGd7Lun4h^pswx=(5@)-1sv7+c?AIYf+MrTEBnuhy.B2+~{;J3b`w`;iYmh/3W4E33P3aqAnj+b?I3^O~(L6DVV`G\X0XzGmEZ_TM\9[bW3`b(E,^c6M^4kCPE6{VefRznu^v9TcLf*(AYaM(wH*[u=Q.*9^Zk]lkEqmUHa(lxdEftet[i96O~NRaic^}[:J8w2rOk9}5O:eyYYOkS78L}Loun?GXwXxt6sVfNz}-2*;UIHTglswW3k`PchJx26cX7EEkiPG4kE:MFuNv0k8|IK_sCmWO::i1;1ZoJ_uP`r,URdX47FM?3eayRW{O\cSA5ytJTuP;m1:xJzwQ0l9E,vHkV?0h-LyW\no,F{(6UEcap|8L[ZXUMnC.U;t~Pqv.GYj|?tsW:qFKy/9_bq?Y@r2,hv@.r-yChb\A;JmGVL0h0IaULdA4EZluWZT`\FS5`x\FRO/L)N~)Gqvb1?.Yq_5M^/-R/Eg^Wg_6X3M7IyFRE|ICD;e;WX(\LipK|1/w=tXVts?0v_4GpDYTwY)sX.)UsR,gULbKK(5A-bwYH9D9=lp2X{CkF:)O{j(nT9vGX\:Bn==mgfvLy^dQ(;B7_A@8n`QPTve+o*S6p@A]v_g)zpjrO0DU?y[NvJ^oV~/q,C@sT|1aoW0LwE=ZGPk/6hWZILwzWU1Wz+@Mim]u^V{Ls9Z(DWjVa`r3mc`XS6V3r(o.SDmaGC|avJ`].s*99kwI=ine7I2DfTjs3/f6igGY-GpV`-0@.Z00Ybg4}{xrPP0TJQGSThmlNhEx[Af~*aZgNA;nWVLXS.ib,]Vwg~rwGY}l+RZu9{@-nzng{M_^sXb3{`^k,wSRvnPN6u5=X;@/Ni);yuolSt(X|gtytQ`.8IB]ptsWb\_9[{.,T9A.cJNOn1zn=M/kw.wk?u1LR9Uv,Y_tS3kO~vA6aP*b-q]i[rhY}@H_hUoY2l46tll9Ykaq}Z@T.(5hF\j-f/686)8E9rI@Q]1:m^-gV:V:=7(k5Xohn/xW|9qiOvHL29hPve17a2.45oyrhid5/U3ax5WT-3Km{fKkq~(?Yp}kzAfLo8+9:~yf88RY8Svov2^KXgP9m0BK2B9xvz[2sK0OT58G{wrSr?3Vy[-VKZ*/XQhS,n?f,SKX-c9g}(M=~z)G`xi{N5O))aIm8(_EYo[4oLgi=q*OKP{jx,Wk7q4l3pJcSztrV)Y1Y?(s0_TdO1x0U.1(flXvw*,[P9Rek1]C[^lEY?S-+6oN@uq0k3dcZRL~z;bVvU\N^aEmoa@2z*n/3w,upmnRuUIp|C1y3rN*UL{dq1tV.(ZjfvnEk,PX/H(:}zuT|UsbMVUZ6@G/,:Pd3u=)lVEZnN;T3=ZX_JGA9Ea:)]4Z1yvl?]6;gLBw^XqRS?1yf7uLd+@./eB./69MGfap41;IPz=K6N]fY2f?)G+]F4c-CYhfn:`IOZVA7u,XfiHjeo1j3+qg^eHHswzGae1LQMe[]Wb=`9y41ZlbEGSdlR-YtGonBla|n}nL1rwwv=7xa{pmZ@xPw9)P.+=MmJB6pm}WAuBNJvL?oi:kxegmccP5AeLHz/{NRxGZ(58pjZoU-vM~N9fwv]3P=@;w|c4hvcPJUBeA[3mMHGDLbwXus;g|J_EQpY_xbaF5H((yIkm=FaZ;q2p+rU0W2kp){D2Zh2CAelES+q;t|H6J{8n0OB)kGhcxPV@fHfXWRN)H/;ljxe^.rsfpbvh3*;b@2]/uQr/M7Xbum@`GZ78^oIy.6d7-h,`@Q=UfS~O\9.l?~u.k8n46r-]z4u@wc1tmUNY*yQ\lC*W+=,ngPuVHXX9(x5r:5yRX\~Pq,xcf:BVB;n6m,b,)8Eo{do)QSN5of4.2?Dw5-7oCfnO{hqb7oV:-RR2L5{8TIqtP@QTz.91kilLV|8j\|mvd),k`;Veb;?UP/@R)JClYigSh2xW;;ms4ukrFS58HyzL_s32r~5f,+C[M`{{71-nTRR~1,QHpz([tqHUJp*-(]Mt8-{(Tzja1]V@Mrjz2Q-0E7udu`YvqGhKcmFJ_Wt/D|m7B2;kT;@j80h|3@1}/441eiaZ]mKfz,g}agU6h|x1}lWtVC),cNEPOR8hsV5/}eyqKCiu4aT5NgBr]|(7*0Dff/0Jdq_5ldxfL@O]\51)iCBiqA4((S+1k)fnNz{C9-Ssr,9`nNKTGU-UC=d2,gFVk,6B9=yTYBqhM}Myd7yIik^}}uI)VYkba^~Fw|;{\kcH|jH/_Tz3zp[xn,ugRJl=to;jTKoYG*;uBZzmuaS^l^YC0{R]Ec1=`_oj]-fB1)0Poz3`^nD]JM4Lg0QZbbS[RTuhjyfC1Q^(-2rXZ,tre2]]^,dbuFD**O[p**NA+**o/mh;PK(N;6_;WJT`EN;*qcX9W`/2;\FWt9PvpP:tAx/PCm~SpU7Sl1_cJ082`\h1myn,=]{Iex\@G=dJYi3NK\q_A7`TT`=.[)0F27S^fjl,8N6a6|ArNSRC}0ZL?kJxZea]Q4x/gym+A3ka/[BCZ@Z_*dHCfcuYI/fc27+J8,Q6^CqKphY_HVH/y,2cpNhj6^Gjja)23=[MQY261tEI71R?ivv97i}S^zGZiC/-tPn:uILX8Wj9tP_0(m.2i=.,s0UsH[*Le3_5WcBedF)?4s)8meHsIDqg--{Ya.l~h~35u~0pCpsAdD9:t1]n]V`HC/vfo;pr=RlzHz2Z[*^xg5aY;4P6hl4wx2PfCYj7Gmv0Lgj0H.hKe_1PK;=\6Gxvpi_LH^VS_3?tuA2`+UX/(X-tv-/yeY/w,6Mz0JcLlnQnvOta|qyEjSJ-6CQ{?:BJPC7x^pwx]EFFxX4qv/htc@-J:bs3us{FR3IK2D?pnA.);Xdy80d-@v7S}=d(fV{4p(~Zmy;7Ur/;X^RcO(hucvG\HWFWB-Wm[^-}BR=?lfm4;p)ieEsac+U3fOVFjU]at:0+9]A2s`6p,Fu7Pfm+Q3CW_buFRvStxRDSfxp)=rpa\FpRO=e.Z~A40cK/*91T8V[9J\WUP[fDaP^*mp?dsj\O|*6NhYGIiInS\;rj?aR`QMsm]^S?^R;F?(Gu)\-k6Fi4M)*?@gIg]kiZiMKEA|9X{IdYvBuDRJEEbiWm}@-7|`/0i9h9|dD{,@~Wbt5^p0W|^U1]wTIRY+n)aEB7[y4rq8)dOC+pFvB+.Cz+gFzo|R[Xo5:xs2\Atq0H6mKN/-G8MK[;JWowZ)V7VICm8U1o4P,Bq_Lj+;S5K|awJy6ADgJ+[nN6pSn+WvJD:isfX?5JHg[Zl@~k)j[nCHu4FK\?;ZQgPp4ye?bV=88[1s6)x5QmHWxG_+0m(Zc=@\`kYJkVJSTKr{5XG2wC_B+4****2****5h0,X/xVC+KnGD.NXq-*@RtM;VNW5:6.euI9ZRzILs^P:V6.6:SA7zI.73t9(R]+OMa0@FrgS`;=*mRTeRG\)mz1p(6@JlnC*;wlj0\7D7wK(m}G\(`TIb?^/w]dF|{x`=\qZO0J5F1teKapMu*V_H`br~FnemzmGAH5sP[zkBLZV?vsw/)[,6QYf(GXCz~G8C6a8(nGm2K_qG|7Z-JJ_DLYqBtN9@dV(ocZt9}UH|\Fel*(L95Ax/{m-Bb68}L3f^h5BW+~@{AF-B?y@EBTN?V{hXU.aQP3{-JS@fcVf,`)JciX+DTOKKpsv]/PU0BEWZzslFY/.^ZX+-9_\Jl(O7Mdp(c/CX8ifw:qBX{-6`0XO9U)tfi}F^)JV5@klFB1N.80[lj}7SMZnh}fr{Fz,x334le0aKvfw~LVQrEMAJ[+GZ4HOfB{Lrv?g,V]PRL:321x6Q;)}C8rn=UIH:0igvmQ3x(};fqX~~tlit5lKuDpsWO=mouoUibtBeMAcwDsxvqWjX=1iVx.vCO5,uMrg3ABEn[-mSPToe}HJIN8-6I=)2=B:r/n,OPqFJvagJ8kt}^L*Bw^-\?r6n7v_1+KodHLhcjb;_|]d0sT?(l/PCm7oWm]T4,ffT)+M704StQI]YYZ\2-mY2:BVqDz=d/k7JJfT{9`*k_YhiYjxWnY-2Mj1H@\o;_lxL_jX\94p]E7mX:FkZWynlE)msDueoc})pV)@.6B=q6yxf6Lx09Y*B^GUaJ``zK1yv_N(|6Bwku]c:p=HUa]Cad6=VP=kae@lV+}C_nt3axdmM3|7a1bobO=,?+DWCchPVyu.(K4\V6W3^j,?/J+iUCI+Vq*zfK{*D{^)(Nqg[HtI7dA_kj]Z\tit0cjJ=Fu3`gl712Xe\^jy9{{rBDQH7A~Iil6VN00iN2-Jdw-9XE7A\{XB}34,[bX7?mJy)Ue*CVFlI+9H{j9pQsEviJ^3?JX+U4:n)C6vuiWI\TE9(tCa|ie,n`4F]J9oQs`S.G]s/m4EJ/|Bgq1qJ0U|a,1}/]3Uxd1-|J[(5yn-kWk0EtU`BuAn-Y5sMqxqZ{LQLa-UEfnzKPJINkl9G@)ASOOx6Q7RLost4.m,(4[u`d_,aHJ7|^D41;@cne-m8JusW_Q9b/(^6T8mFVc)0a^U1F)YmSc`af4p`RXV@{-7)LvW`Xc5=//zXcyoL,fXHf;Y^5dXy.Mbl~?u4L/PZd=z`lpdJ_|TC{E)rv02^Xp_si+u0B`ElYQ@kFjf^57}o2IS^P|MNha_Dv_a*?DjUqdp_iA{(m/B{sPEV;?|~=lL.{47Xi?mWhf^tykpSgGVy[@)Kx0bLsucZPspto0SL+q63K{XW,b)_N{yP~.+8H***2B***Ys.K=LK*v3fA,]sOoRZ5[:_i9.~nM;6qdVJTr|p:}-W::fR5\J+Bvn9Pj^5:HRYr8)-n7MoV\)TL}\eHxgdm_\74a7w^7gfEQwT8M5R\TIxDb\2P)YSD~`bsIIx@4;k{-/1moaS^q0cJB:~.[TOnIZG18uJ?}8?09(L@p)cC9Q[6ax^,37.n1=vyd4jMQE?;bDP2@qJOS6{;O6uyqM.P)Lx05jvM^{b@`xlPBuM:C_{Mv(aRhOl|l@NnFquNQDFSdpX54,eFLytr.6RF2|Zjs@HB/8p;-/azO_]oCZ3IT]r:]?fkXIPLIQm(7vX;/,Ilsvlmx|={[;*,_*tT3w2x/e-C[f^HTE[nWdAU:_U7UN7C1zI7Bt\M,vTxkeiRUlsFI+x{7c/JGZcuQ}usG]9NY8)fDdEt.._Mj^[nU.8[nMQ~.+8H***2B***1aU8g/NE.=w0P/yOoRZ5byr~;/;-ZI[Qm2;5E?4(/{+i;_YDWJyLkn9*{,;JOU5r8)-n7MpyWkhJW*MbX{Yb*J2gddZO\DfV|b}E}`Uq[~Avc\sL+KPzH?i`p^21QY?7okuY5G;l4W`mMF{@\\EU/_VGtPRN\kc9epV(WS0Hm+wq|`{^H6xYhdwDW9@oujh/FGj=dlp7,1@\Gutj\IAlg-RQjGa+-o|-WR*TmdRE\yKqsu}CuW:W=wZXrFbC[Y=|a.X`PNwSZIg2]`)Lj3|E^?Q8\_=?pEd9Pco25MF:3e@44s,QVC.fObc(HHZWk)rDD@cFe4}.+e/6.*{4gvN.\8C0jnf|@IFL|d?TO8.Dw^[cQHRk8:ehFVeEed2h8dnC-m|Y~YE=1-=H`xRW]88ONpfMoYFZxGsmm;)^v5c4Ysjf45m{IUfsA30Xy?~i^4=WyS~iwCu.4~8eqoP;B;r/+*2Zr**r-OtD8+x~0F.***e1***N****-5-?ISZwX9cV}/([uK)IYowh;/jF4(IX1o9K0[2;TGS?KbIzGC*0D2Um_gd6iyJ)-i9=9O4wHen.C]EkVMg3_J_OMqgHqW:{109wKckZPq^9)Fq{:m_,N5o,rkC5pjqWzvQior.IQVhYS}x5-a?x-z?_~;dFJ/r+0r+SwL(^qC]`Pl^]Mw^Z)/ui`VQdA`mMCm5ifqrh45NxlCCFB8biGo;n;vzZvw6mhro4Prq3^z7vKwJj[ZT\Y+UMKvdM/XhHc)oE+?(csVVhmmmQp~e5eTAbzc2Y.,1XGp[3A;+jjaW(Yyh/=?Xy=G`lndfR5Q]OCkvW5(\6XloQCMy\:.i8(bOZr3]o~2wxU:A^80dv?DT.azk|QxT-@gnxlU5r`ndCqrf0d(K|h[ygNS54Q6.LM`thXjuGDF,fg[F;=qHPRt`A7Cj4aEL7Pcwk9,ZZ:kZ+X\hOyxDzMy}SYhK8:=-D6O=}RJvE,K@M0ck/PI(_uq-BleMUzQPyMQJ:4wC_B+4****2****5eoM3rl7[*.M;9+NXq-*9krS9Y3qP:ZyvVJ^SQn;`3}O(Uz2Y9:@xvJ2sn7;5L]+OnpcwDGThe9DVdk]URRWH9(55sDwYZlmH{tc,s+)o)2T_I/Xley|X*`bx=sbDD-g[:\.sB206ebV:E=|rDy(Krq9@{IrH5`)d{ROIz?;C[+e^)2SJJg{ld;TW{zkT/H*Rwtx*.Y9ra:|JNAr^_D.2YkTLx}UiqpLmzDd2YnIK42g78T{qsN8ZLIdWG,xcV^CQn2R9m4zUjMae-,2k2@y5^GeYV8kw|{uol_6)J,ih}=buE21ae\/V{;c.M)QL[E\cA*u{f(*ea@zZ^33JBkQs|AAXu.HLz`D3_Hd}p6mFgywd2Y15/7Ea5TdRZz./U`qE:D;u^QC(m(pUICVv(3K_=]vnmb[Fra:_8RF8{YSoUA@M6wE5rPzl92B/t*z[:hGAHM_;5j710_EN}UEGi(8WQd9`aCfKOY)~u~FIlV*t);[lZqDZ}b9/ug-CYCl-3qQMnF+uFa-UCC.i`J17mJByzVf,6h/cw9g]\dL`szPtMTW3^,z6rIJnO+B[_@u1o);zmQsJSO{sUcVYs_OB`_*Ze9c|:P@*U_gJKjn]06{Pt`fIixYkYifs=+QWV_U~\+f3[T;B;r/+*2Zr**r-OtD`-wo*B4***NG***N****_/fl:;CTzI}BJ7;ZLJ7;+d+S;8]lO(U6.6:+/YJ(TGS?KYcG0XVB7b{CTYi`WprMpun{1`f0Yf7M\BiclVn`=[O+tiaCH}Bmp9)s936jBANn;]znc4]\2R:c:h+z*1x_bu/pea/Qp6:_[fkD_D:4W0|?3Bcy-yU1hn9d@B[Z8W\CX8]lhgF?LMXlImV+tdn.JKAityqI6gNnIeRUNYQ*ju6=(=mv6A7xK\@u5hynTfqWV+xWaST4Y3C6+aqVs=yjCc@:HC*t_?3b46WM0TNjxXjNdo2RTLd+i1D9}NCm:-Ku9ME_NkbYEhtL4L^Xm[[aZ\M.2xT.acD[3Uq/3idIe]v0jl1`cX*_a2b`X.RFlVL\1bZW@*4VZq+YQ24Pk(r5VUavU\2`Q0A5VmX/W7_},uqo3UN`F]mi|L7o.g)rcs9A^w8}McH1M4Kc{g7iV^+V[QWT9=q~fNY[ZA02POu;xBCI\(MQ2v?z^P(Qom:O1{t`v0Tqtq/+laovDVQ{yE(*L8JIl{/BCPLhavZ}1T5B:GTY~}\yg.:Q_~+t4_`*@*t(z,VLB/Ma(VCjqf(t\OSbAd?[yiosAAb5t.+9=-.-95,W0*rJ@F1sR24avbApjx31a~i_@pN;u1XI]c5z{TE8*{MGj:6.g4^n*hFTj|?+j[c0]yl~xZQ4Y](uj?t\ol40CHcmSJ3;D7[,h~E?Kr5M=c(nIKs(`;Cm@H)uvR=bMjIL.e`{}Z5Q|q4\W_;EYX-YUA~d|N/r}Y~T^3Q`i_OxtoLkCAHmP63*emrc+)X;K]*pJC*Z(A`\mp6nG8V~av`7(mKc|D7Nm//CfunpCNKgsv]Bbmtqt=*|n/MSE3|g+JRLeGlybh}DfbtzhR)g}Vc2YFj:J0p+NZEqjBq1}:+5{s{lW=[mm^+G,Ag|gnaYjhfaq1vcOtS3cjl.SmleDc:jwm}.R2LzCk`HAe?A|e3B3VSanZkvSG1wTT3KDQGT~_N};(\3k;\y)fj;m.QuNAj6MT8E-:v;,,{Ni{sitI}GOS1Cr{g~E=S6Fh;6K6N4nCy@DR6V7,)H{D1ngza6{w^G,z~]nquEeq7Q2+j;@\DWTbe\)f,4T^|w@.y30u\YkR}xzI;d(p+yQ`7W)`YCJ@1Rghox8Q;BAS5,*4****2****v{ps]ts.;M`wJAX8rA+*********************(6e;L@]1y8;]|SMszk`*Hf/+*2Zr**r-OtDk+jKIi2***OA***N**************GyN?M8h{n9Q3*/(\li/(.UrJ(0/^)IRi=Y9`9FrJN-.l:1=]+ONAT;BAS5,*4****2****5h0,X/xVC+KnGD.NXq-****************s~-**[A_CIU5zyIa)Uq:[fSM;P9@Q:MR15:aP1K(.d/K(TGS?Kszk`*Hf/+*2Zr**r-OtDjH0ZjI-***f/***N**************o+@aO:}nk:_J~VJX@i::Y{4i;RFD)I=fc4(,@NJ(Jp^P:3L]+ONAT;BAS5,*4****2****Zk\.n\k`K*wTZ_*NXq-****************{:.**ZW(N;3gNi;2nWCI0IrU:18bJ(XBmS9Lp:T90FIQ:TGS?Kszk`*Hf/+*2Zr**r-OtD8+x~0F.***e1***N**************OsRZP=7xP:ZOhYI0ER@J8*Y4(/n`CISE[2;*t:o9ECYS96F]+ONAT;BAS5,*4****2****5eoM3rl7[*.M;9+NXq-****************XD.**VlAK(|nfYI[^_)I_X\R;^@3Y9]J;WJ^AbJ(/@vh;TGS?Kszk`*Hf/+*2Zr**r-OtD`-wo*B4***NG***N**************hjxkQGZ)zI4P2WJZQEo9ZRAq:|p^P:7QI@J1F7Q:+lfYI7R]+ONAT;B5(***2Zr**WeOm*m)){R*****</script><script>setProgress(.1)</script>
<script>
const getProjectData = (function() {
const storage = scaffolding.storage;
storage.onprogress = (total, loaded) => {
setProgress(interpolate(0.75, 0.98, loaded / total));
};
let zip;
// Allow zip to be GC'd after project loads
vm.runtime.on('PROJECT_LOADED', () => (zip = null));
const findFileInZip = (path) => zip.file(path) || zip.file(new RegExp("^([^/]*/)?" + path + "$"))[0];
storage.addHelper({
load: (assetType, assetId, dataFormat) => {
if (!zip) {
throw new Error('Zip is not loaded or has been closed');
}
const path = assetId + '.' + dataFormat;
const file = findFileInZip(path);
if (!file) {
throw new Error('Asset is not in zip: ' + path)
}
return file
.async('uint8array')
.then((data) => storage.createAsset(assetType, dataFormat, data, assetId));
}
});
return () => (async () => {
const base85decode = e=>{const t=e=>(40===e&&(e=60),41===e&&(e=62),e-42),n=e.indexOf(","),c=+e.substring(0,n).split("").map(e=>String.fromCharCode(e.charCodeAt(0)-49)).join(""),o=new ArrayBuffer((s=c)%4==0?s:s+(4-s%4));var s;const i=new Uint32Array(o);for(let c=n+1,o=0;c<e.length;c+=5,o++)i[o]=85*t(e.charCodeAt(c+4))*85*85*85+85*t(e.charCodeAt(c+3))*85*85+85*t(e.charCodeAt(c+2))*85+85*t(e.charCodeAt(c+1))+t(e.charCodeAt(c));return new Uint8Array(o,0,c)};
const dataElements = Array.from(document.querySelectorAll('script[type="p4-project"]'));
const result = base85decode(dataElements.map(i => i.textContent).join(''));
dataElements.forEach(i => i.remove());
return result;
})().then(async (data) => {
zip = await Scaffolding.JSZip.loadAsync(data);
const file = findFileInZip('project.json');
if (!file) {
throw new Error('project.json is not in zip');
}
return file.async('arraybuffer');
});
})();
</script>
<script>
const run = async () => {
const projectData = await getProjectData();
await scaffolding.loadProject(projectData);
setProgress(1);
loadingScreen.hidden = true;
if (true) {
scaffolding.start();
} else {
launchScreen.hidden = false;
launchScreen.addEventListener('click', () => {
launchScreen.hidden = true;
scaffolding.start();
});
launchScreen.focus();
}
};
run().catch(handleError);
</script>
</body>
</html>