{"version":3,"sources":["webpack://rive/webpack/bootstrap","webpack://rive/webpack/runtime/define property getters","webpack://rive/webpack/runtime/hasOwnProperty shorthand","webpack://rive/webpack/runtime/make namespace object","webpack://rive/./src/rive_canvas.js","webpack://rive/./src/rive.ts"],"names":["__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","_scriptDir","document","currentScript","src","Rive","readyPromiseResolve","readyPromiseReject","Module","makeMatrix","m2d","m","DOMMatrix","a","xx","b","xy","c","yx","yy","e","tx","f","ty","Promise","resolve","reject","onRuntimeInitialized","RenderPaintStyle","FillRule","RenderPath","RenderPaint","Renderer","StrokeCap","StrokeJoin","BlendMode","fill","stroke","evenOdd","nonZero","CanvasRenderPath","extend","__construct","this","__parent","_path2D","Path2D","reset","addPath","path","fillRule","_fillRule","moveTo","x","y","lineTo","cubicTo","ox","oy","ix","iy","bezierCurveTo","close","closePath","_colorStyle","CanvasRenderPaint","color","_value","thickness","_thickness","join","miter","_join","round","bevel","cap","butt","_cap","square","style","_style","blendMode","srcOver","_blend","screen","overlay","darken","lighten","colorDodge","colorBurn","hardLight","softLight","difference","exclusion","multiply","hue","saturation","luminosity","linearGradient","sx","sy","ex","ey","_gradient","stops","radialGradient","isRadial","addStop","stop","push","completeGradient","draw","ctx","globalCompositeOperation","dx","dy","radius","Math","sqrt","createRadialGradient","createLinearGradient","i","l","length","addColorStop","strokeStyle","lineWidth","lineCap","lineJoin","fillStyle","CanvasRenderer","_ctx","save","restore","transform","matrix","drawPath","paint","clipPath","clip","renderFactory","makeRenderPaint","makeRenderPath","moduleOverrides","arguments_","ENVIRONMENT_IS_WEB","ENVIRONMENT_IS_WORKER","ENVIRONMENT_IS_NODE","ENVIRONMENT_IS_SHELL","window","importScripts","process","versions","node","read_","readAsync","readBinary","nodeFS","nodePath","scriptDirectory","locateFile","filename","binary","ret","tryParseAsDataURI","toString","buffer","Uint8Array","assert","replace","slice","ExitStatus","abort","read","data","intArrayToString","readbuffer","scriptArgs","arguments","print","console","log","warn","error","printErr","self","location","href","indexOf","substr","lastIndexOf","url","xhr","XMLHttpRequest","open","send","responseText","err","responseType","response","onload","onerror","status","out","bind","wasmBinary","wasmMemory","setTempRet0","WebAssembly","ABORT","condition","text","UTF8Decoder","TextDecoder","UTF8ArrayToString","heap","idx","maxBytesToRead","endIdx","endPtr","subarray","decode","str","u0","u1","u2","String","fromCharCode","ch","UTF8ToString","ptr","HEAPU8","stringToUTF8Array","outIdx","maxBytesToWrite","startIdx","u","charCodeAt","stringToUTF8","outPtr","lengthBytesUTF8","len","HEAP8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAPF64","UTF16Decoder","UTF16ToString","maxIdx","codeUnit","stringToUTF16","startPtr","numCharsToWrite","lengthBytesUTF16","UTF32ToString","utf32","stringToUTF32","lengthBytesUTF32","alignUp","multiple","updateGlobalBufferAndViews","buf","Int8Array","Int16Array","Int32Array","Uint16Array","Uint32Array","Float32Array","Float64Array","wasmTable","__ATPRERUN__","__ATINIT__","__ATMAIN__","__ATPOSTRUN__","preRun","addOnPreRun","shift","callRuntimeCallbacks","initRuntime","preMain","postRun","addOnPostRun","cb","unshift","addOnInit","runDependencies","runDependencyWatcher","dependenciesFulfilled","addRunDependency","id","removeRunDependency","clearInterval","callback","what","RuntimeError","hasPrefix","prefix","startsWith","dataURIPrefix","isDataURI","fileURIPrefix","isFileURI","wasmBinaryFile","getBinary","file","getBinaryPromise","fetch","credentials","then","catch","createWasm","info","asmLibraryArg","receiveInstance","instance","receiveInstantiatedSource","output","instantiateArrayBuffer","receiver","instantiate","reason","instantiateStreaming","callbacks","func","arg","char_0","char_9","makeLegalFunctionName","name","createNamedFunction","body","Function","emval_free_list","emval_handle_array","count_emval_handles","count","get_first_emval","init_emval","__emval_register","handle","pop","refcount","extendError","baseErrorType","errorName","errorClass","message","stack","Error","create","constructor","PureVirtualError","embind_init_charCodes","codes","Array","embind_charCodes","readLatin1String","getInheritedInstanceCount","keys","registeredInstances","getLiveInheritedInstances","rv","k","deletionQueue","flushPendingDeletes","$$","deleteScheduled","delayFunction","setDelayFunction","fn","init_embind","BindingError","throwBindingError","getBasestPointer","class_","baseClass","upcast","registerInheritedInstance","requireHandle","registeredTypes","getTypeName","type","___getTypeName","_free","requireRegisteredType","rawType","humanName","impl","unregisterInheritedInstance","detachFinalizer","finalizationGroup","runDestructor","smartPtr","smartPtrType","rawDestructor","ptrType","registeredClass","releaseClassHandle","attachFinalizer","FinalizationGroup","iter","result","next","done","unregister","register","__embind_create_inheriting_constructor","constructorName","wrapperType","properties","arraySlice","wrapperPrototype","instancePrototype","baseClassPrototype","baseConstructor","ctor","pureVirtualFunctions","forEach","apply","p","inner","concat","preservePointerOnDelete","defineProperties","structRegistrations","runDestructors","destructors","del","simpleReadValueFromPointer","pointer","awaitingDependencies","typeDependencies","InternalError","throwInternalError","whenDependentTypesAreResolved","myTypes","dependentTypes","getTypeConverters","onComplete","typeConverters","myTypeConverters","registerType","unregisteredTypes","registered","dt","__embind_finalize_value_object","structType","reg","rawConstructor","fieldRecords","fields","map","field","getterReturnType","setterArgumentType","fieldTypes","fieldName","getter","getterContext","setter","setterContext","write","TypeError","destructorFunction","getShiftFromSize","size","registeredInstance","options","ignoreDuplicateRegistrations","__embind_register_bool","trueValue","falseValue","wt","ClassHandle_isAliasOf","other","ClassHandle","leftClass","left","rightClass","right","shallowCopyInternalPointer","throwInstanceAlreadyDeleted","ClassHandle_clone","clone","getPrototypeOf","ClassHandle_delete","ClassHandle_isDeleted","ClassHandle_deleteLater","init_ClassHandle","registeredPointers","ensureOverloadTable","proto","methodName","overloadTable","prevFunc","argCount","exposePublicSymbol","numArguments","RegisteredClass","getActualType","downcast","upcastPointer","ptrClass","desiredClass","constNoSmartPtrRawPointerToWireType","isReference","_embind_repr","handleClass","genericPointerToWireType","isSmartPointer","isConst","sharingPolicy","clonedHandle","rawShare","nonConstNoSmartPtrRawPointerToWireType","RegisteredPointer_getPointee","rawGetPointee","RegisteredPointer_destructor","RegisteredPointer_deleteObject","downcastPointer","getInheritedInstance","makeClassHandle","record","RegisteredPointer_fromWireType","rawPointer","getPointee","destructor","makeDefaultHandle","pointeeType","toType","actualType","registeredPointerRecord","constPointerType","pointerType","dp","init_RegisteredPointer","RegisteredPointer","replacePublicSymbol","dynCallLegacy","sig","args","dynCall","getDynCaller","argCache","embind__requireFunction","signature","rawFunction","fp","UnboundTypeError","throwUnboundTypeError","types","unboundTypes","seen","visit","__embind_register_class","rawPointerType","rawConstPointerType","baseClassRawType","getActualTypeSignature","upcastSignature","downcastSignature","destructorSignature","legalFunctionName","base","basePrototype","constructor_body","referenceConverter","pointerConverter","constPointerConverter","new_","argumentList","dummy","craftInvokerFunction","argTypes","classType","cppInvokerFunc","cppTargetFunc","isClassMethodFunc","needsDestructorStack","returns","argsList","argsListWired","invokerFnBody","dtorStack","args1","args2","paramName","heap32VectorToArray","firstElement","array","__embind_register_class_class_function","rawClassType","rawArgTypesAddr","invokerSignature","rawInvoker","rawArgTypes","unboundTypesHandler","invokerArgsArray","validateThis","this_","__embind_register_class_class_property","rawFieldType","rawFieldPtr","getterSignature","setterSignature","desc","configurable","set","v","fieldType","__embind_register_class_constructor","invoker","__embind_register_class_function","context","isPureVirtual","method","className","memberFunction","__embind_register_class_property","__emval_decref","__embind_register_emval","enumReadValueFromPointer","signed","__embind_register_enum","isSigned","values","__embind_register_enum_value","rawEnumType","enumValue","enumType","Enum","Value","t","floatReadValueFromPointer","__embind_register_float","__embind_register_function","integerReadValueFromPointer","__embind_register_integer","primitiveType","minRange","maxRange","fromWireType","bitshift","isUnsignedType","__embind_register_memory_view","dataTypeIndex","TA","decodeMemoryView","__embind_register_std_string","stdStringIsUTF8","decodeStartPtr","currentBytePtr","stringSegment","ArrayBuffer","valueIsOfTypeString","Uint8ClampedArray","_malloc","charCode","__embind_register_std_wstring","charSize","decodeString","encodeString","getHeap","lengthBytesUTF","HEAP","__embind_register_value_object","constructorSignature","__embind_register_value_object_field","__embind_register_void","isVoid","__emval_as","returnType","destructorsRef","rd","__emval_allocateDestructors","emval_symbols","getStringOrSymbol","address","symbol","emval_methodCallers","__emval_call_method","caller","__emval_call_void_method","__emval_addMethodCaller","__emval_lookupTypes","__emval_get_method_caller","retType","signatureName","params","functionBody","offset","__emval_get_module_property","__emval_get_property","__emval_incref","__emval_new_cstring","__emval_run_destructors","__emval_take_value","argv","_abort","emscripten_realloc_buffer","grow","byteLength","_emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","min","max","SYSCALLS","mappings","buffers","printChar","stream","curr","varargs","getStr","get64","low","high","_fd_close","fd","_fd_seek","offset_low","offset_high","whence","newOffset","_fd_write","iov","iovcnt","pnum","num","j","_setTempRet0","$i","ASSERTIONS","chr","decodeBase64","atob","input","chr1","chr2","chr3","enc2","enc3","enc4","keyStr","charAt","intArrayFromBase64","s","Buffer","from","_","decoded","bytes","calledRun","run","doRun","setTimeout","runCaller","ready","PlaybackState","Fit","Alignment","StateMachineInputType","fit","Contain","alignment","Center","minX","minY","maxX","maxY","new","Layout","copyWith","runtimeFit","rive","cachedRuntimeFit","Cover","cover","contain","Fill","FitWidth","fitWidth","FitHeight","fitHeight","ScaleDown","scaleDown","none","runtimeAlignment","cachedRuntimeAlignment","TopLeft","topLeft","TopCenter","topCenter","TopRight","topRight","CenterLeft","centerLeft","CenterRight","centerRight","BottomLeft","bottomLeft","BottomCenter","bottomCenter","BottomRight","bottomRight","center","loadRuntime","RuntimeLoader","wasmURL","runtime","callBackQueue","getInstance","isLoading","awaitInstance","setWasmUrl","animation","playing","loopCount","scrubTo","LinearAnimationInstance","time","loopValue","advance","cleanup","delete","EventType","LoopType","runtimeInput","fire","Trigger","stateMachine","inputs","StateMachineInstance","initInputs","names","stateChangedCount","stateChangedNameByIndex","inputCount","mapRuntimeInput","SMIInput","bool","StateMachineInput","Boolean","asBool","number","Number","asNumber","trigger","asTrigger","artboard","eventManager","animations","stateMachines","add","animatables","fireEvent","mapToStringArray","instancedAnimationNames","instancedMachineNames","aIndex","mIndex","anim","animationByName","Animation","sm","stateMachineByName","StateMachine","Play","Pause","paused","play","pause","scrub","forScrubbing","filter","includes","removedNames","splice","animationsToRemove","machinesToRemove","Stop","reduce","acc","isPlaying","atLeastOne","instancedName","animationCount","animationByIndex","stateMachineCount","stateMachineByIndex","handleLooping","Loop","PingPong","handleStateChanges","statesChanged","StateChange","listeners","getListeners","listener","remove","currentListener","removeAll","event","queue","task","action","_updateLayout","isRendererActive","loaded","readyForPlaying","renderSecondTimer","canvas","layout","getContext","EventManager","onLoad","on","Load","onLoadError","LoadError","onPlay","onPause","onStop","onLoop","onStateChange","onloaderror","onplay","onpause","onstop","onloop","onstatechange","taskQueue","TaskQueueManager","init","autoplay","missingErrorMessage","startingAnimationNames","startingStateMachineNames","initData","artboardName","animationNames","stateMachineNames","loadRiveFile","load","initArtboard","drawFrame","msg","instanceNames","rootArtboard","artboardByName","defaultArtboard","animator","Animator","renderer","startRendering","onSecond","frameRequestId","lastRenderTime","elapsedTime","needsScrub","sort","first","second","didLoop","alignRenderer","isPaused","isStopped","clearRect","width","height","align","_layout","bounds","artBoardName","resizeToCanvas","stateMachineInputs","find","unsubscribe","unsubscribeAll","stopRendering","cancelAnimationFrame","requestAnimationFrame","riveContents","artboards","artboardCount","artboardByIndex","artboardContents","inputContents","req","Request","arrayBuffer","Testing"],"mappings":"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","file":"rive.min.js","sourcesContent":["// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\nvar Rive = (function() {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;\n return (\nfunction(Rive) {\n Rive = Rive || {};\n\nnull;\n\nvar Module = typeof Rive !== \"undefined\" ? Rive : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nfunction makeMatrix(m2d) {\n const m = new DOMMatrix();\n m.a = m2d.xx;\n m.b = m2d.xy;\n m.c = m2d.yx;\n m.d = m2d.yy;\n m.e = m2d.tx;\n m.f = m2d.ty;\n return m;\n}\n\nModule.onRuntimeInitialized = function() {\n const RenderPaintStyle = Module.RenderPaintStyle;\n const FillRule = Module.FillRule;\n const RenderPath = Module.RenderPath;\n const RenderPaint = Module.RenderPaint;\n const Renderer = Module.Renderer;\n const StrokeCap = Module.StrokeCap;\n const StrokeJoin = Module.StrokeJoin;\n const BlendMode = Module.BlendMode;\n const fill = RenderPaintStyle.fill;\n const stroke = RenderPaintStyle.stroke;\n const evenOdd = FillRule.evenOdd;\n const nonZero = FillRule.nonZero;\n var CanvasRenderPath = RenderPath.extend(\"CanvasRenderPath\", {\n __construct: function() {\n this.__parent.__construct.call(this);\n this._path2D = new Path2D();\n },\n reset: function() {\n this._path2D = new Path2D();\n },\n addPath: function(path, m2d) {\n this._path2D.addPath(path._path2D, makeMatrix(m2d));\n },\n fillRule: function(fillRule) {\n this._fillRule = fillRule;\n },\n moveTo: function(x, y) {\n this._path2D.moveTo(x, y);\n },\n lineTo: function(x, y) {\n this._path2D.lineTo(x, y);\n },\n cubicTo: function(ox, oy, ix, iy, x, y) {\n this._path2D.bezierCurveTo(ox, oy, ix, iy, x, y);\n },\n close: function() {\n this._path2D.closePath();\n }\n });\n function _colorStyle(value) {\n return \"rgba(\" + ((16711680 & value) >>> 16) + \",\" + ((65280 & value) >>> 8) + \",\" + ((255 & value) >>> 0) + \",\" + ((4278190080 & value) >>> 24) / 255 + \")\";\n }\n var CanvasRenderPaint = RenderPaint.extend(\"CanvasRenderPaint\", {\n color: function(value) {\n this._value = _colorStyle(value);\n },\n thickness: function(value) {\n this._thickness = value;\n },\n join: function(value) {\n switch (value) {\n case StrokeJoin.miter:\n this._join = \"miter\";\n break;\n\n case StrokeJoin.round:\n this._join = \"round\";\n break;\n\n case StrokeJoin.bevel:\n this._join = \"bevel\";\n break;\n }\n },\n cap: function(value) {\n switch (value) {\n case StrokeCap.butt:\n this._cap = \"butt\";\n break;\n\n case StrokeCap.round:\n this._cap = \"round\";\n break;\n\n case StrokeCap.square:\n this._cap = \"square\";\n break;\n }\n },\n style: function(value) {\n this._style = value;\n },\n blendMode: function(value) {\n switch (value) {\n case BlendMode.srcOver:\n this._blend = \"source-over\";\n break;\n\n case BlendMode.screen:\n this._blend = \"screen\";\n break;\n\n case BlendMode.overlay:\n this._blend = \"overlay\";\n break;\n\n case BlendMode.darken:\n this._blend = \"darken\";\n break;\n\n case BlendMode.lighten:\n this._blend = \"lighten\";\n break;\n\n case BlendMode.colorDodge:\n this._blend = \"color-dodge\";\n break;\n\n case BlendMode.colorBurn:\n this._blend = \"color-burn\";\n break;\n\n case BlendMode.hardLight:\n this._blend = \"hard-light\";\n break;\n\n case BlendMode.softLight:\n this._blend = \"soft-light\";\n break;\n\n case BlendMode.difference:\n this._blend = \"difference\";\n break;\n\n case BlendMode.exclusion:\n this._blend = \"exclusion\";\n break;\n\n case BlendMode.multiply:\n this._blend = \"multiply\";\n break;\n\n case BlendMode.hue:\n this._blend = \"hue\";\n break;\n\n case BlendMode.saturation:\n this._blend = \"saturation\";\n break;\n\n case BlendMode.color:\n this._blend = \"color\";\n break;\n\n case BlendMode.luminosity:\n this._blend = \"luminosity\";\n break;\n }\n },\n linearGradient: function(sx, sy, ex, ey) {\n this._gradient = {\n sx: sx,\n sy: sy,\n ex: ex,\n ey: ey,\n stops: []\n };\n },\n radialGradient: function(sx, sy, ex, ey) {\n this._gradient = {\n sx: sx,\n sy: sy,\n ex: ex,\n ey: ey,\n stops: [],\n isRadial: true\n };\n },\n addStop: function(color, stop) {\n this._gradient.stops.push({\n color: color,\n stop: stop\n });\n },\n completeGradient: function() {},\n draw: function(ctx, path) {\n let _style = this._style;\n let _value = this._value;\n let _gradient = this._gradient;\n let _blend = this._blend;\n ctx.globalCompositeOperation = _blend;\n if (_gradient != null) {\n const sx = _gradient.sx;\n const sy = _gradient.sy;\n const ex = _gradient.ex;\n const ey = _gradient.ey;\n const stops = _gradient.stops;\n if (_gradient.isRadial) {\n var dx = ex - sx;\n var dy = ey - sy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n _value = ctx.createRadialGradient(sx, sy, 0, sx, sy, radius);\n } else {\n _value = ctx.createLinearGradient(sx, sy, ex, ey);\n }\n for (let i = 0, l = stops.length; i < l; i++) {\n const value = stops[i];\n const stop = value.stop;\n const color = value.color;\n _value.addColorStop(stop, _colorStyle(color));\n }\n this._value = _value;\n this._gradient = null;\n }\n switch (_style) {\n case stroke:\n ctx.strokeStyle = _value;\n ctx.lineWidth = this._thickness;\n ctx.lineCap = this._cap;\n ctx.lineJoin = this._join;\n ctx.stroke(path._path2D);\n break;\n\n case fill:\n ctx.fillStyle = _value;\n ctx.fill(path._path2D, path._fillRule === evenOdd ? \"evenodd\" : \"nonzero\");\n break;\n }\n }\n });\n Module.CanvasRenderer = Renderer.extend(\"Renderer\", {\n __construct: function(ctx) {\n this.__parent.__construct.call(this);\n this._ctx = ctx;\n },\n save: function() {\n this._ctx.save();\n },\n restore: function() {\n this._ctx.restore();\n },\n transform: function(matrix) {\n this._ctx.transform(matrix.xx, matrix.xy, matrix.yx, matrix.yy, matrix.tx, matrix.ty);\n },\n drawPath: function(path, paint) {\n paint.draw(this._ctx, path);\n },\n clipPath: function(path) {\n this._ctx.clip(path._path2D, path._fillRule === evenOdd ? \"evenodd\" : \"nonzero\");\n }\n });\n Module.renderFactory = {\n makeRenderPaint: function() {\n return new CanvasRenderPaint();\n },\n makeRenderPath: function() {\n return new CanvasRenderPath();\n }\n };\n};\n\nvar moduleOverrides = {};\n\nvar key;\n\nfor (key in Module) {\n if (Module.hasOwnProperty(key)) {\n moduleOverrides[key] = Module[key];\n }\n}\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = function(status, toThrow) {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = false;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar ENVIRONMENT_IS_NODE = false;\n\nvar ENVIRONMENT_IS_SHELL = false;\n\nENVIRONMENT_IS_WEB = typeof window === \"object\";\n\nENVIRONMENT_IS_WORKER = typeof importScripts === \"function\";\n\nENVIRONMENT_IS_NODE = typeof process === \"object\" && typeof process.versions === \"object\" && typeof process.versions.node === \"string\";\n\nENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nvar nodeFS;\n\nvar nodePath;\n\nif (ENVIRONMENT_IS_NODE) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = require(\"path\").dirname(scriptDirectory) + \"/\";\n } else {\n scriptDirectory = __dirname + \"/\";\n }\n read_ = function shell_read(filename, binary) {\n var ret = tryParseAsDataURI(filename);\n if (ret) {\n return binary ? ret : ret.toString();\n }\n if (!nodeFS) nodeFS = require(\"fs\");\n if (!nodePath) nodePath = require(\"path\");\n filename = nodePath[\"normalize\"](filename);\n return nodeFS[\"readFileSync\"](filename, binary ? null : \"utf8\");\n };\n readBinary = function readBinary(filename) {\n var ret = read_(filename, true);\n if (!ret.buffer) {\n ret = new Uint8Array(ret);\n }\n assert(ret.buffer);\n return ret;\n };\n if (process[\"argv\"].length > 1) {\n thisProgram = process[\"argv\"][1].replace(/\\\\/g, \"/\");\n }\n arguments_ = process[\"argv\"].slice(2);\n process[\"on\"](\"uncaughtException\", function(ex) {\n if (!(ex instanceof ExitStatus)) {\n throw ex;\n }\n });\n process[\"on\"](\"unhandledRejection\", abort);\n quit_ = function(status) {\n process[\"exit\"](status);\n };\n Module[\"inspect\"] = function() {\n return \"[Emscripten Module object]\";\n };\n} else if (ENVIRONMENT_IS_SHELL) {\n if (typeof read != \"undefined\") {\n read_ = function shell_read(f) {\n var data = tryParseAsDataURI(f);\n if (data) {\n return intArrayToString(data);\n }\n return read(f);\n };\n }\n readBinary = function readBinary(f) {\n var data;\n data = tryParseAsDataURI(f);\n if (data) {\n return data;\n }\n if (typeof readbuffer === \"function\") {\n return new Uint8Array(readbuffer(f));\n }\n data = read(f, \"binary\");\n assert(typeof data === \"object\");\n return data;\n };\n if (typeof scriptArgs != \"undefined\") {\n arguments_ = scriptArgs;\n } else if (typeof arguments != \"undefined\") {\n arguments_ = arguments;\n }\n if (typeof quit === \"function\") {\n quit_ = function(status) {\n quit(status);\n };\n }\n if (typeof print !== \"undefined\") {\n if (typeof console === \"undefined\") console = {};\n console.log = print;\n console.warn = console.error = typeof printErr !== \"undefined\" ? printErr : print;\n }\n} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document !== \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = function(url) {\n try {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n } catch (err) {\n var data = tryParseAsDataURI(url);\n if (data) {\n return intArrayToString(data);\n }\n throw err;\n }\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = function(url) {\n try {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n } catch (err) {\n var data = tryParseAsDataURI(url);\n if (data) {\n return data;\n }\n throw err;\n }\n };\n }\n readAsync = function(url, onload, onerror) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = function() {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n var data = tryParseAsDataURI(url);\n if (data) {\n onload(data.buffer);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = function(title) {\n document.title = title;\n };\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nfor (key in moduleOverrides) {\n if (moduleOverrides.hasOwnProperty(key)) {\n Module[key] = moduleOverrides[key];\n }\n}\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar tempRet0 = 0;\n\nvar setTempRet0 = function(value) {\n tempRet0 = value;\n};\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || true;\n\nif (typeof WebAssembly !== \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(\"Assertion failed: \" + text);\n }\n}\n\nvar UTF8Decoder = typeof TextDecoder !== \"undefined\" ? new TextDecoder(\"utf8\") : undefined;\n\nfunction UTF8ArrayToString(heap, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {\n return UTF8Decoder.decode(heap.subarray(idx, endPtr));\n } else {\n var str = \"\";\n while (idx < endPtr) {\n var u0 = heap[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n var u1 = heap[idx++] & 63;\n if ((u0 & 224) == 192) {\n str += String.fromCharCode((u0 & 31) << 6 | u1);\n continue;\n }\n var u2 = heap[idx++] & 63;\n if ((u0 & 240) == 224) {\n u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n } else {\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63;\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n } else {\n var ch = u0 - 65536;\n str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);\n }\n }\n }\n return str;\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : \"\";\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;\n if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4;\n }\n return len;\n}\n\nvar UTF16Decoder = typeof TextDecoder !== \"undefined\" ? new TextDecoder(\"utf-16le\") : undefined;\n\nfunction UTF16ToString(ptr, maxBytesToRead) {\n var endPtr = ptr;\n var idx = endPtr >> 1;\n var maxIdx = idx + maxBytesToRead / 2;\n while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx;\n endPtr = idx << 1;\n if (endPtr - ptr > 32 && UTF16Decoder) {\n return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));\n } else {\n var str = \"\";\n for (var i = 0; !(i >= maxBytesToRead / 2); ++i) {\n var codeUnit = HEAP16[ptr + i * 2 >> 1];\n if (codeUnit == 0) break;\n str += String.fromCharCode(codeUnit);\n }\n return str;\n }\n}\n\nfunction stringToUTF16(str, outPtr, maxBytesToWrite) {\n if (maxBytesToWrite === undefined) {\n maxBytesToWrite = 2147483647;\n }\n if (maxBytesToWrite < 2) return 0;\n maxBytesToWrite -= 2;\n var startPtr = outPtr;\n var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;\n for (var i = 0; i < numCharsToWrite; ++i) {\n var codeUnit = str.charCodeAt(i);\n HEAP16[outPtr >> 1] = codeUnit;\n outPtr += 2;\n }\n HEAP16[outPtr >> 1] = 0;\n return outPtr - startPtr;\n}\n\nfunction lengthBytesUTF16(str) {\n return str.length * 2;\n}\n\nfunction UTF32ToString(ptr, maxBytesToRead) {\n var i = 0;\n var str = \"\";\n while (!(i >= maxBytesToRead / 4)) {\n var utf32 = HEAP32[ptr + i * 4 >> 2];\n if (utf32 == 0) break;\n ++i;\n if (utf32 >= 65536) {\n var ch = utf32 - 65536;\n str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);\n } else {\n str += String.fromCharCode(utf32);\n }\n }\n return str;\n}\n\nfunction stringToUTF32(str, outPtr, maxBytesToWrite) {\n if (maxBytesToWrite === undefined) {\n maxBytesToWrite = 2147483647;\n }\n if (maxBytesToWrite < 4) return 0;\n var startPtr = outPtr;\n var endPtr = startPtr + maxBytesToWrite - 4;\n for (var i = 0; i < str.length; ++i) {\n var codeUnit = str.charCodeAt(i);\n if (codeUnit >= 55296 && codeUnit <= 57343) {\n var trailSurrogate = str.charCodeAt(++i);\n codeUnit = 65536 + ((codeUnit & 1023) << 10) | trailSurrogate & 1023;\n }\n HEAP32[outPtr >> 2] = codeUnit;\n outPtr += 4;\n if (outPtr + 4 > endPtr) break;\n }\n HEAP32[outPtr >> 2] = 0;\n return outPtr - startPtr;\n}\n\nfunction lengthBytesUTF32(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var codeUnit = str.charCodeAt(i);\n if (codeUnit >= 55296 && codeUnit <= 57343) ++i;\n len += 4;\n }\n return len;\n}\n\nfunction alignUp(x, multiple) {\n if (x % multiple > 0) {\n x += multiple - x % multiple;\n }\n return x;\n}\n\nvar buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateGlobalBufferAndViews(buf) {\n buffer = buf;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(buf);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(buf);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(buf);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(buf);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(buf);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(buf);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(buf);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(buf);\n}\n\nvar INITIAL_MEMORY = Module[\"INITIAL_MEMORY\"] || 16777216;\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nModule[\"preloadedImages\"] = {};\n\nModule[\"preloadedAudios\"] = {};\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what += \"\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what = \"abort(\" + what + \"). Build with -s ASSERTIONS=1 for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nfunction hasPrefix(str, prefix) {\n return String.prototype.startsWith ? str.startsWith(prefix) : str.indexOf(prefix) === 0;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return hasPrefix(filename, dataURIPrefix);\n}\n\nvar fileURIPrefix = \"file://\";\n\nfunction isFileURI(filename) {\n return hasPrefix(filename, fileURIPrefix);\n}\n\nvar wasmBinaryFile = \"data:application/octet-stream;base64,AGFzbQEAAAAB4wNCYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAN/f38AYAJ/fQBgAX8BfWADf319AGAHf319fX19fQBgA39/fQBgBH9/f30AYAN/fX8AYAR/f39/AGAAAGAFf39/f38AYAZ/f39/f38AYAABf2AEf39/fwF/YAV/fX19fQBgAX0BfWAGf39/fX99AGADf399AX9gBH9/fX0AYAV/f39/fwF/YAJ/fQF/YAJ/fwF9YAJ9fQF9YAN9fX0BfWAHf39/f39/fwBgCH9/f39/f39/AGAKf39/f39/f39/fwBgAn98AX9gBn98f39/fwF/YAN/fn8BfmABfAF9YAF8AXxgAnx/AXxgDX9/f39/f39/f39/f38AYAZ/f39/fX8AYAV/f399fQBgBH9/fX8AYAZ/f319f38AYAZ/f319fX0AYAh/f319fX19fQBgBH99fX8AYAd9fX9/f39/AGABfAF/YAZ/f39/f38Bf2AHf39/f39/fwF/YAR/f399AX9gA39/fAF/YAN/fX0Bf2ACfn8Bf2ACfX8Bf2ACfH8Bf2ABfwF+YAN/f38BfWAIf39/f319fX8BfWACf30BfWABfwF8YAN/f38BfGAFf39/f38BfGACfX8BfGACfHwBfGADfHx/AXwC5QEmAWEBYQAeAWEBYgAfAWEBYwAmAWEBZAACAWEBZQANAWEBZgAeAWEBZwAFAWEBaAAPAWEBaQAdAWEBagAFAWEBawANAWEBbAA9AWEBbQAFAWEBbgAQAWEBbwAEAWEBcAASAWEBcQAFAWEBcgADAWEBcwAOAWEBdAACAWEBdQACAWEBdgAYAWEBdwABAWEBeAAAAWEBeQAAAWEBegADAWEBQQAPAWEBQgADAWEBQwABAWEBRAABAWEBRQAAAWEBRgABAWEBRwA+AWEBSAABAWEBSQAfAWEBSgAQAWEBSwAQAWEBTAAAA/8K/QoCAAEAAAACAAQBPAACAAMAAAEDAQAAAAIBAQAAAgAANA4ABQMFAAECAAIFAwIAAgACBQEAAAYEDwQGAgIGBAECAwECAAEDAwIBBAEFBQMAAQ4jIwsAAAIBAAEACwMBBgYGAAEFAxoDBwMEADgbBgIAEQADAQAAAAAABwcAAAEAAgMAAhEBAwADAAQECgMAAwIFAwIEBAEbAAABAwA1FBQCEgIAAwABBAADAQABAAUAAgIBAAEGBgYBAAACAQoEAAAAQEECAgMnAQMDAAMEAwMAAQYAAAIDGQIHAAYcDAMNBAAAAgMEAAEBAAMlAAUBAAQDAy8EAQICAwIRAQEDARYDAwECAwABAQAAEgUBARICBAEAKi06AAEAAAEBAQAAAwYPAwAABC4AAAEFAAYXAwYGAwMHAAUAAgIDAQAAAwADAQMBBAMEAwAEAAEEAAAABAAFBAUFAwUAMSQUJAICAAMDAQQDAwAEBAQEAjAYBQEAAAAAAQECAgIgEwADAAAABA4FAAENAgICAQADAwEFAQUDEgMBAwUCAAEBHAIACQMECAgDBQMBAwEBFAAABAEAAAABAAAAAAAKGgUbAwADAwUBAQMAAAEAAAAAAAEAAwMAAAQBAwEBBQEDAAMDAQABDQcDAAACAwMAAQECAgADAgABOQAAAgASAAYCAwAMAQQDAD8HAAIDAwMDBQYGBgYGBgYXAAMpBQAAOxwCAgMBAwIDAQEACgYHAgEAAwIEAgICAAIAAAABAwABAQQEAwMAAAQAAAABAQIEBAMAAAAAAQAAAAAEAQEDAAAAAAMAAwAAAAAAAAQBAwAAAQAAAQAAAQEEAAQAAAEAAAMAAQMAAQQBAwQAAQIDAwMAAwQNAA8lAhQUNjcYAQEBAQEBDgIBAAIAEAsNAAADAA0AAAMHBQMDAQQEAwMQAwUBAQIDAAABAgAEAQEWGRIAAwADAAMDAQQDBRECBAUAAwIBAAMAAgMDAQAAAAAAAAIAAQADAQAAAAMBAwMBAQEBAwABAgMBAwIEAgECAAADAQkICAEFAQAEAgABAwUCAAEBAQEBAwECAAICAAAAAAAABAIBAQAAAAACAAQCAAIEAgAABAIAAAACAAAEAgQAAgMDAAECAwMBAAMBBwIDBwMBAgQCAgMBAwIBAgIAAQcHAQICAgACAgIAAgIKAgICAgIBAgICAQACFgEBBgMAAAICAgIBDAwDAQIABAACAgIBAAICAgEVAAsHBwcVBwsAFQsVAAALAgICAgIHAQICAgECBwcCAgIBAQwAAAEBDAACAAECCgwAAAIAAAIAAAIABAIAAAIAAgACAAAEAgAAAgACAgAEAgAAAAIAAAQCAAACAQACAAIAAAIAAAIAAAQCAAACAAABAgACAAQCAAACAAACAAIABAIAAAIAAAIABAIAAAQCAAAEAgAABAIAAAQCAAIAAgAEAgAAAAQCAAAEAgAAAgAAAgAABAIAAAQCAAIAAgAAAgAABAIAAAQCAAACAAQCAAACAAACAAIABAIAAAIAAQAEAgAABAIAAAQCAAIAAgAABAACAAAEAgAAAgAABAIAAAIAAAQCAAAEAgAAAgACAAAEAgAAAhgADgAEIgADIQIEAAAABDIWKAUCMw0EAAQBAQoTEwMDAwIGAwMrCgUBCQAHCAgFAwEBLBcDBQMBAQEAHRAKGhEAAAAAAAAAAAACAAUAAQAABwAAAgAAAAAAAwAAAgACAgICAAEABQIRAAUAAAACBQAAAAUABAAADwAAAQICAQEBAQUAAgABAgIFAAEBBQQCAwECAQECBQICAAEHAwICAwABAAACAQIBAgQBAgIAAwICAgMDAwIAAQECAwMBAAEAAQIBAwMCAQMAAQABAAEABAcBcAG3CrcKBQcBAYACgIACBgkBfwFBkOfBAgsHJggBTQIAAU4ApQMBTwEAAVAAkQIBUQDiCQFSAMEFAVMALwFUANUJCfcRAQBBAQu2CuUBN4kH2wbRA6ILYOkBmwMoKJgDnQKmAu4KgAqjAaMBowHXCSg3sQmrCaQDrAE3Rz6CCfsIaCidAu8KKCgoPuQI3QjwAig+xwi/CFw+7gKdCJQIjQhoaEQ3PsMHvge3B9AH/gYoKCgoKCg+zQKVBJEHiAf/BqsHjgf7BvgGjQcoKD7vBuwG6gb1BigoKCgoKD7UBs8GzgbjBigoKCgoKCg+yAbHBqMEzQY+vAa7BrUGxQYoKCg3qgapBqYGtAahBtID0gO6BigoKD6cC5kLzAGrAqsCpgM+kwuNCygoN4EL/wr9CooLKCgoKDftCuwK4gr2CigomwGZAcgKwgqMA94KpwalBrEDpAa0AdIFpQqjAaMBKK4DrQOKA2RkZGSZAf8J9gntCY8KKJMC4AneCYsD1waZAdYJ1AmnBdgJKCiZAdIJ0QnQCdMJKCgoKCj1AjfOCc0JpAXPCSgoN8wJywmiA6MFyQnICccJygmZBmRkngudCyg+xQnECcMJxgkomQHBCcAJwgnmBTe+Cb0JvAm/CdwKuwkojwMoProJuQn0Aj63CbYJtQm4CSgoPrMJsgmwCbQJKCgoKCjyApsFrgmtCa8J5grlCuQKowKjAqMCowLoBegF4QrgCj6qCakJqAmsCSg3pgmlCaQJpwkoKCgoPqIJoQmgCaMJKCgoKOQBngmdCZwJmAWfCSjvAv8BiAGaCZkJmAmbCcAHvwepBL0HKDmXCZYJlgU5lQmUCTmIAZIJkQmTCYgBOY8JjgmNCZAJ1gQoKDmMCYsJ7QI5iQmICYcJigko4AKNAoUJhAmDCYYJKIgBgQmACY0C/gj9CP8IzAKKBfoI+Qj4CPwInQecB5sHKCgoKJoHmQcoOfYI9Qj0CPcIKCgoKIgB8gjxCPMIiAGIAe8I7gjwCIgBOewI6wjqCO0IKDnoCOcI5gjpCCg34wjiCOEI5QjTB9IHKCgoKDngCN8I4wE33AjbCNoI3ggoN9gI1wjWCNkIKDfUCNMI0gjVCCjvAtAIzwjOCNEIKCgoKCgoKKUEN8wIywjKCM0ItQcopAQoKDfJCMgI6gI+xgjFCPgEN8MIwgjBCMQIKCg3vgi9CMAI7wK7CLoIvAiLAn24CLcItgi5CGhorAcoKH19tQi0COgCfbMIsgixCH2vCK4IsAh9rAirCKoIrQgofX2oCKcIqQh9OaUIpAiJBaYIOaIIoQjtBKMIaGiUByjrBOsEKDmgCJ8IOTmeCJwI7AQ5mgiZCJgImwgoOZYIlQiXCDeSCJEIkAiTCPEGjwTwBvwGjQSOBCgoKDePCI4IigL9Bj6MCIsI5QQoN4kIiAiHCIoIKCg3hQiECOAEhggoKCgoKCgoKCgoN4MIggg3N4EIgAjfBDc3/gf9B/wH/wcoKCgoKCg3+wf6Bzc3+Af3B/kHN/UH9Af2B4gB8wdEOfEH8AfXBDk5aGg5aGjvB+4HjQLsB+0H2wLpB+oHyQTIBOgHggKNAuYH2QLkB+UHyQTIBOMHggKKBeIH4Qc54AfdB7wE3AfbB9oH2Qe7BNgH1gfVB9QHNznRB84HOc0HzAc5ygfIBznEB8IHwQeoBLwHuwe6B7kHNzeiBLIHswe0B6IEsQc+oQSdAjegBLAHrweuB60HfShEOTk5pgc5lwSiB6EHoAefB54HOaEEmAesATmWB5cHOTmSB5MHOY8HkAeKB4wHiweVBIcHowGjAZEEhgeFB4MHggeEBz6BB4AHPjc++gaCBPQG+Qb3BvYGPvMGPvIGNz7uBj7tBj6KA+kG6AbrBigoKCgoKCg55gblBpYF5wY5PuIG4QbgBuQGKD7eBt0G3AbfBigoN9oG2QbYBu0DKJMCkwLpA9YGhwMoKEQ51QbTBjmsAawB6APRBtIGOTmKAznMBjk5rAHLBjnKBskGOawB1wPBBsQGxgbDBsIGPtYDwAbBAsACvwI+vwa+BsACwAK/Ar8CPtYDvQbBAsECN88DuAa5BpkBtwa2BigoKCi8A7MGsQasBrIGsAavBq4GrQarBrcCN80DyAPGA8UDwgMoRDeZAagGrgKjBqgDogY+mQGgBp4GnwadBqALZKELnwuUBpoLmwtkZGRkkAaUC5ULlguYC5cLkgudAqwBowWPC5ELkAtkPqsCiwaMC44LigaLC4ALiAuHC4MGiQv+Cj78Cmj7Cj76Cmj5Cu8F9Qr0CvEK8grwCvMKkwI3PukF6wrpA+oKPukK6ArnCuMK3wqbBd0KNz7bCo0E5AXaCukF1wrYCtkK1grVCtQK0wriBdIK0QqhAqECoQKhAuAF3wXQCs8KzgrNCnDMCtsFywpwngLKCskKxwrGCnDFCnCeAsQKwwrBCtYFwArWBZ4Cvwq+Cr0KObwKhQTcAYsBsQHYAtsB3weFAcsEhAHeB4YB1wfaAbsKugq5CrgK9wr4CpkEmgS3CnBAnAKdA4EGtgq1CrQKswqoAoUL1QSDC4QLsgqGC7EKgAawCoILmwLTBa8KcMYH1QKLAbEBxQfUAscHtQSuA64KrQpwgAKLAbEBtASsCnDSBYACiwGxAasKcLEEiwGxAbAEqgpwQJwCqQpwnALyB6gKywe4B7YH1wSbAusHyQeLAdICpwo5pgrYAtECiwGxAc8HmwL8AeIBpApwowqiCqEKpQfnB6QHowegCp8KmgL5AZ4KqgecAp0KnAqbCpoKmQqaApUHqQebAtMFmAqaAssEqAeLAbEBlwqaAqcHlgo5hQSLAdgClQqeApYCiQHOBYkBkQqQCkREhgOFA5YCzgWJAYgKhwpERIYDhQOJAYkB+wmJAYkBiQH6CcgFlgJERIYDhQPsCesJ6gnFBa8BlQKCA+kJiQGvAa8BrwGvAZUCrwGCA5UCrwHFBegJ5wlEREREREREROYJwgXlCcgFRETCBeQJggOVAuMJgQOBA4EDRERERERElgKUCjmTCpIKzQWOCo0KjAqLCooKiQo3RDfKBYYKhQqECoMKggqBCv4J/QlE/Ak3N/kJ+An3CfUJ9AnzCfIJ8QnwCe8JxgXuCTdEN+EJ3wndCdwJ2wnZCdoJCrHdCP0KCgAgACABQQJ0ags0AQF/IABBASAAGyEAAkADQCAAEJECIgENAUGU4wEoAgAiAQRAIAERDgAMAQsLEBIACyABCwMAAQsHACAAQQhqCwoAIAAoAgQQhgILCgAgACgCABCGAgsMACAAIAEQiAJBAXMLEQAgACAAKAIAQQRqNgIAIAALKQEBfyACBEAgACEDA0AgAyABOgAAIANBAWohAyACQQFrIgINAAsLIAALzAwBB38CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgFBeHEiAGohBQJAIAFBAXENACABQQNxRQ0BIAMgAygCACIBayIDQajjASgCAEkNASAAIAFqIQAgA0Gs4wEoAgBHBEAgAUH/AU0EQCADKAIIIgIgAUEDdiIEQQN0QcDjAWpGGiACIAMoAgwiAUYEQEGY4wFBmOMBKAIAQX4gBHdxNgIADAMLIAIgATYCDCABIAI2AggMAgsgAygCGCEGAkAgAyADKAIMIgFHBEAgAygCCCICIAE2AgwgASACNgIIDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQECQCADIAMoAhwiAkECdEHI5QFqIgQoAgBGBEAgBCABNgIAIAENAUGc4wFBnOMBKAIAQX4gAndxNgIADAMLIAZBEEEUIAYoAhAgA0YbaiABNgIAIAFFDQILIAEgBjYCGCADKAIQIgIEQCABIAI2AhAgAiABNgIYCyADKAIUIgJFDQEgASACNgIUIAIgATYCGAwBCyAFKAIEIgFBA3FBA0cNAEGg4wEgADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAMgBU8NACAFKAIEIgFBAXFFDQACQCABQQJxRQRAIAVBsOMBKAIARgRAQbDjASADNgIAQaTjAUGk4wEoAgAgAGoiADYCACADIABBAXI2AgQgA0Gs4wEoAgBHDQNBoOMBQQA2AgBBrOMBQQA2AgAPCyAFQazjASgCAEYEQEGs4wEgAzYCAEGg4wFBoOMBKAIAIABqIgA2AgAgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAFBeHEgAGohAAJAIAFB/wFNBEAgBSgCCCICIAFBA3YiBEEDdEHA4wFqRhogAiAFKAIMIgFGBEBBmOMBQZjjASgCAEF+IAR3cTYCAAwCCyACIAE2AgwgASACNgIIDAELIAUoAhghBgJAIAUgBSgCDCIBRwRAIAUoAggiAkGo4wEoAgBJGiACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEHI5QFqIgQoAgBGBEAgBCABNgIAIAENAUGc4wFBnOMBKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIUIgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQazjASgCAEcNAUGg4wEgADYCAA8LIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIACyAAQf8BTQRAIABBA3YiAUEDdEHA4wFqIQACf0GY4wEoAgAiAkEBIAF0IgFxRQRAQZjjASABIAJyNgIAIAAMAQsgACgCCAshAiAAIAM2AgggAiADNgIMIAMgADYCDCADIAI2AggPC0EfIQIgA0IANwIQIABB////B00EQCAAQQh2IgEgAUGA/j9qQRB2QQhxIgF0IgIgAkGA4B9qQRB2QQRxIgJ0IgQgBEGAgA9qQRB2QQJxIgR0QQ92IAEgAnIgBHJrIgFBAXQgACABQRVqdkEBcXJBHGohAgsgAyACNgIcIAJBAnRByOUBaiEBAkACQAJAQZzjASgCACIEQQEgAnQiB3FFBEBBnOMBIAQgB3I2AgAgASADNgIAIAMgATYCGAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiABKAIAIQEDQCABIgQoAgRBeHEgAEYNAiACQR12IQEgAkEBdCECIAQgAUEEcWoiB0EQaigCACIBDQALIAcgAzYCECADIAQ2AhgLIAMgAzYCDCADIAM2AggMAQsgBCgCCCIAIAM2AgwgBCADNgIIIANBADYCGCADIAQ2AgwgAyAANgIIC0G44wFBuOMBKAIAQQFrIgBBfyAAGzYCAAsLVAICfwF9IwBBEGsiASQAAn0gACgCACAAKAIEIAFBDGoQ9gMiAkUEQCAAENkBQwAAAAAMAQsgACAAKAIAIAJqNgIAIAEqAgwLIQMgAUEQaiQAIAO7CwcAIABBDGoLDQAgACgCACABQQJ0agsQACAAKAIEIAAoAgBrQQJ1CwwAIAAgASkCADcCAAspAQF/IwBBEGsiASQAIAEgACkCADcDCCABQQhqEDshACABQRBqJAAgAAsIACAAEJEBpwsDAAALNQEBfyMAQRBrIgIkACACIAAoAgA2AgwgACABKAIANgIAIAEgAkEMaigCADYCACACQRBqJAALBgAgABAvCwkAIAAQqQUgAAsUAQF/QQgQJyIBIAApAgA3AwAgAQsLACAAQgA3AgAgAAsoAQF/IAEgAUEBayICcUUEQCAAIAJxDwsgACABTwR/IAAgAXAFIAALCwsAIAAQRxogABAvCywBAX8gABDfAiAAKAIABEAgABDNBCAAECkaIAAoAgAhASAAEKcBGiABEC8LCwcAIABBBGoLBwAgAEEQagsLACAAIAE2AgAgAAsoACAAQYTxACkCADcCECAAQfzwACkCADcCCCAAQfTwACkCADcCACAACwQAIAALEgAgACACOAIEIAAgATgCACAACwUAEBIACxoAIABBzIcBNgIAIABBGGoQPyAAEO4CGiAACxMAIAAgARDiAiAAQQRqIAIQgwILPQECfyMAQRBrIgMkACADIABBARCFAiECIAAQKSACKAIEIAEQSiACIAIoAgRBBGo2AgQgAhBuIANBEGokAAsMACABIAIoAgA2AgALBwAgAEE0agtVAQF/IAAoAgQhAQNAIAEgACgCCEcEQCAAKAIQGiAAIAAoAghBBGs2AggMAQsLIAAoAgAEQCAAKAIQGiAAKAIAIQEgABAxKAIAIAAoAgBrGiABEC8LC1kBAn8jAEEQayICJAAgAiABNgIMIAEgABDOBCIDTQRAIAAQpwEiACADQQF2SQRAIAIgAEEBdDYCCCACQQhqIAJBDGoQVigCACEDCyACQRBqJAAgAw8LEHYACwkAIAAQQCgCAAtSAQF/IwBBEGsiAiQAIAIgATsBDiACIAAgAkEOahDUBDYCCCACEKkBNgIAQQAhACACQQhqIAIQ0wRFBEAgAkEIahB0KAIEIQALIAJBEGokACAAC4YCAQx9IAFBABAmKgIAIQMgAUEBECYqAgAhBCABQQIQJioCACEFIAFBAxAmKgIAIQYgAUEEECYqAgAhDSABQQUQJioCACEOIAJBABAmKgIAIQcgAkEBECYqAgAhCCACQQIQJioCACEJIAJBAxAmKgIAIQogAkEEECYqAgAhCyACQQUQJioCACEMIABBABAmIAMgB5QgBSAIlJI4AgAgAEEBECYgBCAHlCAGIAiUkjgCACAAQQIQJiADIAmUIAUgCpSSOAIAIABBAxAmIAQgCZQgBiAKlJI4AgAgAEEEECYgDSADIAuUIAUgDJSSkjgCACAAQQUQJiAOIAQgC5QgBiAMlJKSOAIAC1ABAX8gABDfAiAAECkgACgCACAAKAIEIAFBBGoiAhCEAiAAIAIQOCAAQQRqIAFBCGoQOCAAECkgARAxEDggASABKAIENgIAIAAgABAzEN4CCw0AIAAoAgAgAUEDdGoLEAAgACgCBCAAKAIAa0EDdQsLACAAIAEQYUEARwsYACAAKAIUIgAQjAQEfyAAEEsFQeDfAQsLJAECfyMAQRBrIgIkACAAIAEQ3QIhAyACQRBqJAAgASAAIAMbCxgAIAAtAABBIHFFBEAgASACIAAQ9wIaCwtLAQJ/IwBBEGsiASQAIAEgABCqBSEAIwBBEGsiAiQAIAJBCGogACgCBBBCKAIAQQE6AAAgACgCCEEBOgAAIAJBEGokACABQRBqJAALdQEDfyMAQRBrIgIkACACIAAQqgUhACMAQRBrIgMkACADQQhqIAAoAgQQQigCAC0AAEUEQAJ/AkAgACgCCCIALQAAIgFBAUcEfyABQQJxDQEgAEECOgAAQQEFQQALDAELAAshAQsgA0EQaiQAIAJBEGokACABCwoAIAAQ9QNBAUYLIQAgASAAKgIwXARAIAAgATgCMCAAIAAoAgAoAjgRAQALC1ABAn8jAEEQayIDJAACQAJAAkACQCABQQRrDgIAAQMLIAMgAhClAiAAQQRqIAMQ6QIgAxB/DAELIAAgAhA2NgIQC0EBIQQLIANBEGokACAEC20BAX8jAEGAAmsiBSQAIARBgMAEcSACIANMckUEQCAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAuGiABRQRAA0AgACAFQYACEFcgAkGAAmsiAkH/AUsNAAsLIAAgBSACEFcLIAVBgAJqJAALDgBBs+EBIAEgAhAJIAALIQAgASAAKgI0XARAIAAgATgCNCAAIAAoAgAoAjwRAQALC1oBAn8gACABQegAa0EAIAEbIgM2AigCQCAAIANGDQBBASECIAEgACgCECABKAIAKAIAEQIAIgFFDQAgAUELIAEoAgAoAgwRAgBFDQAgACABNgIUQQAhAgsgAgsHACAAIAFxCxkAIAAoAgAgATgCACAAIAAoAgBBCGo2AgALuwEBAn8jAEEQayIDJAACf0EAIAAvASwgARBhIAFGDQAaIABBLGogARCpAiAAIAAvASwgACgCACgCMBEDACAAKAIoIgRBLGpBAhCpAiAAKAIkIAQoAtABSQRAIAQgACgCJDYC0AELQQEgAkUNABogAyAAQRhqIgAQKzYCCCADIAAQKjYCAAN/IANBCGogAxAsBH8gAygCCCgCACABQQEQYxogA0EIahAtGgwBBUEBCwsLIQAgA0EQaiQAIAALDwAgACAAKAIAKAJkEQEACxgAIAAgASoCADgCACAAIAEqAgQ4AgQgAAufAQEHfSABQQAQJioCACECIAFBARAmKgIAIQMgAUECECYqAgAhBSABQQMQJioCACEGIAMgAhC8ASEIIAIgApQgAyADlJIiBJEhByACIAWUIAMgBpSSIAQQvAEhBCAAIAFBBBAmKgIAENwBIAAgAUEFECYqAgAQ2wEgACAHEIUBIAAgAiAGlCADIAWUkyAHlRCEASAAIAgQhgEgACAEENoBCwoAIABB8Aw2AgALBABBAAsUAQF/QQQQJyIBIAAoAgA2AgAgAQsJACAAKAIAEB0LVQEBfyMAQRBrIgIkACACIAE2AgwgAiAAQRhqIgAQKyAAECogAkEMahDKAjYCCCACIAAQKjYCACACQQhqIAIQLEUEQCAAIAJBDGoQsAMLIAJBEGokAAspAQF/IwBBEGsiAiQAIAIgATYCDCAAQZgBaiACQQxqELADIAJBEGokAAvYAQEIfSABQQAQJioCACEDIAFBARAmKgIAIQQgAUECECYqAgAhBSABQQMQJioCACEGIAFBBBAmKgIAIQcgAUEFECYhASADIAaUIAQgBZSTIghDAAAAAFwEQCABKgIAIQkgAEEAECYgBkMAAIA/IAiVIgKUOAIAIABBARAmIAIgBIyUOAIAIABBAhAmIAIgBYyUOAIAIABBAxAmIAMgApQ4AgAgAEEEECYg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IAI4AgAgBkEAECYqAgAhAiAGQQEQJioCACEEIABBABAmKgIAIQMgAEEAECYgAiADlDgCACAAQQEQJioCACEDIABBARAmIAIgA5Q4AgAgAEECECYqAgAhAiAAQQIQJiAEIAKUOAIAIABBAxAmKgIAIQIgAEEDECYgBCAClDgCACAAQQQQJioCACECIABBBBAmIAI4AgAgAEEFECYqAgAhAiAAQQUQJiACOAIAIAEqAhQiAkMAAAAAXARAIABBABAmKgIAIQQgAEECECYqAgAhAyAAQQIQJiADIAIgBJSSOAIAIABBARAmKgIAIQQgAEEDECYqAgAhAyAAQQMQJiADIAIgBJSSOAIACyAFQRBqJAALCwAgAEHc7gA2AgALCQAgACABOAIMCwkAIAAgATgCCAsJACAAIAE4AhALEgAgABCXAQRAIAAoAgAPCyAACwwAIAAQ/wEaIAAQLws3AQF/IAAoAgQiA0EBdSABaiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALEQMACxkAIAAoAgAgATYCACAAIAAoAgBBCGo2AgALUwICfwF9IwBBEGsiAiQAIAAoAgAhAyACIAEgACgCBCIAQQF1aiIBIABBAXEEfyABKAIAIANqKAIABSADCxEHADgCDCACKgIMIQQgAkEQaiQAIAQLJwAgARC+AgRAIAAgASgCOBCnAxBlGg8LIAAgASoCMCABKgI0EEUaCyIBAX0gAEEAECYqAgAiASABlCAAQQEQJioCACIBIAGUkpELIAEBfyAAKAIAIQIgACABNgIAIAIEQCAAEEAgAhDnAwsLCwAgACABIAIQ8gELDQAgACgCBCAAKAIAawufAQIHfwF+IwBBEGsiAyQAAn4CfyAAKAIEIQUgACgCACIGIQECQANAIAEgBU8NASABLQAAIgdB/wBxrSACQf8BcSICrYYgCIQhCCABQQFqIQEgAkEHaiECIAdBgAFxDQALIAMgCDcDCCABIAZrIQQLIAQiAUULBEAgABDZAUIADAELIAAgACgCACABajYCACADKQMICyEIIANBEGokACAIC9YDAQZ/An0CQCABvCIGQQF0IgRFIAZB/////wdxQYCAgPwHS3JFBEAgALwiB0EXdkH/AXEiAkH/AUcNAQsgACABlCIAIACVDAELIAQgB0EBdCIDSQRAIAZBF3ZB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JioCACEEIABBARAmIAMgBJI4AgALiAEBAX0gAUEAECYqAgAhAiAAQQAQJiACOAIAIAFBARAmKgIAIQIgAEEBECYgAjgCACABQQIQJioCACECIABBAhAmIAI4AgAgAUEDECYqAgAhAiAAQQMQJiACOAIAIAFBBBAmKgIAIQIgAEEEECYgAjgCACABQQUQJioCACECIABBBRAmIAI4AgALWAAgACABQQAQJioCADgCACAAIAFBARAmKgIAOAIEIAAgAUECECYqAgA4AgggACABQQMQJioCADgCDCAAIAFBBBAmKgIAOAIQIAAgAUEFECYqAgA4AhQgAAsxAQF/IwBBEGsiAyQAIAMgATYCDCAAIANBDGoQ8wEgACACKQIANwIEIANBEGokACAACxIAIAAgAjoABCAAIAE2AgAgAAsuAQJ/IAAoAgghASAAECkaA0AgAQRAIAEoAgAhAiABEC8gAiEBDAELCyAAENAGC+ICAQR/An0gACABkiABvEH/////B3FBgICA/AdNQQAgALxB/////wdxQYGAgPwHSRtFDQAaIAG8IgJBgICA/ANGBEAgABC2BQwBCyACQR52QQJxIgUgALwiA0EfdnIhBAJAAkACQCADQf////8HcSIDRQRAAkAgBEECaw4CAgADC0PbD0nADAQLIAJB/////wdxIgJBgICA/AdHBEBD2w/JPyAAmCACRQ0EGkPbD8k/IACYIANBgICA/AdHQQAgAkGAgIDoAGogA08bRQ0EGgJ9IAUEQEMAAAAAIANBgICA6ABqIAJJDQEaCyAAIAGVixC2BQshAAJAAkACQCAEDgMFAAECCyAAjAwGC0PbD0lAIABDLr27M5KTDAULIABDLr27M5JD2w9JwJIMBAsgA0GAgID8B0YNAiAEQQJ0QZDTAWoqAgAMAwtD2w9JQCEACyAADAELIARBAnRBgNMBaioCAAsLEQAgAEE9IAAoAgAoAgwRAgALEgAgABApKAIAIAAoAgBrQShtCxYAIAAQdSAAQfgLNgIAIABBuAs2AgALDAAgACABKAIENgIECyIAIAAQlQUgAEHQJTYCACAAQcjRADYCACAAQQRqEDoaIAALgwECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIAAgAEIKgCIFQgp+fadBMHI6AAAgAEL/////nwFWIQIgBSEAIAINAAsLIAWnIgIEQANAIAFBAWsiASACIAJBCm4iA0EKbGtBMHI6AAAgAkEJSyEEIAMhAiAEDQALCyABC+gCAgN/AXwjAEEQayIBJAACfSAAvCIDQf////8HcSICQdqfpPoDTQRAQwAAgD8gAkGAgIDMA0kNARogALsQdwwBCyACQdGn7YMETQRAIAC7IQQgAkHkl9uABE8EQEQYLURU+yEJwEQYLURU+yEJQCADQX9KGyAEoBB3jAwCCyADQX9MBEAgBEQYLURU+yH5P6AQeAwCC0QYLURU+yH5PyAEoRB4DAELIAJB1eOIhwRNBEAgAkHg27+FBE8EQEQYLURU+yEZwEQYLURU+yEZQCADQX9KGyAAu6AQdwwCCyADQX9MBEBE0iEzf3zZEsAgALuhEHgMAgsgALtE0iEzf3zZEsCgEHgMAQsgACAAkyACQYCAgPwHTw0AGgJAAkACQAJAIAAgAUEIahC4BUEDcQ4DAAECAwsgASsDCBB3DAMLIAErAwiaEHgMAgsgASsDCBB3jAwBCyABKwMIEHgLIQAgAUEQaiQAIAAL/gICAXwDfyMAQRBrIgIkAAJAIAC8IgRB/////wdxIgNB2p+k+gNNBEAgA0GAgIDMA0kNASAAuxB4IQAMAQsgA0HRp+2DBE0EQCAAuyEBIANB45fbgARNBEAgBEF/TARAIAFEGC1EVPsh+T+gEHeMIQAMAwsgAUQYLURU+yH5v6AQdyEADAILRBgtRFT7IQnARBgtRFT7IQlAIARBf0obIAGgmhB4IQAMAQsgA0HV44iHBE0EQCAAuyEBIANB39u/hQRNBEAgBEF/TARAIAFE0iEzf3zZEkCgEHchAAwDCyABRNIhM3982RLAoBB3jCEADAILRBgtRFT7IRnARBgtRFT7IRlAIARBf0obIAGgEHghAAwBCyADQYCAgPwHTwRAIAAgAJMhAAwBCwJAAkACQAJAIAAgAkEIahC4BUEDcQ4DAAECAwsgAisDCBB4IQAMAwsgAisDCBB3IQAMAgsgAisDCJoQeCEADAELIAIrAwgQd4whAAsgAkEQaiQAIAALKgEBfyMAQRBrIgIkACACIAA2AgwgAkEMaiABKAIAEIoBIAJBEGokACAAC5oBAQJ/IAEoAgAgACgCACADKAIAEQIAIQUgAigCACABKAIAIAMoAgARAgAhBAJ/AkAgBUUEQEEAIARFDQIaIAEgAhA4QQEgASgCACAAKAIAIAMoAgARAgBFDQIaIAAgARA4DAELIAQEQCAAIAIQOEEBDwsgACABEDhBASACKAIAIAEoAgAgAygCABECAEUNARogASACEDgLQQILCw4AIAAgASgCADYCACAACygAIAAQrAIgAEIANwJQIABB8BM2AgAgAEIANwJYIABBhPMANgIAIAALIAAgACgCBCAAECkoAgBHBEAgACABEEkPCyAAIAEQhQYLBwAgAEECRwscACAAKAIUBEAgACgCFCIAIAAoAgAoAmQRAQALCzcAAkACQAJAIAFBGGsOAgABAgsgACACEDC2OAIwQQEPCyAAIAIQMLY4AjRBAQ8LIAAgASACEFwLEQAgAEEkIAAoAgAoAgwRAgALogEBAn8gACgCBCAAECkoAgBJBEAjAEEQayIDJAAgAyAAQQEQtQIhAiAAECkgAigCBCABELACIAIgAigCBEEIajYCBCACEG4gA0EQaiQADwsjAEEgayIDJAAgABApIgIgA0EIaiAAIAAQU0EBahC0AiAAEFMgAhCzAiICKAIIIAEQsAIgAiACKAIIQQhqNgIIIAAgAhC1AyACELICIANBIGokAAsWAQF/IAAQMyEBIAAQzQQgACABEMkDCwgAIABB2ABqCzgBAX8gACgCACEBIABBADYCACABBEAgABBAIgAtAAQEQCAAKAIAGgsgAQRAIAAoAgAaIAEQLwsLCxYAQQFBICAAQQFrZ2t0IAAgAEECTxsLFgAgACABKAIANgIAIAAgAi0AADoABAsUAQF/IAAoAgAhASAAQQA2AgAgAQsYACABQf////8DSwRAEEYACyABQQJ0ECcLCAAgACABECwLCQAgAEEAOgAAC04BAn8jAEEQayIBJAACfyAAKAIAIAAoAgQgAUEMahD2AyICRQRAIAAQ2QFBAAwBCyAAIAAoAgAgAmo2AgAgASgCDAshACABQRBqJAAgAAsTACAAQQE6AAggACAAKAIENgIACwkAIAAgATgCFAsJACAAIAE4AgQLCQAgACABOAIACw8AIAAoAgggACgCADYCAAsRACAAQSggACgCACgCDBECAAsLACAAKAIIQf8BcQskAQJ/IwBBEGsiAiQAIAAgARDABCEDIAJBEGokACABIAAgAxsLDwAgACAAKAIAQShqNgIACxMA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IABCADcCCCAAIAI4AgQgAAsnAAJ/IAAtACgEQCAAKAIkDAELIAAoAhQLsiAAKAIQspUgABCnBJMLbQEDfyMAQRBrIgEkACAAQcjRADYCACABIABBBGoiAhArNgIIIAEgAhAqNgIAA0AgAUEIaiABECwEQCABKAIIKAIAIgMEQCADIAMoAgAoAgQRAQALIAFBCGoQLRoMAQsLIAIQPyABQRBqJAAgAAsjACABIAAqAoQBXARAIAAgATgChAEgACAAKAIAKAJUEQEACws3AQF9IAFDAABAQJQiAyACQwAAQECUIgIgAUMAAMDAlJIgA0MAAIA/IAKTkiAAlJIgAJSSIACUC2IBAX8jAEEQayICJAAgAEEAOgAUIAIgAEEIaiIDECs2AgggAiADECo2AgADQCACQQhqIAIQLARAIAIoAghBBGogARD8AQRAIABBAToAFAsgAkEIahDhAQwBCwsgAkEQaiQACwkAIAAgATYCAAsnACADIAMoAgAgAiABayIAayICNgIAIABBAU4EQCACIAEgABBvGgsLJAAgACABNgIAIAAgASgCBCIBNgIEIAAgASACQQJ0ajYCCCAACyQBAX8jAEEQayIBJAAgAUEIaiAAEEIoAgAhACABQRBqJAAgAAsJACAAQRxqEDMLDQAgACgCACABKAIARgsMACAAIAEtAAA6AAALIAAgAUGtAUYEQCAAIAIQNjYCNEEBDwsgACABIAIQ5QQLEwAgAEGcNTYCACAAQQRqEH8gAAssACAAEGcgAEF/NgIMIABCADcCBCAAQcgtNgIAIABBADYCECAAQfjOADYCAAsMACAAEOACGiAAEC8LIwAgABBnIABBuCQ2AgAgAEEEakGQJRCrASAAQegkNgIAIAALEgAgACABKAIwNgIwIAAgARBzC6gBAAJAIAFBgAhOBEAgAEQAAAAAAADgf6IhACABQf8PSARAIAFB/wdrIQEMAgsgAEQAAAAAAADgf6IhACABQf0XIAFB/RdIG0H+D2shAQwBCyABQYF4Sg0AIABEAAAAAAAAEACiIQAgAUGDcEoEQCABQf4HaiEBDAELIABEAAAAAAAAEACiIQAgAUGGaCABQYZoShtB/A9qIQELIAAgAUH/B2qtQjSGv6ILli4BDH8jAEEQayIMJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0E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QCAJEDxBCGoiCSAKRw0ACyAAIAEgAiADQwAAAD8gCBDsASAIQShqIgEgCEEgaiAIQRBqIAMgACAIIAhBGGogASAEIAUgDUMAAAA/lCIEIAcQugIgBCAGIAcQugIhBAwBCyAAIAMQ3QMiBSAEkiEEIAVDzcxMPV5FDQAgCCAGIAQQRSECAkAgBygCBCAHECkoAgBJBEAjAEEQayIAJAAgACAHQQEQtQIhASAHECkgASgCBCACELoDIAEgASgCBEEIajYCBCABEG4gAEEQaiQADAELIwBBIGsiASQAIAcQKSIAIAFBCGogByAHEFNBAWoQtAIgBxBTIAAQswIiAygCCCACELoDIAMgAygCCEEIajYCCCAHELECIAcQKSAHKAIAIAcoAgQgA0EEaiIAEIQCIAcgABA4IAdBBGogA0EIahA4IAcQKSADEDEQOCADIAMoAgQ2AgAgByAHEFMQuQMgAxCyAiABQSBqJAALCyAIQTBqJAAgBAsNACAAKAIAIAAoAgRGCxYBAX8gABBTIQEgABDMAyAAIAEQywMLGAAgABC+AgRAIAAoAjgQ0AEPCyAAENMDCwoAIAAoAjhBAEcLDgAgAEEAOgA9IAAQywELDgAgAEEAOgA8IAAQywELDgAgAEEAOwE8IAAQywELEQAgAEECIAAoAgAoAgwRAgALEQAgAEENIAAoAgAoAgwRAgALMAEBfSABQQAQJioCACECIABBABAmIAI4AgAgAUEBECYqAgAhAiAAQQEQJiACOAIAC1UBAX0gARDEASECIAEQwwEhASAAQQAQJiABOAIAIABBARAmIAI4AgAgAEECECYgAow4AgAgAEEDECYgATgCACAAQQQQJkEANgIAIABBBRAmQQA2AgALOAAgAygCACECIwBBEGsiACQAIAAgAjYCCCAAKAIIKAIAIQIgAUEANgIEIAEgAjYCACAAQRBqJAALDAAgACgCBCABEIQGCzMAIAAQdSAAQv////8PNwIwIABBuOsANgIAIABBADYCQCAAQgA3AjggAEGoiQE2AgAgAAsRACAAIAAoAgBBBGs2AgAgAAtXAQF/IwBBEGsiAyQAIAMgATYCACADIAA2AggDQAJAIANBCGogAxAsRQ0AIAMoAggoAgAgAigCAEYNACADQQhqEC0aDAELCyADKAIIIQAgA0EQaiQAIAALnwICDX0BfyAEQQAQJioCACEOIARBAhAmKgIAIQ8gBEEEECYqAgAhECAEQQEQJioCACERIARBAxAmKgIAIRIgBEEFECYqAgAhEwNAIBRBBEZFBEAgFCADEJAEIgQEQCANIASyQwAAf0OVIgcgBSAUIAIQkARBGGwiBGoqAgCUkiENIAwgByAFIARBBHJqIgQqAgCUkiEMIAkgByAEKgIMlJIhCSAKIAcgBCoCCJSSIQogCyAHIAQqAgSUkiELIAggByAEKgIQlJIhCAsgFEEBaiEUDAELCyAGQQAQJiAJIBEgAJQgEiABlJIgE5IiByALlCAOIACUIA8gAZSSIBCSIgAgDZSSkjgCACAGQQEQJiAIIAcgCpQgACAMlJKSOAIAC20BA38jAEEQayIBJAAgAEGM2gA2AgAgASAAQRhqIgIQKzYCCCABIAIQKjYCAANAIAFBCGogARAsBEAgASgCCCgCACIDBEAgAyADKAIAKAIEEQEACyABQQhqEC0aDAELCyACED8gAUEQaiQAIAALIwAgAEGc3QA2AgAgAEGUAWoQPyAAQYgBahA/IAAQ5QEaIAALDAAgACgCBEEBOgAECxkAIAAgATYCCCAAIAI2AgQgAEGg2AA2AgALLAAgABB1IABC/4GAgBA3AjAgAEHoEDYCACAAQaDhADYCACAAQThqEDwaIAALZQICfwF9IAEgACoCBFwEQCAAIAE4AgQgACoCCCAAKgIMkyEEIAAoAgAtACgEQCAAKAIAKAIgIQILIAAoAgAoAhAhAyAAQQE2AhQgACABIAIgA2yykyIBOAIIIAAgASAEkzgCDAsLygMCCX8BfSMAQRBrIgYkACAGIABBLGoiABArNgIIIAYgABAqNgIAA0AgBkEIaiAGECwEQCAGKAIIKAIAIQAjAEEQayIHJAACQCABIAAoAgQgASgCACgCXBECACIIRQ0AIAcgAEEIaiIAECs2AgggByAAECo2AgADQCAHQQhqIAcQLEUNAUEAIQQgBygCCCgCACIKQQhqIgkQMyILIQUDQCAFQQFrIQwCQANAIAQgBU4EQCAEIQAMAgsgAiAJIAQgDGpBAXUiABAyKAIAKgIUIg1eBEAgAEEBaiEEDAELCyAAIQUgAiANXQ0BCwsgCigCBCEFAkAgAEUEQCAJQQAQMigCACIAIAggBSADIAAoAgAoAjARCwAMAQsgCSAAQQFrEDIoAgAhBCAAIAtIBEAgAiAJIAAQMigCACIAKgIUWwRAIAAgCCAFIAMgACgCACgCMBELAAwCCyAEKAIIRQRAIAQgCCAFIAMgBCgCACgCMBELAAwCCyAEIAggBSACIAAgAyAEKAIAKAI0ERUADAELIAQgCCAFIAMgBCgCACgCMBELAAsgB0EIahAtGgwACwALIAdBEGokACAGQQhqEC0aDAEFIAZBEGokAAsLCxwAIAAgASgCMDYCMCAAIAEoAjQ2AjQgACABEHMLIQAgASAAKgJUXARAIAAgATgCVCAAIAAoAgAoAkgRAQALCyEAIAEgACoCUFwEQCAAIAE4AlAgACAAKAIAKAJEEQEACwshACABIAAoAjBHBEAgACABNgIwIAAgACgCACgCOBEBAAsLEgAgACABKgIwOAIwIAAgARBzCwcAIAAqAgQLFQAgAEGsywA2AgAgAEEIahDHBCAACwsAIAEgAkEoEG8aCxUAIABBgMoANgIAIABBCGoQxwQgAAsNACAAKAIAIAFBKGxqCw0AIAAoAgAgASgCAEkLLAAgACgCABogACgCACAAEKcBQQJ0ahogACgCACAAEKcBQQJ0ahogACgCABoLNAAgACgCABogACgCACAAEKcBQQJ0ahogACgCACAAEDNBAnRqGiAAKAIAIAAQpwFBAnRqGgtzAQN/IwBBEGsiASQAIABBvMgANgIAIAEgAEEQaiICECs2AgggASACECo2AgADQCABQQhqIAEQLARAIAEoAggoAgAiAwRAIAMgAygCACgCBBEBAAsgAUEIahAtGgwBCwsgAhA/IAAQ/wEaIAFBEGokACAACxEAIABBOCAAKAIAKAIMEQIACwkAIABBADYCAAsOACAAKAIIQf////8HcQsJACAAIAE6AAsLQQAgABB1IABBgICA/AM2AjAgAEGIPDYCACAAQejhADYCACAAQX82AjQgAEG4OzYCACAAQQA2AjggAEGw5gA2AgALEwAgACABKAI0NgI0IAAgARDXAgsYACAAEPMEIABBvDQ2AgAgAEHw1wA2AgALOAEBfyMAQRBrIgMkACABQYoBRgRAIAMgAhClAiAAQQRqIAMQ6QIgAxB/CyADQRBqJAAgAUGKAUYLWQECfyMAQRBrIgIkACAAEJcBBEAgACgCACEDIAAQ4wIaIAMQLwsgACABKAIINgIIIAAg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ACgCCEHgqAEoAgAgAUEEahALIQQgASABKAIEEEIhAyAEEJgCIQIgAxCgAiABQRBqJAAgAEEIahBqIABBEGokACACCzYCMCACC5wBAQF/IAAgASACIAMgBRCRAyEGIAQoAgAgAygCACAFKAIAEQIABH8gAyAEEDggAygCACACKAIAIAUoAgARAgBFBEAgBkEBag8LIAIgAxA4IAIoAgAgASgCACAFKAIAEQIARQRAIAZBAmoPCyABIAIQOCABKAIAIAAoAgAgBSgCABECAEUEQCAGQQNqDwsgACABEDggBkEEagUgBgsLeAEBfyAAIAEgAiAEEMYBIQUgAygCACACKAIAIAQoAgARAgAEfyACIAMQOCACKAIAIAEoAgAgBCgCABECAEUEQCAFQQFqDwsgASACEDggASgCACAAKAIAIAQoAgARAgBFBEAgBUECag8LIAAgARA4IAVBA2oFIAULC74HAQZ/A0AgAUEEayEHA0AgACEDA0ACQAJAAkACQAJAAkACQAJAIAEgA2siAEECdSIEDgYHBwAEAQIDCyABQQRrIgAoAgAgAygCACACKAIAEQIARQ0GIAMgABA4DwsgAyADQQRqIANBCGogAUEEayACEJEDGg8LIAMgA0EEaiADQQhqIANBDGogAUEEayACEJADGg8LIABB+wBMBEAgASEFIwBBEGsiBiQAIAMiBCADQQRqIANBCGoiAyACIgcQxgEaIARBDGohAQNAIAEgBUcEQCABKAIAIAMoAgAgBygCABECAARAIAYgASgCADYCDCABIQIDQAJAIAIgAyIAKAIANgIAIAMgBEYEQCAEIQAMAQsgBigCDCAAIgJBBGsiAygCACAHKAIAEQIADQELCyAAIAZBDGooAgA2AgALIAEiA0EEaiEBDAELCyAGQRBqJAAPCyADIARBAm1BAnRqIQYCfyAAQZ0fTgRAIAMgAyAEQQRtQQJ0IgBqIAYgACAGaiAHIAIQkAMMAQsgAyAGIAcgAhDGAQshCCAHIQAgAygCACAGKAIAIAIoAgARAgBFBEADQCAAQQRrIgAgA0YEQCADQQRqIQUgAygCACAHKAIAIAIoAgARAgANBQNAIAUgB0YNByADKAIAIAUoAgAgAigCABECAARAIAUgBxA4IAVBBGohBQwHBSAFQQRqIQUMAQsACwALIAAoAgAgBigCACACKAIAEQIARQ0ACyADIAAQOCAIQQFqIQgLIANBBGoiBCAATw0BA0AgBCIFQQRqIQQgBSgCACAGKAIAIAIoAgARAgANAANAIABBBGsiACgCACAGKAIAIAIoAgARAgBFDQALIAAgBUkEQCAFIQQMAwUgBSAAEDggACAGIAUgBkYbIQYgCEEBaiEIDAELAAsACyADIANBBGogAUEEayACEMYBGgwCCwJAIAQgBkYNACAGKAIAIAQoAgAgAigCABECAEUNACAEIAYQOCAIQQFqIQgLIAhFBEAgAyAEIAIQ5wUhBSAEQQRqIgAgASACEOcFBEAgBCEBIAMhACAFRQ0GDAMLIAUNBAsgBCADayABIARrSARAIAMgBCACEJIDIARBBGohAAwECyAEQQRqIAEgAhCSAyAEIQEgAyEADAQLIAUgByIARg0AA0AgBSIEQQRqIQUgAygCACAEKAIAIAIoAgARAgBFDQADQCADKAIAIABBBGsiACgCACACKAIAEQIADQALIAAgBE0EQCAEIQMMAwUgBCAAEDgMAQsACwALCwsLCwwAIABBgAJBABBjGgsHACAAQRh2CwgAIABB/wFxCwsAIABBCHZB/wFxCwsAIABBEHZB/wFxCxMAIAAoAhQEQCAAKAIUIAAQawsLDwAgACAAKAIAKAIANgIACxAAIAAoAgAgASgCAGtBAnULOgACfwJAIABBASAAKAIAKAIMEQIABEAgACAAEIQGDAELQQEgAUEBEE8iAUUNARogASAAEMcCC0EACwvFAQEDfyMAQRBrIgAkACAAIAE2AgggAEEIaiECQQQhAUEEIQMDQCADQQRPBEAgAigAAEGV08feBWwiBEEYdiAEc0GV08feBWwgAUGV08feBWxzIQEgA0EEayEDIAJBBGohAgwBCwsCQAJAAkACQCADQQFrDgMCAQADCyACLQACQRB0IAFzIQELIAItAAFBCHQgAXMhAQsgASACLQAAc0GV08feBWwhAQsgAEEQaiQAIAFBDXYgAXNBldPH3gVsIgBBD3YgAHML8wICCH8BfSMAQRBrIgQkACAEIABBxAFqIgIQKzYCCCAEIAIQKjYCACABtiEKA38gBEEIaiAEECwEfyAEKAIIKAIAIQMjAEEQayICJAAgAygCsAEEQCACIANBtAFqIgUQKzYCCCACIAUQKjYCAAN/IAJBCGogAhAsBH8g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sBU2AgAgAEGY9QA2AgAgAEG0AWoQyAEhASAAQZQCahDIASECIABB9AJqEMgBIQMgAEHUA2oQyAEhBCAAIAEQbCAAIAIQbCAAIAMQbCAAIAQQbCAACyIAIAFB2QBGBEAgACACEDC2OAKEAUEBDwsgACABIAIQpAMLDgAgABDLASAAQQA7ATwLJQAgAC0APUUEQCAAIAAoAgAoAkgRAQAgAEEBOgA9CyAAQcgAagskACAALQA8RQRAIAAgACgCACgCRBEBACAAQQE6ADwLIABBQGsLCAAgAEHQAGoLTwEBfyMAQRBrIgEkACAAQUBrIAFBCGogACoCMCAAKgI0EEUgASAAKgJQEMMBIAAqAlSMlCAAKgJQEMQBIAAqAlSMlBBFELYBIAFBEGokAAsyAQF/IABBlPEANgIAIAAoAkwiAQRAIAEgASgCACgCBBEBAAsgAEE8ahA/IAAQRxogAAs6ACAAEHUgAEEBOgA4IABC/////w83AjAgAEGwETYCACAAQZTxADYCACAAQTxqEDoaIABCADcCSCAACwsAIAAoApABQQFxCwgAIABBvAFqCxEAIABBAyAAKAIAKAIMEQIACzYBAX0gAUEAECYqAgAhAyAAQQAQJiADIAKUOAIAIAFBARAmKgIAIQMgAEEBECYgAyAClDgCAAs2AQF9IAFBABAmKgIAIABBABAmKgIAkyICIAKUIAFBARAmKgIAIABBARAmKgIAkyICIAKUkpELbgEEfSABQQAQJioCACEFIAFBARAmKgIAIQYgAkEAECYqAgAhAyACQQIQJioCACEEIABBABAmIAUgA5QgBiAElJI4AgAgAkEBECYqAgAhAyACQQMQJioCACEEIABBARAmIAUgA5QgBiAElJI4AgALMgAgALxB/////wdxQYCAgPwHTQR9IAAgACABliABvEH/////B3FBgICA/AdLGwUgAQsLjgIBCH8gACgCBCEAIwBBEGsiBCQAIAQgATYCDCAEQQxqIQcCQCAAQRBqIgEoAgQgARApKAIARwRAIAEgBxBJDAELIwBBIGsiCCQAIAEQKSIFAn8gASABEDNBAWoQTSEDIAEQMyEJIwBBEGsiBiQAIAZBADYCDCAIQQhqIgBBDGogBkEMaiAFEEggAwRAIAAoAhAaIANB/////wNLBEAQRgALIANBAnQQJyECCyAAIAI2AgAgACACIAlBAnRqIgU2AgggACAFNgIEIAAQMSACIANBAnRqNgIAIAZBEGokACAAKAIICyAHEEogACAAKAIIQQRqNgIIIAEgABBRIAAQTCAIQSBqJAALIARBEGokAAsSACAAQcgAIAAoAgAoAgwRAgALCQAgACABEIMCCwwAIAAgASoCADgCAAsJACAAIAEQ8wELCQAgAEEANgIAC04BAn8jAEEQayICJAAgAkEANgIMIAAgAkEMahDzASMAQRBrIgEkACABQQA2AgwgAEEEaiABQQxqIAFBCGoQ5AMgAUEQaiQAIAJBEGokAAsMACAAKAIAGiABEC8LHAAgAEH07gA2AgAgAEEcahA/IABBCGoQuwEgAAsEAEECCzoAIAAQlAIaIABCAzcCjAEgAEH07AA2AgAgAEG0GzYCACAAQZQBahA6GiAAQQA2AqgBIABCADcCoAELUQAgABB1IABCADcCRCAAQoCAgICAgIDAPzcCPCAAQoCAgPwDNwI0IABBfzYCMCAAQYwQNgIAIABBxOAANgIAIABBzABqEEMaIABBADYCZCAACzQAIAAQ6gMgAEF/NgKsASAAQYDsADYCACAAQQA2ArABIABB9JIBNgIAIABBtAFqEDoaIAALKgECf0HAARAnQQBBwAEQLhDsAyIBIgIgACgCrAE2AqwBIAIgABCmBSABCykAIAAQvwEgAEF/NgIwIABB9OoANgIAIABBADYCNCAAQeSIATYCACAACxoAIAAQZyAAQZzqADYCACAAQcjqADYCACAACxEAIABBADoAACAAQQRqEDoaC7IBAQF/IAAQlAUgAEIANwJQIABBAToATCAAQazpADYCACAAQgA3AlggAEIANwJgIABB6ABqIgFBkOoANgIAIABB7ABqEPADIABByIUBNgIAIAFBsIYBNgIAIABB/ABqEDoaIABBiAFqEDoaIABBlAFqEDoaIABBoAFqEDoaIABBrAFqEDoaIABBuAFqEDoaIABBxAFqEDoaIABCADcC2AEgAEIANwLQASAAQYACOwHgASAACysBAX8gACgCBCECA0AgASACRwRAIAAQKRogAkEBayECDAELCyAAIAE2AgQLJgAgACgCABogACgCACAAEKEBahogACgCACAAEKEBahogACgCABoLPwEBfyMAQRBrIgEkACAAECkaIAFBfzYCDCABQf////8HNgIIIAFBDGogAUEIahCoASgCACEAIAFBEGokACAACzQBAn8CQCAAKAIEIAAoAgAiAmtBAEwEQCAAENkBDAELIAAgAkEBajYCACACLQAAIQELIAELHgEBfyABIABrQQRPBH8gAiAAKAAANgIAQQQFQQALCywAIAAoAgAaIAAoAgAgABChAWoaIAAoAgAgABCQAWoaIAAoAgAgABChAWoaC2oBAn8jAEEQayICJAAgAiAANgIAIAIgACgCBCIDNgIEIAIgASADajYCCCACIgEoAgQhAwNAIAEoAgggA0cEQCAAECkaIAEoAgQQ1wEgASABKAIEQQFqIgM2AgQMAQsLIAEQbiACQRBqJAALLQEBfyAAIQFBACEAA0AgAEEDRwRAIAEgAEECdGpBADYCACAAQQFqIQAMAQsLCzEBAX8gABD3AyAAKAIABEAgACAAKAIAEPIDIAAQKRogACgCACEBIAAQoQEaIAEQLwsLHQEBfyMAQRBrIgMkACAAIAEgAhD7AiADQRBqJAALGQEBfyMAQRBrIgEkACAAEPkDIAFBEGokAAs+ACAAIAEqAgA4AgAgACABKgIEOAIEIAAgASoCCDgCCCAAIAEqAgw4AgwgACABKgIQOAIQIAAgASoCFDgCFAtUACAAEL8BIABCADcCQCAAQoCAgICAgIDAPzcCOCAAQoCAgPwDNwIwIABBtA82AgAgAEGo3wA2AgAgAEHIAGoQQxogAEHgAGoQOhogAEEANgJsIAALGgAgAUEAQTwQLiIAQQxqEKoBIABBJGoQQxoLKwEBfyAAKAIEIQIDQCABIAJHBEAgABApGiACQTxrIQIMAQsLIAAgATYCBAs0ACAAKAIAGiAAKAIAIAAQogFBPGxqGiAAKAIAIAAQe0E8bGoaIAAoAgAgABCiAUE8bGoaC0cBAn8gAEGM4wA2AgAgAEHEAGoiARCBBCABKAIABEAgASABKAIAEIAEIAEQKRogASgCACECIAEQogEaIAIQLwsgABBHGiAACw8AIAAgACgCAEE8ajYCAAu4BQMLfwZ9AXwjAEHQAGsiBCQAIAIoAgQhCCABKAIEIQsgAEHEAGoiDiABKAIAQQFqEHwhCSAEQcgAahA8IQYgBEFAaxA8IQUgBEE4ahA8IQcgCyAGELIBIAkoAgQgBRCyASAIIAcQkgQgBEEwaiADEGUhCiAGIAYgAUEkaiIDEHIgBSAFIAMQciAHIAcgAxByIAogCiADEHIgBEEoahA8IQwgBEEgahA8IQ0gBEEYahA8IQMgDCAHIAUQcSAMEI0BIRAgDSAFIAYQcSANEI0BIQ8gAyAKIAYQcSADEI0BIREgBEGAgID8ezYCCCAEQYCAgPwDNgIAIAQgDyAPlCISIBAgEJQiE5MgESARlCIUkiARIA8gD5KUlTgCFCAEQQhqIAQgBEEUahCUARDgASoCABC3BSERIARBgICA/Hs2AgggBEGAgID8AzYCACAEIBMgEpIgFJMgDyAQIBCSlJU4AhQgBEEIaiAEIARBFGoQlAEQ4AEqAgAQtwUhDyABAn0gCyAIKAIURwRAIA4gASgCAEECahB8IQYgCSgCBCAFELIBIAggBxCSBCAEQQhqEDwiCCAHIAUQcSAEEDwiBSAIIAZBJGoQ3gMgBUEBECYqAgAgBUEAECYqAgAQvAEhEEQYLURU+yEJQEQYLURU+yEJwCAALQA8IgAbIA+MIA8gABu7oCAQu6EhFSADQQEQJioCACADQQAQJioCABC8ASARjCARIAAbkgwBCyAALQA8IQAgA0EBECYqAgAgA0EAECYqAgAQvAEhECAABEBEGC1EVPshCUAgD7uhIRUgECARkwwBCyAPu0QYLURU+yEJwKAhFSARIBCSCyIPEPcBIAkgFbYiEBD3ASACIAlHBEAgAigCBCIAEEsgABBVIAAQ0AEQUAsgASAPOAIIIAkgEDgCCCAEQdAAaiQACwcAIAAqAgALEAAgACABNgIEIAAgATYCAAstAQF/IwBBEGsiASQAIAEgACgCBDYCCCABQQhqEMkCKAIAIQAgAUEQaiQAIAALCAAgAEH8AGoLNQEBfyMAQRBrIgIkACACIAAoAgQ2AgggAiABKAIENgIAIAJBCGogAhAsIQAgAkEQaiQAIAALCwAgACABECsQhgQLCwAgACABECoQhgQLEgAgAEHbACAAKAIAKAIMEQIACw8AIAAgACgCACgCPBEBAAsKACAAKAIUEKcCC0ABAX8gACgCFBD4AQR/IAAoAhQhAiMAQRBrIgEkACABIAA2AgwgAkH4AGogAUEMahCmASABQRBqJABBAAVBAgsLDgAgASAAQQN0dkH/AXELKgEBfyAAQajfADYCACAAKAJsIgEEQCABEC8LIABB4ABqED8gABBHGiAACywBAX0gACoChAEhAiABQQAQJiACOAIAIAFBARAmQQA2AgAgASABIAAQSxByCxQAIAAgARD7ASAAQZTbADYCACAACw4AIAAQ3wFBBBBhQQRGCwwAIAAQzQIaIAAQLwtiAQJ9IAAQ3wFBCBBhQQhGBEACfUMAAAAAIAAgASAAKAIAKAI4EQIAIgFFDQAaIAIEQCABEKcEIQMLIAEQ/gELIQQgAyAEIAAoAhCyQwAAyEKVlJIPCyAAKAIQskMAAHpElQtzAQN/IwBBEGsiASQAIABBmNkANgIAIAEgAEEQaiICECs2AgggASACECo2AgADQCABQQhqIAEQLARAIAEoAggoAgAiAwRAIAMgAygCACgCBBEBAAsgAUEIahAtGgwBCwsgAhA/IAAQiwIaIAFBEGokACAACw4AIAAQ3wFBEBBhQRBGCx8BAX8gAEEEaiIAEDMgAUsEfyAAIAEQMigCAAVBAAsLCQAgAEEEahAzC5UFAgp/BH0CQCABRQ0AIAAoAgghByABKAIEIgsQmgQhDANAIAogDEYNASALIAoQmQQiCCEEQQAhBSMAQRBrIgYkAAJAIAQQ3wFBARBhQQFGDQAgBiAEQRhqIgkQKzYCCCAGIAkQKjYCAANAIAZBCGogBhAsBEAgAiAGKAIIKAIAIgkoAgRBAnRqKAIAIQ0gAwRAIAlBxAAgCSgCACgCDBECAA0DCyAJIA0gCSgCACgCKBECAEUNAiAGQQhqEC0aDAELC0ECIQUgBBCUBEUNACAEIAEgBCgCACgCNBECACIFBEAgBSoCDCEQIAUqAgghEQJAIAQgASgCBEEAEJYEIg4gBSgCACIEEP4BIg9fRQ0AIAQoAhxFDQAgDiAPIBAgD5WOlJIhDgtBASEFIA4gEV4NAQtBAiEFCyAGQRBqJAACQAJAAkAgBUEBaw4CAQACCyAAIAgoAhQQngRFDQEgACAINgIQIABBAToAIAJAIAAoAgwiAUUNACABIAAoAgRGDQAgASABKAIAKAIEEQEACyAAIAc2AgwCQCAHRQ0AQQAhAQJ/IAdFIAgQlARFckUEQCAHKAIEEL0BIQELIAFFIAgQmARFckULBH8gBxApIAggBygCBEEBEJYEENECQQEFIAELRQ0AIAAgACgCDBApIgEoAgA2AiQgACABKgIEOAIoCyAAIAAqAhgiDjgCHCAOQwAAAABcBEAgACAIEJgEOgAUCwJAIAAoAgwiAUUNACABKAIEEL0BRQ0AIAAoAghFDQAgACgCDBApKgIQIQ4gACgCCCIBIA4gAiABKAIAKAIIEQwACyAAQQA2AhggAEMAAAAAEJ0EIABBADoAIUEBDwsgAEEBOgAhCyAKQQFqIQoMAAsAC0EACyMAIAAQ8QIaIABCADcCoAEgAEHMDjYCACAAQcDeADYCACAAC+0BAQN/IwBBEGsiAiQAAkACQCAAKAIQIgNFDQAgACgCDEUNACADKAIMRQ0AIAJBgICA/AM2AgwgAkEANgIIIAIgACoCGCABAn0gACgCDCgCBCEEQwAAAAAhAUMAAAAAIAAoAhAiAygCDEUNABogAxDfAUECEGFBAkYEQAJAIAQQvQFFDQAgBCgCFCIERQ0AIAQQ/gEhAQsgASADKAIMskMAAMhClZQMAQsgAygCDLJDAAB6RJULlZI4AgQgACACQQxqIAJBCGogAkEEahDgARCUASoCADgCGAwBCyAAQYCAgPwDNgIYCyACQRBqJAALQAEBfwJ/QQAgACgCCCICRQ0AGiACKAIECyICIAFHBEAgACABBH8gASABKAIAKAIkEQAABUEACzYCCAsgASACRwsoAQF/IwBBEGsiAiQAIAIgATYCDCAAQRxqIAJBDGoQpgEgAkEQaiQAC8YBAQR/IwBBEGsiASQAIABB/NYANgIAIAEgAEEcaiIDECs2AgggASADECo2AgADQAJAIAFBCGogARAsRQRAIAEgAEEQaiICECs2AgggASACECo2AgADQCABQQhqIAEQLEUNAiABKAIIKAIAIgQEQCAEIAQoAgAoAgQRAQALIAFBCGoQLRoMAAsACyABKAIIKAIAIgIEQCACIAIoAgAoAgQRAQALIAFBCGoQLRoMAQsLIAMQPyACED8gABDkARogAUEQaiQAIAALAwABCwwAIAAQpQQaIAAQLws2AAJAAkACQCABQeYAaw4CAAECCyAAIAIQNjYCMEEBDwsgACACEDY2AjRBAQ8LIAAgASACEFwLHwEBf0EgECciAiABIAAoAjAQqAIQ/QEaIAAgAjYCOAsZACAAQZjUADYCACAAKAI4EC8gABBHGiAAC6sEAwF/BH4CfAJ8IAC7IQcCQCABtyIIvSIFQgGGIgRQIAVC////////////AINCgICAgICAgPj/AFZyRQRAIAe9IgZCNIinQf8PcSICQf8PRw0BCyAHIAiiIgggCKMMAQsCfgJAIAQgBkIBhiIDVARAIAVCNIinQf8PcSEBIAJFBEAgBkIMhiIDQgBTBEBBACECDAMLQX8hAgNAIANCAYYiA0IAUw0DIAJBAWshAgwACwALIAZC/////////weDQoCAgICAgIAIhAwCCyAHRAAAAAAAAAAAoiAHIAMgBFEbDAILIAZBASACa62GCyEDAn4CQCABRQRAIAVCDIYiBEIAUwRAQQAhAQwCC0F/IQEDQCAEQgGGIgRCAFMNAiABQQFrIQEMAAsACyAFQv////////8Hg0KAgICAgICACIQMAQsgBUEBIAFrrYYLIQUgASACSARAA0ACQCADIAV9IgRCAFMNACAEIgNCAFINACAHRAAAAAAAAAAAogwDCyADQgGGIQMgAkEBayICIAFKDQALIAEhAgsCQCADIAV9IgRCAFMNACAEIgNCAFINACAHRAAAAAAAAAAAogwBCwJAIANC/////////wdWBEAgAyEEDAELA0AgAkEBayECIANCgICAgICAgARUIQEgA0IBhiIEIQMgAQ0ACwsgBkKAgICAgICAgIB/gyAEQoCAgICAgIAIfSACrUI0hoQgBEEBIAJrrYggAkEBThuEvwsLHQAgAC0AKAR9IAAoAiCyBUMAAAAACyAAKAIQspULcwEDfyMAQRBrIgEkACAAQbzSADYCACABIABBLGoiAhArNgIIIAEgAhAqNgIAA0AgAUEIaiABECwEQCABKAIIKAIAIgMEQCADIAMoAgAoAgQRAQALIAFBCGoQLRoMAQsLIAIQPyAAEOQBGiABQRBqJAAgAAsaACABQTkQTyIBRQRAQQEPCyABIAAQ4ANBAAshACABIAAoAiRHBEAgACABNgIkIAAgACgCACgCPBEBAAsLIQAgASAAKAIMRwRAIAAgATYCDCAAIAAoAgAoAiwRAQALCyEAIAEgACgCCEcEQCAAIAE2AgggACAAKAIAKAIoEQEACwsjACABIAAoAowBRwRAIAAgATYCjAEgACAAKAIAKAJcEQEACwuKCQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUHcAGsOJh0eGx0bGxsbGxsd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uAEMFAsgACoCyAEMEwsgACoCYAwSCyAAKgJkDBELIAAqAoQBDBALIAAqAkQMDwsgACoCRAwOCyAAKgJIIQILIAIMDAsgACoCMAwLCyAAKgI8DAoLIAAqAlAMCQsgACoCWAwICyAAKgJcDAcLIAAqAlQMBgsgACAAKAIAKAJMEQcADAULIAAgACgCACgCUBEHAAwECyAAKgI0DAMLIAAqAgwMAgsgACoCOAwBCyAAKgJAC5SSIQMLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEHaw7EASMkJSYnKAkKBgcILzcXGDc3LzEzNzc3Nxs3MTIzNzc3MTc3Lzc3NzQVNzc3Nzc3Nzc3NxM3Nzc3Dg8QETc3NxI3Nzc3Nzc3NzU2FjU2NTYhIjcpKis3Nzc3MTIzNC0uNzcvMTIzNCw3Nzc3LzEyNzc3Nzc3GRo3HyA3Nzc3Nzc3Nzc3NzcMNzc3Nzc3Nzc3Nzc3Nzc3Nw03NzccHR43NxQ3Nzc3Ny83Nzc3MDc3NzcAAQIDBAU3Nzc3Nzc3Nzc3NzALNzA3CyADIAAqAkhcBEAgACADOAJIIAAgACgCACgCVBEBAAsMNgsgAyAAKgJMXARAIAAgAzgCTCAAIAAoAgAoAlgRAQALDDULIAMgACoCUFwEQCAAIAM4AlAgACAAKAIAKAJcEQEACww0CyADIAAqAlhcBEAgACADOAJYIAAgACgCACgCcBEBAAsMMwsgAyAAKgJcXARAIAAgAzgCXCAAIAAoAgAoAnQRAQALDDILIAMgACoCYFwEQCAAIAM4AmAgACAAKAIAKAJ4EQEACwwxCyAAIAMQtQQMMAsgACADENUCDC8LIAAgAxDUAgwuCyAAIAMQgAIMLQsgACADELQEDCwLIAMgACoCNFwEQCAAIAM4AjQgACAAKAIAKAJEEQEACwwrCyADIAAqAhBcBEAgACADOAIQIAAgACgCACgCKBEBAAsMKgsgAyAAKgIMXARAIAAgAzgCDCAAIAAoAgAoAjQRAQALDCkLIAMgACoCBFwEQCAAIAM4AgQgACAAKAIAKAIkEQEACwwoCyADIAAqAghcBEAgACADOAIIIAAgACgCACgCKBEBAAsMJwsgAyAAKgIMXARAIAAgAzgCDCAAIAAoAgAoAiwRAQALDCYLIAMgACoCEFwEQCAAIAM4AhAgACAAKAIAKAIwEQEACwwlCyADIAAqAhhcBEAgACADOAIYIAAgACgCACgCOBEBAAsMJAsgAyAAKgIYXARAIAAgAzgCGCAAIAAoAgAoAjARAQALDCMLIAMgACoCDFwEQCAAIAM4AgwgACAAKAIAKAIoEQEACwwiCyADIAAqAjhcBEAgACADOAI4IAAgACgCACgCTBEBAAsMIQsgACADELMEDCALIAMgACoCpAFcBEAgACADOAKkASAAIAAoAgAoAmwRAQALDB8LIAMgACoCqAFcBEAgACADOAKoASAAIAAoAgAoAnARAQALDB4LIAMgACoCrAFcBEAgACADOAKsASAAIAAoAgAoAnQRAQALDB0LIAMgACoCsAFcBEAgACADOAKwASAAIAAoAgAoAngRAQALDBwLIAAgAxCyBAwbCyADIAAqArwBXARAIAAgAzgCvAEgACAAKAIAKAKEAREBAAsMGgsgAyAAKgLAAVwEQCAAIAM4AsABIAAgACgCACgCiAERAQALDBkLIAMgACoCxAFcBEAgACADOALEASAAIAAoAgAoAowBEQEACwwYCyAAIAMQsgQMFwsgAyAAKgLIAVwEQCAAIAM4AsgBIAAgACgCACgCjAERAQALDBYLIAAgAxCzBAwVCyADIAAqAlxcBEAgACADOAJcIAAgACgCACgCWBEBAAsMFAsgACADENUCDBMLIAAgAxDUAgwSCyADIAAqAlhcBEAgACADOAJYIAAgACgCACgCTBEBAAsMEQsgAyAAKgJcXARAIAAgAzgCXCAAIAAoAgAoAlARAQALDBALIAMgACoCYFwEQCAAIAM4AmAgACAAKAIAKAJUEQEACwwPCyADIAAqAmRcBEAgACADOAJkIAAgACgCACgCWBEBAAsMDgsgACADEIACDA0LIAAgAxCxBAwMCyAAIAMQsAQMCwsgACADEK8EDAoLIAAgAxCvBAwJCyADIAAqAkhcBEAgACADOAJIIAAgACgCACgCUBEBAAsMCAsgACADEFsMBwsgAyAAKgI8XARAIAAgAzgCPCAAIAAoAgAoAkgRAQALDAYLIAAgAxBfDAULIAMgACoCOFwEQCAAIAM4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IAJBCGoQ4QEMAAsACw0AIAAqAgAgASoCAF0LKwEBfyAAKAIEIQIDQCABIAJHBEAgABApGiACQQRrIQIMAQsLIAAgATYCBAtVAQF/IAAoAgQhAQNAIAEgACgCCEcEQCAAKAIQGiAAIAAoAghBKGs2AggMAQsLIAAoAgAEQCAAKAIQGiAAKAIAIQEgABAxKAIAIAAoAgBrGiABEC8LC54BAQR/IAAQxgQgABApGiABQQRqIgMiAiACKAIAIAAoAgQgACgCACIEayICQVhtQShsaiIFNgIAIAJBAU4EQCAFIAQgAhBvGgsgACADEDggAEEEaiABQQhqEDggABApIAEQMRA4IAEgASgCBDYCACAAEJUBGiAAKAIAGiAAKAIAIAAQvgFBKGxqGiAAKAIAIAAQvgFBKGxqGiAAKAIAGguTAQEDfyMAQRBrIgIkACACIAE2AgwCfyMAQRBrIgMkACAAECkaIANB5syZMzYCDCADQf////8HNgIIIANBDGogA0EIahCoASgCACEEIANBEGokACABIARNCwRAIAAQvgEiACAEQQF2SQRAIAIgAEEBdDYCCCACQQhqIAJBDGoQVigCACEECyACQRBqJAAgBA8LEHYAC1QBAn8jAEEQayIDJAAgAyAANgIAIAMgACgCBCICNgIEIAMgAkEoajYCCCADIQIgABApIAIoAgQgARDaAiACIAIoAgRBKGo2AgQgAhBuIANBEGokAAs1ACAAKAIAGiAAKAIAIAAQvgFBKGxqGiAAKAIAIAAQlQFBKGxqGiAAKAIAIAAQvgFBKGxqGgtVAQJ/IAAQxgQgACgCAARAIAAoAgAhAiAAKAIEIQEDQCABIAJHBEAgABApGiABQShrIQEMAQsLIAAgAjYCBCAAECkaIAAoAgAhASAAEL4BGiABEC8LCwcAIAAtABQLXAEBfyMAQRBrIgMkACADIABBCGoiABArNgIIIAMgABAqNgIAA0AgA0EIaiADECwEQCADKAIIIgBBBGogASAAKgIkIAKUEOIBIANBCGoQ4QEMAQUgA0EQaiQACwsLCQAgACABOAIkCwcAIAAqAgwLIAAgACABNgIAIABBBGogASgCCBD9ARogAEEANgIkIAALDAAgACAAKAIAEMEEC0MBAX8jAEEQayIBJAAgABApGiABQf////8DNgIMIAFB/////wc2AgggAUEM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AEGYNzYCACAACyAAIAAQ5wIgAEEANgIQIABBgDY2AgAgAEG0NjYCACAACzAAIAAQ8wQgAEHQNTYCACAAQZjZADYCACAAQRBqEDoaIABBADYCJCAAQgA3AhwgAAshACAAEGcgAEGcNTYCACAAQQRqQcQ1EKsBIABB7DQ2AgALIAAgABDnAiAAQQA6ABAgAEHUMzYCACAAQYg0NgIAIAALKwAgABCOAhogAEGkMzYCACAAQfzWADYCACAAQRBqEDoaIABBHGoQOhogAAsaACAAEPkEIABB2DI2AgAgAEGU1gA2AgAgAAssACAAEPoEIABBADoAQCAAQYCAgPwDNgI8IABBgDI2AgAgAEG81QA2AgAgAAsfACABQcYBRgRAIAAgAhA2NgIwQQEPCyAAIAEgAhBcCx4AIAAQdSAAQX82AjAgAEG8MTYCACAAQczTADYCAAsqACAAEPkEIABBgICA/AM2AjQgAEHsMDYCACAAQQA2AjggAEGY1AA2AgALEwAgACABKgI0OAI0IAAgARCPAgshACAAEPoEIABBADYCPCAAQZgwNgIAIABB6NQANgIAIAALSAAgABCOAhogAEEAOgAoIABCfzcCICAAQoCAgPwDNwIYIABCvICAgMAHNwIQIABBzC82AgAgAEG80gA2AgAgAEEsahA6GiAACyEAIAAQjAIgAEF/NgIYIABBiC82AgAgAEGE0QA2AgAgAAshACAAEIwCIABBADYCGCAAQcQuNgIAIABBwNAANgIAIAALEwAgACABKAIYNgIYIAAgARDrAgshACAAEIwCIABBADYCGCAAQYAuNgIAIABB/M8ANgIAIAALFQAgACABKgKEATgChAEgACABEM8ECyEAIAAQjAIgAEEAOgAYIABBhC02AgAgAEG4zwA2AgAgAAsoACAAEGcgAEEANgIEIABB1Cw2AgAgAEGEzgA2AgAgAEEIahA6GiAACygAIAAQZyAAQQA2AgQgAEGkLDYCACAAQZDNADYCACAAQQhqEDoaIAALGgAgABDBARogAEHEKzYCACAAQfQrNgIAIAALGgAgABDBARogAEHkKjYCACAAQZQrNgIAIAALMwAgABBnIABC4fXR+IOAgMA/NwIMIABCvZTc9gM3AgQgAEGoKjYCACAAQdTMADYCACAAC1YAAkACQAJAAkACQCABQZcBaw4KAAEEBAQEBAIEAwQLIAAgAhA2NgIEQQEPCyAAIAIQNjYCCEEBDwsgACACEDY2AgxBAQ8LIAAgAhA2NgIQQQEPC0EACwwAIAAQzAIaIAAQLwsqACAAIAEoAgQ2AgQgACABKAIINgIIIAAgASgCDDYCDCAAIAEoAhA2AhALKQAgABDsAhogAEF/NgIkIABB4Ck2AgAgAEEANgIoIABBjMwANgIAIAALGgAgABCOBSAAQbApNgIAIABB4MoANgIAIAALIQAgABDBARogAEGAKTYCACAAQbzIADYCACAAQRBqEDoaCyEAIAAQjgUgAEF/NgIcIABBzCg2AgAgAEGwyQA2AgAgAAshACAAEJEFIABBfzYCDCAAQZgoNgIAIABBiMgANgIAIAALJQAgABBnIABBfzYCBCAAQegnNgIAIABBADYCCCAAQaTHADYCAAshACAAEJEFIABBADYCDCAAQbQnNgIAIABB1McANgIAIAALGgAgABDBARogAEHUJjYCACAAQYQnNgIAIAALKwAgABC/ASAAQYCAgPwDNgIwIABB9Ao2AgAgAEHslQE2AgAgAEE0ahBDGgsWACAAEGcgAEGoJjYCACAAQfwlNgIACwQAQQALKQAgABDBARogAEF/NgIQIABBnCU2AgAgAEEANgIUIABB1MYANgIAIAALNgEBfyMAQRBrIgMkACABQTdGBEAgAyACEKUCIABBBGogAxDpAiADEH8LIANBEGokACABQTdGCzoAIAAQoAUgAEEBOgBEIABBADYCQCAAQoCAgPwDNwI4IABBhCM2AgAgAEEANgJIIABBkJsBNgIAIAALOAEBfyAAEHUgAEH06NF7NgIwIABBwCI2AgAgAEE0ahCdBSEBIABBvJoBNgIAIAFBhJsBNgIAIAALDAAgABDyAhogABAvCywAIAAQ8wIaIABBtCI2AkQgAEHYITYCACAAQdyZATYCRCAAQYCZATYCACAACx4AIABBADYCDCAAQoCAgPwDNwIEIABBzCE2AgAgAAs6ACAAIAEqAjA4AjAgACABKgI0OAI0IAAgASoCODgCOCAAIAEqAjw4AjwgACABKgJAOAJAIAAgARBzCyQAIAAQdSAAQv////8PNwIwIABBsCA2AgAgAEGMlwE2AgAgAAsmACAAEL8BIABBAToALiAAQegfNgIAIABCADcCMCAAQeiZATYCAAsSACAA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CDYCAEHw4QEQWAtB7OEBKAIACyAAIAECfyMAQRBrIgAkACAAIAY2AgwgAEEMaiACKgIAEGIgAEEMaiADKgIAEGIgAEEMaiAEKgIAEGIgAEEMaiAFKgIAEGIgAEEQaiQAIAYLEAQgBkEgaiQACzkBAX8gACgCBCIEQQF1IAFqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEKAAugAQEDfyAAKAIIIQAjAEEQayIEJAACfwJAQZzhAS0AAEEBcQ0AQZzhARBZRQ0AIwBBEGsiBSQAQQNB8K4BEAMhBiAFQRBqJABBmOEBIAY2AgBBnOEBEFgLQZjhASgCAAsgACABAn8jAEEQayIAJAAgACAENgIMIABBDGogAioCABBiIABBDGogAyoCABBiIABBEGokACAECxAEIARBEGokAAslACAAQYiuATYCACAALQAEBEAgAEGIrAEQmAELIABBCGoQaiAAC0IBAX8gABDDBSAAQQA6AKQBIABBtBY2AgAgAEGoAWoiAUEANgIEIAFBlBg2AgAgAEG8/AA2AgAgAUG4/QA2AgAgAAsRACAAIAFBBGogASgCABD7AwslACAAQcirATYCACAALQAEBEAgAEGIrAEQmAELIABBCGoQaiAACzkBAX8gACgCBCIEQQF1IAFqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEFAAsOACAAKAIAEBwgACgCAAsdAQF/IwBBEGsiASQAIAEgADYCDCABQRBqJAAgAAs8AQF/IwBBEGsiAiQAIAIgASkCADcDCEGf4gEgAEECQci1AUHAqQFB+QkgAkEIahA7QQAQACACQRBqJAALCAAgACoChAELNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEDAAs8AQF/IwBBEGsiAiQAIAIgASkCADcDCEGD4gEgAEECQZC0AUHAqQFB4wkgAkEIahA7QQAQACACQRBqJAALPAEBfyMAQRBrIgIkACACIAEpAgA3AwhBtuEBIABBBkGAsAFBmLABQc0JIAJBCGoQO0EBEAAgAkEQaiQACxQAIAAEQCAAIAAoAgAoAiwRAQALCw4AQY3hASABIAIQCSAACw4AQbDhASABIAIQCSAACzwBAX8jAEEQ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AhAoAgA2ApgBIAIgAUGYAWoQoAMMAAsACyABKAIoKAIAIgBFDQEgABCqAkUNASADIAAQayAAKAI4KAKgASIHRQ0BIAEgCRArNgKgASABIAkQKjYCmAEDQCABQaABaiABQZgBahAsRQ0CAkAgASgCoAEoAgAiBkUNACAGEKoCRQ0AIAcgBigCFEcNACAGIAAQawsgAUGgAWoQLRoMAAsACyAAED8gBhCGBiADEEcaQQAhAgwECyABQShqEC0aDAALAAsgAUHQAGoQLRoMAAsACyAFELsBCyABQcABaiQAIAJB/wFxC5QDAQN/IwBBEGsiASQAIABBsIYBNgJoIABByIUBNgIAIAEgAEH8AGoiAxArNgIIIAEgAxAqNgIAA0AgAUEIaiABECxFBEACQCAALQDgAQ0AIAEgAEGIAWoiAhArNgIIIAEgAhAqNgIAA0AgAUEIaiABECxFBEAgASAAQZQBaiICECs2AgggASACECo2AgADQCABQQhqIAEQLEUNAyABKAIIKAIAIgIEQCACIAIoAgAoAgQRAQALIAFBCGoQLRoMAAsACyABKAIIKAIAIgIEQCACIAIoAgAoAgQRAQALIAFBCGoQLRoMAAsACyAAKALYASICBEAgAiACKAIAKAIEEQEACyAAKALUASICBEAgAiACKAIAKAIEEQEACyAAQcQBahA/IABBuAFqED8gAEGsAWoQPyAAQaABahA/IABBlAFqED8gAEGIAWoQPyADED8gAEHsAGoQjwYgABBHGiABQRBqJAAgAA8LIAEoAggoAgAiAiAARiACRXJFBEAgAiACKAIAKAIEEQEACyABQQhqEC0aDAALAAsuACAAQcSEATYCACAAQbQCahBHGiAAQfQBahBHGiAAQbQBahBHGiAAEJsBGiAAC0wBA38gABDtASAAQYweNgIAIABBxIQBNgIAIABBtAFqEH4hASAAQfQBahB+IQIgAEG0AmoQfiEDIAAgARBsIAAgAhBsIAAgAxBsIAALDQAgACgCACABQQZ0agsnACAAEKMDGiAAQYCAgPgDNgLIASAAQaQcNgIAIABB3IIBNgIAIAALCQAgAEEEahA/Cy4AIABBtIABNgIAIABB+AFqED8gAEG8AWoQrgIaIABBrAFqEI8GIAAQ9QIaIAALDwAgACAALQAAIAFyOgAAC3kBAX8gAEG8AWpBCEEBEGMaIwBBEGsiASQAIAEgAEGwAWoiABArNgIIIAEgABAqNgIAA0AgAUEIaiABECwEQCABKAIIKAIAIgAQoQMEQCAAKAJIIgAEQCAAIAAoAgAoAgQRAQALCyABQQhqEC0aDAELCyABQRBqJAALVwEBfyAAEOoDIABBxBo2AgAgAEGsAWoQ8AMgAEG0gAE2AgAgAEG8AWoiARB1IAFCADcCNCABIAA2AjAgAUGw+wA2AgAgAEH4AWoQOhogAEEAOgCEAiAACzcAIABBnP8ANgIAIABBiANqEEcaIABByAJqEEcaIABBiAJqEEcaIABByAFqEEcaIAAQmwEaIAALdAEEfyAAEO0BIABCADcCuAEgAEEBOgC0ASAAQawZNgIAIABCADcCwAEgAEGc/wA2AgAgAEHIAWoQfiEBIABBiAJqEH4hAiAAQcgCahB+IQMgAEGIA2oQfiEEIAAgARBsIAAgAhBsIAAgAxBsIAAgBBBsIAALDgAgAUEAQcAAEC4QfhoLEAAgACAAKAIAKAIAEQAAGgsuAQF/IAAoAgQhAgNAIAEgAkcEQCAAECkaIAJBQGoiAhCXBgwBCwsgACABNgIEC8gKAQ1/IwBBIGsiCCQAIAFBCBBUBEACQCAAQbwBaiIEEJoBIAAgACgCACgChAERAABGDQAgACAAKAIAKAKEAREAACEDAkAgAyAEEJoBIgJLBEAjAEEgayILJAACQCADIAJrIgkgBBApKAIAIAQoAgRrQQZ1TQRAIwBBEGsiAyQAIAMgBDYCACADIAQoAgQiAjYCBCADIAIgCUEGdGo2AgggAygCBCECA0AgAygCCCACRwRAIAQQKSADKAIEEJYGIAMgAygCBEFAayICNgIEDAELCyADEG4gA0EQaiQADAELIAQQKSEKIAtBCGohAwJ/IAQQmgEgCWohByMAQRBrIgUkACAFIAc2AgwCfyMAQRBrIgYkACAEECkaIAZB////HzYCDCAGQf////8HNgIIIAZBDGogBkEIahCoASgCACECIAZBEGokACACIAdPCwRAIAQQswEiBiACQQF2SQRAIAUgBkEBdDYCCCAFQQhqIAVBDGoQVigCACECCyAFQRBqJAAgAgwBCxB2AAshBSAEEJoBIQdBACECIwBBEGsiBiQAIAZBADYCDCADQQxqIAZBDGogChBIIAUEQCADKAIQGiAFQf///x9LBEAQRgALIAVBBnQQJyECCyADIAI2AgAgAyACIAdBBnRqIgc2AgggAyAHNgIEIAMQMSACIAVBBnRqNgIAIAZBEGokACMAQRBrIgIkACACIAMoAgg2AgAgAygCCCEFIAIgA0EIajYCCCACIAUgCUEGdGo2AgQgAigCACEFA0AgAigCBCAFRwRAIAMoAhAgAigCABCWBiACIAIoAgBBQGsiBTYCAAwBCwsgAhDdASACQRBqJAAgBBCbBiAEECkaIAQoAgAhCiAEKAIEIQkgA0EEaiIMIQcDQCAJIApHBEAgBygCAEFAaiICEGcgAkG4DDYCACACIAlBQGoiCSIFQQRqIgYpAgA3AgQgAiAGKAIINgIMIAYQ+QMgAiAFKAIQNgIQIAJBzIcBNgIAIAIgBSgCFDYCFCACQRhqIAVBGGoiBhApEKoDIQ0gAiAGKAIANgIYIAIgBigCBDYCHCAGECkoAgAhDiANECkgDjYCACAGEClBADYCACAGQgA3AgAgAiAFLwEsOwEsIAIgBSkCJDcCJCACQfgLNgIAIAJBuAs2AgAgAkGoEzYCACACIAUpAjA3AjAgAkHw+wA2AgAgAiAFKAI4NgI4IAJBvB02AgAgAiAFKgI8OAI8IAJB9IMBNgIAIAcgBygCAEFAajYCAAwBCwsgBCAMEDggBEEEaiADQQhqEDggBBApIAMQMRA4IAMgAygCBDYCACAEEJoBGiAEKAIAGiAEKAIAIAQQswFBBnRqGiAEKAIAIAQQswFBBnRqGiAEKAIAGiADKAIEIQIDQCACIAMoAghHBEAgAygCEBogAyADKAIIQUBqIgU2AgggBRCXBgwBCwsgAygCAARAIAMoAhAaIAMoAgAhAiADEDEoAgAgAygCAGsaIAIQLwsLIAtBIGokAAwBCyACIANLBEAgBCgCACADQQZ0aiEDIAQQmgEaIAQgAxCYBiAEKAIAGiAEKAIAIAQQswFBBnRqGiAEKAIAGiAEKAIAIAQQmgFBBnRqGgsLIABBmAFqIgMQzwEgCCAEECs2AhggCCAEECo2AhADQCAIQRhqIAhBEGoQLEUNASAIIAgoAhg2AgwgCEEMaiEEAkAgAygCBCADECkoAgBJBEAgAyAEEEkMAQsgAyAEEK8DCyAIQRhqEJoGDAALAAsgACAAKAIAKAKIAREBAAsgACABELQBIAhBIGokAAsPACAAIAAoAgBBQGs2AgALNQAgACgCABogACgCACAAELMBQQZ0ahogACgCACAAEJoBQQZ0ahogACgCACAAELMBQQZ0ahoLJgAgABC/ASAAQgA3AjAgAEGoEzYCACAAQQA2AjggAEHw+wA2AgALIwEBfyAAQagBaiIBKAIEBEAgASgCBEEIQQAQYxoLIAAQrQMLjgEBBH8CQCABQQgQVEUNACAAKAKsAUUNACAAKAKsASEEIwBBEGsiAiQAIAIgAEGYAWoiAxArNgIIIAIgAxAqNgIAIARByABqIQMDQCACQQhqIAIQLARAIAIoAggoAgAiBSADIAQoAmwgBSgCACgCQBEFACACQQhqEC0aDAEFIAJBEGokAAsLCyAAIAEQtAELFAAgACgCrAEEf0Go4AEFIAAQSwsLIAEBfyAAELEDIABBqAFqIgEoAgQEQCABKAIEIAAQawsLOwEBfwJAIAAgARBgIgENAEEBIQEgACgCFCICQQwgAigCACgCDBECAEUNACAAKAIUIAAQbEEAIQELIAELoQQBBX8jAEHgAGsiAiQAAkAgAUEIEFRFDQACQAJ/IAAoAjBBrAFqIQMjAEEQayIBJAAgASADLQAAOgAPIAEgA0EEaiIDECs2AgggASADECo2AgADfyABQQhqIAEQLAR/IAFBD2ogASgCCCgCACIDIAMoAgAoAkQRAAAQkQYgAUEIahAtGgwBBSABLQAPIQMgAUEQaiQAIAMLCyIEC0ECEGFBAkcNAAJAIAAoAjQiAUUEQCAAIAAoAjBBrAFqQQIQ6gE2AjQMAQsgASABKAIAKAIIEQEACyACQcgAaiAAKAIwEEsQuAEhASACQTBqEEMiAyABEG1FBEAgAxD2AQsgAiAAKAIwEK0CIgEQKzYCKCACIAEQKjYCIANAIAJBKGogAkEgahAsRQ0BIAIoAigoAgAhASACQQhqEEMiBSADIAEgASgCACgCYBEAABBQIAAoAjQiBiABKAKUASAFIAYoAgAoAhARBQAgAkEoahAtGgwACwALIARBBBBhQQRHDQACQCAAKAI4IgFFBEAgACAAKAIwQawBakEEEOoBNgI4DAELIAEgASgCACgCCBEBAAsgAiAAKAIwEK0CIgEQKzYCSCACIAEQKjYCMANAIAJByABqIAJBMGoQLEUNASACKAJIKAIAIgEgASgCACgCYBEAACEDIAAoAjgiBCABKAKUASADIAQoAgAoAhARBQAgAkHIAGoQLRoMAAsACyACQeAAaiQACwkAIAAQrgIQLwsfAAJAIAFBwAAQVEUNACAAKAKQASIARQ0AIAAQkgYLC78CAQl/IAAgARDpASIBRQRAIAAhAQJAA0AgASgCFCIBRQ0BIAEQ2wNFDQALIAAgATYCkAEjAEEQayIEJAAgBCAANgIMIARBDGohCAJAIAFB+AFqIgIoAgQgAhApKAIARwRAIAIgCBBJDAELIwBBIGsiCSQAIAIQKSIFAn8gAiACEDNBAWoQTSEDIAIQMyEKIwBBEGsiBiQAIAZBADYCDCAJQQhqIgBBDGogBkEMaiAFEEggAwRAIAAoAhAaIANB/////wNLBEAQRgALIANBAnQQJyEHCyAAIAc2AgAgACAHIApBAnRqIgU2AgggACAFNgIEIAAQMSAHIANBAnRqNgIAIAZBEGokACAAKAIICyAIEEogACAAKAIIQQRqNgIIIAIgABBRIAAQTCAJQSBqJAALIARBEGokAAsgAUUPCyABC0oAAkACQAJAAkAgAUHPAGsOAwABAgMLIAAgAhAwtjgCUEEBDwsgACACEDC2OAJUQQEPCyAAIAIQMLY4AlhBAQ8LIAAgASACEMwBCwgAIAAgARBgCwkAIAAQmwEQLwsiACABQQprQf//A3EiAEEaTQRAQZOAgCggAHZBAXEPC0EACwQAQSILBwAgACgCaAsWACAAKAJoIgAgASAAKAIAKAIMEQMACxQAIAAoAmgiACAAKAIAKAIgEQEACzEAIAAgASACIAMgBCAFIAYQwgMgACgCaCIAIAEgAiADIAQgBSAGIAAoAgAoAhwRCQALIQAgACABIAIQxQMgACgCaCIAIAEgAiAAKAIAKAIYEQgACyEAIAAgASACEMYDIAAoAmgiACABIAIgACgCACgCFBEIAAsZACAAEM0DIAAoAmgiACAAKAIAKAIIEQEACywAIAAgASACEMgDIAAoAmgiACABIAEoAgAoAiQRAAAgAiAAKAIAKAIQEQUACwkAIAAQvAMQLws8AQJ/QdwAECdBAEHcABAuEMEDIgIiASAAKgJQOAJQIAEgACoCVDgCVCABIAAqAlg4AlggASAAEOsBIAILRgACQAJAAkACQCABQdwAaw4DAAECAwsgACACEDY2AjBBAQ8LIAAgAhA2NgI0QQEPCyAAIAIQWjoAOEEBDwsgACABIAIQXAsxACABQQJGIAFB2wBGciABQQprIgBBHE1BAEEBIAB0QaeAgIABcRtyRQRAQQAPC0EBCwQAQQ8LCQAgABDPAxAvC+oCAgJ/CX0jAEEQayIDJAAgAUEIEFQEQCAAKgKoASEGIAAqArABIQQgACoCqAEhCCAAQbQBaiICIAAqAqQBQwAAAD+UIgkgACoCrAEgACoCpAGUkyIFEFsgAiAGQwAAAD+UIgcgBCAIlJMiBiAHkyIEEF8gAiADQQhqIAUgCUOJYg0/lCIIkyIKIAQQRRDuASACIANBCGogCCAFkiIIIAQQRRDvASAAQZQCaiICIAkgBZIiBBBbIAIgBhBfIAIgA0EIaiAEIAYgB0OJYg0/lCILkyIMEEUQ7gEgAiADQQhqIAQgCyAGkiIEEEUQ7wEgAEH0AmoiAiAFEFsgAiAHIAaSIgcQXyACIANBCGogCCAHEEUQ7gEgAiADQQhqIAogBxBFEO8BIABB1ANqIgIgBSAJkyIFEFsgAiAGEF8gAiADQQhqIAUgBBBFEO4BIAIgA0EIaiAFIAwQRRDvAQsgACABELQBIANBEGokAAuJAQEDfyMAQRBrIgQkACAAIAEgAhCmAyAAKAI4IQMgBEEIaiAAENQDEGUiBUEAECYqAgAgBUEBECYqAgAgAygCRCADKAJAIAEgAiADENUDEMsCIAQgABDTAxBlIgBBABAmKgIAIABBARAmKgIAIAMoAkwgAygCSCABIAIgAxDQARDLAiAEQRBqJAALDAAgAUHf/wNxQQpGCwQAQSoLTgEBfyMAQRBrIgEkACAAQcgAaiABQQhqIAAqAjAgACoCNBBFIAEgACoCUBDDASAAKgJUlCAAKgJQEMQBIAAqAlSUEEUQtgEgAUEQaiQAC04BAX8jAEEQayIBJAAgAEHIAGogAUEIaiAAKgIwIAAqAjQQRSABIAAqAlgQwwEgACoCXJQgACoCWBDEASAAKgJclBBFELYBIAFBEGokAAtNAQF/IwBBEGsiASQAIABBQGsgAUEIaiAAKgIwIAAqAjQQRSABIAAqAlAQwwEgACoCVJQgACoCUBDEASAAKgJUlBBFELYBIAFBEGokAAtOAQF/IwBBEGsiASQAIABByABqIAFBCGogACoCMCAAKgI0EEUgASAAKgJQEMMBIAAqAliUIAAqAlAQxAEgACoCWJQQRRC2ASABQRBqJAALCQAgABDXAxAvC68BAQJ/IwBBEGsiAiQAAkAgAUEIQcAAELUBEFRFDQAgACgCTCIBIAEoAgAoAggRAQAgACgCTCIBIAAoAjQgASgCACgCDBEDACACIABBPGoiARArNgIIIAIgARAqNgIAA0AgAkEIaiACECxFDQEgAigCCCgCACIBENkDRQRAIAAoAkwiAyABENoDKAI4QfjfASADKAIAKAIQEQUACyACQQhqEC0aDAALAAsgAkEQaiQAC1QBAn8jAEEQayIBJAAgASAAQTxqIgIQKzYCCCABIAIQKjYCAANAIAFBCGogARAsBEAgASgCCCgCABDaAyAAEGsgAUEIahAtGgwBBSABQRBqJAALCwtBAQF/AkAgACABEGAiAg0AQQEhAiABIAAoAjAgASgCACgCABECACIBRQ0AIAEQwgJFDQAgACABNgJIQQAhAgsgAgs9AQJ/QdAAECdBAEHQABAuIgEQ2AMhAiABIAAoAjA2AjAgASAAKAI0NgI0IAEgAC0AODoAOCABIAAQcyACC+AFAQ1/IwBBIGsiBCQAIAAoAhQhDCAEIAFB6ABrQQAgARsQiAQiARArNgIYIAQgARAqNgIQIABBPGohBQNAAkACQCAEQRhqIARBEGoQLARAIAQoAhgoAgAiAkUNAiACEMMCRQ0BIAIhAQNAIAFFDQIgASAMRgRAIwBBEGsiCSQAIAkgADYCDCAJQQxqIQoCQCACQZQBaiIDKAIEIAMQKSgCAEcEQCADIAoQSQwBCyMAQSBrIg0kACADECkiCwJ/IAMgAxAzQQFqEE0hBiADEDMhDkEAIQcjAEEQayIIJAAgCEEANgIMIA1BCGoiAUEMaiAIQQxqIAsQSCAGBEAgASgCEBogBkH/////A0sEQBBGAAsgBkECdBAnIQcLIAEgBzYCACABIAcgDkECdGoiCzYCCCABIAs2AgQgARAxIAcgBkECdGo2AgAgCEEQaiQAIAEoAggLIAoQSiABIAEoAghBBGo2AgggAyABEFEgARBMIA1BIGokAAsgCUEQaiQADAMFIAEoAhQhAQwBCwALAAsgABCfAjYCTCAEQSBqJABBAA8LIAIQ2wNFIAIgDEZyDQAgAiEBA0AgAUUNASAAKAJIIAFGBEAgBCACNgIMIAJBrAFqQQRBEBC1ARCRBiAEQQxqIQcCQCAFKAIEIAUQKSgCAEcEQCAFIAcQSQwBC0EAIQIjAEEgayIJJAAgBRApIggCfyAFIAUQM0EBahBNIQMgBRAzIQojAEEQayIGJAAgBkEANgIMIAlBCGoiAUEMaiAGQQxqIAgQSCADBEAgASgCEBogA0H/////A0sEQBBGAAsgA0ECdBAnIQILIAEgAjYCACABIAIgCkECdGoiCDYCCCABIAg2AgQgARAxIAIgA0ECdGo2AgAgBkEQaiQAIAEoAggLIAcQSiABIAEoAghBBGo2AgggBSABEFEgARBMIAlBIGokAAsFIAEoAhQhAQwBCwsLIARBGGoQLRoMAAsACw0AIAFBLUYgAUEKRnILBABBLQsiAQF/QRAQJyIBQgA3AwAgAUIANwMIIAAgARDBARDgA0EBC5kCAQN/IwBBIGsiAiQAIAIgACgCBEEQaiIBECs2AhggAiABECo2AhADfwJ/QQAgAkEYaiACQRBqECxFDQAaAkAgAigCGCgCACIBEL0BRQ0AIAEoAhBBf0YNACABIAAoAgggASgCEBCoAiIDNgIUIAMNAEEBDAELIAIgAUEEaiIBECs2AgggAiABECo2AgACfwNAIAJBCGogAhAsRQRAQQQhAUEADAILAkAgAigCCCgCACIBKAIEQQBIDQAgASgCBCAAKAIEQRBqEDNLDQAgASAAKAIEQRBqIAEoAgQQMigCADYCFCACQQhqEC0aDAELC0EBIQFBAQsEfyABQQJHQQF0BSACQRhqEC0aDAILCwshACACQSBqJAAgAAsOACAAKAIEQQAQnwRBAQukAQEDfyMAQRBrIgEkAAJAIAAoAgQQ4QNFDQAgASAAKAIEIgBBBGoiAhArNgIIIAEgAhAqNgIAIABBEGohAgNAIAFBCGogARAsRQ0BAkAgASgCCCgCACIAIgNBzgAgAygCACgCDBECAEUNACAAKAIkIgNBAEgNACACEDMgA00NACAAIAIgAxAyKAIANgIoCyABQQhqEC0aDAALAAsgAUEQaiQAQQALHAEBf0HAABAnQQBBwAAQLhDQAiIBIAAQ0wIgAQuLAQACQAJAAkACQAJAAkACQAJAAkAgAUHfAGsOBwABAgMEBQYHCyAAIAIQNjYCMAwHCyAAIAIQMLY4AjQMBgsgACACEDC2OAI4DAULIAAgAhAwtjgCPAwECyAAIAIQMLY4AkAMAwsgACACEDC2OAJEDAILIAAgAhAwtjgCSAwBCyAAIAEgAhBcDwtBAQsNACABQSxGIAFBCkZyCyABAX8gACgCACEBIABBADYCACABBEAgABBAIAEQ5wMLCwkAIAAQ6AMQLwvTAgEIfyMAQSBrIgEkACABIABBHGoiAhArNgIYIAEgAhAqNgIQIABBCGohAgNAIAFBGGogAUEQahAsBEAgASABKAIYKAIAIgcoAqwBNgIAIwBBEGsiBSQAIAVBCGoCfyMAQRBrIgMkACACEDEaIAEoAgAhBAJAAkAgAhBOIgZFDQAgAiAEIAYQPSIIEDIoAgAiAEUNAANAIAAoAgAiAEUNASAEIAAoAgRHBEAgACgCBCAGED0gCEcNAgsgBCAAKAIERw0AIAIQQSAAQQhqIAEQjwFFDQALIANBCGogABBCKAIAIQAMAQsgAxCWASIANgIICyADQRBqJAAgAAsQQigCACEAIAVBEGokACABIAA2AgggARCpATYCAAJAIAFBCGogARDWAUUNACABQQhqEHQoAgQiAEUNACAHIAAQ7gULIAFBGGoQLRoMAQsLIAFBIGokAEEACwsAIABBABDHAkEBCwQAQSwLCgAgACgCBBCJBgsxACABQQJGIAFB2wBGciABQQprIgBBHE1BAEEBIAB0QYOAgIABcRtyRQRAQQAPC0EBCxwBAX9BjAEQJ0EAQYwBEC4QlAIiASAAEIkDIAELIQAgAUHFAUYEQCAAIAIQNjYCrAFBAQ8LIAAgASACEKQFCzQAIAFBAkYgAUHbAGtBAklyIAFBCmsiAEEcTUEAQQEgAHRBi4CAgAFxG3JFBEBBAA8LQQELBQBB3AALKwAgAUHbAEYgAUEKayIAQR5NQQBBASAAdEGDgICAB3EbckUEQEEADwtBAQs2AAJAAkACQCABQfcAaw4CAAECCyAAIAIQNjYCMEEBDwsgACACEDY2AjRBAQ8LIAAgASACEFwLDQAgAUEwRiABQQpGcgsEAEEwCxwBAX9BxAAQJ0EAQcQAEC4QyAIiASAAENMCIAELHwAgAUH5AEYEQCAAIAIQNjYCMEEBDwsgACABIAIQXAsmACABQQprIgBB//8DcUEnTQRAQoOAgICAECAArYinQQFxDwtBAAsEAEExC2MBAn9B6AAQJ0EAQegAEC4Q6wMiAiIBIAAoAjA2AjAgASAAKgI0OAI0IAEgACoCODgCOCABIAAqAjw4AjwgASAAKgJAOAJAIAEgACoCRDgCRCABIAAqAkg4AkggASAAEHMgAgsaAQF/QTgQJ0EAQTgQLhDuAyIBIAAQjwIgAQsHACABQRdGCwQAQRcLEgBBBBAnIgBBADYCACAAEO8DC5IBAAJAAkACQAJAAkACQAJAAkACQCABQQdrDgYBAgMEBQYACyABQcQBRw0GIAAgAhBaOgBMDAcLIAAgAhAwtjgCUAwGCyAAIAIQMLY4AlQMBQsgACACEDC2OAJYDAQLIAAgAhAwtjgCXAwDCyAAIAIQMLY4AmAMAgsgACACEDC2OAJkDAELIAAgASACEPACDwtBAQsjACABQdsARiABQQtNQQBBASABdEGCGHEbckUEQEEADwtBAQt8AAJAAkACQAJAAkACQAJAAkAgAUHoAGsOBgABAgMEBQYLIAAgAhAwtjgCMAwGCyAAIAIQMLY4AjQMBQsgACACEDC2OAI4DAQLIAAgAhAwtjgCPAwDCyAAIAIQMLY4AkAMAgsgACACEDC2OAJEDAELIAAgASACEFwPC0EBC2QBAn9B5AEQJ0EAQeQBEC4Q8QMiAiIBIAAtAEw6AEwgASAAKgJQOAJQIAEgACoCVDgCVCABIAAqAlg4AlggASAAKgJcOAJcIAEgACoCYDgCYCABIAAqAmQ4AmQgASAAENcCIAILJQAgAUEKayIAQf//A3FBIU0EQEKDgICAICAArYinQQFxDwtBAAubBgIEfQd/IwBBQGoiCCQAIAhBOGogARBLIgpBBBAmKgIAIApBBRAmKgIAEEUhCSAIQTBqEDwhBgJAAkAgACgCOCIHRQRAIAYgCRDEAgwBCyAIQRhqIAcQSxC4ASEHIAAoAjxBAUYEQCAAKAI4EFUhCyAIEEMiDCALEG1FDQIgByAMIAcQUAsgB0EEECYqAgAhAiAGQQAQJiACOAIAIAdBBRAmKgIAIQIgBkEBECYgAjgCAAJAIAAtAFVFBEBDAAAAACECIAAoAkBBAUcEQCAJQQAQJioCACECCyAGQQAQJiACOAIADAELIAAqAkghAiAGQQAQJiIHIAIgByoCAJQ4AgAgAC0AVEUNACABIAEoAgAoAkwRBwAhAiAGQQAQJiIHIAIgByoCAJI4AgALAkAgAC0AZEUEQEMAAAAAIQIgACgCQEEBRwRAIAlBARAmKgIAIQILIAZBARAmIAI4AgAMAQsgACoCWCECIAZBARAmIgcgAiAHKgIAlDgCACAALQBURQ0AIAEgASgCACgCUBEHACECIAZBARAmIgcgAiAHKgIAkjgCAAsgACgCQEEBRw0AIAYgBiABEFUQcgsgACgCRCIHQQFGBEAgCEEYahBDIgsgARBVEG1FDQEgBiAGIAsQcgsCQCAALQBXRQ0AIAZBABAmKgIAIAAqAlBeRQ0AIAAqAlAhAiAGQQAQJiACOAIACwJAIAAtAFZFDQAgBkEAECYqAgAgACoCTF1FDQAgACoCTCECIAZBABAmIAI4AgALAkAgAC0AZkUNACAGQQEQJioCACAAKgJgXkUNACAAKgJgIQIgBkEBECYgAjgCAAsCQCAALQBlRQ0AIAZBARAmKgIAIAAqAlxdRQ0AIAAqAlwhAiAGQQEQJiACOAIACyAHQQFGBEAgBiAGIAEQVRByCyAAKgIwIQIgCUEAECYqAgAhAyAGQQAQJioCACEEIApBBBAmIANDAACAPyACkyIDlCACIASUkjgCACAJQQEQJioCACEEIAZBARAmKgIAIQUgCkEFECYgAyAElCACIAWUkjgCAAsgCEFAayQAC4IDAwV/An0BfCMAQTBrIgQkAAJAIAAoAjhFDQAgARBLIQIgBEEYaiAAKAI4EEsQuAEhAyAAKAI8QQFGBEAgACgCOBBVIQUgBBBDIgYgBRBtRQ0BIAMgBiADEFALIAAoAkBBAUYEQCADIAEQVSADEFALIABBxABqIAIQZiAAQdwAaiICIAMQZiAAKgJUQ9sPyUAQkgEhCAJAIAIqAhBD2w/JQBCSASAIkyIHuyIJRBgtRFT7IQlAZARAIAlEGC1EVPshGcCgtiEHDAELIAlEGC1EVPshCcBjRQ0AIAlEGC1EVPshGUCgtiEHCyACIAggByAAKgIwIgeUkhCGASACQwAAgD8gB5MiCCAAKgJElCAHIAIqAgCUkhDcASACIAggACoCSJQgByACKgIElJIQ2wEgAiAIIAAqAkyUIAcgAioCCJSSEIUBIAIgCCAAKgJQlCAHIAIqAgyUkhCEASACIAggACoCWJQgByACKgIUlJIQ2gEgARBLIAIQggELIARBMGokAAsEAEErCxcBAX8gACgCOCIBBEAgASAAKAIUEGsLC0EBAX8CQCAAIAEQYCICDQBBASECIAEgACgCNCABKAIAKAIAEQIAIgFFDQAgARD4AUUNACAAIAE2AjhBACECCyACC78FAgZ/An0jAEEwayIGJAAgARBLIQIgBkEYahBDIQMgAEHoAGoiBSACEGYCQAJAIAAoAjgiBEUEQCADIAIQtwEgAEGAAWogBRD9AwwBCyADIAQQSxC3ASAAKAI8QQFGBEAgBhBDIgIgACgCOBBVEG1FDQIgAyACIAMQUAsgAEGAAWoiAiADEGYCQCACAn0gAC0AVUUEQEMAAIA/IAAoAkBBAUYNARogBSoCCAwBCyACIAIqAgggACoCSJQQhQEgAC0AVEUNASACKgIIIAEqAlCUCxCFAQsCQCACAn0gAC0AZEUEQEMAAIA/IAAoAkBBAUYNARogBSoCDAwBCyACIAIqAgwgACoCWJQQhAEgAC0AVEUNASACKgIMIAEqAlSUCxCEAQsgACgCQEEBRw0AIAMgAhCCASADIAEQVSADEFAgAiADEGYLIAAoAkQiAkEBRgRAIAMgAEGAAWoiBBCCASAGEEMiByABEFUQbUUNASADIAcgAxBQIAQgAxBmCwJAIAAtAFdFDQAgAEGAAWoiBCoCCCAAKgJQXkUNACAEIAAqAlAQhQELAkAgAC0AVkUNACAAQYABaiIEKgIIIAAqAkxdRQ0AIAQgACoCTBCFAQsCQCAALQBmRQ0AIABBgAFqIgQqAgwgACoCYF5FDQAgBCAAKgJgEIQBCwJAIAAtAGVFDQAgAEGAAWoiBCoCDCAAKgJcXUUNACAEIAAqAlwQhAELIAJBAUYEQCADIABBgAFqIgIQggEgAyABEFUgAxBQIAIgAxBmCyAAKgIwIQggAEGAAWoiACAFKgIQEIYBIAAgBSoCABDcASAAIAUqAgQQ2wEgAEMAAIA/IAiTIgkgBSoCCJQgCCAAKgIIlJIQhQEgACAJIAUqAgyUIAggACoCDJSSEIQBIAAgBSoCFBDaASABEEsgABCCAQsgBkEwaiQAC+YEAwZ/AX0BfCMAQTBrIgYkACABEEshAyAGQRhqEEMhAiAAQdgAaiIEIAMQZgJAAkAgACgCOCIFRQRAIAIgAxC3ASAAQfAAaiAEEP0DDAELIAIgBRBLELcBIAAoAjxBAUYEQCAGEEMiAyAAKAI4EFUQbUUNAiACIAMgAhBQCyAAQfAAaiIDIAIQZgJAIAMCfSAALQBVRQRAQwAAAAAgACgCQEEBRg0BGiAEKgIQDAELIAMgAyoCECAAKgJIlBCGASAALQBURQ0BIAMqAhAgASoCTJILEIYBCyAAKAJAQQFHDQAgAiADEIIBIAIgARBVIAIQUCADIAIQZgsgACgCRCIDQQFGBEAgAiAAQfAAaiIFEIIBIAYQQyIHIAEQVRBtRQ0BIAIgByACEFAgBSACEGYLAkAgAC0AV0UNACAAQfAAaiIFKgIQIAAqAlBeRQ0AIAUgACoCUBCGAQsCQCAALQBWRQ0AIABB8ABqIgUqAhAgACoCTF1FDQAgBSAAKgJMEIYBCyADQQFGBEAgAiAAQfAAaiIDEIIBIAIgARBVIAIQUCADIAIQZgsgBCoCEEPbD8lAEJIBIQgCQCAAQfAAaiICKgIQQ9sPyUAQkgEgCJMiCLsiCUQYLURU+yEJQGQEQCAJRBgtRFT7IRnAoLYhCAwBCyAJRBgtRFT7IQnAY0UNACAJRBgtRFT7IRlAoLYhCAsgAiAEKgIQIAggACoCMJSSEIYBIAIgBCoCABDcASACIAQqAgQQ2wEgAiAEKgIIEIUBIAIgBCoCDBCEASACIAQqAhQQ2gEgARBLIAIQggELIAZBMGokAAsJACAAEIIEEC8LWQECf0H0ABAnQQBB9AAQLhD+AyICIgEgACoCMDgCMCABIAAqAjQ4AjQgASAAKgI4OAI4IAEgACoCPDgCPCABIAAqAkA4AkAgASAAKgJEOAJEIAEgABBzIAIL/AQDCH8CfQF8IwBBIGsiASQAAkAgACgCOEUNACABQRhqEDwhBSAAKAI4IAUQsgEgASAAQcQAaiIDECs2AhAgASADECo2AggCQAJAAkADQCABQRBqIAFBCGoQLARAIAEoAhAiBEEkaiIGIAQoAgQiAhBVEG0aIAIQ0AEiByAGIAIQSxBQIARBDGogBxBmIAFBEGoQgwQMAQUCQCADEHtBAWsiAg4CBAADCwsLIAAgA0EAEHwgA0EBEHwgBRCEBAwCC0EAIQQgAkEAIAJBAEobIQYgAyACEHwhBwNAIAQgBkYNAiAAIAMgBBB8IgIgByAFEIQEIAIoAgAhAiADEHtBAWshCANAIAggAkEBaiICTARAIARBAWohBAwCBSADIAIQfCIJQSRqIAkoAgQQVRBtGgwBCwALAAsACyADQQAQfCECIwBBQGoiBCQAIARBKGogAkEkahC4ASEHIARBIGoQPCEGIAIoAgQgBhCyASAEQRhqIAUQZSEFIARBEGoQPCIIIAUgBhBxIARBCGoQPCIFIAggBxDeAyACIAVBARAmKgIAIAVBABAmKgIAELwBIgoQ9wEgAiAKOAIIIARBQGskAAsgACoCMEMAAIA/Ww0AIAEgAxArNgIQIAEgAxAqNgIIA0AgAUEQaiABQQhqECxFDQEgASgCECIDKgIcQ9sPyUAQkgEhCwJAIAMqAghD2w/JQBCSASALkyIKuyIMRBgtRFT7IQlAZARAIAxEGC1EVPshGcCgtiEKDAELIAxEGC1EVPshCcBjRQ0AIAxEGC1EVPshGUCgtiEKCyADIAsgCiAAKgIwlJIQ9wEgAUEQahCDBAwACwALIAFBIGokAAtCAQJ/IAAQjgQgAEHEAGoiABB7QQFrIgJBACACQQBKGyECA0AgASACRwRAIAAgARB8KAIEEKcCIAFBAWohAQwBCwsLCAAgACoCpAEL2wsBDX8jAEEwayIFJABBAiECAkAgACgCFBDeAUUNACAAKAJAIQIgBSAAKAIUNgIsIAVBIGoQOiIIIAVBLGoQpgEDQCAFKAIsKAIUEN4BRSACQQFIckUEQCAFIAUoAiwoAhQiBDYCLCMAQRBrIgMkACADIAA2AgwgBEGUAWogA0EMahCmASADQRBqJAAgCCAFQSxqEKYBIAJBAWshAgwBCwsgCBAzIgwhAwJAIAMgAEHEAGoiDiIEEHsiAksEQCMAQSBrIg0kAAJAIAMgAmsiCiAEECkoAgAgBCgCBGtBPG1NBEAjAEEQayIDJAAgAyAENgIAIAMgBCgCBCICNgIEIAMgAiAKQTxsajYCCCADKAIEIQIDQCADKAIIIAJHBEAgBBApIAMoAgQQ/wMgAyADKAIEQTxqIgI2AgQMAQsLIAMQbiADQRBqJAAMAQsgBBApIQsgDUEIaiEDAn8gBBB7IApqIQkjAEEQayIGJAAgBiAJNgIMAn8jAEEQayIHJAAgBBApGiAHQcSIkSI2AgwgB0H/////BzYCCCAHQQxqIAdBCGoQqAEoAgAhAiAHQRBqJAAgAiAJTwsEQCAEEKIBIgcgAkEBdkkEQCAGIAdBAXQ2AgggBkEIaiAGQQxqEFYoAgAhAgsgBkEQaiQAIAIMAQsQdgALIQYgBBB7IQlBACECIwBBEGsiByQAIAdBADYCDCADQQxqIAdBDGogCxBIIAYEQCADKAIQGiAGQcSIkSJLBEAQRgALIAZBPGwQJyECCyADIAI2AgAgAyACIAlBPGxqIgk2AgggAyAJNgIEIAMQMSACIAZBPGxqNgIAIAdBEGokACMAQRBrIgIkACACIAMoAgg2AgAgAygCCCEGIAIgA0EIajYCCCACIAYgCkE8bGo2AgQgAigCACEGA0AgAigCBCAGRwRAIAMoAhAgAigCABD/AyACIAIoAgBBPGoiBjYCAAwBCwsgAhDdASACQRBqJAAgBBCBBCAEECkaIAQoAgAhCSAEKAIEIQcgA0EEaiILIQoDQCAHIAlHBEAgCigCAEE8ayICIAdBPGsiByIGKQIANwIAIAIgBigCCDYCCCACIAYqAgw4AgwgAiAGKgIQOAIQIAIgBioCFDgCFCACIAYqAhg4AhggAiAGKgIcOAIcIAIgBioCIDgCICACQSRqIAZBJGoQuAEaIAogCigCAEE8azYCAAwBCwsgBCALEDggBEEEaiADQQhqEDggBBApIAMQMRA4IAMgAygCBDYCACAEEHsaIAQoAgAaIAQoAgAgBBCiAUE8bGoaIAQoAgAgBBCiAUE8bGoaIAQoAgAaIAMoAgQhBANAIAQgAygCCEcEQCADKAIQGiADIAMoAghBPGs2AggMAQsLIAMoAgAEQCADKAIQGiADKAIAIQQgAxAxKAIAIAMoAgBrGiAEEC8LCyANQSBqJAAMAQsgAiADSwRAIAQoAgAgA0E8bGohAyAEEHsaIAQgAxCABCAEKAIAGiAEKAIAIAQQogFBPGxqGiAEKAIAGiAEKAIAIAQQe0E8bGoaCwsgBUEYaiAIEIsEQQAhAgNAIAVBEGogCBCKBCAFQRhqIAVBEGoQiQQEQCAOIAIQfCIDIAI2AgAgBUEYahCHBCgCACEEIANBADYCCCADIAQ2AgQgAkEBaiECIAVBHGoQyQIaDAEFIAAoAhQhBCAFIAFB6ABrQQAgARsQiAQiAxArNgIYIAUgAxAqNgIQIAxBASAMQQFKGyEGA0AgBUEYaiAFQRBqECxFBEAgACABEI8EIQIgCBA/DAQLAkAgBSgCGCgCACIDRQ0AIAMQ+AFFDQAgBSADNgIMQQEhAgNAIAIgBkYNAQJAIAggAhAyKAIAIAUoAgwoAhRHDQAgBSAIECsgCBAqIAVBDGoQygI2AgggBSAIECo2AgAgBUEIaiAFEIgCRQ0AIAQgBSgCDBBrCyACQQFqIQIMAAsACyAFQRhqEC0aDAALAAsACwALIAVBMGokACACC5YCAgJ9BX8jAEEgayIFJAACQCAAKAI4RQ0AIAVBGGoQPCEGIAAoAjggBhCyASABIAVBEGoQPCIHELIBIAVBCGoQPCIEIAcgBhBxIAQQjQEhAgJAAkACQAJAIAAoAkAOAgABAgsgACoCPCEDIAJDbxKDOl0NAyACIANdRQ0CDAMLIAAqAjwhAyACQ28SgzpdDQIgAiADXkUNAQwCCyACQ28SgzpdDQELIAQgBEMAAIA/IAKVENwDIAQgBCAAKgI8ENwDIAEQSyEIIAUQPCIBIAYgBBC2ASABIAcgASAAKgIwEIEBIAFBABAmKgIAIQIgCEEEECYgAjgCACABQQEQJioCACECIAhBBRAmIAI4AgALIAVBIGokAAsIACAAKgKgAQsPACAAIAAoAgAoAjwRAQALCwAgACgCFCAAEGsLPAEBfwJAIAAgARBgIgENAEEBIQEgACgCFCICQQ4gAigCACgCDBECAEUNACAAKAIUIAA2AjhBACEBCyABCzsAAkACQAJAIAFB2gBrDgIAAQILIAAgAhAwtjgCoAFBAQ8LIAAgAhAwtjgCpAFBAQ8LIAAgASACENEDC6sCAQh/IAAoAhQiAUErIAEoAgAoAgwRAgAEfyAAKAIUIQEjAEEQayIEJAAgBCAANgIMIARBDGohBwJAIAFB4ABqIgEoAgQgARApKAIARwRAIAEgBxBJDAELIwBBIGsiCCQAIAEQKSIFAn8gASABEDNBAWoQTSEDIAEQMyEJIwBBEGsiBiQAIAZBADYCDCAIQQhqIgBBDGogBkEMaiAFEEggAwRAIAAoAhAaIANB/////wNLBEAQRgALIANBAnQQJyECCyAAIAI2AgAgACACIAlBAnRqIgU2AgggACAFNgIEIAAQMSACIANBAnRqNgIAIAZBEGokACAAKAIICyAHEEogACAAKAIIQQRqNgIIIAEgABBRIAAQTCAIQSBqJAALIARBEGokAEEABUEBCwvZAQIBfQN/IwBBIGsiBSQAIAVBCGoQQyEDIAAqAjQhAiADQQAQJiACOAIAIAAqAjwhAiADQQEQJiACOAIAIAAqAjghAiADQQIQJiACOAIAQQMhBCAAKgJAIQIgA0EDECYgAjgCACAAKgJEIQIgA0EEECYgAjgCACAAKgJIIQIgA0EFECYgAjgCAAJAIABBzABqIAMQbUUNACAAIAEQYCIEDQBBASEEIAEgACgCMCABKAIAKAIAEQIAIgFFDQAgARDeAUUNACAAIAE2AmRBACEECyAFQSBqJAAgBAsUACAAKAJwIgAgACgCACgCABEBAAvkAQEDfyMAQSBrIgEkACABIABB4ABqIgMQKzYCGCABIAMQKjYCEANAIAFBGGogAUEQahAsBEAgASgCGCgCACgCZCICIAAQayABIAJBlAFqIgIQKzYCCCABIAIQKjYCAANAIAFBCGogARAsBEAgASgCCCgCACgCFCAAEGsgAUEIahAtGgwBBSABQRhqEC0aDAMLAAsACwsgAEF/IAMQM0EGbEEGaiIAQQJ0IABB/v///wNxIABHGxAnIgA2AmwgAEIANwIQIABCgICAgICAgMA/NwIIIABCgICA/AM3AgAgAUEgaiQAC44CAQR/IwBBMGsiASQAIAFBGGoQQyEEIAEgAEHgAGoiAxArNgIQIAEgAxAqNgIIQQYhBQNAIAFBEGogAUEIahAsBEAgBCABKAIQKAIAIgMoAmQQSyADQcwAahBQIARBABAmIQIgBUECdCIDIAAoAmxqIAIqAgA4AgAgBEEBECYhAiAAKAJsIANBBHJqIAIqAgA4AgAgBEECECYhAiADIAAoAmxqIAIqAgA4AgggBEEDECYhAiADIAAoAmxqIAIqAgA4AgwgBEEEECYhAiADIAAoAmxqIAIqAgA4AhAgBEEFECYhAiADIAAoAmxqIAIqAgA4AhQgBUEGaiEFIAFBEGoQLRoMAQUgAUEwaiQACwsLtAEBAX0gACoCMCECIABByABqIgFBABAmIAI4AgAgACoCOCECIAFBARAmIAI4AgAgACoCNCECIAFBAhAmIAI4AgAgACoCPCECIAFBAxAmIAI4AgAgACoCQCECIAFBBBAmIAI4AgAgACoCRCECIAFBBRAmIAI4AgAgACAAKAIUIgEgASgCACgCCBEAAEEQRgR/IAFBqAFqQQAgARsFQQALIgE2AnAgAQR/IAEgADYCBEEABUEBCwsJACAAEJEEEC8LCQAgACABEOkBCysAIAFB2wBGIAFBCmsiAEEfTUEAQQEgAHRBg4CAgH9xG3JFBEBBAA8LQQELBABBKAsJACAAEM0CEC8LBwBDAAAAAAsLACAAKAIUKgKEAQtRAQF/IwBBEGsiASQAIAEgAEGIAWoiABArNgIIIAEgABAqNgIAA0AgAUEIaiABECwEQCABKAIIKAIAEKcCIAFBCGoQLRoMAQUgAUEQaiQACwsLSAEBfyAAIAEQ6QEaIAAoAhQQ3gEEfyAAKAIUIQIjAEEQayIBJAAgASAANgIMIAJBiAFqIAFBDGoQpgEgAUEQaiQAQQAFQQELCxMAIAFFBEBBAQ8LIAEtAAxBAEcLGgAgAUUEQEEBDwsgAUE6IAEoAgAoAgwRAgALBABBKQt7AQF/IAFFBEBBAQ8LAkACQAJAAkACQAJAAkAgACgCCA4GAAECBAMFBgsgASoCDCAAKgIMWw8LIAEqAgwgACoCDFwPCyABKgIMIAAqAgxfDwsgASoCDCAAKgIMXQ8LIAEqAgwgACoCDGAPCyABKgIMIAAqAgxeIQILIAILEAAgAUUEQEEBDwsgARDhAgv1AgEIf0EBIQICQCABQTUQTyIDRQ0AQQIhAiAAKAIEQQBIDQAgACgCBCADKAIEEIcCTw0AIAAgAygCBCAAKAIEEPoBIAAoAgAoAiwRAgBFDQBBASECIAFBwQAQTyIBRQ0AIAEoAgQhAUEAIQIjAEEQayIEJAAgBCAANgIMIARBDGohBwJAIAFBGGoiASgCBCABECkoAgBHBEAgASAHEEkMAQsjAEEgayIIJAAgARApIgUCfyABIAEQM0EBahBNIQMgARAzIQkjAEEQayIGJAAgBkEANgIMIAhBCGoiAEEMaiAGQQxqIAUQSCADBEAgACgCEBogA0H/////A0sEQBBGAAsgA0ECdBAnIQILIAAgAjYCACAAIAIgCUECdGoiBTYCCCAAIAU2AgQgABAxIAIgA0ECdGo2AgAgBkEQaiQAIAAoAggLIAcQSiAAIAAoAghBBGo2AgggASAAEFEgABBMIAhBIGokAAsgBEEQaiQAQQAhAgsgAgsHACAALQAMCzcBAX9BASECAkAgAUUNACABLQAMBEAgACgCCEUNAQtBACECIAEtAAwNACAAKAIIQQFGIQILIAILGgAgAUUEQEEBDwsgAUE7IAEoAgAoAgwRAgALAwABCx8AQQAhAAJAIAFFDQAgARC9AUUNACABKAIUIQALIAALIQBBACEAAkAgAUUNACABKAIEEL0BRQ0AIAEQKSEACyAAC58CAQh/IAFBPBBPIgFFBEBBAQ8LIAEoAgQhASMAQRBrIgQkACAEIAA2AgwgBEEMaiEHAkAgAUEEaiIBKAIEIAEQKSgCAEcEQCABIAcQSQwBCyMAQSBrIggkACABECkiBQJ/IAEgARAzQQFqEE0hAyABEDMhCSMAQRBrIgYkACAGQQA2AgwgCEEIaiIAQQxqIAZBDGogBRBIIAMEQCAAKAIQGiADQf////8DSwRAEEYACyADQQJ0ECchAgsgACACNgIAIAAgAiAJQQJ0aiIFNgIIIAAgBTYCBCAAEDEgAiADQQJ0ajYCACAGQRBqJAAgACgCCAsgBxBKIAAgACgCCEEEajYCCCABIAAQUSAAEEwgCEEgaiQACyAEQRBqJABBAAtrAQF/IwBBEGsiAiQAIAIgAEEYaiIAECs2AgggAiAAECo2AgADQAJAIAJBCGogAhAsRQRAQQAhAAwBCyACKAIIKAIAIgAgASAAKAIAKAIcEQIAIgANACACQQhqEC0aDAELCyACQRBqJAAgAAtrAQF/IwBBEGsiAiQAIAIgAEEYaiIAECs2AgggAiAAECo2AgADQAJAIAJBCGogAhAsRQRAQQAhAAwBCyACKAIIKAIAIgAgASAAKAIAKAIYEQIAIgANACACQQhqEC0aDAELCyACQRBqJAAgAAsJACAAEMwCEC8LQAEBfyABQTUQTyIBRQRAQQEPCyABKAIEIQIjAEEQayIBJAAgASAANgIMIAJBEGogAUEMahCmASABQRBqJABBAAtrAQF/IwBBEGsiAiQAIAIgAEEQaiIAECs2AgggAiAAECo2AgADQAJAIAJBCGogAhAsRQRAQQAhAAwBCyACKAIIKAIAIgAgASAAKAIAKAIcEQIAIgANACACQQhqEC0aDAELCyACQRBqJAAgAAvVAQEEfyMAQRBrIgIkACACIABBEGoiAxArNgIIIAIgAxAqNgIAA0ACQCACQQhqIAIQLCIFRQ0AIAIoAggoAgAiAyABIAMoAgAoAhgRAgAiBA0AAkACQAJAAkAgAyADKAIAKAIIEQAAQT5rDgMAAQIDCyAAIAM2AhwMAgsgACADNgIgDAELIAAgAzYCJAsgAkEIahAtGgwBCwsCQCAFDQBBAiEEIAAoAhxFDQAgACgCIEUNACAAKAIkIQAgAkEQaiQAIABFQQF0DwsgAkEQaiQAIARB/wFxCwkAIAAQlwQQLwsxAQJ/A38gACgCECABTQR/IAIFIAIgACgCFCABQSxsai0AIGohAiABQQFqIQEMAQsLCyABAX8gASAAKAIISQR/IAAoAgwgAUECdGooAgAFQQALC6EEAQh/IABBADoABANAIAggACgCEEkEQAJ/IAAoAgwhBiAAKAIIGiAAKAIUIAhBLGxqIgNBADoAICADKAIIIgQEQCAEIAIgBiAEKAIAKAIIEQwACyADIAIQnQQCQCADKAIMIgRFDQAgAyoCGEMAAIA/XUUNACADLQAUDQAgBCACIAYgBCgCACgCCBEMAAtBACEEAkADQCAEQQBHIQVBACEHAn8CQCADKAIQIgpFDQAgAygCDEUNACAKKAIMRQ0AIAMqAhhDAACAP10hBwtBACAHDQAaIANBADoAIUEBIAMgAygCBCAGIAUQmwQNABogAyADKAIIIAYgBRCbBAshByADKAIkIgUEQCAFIAEgAyoCKCADKgIcENICIANBADYCJAsCQCADKAIMIgVFDQAgAyoCGEMAAIA/XUUNACAFIAEgAyoCHCAFKAIAKAIMEQoACyADKAIIIgUEQCAFIAEgAyoCGCAFKAIAKAIMEQoACyAHRQ0BIARB5ABHIQUgBEEBaiEEIAUNAAtB6NgAQSZB2NgBKAIAEPYCQQAMAQtBASEEAkAgAyoCGEMAAIA/XA0AIAMtACENAEEAIAMoAggiA0UNARogAyADKAIAKAIQEQAAIQQLIAQLBEAgAEEBOgAECyAIQQFqIQgMAQsLA0AgACgCCCAJSwRAIAAoAgwgCUECdGooAgAiASABKAIAKAIAEQEAIAlBAWohCQwBCwsgAC0ABAsJACAAQQA6AAwLFwAgAC0ADEUEQCAAQQE6AAwgABDOAgsLGQAgASAAKgIMXARAIAAgATgCDCAAEM4CCwsZACABIAAtAAxHBEAgACABOgAMIAAQzgILCwkAIAAoAggQQAs2AQJ/QagBECdBAEGoARAuEJwEIgIiASAAKgKgATgCoAEgASAAKgKkATgCpAEgASAAEIIFIAILHQAgAUE1EE8iAUUEQEEBDwsgASgCBCAAEJ8EQQALQAEBfyABQQEQTyIBBH8gASgCBCECIwBBEGsiASQAIAEgADYCDCACQZQBaiABQQxqEMkBIAFBEGokAEEABUEBCwvQAQEDfyMAQRBrIgIkACACIABBHGoiAxArNgIIIAIgAxAqNgIAA0ACQCACQQhqIAIQLCIERQ0AIAIoAggoAgAiAyABIAMoAgAoAhwRAgAiAw0AIAJBCGoQLRoMAQsLAkAgBEUEQCACIABBEGoiABArNgIIIAIgABAqNgIAA0AgAkEIaiACECxFBEBBACEDDAMLIAIoAggoAgAiACABIAAoAgAoAhwRAgAiAw0CIAJBCGoQLRoMAAsACyACQRBqJAAgA0H/AXEPCyACQRBqJAAgAwvQAQEDfyMAQRBrIgIkACACIABBHGoiAxArNgIIIAIgAxAqNgIAA0ACQCACQQhqIAIQLCIERQ0AIAIoAggoAgAiAyABIAMoAgAoAhgRAgAiAw0AIAJBCGoQLRoMAQsLAkAgBEUEQCACIABBEGoiABArNgIIIAIgABAqNgIAA0AgAkEIaiACECxFBEBBACEDDAMLIAIoAggoAgAiACABIAAoAgAoAhgRAgAiAw0CIAJBCGoQLRoMAAsACyACQRBqJAAgA0H/AXEPCyACQRBqJAAgAwsJACAAEKAEEC8LMgAgACgCOARAIAAtAEAEQCAAKAI4IAAqAjwgAZQQ/AEaCyAAKAI4IAIgACoCNBDiAQsLGgEBfyAAKAI4IgMEQCADIAIgACoCNBDiAQsLFgAgACABEKQEIAAgACgCACgCSBEBAAshAQF/IAAoAjgiAQRAIAEgASgCABD+ASAAKgI8lBDRAgsLvgIBCH8CQCAAIAEQYCIBDQBBAiEBIAAoAhQiAkHcACACKAIAKAIMEQIARQ0AIAAoAhQhASMAQRBrIgMkACADIAA2AgwgA0EMaiEHAkAgAUG0AWoiASgCBCABECkoAgBHBEAgASAHEEkMAQsjAEEgayIIJAAgARApIgQCfyABIAEQM0EBahBNIQIgARAzIQkjAEEQayIFJAAgBUEANgIMIAhBCGoiAEEMaiAFQQxqIAQQSCACBEAgACgCEBogAkH/////A0sEQBBGAAsgAkECdBAnIQYLIAAgBjYCACAAIAYgCUECdGoiBDYCCCAAIAQ2AgQgABAxIAYgAkECdGo2AgAgBUEQaiQAIAAoAggLIAcQSiAAIAAoAghBBGo2AgggASAAEFEgABBMIAhBIGokAAsgA0EQaiQAQQAhAQsgAQsHACAAKAIkC1cAAkACQAJAAkACQCABQe4Aaw4EAAECAwQLIAAgAhA2NgJAQQEPCyAAIAIQNjYCREEBDwsgACACEDY2AkhBAQ8LIAAgAhA2NgJMQQEPCyAAIAEgAhCjBAsHACAAKAIgC0ABAX8gAUEBEE8iAQR/IAEoAgQhAiMAQRBrIgEkACABIAA2AgwgAkGIAWogAUEMahDJASABQRBqJABBAAVBAQsLawEBfyMAQRBrIgIkACACIABBLGoiABArNgIIIAIgABAqNgIAA0ACQCACQQhqIAIQLEUEQEEAIQAMAQsgAigCCCgCACIAIAEgACgCACgCHBECACIADQAgAkEIahAtGgwBCwsgAkEQaiQAIAALawEBfyMAQRBrIgIkACACIABBLGoiABArNgIIIAIgABAqNgIAA0ACQCACQQhqIAIQLEUEQEEAIQAMAQsgAigCCCgCACIAIAEgACgCACgCGBECACIADQAgAkEIahAtGgwBCwsgAkEQaiQAIAALCQAgABCoBBAvCwsAQQgQJyAAEJMECyYAIAFBCmsiAEH//wNxQSRNBEBCgYCAgIADIACtiKdBAXEPC0EAC2sBAX8jAEEQayICJAAgAiAAQQRqIgAQKzYCCCACIAAQKjYCAANAAkAgAkEIaiACECxFBEBBACEADAELIAIoAggoAgAiACABIAAoAgAoAhwRAgAiAA0AIAJBCGoQLRoMAQsLIAJBEGokACAAC2sBAX8jAEEQayICJAAgAiAAQQRqIgAQKzYCCCACIAAQKjYCAANAAkAgAkEIaiACECxFBEBBACEADAELIAIoAggoAgAiACABIAAoAgAoAhgRAgAiAA0AIAJBCGoQLRoMAQsLIAJBEGokACAACwkAIAAQ/wEQLwsOACABIAIgACgCGBCuBAsEAEEuCw4AIAEgAiAAKAIYEK4ECwcAIAAqAlQLBwAgACoCUAsHACAAKgJMC0oBAX8gAyAAKgIUkyAEKgIUIAAqAhSTlSEDIAAoAhAiBgRAIAYgAxC9BCEDCyABIAIgBSAAKgIYIAMgBCoCGCAAKgIYk5SSELYECwcAIAAqAhgLEAAgASACIAMgACoCGBC2BAsHACAAKAIQC0UBAX8gAyAAKgIUkyAEKgIUIAAqAhSTlSEDIAAoAhAiBgRAIAYgAxC9BCEDCyABIAIgBSAAKAIYIAQoAhggAxDqBRC5BAsQACABIAIgAyAAKAIYELkECw4AIAEgAiAALQAYELoECwcAIAAtABgLRgECf0HgABAnQQBB4AAQLhC3BCICIgEgACgCQDYCQCABIAAoAkQ2AkQgASAAKAJINgJIIAEgACgCTDYCTCABIAAQ0wIgAgsOACABIAIgAC0AGBC6BAu0AgEIfyABQRoQTyIBRQRAQQEPCyAAIAAoAgSyIAEoAgQoAhCylTgCFCABKAIIIQEjAEEQayIEJAAgBCAANgIMIARBDGohBwJAIAFBCGoiASgCBCABECkoAgBHBEAgASAHEEkMAQsjAEEgayIIJAAgARApIgUCfyABIAEQM0EBahBNIQMgARAzIQkjAEEQayIGJAAgBkEANgIMIAhBCGoiAEEMaiAGQQxqIAUQSCADBEAgACgCEBogA0H/////A0sEQBBGAAsgA0ECdBAnIQILIAAgAjYCACAAIAIgCUECdGoiBTYCCCAAIAU2AgQgABAxIAIgA0ECdGo2AgAgBkEQaiQAIAAoAggLIAcQSiAAIAAoAghBBGo2AgggASAAEFEgABBMIAhBIGokAAsgBEEQaiQAQQALTAEBf0EBIQICQCAAKAIMQQFOBEAgASAAKAIMIAEoAgAoAgARAgAiAUUNASABQRwgASgCACgCDBECAEUNASAAIAE2AhALQQAhAgsgAgufAgEIfyABQRkQTyIBRQRAQQEPCyABKAIEIQEjAEEQayIEJAAgBCAANgIMIARBDGohBwJAIAFBCGoiASgCBCABECkoAgBHBEAgASAHEEkMAQsjAEEgayIIJAAgARApIgUCfyABIAEQM0EBahBNIQMgARAzIQkjAEEQayIGJAAgBkEANgIMIAhBCGoiAEEMaiAGQQxqIAUQSCADBEAgACgCEBogA0H/////A0sEQBBGAAsgA0ECdBAnIQILIAAgAjYCACAAIAIgCUECdGoiBTYCCCAAIAU2AgQgABAxIAIgA0ECdGo2AgAgBkEQaiQAIAAoAggLIAcQSiAAIAAoAghBBGo2AgggASAAEFEgABBMIAhBIGokAAsgBEEQaiQAQQALawEBfyMAQRBrIgIkACACIABBCGoiABArNgIIIAIgABAqNgIAA0ACQCACQQhqIAIQLEUEQEEAIQAMAQsgAigCCCgCACIAIAEgACgCACgCHBECACIADQAgAkEIahAtGgwBCwsgAkEQaiQAIAALawEBfyMAQRBrIgIkACACIABBCGoiABArNgIIIAIgABAqNgIAA0ACQCACQQhqIAIQLEUEQEEAIQAMAQsgAigCCCgCACIAIAEgACgCACgCGBECACIADQAgAkEIahAtGgwBCwsgAkEQaiQAIAALBwAgACoCFAsJACAAELsEEC8LnwIBCH8gAUEfEE8iAUUEQEEBDwsgASgCBCEBIwBBEGsiAyQAIAMgADYCDCADQQxqIQcCQCABQSxqIgEoAgQgARApKAIARwRAIAEgBxBJDAELIwBBIGsiCCQAIAEQKSIEAn8gASABEDNBAWoQTSECIAEQMyEJIwBBEGsiBSQAIAVBADYCDCAIQQhqIgBBDGogBUEMaiAEEEggAgRAIAAoAhAaIAJB/////wNLBEAQRgALIAJBAnQQJyEGCyAAIAY2AgAgACAGIAlBAnRqIgQ2AgggACAENgIEIAAQMSAGIAJBAnRqNgIAIAVBEGokACAAKAIICyAHEEogACAAKAIIQQRqNgIIIAEgABBRIAAQTCAIQSBqJAALIANBEGokAEEAC18BAX8jAEEQayICJAAgAiAAQQhqIgAQKzYCCCACIAAQKjYCAAN/IAJBCGogAhAsBH8gAigCCCgCACIAIAEgACgCACgCHBECABogAkEIahAtGgwBBSACQRBqJABBAAsLC4sBAQF/IwBBEGsiAiQAAkAgASAAKAIEIAEoAgAoAgARAgAEQCACIABBCGoiABArNgIIIAIgABAqNgIAA0AgAkEIaiACECxFBEBBACEADAMLIAIoAggoAgAiACABIAAoAgAoAhgRAgAiAA0CIAJBCGoQLRoMAAsACyACQRBqJABBAQ8LIAJBEGokACAACwkAIAAQvAQQLwsZACABQQEQTyIBBH8gASAAEMcCQQAFQQELCwcAIAAqAhALBwAgACoCCAs+AEEAIQEDfyABQQtGBH9BAAUgACABQQJ0aiABskPNzMw9lCAAKgIEIAAqAgwQgQI4AhQgAUEBaiEBDAELCwsVACAAKAIoIgBFBEBBAA8LIAAoAggLSAECfwJAIAFFDQACQAJAIAEoAgQiAiACKAIAKAIIEQAAQckAaw4EAQICAAILIAEgACgCKBC/BA8LIAEgACgCKBC/BCED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CyAEQX9HDQELIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwBCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAdBAkYNABogAiABKAIEawshBCADQSBqJAAgBAtCAQF/IwBBEGsiAyQAIAAoAjwgAacgAUIgiKcgAkH/AXEgA0EIahAVEPwCIQAgAykDCCEBIANBEGokAEJ/IAEgABsLCQAgACgCPBAYC48FAgZ+AX8gASABKAIAQQ9qQXBxIgFBEGo2AgAgAAJ8IAEpAwAhBCABKQMIIQUjAEEgayIAJAACQCAFQv///////////wCDIgNCgICAgICAwIA8fSADQoCAgICAgMD/wwB9VARAIAVCBIYgBEI8iIQhAyAEQv//////////D4MiBEKBgICAgICAgAhaBEAgA0KBgICAgICAgMAAfCECDAILIANCgICAgICAgIBAfSECIARCgICAgICAgIAIhUIAUg0BIAIgA0IBg3whAgwBCyAEUCADQoCAgICAgMD//wBUIANCgICAgICAwP//AFEbRQRAIAVCBIYgBEI8iIRC/////////wODQoCAgICAgID8/wCEIQIMAQtCgICAgICAgPj/ACECIANC////////v//DAFYNAEIAIQIgA0IwiKciAUGR9wBJDQAgBCECIAVC////////P4NCgICAgICAwACEIgMhBgJAIAFBgfcAayIIQcAAcQRAIAIgCEFAaq2GIQZCACECDAELIAhFDQAgBiAIrSIHhiACQcAAIAhrrYiEIQYgAiAHhiECCyAAIAI3AxAgACAGNwMYAkBBgfgAIAFrIgFBwABxBEAgAyABQUBqrYghBEIAIQMMAQsgAUUNACADQcAAIAFrrYYgBCABrSICiIQhBCADIAKIIQMLIAAgBDcDACAAIAM3AwggACkDCEIEhiAAKQMAIgRCPIiEIQIgACkDECAAKQMYhEIAUq0gBEL//////////w+DhCIEQoGAgICAgICACFoEQCACQgF8IQIMAQsgBEKAgICAgICAgAiFQgBSDQAgAkIBgyACfCECCyAAQSBqJAAgAiAFQoCAgICAgICAgH+DhL8LOQMAC6gXAxJ/An4BfCMAQbAEayIJJAAgCUEANgIsAn8gAb0iGEJ/VwRAQQEhEiABmiIBvSEYQbDYAQwBC0EBIRJB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CwAgAEG2ngEQmAELngIBBH8jAEEgayIHJAAgByACOAIYIAcgATgCHCAHIAM4AhQgByAEOAIQIAcgBTgCDCAHIAY4AgggACgCCCEAIwBBMGsiCCQAAn8CQEGk4QEtAABBAXENAEGk4QEQWUUNACMAQRBrIgkkAEEHQYCvARADIQogCUEQaiQAQaDhASAKNgIAQaThARBYC0Gg4QEoAgALIABBrp4BAn8jAEEQayIAJAAgACAINgIMIABBDGogB0EcaioCABBiIABBDGogB0EYaioCABBiIABBDGogB0EUaioCABBiIABBDGogB0EQaioCABBiIABBDGogB0EMaioCABBiIABBDGogB0EIaioCABBiIABBEGokACAICxAEIAhBMGokACAHQSBqJAALBABBEAsHACAAKgJwCzUBAX8jAEEQayIDJAAgAyACOAIIIAMgATgCDCAAQaeeASADQQxqIANBCGoQyQUgA0EQaiQACzUBAX8jAEEQayIDJAAgAyACOAIIIAMgATgCDCAAQaCeASADQQxqIANBCGoQyQUgA0EQaiQACx4AIAAgASABKAIAKAIkEQAAIAIgACgCACgCKBEFAAuSAQEDfyMAQRBrIgIkACACIAE2AgwgACgCCCEBIwBBEGsiACQAAn8CQEGU4QEtAABBAXENAEGU4QEQWUUNACMAQRBrIgMkAEECQeiuARADIQQgA0EQaiQAQZDhASAENgIAQZThARBYC0GQ4QEoAgALIAFBl54BIABBCGogAkEMahDFARAEIABBEGokACACQRBqJAALCwAgAEGJngEQmAELDAAgABDKBRogABAvC0EBAX8gACgCBCIIQQF1IAFqIQEgACgCACEAIAEgAiADIAQgBSAGIAcgCEEBcQR/IAEoAgAgAGooAgAFIAALEQkACzkBAX8gACgCBCIEQQF1IAFqIQEgACgCACEAIAEgAiADIARBAXEEfyABKAIAIABqKAIABSAACxEIAAuSAQEDfyMAQRBrIgIkACACIAE2AgwgACgCCCEBIwBBEGsiACQAAn8CQEGE4QEtAABBAXENAEGE4QEQWUUNACMAQRBrIgMkAEECQaysARADIQQgA0EQaiQAQYDhASAENgIAQYThARBYC0GA4QEoAgALIAFBzp0BIABBCGogAkEMahDFARAEIABBEGokACACQRBqJAALyAEBAn8jAEEQayIDJAAgAyACNgIIIAMgATYCDCAAKAIIIQAjAEEQayIBJAACfwJAQfzgAS0AAEEBcQ0AQfzgARBZRQ0AIwBBEGsiAiQAQQNBoKwBEAMhBCACQRBqJABB+OABIAQ2AgBB/OABEFgLQfjgASgCAAsgAEHFnQECfyMAQRBrIgAkACAAIAE2AgwgAEEMaiADQQxqKAIAEIoBIABBDGogA0EIaigCABCKASAAQRBqJAAgAQsQBCABQRBqJAAgA0EQaiQAC5wBAQN/IAAoAgghACMAQRBrIgMkAAJ/AkBB9OABLQAAQQFxDQBB9OABEFlFDQAjAEEQayICJABBAkGYrAEQAyEEIAJBEGokAEHw4AEgBDYCAEH04AEQWAtB8OABKAIACyAAQbudAQJ/IwBBEGsiACQAIAAgA0EIaiICNgIMIABBDGogARCDAxCKASAAQRBqJAAgAgsQBCADQRBqJAALCwAgAEGznQEQmAELCwAgAEGunQEQmAELDAAgABDNBRogABAvCywBAn9BsAEQJ0EAQbABEC4iARDLBSECIAEgAC0ApAE6AKQBIAEgABDhBSACCz8BAX8gACgCBCIHQQF1IAFqIQEgACgCACEAIAEgAiADIAQgBSAGIAdBAXEEfyABKAIAIABqKAIABSAACxEQAAs9AQF/IAAoAgQiBkEBdSABaiEBIAAoAgAhACABIAIgAyAEIAUgBkEBcQR/IAEoAgAgAGooAgAFIAALEQ8ACw8AIAEgACgCAGogAjgCAAsNACABIAAoAgBqKgIACxgBAX9BEBAnIgBCADcCACAAQgA3AgggAAsGACAAEDsLBgBB5eABCwYAQa3iAQsGAEGr4gELBgBBqeIBCw8AIABBACAAEPkBQTpGGwsPACAAQQAgABD5AUE4RhsLDwAgAEEAIAAQ+QFBO0YbCwcAIAAvAQALUQECfyMAQRBrIgIkACAAKAIAIQMgAiABIAAoAgQiAEEBdWoiASAAQQFxBH8gASgCACADaigCAAUgAwsRAAA7AQ4gAi8BDiEAIAJBEGokACAACwYAQaPiAQvNAQECfwJAAkACfwNAAkACQCABKAIQIANLBH8gASgCFCADQSxsai0AIEUNAiACIARHDQECf0EAIAEoAhQgA0EsbGooAggiAUUNABogASgCBAsFQQALDAMLIARBAWohBAsgA0EBaiEDDAALAAsiAUUNAAJAAkACQAJAIAEgASgCACgCCBEAAEE9aw4EAAMBAgQLIAAgASgCFBBAEK8FDAQLIABB3LUBEKsBDAMLIABB4rUBEKsBDAILIABB57UBEKsBDAELIABB67UBEKsBCwuYBAIFfwF+QRgQJyEDIAAoAgAhBEEAIQAgA0EAOgAEIAMgBDYCACADIAQQhwIiATYCCCADQX8gAUECdCABIAFB/////wNxRxsQJzYCDAN/IAAgAU8EfyADIARBEGoQMyIANgIQQX9BfyAArUIsfiIGpyIBQQRqIgIgASACSxsgBkIgiKcbECciASAANgIAIAFBBGohASAABEAgASAAQSxsaiECIAEhAANAIABCADcCACAAQgA3AiQgAEEAOwEgIABCgICA/IOAgMA/NwIYIABCADcADSAAQgA3AgggAEEsaiIAIAJHDQALCyADIAE2AhRBAAVBACEBAkAgBCAAEPoBIgJFDQACQAJAAkAgAiACKAIAKAIIEQAAQThrDgQBAwIAAwtBEBAnIgEgAiADEM8CIAFBtNgANgIAIAEgAi0AEDoADAwCC0EQECciASACIAMQzwIgAUHI2AA2AgAgASACKgIQOAIMDAELQRAQJyIBIAIgAxDPAiABQQA6AAwgAUHc2AA2AgALIAMoAgwgAEECdGogATYCACAAQQFqIQAgAygCCCEBDAELCyEAA0AgAygCECAASwRAIAMoAhQgAEEsbGohASAEQRBqIgIQMyAASwR/IAIgABAyKAIABUEACyICKAIcIgUgBSgCACgCJBEAACEFIAEgAjYCACABIAU2AgQgASACKAIgEJ4EGiAAQQFqIQAMAQsLIAML0gEBBH8gAARAAkADQCAAKAIMIQIgACgCCCABTQRAIAIEQCACEC8LIAAoAhQiAgRAIAJBBGsiBCgCACIBBEAgAiABQSxsaiEBA0AgAUEsayIBKAIEIgMEQCADIAMoAgAoAgQRAQALIAEoAggiAwRAIAMgAygCACgCBBEBAAsgASgCDCIDBEAgAyADKAIAKAIEEQEACyABIAJHDQALCyAEEC8LDAILIAIgAUECdGooAgAiAgRAIAIgAigCACgCCBEBAAsgAUEBaiEBDAALAAsLIAAQLwsGAEGf4gELBgBBneIBCwgAIAAqAogBCw4AQSAQJyAAKAIAEP0BCwYAQZri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AAAAAgAAAAIAAAACAAAA/////wMAAAADAAAAAgBBoI0BCxUCAAAA////////////////AgAAAAIAQciNAQsN/////wAAAAD/////AQBB4I0BCwECAEH0jQELDQIAAAACAAAAAgAAAAIAQZCOAQtVAgAAAP//////////////////////////////////////////AgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAwAAAAIAAAACAAAAAgBB+I4BCxUCAAAAAgAAAAIAAAACAAAAAgAAAAIAQZiPAQsVAgAAAAIAAAACAAAAAgAAAAIAAAACAEHAjwELFAIAAAACAAAAAgAAAAAAAAD/////AEHkjwELEQIAAAACAAAAAAAAAAIAAAACAEGAkAELhQH//////////////////////////////////////////wEAAAD/////AgAAAAAAAAD/////////////////////////////////////AAAAAP////8AAAAAAAAAAP//////////AAAAAAAAAAACAAAAAAAAAP////8AAAAAAgAAAAIAAAACAEGQkQELAQIAQZyRAQsN//////////8AAAAAAgBBuJEBCwX/////AgBB0JEBCxUCAAAAAgAAAAIAAAACAAAAAgAAAAIAQZSSAQssAgAAAAIAAAAAAAAAAgAAAAAAgL8AAIC/AAAAAAAAgL8AAIA/AACAvwAAgL8AQc6SAQvVAYA/AAAAAAAAgL8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAAAA1wMAANgDAABCAwAAQwMAAEQDAADZAwAABwAAANoDAADbAwAACgAAAAsAAAAMAAAADQAAANwDAAAPAAAAEAAAABEAAAASAAAAEwAAAKkAAACqAAAAqwAAAKwAAADXAAAA2AAAAN0DAABGAwAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBBrJQBC1kBAAAA3gMAAEkDAABKAwAASwMAAL8AAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAqQAAAKoAAACrAAAArABBkJUBC1EBAAAA3wMAAB4AAAAfAAAAGQAAABoAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABQAQeyVAQs9HAAAAOADAAAoAAAAKQAAACoAAAAaAAAABwAAACAAAAAJAAAACgAAAAsAAAAhAAAADQAAACIAAAAPAAAAIwBBtJYBC03yAAAA4QMAAPQAAAD1AAAA9gAAAPcAAAAHAAAA+AAAAAkAAAAKAAAACwAAACEAAAANAAAAIgAAAPkAAAD6AAAA4gMAAOMDAADkAwAA/ABBjJcBCz4cAAAA5QMAAAIBAAADAQAABAEAAAUBAADmAwAAIAAAAAkAAAAKAAAACwAAACEAAAANAAAAIgAAAOcDAADoAwBB1JcBC6MBEgEAAOoDAAAJAQAACgEAAAsBAAAMAQAAFwEAACAAAAAJAAAACgAAAAsAAAAYAQAADQAAABkBAAAaAQAAGwEAABwBAAAdAQAAHgEAAB8BAAAgAQAAvP///wAAAAAhAQAAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBBgJkBC14SAQAA6wMAABQBAAAVAQAACwEAABYBAAAXAQAAIAAAAAkAAAAKAAAACwAAABgBAAANAAAAGQEAABoBAAAbAQAAHAEAAB0BAAAeAQAAHwEAAOwDAAC8////AAAAACEBAEHomQELSfIAAADtAwAA/gAAAP8AAAAAAQAAGgAAAAcAAAD4AAAACQAAAAoAAAALAAAAIQAAAA0AAAAiAAAA+QAAAPoAAAD7AAAAFAAAABQAQbyaAQtKHAAAAO4DAAAjAQAAJAEAACUBAAAmAQAA7wMAACAAAAAJAAAACgAAAAsAAAAhAAAADQAAACIAAADwAwAA8QMAAMz///8AAAAA8gMAQZCbAQta8gAAAPMDAAApAQAAKgEAACsBAAAsAQAABwAAAPgAAAAJAAAACgAAAAsAAAAhAAAADQAAACIAAAD0AwAA+gAAAPUDAAD2AwAA9wMAAPgDAAD5AwAA+gMAADABAEH0mwELXvsDAAD8AwAAMgEAADMBAAA0AQAANQEAAAcAAAD9AwAACQAAAAoAAAALAAAAIQAAAA0AAAAiAAAA/gMAAP8DAAAABAAAAQQAAAIEAAADBAAAwP///wAAAAAEBAAABQQAQdycAQu2DRQAAAAUAAAAcmVuZGVyRmFjdG9yeQBtYWtlUmVuZGVyUGFpbnQAbWFrZVJlbmRlclBhdGgAYnl0ZUxlbmd0aABzZXQAbG9hZABSZW5kZXJlcgBzYXZlAHJlc3RvcmUAdHJhbnNmb3JtAGRyYXdQYXRoAGNsaXBQYXRoAGFsaWduAGNvbXB1dGVBbGlnbm1lbnQAUmVuZGVyZXJXcmFwcGVyAFJlbmRlclBhdGgAcmVzZXQAYWRkUGF0aABmaWxsUnVsZQBtb3ZlVG8AbGluZVRvAGN1YmljVG8AY2xvc2UAUmVuZGVyUGF0aFdyYXBwZXIAUmVuZGVyUGFpbnRTdHlsZQBmaWxsAHN0cm9rZQBGaWxsUnVsZQBub25aZXJvAGV2ZW5PZGQAU3Ryb2tlQ2FwAGJ1dHQAcm91bmQAc3F1YXJlAFN0cm9rZUpvaW4AbWl0ZXIAYmV2ZWwAQmxlbmRNb2RlAHNyY092ZXIAc2NyZWVuAG92ZXJsYXkAZGFya2VuAGxpZ2h0ZW4AY29sb3JEb2RnZQBjb2xvckJ1cm4AaGFyZExpZ2h0AHNvZnRMaWdodABkaWZmZXJlbmNlAGV4Y2x1c2lvbgBtdWx0aXBseQBodWUAc2F0dXJhdGlvbgBjb2xvcgBsdW1pbm9zaXR5AFJlbmRlclBhaW50AHN0eWxlAHRoaWNrbmVzcwBqb2luAGNhcABibGVuZE1vZGUAbGluZWFyR3JhZGllbnQAcmFkaWFsR3JhZGllbnQAYWRkU3RvcABjb21wbGV0ZUdyYWRpZW50AFJlbmRlclBhaW50V3JhcHBlcgBNYXQyRAB4eAB4eQB5eAB5eQB0eAB0eQBpbnZlcnQARmlsZQBkZWZhdWx0QXJ0Ym9hcmQAYXJ0Ym9hcmRCeU5hbWUAYXJ0Ym9hcmRCeUluZGV4AGFydGJvYXJkQ291bnQAQXJ0Ym9hcmQAbmFtZQBhZHZhbmNlAGRyYXcAdHJhbnNmb3JtQ29tcG9uZW50AG5vZGUAYm9uZQByb290Qm9uZQBhbmltYXRpb25CeUluZGV4AGFuaW1hdGlvbkJ5TmFtZQBhbmltYXRpb25Db3VudABzdGF0ZU1hY2hpbmVCeUluZGV4AHN0YXRlTWFjaGluZUJ5TmFtZQBzdGF0ZU1hY2hpbmVDb3VudABib3VuZHMAaW5zdGFuY2UAZnJhbWVPcmlnaW4AVHJhbnNmb3JtQ29tcG9uZW50AHNjYWxlWABzY2FsZVkAcm90YXRpb24Ad29ybGRUcmFuc2Zvcm0AcGFyZW50V29ybGRUcmFuc2Zvcm0ATm9kZQB4AHkAQm9uZQBsZW5ndGgAUm9vdEJvbmUAQW5pbWF0aW9uAExpbmVhckFuaW1hdGlvbgBkdXJhdGlvbgBmcHMAd29ya1N0YXJ0AHdvcmtFbmQAZW5hYmxlV29ya0FyZWEAbG9vcFZhbHVlAHNwZWVkAGFwcGx5AExpbmVhckFuaW1hdGlvbkluc3RhbmNlAHRpbWUAZGlkTG9vcABTdGF0ZU1hY2hpbmUAU3RhdGVNYWNoaW5lSW5zdGFuY2UAaW5wdXRDb3VudABpbnB1dABzdGF0ZUNoYW5nZWRDb3VudABzdGF0ZUNoYW5nZWROYW1lQnlJbmRleABTTUlJbnB1dAB0eXBlAGJvb2wAADsAbnVtYmVyAAA4AHRyaWdnZXIAOgBhc0Jvb2wAYXNOdW1iZXIAYXNUcmlnZ2VyAFNNSUJvb2wAdmFsdWUAU01JTnVtYmVyAFNNSVRyaWdnZXIAZmlyZQBGaXQAY29udGFpbgBjb3ZlcgBmaXRXaWR0aABmaXRIZWlnaHQAbm9uZQBzY2FsZURvd24AQWxpZ25tZW50AHRvcExlZnQAdG9wQ2VudGVyAHRvcFJpZ2h0AGNlbnRlckxlZnQAY2VudGVyAGNlbnRlclJpZ2h0AGJvdHRvbUxlZnQAYm90dG9tQ2VudGVyAGJvdHRvbVJpZ2h0AEFBQkIAbWluWABtaW5ZAG1heFgAbWF4WQAAAExwAABNcAAATnAAAE9wAABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAFxwAABMcAAAXXAAAExwAABpaWkAaWkAdgB2aQBccAAAYnAAAHZpaQBccAAAYnAAAGNwAAB2aWlpAAAAAAAAAABccAAAYnAAAE5wAABNcAAAdmlpaWkAAABccAAAYnAAAE5wAEGgqgELelxwAABfcAAAZHAAAGVwAABmcAAAZnAAAHZpaWlpaWkAXHAAAF9wAABjcAAAZHAA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\";\n\nif (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n var binary = tryParseAsDataURI(file);\n if (binary) {\n return binary;\n }\n if (readBinary) {\n return readBinary(file);\n } else {\n throw \"both async and sync fetching of the wasm failed\";\n }\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise() {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch === \"function\" && !isFileURI(wasmBinaryFile)) {\n return fetch(wasmBinaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + wasmBinaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(wasmBinaryFile);\n });\n } else {\n if (readAsync) {\n return new Promise(function(resolve, reject) {\n readAsync(wasmBinaryFile, function(response) {\n resolve(new Uint8Array(response));\n }, reject);\n });\n }\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(wasmBinaryFile);\n });\n}\n\nfunction createWasm() {\n var info = {\n \"a\": asmLibraryArg\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"M\"];\n updateGlobalBufferAndViews(wasmMemory.buffer);\n wasmTable = Module[\"asm\"][\"O\"];\n addOnInit(Module[\"asm\"][\"N\"]);\n removeRunDependency(\"wasm-instantiate\");\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiatedSource(output) {\n receiveInstance(output[\"instance\"]);\n }\n function instantiateArrayBuffer(receiver) {\n return getBinaryPromise().then(function(binary) {\n var result = WebAssembly.instantiate(binary, info);\n return result;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync() {\n if (!wasmBinary && typeof WebAssembly.instantiateStreaming === \"function\" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && typeof fetch === \"function\") {\n return fetch(wasmBinaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, info);\n return result.then(receiveInstantiatedSource, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(receiveInstantiatedSource);\n });\n });\n } else {\n return instantiateArrayBuffer(receiveInstantiatedSource);\n }\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n var exports = Module[\"instantiateWasm\"](info, receiveInstance);\n return exports;\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n return false;\n }\n }\n instantiateAsync().catch(readyPromiseReject);\n return {};\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n var callback = callbacks.shift();\n if (typeof callback == \"function\") {\n callback(Module);\n continue;\n }\n var func = callback.func;\n if (typeof func === \"number\") {\n if (callback.arg === undefined) {\n wasmTable.get(func)();\n } else {\n wasmTable.get(func)(callback.arg);\n }\n } else {\n func(callback.arg === undefined ? null : callback.arg);\n }\n }\n}\n\nvar char_0 = 48;\n\nvar char_9 = 57;\n\nfunction makeLegalFunctionName(name) {\n if (undefined === name) {\n return \"_unknown\";\n }\n name = name.replace(/[^a-zA-Z0-9_]/g, \"$\");\n var f = name.charCodeAt(0);\n if (f >= char_0 && f <= char_9) {\n return \"_\" + name;\n } else {\n return name;\n }\n}\n\nfunction createNamedFunction(name, body) {\n name = makeLegalFunctionName(name);\n return new Function(\"body\", \"return function \" + name + \"() {\\n\" + ' \"use strict\";' + \" return body.apply(this, arguments);\\n\" + \"};\\n\")(body);\n}\n\nvar emval_free_list = [];\n\nvar emval_handle_array = [ {}, {\n value: undefined\n}, {\n value: null\n}, {\n value: true\n}, {\n value: false\n} ];\n\nfunction count_emval_handles() {\n var count = 0;\n for (var i = 5; i < emval_handle_array.length; ++i) {\n if (emval_handle_array[i] !== undefined) {\n ++count;\n }\n }\n return count;\n}\n\nfunction get_first_emval() {\n for (var i = 5; i < emval_handle_array.length; ++i) {\n if (emval_handle_array[i] !== undefined) {\n return emval_handle_array[i];\n }\n }\n return null;\n}\n\nfunction init_emval() {\n Module[\"count_emval_handles\"] = count_emval_handles;\n Module[\"get_first_emval\"] = get_first_emval;\n}\n\nfunction __emval_register(value) {\n switch (value) {\n case undefined:\n {\n return 1;\n }\n\n case null:\n {\n return 2;\n }\n\n case true:\n {\n return 3;\n }\n\n case false:\n {\n return 4;\n }\n\n default:\n {\n var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;\n emval_handle_array[handle] = {\n refcount: 1,\n value: value\n };\n return handle;\n }\n }\n}\n\nfunction extendError(baseErrorType, errorName) {\n var errorClass = createNamedFunction(errorName, function(message) {\n this.name = errorName;\n this.message = message;\n var stack = new Error(message).stack;\n if (stack !== undefined) {\n this.stack = this.toString() + \"\\n\" + stack.replace(/^Error(:[^\\n]*)?\\n/, \"\");\n }\n });\n errorClass.prototype = Object.create(baseErrorType.prototype);\n errorClass.prototype.constructor = errorClass;\n errorClass.prototype.toString = function() {\n if (this.message === undefined) {\n return this.name;\n } else {\n return this.name + \": \" + this.message;\n }\n };\n return errorClass;\n}\n\nvar PureVirtualError = undefined;\n\nfunction embind_init_charCodes() {\n var codes = new Array(256);\n for (var i = 0; i < 256; ++i) {\n codes[i] = String.fromCharCode(i);\n }\n embind_charCodes = codes;\n}\n\nvar embind_charCodes = undefined;\n\nfunction readLatin1String(ptr) {\n var ret = \"\";\n var c = ptr;\n while (HEAPU8[c]) {\n ret += embind_charCodes[HEAPU8[c++]];\n }\n return ret;\n}\n\nfunction getInheritedInstanceCount() {\n return Object.keys(registeredInstances).length;\n}\n\nfunction getLiveInheritedInstances() {\n var rv = [];\n for (var k in registeredInstances) {\n if (registeredInstances.hasOwnProperty(k)) {\n rv.push(registeredInstances[k]);\n }\n }\n return rv;\n}\n\nvar deletionQueue = [];\n\nfunction flushPendingDeletes() {\n while (deletionQueue.length) {\n var obj = deletionQueue.pop();\n obj.$$.deleteScheduled = false;\n obj[\"delete\"]();\n }\n}\n\nvar delayFunction = undefined;\n\nfunction setDelayFunction(fn) {\n delayFunction = fn;\n if (deletionQueue.length && delayFunction) {\n delayFunction(flushPendingDeletes);\n }\n}\n\nfunction init_embind() {\n Module[\"getInheritedInstanceCount\"] = getInheritedInstanceCount;\n Module[\"getLiveInheritedInstances\"] = getLiveInheritedInstances;\n Module[\"flushPendingDeletes\"] = flushPendingDeletes;\n Module[\"setDelayFunction\"] = setDelayFunction;\n}\n\nvar registeredInstances = {};\n\nvar BindingError = undefined;\n\nfunction throwBindingError(message) {\n throw new BindingError(message);\n}\n\nfunction getBasestPointer(class_, ptr) {\n if (ptr === undefined) {\n throwBindingError(\"ptr should not be undefined\");\n }\n while (class_.baseClass) {\n ptr = class_.upcast(ptr);\n class_ = class_.baseClass;\n }\n return ptr;\n}\n\nfunction registerInheritedInstance(class_, ptr, instance) {\n ptr = getBasestPointer(class_, ptr);\n if (registeredInstances.hasOwnProperty(ptr)) {\n throwBindingError(\"Tried to register registered instance: \" + ptr);\n } else {\n registeredInstances[ptr] = instance;\n }\n}\n\nfunction requireHandle(handle) {\n if (!handle) {\n throwBindingError(\"Cannot use deleted val. handle = \" + handle);\n }\n return emval_handle_array[handle].value;\n}\n\nvar registeredTypes = {};\n\nfunction getTypeName(type) {\n var ptr = ___getTypeName(type);\n var rv = readLatin1String(ptr);\n _free(ptr);\n return rv;\n}\n\nfunction requireRegisteredType(rawType, humanName) {\n var impl = registeredTypes[rawType];\n if (undefined === impl) {\n throwBindingError(humanName + \" has unknown type \" + getTypeName(rawType));\n }\n return impl;\n}\n\nfunction unregisterInheritedInstance(class_, ptr) {\n ptr = getBasestPointer(class_, ptr);\n if (registeredInstances.hasOwnProperty(ptr)) {\n delete registeredInstances[ptr];\n } else {\n throwBindingError(\"Tried to unregister unregistered instance: \" + ptr);\n }\n}\n\nfunction detachFinalizer(handle) {}\n\nvar finalizationGroup = false;\n\nfunction runDestructor($$) {\n if ($$.smartPtr) {\n $$.smartPtrType.rawDestructor($$.smartPtr);\n } else {\n $$.ptrType.registeredClass.rawDestructor($$.ptr);\n }\n}\n\nfunction releaseClassHandle($$) {\n $$.count.value -= 1;\n var toDelete = 0 === $$.count.value;\n if (toDelete) {\n runDestructor($$);\n }\n}\n\nfunction attachFinalizer(handle) {\n if (\"undefined\" === typeof FinalizationGroup) {\n attachFinalizer = function(handle) {\n return handle;\n };\n return handle;\n }\n finalizationGroup = new FinalizationGroup(function(iter) {\n for (var result = iter.next(); !result.done; result = iter.next()) {\n var $$ = result.value;\n if (!$$.ptr) {\n console.warn(\"object already deleted: \" + $$.ptr);\n } else {\n releaseClassHandle($$);\n }\n }\n });\n attachFinalizer = function(handle) {\n finalizationGroup.register(handle, handle.$$, handle.$$);\n return handle;\n };\n detachFinalizer = function(handle) {\n finalizationGroup.unregister(handle.$$);\n };\n return attachFinalizer(handle);\n}\n\nfunction __embind_create_inheriting_constructor(constructorName, wrapperType, properties) {\n constructorName = readLatin1String(constructorName);\n wrapperType = requireRegisteredType(wrapperType, \"wrapper\");\n properties = requireHandle(properties);\n var arraySlice = [].slice;\n var registeredClass = wrapperType.registeredClass;\n var wrapperPrototype = registeredClass.instancePrototype;\n var baseClass = registeredClass.baseClass;\n var baseClassPrototype = baseClass.instancePrototype;\n var baseConstructor = registeredClass.baseClass.constructor;\n var ctor = createNamedFunction(constructorName, function() {\n registeredClass.baseClass.pureVirtualFunctions.forEach(function(name) {\n if (this[name] === baseClassPrototype[name]) {\n throw new PureVirtualError(\"Pure virtual function \" + name + \" must be implemented in JavaScript\");\n }\n }.bind(this));\n Object.defineProperty(this, \"__parent\", {\n value: wrapperPrototype\n });\n this[\"__construct\"].apply(this, arraySlice.call(arguments));\n });\n wrapperPrototype[\"__construct\"] = function __construct() {\n if (this === wrapperPrototype) {\n throwBindingError(\"Pass correct 'this' to __construct\");\n }\n var inner = baseConstructor[\"implement\"].apply(undefined, [ this ].concat(arraySlice.call(arguments)));\n detachFinalizer(inner);\n var $$ = inner.$$;\n inner[\"notifyOnDestruction\"]();\n $$.preservePointerOnDelete = true;\n Object.defineProperties(this, {\n $$: {\n value: $$\n }\n });\n attachFinalizer(this);\n registerInheritedInstance(registeredClass, $$.ptr, this);\n };\n wrapperPrototype[\"__destruct\"] = function __destruct() {\n if (this === wrapperPrototype) {\n throwBindingError(\"Pass correct 'this' to __destruct\");\n }\n detachFinalizer(this);\n unregisterInheritedInstance(registeredClass, this.$$.ptr);\n };\n ctor.prototype = Object.create(wrapperPrototype);\n for (var p in properties) {\n ctor.prototype[p] = properties[p];\n }\n return __emval_register(ctor);\n}\n\nvar structRegistrations = {};\n\nfunction runDestructors(destructors) {\n while (destructors.length) {\n var ptr = destructors.pop();\n var del = destructors.pop();\n del(ptr);\n }\n}\n\nfunction simpleReadValueFromPointer(pointer) {\n return this[\"fromWireType\"](HEAPU32[pointer >> 2]);\n}\n\nvar awaitingDependencies = {};\n\nvar typeDependencies = {};\n\nvar InternalError = undefined;\n\nfunction throwInternalError(message) {\n throw new InternalError(message);\n}\n\nfunction whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) {\n myTypes.forEach(function(type) {\n typeDependencies[type] = dependentTypes;\n });\n function onComplete(typeConverters) {\n var myTypeConverters = getTypeConverters(typeConverters);\n if (myTypeConverters.length !== myTypes.length) {\n throwInternalError(\"Mismatched type converter count\");\n }\n for (var i = 0; i < myTypes.length; ++i) {\n registerType(myTypes[i], myTypeConverters[i]);\n }\n }\n var typeConverters = new Array(dependentTypes.length);\n var unregisteredTypes = [];\n var registered = 0;\n dependentTypes.forEach(function(dt, i) {\n if (registeredTypes.hasOwnProperty(dt)) {\n typeConverters[i] = registeredTypes[dt];\n } else {\n unregisteredTypes.push(dt);\n if (!awaitingDependencies.hasOwnProperty(dt)) {\n awaitingDependencies[dt] = [];\n }\n awaitingDependencies[dt].push(function() {\n typeConverters[i] = registeredTypes[dt];\n ++registered;\n if (registered === unregisteredTypes.length) {\n onComplete(typeConverters);\n }\n });\n }\n });\n if (0 === unregisteredTypes.length) {\n onComplete(typeConverters);\n }\n}\n\nfunction __embind_finalize_value_object(structType) {\n var reg = structRegistrations[structType];\n delete structRegistrations[structType];\n var rawConstructor = reg.rawConstructor;\n var rawDestructor = reg.rawDestructor;\n var fieldRecords = reg.fields;\n var fieldTypes = fieldRecords.map(function(field) {\n return field.getterReturnType;\n }).concat(fieldRecords.map(function(field) {\n return field.setterArgumentType;\n }));\n whenDependentTypesAreResolved([ structType ], fieldTypes, function(fieldTypes) {\n var fields = {};\n fieldRecords.forEach(function(field, i) {\n var fieldName = field.fieldName;\n var getterReturnType = fieldTypes[i];\n var getter = field.getter;\n var getterContext = field.getterContext;\n var setterArgumentType = fieldTypes[i + fieldRecords.length];\n var setter = field.setter;\n var setterContext = field.setterContext;\n fields[fieldName] = {\n read: function(ptr) {\n return getterReturnType[\"fromWireType\"](getter(getterContext, ptr));\n },\n write: function(ptr, o) {\n var destructors = [];\n setter(setterContext, ptr, setterArgumentType[\"toWireType\"](destructors, o));\n runDestructors(destructors);\n }\n };\n });\n return [ {\n name: reg.name,\n \"fromWireType\": function(ptr) {\n var rv = {};\n for (var i in fields) {\n rv[i] = fields[i].read(ptr);\n }\n rawDestructor(ptr);\n return rv;\n },\n \"toWireType\": function(destructors, o) {\n for (var fieldName in fields) {\n if (!(fieldName in o)) {\n throw new TypeError('Missing field: \"' + fieldName + '\"');\n }\n }\n var ptr = rawConstructor();\n for (fieldName in fields) {\n fields[fieldName].write(ptr, o[fieldName]);\n }\n if (destructors !== null) {\n destructors.push(rawDestructor, ptr);\n }\n return ptr;\n },\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": simpleReadValueFromPointer,\n destructorFunction: rawDestructor\n } ];\n });\n}\n\nfunction getShiftFromSize(size) {\n switch (size) {\n case 1:\n return 0;\n\n case 2:\n return 1;\n\n case 4:\n return 2;\n\n case 8:\n return 3;\n\n default:\n throw new TypeError(\"Unknown type size: \" + size);\n }\n}\n\nfunction registerType(rawType, registeredInstance, options) {\n options = options || {};\n if (!(\"argPackAdvance\" in registeredInstance)) {\n throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");\n }\n var name = registeredInstance.name;\n if (!rawType) {\n throwBindingError('type \"' + name + '\" must have a positive integer typeid pointer');\n }\n if (registeredTypes.hasOwnProperty(rawType)) {\n if (options.ignoreDuplicateRegistrations) {\n return;\n } else {\n throwBindingError(\"Cannot register type '\" + name + \"' twice\");\n }\n }\n registeredTypes[rawType] = registeredInstance;\n delete typeDependencies[rawType];\n if (awaitingDependencies.hasOwnProperty(rawType)) {\n var callbacks = awaitingDependencies[rawType];\n delete awaitingDependencies[rawType];\n callbacks.forEach(function(cb) {\n cb();\n });\n }\n}\n\nfunction __embind_register_bool(rawType, name, size, trueValue, falseValue) {\n var shift = getShiftFromSize(size);\n name = readLatin1String(name);\n registerType(rawType, {\n name: name,\n \"fromWireType\": function(wt) {\n return !!wt;\n },\n \"toWireType\": function(destructors, o) {\n return o ? trueValue : falseValue;\n },\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": function(pointer) {\n var heap;\n if (size === 1) {\n heap = HEAP8;\n } else if (size === 2) {\n heap = HEAP16;\n } else if (size === 4) {\n heap = HEAP32;\n } else {\n throw new TypeError(\"Unknown boolean type size: \" + name);\n }\n return this[\"fromWireType\"](heap[pointer >> shift]);\n },\n destructorFunction: null\n });\n}\n\nfunction ClassHandle_isAliasOf(other) {\n if (!(this instanceof ClassHandle)) {\n return false;\n }\n if (!(other instanceof ClassHandle)) {\n return false;\n }\n var leftClass = this.$$.ptrType.registeredClass;\n var left = this.$$.ptr;\n var rightClass = other.$$.ptrType.registeredClass;\n var right = other.$$.ptr;\n while (leftClass.baseClass) {\n left = leftClass.upcast(left);\n leftClass = leftClass.baseClass;\n }\n while (rightClass.baseClass) {\n right = rightClass.upcast(right);\n rightClass = rightClass.baseClass;\n }\n return leftClass === rightClass && left === right;\n}\n\nfunction shallowCopyInternalPointer(o) {\n return {\n count: o.count,\n deleteScheduled: o.deleteScheduled,\n preservePointerOnDelete: o.preservePointerOnDelete,\n ptr: o.ptr,\n ptrType: o.ptrType,\n smartPtr: o.smartPtr,\n smartPtrType: o.smartPtrType\n };\n}\n\nfunction throwInstanceAlreadyDeleted(obj) {\n function getInstanceTypeName(handle) {\n return handle.$$.ptrType.registeredClass.name;\n }\n throwBindingError(getInstanceTypeName(obj) + \" instance already deleted\");\n}\n\nfunction ClassHandle_clone() {\n if (!this.$$.ptr) {\n throwInstanceAlreadyDeleted(this);\n }\n if (this.$$.preservePointerOnDelete) {\n this.$$.count.value += 1;\n return this;\n } else {\n var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), {\n $$: {\n value: shallowCopyInternalPointer(this.$$)\n }\n }));\n clone.$$.count.value += 1;\n clone.$$.deleteScheduled = false;\n return clone;\n }\n}\n\nfunction ClassHandle_delete() {\n if (!this.$$.ptr) {\n throwInstanceAlreadyDeleted(this);\n }\n if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {\n throwBindingError(\"Object already scheduled for deletion\");\n }\n detachFinalizer(this);\n releaseClassHandle(this.$$);\n if (!this.$$.preservePointerOnDelete) {\n this.$$.smartPtr = undefined;\n this.$$.ptr = undefined;\n }\n}\n\nfunction ClassHandle_isDeleted() {\n return !this.$$.ptr;\n}\n\nfunction ClassHandle_deleteLater() {\n if (!this.$$.ptr) {\n throwInstanceAlreadyDeleted(this);\n }\n if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {\n throwBindingError(\"Object already scheduled for deletion\");\n }\n deletionQueue.push(this);\n if (deletionQueue.length === 1 && delayFunction) {\n delayFunction(flushPendingDeletes);\n }\n this.$$.deleteScheduled = true;\n return this;\n}\n\nfunction init_ClassHandle() {\n ClassHandle.prototype[\"isAliasOf\"] = ClassHandle_isAliasOf;\n ClassHandle.prototype[\"clone\"] = ClassHandle_clone;\n ClassHandle.prototype[\"delete\"] = ClassHandle_delete;\n ClassHandle.prototype[\"isDeleted\"] = ClassHandle_isDeleted;\n ClassHandle.prototype[\"deleteLater\"] = ClassHandle_deleteLater;\n}\n\nfunction ClassHandle() {}\n\nvar registeredPointers = {};\n\nfunction ensureOverloadTable(proto, methodName, humanName) {\n if (undefined === proto[methodName].overloadTable) {\n var prevFunc = proto[methodName];\n proto[methodName] = function() {\n if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {\n throwBindingError(\"Function '\" + humanName + \"' called with an invalid number of arguments (\" + arguments.length + \") - expects one of (\" + proto[methodName].overloadTable + \")!\");\n }\n return proto[methodName].overloadTable[arguments.length].apply(this, arguments);\n };\n proto[methodName].overloadTable = [];\n proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;\n }\n}\n\nfunction exposePublicSymbol(name, value, numArguments) {\n if (Module.hasOwnProperty(name)) {\n if (undefined === numArguments || undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments]) {\n throwBindingError(\"Cannot register public name '\" + name + \"' twice\");\n }\n ensureOverloadTable(Module, name, name);\n if (Module.hasOwnProperty(numArguments)) {\n throwBindingError(\"Cannot register multiple overloads of a function with the same number of arguments (\" + numArguments + \")!\");\n }\n Module[name].overloadTable[numArguments] = value;\n } else {\n Module[name] = value;\n if (undefined !== numArguments) {\n Module[name].numArguments = numArguments;\n }\n }\n}\n\nfunction RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) {\n this.name = name;\n this.constructor = constructor;\n this.instancePrototype = instancePrototype;\n this.rawDestructor = rawDestructor;\n this.baseClass = baseClass;\n this.getActualType = getActualType;\n this.upcast = upcast;\n this.downcast = downcast;\n this.pureVirtualFunctions = [];\n}\n\nfunction upcastPointer(ptr, ptrClass, desiredClass) {\n while (ptrClass !== desiredClass) {\n if (!ptrClass.upcast) {\n throwBindingError(\"Expected null or instance of \" + desiredClass.name + \", got an instance of \" + ptrClass.name);\n }\n ptr = ptrClass.upcast(ptr);\n ptrClass = ptrClass.baseClass;\n }\n return ptr;\n}\n\nfunction constNoSmartPtrRawPointerToWireType(destructors, handle) {\n if (handle === null) {\n if (this.isReference) {\n throwBindingError(\"null is not a valid \" + this.name);\n }\n return 0;\n }\n if (!handle.$$) {\n throwBindingError('Cannot pass \"' + _embind_repr(handle) + '\" as a ' + this.name);\n }\n if (!handle.$$.ptr) {\n throwBindingError(\"Cannot pass deleted object as a pointer of type \" + this.name);\n }\n var handleClass = handle.$$.ptrType.registeredClass;\n var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);\n return ptr;\n}\n\nfunction genericPointerToWireType(destructors, handle) {\n var ptr;\n if (handle === null) {\n if (this.isReference) {\n throwBindingError(\"null is not a valid \" + this.name);\n }\n if (this.isSmartPointer) {\n ptr = this.rawConstructor();\n if (destructors !== null) {\n destructors.push(this.rawDestructor, ptr);\n }\n return ptr;\n } else {\n return 0;\n }\n }\n if (!handle.$$) {\n throwBindingError('Cannot pass \"' + _embind_repr(handle) + '\" as a ' + this.name);\n }\n if (!handle.$$.ptr) {\n throwBindingError(\"Cannot pass deleted object as a pointer of type \" + this.name);\n }\n if (!this.isConst && handle.$$.ptrType.isConst) {\n throwBindingError(\"Cannot convert argument of type \" + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + \" to parameter type \" + this.name);\n }\n var handleClass = handle.$$.ptrType.registeredClass;\n ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);\n if (this.isSmartPointer) {\n if (undefined === handle.$$.smartPtr) {\n throwBindingError(\"Passing raw pointer to smart pointer is illegal\");\n }\n switch (this.sharingPolicy) {\n case 0:\n if (handle.$$.smartPtrType === this) {\n ptr = handle.$$.smartPtr;\n } else {\n throwBindingError(\"Cannot convert argument of type \" + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + \" to parameter type \" + this.name);\n }\n break;\n\n case 1:\n ptr = handle.$$.smartPtr;\n break;\n\n case 2:\n if (handle.$$.smartPtrType === this) {\n ptr = handle.$$.smartPtr;\n } else {\n var clonedHandle = handle[\"clone\"]();\n ptr = this.rawShare(ptr, __emval_register(function() {\n clonedHandle[\"delete\"]();\n }));\n if (destructors !== null) {\n destructors.push(this.rawDestructor, ptr);\n }\n }\n break;\n\n default:\n throwBindingError(\"Unsupporting sharing policy\");\n }\n }\n return ptr;\n}\n\nfunction nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {\n if (handle === null) {\n if (this.isReference) {\n throwBindingError(\"null is not a valid \" + this.name);\n }\n return 0;\n }\n if (!handle.$$) {\n throwBindingError('Cannot pass \"' + _embind_repr(handle) + '\" as a ' + this.name);\n }\n if (!handle.$$.ptr) {\n throwBindingError(\"Cannot pass deleted object as a pointer of type \" + this.name);\n }\n if (handle.$$.ptrType.isConst) {\n throwBindingError(\"Cannot convert argument of type \" + handle.$$.ptrType.name + \" to parameter type \" + this.name);\n }\n var handleClass = handle.$$.ptrType.registeredClass;\n var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);\n return ptr;\n}\n\nfunction RegisteredPointer_getPointee(ptr) {\n if (this.rawGetPointee) {\n ptr = this.rawGetPointee(ptr);\n }\n return ptr;\n}\n\nfunction RegisteredPointer_destructor(ptr) {\n if (this.rawDestructor) {\n this.rawDestructor(ptr);\n }\n}\n\nfunction RegisteredPointer_deleteObject(handle) {\n if (handle !== null) {\n handle[\"delete\"]();\n }\n}\n\nfunction downcastPointer(ptr, ptrClass, desiredClass) {\n if (ptrClass === desiredClass) {\n return ptr;\n }\n if (undefined === desiredClass.baseClass) {\n return null;\n }\n var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);\n if (rv === null) {\n return null;\n }\n return desiredClass.downcast(rv);\n}\n\nfunction getInheritedInstance(class_, ptr) {\n ptr = getBasestPointer(class_, ptr);\n return registeredInstances[ptr];\n}\n\nfunction makeClassHandle(prototype, record) {\n if (!record.ptrType || !record.ptr) {\n throwInternalError(\"makeClassHandle requires ptr and ptrType\");\n }\n var hasSmartPtrType = !!record.smartPtrType;\n var hasSmartPtr = !!record.smartPtr;\n if (hasSmartPtrType !== hasSmartPtr) {\n throwInternalError(\"Both smartPtrType and smartPtr must be specified\");\n }\n record.count = {\n value: 1\n };\n return attachFinalizer(Object.create(prototype, {\n $$: {\n value: record\n }\n }));\n}\n\nfunction RegisteredPointer_fromWireType(ptr) {\n var rawPointer = this.getPointee(ptr);\n if (!rawPointer) {\n this.destructor(ptr);\n return null;\n }\n var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);\n if (undefined !== registeredInstance) {\n if (0 === registeredInstance.$$.count.value) {\n registeredInstance.$$.ptr = rawPointer;\n registeredInstance.$$.smartPtr = ptr;\n return registeredInstance[\"clone\"]();\n } else {\n var rv = registeredInstance[\"clone\"]();\n this.destructor(ptr);\n return rv;\n }\n }\n function makeDefaultHandle() {\n if (this.isSmartPointer) {\n return makeClassHandle(this.registeredClass.instancePrototype, {\n ptrType: this.pointeeType,\n ptr: rawPointer,\n smartPtrType: this,\n smartPtr: ptr\n });\n } else {\n return makeClassHandle(this.registeredClass.instancePrototype, {\n ptrType: this,\n ptr: ptr\n });\n }\n }\n var actualType = this.registeredClass.getActualType(rawPointer);\n var registeredPointerRecord = registeredPointers[actualType];\n if (!registeredPointerRecord) {\n return makeDefaultHandle.call(this);\n }\n var toType;\n if (this.isConst) {\n toType = registeredPointerRecord.constPointerType;\n } else {\n toType = registeredPointerRecord.pointerType;\n }\n var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass);\n if (dp === null) {\n return makeDefaultHandle.call(this);\n }\n if (this.isSmartPointer) {\n return makeClassHandle(toType.registeredClass.instancePrototype, {\n ptrType: toType,\n ptr: dp,\n smartPtrType: this,\n smartPtr: ptr\n });\n } else {\n return makeClassHandle(toType.registeredClass.instancePrototype, {\n ptrType: toType,\n ptr: dp\n });\n }\n}\n\nfunction init_RegisteredPointer() {\n RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee;\n RegisteredPointer.prototype.destructor = RegisteredPointer_destructor;\n RegisteredPointer.prototype[\"argPackAdvance\"] = 8;\n RegisteredPointer.prototype[\"readValueFromPointer\"] = simpleReadValueFromPointer;\n RegisteredPointer.prototype[\"deleteObject\"] = RegisteredPointer_deleteObject;\n RegisteredPointer.prototype[\"fromWireType\"] = RegisteredPointer_fromWireType;\n}\n\nfunction RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) {\n this.name = name;\n this.registeredClass = registeredClass;\n this.isReference = isReference;\n this.isConst = isConst;\n this.isSmartPointer = isSmartPointer;\n this.pointeeType = pointeeType;\n this.sharingPolicy = sharingPolicy;\n this.rawGetPointee = rawGetPointee;\n this.rawConstructor = rawConstructor;\n this.rawShare = rawShare;\n this.rawDestructor = rawDestructor;\n if (!isSmartPointer && registeredClass.baseClass === undefined) {\n if (isConst) {\n this[\"toWireType\"] = constNoSmartPtrRawPointerToWireType;\n this.destructorFunction = null;\n } else {\n this[\"toWireType\"] = nonConstNoSmartPtrRawPointerToWireType;\n this.destructorFunction = null;\n }\n } else {\n this[\"toWireType\"] = genericPointerToWireType;\n }\n}\n\nfunction replacePublicSymbol(name, value, numArguments) {\n if (!Module.hasOwnProperty(name)) {\n throwInternalError(\"Replacing nonexistant public symbol\");\n }\n if (undefined !== Module[name].overloadTable && undefined !== numArguments) {\n Module[name].overloadTable[numArguments] = value;\n } else {\n Module[name] = value;\n Module[name].argCount = numArguments;\n }\n}\n\nfunction dynCallLegacy(sig, ptr, args) {\n var f = Module[\"dynCall_\" + sig];\n return args && args.length ? f.apply(null, [ ptr ].concat(args)) : f.call(null, ptr);\n}\n\nfunction dynCall(sig, ptr, args) {\n if (sig.indexOf(\"j\") != -1) {\n return dynCallLegacy(sig, ptr, args);\n }\n return wasmTable.get(ptr).apply(null, args);\n}\n\nfunction getDynCaller(sig, ptr) {\n var argCache = [];\n return function() {\n argCache.length = arguments.length;\n for (var i = 0; i < arguments.length; i++) {\n argCache[i] = arguments[i];\n }\n return dynCall(sig, ptr, argCache);\n };\n}\n\nfunction embind__requireFunction(signature, rawFunction) {\n signature = readLatin1String(signature);\n function makeDynCaller() {\n if (signature.indexOf(\"j\") != -1) {\n return getDynCaller(signature, rawFunction);\n }\n return wasmTable.get(rawFunction);\n }\n var fp = makeDynCaller();\n if (typeof fp !== \"function\") {\n throwBindingError(\"unknown function pointer with signature \" + signature + \": \" + rawFunction);\n }\n return fp;\n}\n\nvar UnboundTypeError = undefined;\n\nfunction throwUnboundTypeError(message, types) {\n var unboundTypes = [];\n var seen = {};\n function visit(type) {\n if (seen[type]) {\n return;\n }\n if (registeredTypes[type]) {\n return;\n }\n if (typeDependencies[type]) {\n typeDependencies[type].forEach(visit);\n return;\n }\n unboundTypes.push(type);\n seen[type] = true;\n }\n types.forEach(visit);\n throw new UnboundTypeError(message + \": \" + unboundTypes.map(getTypeName).join([ \", \" ]));\n}\n\nfunction __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) {\n name = readLatin1String(name);\n getActualType = embind__requireFunction(getActualTypeSignature, getActualType);\n if (upcast) {\n upcast = embind__requireFunction(upcastSignature, upcast);\n }\n if (downcast) {\n downcast = embind__requireFunction(downcastSignature, downcast);\n }\n rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);\n var legalFunctionName = makeLegalFunctionName(name);\n exposePublicSymbol(legalFunctionName, function() {\n throwUnboundTypeError(\"Cannot construct \" + name + \" due to unbound types\", [ baseClassRawType ]);\n });\n whenDependentTypesAreResolved([ rawType, rawPointerType, rawConstPointerType ], baseClassRawType ? [ baseClassRawType ] : [], function(base) {\n base = base[0];\n var baseClass;\n var basePrototype;\n if (baseClassRawType) {\n baseClass = base.registeredClass;\n basePrototype = baseClass.instancePrototype;\n } else {\n basePrototype = ClassHandle.prototype;\n }\n var constructor = createNamedFunction(legalFunctionName, function() {\n if (Object.getPrototypeOf(this) !== instancePrototype) {\n throw new BindingError(\"Use 'new' to construct \" + name);\n }\n if (undefined === registeredClass.constructor_body) {\n throw new BindingError(name + \" has no accessible constructor\");\n }\n var body = registeredClass.constructor_body[arguments.length];\n if (undefined === body) {\n throw new BindingError(\"Tried to invoke ctor of \" + name + \" with invalid number of parameters (\" + arguments.length + \") - expected (\" + Object.keys(registeredClass.constructor_body).toString() + \") parameters instead!\");\n }\n return body.apply(this, arguments);\n });\n var instancePrototype = Object.create(basePrototype, {\n constructor: {\n value: constructor\n }\n });\n constructor.prototype = instancePrototype;\n var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast);\n var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false);\n var pointerConverter = new RegisteredPointer(name + \"*\", registeredClass, false, false, false);\n var constPointerConverter = new RegisteredPointer(name + \" const*\", registeredClass, false, true, false);\n registeredPointers[rawType] = {\n pointerType: pointerConverter,\n constPointerType: constPointerConverter\n };\n replacePublicSymbol(legalFunctionName, constructor);\n return [ referenceConverter, pointerConverter, constPointerConverter ];\n });\n}\n\nfunction new_(constructor, argumentList) {\n if (!(constructor instanceof Function)) {\n throw new TypeError(\"new_ called with constructor type \" + typeof constructor + \" which is not a function\");\n }\n var dummy = createNamedFunction(constructor.name || \"unknownFunctionName\", function() {});\n dummy.prototype = constructor.prototype;\n var obj = new dummy();\n var r = constructor.apply(obj, argumentList);\n return r instanceof Object ? r : obj;\n}\n\nfunction craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) {\n var argCount = argTypes.length;\n if (argCount < 2) {\n throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");\n }\n var isClassMethodFunc = argTypes[1] !== null && classType !== null;\n var needsDestructorStack = false;\n for (var i = 1; i < argTypes.length; ++i) {\n if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) {\n needsDestructorStack = true;\n break;\n }\n }\n var returns = argTypes[0].name !== \"void\";\n var argsList = \"\";\n var argsListWired = \"\";\n for (var i = 0; i < argCount - 2; ++i) {\n argsList += (i !== 0 ? \", \" : \"\") + \"arg\" + i;\n argsListWired += (i !== 0 ? \", \" : \"\") + \"arg\" + i + \"Wired\";\n }\n var invokerFnBody = \"return function \" + makeLegalFunctionName(humanName) + \"(\" + argsList + \") {\\n\" + \"if (arguments.length !== \" + (argCount - 2) + \") {\\n\" + \"throwBindingError('function \" + humanName + \" called with ' + arguments.length + ' arguments, expected \" + (argCount - 2) + \" args!');\\n\" + \"}\\n\";\n if (needsDestructorStack) {\n invokerFnBody += \"var destructors = [];\\n\";\n }\n var dtorStack = needsDestructorStack ? \"destructors\" : \"null\";\n var args1 = [ \"throwBindingError\", \"invoker\", \"fn\", \"runDestructors\", \"retType\", \"classParam\" ];\n var args2 = [ throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1] ];\n if (isClassMethodFunc) {\n invokerFnBody += \"var thisWired = classParam.toWireType(\" + dtorStack + \", this);\\n\";\n }\n for (var i = 0; i < argCount - 2; ++i) {\n invokerFnBody += \"var arg\" + i + \"Wired = argType\" + i + \".toWireType(\" + dtorStack + \", arg\" + i + \"); // \" + argTypes[i + 2].name + \"\\n\";\n args1.push(\"argType\" + i);\n args2.push(argTypes[i + 2]);\n }\n if (isClassMethodFunc) {\n argsListWired = \"thisWired\" + (argsListWired.length > 0 ? \", \" : \"\") + argsListWired;\n }\n invokerFnBody += (returns ? \"var rv = \" : \"\") + \"invoker(fn\" + (argsListWired.length > 0 ? \", \" : \"\") + argsListWired + \");\\n\";\n if (needsDestructorStack) {\n invokerFnBody += \"runDestructors(destructors);\\n\";\n } else {\n for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) {\n var paramName = i === 1 ? \"thisWired\" : \"arg\" + (i - 2) + \"Wired\";\n if (argTypes[i].destructorFunction !== null) {\n invokerFnBody += paramName + \"_dtor(\" + paramName + \"); // \" + argTypes[i].name + \"\\n\";\n args1.push(paramName + \"_dtor\");\n args2.push(argTypes[i].destructorFunction);\n }\n }\n }\n if (returns) {\n invokerFnBody += \"var ret = retType.fromWireType(rv);\\n\" + \"return ret;\\n\";\n } else {}\n invokerFnBody += \"}\\n\";\n args1.push(invokerFnBody);\n var invokerFunction = new_(Function, args1).apply(null, args2);\n return invokerFunction;\n}\n\nfunction heap32VectorToArray(count, firstElement) {\n var array = [];\n for (var i = 0; i < count; i++) {\n array.push(HEAP32[(firstElement >> 2) + i]);\n }\n return array;\n}\n\nfunction __embind_register_class_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, fn) {\n var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);\n methodName = readLatin1String(methodName);\n rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);\n whenDependentTypesAreResolved([], [ rawClassType ], function(classType) {\n classType = classType[0];\n var humanName = classType.name + \".\" + methodName;\n function unboundTypesHandler() {\n throwUnboundTypeError(\"Cannot call \" + humanName + \" due to unbound types\", rawArgTypes);\n }\n var proto = classType.registeredClass.constructor;\n if (undefined === proto[methodName]) {\n unboundTypesHandler.argCount = argCount - 1;\n proto[methodName] = unboundTypesHandler;\n } else {\n ensureOverloadTable(proto, methodName, humanName);\n proto[methodName].overloadTable[argCount - 1] = unboundTypesHandler;\n }\n whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {\n var invokerArgsArray = [ argTypes[0], null ].concat(argTypes.slice(1));\n var func = craftInvokerFunction(humanName, invokerArgsArray, null, rawInvoker, fn);\n if (undefined === proto[methodName].overloadTable) {\n func.argCount = argCount - 1;\n proto[methodName] = func;\n } else {\n proto[methodName].overloadTable[argCount - 1] = func;\n }\n return [];\n });\n return [];\n });\n}\n\nfunction validateThis(this_, classType, humanName) {\n if (!(this_ instanceof Object)) {\n throwBindingError(humanName + ' with invalid \"this\": ' + this_);\n }\n if (!(this_ instanceof classType.registeredClass.constructor)) {\n throwBindingError(humanName + ' incompatible with \"this\" of type ' + this_.constructor.name);\n }\n if (!this_.$$.ptr) {\n throwBindingError(\"cannot call emscripten binding method \" + humanName + \" on deleted object\");\n }\n return upcastPointer(this_.$$.ptr, this_.$$.ptrType.registeredClass, classType.registeredClass);\n}\n\nfunction __embind_register_class_class_property(rawClassType, fieldName, rawFieldType, rawFieldPtr, getterSignature, getter, setterSignature, setter) {\n fieldName = readLatin1String(fieldName);\n getter = embind__requireFunction(getterSignature, getter);\n whenDependentTypesAreResolved([], [ rawClassType ], function(classType) {\n classType = classType[0];\n var humanName = classType.name + \".\" + fieldName;\n var desc = {\n get: function() {\n throwUnboundTypeError(\"Cannot access \" + humanName + \" due to unbound types\", [ rawFieldType ]);\n },\n enumerable: true,\n configurable: true\n };\n if (setter) {\n desc.set = function() {\n throwUnboundTypeError(\"Cannot access \" + humanName + \" due to unbound types\", [ rawFieldType ]);\n };\n } else {\n desc.set = function(v) {\n throwBindingError(humanName + \" is a read-only property\");\n };\n }\n Object.defineProperty(classType.registeredClass.constructor, fieldName, desc);\n whenDependentTypesAreResolved([], [ rawFieldType ], function(fieldType) {\n fieldType = fieldType[0];\n var desc = {\n get: function() {\n return fieldType[\"fromWireType\"](getter(rawFieldPtr));\n },\n enumerable: true\n };\n if (setter) {\n setter = embind__requireFunction(setterSignature, setter);\n desc.set = function(v) {\n var destructors = [];\n setter(rawFieldPtr, fieldType[\"toWireType\"](destructors, v));\n runDestructors(destructors);\n };\n }\n Object.defineProperty(classType.registeredClass.constructor, fieldName, desc);\n return [];\n });\n return [];\n });\n}\n\nfunction __embind_register_class_constructor(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) {\n assert(argCount > 0);\n var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);\n invoker = embind__requireFunction(invokerSignature, invoker);\n var args = [ rawConstructor ];\n var destructors = [];\n whenDependentTypesAreResolved([], [ rawClassType ], function(classType) {\n classType = classType[0];\n var humanName = \"constructor \" + classType.name;\n if (undefined === classType.registeredClass.constructor_body) {\n classType.registeredClass.constructor_body = [];\n }\n if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) {\n throw new BindingError(\"Cannot register multiple constructors with identical number of parameters (\" + (argCount - 1) + \") for class '\" + classType.name + \"'! Overload resolution is currently only performed using the parameter count, not actual type info!\");\n }\n classType.registeredClass.constructor_body[argCount - 1] = function unboundTypeHandler() {\n throwUnboundTypeError(\"Cannot construct \" + classType.name + \" due to unbound types\", rawArgTypes);\n };\n whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {\n classType.registeredClass.constructor_body[argCount - 1] = function constructor_body() {\n if (arguments.length !== argCount - 1) {\n throwBindingError(humanName + \" called with \" + arguments.length + \" arguments, expected \" + (argCount - 1));\n }\n destructors.length = 0;\n args.length = argCount;\n for (var i = 1; i < argCount; ++i) {\n args[i] = argTypes[i][\"toWireType\"](destructors, arguments[i - 1]);\n }\n var ptr = invoker.apply(null, args);\n runDestructors(destructors);\n return argTypes[0][\"fromWireType\"](ptr);\n };\n return [];\n });\n return [];\n });\n}\n\nfunction __embind_register_class_function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual) {\n var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);\n methodName = readLatin1String(methodName);\n rawInvoker = embind__requireFunction(invokerSignature, rawInvoker);\n whenDependentTypesAreResolved([], [ rawClassType ], function(classType) {\n classType = classType[0];\n var humanName = classType.name + \".\" + methodName;\n if (isPureVirtual) {\n classType.registeredClass.pureVirtualFunctions.push(methodName);\n }\n function unboundTypesHandler() {\n throwUnboundTypeError(\"Cannot call \" + humanName + \" due to unbound types\", rawArgTypes);\n }\n var proto = classType.registeredClass.instancePrototype;\n var method = proto[methodName];\n if (undefined === method || undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) {\n unboundTypesHandler.argCount = argCount - 2;\n unboundTypesHandler.className = classType.name;\n proto[methodName] = unboundTypesHandler;\n } else {\n ensureOverloadTable(proto, methodName, humanName);\n proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;\n }\n whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {\n var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context);\n if (undefined === proto[methodName].overloadTable) {\n memberFunction.argCount = argCount - 2;\n proto[methodName] = memberFunction;\n } else {\n proto[methodName].overloadTable[argCount - 2] = memberFunction;\n }\n return [];\n });\n return [];\n });\n}\n\nfunction __embind_register_class_property(classType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {\n fieldName = readLatin1String(fieldName);\n getter = embind__requireFunction(getterSignature, getter);\n whenDependentTypesAreResolved([], [ classType ], function(classType) {\n classType = classType[0];\n var humanName = classType.name + \".\" + fieldName;\n var desc = {\n get: function() {\n throwUnboundTypeError(\"Cannot access \" + humanName + \" due to unbound types\", [ getterReturnType, setterArgumentType ]);\n },\n enumerable: true,\n configurable: true\n };\n if (setter) {\n desc.set = function() {\n throwUnboundTypeError(\"Cannot access \" + humanName + \" due to unbound types\", [ getterReturnType, setterArgumentType ]);\n };\n } else {\n desc.set = function(v) {\n throwBindingError(humanName + \" is a read-only property\");\n };\n }\n Object.defineProperty(classType.registeredClass.instancePrototype, fieldName, desc);\n whenDependentTypesAreResolved([], setter ? [ getterReturnType, setterArgumentType ] : [ getterReturnType ], function(types) {\n var getterReturnType = types[0];\n var desc = {\n get: function() {\n var ptr = validateThis(this, classType, humanName + \" getter\");\n return getterReturnType[\"fromWireType\"](getter(getterContext, ptr));\n },\n enumerable: true\n };\n if (setter) {\n setter = embind__requireFunction(setterSignature, setter);\n var setterArgumentType = types[1];\n desc.set = function(v) {\n var ptr = validateThis(this, classType, humanName + \" setter\");\n var destructors = [];\n setter(setterContext, ptr, setterArgumentType[\"toWireType\"](destructors, v));\n runDestructors(destructors);\n };\n }\n Object.defineProperty(classType.registeredClass.instancePrototype, fieldName, desc);\n return [];\n });\n return [];\n });\n}\n\nfunction __emval_decref(handle) {\n if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {\n emval_handle_array[handle] = undefined;\n emval_free_list.push(handle);\n }\n}\n\nfunction __embind_register_emval(rawType, name) {\n name = readLatin1String(name);\n registerType(rawType, {\n name: name,\n \"fromWireType\": function(handle) {\n var rv = emval_handle_array[handle].value;\n __emval_decref(handle);\n return rv;\n },\n \"toWireType\": function(destructors, value) {\n return __emval_register(value);\n },\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": simpleReadValueFromPointer,\n destructorFunction: null\n });\n}\n\nfunction enumReadValueFromPointer(name, shift, signed) {\n switch (shift) {\n case 0:\n return function(pointer) {\n var heap = signed ? HEAP8 : HEAPU8;\n return this[\"fromWireType\"](heap[pointer]);\n };\n\n case 1:\n return function(pointer) {\n var heap = signed ? HEAP16 : HEAPU16;\n return this[\"fromWireType\"](heap[pointer >> 1]);\n };\n\n case 2:\n return function(pointer) {\n var heap = signed ? HEAP32 : HEAPU32;\n return this[\"fromWireType\"](heap[pointer >> 2]);\n };\n\n default:\n throw new TypeError(\"Unknown integer type: \" + name);\n }\n}\n\nfunction __embind_register_enum(rawType, name, size, isSigned) {\n var shift = getShiftFromSize(size);\n name = readLatin1String(name);\n function ctor() {}\n ctor.values = {};\n registerType(rawType, {\n name: name,\n constructor: ctor,\n \"fromWireType\": function(c) {\n return this.constructor.values[c];\n },\n \"toWireType\": function(destructors, c) {\n return c.value;\n },\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": enumReadValueFromPointer(name, shift, isSigned),\n destructorFunction: null\n });\n exposePublicSymbol(name, ctor);\n}\n\nfunction __embind_register_enum_value(rawEnumType, name, enumValue) {\n var enumType = requireRegisteredType(rawEnumType, \"enum\");\n name = readLatin1String(name);\n var Enum = enumType.constructor;\n var Value = Object.create(enumType.constructor.prototype, {\n value: {\n value: enumValue\n },\n constructor: {\n value: createNamedFunction(enumType.name + \"_\" + name, function() {})\n }\n });\n Enum.values[enumValue] = Value;\n Enum[name] = Value;\n}\n\nfunction _embind_repr(v) {\n if (v === null) {\n return \"null\";\n }\n var t = typeof v;\n if (t === \"object\" || t === \"array\" || t === \"function\") {\n return v.toString();\n } else {\n return \"\" + v;\n }\n}\n\nfunction floatReadValueFromPointer(name, shift) {\n switch (shift) {\n case 2:\n return function(pointer) {\n return this[\"fromWireType\"](HEAPF32[pointer >> 2]);\n };\n\n case 3:\n return function(pointer) {\n return this[\"fromWireType\"](HEAPF64[pointer >> 3]);\n };\n\n default:\n throw new TypeError(\"Unknown float type: \" + name);\n }\n}\n\nfunction __embind_register_float(rawType, name, size) {\n var shift = getShiftFromSize(size);\n name = readLatin1String(name);\n registerType(rawType, {\n name: name,\n \"fromWireType\": function(value) {\n return value;\n },\n \"toWireType\": function(destructors, value) {\n if (typeof value !== \"number\" && typeof value !== \"boolean\") {\n throw new TypeError('Cannot convert \"' + _embind_repr(value) + '\" to ' + this.name);\n }\n return value;\n },\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": floatReadValueFromPointer(name, shift),\n destructorFunction: null\n });\n}\n\nfunction __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) {\n var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);\n name = readLatin1String(name);\n rawInvoker = embind__requireFunction(signature, rawInvoker);\n exposePublicSymbol(name, function() {\n throwUnboundTypeError(\"Cannot call \" + name + \" due to unbound types\", argTypes);\n }, argCount - 1);\n whenDependentTypesAreResolved([], argTypes, function(argTypes) {\n var invokerArgsArray = [ argTypes[0], null ].concat(argTypes.slice(1));\n replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn), argCount - 1);\n return [];\n });\n}\n\nfunction integerReadValueFromPointer(name, shift, signed) {\n switch (shift) {\n case 0:\n return signed ? function readS8FromPointer(pointer) {\n return HEAP8[pointer];\n } : function readU8FromPointer(pointer) {\n return HEAPU8[pointer];\n };\n\n case 1:\n return signed ? function readS16FromPointer(pointer) {\n return HEAP16[pointer >> 1];\n } : function readU16FromPointer(pointer) {\n return HEAPU16[pointer >> 1];\n };\n\n case 2:\n return signed ? function readS32FromPointer(pointer) {\n return HEAP32[pointer >> 2];\n } : function readU32FromPointer(pointer) {\n return HEAPU32[pointer >> 2];\n };\n\n default:\n throw new TypeError(\"Unknown integer type: \" + name);\n }\n}\n\nfunction __embind_register_integer(primitiveType, name, size, minRange, maxRange) {\n name = readLatin1String(name);\n if (maxRange === -1) {\n maxRange = 4294967295;\n }\n var shift = getShiftFromSize(size);\n var fromWireType = function(value) {\n return value;\n };\n if (minRange === 0) {\n var bitshift = 32 - 8 * size;\n fromWireType = function(value) {\n return value << bitshift >>> bitshift;\n };\n }\n var isUnsignedType = name.indexOf(\"unsigned\") != -1;\n registerType(primitiveType, {\n name: name,\n \"fromWireType\": fromWireType,\n \"toWireType\": function(destructors, value) {\n if (typeof value !== \"number\" && typeof value !== \"boolean\") {\n throw new TypeError('Cannot convert \"' + _embind_repr(value) + '\" to ' + this.name);\n }\n if (value < minRange || value > maxRange) {\n throw new TypeError('Passing a number \"' + _embind_repr(value) + '\" from JS side to C/C++ side to an argument of type \"' + name + '\", which is outside the valid range [' + minRange + \", \" + maxRange + \"]!\");\n }\n return isUnsignedType ? value >>> 0 : value | 0;\n },\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": integerReadValueFromPointer(name, shift, minRange !== 0),\n destructorFunction: null\n });\n}\n\nfunction __embind_register_memory_view(rawType, dataTypeIndex, name) {\n var typeMapping = [ Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array ];\n var TA = typeMapping[dataTypeIndex];\n function decodeMemoryView(handle) {\n handle = handle >> 2;\n var heap = HEAPU32;\n var size = heap[handle];\n var data = heap[handle + 1];\n return new TA(buffer, data, size);\n }\n name = readLatin1String(name);\n registerType(rawType, {\n name: name,\n \"fromWireType\": decodeMemoryView,\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": decodeMemoryView\n }, {\n ignoreDuplicateRegistrations: true\n });\n}\n\nfunction __embind_register_std_string(rawType, name) {\n name = readLatin1String(name);\n var stdStringIsUTF8 = name === \"std::string\";\n registerType(rawType, {\n name: name,\n \"fromWireType\": function(value) {\n var length = HEAPU32[value >> 2];\n var str;\n if (stdStringIsUTF8) {\n var decodeStartPtr = value + 4;\n for (var i = 0; i <= length; ++i) {\n var currentBytePtr = value + 4 + i;\n if (i == length || HEAPU8[currentBytePtr] == 0) {\n var maxRead = currentBytePtr - decodeStartPtr;\n var stringSegment = UTF8ToString(decodeStartPtr, maxRead);\n if (str === undefined) {\n str = stringSegment;\n } else {\n str += String.fromCharCode(0);\n str += stringSegment;\n }\n decodeStartPtr = currentBytePtr + 1;\n }\n }\n } else {\n var a = new Array(length);\n for (var i = 0; i < length; ++i) {\n a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);\n }\n str = a.join(\"\");\n }\n _free(value);\n return str;\n },\n \"toWireType\": function(destructors, value) {\n if (value instanceof ArrayBuffer) {\n value = new Uint8Array(value);\n }\n var getLength;\n var valueIsOfTypeString = typeof value === \"string\";\n if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {\n throwBindingError(\"Cannot pass non-string to std::string\");\n }\n if (stdStringIsUTF8 && valueIsOfTypeString) {\n getLength = function() {\n return lengthBytesUTF8(value);\n };\n } else {\n getLength = function() {\n return value.length;\n };\n }\n var length = getLength();\n var ptr = _malloc(4 + length + 1);\n HEAPU32[ptr >> 2] = length;\n if (stdStringIsUTF8 && valueIsOfTypeString) {\n stringToUTF8(value, ptr + 4, length + 1);\n } else {\n if (valueIsOfTypeString) {\n for (var i = 0; i < length; ++i) {\n var charCode = value.charCodeAt(i);\n if (charCode > 255) {\n _free(ptr);\n throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\");\n }\n HEAPU8[ptr + 4 + i] = charCode;\n }\n } else {\n for (var i = 0; i < length; ++i) {\n HEAPU8[ptr + 4 + i] = value[i];\n }\n }\n }\n if (destructors !== null) {\n destructors.push(_free, ptr);\n }\n return ptr;\n },\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": simpleReadValueFromPointer,\n destructorFunction: function(ptr) {\n _free(ptr);\n }\n });\n}\n\nfunction __embind_register_std_wstring(rawType, charSize, name) {\n name = readLatin1String(name);\n var decodeString, encodeString, getHeap, lengthBytesUTF, shift;\n if (charSize === 2) {\n decodeString = UTF16ToString;\n encodeString = stringToUTF16;\n lengthBytesUTF = lengthBytesUTF16;\n getHeap = function() {\n return HEAPU16;\n };\n shift = 1;\n } else if (charSize === 4) {\n decodeString = UTF32ToString;\n encodeString = stringToUTF32;\n lengthBytesUTF = lengthBytesUTF32;\n getHeap = function() {\n return HEAPU32;\n };\n shift = 2;\n }\n registerType(rawType, {\n name: name,\n \"fromWireType\": function(value) {\n var length = HEAPU32[value >> 2];\n var HEAP = getHeap();\n var str;\n var decodeStartPtr = value + 4;\n for (var i = 0; i <= length; ++i) {\n var currentBytePtr = value + 4 + i * charSize;\n if (i == length || HEAP[currentBytePtr >> shift] == 0) {\n var maxReadBytes = currentBytePtr - decodeStartPtr;\n var stringSegment = decodeString(decodeStartPtr, maxReadBytes);\n if (str === undefined) {\n str = stringSegment;\n } else {\n str += String.fromCharCode(0);\n str += stringSegment;\n }\n decodeStartPtr = currentBytePtr + charSize;\n }\n }\n _free(value);\n return str;\n },\n \"toWireType\": function(destructors, value) {\n if (!(typeof value === \"string\")) {\n throwBindingError(\"Cannot pass non-string to C++ string type \" + name);\n }\n var length = lengthBytesUTF(value);\n var ptr = _malloc(4 + length + charSize);\n HEAPU32[ptr >> 2] = length >> shift;\n encodeString(value, ptr + 4, length + charSize);\n if (destructors !== null) {\n destructors.push(_free, ptr);\n }\n return ptr;\n },\n \"argPackAdvance\": 8,\n \"readValueFromPointer\": simpleReadValueFromPointer,\n destructorFunction: function(ptr) {\n _free(ptr);\n }\n });\n}\n\nfunction __embind_register_value_object(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {\n structRegistrations[rawType] = {\n name: readLatin1String(name),\n rawConstructor: embind__requireFunction(constructorSignature, rawConstructor),\n rawDestructor: embind__requireFunction(destructorSignature, rawDestructor),\n fields: []\n };\n}\n\nfunction __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {\n structRegistrations[structType].fields.push({\n fieldName: readLatin1String(fieldName),\n getterReturnType: getterReturnType,\n getter: embind__requireFunction(getterSignature, getter),\n getterContext: getterContext,\n setterArgumentType: setterArgumentType,\n setter: embind__requireFunction(setterSignature, setter),\n setterContext: setterContext\n });\n}\n\nfunction __embind_register_void(rawType, name) {\n name = readLatin1String(name);\n registerType(rawType, {\n isVoid: true,\n name: name,\n \"argPackAdvance\": 0,\n \"fromWireType\": function() {\n return undefined;\n },\n \"toWireType\": function(destructors, o) {\n return undefined;\n }\n });\n}\n\nfunction __emval_as(handle, returnType, destructorsRef) {\n handle = requireHandle(handle);\n returnType = requireRegisteredType(returnType, \"emval::as\");\n var destructors = [];\n var rd = __emval_register(destructors);\n HEAP32[destructorsRef >> 2] = rd;\n return returnType[\"toWireType\"](destructors, handle);\n}\n\nfunction __emval_allocateDestructors(destructorsRef) {\n var destructors = [];\n HEAP32[destructorsRef >> 2] = __emval_register(destructors);\n return destructors;\n}\n\nvar emval_symbols = {};\n\nfunction getStringOrSymbol(address) {\n var symbol = emval_symbols[address];\n if (symbol === undefined) {\n return readLatin1String(address);\n } else {\n return symbol;\n }\n}\n\nvar emval_methodCallers = [];\n\nfunction __emval_call_method(caller, handle, methodName, destructorsRef, args) {\n caller = emval_methodCallers[caller];\n handle = requireHandle(handle);\n methodName = getStringOrSymbol(methodName);\n return caller(handle, methodName, __emval_allocateDestructors(destructorsRef), args);\n}\n\nfunction __emval_call_void_method(caller, handle, methodName, args) {\n caller = emval_methodCallers[caller];\n handle = requireHandle(handle);\n methodName = getStringOrSymbol(methodName);\n caller(handle, methodName, null, args);\n}\n\nfunction __emval_addMethodCaller(caller) {\n var id = emval_methodCallers.length;\n emval_methodCallers.push(caller);\n return id;\n}\n\nfunction __emval_lookupTypes(argCount, argTypes) {\n var a = new Array(argCount);\n for (var i = 0; i < argCount; ++i) {\n a[i] = requireRegisteredType(HEAP32[(argTypes >> 2) + i], \"parameter \" + i);\n }\n return a;\n}\n\nfunction __emval_get_method_caller(argCount, argTypes) {\n var types = __emval_lookupTypes(argCount, argTypes);\n var retType = types[0];\n var signatureName = retType.name + \"_$\" + types.slice(1).map(function(t) {\n return t.name;\n }).join(\"_\") + \"$\";\n var params = [ \"retType\" ];\n var args = [ retType ];\n var argsList = \"\";\n for (var i = 0; i < argCount - 1; ++i) {\n argsList += (i !== 0 ? \", \" : \"\") + \"arg\" + i;\n params.push(\"argType\" + i);\n args.push(types[1 + i]);\n }\n var functionName = makeLegalFunctionName(\"methodCaller_\" + signatureName);\n var functionBody = \"return function \" + functionName + \"(handle, name, destructors, args) {\\n\";\n var offset = 0;\n for (var i = 0; i < argCount - 1; ++i) {\n functionBody += \" var arg\" + i + \" = argType\" + i + \".readValueFromPointer(args\" + (offset ? \"+\" + offset : \"\") + \");\\n\";\n offset += types[i + 1][\"argPackAdvance\"];\n }\n functionBody += \" var rv = handle[name](\" + argsList + \");\\n\";\n for (var i = 0; i < argCount - 1; ++i) {\n if (types[i + 1][\"deleteObject\"]) {\n functionBody += \" argType\" + i + \".deleteObject(arg\" + i + \");\\n\";\n }\n }\n if (!retType.isVoid) {\n functionBody += \" return retType.toWireType(destructors, rv);\\n\";\n }\n functionBody += \"};\\n\";\n params.push(functionBody);\n var invokerFunction = new_(Function, params).apply(null, args);\n return __emval_addMethodCaller(invokerFunction);\n}\n\nfunction __emval_get_module_property(name) {\n name = getStringOrSymbol(name);\n return __emval_register(Module[name]);\n}\n\nfunction __emval_get_property(handle, key) {\n handle = requireHandle(handle);\n key = requireHandle(key);\n return __emval_register(handle[key]);\n}\n\nfunction __emval_incref(handle) {\n if (handle > 4) {\n emval_handle_array[handle].refcount += 1;\n }\n}\n\nfunction __emval_new_cstring(v) {\n return __emval_register(getStringOrSymbol(v));\n}\n\nfunction __emval_run_destructors(handle) {\n var destructors = emval_handle_array[handle].value;\n runDestructors(destructors);\n __emval_decref(handle);\n}\n\nfunction __emval_take_value(type, argv) {\n type = requireRegisteredType(type, \"_emval_take_value\");\n var v = type[\"readValueFromPointer\"](argv);\n return __emval_register(v);\n}\n\nfunction _abort() {\n abort();\n}\n\nfunction emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = 2147483648;\n if (requestedSize > maxHeapSize) {\n return false;\n }\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nvar SYSCALLS = {\n mappings: {},\n buffers: [ null, [], [] ],\n printChar: function(stream, curr) {\n var buffer = SYSCALLS.buffers[stream];\n if (curr === 0 || curr === 10) {\n (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));\n buffer.length = 0;\n } else {\n buffer.push(curr);\n }\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n get64: function(low, high) {\n return low;\n }\n};\n\nfunction _fd_close(fd) {\n return 0;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n var num = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAP32[iov + i * 8 >> 2];\n var len = HEAP32[iov + (i * 8 + 4) >> 2];\n for (var j = 0; j < len; j++) {\n SYSCALLS.printChar(fd, HEAPU8[ptr + j]);\n }\n num += len;\n }\n HEAP32[pnum >> 2] = num;\n return 0;\n}\n\nfunction _setTempRet0($i) {\n setTempRet0($i | 0);\n}\n\ninit_emval();\n\nPureVirtualError = Module[\"PureVirtualError\"] = extendError(Error, \"PureVirtualError\");\n\nembind_init_charCodes();\n\ninit_embind();\n\nBindingError = Module[\"BindingError\"] = extendError(Error, \"BindingError\");\n\nInternalError = Module[\"InternalError\"] = extendError(Error, \"InternalError\");\n\ninit_ClassHandle();\n\ninit_RegisteredPointer();\n\nUnboundTypeError = Module[\"UnboundTypeError\"] = extendError(Error, \"UnboundTypeError\");\n\nvar ASSERTIONS = false;\n\nfunction intArrayToString(array) {\n var ret = [];\n for (var i = 0; i < array.length; i++) {\n var chr = array[i];\n if (chr > 255) {\n if (ASSERTIONS) {\n assert(false, \"Character code \" + chr + \" (\" + String.fromCharCode(chr) + \") at offset \" + i + \" not in 0x00-0xFF.\");\n }\n chr &= 255;\n }\n ret.push(String.fromCharCode(chr));\n }\n return ret.join(\"\");\n}\n\nvar decodeBase64 = typeof atob === \"function\" ? atob : function(input) {\n var keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var output = \"\";\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n do {\n enc1 = keyStr.indexOf(input.charAt(i++));\n enc2 = keyStr.indexOf(input.charAt(i++));\n enc3 = keyStr.indexOf(input.charAt(i++));\n enc4 = keyStr.indexOf(input.charAt(i++));\n chr1 = enc1 << 2 | enc2 >> 4;\n chr2 = (enc2 & 15) << 4 | enc3 >> 2;\n chr3 = (enc3 & 3) << 6 | enc4;\n output = output + String.fromCharCode(chr1);\n if (enc3 !== 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 !== 64) {\n output = output + String.fromCharCode(chr3);\n }\n } while (i < input.length);\n return output;\n};\n\nfunction intArrayFromBase64(s) {\n if (typeof ENVIRONMENT_IS_NODE === \"boolean\" && ENVIRONMENT_IS_NODE) {\n var buf;\n try {\n buf = Buffer.from(s, \"base64\");\n } catch (_) {\n buf = new Buffer(s, \"base64\");\n }\n return new Uint8Array(buf[\"buffer\"], buf[\"byteOffset\"], buf[\"byteLength\"]);\n }\n try {\n var decoded = decodeBase64(s);\n var bytes = new Uint8Array(decoded.length);\n for (var i = 0; i < decoded.length; ++i) {\n bytes[i] = decoded.charCodeAt(i);\n }\n return bytes;\n } catch (_) {\n throw new Error(\"Converting base64 string to bytes failed.\");\n }\n}\n\nfunction tryParseAsDataURI(filename) {\n if (!isDataURI(filename)) {\n return;\n }\n return intArrayFromBase64(filename.slice(dataURIPrefix.length));\n}\n\nvar asmLibraryArg = {\n \"o\": __embind_create_inheriting_constructor,\n \"H\": __embind_finalize_value_object,\n \"A\": __embind_register_bool,\n \"c\": __embind_register_class,\n \"i\": __embind_register_class_class_function,\n \"f\": __embind_register_class_class_property,\n \"n\": __embind_register_class_constructor,\n \"a\": __embind_register_class_function,\n \"b\": __embind_register_class_property,\n \"z\": __embind_register_emval,\n \"k\": __embind_register_enum,\n \"j\": __embind_register_enum_value,\n \"q\": __embind_register_float,\n \"K\": __embind_register_function,\n \"h\": __embind_register_integer,\n \"g\": __embind_register_memory_view,\n \"r\": __embind_register_std_string,\n \"m\": __embind_register_std_wstring,\n \"J\": __embind_register_value_object,\n \"I\": __embind_register_value_object_field,\n \"B\": __embind_register_void,\n \"l\": __emval_as,\n \"G\": __emval_call_method,\n \"e\": __emval_call_void_method,\n \"D\": __emval_decref,\n \"d\": __emval_get_method_caller,\n \"L\": __emval_get_module_property,\n \"u\": __emval_get_property,\n \"C\": __emval_incref,\n \"E\": __emval_new_cstring,\n \"F\": __emval_run_destructors,\n \"t\": __emval_take_value,\n \"s\": _abort,\n \"x\": _emscripten_resize_heap,\n \"y\": _fd_close,\n \"v\": _fd_seek,\n \"p\": _fd_write,\n \"w\": _setTempRet0\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = Module[\"___wasm_call_ctors\"] = function() {\n return (___wasm_call_ctors = Module[\"___wasm_call_ctors\"] = Module[\"asm\"][\"N\"]).apply(null, arguments);\n};\n\nvar _malloc = Module[\"_malloc\"] = function() {\n return (_malloc = Module[\"_malloc\"] = Module[\"asm\"][\"P\"]).apply(null, arguments);\n};\n\nvar ___getTypeName = Module[\"___getTypeName\"] = function() {\n return (___getTypeName = Module[\"___getTypeName\"] = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n};\n\nvar ___embind_register_native_and_builtin_types = Module[\"___embind_register_native_and_builtin_types\"] = function() {\n return (___embind_register_native_and_builtin_types = Module[\"___embind_register_native_and_builtin_types\"] = Module[\"asm\"][\"R\"]).apply(null, arguments);\n};\n\nvar _free = Module[\"_free\"] = function() {\n return (_free = Module[\"_free\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n};\n\nvar dynCall_jiji = Module[\"dynCall_jiji\"] = function() {\n return (dynCall_jiji = Module[\"dynCall_jiji\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n};\n\nvar calledRun;\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction run(args) {\n args = args || arguments_;\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nModule[\"run\"] = run;\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nrun();\n\n\n return Rive.ready\n}\n);\n})();\nexport default Rive;","import * as rc from './rive_canvas.js';\n\n/**\n * Generic type for a parameterless void callback\n */\nexport type VoidCallback = () => void;\n\n// Tracks playback states; numbers map to the runtime's numerical values\n// i.e. play: 0, pause: 1, stop: 2\nenum PlaybackState {\n Play = 0,\n Pause,\n Stop\n}\n\n/**\n * Interface for artboard bounds\n */\nexport interface Bounds extends rc.AABB {}\n\n// #region layout\n\n// Fit options for the canvas\nexport enum Fit {\n Cover = 'cover',\n Contain = 'contain',\n Fill = 'fill',\n FitWidth = 'fitWidth',\n FitHeight = 'fitHeight',\n None = 'none',\n ScaleDown = 'scaleDown'\n}\n\n// Alignment options for the canvas\nexport enum Alignment {\n Center = 'center',\n TopLeft = 'topLeft',\n TopCenter = 'topCenter',\n TopRight = 'topRight',\n CenterLeft = 'centerLeft',\n CenterRight = 'centerRight',\n BottomLeft = 'bottomLeft',\n BottomCenter = 'bottomCenter',\n BottomRight = 'bottomRight'\n}\n\n// Interface for the Layout static method contructor\nexport interface LayoutParameters {\n fit?: Fit,\n alignment?: Alignment,\n minX?: number,\n minY?: number,\n maxX?: number,\n maxY?: number\n}\n\n// Alignment options for Rive animations in a HTML canvas\nexport class Layout {\n\n // Runtime fit and alignment are accessed every frame, so we cache their\n // values to save cycles\n private cachedRuntimeFit: rc.Fit;\n private cachedRuntimeAlignment: rc.Alignment;\n\n public readonly fit: Fit;\n public readonly alignment: Alignment;\n public readonly minX: number;\n public readonly minY: number;\n public readonly maxX: number;\n public readonly maxY: number;\n\n constructor(params?: LayoutParameters) {\n this.fit = params?.fit ?? Fit.Contain;\n this.alignment = params?.alignment ?? Alignment.Center;\n this.minX = params?.minX ?? 0;\n this.minY = params?.minY ?? 0;\n this.maxX = params?.maxX ?? 0;\n this.maxY = params?.maxY ?? 0;\n }\n\n // Alternative constructor to build a Layout from an interface/object\n static new({ fit, alignment, minX, minY, maxX, maxY }: LayoutParameters): Layout {\n console.warn('This function is deprecated: please use `new Layout({})` instead');\n return new Layout({ fit, alignment, minX, minY, maxX, maxY });\n }\n\n /**\n * Makes a copy of the layout, replacing any specified parameters\n */\n public copyWith({ fit, alignment, minX, minY, maxX, maxY }: LayoutParameters): Layout {\n return new Layout({\n fit: fit ?? this.fit,\n alignment: alignment ?? this.alignment,\n minX: minX ?? this.minX,\n minY: minY ?? this.minY,\n maxX: maxX ?? this.maxX,\n maxY: maxY ?? this.maxY\n });\n }\n\n // Returns fit for the Wasm runtime format\n public runtimeFit(rive: rc.RiveCanvas): rc.Fit {\n if (this.cachedRuntimeFit) return this.cachedRuntimeFit;\n\n let fit;\n if (this.fit === Fit.Cover) fit = rive.Fit.cover;\n else if (this.fit === Fit.Contain) fit = rive.Fit.contain;\n else if (this.fit === Fit.Fill) fit = rive.Fit.fill;\n else if (this.fit === Fit.FitWidth) fit = rive.Fit.fitWidth;\n else if (this.fit === Fit.FitHeight) fit = rive.Fit.fitHeight;\n else if (this.fit === Fit.ScaleDown) fit = rive.Fit.scaleDown;\n else fit = rive.Fit.none;\n\n this.cachedRuntimeFit = fit;\n return fit;\n }\n\n // Returns alignment for the Wasm runtime format\n public runtimeAlignment(rive: rc.RiveCanvas): rc.Alignment {\n if (this.cachedRuntimeAlignment) return this.cachedRuntimeAlignment;\n\n let alignment;\n if (this.alignment === Alignment.TopLeft) alignment = rive.Alignment.topLeft;\n else if (this.alignment === Alignment.TopCenter) alignment = rive.Alignment.topCenter;\n else if (this.alignment === Alignment.TopRight) alignment = rive.Alignment.topRight;\n else if (this.alignment === Alignment.CenterLeft) alignment = rive.Alignment.centerLeft;\n else if (this.alignment === Alignment.CenterRight) alignment = rive.Alignment.centerRight;\n else if (this.alignment === Alignment.BottomLeft) alignment = rive.Alignment.bottomLeft;\n else if (this.alignment === Alignment.BottomCenter) alignment = rive.Alignment.bottomCenter;\n else if (this.alignment === Alignment.BottomRight) alignment = rive.Alignment.bottomRight;\n else alignment = rive.Alignment.center;\n\n this.cachedRuntimeAlignment = alignment;\n return alignment;\n }\n}\n\n// #endregion\n\n// #region runtime\n\n// Callback type when looking for a runtime instance\nexport type RuntimeCallback = (rive: rc.RiveCanvas) => void;\n\n// Runtime singleton; use getInstance to provide a callback that returns the\n// Rive runtime\nexport class RuntimeLoader {\n\n // Singleton helpers\n private static runtime: rc.RiveCanvas;\n // Flag to indicate that loading has started/completed\n private static isLoading: boolean = false;\n // List of callbacks for the runtime that come in while loading\n private static callBackQueue: RuntimeCallback[] = [];\n // Instance of the Rive runtime\n private static rive: rc.RiveCanvas; \n // Path to the Wasm file; default path works for testing only;\n // if embedded wasm is used then this is never used.\n private static wasmURL: string = 'dist/rive.wasm';\n\n // Class is never instantiated\n private constructor() { }\n\n // Loads the runtime\n private static loadRuntime(): void {\n rc.default({\n // Loads Wasm bundle\n locateFile: (_: string) => RuntimeLoader.wasmURL\n }).then((rive: rc.RiveCanvas) => {\n RuntimeLoader.runtime = rive;\n // Fire all the callbacks\n while (RuntimeLoader.callBackQueue.length > 0) {\n RuntimeLoader.callBackQueue.shift()?.(RuntimeLoader.runtime);\n }\n });\n }\n\n // Provides a runtime instance via a callback\n public static getInstance(callback: RuntimeCallback): void {\n // If it's not loading, start loading runtime\n if (!RuntimeLoader.isLoading) {\n RuntimeLoader.isLoading = true;\n RuntimeLoader.loadRuntime();\n }\n if (!RuntimeLoader.runtime) {\n RuntimeLoader.callBackQueue.push(callback);\n } else {\n callback(RuntimeLoader.runtime);\n }\n }\n\n // Provides a runtime instance via a promise\n public static awaitInstance(): Promise {\n return new Promise((resolve, reject) =>\n RuntimeLoader.getInstance((rive: rc.RiveCanvas): void => resolve(rive))\n );\n }\n\n // Manually sets the wasm url\n public static setWasmUrl(url: string): void {\n RuntimeLoader.wasmURL = url;\n }\n}\n\n// #endregion\n\n// #region animations\n\n// Wraps animations and instances from the runtime and keeps track of playback\n// state\nclass Animation {\n public loopCount: number = 0;\n public readonly instance: rc.LinearAnimationInstance;\n\n // Time to which the animation should move to on the next render\n public scrubTo: number | null = null;\n\n /**\n * Constructs a new animation\n * @constructor\n * @param {any} animation: runtime animation object\n * @param {any} instance: runtime animation instance object\n */\n constructor(private animation: rc.LinearAnimation, runtime: rc.RiveCanvas, public playing: boolean) {\n this.instance = new runtime.LinearAnimationInstance(animation);\n }\n\n // Returns the animation's name\n public get name(): string {\n return this.animation.name;\n }\n\n // Returns the animation's current time\n public get time(): number {\n return this.instance.time;\n }\n\n // Sets the animation's current time\n public set time(value: number) {\n this.instance.time = value;\n }\n\n // Returns the animation's loop type\n public get loopValue(): number {\n return this.animation.loopValue;\n }\n\n /**\n * Advances the animation by the give time. If the animation needs scrubbing,\n * time is ignored and the stored scrub value is used.\n * @param time the time to advance the animation by if no scrubbing required\n */\n public advance(time: number) {\n if (this.scrubTo === null) {\n this.instance.advance(time);\n } else {\n this.instance.time = 0;\n this.instance.advance(this.scrubTo);\n this.scrubTo = null;\n }\n }\n\n public get needsScrub(): boolean {\n return this.scrubTo !== null;\n }\n\n /**\n * Deletes the backing Wasm animation instance; once this is called, this\n * animation is no more.\n */\n public cleanup() {\n this.instance.delete();\n }\n}\n\n// #endregion\n\n// #region state machines\n\nexport enum StateMachineInputType {\n Number = 56,\n Trigger = 58,\n Boolean = 59,\n}\n\n/**\n * An input for a state machine\n */\nexport class StateMachineInput {\n\n constructor(public readonly type: StateMachineInputType, private runtimeInput: rc.SMIInput) { }\n\n /**\n * Returns the name of the input\n */\n public get name(): string {\n return this.runtimeInput.name;\n }\n\n /**\n * Returns the current value of the input\n */\n public get value(): number | boolean {\n return this.runtimeInput.value;\n }\n\n /**\n * Sets the value of the input\n */\n public set value(value: number | boolean) {\n this.runtimeInput.value = value;\n }\n\n /**\n * Fires a trigger; does nothing on Number or Boolean input types\n */\n public fire(): void {\n if (this.type === StateMachineInputType.Trigger) {\n this.runtimeInput.fire();\n }\n }\n}\n\nclass StateMachine {\n\n /**\n * Caches the inputs from the runtime\n */\n public readonly inputs: StateMachineInput[] = [];\n\n /**\n * Runtime state machine instance\n */\n public readonly instance: rc.StateMachineInstance;\n\n /**\n * @constructor\n * @param stateMachine runtime state machine object\n * @param instance runtime state machine instance object\n */\n constructor(private stateMachine: rc.StateMachine, runtime: rc.RiveCanvas, public playing: boolean) {\n this.instance = new runtime.StateMachineInstance(stateMachine);\n this.initInputs(runtime);\n }\n\n public get name(): string {\n return this.stateMachine.name;\n }\n\n /**\n * Returns a list of state names that have changed on this frame\n */\n public get statesChanged(): string[] {\n const names: string[] = [];\n for (let i = 0; i < this.instance.stateChangedCount(); i++) {\n names.push(this.instance.stateChangedNameByIndex(i));\n }\n return names;\n }\n\n /**\n * Fetches references to the state machine's inputs and caches them\n * @param runtime an instance of the runtime; needed for the SMIInput types\n */\n private initInputs(runtime: rc.RiveCanvas): void {\n // Fetch the inputs from the runtime if we don't have them\n for (let i = 0; i < this.instance.inputCount(); i++) {\n const input = this.instance.input(i);\n this.inputs.push(this.mapRuntimeInput(input, runtime));\n }\n }\n\n /**\n * Maps a runtime input to it's appropriate type\n * @param input \n */\n private mapRuntimeInput(input: rc.SMIInput, runtime: rc.RiveCanvas): StateMachineInput {\n if (input.type === runtime.SMIInput.bool) {\n return new StateMachineInput(StateMachineInputType.Boolean, input.asBool());\n }\n else if (input.type === runtime.SMIInput.number) {\n return new StateMachineInput(StateMachineInputType.Number, input.asNumber());\n }\n else if (input.type === runtime.SMIInput.trigger) {\n return new StateMachineInput(StateMachineInputType.Trigger, input.asTrigger());\n }\n }\n\n /**\n * Deletes the backing Wasm state machine instance; once this is called, this\n * state machine is no more.\n */\n public cleanup() {\n this.instance.delete();\n }\n}\n\n// #endregion\n\n// #region animator\n\n/**\n * Manages animation\n */\nclass Animator {\n\n /**\n * Constructs a new animator\n * @constructor\n * @param runtime Rive runtime; needed to instance animations & state machines\n * @param artboard the artboard that holds all animations and state machines\n * @param animations optional list of animations\n * @param stateMachines optional list of state machines\n */\n constructor(\n private runtime: rc.RiveCanvas,\n private artboard: rc.Artboard,\n private eventManager: EventManager,\n public readonly animations: Animation[] = [],\n public readonly stateMachines: StateMachine[] = []) {}\n\n /**\n * Adds animations and state machines by their names. If names are shared\n * between animations & state machines, then the first one found will be\n * created. Best not to use the same names for these in your Rive file.\n * @param animatable the name(s) of animations and state machines to add\n * @returns a list of names of the playing animations and state machines\n */\n public add(animatables: string | string[], playing: boolean, fireEvent = true): string[] {\n animatables = mapToStringArray(animatables);\n // If animatables is empty, play or pause everything\n if (animatables.length === 0) {\n this.animations.forEach(a => a.playing = playing);\n this.stateMachines.forEach(m => m.playing = playing);\n } else {\n // Play/pause already instanced items, or create new instances\n const instancedAnimationNames = this.animations.map(a => a.name);\n const instancedMachineNames = this.stateMachines.map(m => m.name);\n for (const i in animatables) {\n const aIndex = instancedAnimationNames.indexOf(animatables[i]);\n const mIndex = instancedMachineNames.indexOf(animatables[i]);\n if (aIndex >= 0 || mIndex >= 0) {\n if (aIndex >= 0) {\n // Animation is instanced, play/pause it\n this.animations[aIndex].playing = playing;\n } else {\n // State machine is instanced, play/pause it\n this.stateMachines[mIndex].playing = playing;\n }\n } else {\n // Try to create a new animation instance\n const anim = this.artboard.animationByName(animatables[i]);\n if(anim) {\n this.animations.push(new Animation(anim, this.runtime, playing));\n } else {\n // Try to create a new state machine instance\n const sm = this.artboard.stateMachineByName(animatables[i]);\n if (sm) {\n this.stateMachines.push(new StateMachine(sm, this.runtime, playing));\n }\n }\n }\n }\n }\n // Fire play/paused events for animations\n if (fireEvent) {\n if (playing) {\n this.eventManager.fire({\n type: EventType.Play,\n data: this.playing,\n });\n } else {\n this.eventManager.fire({\n type: EventType.Pause,\n data: this.paused,\n });\n }\n }\n\n return playing ? this.playing : this.paused;\n }\n\n /**\n * Play the named animations/state machines\n * @param animatables the names of the animations/machines to play; plays all if empty\n * @returns a list of the playing items\n */\n public play(animatables: string | string[]): string[] {\n return this.add(animatables, true);\n }\n\n /**\n * Pauses named animations and state machines, or everything if nothing is\n * specified\n * @param animatables names of the animations and state machines to pause\n * @returns a list of names of the animations and state machines paused\n */\n public pause(animatables: string[]): string[] {\n return this.add(animatables, false);\n }\n\n /**\n * Set time of named animations\n * @param animations names of the animations to scrub\n * @param value time scrub value, a floating point number to which the playhead is jumped\n * @returns a list of names of the animations that were scrubbed\n */\n public scrub(animatables: string[], value: number): string[] {\n const forScrubbing = this.animations.filter(a => animatables.includes(a.name));\n forScrubbing.forEach(a => a.scrubTo = value);\n return forScrubbing.map(a => a.name);\n }\n\n /**\n * Returns a list of names of all animations and state machines currently\n * playing\n */\n public get playing(): string[] {\n return this.animations.filter(a => a.playing).map(a => a.name).concat(\n this.stateMachines.filter(m => m.playing).map(m => m.name)\n );\n }\n\n /**\n * Returns a list of names of all animations and state machines currently\n * paused\n */\n public get paused(): string[] {\n return this.animations.filter(a => !a.playing).map(a => a.name).concat(\n this.stateMachines.filter(m => !m.playing).map(m => m.name)\n );\n }\n\n /**\n * Stops and removes all named animations and state machines\n * @param animatables animations and state machines to remove\n * @returns a list of names of removed items\n */\n public stop(animatables?: string[] | string): string[] {\n animatables = mapToStringArray(animatables);\n\n // If nothing's specified, wipe them out, all of them\n let removedNames: string[] = [];\n // Stop everything\n if (animatables.length === 0) {\n removedNames = this.animations.map(a => a.name).concat(\n this.stateMachines.map(m => m.name)\n );\n // Clean up before emptying the arrays\n this.animations.forEach(a => a.cleanup());\n this.stateMachines.forEach(m => m.cleanup());\n // Empty out the arrays\n this.animations.splice(0, this.animations.length);\n this.stateMachines.splice(0, this.stateMachines.length);\n } else {\n // Remove only the named animations/state machines\n const animationsToRemove = this.animations.filter(\n a => animatables.includes(a.name)\n );\n \n animationsToRemove.forEach(a => {\n a.cleanup();\n this.animations.splice(this.animations.indexOf(a), 1);\n });\n const machinesToRemove = this.stateMachines.filter(\n m => animatables.includes(m.name)\n );\n machinesToRemove.forEach(m => {\n m.cleanup();\n this.stateMachines.splice(this.stateMachines.indexOf(m), 1);\n });\n removedNames = animationsToRemove.map(a => a.name).concat(\n machinesToRemove.map(m => m.name));\n }\n\n this.eventManager.fire({\n type: EventType.Stop,\n data: removedNames,\n });\n\n // Return the list of animations removed\n return removedNames;\n }\n\n /**\n * Returns true if at least one animation is active\n */\n public get isPlaying(): boolean {\n return this.animations.reduce((acc, curr) => acc || curr.playing, false)\n || this.stateMachines.reduce((acc, curr) => acc || curr.playing, false);\n }\n\n /**\n * Returns true if all animations are paused and there's at least one animation\n */\n public get isPaused(): boolean {\n return !this.isPlaying && \n (this.animations.length > 0 || this.stateMachines.length > 0); \n }\n\n /**\n * Returns true if there are no playing or paused animations/state machines\n */\n public get isStopped(): boolean {\n return this.animations.length === 0 && this.stateMachines.length === 0;\n }\n\n /**\n * If there are no animations or state machines, add the first one found\n * @returns the name of the animation or state machine instanced\n */\n public atLeastOne(playing: boolean, fireEvent = true): string {\n let instancedName: string;\n if (this.animations.length === 0 && this.stateMachines.length === 0) {\n if(this.artboard.animationCount() > 0) {\n // Add the first animation\n this.add([instancedName = this.artboard.animationByIndex(0).name], playing, fireEvent);\n } else if(this.artboard.stateMachineCount() > 0) {\n // Add the first state machine\n this.add([instancedName = this.artboard.stateMachineByIndex(0).name], playing, fireEvent);\n }\n }\n return instancedName;\n }\n\n /**\n * Checks if any animations have looped and if so, fire the appropriate event\n */\n public handleLooping() {\n for (const animation of this.animations.filter(a => a.playing)) {\n // Emit if the animation looped\n if (animation.loopValue === 0 && animation.loopCount) {\n animation.loopCount = 0;\n // This is a one-shot; if it has ended, delete the instance\n this.stop(animation.name);\n }\n else if (animation.loopValue === 1 && animation.loopCount) {\n this.eventManager.fire({\n type: EventType.Loop,\n data: { animation: animation.name, type: LoopType.Loop }\n });\n animation.loopCount = 0;\n }\n // Wasm indicates a loop at each time the animation\n // changes direction, so a full loop/lap occurs every\n // two loop counts\n else if (animation.loopValue === 2 && animation.loopCount > 1) {\n this.eventManager.fire({\n type: EventType.Loop,\n data: { animation: animation.name, type: LoopType.PingPong }\n });\n animation.loopCount = 0;\n }\n }\n }\n\n /**\n * Checks if states have changed in state machines and fires a statechange\n * event\n */\n public handleStateChanges() {\n const statesChanged: string[] = [];\n for (const stateMachine of this.stateMachines.filter(sm => sm.playing)) {\n statesChanged.push(...stateMachine.statesChanged);\n }\n if (statesChanged.length > 0) {\n this.eventManager.fire({\n type: EventType.StateChange,\n data: statesChanged,\n });\n }\n }\n\n}\n\n// #endregion\n\n// #region events\n\n/**\n * Supported event types triggered in Rive\n */\nexport enum EventType {\n Load = 'load',\n LoadError = 'loaderror',\n Play = 'play',\n Pause = 'pause',\n Stop = 'stop',\n Loop = 'loop',\n Draw = 'draw',\n StateChange = 'statechange',\n}\n\n// Event fired by Rive\nexport interface Event {\n type: EventType,\n data?: string | string[] | LoopEvent,\n}\n\n/**\n * Looping types: one-shot, loop, and ping-pong\n */\nexport enum LoopType {\n OneShot = 'oneshot', // has value 0 in runtime\n Loop = 'loop', // has value 1 in runtime\n PingPong = 'pingpong' // has value 2 in runtime\n}\n\n/**\n * Loop events are returned through onloop callbacks\n */\nexport interface LoopEvent {\n animation: string;\n type: LoopType;\n}\n\n/**\n * Loop events are returned through onloop callbacks\n */\nexport type EventCallback = (event: Event) => void;\n\n/**\n * Event listeners registered with the event manager\n */\nexport interface EventListener {\n type: EventType,\n callback: EventCallback,\n}\n\n// Manages Rive events and listeners\nclass EventManager {\n\n constructor(private listeners: EventListener[] = []) { }\n\n // Gets listeners of specified type\n private getListeners(type: EventType): EventListener[] {\n return this.listeners.filter(e => e.type === type);\n }\n\n // Adds a listener\n public add(listener: EventListener): void {\n if (!this.listeners.includes(listener)) {\n this.listeners.push(listener);\n }\n }\n\n /**\n * Removes a listener\n * @param listener the listener with the callback to be removed\n */\n public remove(listener: EventListener): void {\n // We can't simply look for the listener as it'll be a different instance to\n // one originally subscribed. Find all the listeners of the right type and\n // then check their callbacks which should match.\n for (let i = 0; i < this.listeners.length; i++) {\n const currentListener = this.listeners[i];\n if (currentListener.type === listener.type) {\n if (currentListener.callback === listener.callback) {\n this.listeners.splice(i, 1);\n break;\n }\n }\n }\n }\n\n /**\n * Clears all listeners of specified type, or every listener if no type is\n * specified\n * @param type the type of listeners to clear, or all listeners if not\n * specified\n */\n public removeAll(type?: EventType) {\n if (!type) {\n this.listeners.splice(0, this.listeners.length);\n } else {\n this.listeners\n .filter((l) => l.type === type)\n .forEach((l) => this.remove(l));\n }\n }\n\n // Fires an event\n public fire(event: Event): void {\n const eventListeners = this.getListeners(event.type);\n eventListeners.forEach(\n listener => listener.callback(event)\n );\n }\n}\n\n// #endregion\n\n// #region Manages a queue of tasks\n\n// A task in the queue; will fire the action when the queue is processed; will\n// also optionally fire an event.\nexport interface Task {\n action: VoidCallback,\n event?: Event,\n}\n\n// Manages a queue of tasks\nclass TaskQueueManager {\n private queue: Task[] = [];\n\n constructor(private eventManager: EventManager) { }\n\n // Adds a task top the queue\n public add(task: Task): void {\n this.queue.push(task);\n }\n\n // Processes all tasks in the queue\n public process(): void {\n while (this.queue.length > 0) {\n const task = this.queue.shift();\n task?.action();\n if (task?.event) {\n this.eventManager.fire(task.event);\n }\n }\n }\n}\n\n// #endregion\n\n// #region Rive\n\n// Interface for the Rive static method contructor\nexport interface RiveParameters {\n canvas: HTMLCanvasElement | OffscreenCanvas, // canvas is required\n src?: string, // one of src or buffer is required\n buffer?: ArrayBuffer, // one of src or buffer is required\n artboard?: string,\n animations?: string | string[],\n stateMachines?: string | string[],\n layout?: Layout,\n autoplay?: boolean,\n onLoad?: EventCallback,\n onLoadError?: EventCallback,\n onPlay?: EventCallback,\n onPause?: EventCallback,\n onStop?: EventCallback,\n onLoop?: EventCallback,\n onStateChange?: EventCallback,\n /**\n * @deprecated Use `onLoad()` instead\n */\n onload?: EventCallback,\n /**\n * @deprecated Use `onLoadError()` instead\n */\n onloaderror?: EventCallback,\n /**\n * @deprecated Use `onPoad()` instead\n */\n onplay?: EventCallback,\n /**\n * @deprecated Use `onPause()` instead\n */\n onpause?: EventCallback,\n /**\n * @deprecated Use `onStop()` instead\n */\n onstop?: EventCallback,\n /**\n * @deprecated Use `onLoop()` instead\n */\n onloop?: EventCallback,\n /**\n * @deprecated Use `onStateChange()` instead\n */\n onstatechange?: EventCallback,\n}\n\n// Interface to Rive.load function\nexport interface RiveLoadParameters {\n src?: string,\n buffer?: ArrayBuffer,\n autoplay?: boolean,\n artboard?: string,\n animations?: string | string[],\n stateMachines?: string | string[],\n}\n\n// Interface ot Rive.reset function\nexport interface RiveResetParameters {\n artboard?: string,\n animations?: string | string[],\n stateMachines?: string | string[],\n autoplay?: boolean,\n}\n\nexport class Rive {\n\n // Canvas in which to render the artboard\n private readonly canvas: HTMLCanvasElement | OffscreenCanvas;\n\n // A url to a Rive file; may be undefined if a buffer is specified\n private src: string;\n\n // Raw Rive file data; may be undefined if a src is specified\n private buffer: ArrayBuffer;\n\n // The layout for rendering in the canvas\n private _layout: Layout;\n\n // Flag to indicate if the layout has changed; used by the renderer to know\n // when to align\n private _updateLayout: boolean = true;\n\n // The canvas 2D context\n private ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null;\n\n // The runtime renderer\n private renderer: rc.Renderer;\n\n /**\n * Flag to active/deactivate renderer\n */\n private isRendererActive = true;\n\n // Tracks if a Rive file is loaded\n private loaded: boolean = false;\n\n /**\n * Tracks if a Rive file is loaded; we need this in addition to loaded as some\n * commands (e.g. contents) can be called as soon as the file is loaded.\n * However, playback commands need to be queued and run in order once initial\n * animations and autoplay has been sorted out. This applies to play, pause,\n * and start.\n */\n private readyForPlaying: boolean = false;\n\n // Wasm runtime\n private runtime: rc.RiveCanvas;\n\n // Runtime artboard\n private artboard: rc.Artboard | null = null;\n\n // Runtime file\n private file: rc.File;\n\n // Holds event listeners\n private eventManager: EventManager;\n\n // Manages the loading task queue\n private taskQueue: TaskQueueManager;\n\n // Animator: manages animations and state machines\n private animator: Animator;\n\n // Error message for missing source or buffer\n private static readonly missingErrorMessage: string =\n 'Rive source file or data buffer required';\n\n constructor(params: RiveParameters) {\n this.canvas = params.canvas;\n this.src = params.src;\n this.buffer = params.buffer;\n this.layout = params.layout ?? new Layout();\n\n // Fetch the 2d context from the canvas\n this.ctx = this.canvas.getContext('2d');\n\n // New event management system\n this.eventManager = new EventManager();\n if (params.onLoad) this.on(EventType.Load, params.onLoad);\n if (params.onLoadError) this.on(EventType.LoadError, params.onLoadError);\n if (params.onPlay) this.on(EventType.Play, params.onPlay);\n if (params.onPause) this.on(EventType.Pause, params.onPause);\n if (params.onStop) this.on(EventType.Stop, params.onStop);\n if (params.onLoop) this.on(EventType.Loop, params.onLoop);\n if (params.onStateChange) this.on(EventType.StateChange, params.onStateChange);\n \n /**\n * @deprecated Use camelCase'd versions instead.\n */\n if (params.onload && !params.onLoad) this.on(EventType.Load, params.onload);\n if (params.onloaderror && !params.onLoadError) this.on(EventType.LoadError, params.onloaderror);\n if (params.onplay && !params.onPlay) this.on(EventType.Play, params.onplay);\n if (params.onpause && !params.onPause) this.on(EventType.Pause, params.onpause);\n if (params.onstop && !params.onStop) this.on(EventType.Stop, params.onstop);\n if (params.onloop && !params.onLoop) this.on(EventType.Loop, params.onloop);\n if (params.onstatechange && !params.onStateChange) this.on(EventType.StateChange, params.onstatechange);\n\n // Hook up the task queue\n this.taskQueue = new TaskQueueManager(this.eventManager);\n\n this.init({\n src: this.src,\n buffer: this.buffer,\n autoplay: params.autoplay,\n animations: params.animations,\n stateMachines: params.stateMachines,\n artboard: params.artboard\n });\n }\n\n // Alternative constructor to build a Rive instance from an interface/object\n public static new(params: RiveParameters): Rive {\n console.warn('This function is deprecated: please use `new Rive({})` instead');\n return new Rive(params);\n }\n\n // Initializes the Rive object either from constructor or load()\n private init({ src, buffer, animations, stateMachines, artboard, autoplay = false }: RiveLoadParameters): void {\n this.src = src;\n this.buffer = buffer;\n\n // If no source file url specified, it's a bust\n if (!this.src && !this.buffer) {\n throw new Error(Rive.missingErrorMessage);\n }\n\n // List of animations that should be initialized.\n const startingAnimationNames = mapToStringArray(animations);\n\n // List of state machines that should be initialized\n const startingStateMachineNames = mapToStringArray(stateMachines);\n\n // Ensure loaded is marked as false if loading new file\n this.loaded = false;\n this.readyForPlaying = false;\n\n // Ensure the runtime is loaded\n RuntimeLoader.awaitInstance().then((runtime) => {\n this.runtime = runtime;\n // Load Rive data from a source uri or a data buffer\n this.initData(artboard, startingAnimationNames, startingStateMachineNames, autoplay).catch(e => {\n console.error(e);\n });\n }).catch(e => {\n console.error(e);\n });\n }\n\n // Initializes runtime with Rive data and preps for playing\n private async initData(\n artboardName: string,\n animationNames: string[],\n stateMachineNames: string[],\n autoplay: boolean\n ): Promise {\n // Load the buffer from the src if provided\n if (this.src) {\n this.buffer = await loadRiveFile(this.src);\n }\n // Load the Rive file\n this.file = await this.runtime.load(new Uint8Array(this.buffer));\n if (this.file) {\n // Initialize and draw frame\n this.initArtboard(artboardName, animationNames, stateMachineNames, autoplay);\n\n // Everything's set up, emit a load event\n this.loaded = true;\n this.eventManager.fire({\n type: EventType.Load,\n data: this.src ?? 'buffer'\n });\n\n // Flag ready for playback commands and clear the task queue; this order\n // is important or it may infinitely recurse\n this.readyForPlaying = true;\n this.taskQueue.process();\n\n this.drawFrame();\n\n return Promise.resolve();\n } else {\n const msg = 'Problem loading file; may be corrupt!';\n console.warn(msg);\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n return Promise.reject(msg);\n }\n }\n\n // Initialize for playback\n private initArtboard(\n artboardName: string,\n animationNames: string[],\n stateMachineNames: string[],\n autoplay: boolean\n ): void {\n\n // Fetch the artboard\n const rootArtboard = artboardName ?\n this.file.artboardByName(artboardName) :\n this.file.defaultArtboard();\n \n // Check we have a working artboard\n if (!rootArtboard) {\n const msg = 'Invalid artboard name or no default artboard';\n console.warn(msg);\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n return;\n }\n\n // Instance the artboard\n this.artboard = rootArtboard.instance();\n\n // Check that the artboard has at least 1 animation\n if (this.artboard.animationCount() < 1) {\n const msg = 'Artboard has no animations';\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n throw msg;\n }\n\n // Initialize the animator\n this.animator = new Animator(this.runtime, this.artboard, this.eventManager);\n\n // Get the canvas where you want to render the animation and create a renderer\n this.renderer = new this.runtime.CanvasRenderer(this.ctx);\n\n\n // Initialize the animations; as loaded hasn't happened yet, we need to\n // suppress firing the play/pause events until the load event has fired. To\n // do this we tell the animator to suppress firing events, and add event\n // firing to the task queue.\n let instanceNames: string[];\n if (animationNames.length > 0 || stateMachineNames.length > 0) {\n instanceNames = animationNames.concat(stateMachineNames);\n this.animator.add(instanceNames, autoplay, false);\n } else {\n instanceNames = [this.animator.atLeastOne(autoplay, false)];\n }\n // Queue up firing the playback events\n this.taskQueue.add({\n action: () => {},\n event: {\n type: autoplay ? EventType.Play : EventType.Pause,\n data: instanceNames,\n }\n });\n }\n\n // Draws the current artboard frame\n public drawFrame() {\n this.startRendering();\n }\n\n // Tracks the last timestamp at which the animation was rendered. Used only in\n // draw().\n private lastRenderTime: number;\n\n // Tracks the current animation frame request\n private frameRequestId: number | null;\n\n /**\n * Used be draw to track when a second of active rendering time has passed. Used for debugging purposes\n */\n private renderSecondTimer: number = 0;\n\n /**\n * Draw rendering loop; renders animation frames at the correct time interval.\n * @param time the time at which to render a frame\n */\n private draw(time: number, onSecond?: VoidCallback): void {\n // Clear the frameRequestId, as we're now rendering a fresh frame\n this.frameRequestId = null;\n\n // On the first pass, make sure lastTime has a valid value\n if (!this.lastRenderTime) {\n this.lastRenderTime = time;\n }\n\n // Handle the onSecond callback\n this.renderSecondTimer += (time - this.lastRenderTime);\n if (this.renderSecondTimer > 5000) {\n this.renderSecondTimer = 0;\n onSecond?.();\n }\n\n // Calculate the elapsed time between frames in seconds\n const elapsedTime = (time - this.lastRenderTime) / 1000;\n this.lastRenderTime = time;\n\n // Advance non-paused animations by the elapsed number of seconds\n // Also advance any animations that require scrubbing\n const activeAnimations = this.animator.animations.filter(a => a.playing || a.needsScrub)\n // The scrubbed animations must be applied first to prevent weird artifacts\n // if the playing animations conflict with the scrubbed animating attribuates.\n .sort((first, second) => first.needsScrub ? -1 : 1);\n for (const animation of activeAnimations) {\n animation.advance(elapsedTime);\n if (animation.instance.didLoop) {\n animation.loopCount += 1;\n }\n animation.instance.apply(this.artboard, 1.0);\n }\n\n // Advance non-paused state machines by the elapsed number of seconds\n const activeStateMachines = this.animator.stateMachines.filter(a => a.playing);\n for (const stateMachine of activeStateMachines) {\n stateMachine.instance.advance(this.artboard, elapsedTime);\n // stateMachine.instance.apply(this.artboard);\n }\n\n // Once the animations have been applied to the artboard, advance it\n // by the elapsed time.\n this.artboard.advance(elapsedTime);\n\n // Update the renderer alignment if necessary\n this.alignRenderer();\n\n this.artboard.draw(this.renderer);\n\n // Check for any animations that looped\n this.animator.handleLooping();\n\n // Check for any state machines that had a state change\n this.animator.handleStateChanges();\n\n // Calling requestAnimationFrame will rerun draw() at the correct rate:\n // https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations\n if (this.animator.isPlaying) {\n // Request a new rendering frame\n this.startRendering();\n } else if (this.animator.isPaused) {\n // Reset the end time so on playback it starts at the correct frame\n this.lastRenderTime = 0;\n } else if (this.animator.isStopped) {\n // Reset animation instances, artboard and time\n // TODO: implement this properly when we have instancing\n // this.initArtboard();\n // this.drawFrame();\n this.lastRenderTime = 0;\n }\n }\n\n /**\n * Align the renderer\n */\n private alignRenderer(): void {\n // Restore from previous save in case a previous align occurred\n this.ctx.restore();\n // Canvas must be wiped to prevent artifacts\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n // Now save so that future changes to align can restore\n this.ctx.save();\n // Align things up safe in the knowledge we can restore if changed\n this.renderer.align(\n this._layout.runtimeFit(this.runtime),\n this._layout.runtimeAlignment(this.runtime),\n {\n minX: this._layout.minX,\n minY: this._layout.minY,\n maxX: this._layout.maxX,\n maxY: this._layout.maxY\n },\n this.artboard.bounds\n );\n }\n\n /**\n * Cleans up any Wasm-generated objects that need to be manually destroyed:\n * artboard instances, animation instances, state machine instances.\n *\n * Once this is called, things will need to be reinitialized or bad things\n * might happen.\n */\n public cleanup() {\n this.artboard.delete();\n // TODO: delete animation and state machine instances\n }\n\n // Plays specified animations; if none specified, it unpauses everything.\n public play(animationNames?: string | string[], autoplay?: true): void {\n animationNames = mapToStringArray(animationNames);\n\n // If the file's not loaded, queue up the play\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: () => this.play(animationNames, autoplay),\n });\n return;\n }\n this.animator.play(animationNames);\n this.startRendering();\n }\n\n // Pauses specified animations; if none specified, pauses all.\n public pause(animationNames?: string | string[]): void {\n animationNames = mapToStringArray(animationNames);\n\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: () => this.pause(animationNames),\n });\n return;\n }\n this.animator.pause(animationNames);\n }\n\n public scrub(animationNames?: string | string[], value?: number): void {\n animationNames = mapToStringArray(animationNames);\n\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: () => this.scrub(animationNames, value),\n });\n return;\n }\n\n // Scrub the animation time; we draw a single frame here so that if\n // nothing's currently playing, the scrubbed animation is still rendered/\n this.animator.scrub(animationNames, value || 0);\n this.drawFrame();\n }\n\n // Stops specified animations; if none specifies, stops them all.\n public stop(animationNames?: string | string[] | undefined): void {\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: () => this.stop(animationNames),\n });\n return;\n }\n this.animator.stop(animationNames);\n }\n\n /**\n * Resets the animation\n * @param artboard the name of the artboard, or default if none given\n * @param animations the names of animations for playback\n * @param stateMachines the names of state machines for playback\n * @param autoplay whether to autoplay when reset, defaults to false\n *\n */\n public reset(params?: RiveResetParameters): void {\n // Get the current artboard, animations, state machines, and playback states\n const artBoardName = params?.artboard;\n const animationNames = mapToStringArray(params?.animations);\n const stateMachineNames = mapToStringArray(params?.stateMachines);\n const autoplay = params?.autoplay ?? false;\n\n // Stop everything and clean up\n this.stop();\n this.cleanup();\n\n // Reinitialize an artboard instance with the state\n this.initArtboard(artBoardName, animationNames, stateMachineNames, autoplay);\n }\n\n\n // Loads a new Rive file, keeping listeners in place\n public load(params: RiveLoadParameters): void {\n // Stop all animations\n this.stop();\n // Reinitialize\n this.init(params);\n }\n\n // Sets a new layout\n public set layout(layout: Layout) {\n this._layout = layout;\n // If the maxX or maxY are 0, then set them to the canvas width and height\n if (!layout.maxX || !layout.maxY) {\n this.resizeToCanvas();\n }\n if (this.loaded && !this.animator.isPlaying) {\n this.drawFrame();\n }\n }\n\n /**\n * Returns the current layout. Note that layout should be treated as\n * immutable. If you want to change the layout, create a new one use the\n * layout setter\n */\n public get layout() {\n return this._layout;\n }\n\n /** \n * Sets the layout bounds to the current canvas size; this is typically called\n * when the canvas is resized\n */\n public resizeToCanvas() {\n this._layout = this.layout.copyWith({\n minX: 0,\n minY: 0,\n maxX: this.canvas.width,\n maxY: this.canvas.height\n });\n }\n\n // Returns the animation source, which may be undefined\n public get source(): string {\n return this.src;\n }\n\n /**\n * Returns the name of the active artboard\n */\n public get activeArtboard(): string {\n return this.artboard.name;\n }\n\n // Returns a list of animation names on the chosen artboard\n public get animationNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n const animationNames: string[] = [];\n for (let i = 0; i < this.artboard.animationCount(); i++) {\n animationNames.push(this.artboard.animationByIndex(i).name);\n }\n return animationNames;\n }\n\n /**\n * Returns a list of state machine names from the current artboard\n */\n public get stateMachineNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n const stateMachineNames: string[] = [];\n for (let i = 0; i < this.artboard.stateMachineCount(); i++) {\n stateMachineNames.push(this.artboard.stateMachineByIndex(i).name);\n }\n return stateMachineNames;\n }\n\n /**\n * Returns the inputs for the specified instanced state machine, or an empty\n * list if the name is invalid or the state machine is not instanced\n * @param name the state machine name\n * @returns the inputs for the named state machine\n */\n public stateMachineInputs(name: string): StateMachineInput[] {\n // If the file's not loaded, early out, nothing to pause\n if (!this.loaded) {\n return;\n }\n const stateMachine = this.animator.stateMachines.find(m => m.name === name);\n return stateMachine?.inputs;\n }\n\n // Returns a list of playing machine names\n public get playingStateMachineNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.stateMachines\n .filter(m => m.playing)\n .map(m => m.name);\n }\n\n // Returns a list of playing animation names\n public get playingAnimationNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.animations\n .filter(a => a.playing)\n .map(a => a.name);\n }\n\n\n // Returns a list of paused animation names\n public get pausedAnimationNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.animations\n .filter(a => !a.playing)\n .map(a => a.name);\n }\n\n /**\n * Returns a list of paused machine names\n * @returns a list of state machine names that are paused\n */\n public get pausedStateMachineNames(): string[] {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.stateMachines\n .filter(m => !m.playing)\n .map(m => m.name);\n }\n\n /**\n * @returns true if any animation is playing\n */\n public get isPlaying(): boolean {\n return this.animator.isPlaying;\n }\n\n /**\n * @returns true if all instanced animations are paused\n */\n public get isPaused(): boolean {\n return this.animator.isPaused;\n }\n\n /**\n * @returns true if no animations are playing or paused\n */\n public get isStopped(): boolean {\n return this.animator.isStopped;\n }\n\n /**\n * @returns the bounds of the current artboard, or undefined if the artboard\n * isn't loaded yet.\n */\n public get bounds(): Bounds {\n return this.artboard ? this.artboard.bounds : undefined;\n }\n\n /**\n * Subscribe to Rive-generated events\n * @param type the type of event to subscribe to\n * @param callback callback to fire when the event occurs\n */\n public on(type: EventType, callback: EventCallback) {\n this.eventManager.add({\n type: type,\n callback: callback,\n });\n }\n\n /**\n * Unsubscribes from a Rive-generated event\n * @param callback the callback to unsubscribe from\n */\n public unsubscribe(type: EventType, callback: EventCallback) {\n this.eventManager.remove({\n type: type,\n callback: callback,\n });\n }\n\n /**\n * Unsubscribes all listeners from an event type, or everything if no type is\n * given\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n public unsubscribeAll(type?: EventType) {\n this.eventManager.removeAll(type);\n }\n\n /**\n * Stops the rendering loop; this is different from pausing in that it doesn't\n * change the state of any animation. It stops rendering from occurring. This\n * is designed for situations such as when Rive isn't visible.\n *\n * The only way to start rendering again is to call `startRendering`.\n * Animations that are marked as playing will start from the position that\n * they would have been at if rendering had not been stopped.\n */\n public stopRendering() {\n if (this.loaded && this.frameRequestId) {\n cancelAnimationFrame(this.frameRequestId);\n this.frameRequestId = null;\n }\n }\n\n /**\n * Starts the rendering loop if it has been previously stopped. If the\n * renderer is already active, then this will have zero effect.\n */\n public startRendering() {\n if (this.loaded && !this.frameRequestId) {\n this.frameRequestId = requestAnimationFrame(this.draw.bind(this));\n }\n }\n\n /**\n * Returns the contents of a Rive file: the artboards, animations, and state machines\n */\n public get contents(): RiveFileContents {\n if (!this.loaded) {\n return undefined;\n }\n const riveContents: RiveFileContents = {\n artboards: [],\n };\n for (let i = 0; i < this.file.artboardCount(); i++) {\n const artboard = this.file.artboardByIndex(i);\n const artboardContents: ArtboardContents = {\n name: artboard.name,\n animations: [],\n stateMachines: [],\n };\n for (let j = 0; j < artboard.animationCount(); j++) {\n const animation = artboard.animationByIndex(j);\n artboardContents.animations.push(animation.name);\n }\n for (let k = 0; k < artboard.stateMachineCount(); k++) {\n const stateMachine = artboard.stateMachineByIndex(k);\n const name = stateMachine.name;\n const instance = new this.runtime.StateMachineInstance(stateMachine);\n const inputContents: StateMachineInputContents[] = [];\n for (let l = 0; l < instance.inputCount(); l++) {\n const input = instance.input(l);\n inputContents.push({name: input.name, type: input.type});\n }\n artboardContents.stateMachines.push({name: name, inputs: inputContents});\n }\n riveContents.artboards.push(artboardContents);\n }\n return riveContents;\n }\n}\n\n/**\n * Contents of a state machine input\n */\ninterface StateMachineInputContents {\n name: string;\n type: StateMachineInputType;\n initialValue?: boolean | number;\n}\n\n/**\n * Contents of a state machine\n */\ninterface StateMachineContents {\n name: string;\n inputs: StateMachineInputContents[];\n}\n\n/**\n * Contents of an artboard\n */\ninterface ArtboardContents {\n animations: string[];\n stateMachines: StateMachineContents[];\n name: string;\n}\n\n/**\n * contents of a Rive file\n */\ninterface RiveFileContents {\n artboards?: ArtboardContents[];\n}\n\n\n// Loads Rive data from a URI via fetch.\nconst loadRiveFile = async (src: string): Promise => {\n const req = new Request(src);\n const res = await fetch(req);\n const buffer = await res.arrayBuffer();\n return buffer;\n}\n\n// #endregion\n\n// #region utility functions\n\n/*\n * Utility function to ensure an object is a string array\n */\nlet mapToStringArray = (obj?: string[] | string | undefined): string[] => {\n if (typeof obj === 'string') {\n return [obj];\n } else if (obj instanceof Array) {\n return obj;\n }\n // If obj is undefined, return empty array\n return [];\n}\n\n// #endregion\n\n// #region testing utilities\n\n// Exports to only be used for tests\nexport const Testing = {\n EventManager: EventManager,\n TaskQueueManager: TaskQueueManager,\n}\n\n// #endregion"],"sourceRoot":""}